/* ───── hero + caixa de busca ───── */
.hero{position:relative;color:#fff;padding:54px 0 130px;background:#10284a;overflow:hidden;isolation:isolate}
.hero .bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center 60%}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,29,58,.78) 0%,rgba(16,40,74,.6) 55%,rgba(16,40,74,.92) 100%)}
.hero h1{font-size:clamp(30px,5.4vw,52px);font-weight:800;letter-spacing:-.03em;max-width:760px}
.hero h1 em{font-style:normal;color:#ffb36b}
.hero p.lead{margin-top:12px;color:#d6e2f7;font-size:clamp(15px,2.2vw,19px);max-width:620px}
.hero .trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px;font-size:14px;color:#d6e2f7;font-weight:600}
.hero .trust span{display:flex;align-items:center;gap:7px}.hero .trust svg{color:#ffb36b}
.hero.slim{padding:30px 0 96px}.hero.slim h1{font-size:clamp(24px,3.6vw,34px)}
.sbox{background:var(--card);border-radius:24px;box-shadow:var(--sh2);padding:18px;margin:-92px auto 0;position:relative;z-index:3;border:1px solid var(--line)}
.stabs{display:flex;gap:4px;margin-bottom:14px;overflow-x:auto;scrollbar-width:none}
.stab{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:13px;font-weight:700;color:var(--mut);white-space:nowrap;font-size:15px}
.stab.on{background:var(--navy2);color:#fff}[data-theme=dark] .stab.on{background:#2a4a85}
.stab:not(.on):hover{background:var(--soft)}
.modes{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.mode{padding:7px 14px;border-radius:999px;font-weight:600;font-size:14px;color:var(--mut);border:1.5px solid transparent}
.mode.on{background:var(--infobg);color:var(--info);border-color:transparent}
.mode:not(.on):hover{background:var(--soft)}
.grow-sp{flex:1}
.paxbtn{display:flex;align-items:center;gap:8px;padding:8px 14px;border:1.5px solid var(--line);border-radius:12px;font-weight:600;font-size:14.5px;background:var(--card)}
.paxbtn:hover{border-color:var(--navy3)}
.fields{display:grid;gap:10px;grid-template-columns:1.2fr 1.2fr .95fr .95fr auto}
.fields.ow{grid-template-columns:1.25fr 1.25fr 1fr auto}
.fields.hot{grid-template-columns:1.7fr 1.3fr 1fr auto}
.f{position:relative;border:1.5px solid var(--line);border-radius:14px;padding:9px 14px 8px;background:var(--card);min-width:0;transition:.12s;cursor:text}
.f:focus-within,.f.act{border-color:var(--navy3);box-shadow:0 0 0 3px rgba(47,90,160,.14)}
.f label{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:800;color:var(--mut);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1px}
.f label svg{width:14px;height:14px}
.f input.in{width:100%;border:0;outline:0;background:none;font-size:16.5px;font-weight:600;padding:3px 0;min-height:28px;text-overflow:ellipsis}
.f input.in::placeholder{color:var(--mut);font-weight:500}
.f.btnf{cursor:pointer}.f.btnf input{cursor:pointer}
.swapbtn{position:absolute;right:-22px;top:50%;transform:translateY(-50%);z-index:4;width:34px;height:34px;border-radius:50%;background:var(--card);border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--navy3)}
.swapbtn:hover{background:var(--soft)}
.go{min-height:58px;padding:0 26px;font-size:16.5px;border-radius:14px}
.sugg{position:absolute;left:-1.5px;right:-1.5px;top:calc(100% + 6px);background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh2);z-index:50;max-height:320px;overflow:auto;min-width:280px}
.sugg button{display:flex;gap:12px;align-items:center;width:100%;text-align:left;padding:11px 14px;border-bottom:1px solid var(--line)}
.sugg button:last-child{border:0}.sugg button:hover,.sugg button.on{background:var(--soft)}
.sugg .cd{min-width:46px;text-align:center;background:var(--soft);border-radius:8px;padding:5px 0;font-size:13px;color:var(--navy2)}
.sugg small{display:block;color:var(--mut);font-size:12.5px;font-weight:500}.sugg .none{padding:14px;color:var(--mut)}
.sugg .dest{display:flex;flex-direction:column}
.legs .leg{display:grid;grid-template-columns:28px 1fr 1fr 1fr 40px;gap:10px;align-items:center;margin-bottom:10px}
.legs .n{width:28px;height:28px;border-radius:50%;background:var(--navy2);color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
.legs .rm{width:40px;height:40px;border-radius:12px;color:var(--err)}.legs .rm:hover{background:var(--errbg)}
.legact{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:4px}
.sferr{margin-top:12px}
@media(max-width:900px){
  .fields,.fields.ow,.fields.hot{grid-template-columns:1fr 1fr}.fields .go{grid-column:1/-1}
  .fields>.f:first-child{grid-column:1/-1}.fields.hot>.f:nth-child(2){grid-column:1/-1}
  .swapbtn{right:12px;top:auto;bottom:-22px;transform:none;transform:rotate(90deg)}
  .legs .leg{grid-template-columns:28px 1fr 40px;}.legs .leg .f:nth-of-type(1){grid-column:2}.legs .leg .f:nth-of-type(2){grid-column:2}.legs .leg .f:nth-of-type(3){grid-column:2}
  .legs .leg .n{grid-row:1}.legs .leg .rm{grid-row:1;grid-column:3}
  .hero{padding:34px 0 112px}.sbox{padding:14px;border-radius:20px}
}
@media(max-width:560px){.fields,.fields.ow,.fields.hot{grid-template-columns:1fr}.swapbtn{bottom:auto;top:calc(50% - 20px)}}

/* ───── calendário ───── */
.cal-ovl{position:fixed;inset:0;background:rgba(8,16,32,.5);z-index:89}
.cal{position:absolute;z-index:90;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh2);padding:14px 16px 12px;animation:up .15s}
.cal.sheet{position:fixed;left:0;right:0;bottom:0;top:auto;border-radius:22px 22px 0 0;padding:14px 14px calc(14px + var(--safe));max-height:88vh;overflow:auto;animation:up .2s;z-index:91}
.ch{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:15px}
.ms{display:flex;gap:26px}.m{width:268px}.cal.sheet .m{width:100%}.m h4{text-align:center;font-size:15px;margin-bottom:8px}
.wk,.g{display:grid;grid-template-columns:repeat(7,1fr)}.wk i{font-style:normal;text-align:center;font-size:11.5px;font-weight:800;color:var(--mut);padding:4px 0}
.g .e{height:38px}
.d{height:38px;font-size:14.5px;font-weight:600;position:relative;border-radius:0}
.d:hover:not(.dis):not(.sel){background:var(--soft);border-radius:10px}
.d.dis{color:var(--line);cursor:default;text-decoration:line-through}[data-theme=dark] .d.dis{color:#3a4866}
.d.today{color:var(--accent2)}
.d.rng{background:var(--infobg)}
.d.sel{background:var(--navy2);color:#fff;border-radius:10px;z-index:1}[data-theme=dark] .d.sel{background:#2a4a85}
.d.sel.s.cap,.d.s.sel{border-radius:10px 0 0 10px}.d.e2.sel{border-radius:0 10px 10px 0}
.d.sel.s:not(.cap){border-radius:10px}
.cf{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:13.5px;font-weight:600}

/* ───── popover (passageiros / hóspedes) ───── */
.pop{position:absolute;right:0;top:calc(100% + 8px);background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh2);padding:14px 16px;z-index:60}
.pop .ln{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.pop .ln:last-of-type{border:0}.pop .ln small{display:block;color:var(--mut);font-size:12.5px}
.stp{display:flex;align-items:center;gap:12px}.stp button{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center}
.stp button:hover:not([disabled]){background:var(--soft)}.stp button[disabled]{opacity:.35;cursor:default}.stp b{min-width:18px;text-align:center}
.pop select{width:100%;padding:10px;border:1.5px solid var(--line);border-radius:10px;margin-top:8px;background:var(--card)}
.room{border:1px solid var(--line);border-radius:14px;padding:6px 12px;margin-bottom:10px}
.room h5{font-size:13px;color:var(--mut);margin:6px 0 0;display:flex;justify-content:space-between;align-items:center}
.ages{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:6px 0 8px}.ages select{margin:0}
@media(max-width:560px){.pop{position:fixed;left:12px;right:12px;top:auto;bottom:12px;width:auto!important;max-height:80vh;overflow:auto;z-index:92}}

/* ───── seções da home ───── */
.sec{padding:44px 0 6px}.sec h2{font-size:clamp(22px,3vw,30px);font-weight:800;letter-spacing:-.02em}.sec .sub{color:var(--mut);margin:6px 0 20px}
.rail{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.dcard{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:3/4;background:var(--soft);color:#fff;display:block;box-shadow:var(--sh);transition:.2s}
.dcard:hover{transform:translateY(-3px);box-shadow:var(--sh2)}
.dcard img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:.4s}.dcard:hover img{transform:scale(1.05)}
.dcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(8,20,44,.88))}
.dcard .tx{position:absolute;left:14px;right:14px;bottom:14px;z-index:2}
.dcard h3{font-size:19px}.dcard small{opacity:.85;font-size:13px}.dcard .pr{margin-top:8px;font-size:13px}.dcard .pr b{font-size:20px;display:block}
@media(max-width:900px){.rail{grid-template-columns:repeat(2,1fr)}}
.feat{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.feat>div{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--sh)}
.feat .ic{width:46px;height:46px;border-radius:14px;background:var(--infobg);color:var(--info);display:flex;align-items:center;justify-content:center;margin-bottom:12px}.feat .ic svg{width:22px;height:22px}
.feat h3{font-size:16.5px;margin-bottom:5px}.feat p{color:var(--mut);font-size:14.5px}
@media(max-width:900px){.feat{grid-template-columns:1fr 1fr}}@media(max-width:520px){.feat{grid-template-columns:1fr}}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;counter-reset:s}
.steps>div{position:relative;padding:20px 20px 20px 70px;background:var(--card);border:1px solid var(--line);border-radius:18px}
.steps>div::before{counter-increment:s;content:counter(s);position:absolute;left:18px;top:18px;width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.steps h3{font-size:16px;margin-bottom:4px}.steps p{color:var(--mut);font-size:14.5px}
@media(max-width:800px){.steps{grid-template-columns:1fr}}
.about{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--navy2);color:#fff;border-radius:24px;overflow:hidden}[data-theme=dark] .about{background:#17294a}
.about img{width:100%;height:100%;object-fit:cover;min-height:280px}
.about .tx{padding:36px;display:flex;flex-direction:column;justify-content:center;gap:12px}.about h2{font-size:clamp(22px,3vw,30px)}.about p{color:#cfdcf4}
@media(max-width:760px){.about{grid-template-columns:1fr}.about .tx{padding:24px}}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;padding:0 18px}
.faq summary{padding:16px 0;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:10px;align-items:center}
.faq summary::-webkit-details-marker{display:none}.faq details[open] summary svg{transform:rotate(180deg)}.faq details p{padding:0 0 16px;color:var(--mut)}
.mini-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px}
@media(max-width:800px){.mini-form{grid-template-columns:1fr}}
