
.booking-page{background:#f5fafc}.booking-hero{margin-top:88px;min-height:520px;position:relative;display:flex;align-items:flex-end;padding:80px clamp(22px,7vw,105px);background:url("/assets/boat_sunset.jpg") center 58%/cover no-repeat;color:#fff}
.booking-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,35,65,.90),rgba(3,52,82,.32))}.booking-hero-content{position:relative;z-index:2;max-width:820px}
.booking-hero h1{font-size:clamp(48px,7vw,88px);margin:14px 0 20px}.booking-hero h1 em{color:var(--yellow)}.booking-hero p{font-size:20px;line-height:1.6;max-width:700px;color:#e8f7fa}
.booking-info{display:grid;grid-template-columns:.82fr 1.18fr;gap:55px;align-items:start}.booking-explainer h2,.booking-card h2{font-size:clamp(38px,4vw,55px);color:var(--navy);margin:12px 0 30px}
.steps{display:grid;gap:8px}.steps article{display:flex;gap:18px;padding:20px 0;border-top:1px solid #d9e7ec}.steps b{font-family:Montserrat;color:var(--sea)}.steps strong{font-size:18px;color:var(--navy)}
.steps p{margin:5px 0 0;color:var(--muted);line-height:1.55}.sunset-note{margin-top:28px;background:var(--yellow);color:var(--navy);border-radius:20px;padding:22px;display:flex;gap:16px}
.sunset-note>span{font-size:34px}.sunset-note strong{font-family:Montserrat;font-size:19px}.sunset-note p{margin:4px 0 0}.booking-card{background:#fff;padding:38px;border-radius:28px;box-shadow:0 22px 55px rgba(4,54,82,.10);border:1px solid #e3eef2}
.booking-card form{display:grid;gap:22px}.booking-card label,.booking-card legend{font-weight:800;color:var(--navy);font-size:14px}.booking-card input,.booking-card textarea,.booking-card select{width:100%;margin-top:8px;padding:14px 15px;border:1px solid #cbdde4;border-radius:12px;font:inherit;color:var(--ink);background:#fbfdfe;outline:none}
.booking-card input:focus,.booking-card textarea:focus,.booking-card select:focus{border-color:var(--sea);box-shadow:0 0 0 3px rgba(11,145,168,.12)}.booking-card fieldset{border:0;padding:0;margin:0}
.tour-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:10px}.tour-option{border:1px solid #cbdde4;border-radius:17px;padding:18px;text-align:left;background:#fff;color:var(--navy);cursor:pointer;display:grid;gap:5px}
.tour-option span{font-family:Montserrat;font-weight:900;font-size:19px}.tour-option strong{font-family:Montserrat;font-size:28px;color:var(--sea)}.tour-option small{color:var(--muted);font-weight:700}.tour-option:hover{border-color:var(--sea)}
.tour-option.selected{border-color:var(--sea);background:#eaf9fb;box-shadow:0 0 0 2px rgba(11,145,168,.12)}.tour-option.sunset-option.selected{background:#fff7d8;border-color:#eeb421}.tour-option.sunset-option strong{color:#e9a800}
.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.slot-btn{border:1px solid #bdd5de;background:#fff;color:var(--navy);padding:13px 8px;border-radius:12px;font-weight:900;cursor:pointer;transition:.18s}
.slot-btn small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.slot-btn:hover{border-color:var(--sea);transform:translateY(-1px)}.slot-btn.selected{background:var(--sea);color:#fff;border-color:var(--sea)}.slot-btn.selected small{color:#dff8fb}
.slot-message{grid-column:1/-1;color:var(--muted);margin:5px 0;font-weight:600}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-summary{background:#edf8fa;border-left:4px solid var(--sea);padding:17px 18px;border-radius:12px;color:var(--navy);line-height:1.55}
.booking-summary strong{font-family:Montserrat}.booking-submit{border:0;border-radius:999px;padding:16px 22px;background:var(--yellow);color:var(--navy);font:800 16px "DM Sans",sans-serif;cursor:pointer}.booking-submit:disabled{opacity:.6;cursor:not-allowed}
.booking-status{min-height:24px;font-weight:700}.booking-status.success{color:#08725d}.booking-status.error{color:#b32929}.hidden{display:none!important}
@media(max-width:900px){.booking-hero{margin-top:76px}.booking-info{grid-template-columns:1fr}.slot-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.booking-nav{display:flex;position:static;box-shadow:none;padding:0;flex-direction:row;gap:12px}.booking-nav a:not(.nav-cta){display:none}.booking-card{padding:26px 18px}.form-grid,.tour-option-grid{grid-template-columns:1fr}.slot-grid{grid-template-columns:repeat(2,1fr)}}


/* Informação de disponibilidade por telefone */
.availability-contact-box{
  margin-top:18px;
  display:flex;
  gap:15px;
  align-items:flex-start;
  padding:20px;
  border-radius:18px;
  background:#edf8fa;
  border:1px solid #cfe8ed;
  color:var(--navy);
}
.availability-contact-icon{
  flex:0 0 42px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--sea);
  color:#fff;
  font-size:20px;
}
.availability-contact-box strong{
  font-family:Montserrat,sans-serif;
}
.availability-contact-box p{
  margin:7px 0 12px;
  color:var(--muted);
  line-height:1.55;
}
.availability-contact-box a{
  display:inline-block;
  background:var(--navy);
  color:#fff;
  padding:10px 14px;
  border-radius:999px;
  font-weight:900;
}

.no-slots-contact{
  grid-column:1/-1;
  padding:18px;
  border-radius:14px;
  background:#fff7d8;
  border:1px solid #f1d273;
  color:var(--navy);
  display:grid;
  gap:7px;
}
.no-slots-contact strong{
  font-family:Montserrat,sans-serif;
}
.no-slots-contact span{
  color:#617687;
  line-height:1.45;
}
.no-slots-contact a{
  width:max-content;
  max-width:100%;
  margin-top:3px;
  background:var(--yellow);
  color:var(--navy);
  padding:9px 12px;
  border-radius:999px;
  font-weight:900;
}
