:root{--navy:#0d263d;--navy2:#133b59;--orange:#f57921;--orange2:#ff9b54;--ink:#172433;--muted:#6d7a86;--line:#e3e9ee;--bg:#f5f7fa;--green:#168d5d;--white:#fff;--shadow:0 10px 28px rgba(17,43,64,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink)}button,input,select,textarea{font:inherit}.hidden{display:none!important}
.topbar{height:64px;background:var(--navy);color:white;display:flex;align-items:center;gap:24px;padding:0 max(18px,5vw);position:sticky;top:0;z-index:30;box-shadow:0 4px 18px rgba(0,0,0,.12)}.brand-btn{border:0;background:transparent;padding:0;cursor:pointer}.brand-btn img{width:120px;display:block}.nav{display:flex;gap:10px;margin:auto}.nav button,.footer button{border:0;background:transparent;color:inherit;cursor:pointer}.nav button{padding:10px 12px;border-radius:8px;color:#dbe5ec}.nav button:hover{background:rgba(255,255,255,.08)}.header-actions{display:flex;align-items:center;gap:10px}.pro-badge{font-size:12px;background:#dff5e8;color:#14683f;padding:7px 10px;border-radius:999px;font-weight:800}
.btn{border:1px solid transparent;border-radius:9px;min-height:42px;padding:0 17px;font-weight:800;cursor:pointer}.btn-orange{background:var(--orange);color:#fff}.btn-orange:hover{background:#e96c16}.btn-orange:disabled,.btn-orange.disabled,.btn-orange.btn-disabled{background-color:var(--orange)!important;border-color:var(--orange)!important;color:#fff!important;opacity:.55!important;cursor:not-allowed!important}.btn-dark{background:var(--navy2);color:#fff}.btn-outline{background:#fff;color:var(--ink);border-color:#ccd6de}.btn-link{border:0;background:transparent;color:var(--orange);font-weight:800;cursor:pointer;padding:0}.btn:disabled{opacity:.48;cursor:not-allowed}
.hero{background:linear-gradient(125deg,rgba(7,29,47,.97),rgba(15,62,87,.94));color:white;padding:74px max(20px,7vw) 82px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-100px;bottom:-230px;width:560px;height:560px;border:72px solid rgba(245,121,33,.14);border-radius:80px;transform:rotate(24deg);pointer-events:none;z-index:0}.hero > *{position:relative;z-index:1}.hero-inner{max-width:1180px;margin:auto;position:relative;z-index:1}.kicker{display:block;color:var(--orange2);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.14em;margin-bottom:10px}.hero h1{font-size:clamp(38px,5vw,64px);max-width:890px;line-height:1.02;margin:0}.hero h1 em{font-style:normal;color:var(--orange)}.hero .lead{max-width:760px;color:#d8e4ec;font-size:19px;line-height:1.55;margin:21px 0 30px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px;font-size:13px;color:#c8d7e1}.hero-trust span:before{content:"✓";color:#70dda6;font-weight:900;margin-right:6px}
.section{padding:58px max(18px,5vw)}.section.alt{background:#edf2f6}.container{max-width:1180px;margin:auto}.section-head{text-align:center;margin-bottom:30px}.section-head.left{text-align:left}.section-head h2{font-size:30px;margin:0 0 8px}.section-head p{margin:0;color:var(--muted);line-height:1.5}.travel-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.travel-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:var(--shadow);position:relative;overflow:hidden}.travel-card.primary{border-color:#f4bd95}.travel-icon{font-size:36px;margin-bottom:15px}.travel-card h3{font-size:23px;margin:0 0 9px}.travel-card p{color:var(--muted);line-height:1.55;margin:0 0 20px}.travel-card .tag{position:absolute;right:16px;top:16px;background:#fff0e5;color:#ba550f;font-size:11px;font-weight:900;padding:6px 9px;border-radius:999px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}.step-num{width:36px;height:36px;border-radius:50%;background:var(--navy2);color:#fff;display:grid;place-items:center;font-weight:900;margin-bottom:14px}.step h3{font-size:17px;margin:0 0 7px}.step p{font-size:13px;line-height:1.55;color:var(--muted);margin:0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}.card-img{height:195px;object-fit:cover;width:100%;display:block}.card-body{padding:18px;display:flex;flex-direction:column;flex:1}.pill-row{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px}.pill{font-size:10px;font-weight:900;border-radius:999px;padding:6px 9px;background:#eaf0f4;color:#405463}.pill.orange{background:#fff0e6;color:#be560e}.pill.green{background:#e7f5ee;color:#187048}.card h3{margin:0 0 6px;font-size:19px}.sub{color:var(--muted);font-size:13px;margin-bottom:12px}.meta{display:flex;gap:12px;flex-wrap:wrap;color:#61717e;font-size:12px;margin:3px 0 13px}.price-box{margin-top:auto;border-top:1px solid #edf0f2;padding-top:13px}.price-label{font-size:11px;color:#7a8791}.price{font-size:24px;font-weight:900;color:var(--green);margin:3px 0}.price-note{font-size:11px;color:#7c8891;line-height:1.35}.locked-rate{margin-top:10px;background:#fff7f1;border:1px solid #ffd8bc;border-radius:10px;padding:11px;font-size:12px}.locked-rate strong{display:block;color:#b75712;margin-bottom:3px}.locked-rate .group-missing{font-size:18px;font-weight:900;color:#d96b1d;margin:5px 0}.card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}
.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.benefit{text-align:center;padding:20px;background:#fff;border:1px solid var(--line);border-radius:13px}.benefit .icon{font-size:28px}.benefit strong{display:block;margin:9px 0 5px}.benefit p{font-size:12px;color:var(--muted);line-height:1.5;margin:0}.sponsors{background:#fff;border:1px solid var(--line);border-radius:15px;display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden}.sponsor{padding:24px;border-right:1px solid var(--line)}.sponsor:last-child{border-right:0}.sponsor small{color:var(--muted)}
.page-hero{background:linear-gradient(125deg,var(--navy),#1b5575);color:#fff;padding:48px max(18px,6vw)}.page-hero .container h1{font-size:42px;margin:0 0 10px}.page-hero .container p{max-width:760px;color:#d5e1e8;margin:0;line-height:1.55}.mode-strip{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:22px}.mode-strip p{margin:0;color:#5d6c78;font-size:13px}.mode-tabs{display:flex;gap:8px}.mode-tabs button{border:1px solid #d4dde4;background:#fff;border-radius:9px;padding:9px 12px;font-weight:800;cursor:pointer}.mode-tabs button.active{background:var(--navy2);color:#fff;border-color:var(--navy2)}
.toolbar{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;margin-bottom:24px}.toolbar input,.toolbar select,.form-grid input,.form-grid select,.form-grid textarea,.booking-panel select,.booking-panel input{width:100%;border:1px solid #ccd6de;border-radius:9px;padding:11px;background:#fff;color:var(--ink);font-size:16px}.toolbar button{height:44px}.no-results{padding:30px;text-align:center;color:var(--muted);background:#fff;border:1px dashed #cdd6dd;border-radius:14px}
.detail{padding:30px max(18px,5vw) 60px}.detail-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.72fr);gap:24px;align-items:start}.detail-cover{height:390px;width:100%;object-fit:cover;border-radius:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px;margin-top:18px}.panel h2{margin:0 0 12px;font-size:22px}.panel h3{margin:18px 0 7px}.panel p,.panel li{font-size:13px;line-height:1.62;color:#5f707c}.booking-panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px;position:sticky;top:84px}.booking-panel h2{font-size:21px;margin:0 0 4px}.booking-panel .hint{font-size:12px;color:var(--muted);line-height:1.45}.summary-list{display:grid;gap:8px;margin:16px 0}.summary-row{display:flex;justify-content:space-between;gap:10px;font-size:12px;border-bottom:1px solid #edf0f2;padding-bottom:8px}.summary-row strong{text-align:right}.room-table{width:100%;border-collapse:collapse;margin-top:8px}.room-table th,.room-table td{border-bottom:1px solid #edf0f2;padding:10px 8px;text-align:left;font-size:12px}.room-table th{color:#5d6c77}.room-table td strong{font-size:13px}.room-select{display:grid;grid-template-columns:1fr 105px;gap:10px;align-items:end;border:1px solid var(--line);border-radius:10px;padding:11px;margin-top:10px}.room-select label{font-size:12px;font-weight:800}.total-box{margin-top:14px;background:#f0f6f3;border:1px solid #cfe8db;border-radius:10px;padding:13px;display:flex;justify-content:space-between;align-items:center}.total-box strong{font-size:22px;color:var(--green)}.group-box{margin-top:12px;border:1px solid #ffd7ba;background:#fff7f1;border-radius:10px;padding:13px}.group-box h4{margin:0 0 5px;color:#b45512}.group-box p{font-size:12px;color:#7f634f;line-height:1.45;margin:0}.group-box .group-value{font-size:21px;font-weight:900;color:#d96b1d;margin:7px 0}.stock-badge{font-size:11px;font-weight:900;color:#166d48;background:#e5f4ec;padding:5px 8px;border-radius:999px}.back-btn{max-width:1180px;margin:0 auto 14px}.back-btn button{border:0;background:transparent;color:var(--orange);font-weight:900;cursor:pointer}
.hotel-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.hotel-summary div{background:#f7f9fb;border:1px solid #e6ebef;border-radius:10px;padding:12px}.hotel-summary strong{display:block;font-size:12px;margin-bottom:3px}.hotel-summary span{font-size:12px;color:var(--muted)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{background:#edf3f7;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}
.alt-request{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:15px}.alt-request p{margin:0;color:#63727e;font-size:13px}.prototype-note{margin-top:14px;padding:10px 12px;background:#fffbea;border:1px solid #f0df8f;border-radius:8px;color:#6f5d15;font-size:11px;line-height:1.45}
.footer{background:var(--navy);color:#cdd9e1;padding:38px max(18px,5vw) 22px}.footer-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:28px}.footer h4{color:#fff;margin:0 0 10px}.footer p{font-size:12px;line-height:1.55;margin:0}.footer button{display:block;padding:4px 0;font-size:12px}.footer-bottom{max-width:1180px;margin:28px auto 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:20px;font-size:11px}
dialog{border:0;border-radius:16px;padding:0;width:min(620px,calc(100% - 28px));box-shadow:0 24px 70px rgba(0,0,0,.32)}dialog::backdrop{background:rgba(4,17,28,.62)}.dialog-card{padding:24px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.dialog-head h2{margin:0}.icon-btn{border:0;background:transparent;font-size:28px;cursor:pointer;color:#536471}.dialog-card p{color:var(--muted);line-height:1.55}.info-box{background:#f1f5f8;border:1px solid #dce4ea;border-radius:10px;padding:13px;display:grid;gap:4px;font-size:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.form-grid label{font-size:12px;font-weight:800}.form-grid input,.form-grid select,.form-grid textarea{margin-top:5px}.form-grid textarea{min-height:90px;resize:vertical}.span-2{grid-column:1/-1}.success{margin-top:12px;background:#e3f5eb;border:1px solid #bfe6cf;color:#176b45;padding:10px;border-radius:8px;font-size:12px;font-weight:800}
@media(max-width:900px){.nav{display:none}.travel-grid,.cards{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.benefits{grid-template-columns:1fr 1fr}.sponsors{grid-template-columns:1fr}.sponsor{border-right:0;border-bottom:1px solid var(--line)}.sponsor:last-child{border-bottom:0}.toolbar{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}.booking-panel{position:static}.footer-grid{grid-template-columns:1fr 1fr}.hotel-summary{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.topbar{padding:0 14px}.brand-btn img{width:100px}.header-actions .pro-badge{display:none!important}.btn{padding:0 12px}.hero{padding:54px 18px 64px}.hero h1{font-size:38px}.hero .lead{font-size:16px}.travel-grid,.benefits{grid-template-columns:1fr}.section{padding:42px 16px}.toolbar{grid-template-columns:1fr}.mode-strip{display:block}.mode-tabs{margin-top:12px;flex-wrap:wrap}.detail{padding:24px 14px 45px}.detail-cover{height:250px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.room-select{grid-template-columns:1fr}.hotel-summary{grid-template-columns:1fr 1fr}.page-hero{padding:38px 18px}.page-hero .container h1{font-size:34px}.alt-request{display:block}.alt-request .btn{margin-top:12px}}

/* V2.1 — contas PF + profissionais */
.btn-header-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.34)}
.btn-header-ghost:hover{background:rgba(255,255,255,.08)}
.card-footnote{font-size:11px;line-height:1.45;color:#7a8791;margin-top:14px;padding-top:12px;border-top:1px solid #edf0f2}
.micro-link{display:block;border:0;background:transparent;color:#b75b19;font-size:11px;font-weight:850;padding:9px 0 0;text-align:left;cursor:pointer}
.group-rate-card{background:#fff8f3;border:1px solid #ffd8bd;border-radius:10px;padding:12px;margin-top:auto}
.group-rate-card .price-label{color:#a8561d;font-weight:800}.group-price{color:#d86a1e}.compare-rate{margin-top:9px;font-size:11px;color:#7e6757;border-top:1px solid #ffe1cb;padding-top:8px}
.account-status{display:inline-flex;align-items:center;width:max-content;max-width:100%;font-size:11px;font-weight:900;padding:6px 9px;border-radius:999px;margin-bottom:14px}
.account-status.neutral{background:#edf3f7;color:#36546b}.account-status.warning{background:#fff7df;color:#856515}.account-status.approved{background:#e4f5ec;color:#176c47}
.account-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.account-choice{border:1px solid var(--line);border-radius:13px;padding:18px;background:#fff}.account-choice.professional-choice{border-color:#f4c6a5;background:#fffaf6}.account-choice-icon{font-size:28px}.account-choice h3{margin:8px 0 5px}.account-choice p{font-size:12px;min-height:74px;margin:0 0 14px}.account-choice .btn{width:100%;margin-top:8px}
#accountDialog{width:min(780px,calc(100% - 28px))}
.group-box.subtle{background:#f6f9fb;border-color:#dce5eb}.group-box.subtle h4{color:#284b64}.group-box.subtle p{color:#607481}
.inline-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:16px}.booking-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.booking-title-row .account-status{margin-bottom:0;flex-shrink:0}.compare-row td{color:#798792;background:#fafbfc}.muted-total{background:#f7f8f9;border-color:#e1e5e8}.muted-total strong{color:#65747f}
@media(max-width:760px){.account-choice-grid{grid-template-columns:1fr}.account-choice p{min-height:0}.header-actions{gap:6px}.header-actions .btn{min-height:38px;padding:0 11px;font-size:12px}}
@media(max-width:470px){.header-actions #loginBtn{display:none}.booking-title-row{display:block}.booking-title-row .account-status{margin-top:8px}}


/* V2.2 — estrutura multipáginas */
a{color:inherit}.brand-link{display:block;text-decoration:none}.brand-link img{width:120px;display:block}
.nav a,.footer a{display:block;text-decoration:none;color:inherit;cursor:pointer}.nav a{padding:10px 12px;border-radius:8px;color:#dbe5ec}.nav a:hover{background:rgba(255,255,255,.08)}
.footer a{padding:4px 0;font-size:12px}
.page-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.btn-anchor{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.route-note{font-size:11px;color:#80909b;margin-top:8px;line-height:1.45}
.gate-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:start}
.gate-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:var(--shadow)}
.gate-card.primary{border-color:#f4bd95;background:#fffaf6}.gate-card h2{margin:0 0 10px}.gate-card p{color:var(--muted);line-height:1.55}
.gate-list{display:grid;gap:10px;margin:18px 0}.gate-item{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#5f707c}
.gate-item strong{display:block;color:var(--ink);margin-bottom:2px}
.account-page{max-width:920px;margin:34px auto 60px;padding:0 18px}.account-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:var(--shadow);margin-top:18px}
.account-panel h1,.account-panel h2{margin-top:0}.account-panel p{color:var(--muted);line-height:1.55}
.account-tabs{display:grid;grid-template-columns:1fr 1fr;gap:14px}.account-option{border:1px solid var(--line);border-radius:13px;padding:20px}.account-option.pro{background:#fffaf6;border-color:#f4c6a5}
.account-option h3{margin:8px 0 6px}.account-option p{font-size:13px;min-height:62px}.account-option .btn{width:100%;margin-top:8px}
.form-stack{display:grid;gap:13px}.form-stack label{font-size:12px;font-weight:800}.form-stack input,.form-stack select,.form-stack textarea{width:100%;border:1px solid #ccd6de;border-radius:9px;padding:11px;background:#fff;color:var(--ink);font-size:16px;margin-top:5px}
.form-stack textarea{min-height:110px;resize:vertical}
.dev-badge{display:inline-flex;background:#edf3f7;color:#36546b;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900;letter-spacing:.04em}
.dev-box{margin-top:20px;padding:14px;background:#f7f9fb;border:1px dashed #cfd9e0;border-radius:10px;font-size:12px;color:#607481;line-height:1.5}
.list-empty{padding:28px;background:#fff;border:1px dashed #cfd8df;border-radius:14px;color:var(--muted);text-align:center}
.status-banner{margin:16px 0;padding:13px;border-radius:10px;font-size:12px;line-height:1.5}.status-banner.pending{background:#fff7df;border:1px solid #efdba0;color:#785d14}.status-banner.ok{background:#e4f5ec;border:1px solid #bfe6cf;color:#176c47}.status-banner.neutral{background:#edf3f7;border:1px solid #d7e1e8;color:#36546b}
.profile-debug{margin-top:14px;font-size:11px;color:#7a8791}
@media(max-width:900px){.gate-grid,.account-tabs{grid-template-columns:1fr}}
@media(max-width:600px){.brand-link img{width:100px}}


/* V2.3 — regras de particular x grupo */
.group-rule-note{
  background:#fff7ef;
  border-color:#f2c9aa;
  color:#6f431f;
}
.occupancy-box{
  margin-top:14px;
  padding:11px 13px;
  border:1px solid #dce3e8;
  border-radius:10px;
  background:#f7f9fb;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:12px;
}
.occupancy-box strong{
  font-size:20px;
  color:#173d5b;
}
.eligibility-message{
  margin-top:9px;
  padding:11px 12px;
  border-radius:9px;
  font-size:12px;
  line-height:1.45;
  border:1px solid #d8e1e7;
}
.eligibility-message.neutral{
  background:#f5f8fa;
  color:#516773;
}
.eligibility-message.ok{
  background:#e9f7ef;
  color:#176844;
  border-color:#bfe7d0;
}
.eligibility-message.warning{
  background:#fff4e6;
  color:#8a4c16;
  border-color:#f0c99f;
}
.btn-disabled{
  opacity:.55;
  cursor:not-allowed !important;
}
.room-table small{
  display:block;
  margin-top:2px;
  color:#7a8892;
}


/* ==========================================================
   V2.4 — NOVO BUILDER DE RESERVA
   Particular: 1 card por apto
   Grupo: categoria + quantidade com base dupla
   ========================================================== */

.booking-panel-v24{padding:20px}
.booking-mode-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:16px 0;
}
.booking-mode-tab{
  border:1px solid #d8e1e8;
  border-radius:11px;
  padding:11px 12px;
  text-decoration:none;
  background:#f8fafb;
  min-width:0;
}
.booking-mode-tab span{
  display:block;
  font-size:12px;
  font-weight:900;
  color:#334c5e;
}
.booking-mode-tab small{
  display:block;
  margin-top:3px;
  font-size:9.5px;
  line-height:1.35;
  color:#75848f;
}
.booking-mode-tab.active{
  border-color:#f4a269;
  background:#fff7f1;
  box-shadow:inset 0 0 0 1px rgba(245,121,33,.08);
}
.booking-mode-tab.active span{color:#b9530d}
.booking-mode-tab.locked{opacity:.72}
.compact-summary{margin:12px 0}

.particular-rate-strip,.group-rate-strip{
  border-radius:11px;
  padding:12px 13px;
  margin:12px 0 16px;
}
.particular-rate-strip{
  background:#edf8f2;
  border:1px solid #cce9da;
}
.group-rate-strip{
  background:#fff4eb;
  border:1px solid #f5c79f;
}
.particular-rate-strip div,.group-rate-strip div{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
}
.particular-rate-strip span,.group-rate-strip span{
  font-size:10.5px;
  color:#657782;
  line-height:1.35;
}
.particular-rate-strip strong{
  color:#168d5d;
  font-size:20px;
}
.group-rate-strip strong{
  color:#df6819;
  font-size:20px;
}
.particular-rate-strip small,.group-rate-strip small{
  display:block;
  margin-top:4px;
  font-size:9.5px;
  color:#778690;
}

.builder-head{
  margin:14px 0 12px;
}
.builder-step{
  display:block;
  color:#526c7d;
  font-size:9.5px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.09em;
  margin-bottom:4px;
}
.builder-head h3{
  margin:0 0 4px;
  font-size:16px;
  line-height:1.25;
}
.builder-head p{
  margin:0;
  font-size:10.5px;
  line-height:1.45;
  color:#70808c;
}
.reservation-items{
  display:grid;
  gap:10px;
}
.reservation-line{
  border:1px solid #d9e2e8;
  border-radius:12px;
  background:#fff;
  padding:12px;
}
.reservation-line-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.reservation-line-title strong{
  display:block;
  font-size:12px;
}
.line-eyebrow{
  display:block;
  font-size:9px;
  color:#7b8993;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:2px;
}
.remove-line-btn{
  border:0;
  background:transparent;
  color:#b85a1a;
  font-size:9.5px;
  font-weight:850;
  cursor:pointer;
  padding:2px;
}
.particular-line-grid,
.group-line-grid{
  display:grid;
  grid-template-columns:1.45fr .85fr;
  gap:8px;
}
.particular-line-grid label,
.group-line-grid label{
  font-size:9.5px;
  font-weight:850;
  color:#405766;
}
.particular-line-grid select,
.group-line-grid select,
.group-line-grid input{
  margin-top:4px;
  padding:9px;
  font-size:13px;
}
.line-price{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-top:1px solid #edf1f3;
  margin-top:10px;
  padding-top:9px;
}
.line-price span{
  font-size:9.5px;
  color:#75838d;
}
.line-price strong{
  font-size:14px;
  color:#168d5d;
}
.add-line-btn{
  width:100%;
  border:1px dashed #b9c8d2;
  background:#f8fafb;
  color:#31516a;
  min-height:42px;
  border-radius:10px;
  margin-top:10px;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}
.add-line-btn span{
  color:var(--orange);
  font-size:16px;
  vertical-align:-1px;
}
.builder-summary{
  border:1px solid #dce5ea;
  background:#f6f9fb;
  border-radius:11px;
  margin-top:12px;
  overflow:hidden;
}
.builder-summary-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:9px 11px;
  font-size:10.5px;
  border-bottom:1px solid #e4ebef;
}
.builder-summary-row:last-child{border-bottom:0}
.builder-summary-row.total{
  background:#edf8f2;
  padding:11px;
}
.builder-summary-row.total strong{
  color:#168d5d;
  font-size:17px;
}
.reservation-info-note,.children-note{
  display:grid;
  gap:3px;
  margin-top:10px;
  padding:10px 11px;
  border-radius:9px;
  font-size:9.5px;
  line-height:1.45;
}
.reservation-info-note{
  background:#edf3f7;
  color:#466173;
}
.children-note{
  background:#fffaf0;
  border:1px solid #f1dfb6;
  color:#725e2f;
}
.reservation-info-note strong,.children-note strong{font-size:10px}
.booking-main-action{
  width:100%;
  margin-top:12px;
}
.booking-secondary-action{
  width:100%;
  margin-top:10px;
  min-height:38px;
  font-size:10px;
  text-align:center;
}
.referral-field{
  display:block;
  margin-top:14px;
  font-size:10px;
  line-height:1.35;
  font-weight:850;
}
.referral-field input{
  margin-top:5px;
  font-size:13px;
}

.base-rule-banner{
  display:flex;
  gap:10px;
  align-items:center;
  background:#fff7f0;
  border:1px solid #f3ceb2;
  border-radius:11px;
  padding:11px;
  margin:10px 0 12px;
}
.base-rule-icon{
  flex:0 0 auto;
  width:34px;
  height:34px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:#f57921;
  color:#fff;
  font-size:12px;
  font-weight:950;
}
.base-rule-banner strong{
  display:block;
  font-size:10.5px;
  color:#8b470f;
}
.base-rule-banner span{
  display:block;
  margin-top:2px;
  font-size:9px;
  line-height:1.4;
  color:#7c6755;
}
.group-line-pricing{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:10px;
  padding-top:9px;
  border-top:1px solid #edf1f3;
}
.group-line-pricing div{
  min-width:0;
}
.group-line-pricing span{
  display:block;
  font-size:8.7px;
  color:#7b8993;
  line-height:1.3;
}
.group-line-pricing small{
  display:block;
  margin-top:2px;
  color:#516977;
  font-size:10px;
  font-weight:800;
}
.group-line-pricing strong{
  display:block;
  margin-top:2px;
  font-size:12px;
  color:#df6819;
}
.group-line-pricing .subtotal{
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:#f8fafb;
  padding:8px 9px;
  border-radius:8px;
}
.group-line-pricing .subtotal strong{
  font-size:14px;
  color:#1d435d;
}
.group-base-summary{
  margin-top:12px;
  border:1px solid #f0c29d;
  border-radius:12px;
  overflow:hidden;
}
.group-base-summary-top{
  display:grid;
  grid-template-columns:1fr 1fr;
  background:#fff9f5;
}
.group-base-summary-top div{
  padding:10px 11px;
}
.group-base-summary-top div+div{
  border-left:1px solid #f3d7c1;
}
.group-base-summary span{
  display:block;
  font-size:9px;
  color:#7a695c;
}
.group-base-summary strong{
  display:block;
  margin-top:2px;
  color:#7f481e;
  font-size:13px;
}
.group-base-value{
  padding:11px;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
  background:#fff2e8;
  border-top:1px solid #f0c9aa;
}
.group-base-value strong{
  font-size:21px;
  color:#df6819;
}
.not-final-warning{
  margin-top:10px;
  padding:11px;
  border-radius:10px;
  background:#fff9df;
  border:1px solid #efd985;
  color:#6d5a13;
}
.not-final-warning strong{
  display:block;
  font-size:10px;
}
.not-final-warning p{
  margin:4px 0 0;
  font-size:9.5px;
  line-height:1.45;
}
.rate-reference-panel{
  padding:0;
  overflow:hidden;
}
.rate-reference summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:18px 20px;
}
.rate-reference summary::-webkit-details-marker{display:none}
.rate-reference summary strong{
  display:block;
  font-size:14px;
}
.rate-reference summary span:not(.details-chevron){
  display:block;
  margin-top:3px;
  font-size:10.5px;
  color:#75838e;
}
.details-chevron{
  font-size:22px;
  color:#778690;
  transition:transform .2s ease;
}
.rate-reference[open] .details-chevron{transform:rotate(180deg)}
.rate-reference-content{
  border-top:1px solid #e6ecef;
  padding:18px 20px 20px;
}
.reference-room{
  margin-top:18px;
}
.reference-room:first-of-type{margin-top:4px}
.reference-room-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}
.reference-room-head strong{font-size:13px}
.reference-room-head span{
  display:block;
  margin-top:2px;
  font-size:10px;
  color:#788690;
}
.reference-table-wrap{overflow:auto}
.booking-panel-v24 .eligibility-message{
  font-size:9.5px;
  margin-top:10px;
}

@media(max-width:900px){
  .detail-grid{
    display:flex;
    flex-direction:column;
  }
  .booking-panel-v24{
    order:-1;
    position:static;
    width:100%;
  }
  .package-information{order:2}
}
@media(max-width:480px){
  .booking-panel-v24{padding:15px}
  .booking-mode-tabs{grid-template-columns:1fr}
  .particular-line-grid,.group-line-grid{grid-template-columns:1fr}
  .group-line-pricing{grid-template-columns:1fr 1fr}
}


/* V2.4.2 — quando visitante ou PF vê somente reserva particular */
.booking-mode-tabs.personal-only{
  grid-template-columns:1fr;
}


/* V2.4.3 — crianças em reserva particular */
.children-policy-card{
  margin-top:12px;
  padding:11px;
  border-radius:10px;
  border:1px solid #d9e6df;
  background:#f3faf6;
}
.children-policy-card>strong{
  display:block;
  margin-bottom:7px;
  font-size:10px;
  color:#315d48;
}
.children-policy-card>div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:5px 0;
  border-top:1px solid #e1eee7;
  font-size:9.5px;
}
.children-policy-card>div:first-of-type{border-top:0}
.children-policy-card span{color:#65786e}
.children-policy-card b{
  text-align:right;
  color:#1a6d4a;
}
.children-fields{
  margin-top:10px;
  padding:10px;
  border-radius:9px;
  background:#f8fafb;
  border:1px solid #e1e7eb;
}
.children-fields.disabled-section{opacity:.62}
.children-fields-title{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  margin-bottom:8px;
}
.children-fields-title strong{
  font-size:10px;
  color:#405766;
}
.children-fields-title span{
  font-size:8.5px;
  color:#7a8791;
  text-align:right;
}
.children-fields-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.children-fields-grid label{
  font-size:9px;
  font-weight:850;
  color:#405766;
}
.children-fields-grid select{
  width:100%;
  margin-top:4px;
  padding:8px;
  font-size:12px;
}
.children-fields-grid small{
  display:block;
  margin-top:3px;
  font-size:8px;
  color:#7a8791;
}
.builder-summary-row.child-cost{
  background:#f8fafb;
}
.builder-summary-row.child-cost strong{
  color:#4b6677;
}
.line-price-breakdown{
  margin-top:6px;
  font-size:8.5px;
  line-height:1.4;
  color:#7b8992;
  text-align:right;
}
@media(max-width:420px){
  .children-fields-grid{grid-template-columns:1fr 1fr}
  .children-policy-card>div{align-items:flex-start}
}


/* ==========================================================
   V2.5 — PROPOSTA COMERCIAL HERDADA DO HOTEL
   Conteúdo da proposta: somente texto com negrito, itálico e cor.
   ========================================================== */

.proposal-panel{
  padding:24px 26px;
}
.proposal-rate-link{
  display:inline-block;
  margin:4px 0 16px;
  color:#0877d1;
  font-size:11px;
  font-weight:700;
  text-decoration:underline;
}
.commercial-proposal-text{
  font-size:13px;
  line-height:1.72;
  color:#45545f;
}
.commercial-proposal-text p{
  margin:0 0 12px;
}
.commercial-proposal-text p>strong{
  font-size:15px;
  color:#152f45;
}
.commercial-proposal-text em{
  font-style:italic;
}
.commercial-proposal-text .proposal-highlight{
  color:#0877d1;
}
.commercial-proposal-text .proposal-intro{
  color:#64747f;
  margin-bottom:20px;
}

.hotel-operation-panel p{
  margin-top:0;
}
.hotel-operation-panel>p>strong{
  font-size:17px;
  color:#18364c;
}

.room-rates-panel h2{
  margin-bottom:16px;
}
.room-rate-list{
  display:grid;
  gap:18px;
}
.room-rate-card{
  border:1px solid #dfe6eb;
  border-radius:10px;
  background:#fff;
  padding:14px;
}
.room-rate-top{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:15px;
  align-items:start;
  margin-bottom:12px;
}
.room-rate-image-wrap{
  width:100%;
  aspect-ratio:1.25/1;
  overflow:hidden;
  border-radius:6px;
  background:#eef2f4;
}
.room-rate-image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.room-rate-description{
  min-width:0;
}
.room-rate-name-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  padding-bottom:5px;
  border-bottom:2px solid #4ba9d3;
}
.room-rate-name-row h3{
  margin:0;
  font-size:15px;
  color:#203a4c;
}
.room-rate-name-row span{
  font-size:9px;
  color:#778690;
  white-space:nowrap;
}
.room-rate-description p{
  margin:9px 0 0;
  color:#6b7983;
  font-size:10.5px;
  line-height:1.55;
}
.room-table-with-image{
  margin-top:0;
}
.room-table-with-image thead th{
  background:#293b47;
  color:#fff;
  text-align:center;
}
.room-table-with-image tbody td{
  text-align:center;
}
.room-table-with-image tbody td strong{
  color:#178e5e;
}
.room-table-with-image tbody td:first-child strong{
  color:#344c5d;
}
.room-child-note{
  margin-top:10px;
  padding:10px 11px;
  border-radius:8px;
  background:#f0ebff;
  border:1px solid #ded2ff;
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
}
.room-child-note>div:first-child strong{
  display:block;
  color:#2370c8;
  font-size:10px;
}
.room-child-note>div:first-child span{
  display:block;
  margin-top:3px;
  color:#6e6b80;
  font-size:8.8px;
  line-height:1.35;
}
.room-child-price{
  text-align:right;
  min-width:95px;
}
.room-child-price strong{
  display:block;
  color:#178e5e;
  font-size:16px;
}
.room-child-price span{
  display:block;
  margin-top:2px;
  color:#777485;
  font-size:8px;
}
.policy-accordion-panel h2{
  margin-bottom:12px;
}
.policy-accordion{
  border-top:1px solid #e3e8ec;
}
.policy-accordion:last-child{
  border-bottom:1px solid #e3e8ec;
}
.policy-accordion summary{
  list-style:none;
  cursor:pointer;
  padding:12px 4px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  color:#27445a;
  font-size:12px;
  font-weight:700;
}
.policy-accordion summary::-webkit-details-marker{
  display:none;
}
.policy-accordion summary span{
  font-size:14px;
  color:var(--bs-primary, #f26522);
  font-weight:500;
}
.policy-accordion[open] summary span{
  transform:none !important;
}
.policy-accordion-content{
  padding:4px 4px 15px;
  color:#566772;
  font-size:12px;
  line-height:1.65;
}
.policy-accordion-content p{
  margin:0 0 10px;
}
.policy-accordion-content p:last-child{
  margin-bottom:0;
}
.policy-accordion-content strong{
  color:#18384f;
}
.policy-accordion-content em{
  font-style:italic;
}
.policy-accordion-content .proposal-highlight{
  color:#0877d1;
}
@media(max-width:700px){
  .proposal-panel{
    padding:18px;
  }
  .commercial-proposal-text{
    font-size:12px;
    line-height:1.65;
  }
  .room-rate-top{
    grid-template-columns:110px 1fr;
    gap:10px;
  }
  .room-child-note{
    align-items:flex-start;
  }
}
@media(max-width:470px){
  .room-rate-top{
    grid-template-columns:1fr;
  }
  .room-rate-image-wrap{
    max-height:190px;
    aspect-ratio:16/9;
  }
  .room-rate-name-row{
    margin-top:2px;
  }
}


/* ==========================================================
   V2.5.1 — CARD DE GRUPOS MAIS COMPLETO
   Aplicado somente aos cards renderizados em grupos.html
   ========================================================== */
.group-package-card{
  position:relative;
}
.group-card-image-wrap{
  position:relative;
}
.group-package-card .card-img{
  height:220px;
}
.group-stock-badge{
  position:absolute;
  top:14px;
  right:14px;
  min-width:82px;
  min-height:58px;
  border-radius:999px;
  padding:9px 14px;
  background:#15935f;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  line-height:1;
  box-shadow:0 5px 16px rgba(0,0,0,.18);
}
.group-stock-badge strong{
  font-size:20px;
}
.group-stock-badge small{
  margin-top:3px;
  font-size:9px;
  font-weight:700;
}
.group-package-card .card-body{
  padding:18px;
}
.group-hotel-name{
  margin-top:2px;
  color:#29465a;
  font-size:12px;
  font-weight:800;
}
.group-card-tagline{
  margin:9px 0 14px;
  color:#5f707d;
  font-size:11px;
  line-height:1.5;
}
.group-card-info{
  display:grid;
  gap:6px;
  padding:12px 0;
  border-top:1px solid #e8edef;
  border-bottom:1px solid #e8edef;
}
.group-info-row{
  display:flex;
  align-items:flex-start;
  gap:7px;
  color:#405562;
  font-size:10px;
  line-height:1.4;
}
.group-info-row>span{
  flex:0 0 auto;
}
.group-info-row strong{
  color:#1d3547;
}
.group-deadline{
  color:#c34232;
}
.group-deadline strong{
  color:#c34232;
}
.group-commercial-info{
  display:grid;
  gap:5px;
  padding:11px 0;
  border-bottom:1px solid #e8edef;
}
.group-commercial-row{
  display:flex;
  justify-content:space-between;
  gap:14px;
  color:#586b78;
  font-size:10px;
}
.group-commercial-row strong{
  color:#213c50;
}
.group-card-price{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:end;
  padding-top:13px;
}
.group-card-price>div>span{
  display:block;
  color:#74838e;
  font-size:9.5px;
}
.group-card-price>div>strong{
  display:block;
  margin-top:3px;
  color:#168e5d;
  font-size:22px;
}
.group-card-price>div>small{
  display:block;
  margin-top:3px;
  color:#77858f;
  font-size:8.8px;
}
.group-card-price .btn{
  white-space:nowrap;
}
.group-card-rule{
  margin-top:11px;
  padding:10px;
  border-radius:9px;
  background:#f5f8fa;
  border:1px solid #dde6eb;
  color:#60727e;
  font-size:9px;
  line-height:1.45;
}
.group-card-rule strong{
  color:#304d60;
}
@media(max-width:520px){
  .group-card-price{
    grid-template-columns:1fr;
  }
  .group-card-price .btn{
    width:100%;
  }
}


/* ==========================================================
   V2.5.2 — LEGIBILIDADE DOS CARDS DE GRUPO
   Ajuste aplicado somente aos cards de grupos.html
   ========================================================== */

.group-package-card .card-body{
  padding:20px;
}

.group-package-card .pill{
  font-size:11px;
}

.group-package-card h3{
  font-size:19px;
  line-height:1.3;
  margin-bottom:7px;
}

.group-package-card .sub{
  font-size:13px;
  line-height:1.4;
}

.group-hotel-name{
  font-size:13px;
  line-height:1.45;
}

.group-card-tagline{
  font-size:13px;
  line-height:1.55;
  margin:10px 0 15px;
}

.group-card-info{
  gap:8px;
  padding:14px 0;
}

.group-info-row{
  gap:8px;
  font-size:12px;
  line-height:1.5;
}

.group-commercial-info{
  gap:7px;
  padding:13px 0;
}

.group-commercial-row{
  font-size:12px;
  line-height:1.4;
}

.group-card-price{
  padding-top:15px;
}

.group-card-price>div>span{
  font-size:11px;
  line-height:1.4;
}

.group-card-price>div>strong{
  font-size:25px;
  line-height:1.2;
}

.group-card-price>div>small{
  font-size:10.5px;
  line-height:1.4;
}

.group-card-price .btn{
  font-size:12px;
  min-height:42px;
}

.group-card-rule{
  margin-top:13px;
  padding:12px;
  font-size:11px;
  line-height:1.5;
}

.group-stock-badge small{
  font-size:10px;
}

@media(max-width:520px){
  .group-package-card h3{
    font-size:18px;
  }

  .group-info-row,
  .group-commercial-row{
    font-size:12px;
  }

  .group-card-tagline{
    font-size:12.5px;
  }

  .group-card-rule{
    font-size:10.5px;
  }
}


/* V2.5.3 — CTA abaixo dos pacotes em destaque da Home */
.home-packages-cta{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:28px;
  text-align:center;
}
.home-packages-cta .btn{
  min-width:250px;
  min-height:46px;
  font-size:14px;
  padding:0 22px;
}
.home-packages-cta p{
  margin:0;
  color:#6f7f8b;
  font-size:12px;
  line-height:1.45;
}
@media(max-width:520px){
  .home-packages-cta .btn{
    width:100%;
    min-width:0;
  }
}


/* ==========================================================
   V2.5.4 — QUEM SOMOS
   ========================================================== */
.about-hero{
  padding:72px 18px 66px;
  background:
    linear-gradient(110deg,rgba(10,37,58,.98),rgba(16,65,88,.95)),
    url("img/fazzenda.jpg") center/cover;
  color:#fff;
}
.about-hero-inner{
  max-width:980px;
}
.about-hero h1{
  max-width:790px;
  margin:9px 0 15px;
  font-size:44px;
  line-height:1.08;
}
.about-hero h1 em{
  color:#f57921;
  font-style:normal;
}
.about-hero p{
  max-width:760px;
  margin:0;
  color:#dce7ee;
  font-size:17px;
  line-height:1.65;
}
.about-eyebrow{
  display:block;
  margin-bottom:6px;
  color:#e56716;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.about-story-grid{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);
  gap:38px;
  align-items:start;
}
.about-story-main h2,
.about-section-head h2{
  margin-top:0;
  color:#17374f;
}
.about-story-main p{
  color:#596b78;
  font-size:14px;
  line-height:1.75;
}
.about-story-main p strong{
  color:#23455d;
}
.about-quote{
  border-radius:16px;
  padding:25px;
  background:#0f3049;
  color:#fff;
  box-shadow:0 14px 34px rgba(21,49,68,.12);
}
.about-quote-mark{
  height:38px;
  color:#f57921;
  font-size:54px;
  line-height:1;
  font-family:Georgia,serif;
}
.about-quote p{
  margin:4px 0 14px;
  color:#e6eef3;
  font-size:16px;
  line-height:1.6;
}
.about-quote strong{
  font-size:12px;
  color:#f6ad7b;
}
.about-section-head{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
.founders-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:28px;
}
.founder-card{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:16px;
  padding:22px;
  border:1px solid #dce5ea;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 24px rgba(27,52,70,.05);
}
.founder-monogram{
  width:64px;
  height:64px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#123b58;
  color:#fff;
  font-size:18px;
  font-weight:900;
}
.founder-role{
  color:#df6819;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.founder-card h3{
  margin:4px 0 8px;
  color:#17374f;
  font-size:18px;
}
.founder-card p{
  margin:0;
  color:#657682;
  font-size:12px;
  line-height:1.65;
}
.about-history-note{
  max-width:860px;
  margin:26px auto 0;
  color:#60727e;
  font-size:13px;
  line-height:1.7;
  text-align:center;
}
.about-values{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:24px;
}
.about-values article{
  padding:20px 18px;
  border:1px solid #e0e7eb;
  border-radius:13px;
  background:#fff;
}
.about-value-icon{
  font-size:24px;
}
.about-values h3{
  margin:10px 0 7px;
  color:#17374f;
  font-size:15px;
}
.about-values p{
  margin:0;
  color:#6a7a85;
  font-size:11px;
  line-height:1.6;
}
.about-audience-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.about-audience-card{
  padding:24px;
  border:1px solid #dbe5ea;
  border-radius:15px;
  background:#fff;
}
.about-audience-card.professional{
  border-color:#f3c19f;
  background:#fffaf6;
}
.about-audience-card>span{
  color:#df6819;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.about-audience-card h3{
  margin:7px 0 8px;
  color:#17374f;
  font-size:20px;
}
.about-audience-card p{
  margin:0 0 17px;
  color:#657783;
  font-size:12px;
  line-height:1.6;
}
.about-final-cta{
  padding:36px 18px;
  background:#102f47;
  color:#fff;
}
.about-final-cta>.container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.about-final-cta h2{
  margin:5px 0 7px;
  font-size:25px;
}
.about-final-cta p{
  margin:0;
  color:#cad8e2;
  font-size:12px;
}
.about-final-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.about-final-actions .btn-outline{
  border-color:#728b9d;
  color:#fff;
}

@media(max-width:900px){
  .about-story-grid,
  .founders-grid,
  .about-audience-grid{
    grid-template-columns:1fr;
  }
  .about-values{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:600px){
  .about-hero{
    padding:52px 18px 48px;
  }
  .about-hero h1{
    font-size:34px;
  }
  .about-hero p{
    font-size:15px;
  }
  .about-values{
    grid-template-columns:1fr;
  }
  .about-final-cta>.container{
    display:block;
  }
  .about-final-actions{
    margin-top:18px;
  }
  .about-final-actions .btn{
    width:100%;
  }
  .founder-card{
    grid-template-columns:52px 1fr;
  }
  .founder-monogram{
    width:52px;
    height:52px;
    font-size:15px;
  }
}


/* V2.5.5 — Quem Somos no header e CTA da Home */
.hero-actions{flex-wrap:wrap;}
@media(max-width:620px){.hero-actions .btn{width:100%;}}


/* ==========================================================
   V2.5.6 — TÍTULO VISÍVEL NAS TELAS DE HOTEL E PACOTE
   ========================================================== */

.detail-page-heading{
  max-width:1180px;
  margin:8px auto 22px;
  padding:0;
}

.detail-page-type{
  display:block;
  margin-bottom:5px;
  color:#df6819;
  font-size:10px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.detail-page-heading h1{
  margin:0;
  color:#122f46;
  font-size:30px;
  line-height:1.2;
  font-weight:850;
}

.detail-page-heading p{
  margin:7px 0 0;
  color:#647783;
  font-size:13px;
  line-height:1.5;
}

.detail-page-heading p span{
  margin:0 5px;
  color:#a4afb6;
}

.package-page-heading h1{
  max-width:900px;
}

@media(max-width:700px){
  .detail-page-heading{
    margin-bottom:16px;
  }

  .detail-page-heading h1{
    font-size:24px;
  }

  .detail-page-heading p{
    font-size:12px;
  }
}


/* ==========================================================
   V2.5.8 — PROPOSTA COMERCIAL MINIMIZÁVEL NO PACOTE
   Fechada por padrão.
   ========================================================== */

.proposal-panel-collapsible{
  padding:0;
  overflow:hidden;
}

.proposal-collapse{
  margin:0;
}

.proposal-collapse-summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:20px 24px;
  background:#fff;
  transition:background .16s ease;
}

.proposal-collapse-summary:hover{
  background:#fbfcfd;
}

.proposal-collapse-summary::-webkit-details-marker{
  display:none;
}

.proposal-collapse-copy{
  min-width:0;
}

.proposal-collapse-copy .kicker{
  display:block;
  margin-bottom:5px;
}

.proposal-collapse-copy>strong{
  display:block;
  color:#17374f;
  font-size:16px;
  line-height:1.35;
}

.proposal-collapse-copy>small{
  display:block;
  max-width:680px;
  margin-top:5px;
  color:#71818c;
  font-size:11px;
  line-height:1.5;
}

.proposal-collapse-action{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:8px;
  min-width:104px;
  justify-content:flex-end;
  color:#d96216;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}

.proposal-hide-label{
  display:none;
}

.proposal-chevron{
  display:inline-block;
  font-size:18px;
  line-height:1;
  transition:transform .18s ease;
}

.proposal-collapse[open] .proposal-show-label{
  display:none;
}

.proposal-collapse[open] .proposal-hide-label{
  display:inline;
}

.proposal-collapse[open] .proposal-chevron{
  transform:rotate(180deg);
}

.proposal-collapse-content{
  border-top:1px solid #e4e9ed;
  padding:22px 24px 10px;
}

.proposal-direct-rate{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 24px;
  border-top:1px solid #e8edef;
  background:#f8fafb;
  font-size:10.5px;
}

.proposal-direct-rate span{
  color:#788792;
}

.proposal-direct-rate a{
  color:#0f689f;
  font-weight:850;
  text-decoration:none;
}

.proposal-direct-rate a:hover{
  text-decoration:underline;
}

@media(max-width:620px){
  .proposal-collapse-summary{
    align-items:flex-start;
    padding:17px 16px;
    gap:12px;
  }

  .proposal-collapse-copy>strong{
    font-size:15px;
  }

  .proposal-collapse-copy>small{
    font-size:10px;
  }

  .proposal-collapse-action{
    min-width:auto;
    font-size:10px;
  }

  .proposal-collapse-content{
    padding:18px 16px 8px;
  }

  .proposal-direct-rate{
    display:block;
    padding:11px 16px;
  }

  .proposal-direct-rate span,
  .proposal-direct-rate a{
    display:block;
  }

  .proposal-direct-rate a{
    margin-top:4px;
  }
}


/* ==========================================================
   V2.5.9 — CARROSSEL DE PATROCINADOS NA HOME
   ========================================================== */

.sponsored-section .sponsors{
  display:block;
  background:transparent;
  border:0;
  border-radius:0;
  overflow:visible;
}

.sponsor-carousel{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
}

.sponsor-viewport{
  width:100%;
  overflow:hidden;
  padding:4px;
}

.sponsor-track{
  display:flex;
  gap:16px;
  transition:transform .48s ease;
  will-change:transform;
}

.sponsor-card{
  flex:0 0 calc((100% - 32px)/3);
  min-width:0;
  min-height:290px;
  padding:20px;
  border:1px solid #dfe6eb;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(17,43,64,.08);
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden;
}

.sponsor-card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:5px;
}

.sponsor-insurance:before{
  background:#1a8a68;
}

.sponsor-bus:before{
  background:#164665;
}

.sponsor-shopping:before{
  background:#e77523;
}

.sponsor-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:18px;
}

.sponsor-sponsored{
  padding:5px 8px;
  border-radius:999px;
  background:#eef3f6;
  color:#617480;
  font-size:9px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.sponsor-category{
  color:#647782;
  font-size:10px;
  font-weight:800;
}

.sponsor-brand{
  display:flex;
  gap:12px;
  align-items:center;
}

.sponsor-icon{
  width:48px;
  height:48px;
  flex:0 0 48px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:#f3f6f8;
  font-size:25px;
}

.sponsor-brand strong{
  display:block;
  color:#17374f;
  font-size:15px;
}

.sponsor-brand small{
  display:block;
  margin-top:3px;
  color:#7c8992;
  font-size:9px;
  line-height:1.35;
}

.sponsor-copy{
  margin:18px 0;
  flex:1;
}

.sponsor-copy h3{
  margin:0 0 8px;
  color:#17374f;
  font-size:18px;
  line-height:1.3;
}

.sponsor-copy p{
  margin:0;
  color:#657681;
  font-size:12px;
  line-height:1.6;
}

.sponsor-cta{
  width:100%;
  margin-top:auto;
  min-height:40px;
  font-size:11px;
}

.sponsor-arrow{
  width:40px;
  height:40px;
  flex:0 0 40px;
  border:1px solid #d4dee5;
  border-radius:50%;
  background:#fff;
  color:#193b54;
  font-size:27px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 4px 14px rgba(17,43,64,.08);
}

.sponsor-arrow:hover{
  background:#f7f9fb;
}

.sponsor-arrow:disabled{
  opacity:.35;
  cursor:default;
}

.sponsor-carousel-footer{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:15px;
}

.sponsor-carousel-footer>span{
  color:#84919a;
  font-size:9px;
}

.sponsor-dots{
  display:flex;
  gap:6px;
}

.sponsor-dot{
  width:7px;
  height:7px;
  padding:0;
  border:0;
  border-radius:999px;
  background:#cfd8de;
  cursor:pointer;
  transition:width .2s ease,background .2s ease;
}

.sponsor-dot.active{
  width:22px;
  background:#f57921;
}

@media(max-width:1040px){
  .sponsor-card{
    flex-basis:calc((100% - 16px)/2);
  }
}

@media(max-width:720px){
  .sponsor-carousel{
    gap:6px;
  }

  .sponsor-card{
    flex-basis:100%;
    min-height:270px;
  }

  .sponsor-arrow{
    width:34px;
    height:34px;
    flex-basis:34px;
    font-size:23px;
  }

  .sponsor-card{
    padding:18px;
  }

  .sponsor-copy h3{
    font-size:17px;
  }
}


/* V2.5.10 — permanência na estrutura após liberação do apartamento */
.hotel-stay-note{
  margin-top:12px;
  padding:10px 12px;
  border-radius:9px;
  background:#eef7fb;
  border:1px solid #d6eaf3;
  color:#476676;
  font-size:11px;
  line-height:1.45;
}


/* ============================================================
   V2.6.0 — CENTRAL DE ATENDIMENTO / WHATSAPP
   ============================================================ */
.whatsapp-float{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:90;
  display:flex;
  align-items:center;
  gap:10px;
  border:0;
  border-radius:999px;
  background:#1f9d62;
  color:#fff;
  padding:10px 14px 10px 10px;
  cursor:pointer;
  box-shadow:0 10px 28px rgba(13,54,38,.28);
}
.whatsapp-float:hover{background:#188653}
.whatsapp-float-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#1f9d62}
.whatsapp-float-icon svg{width:23px;height:23px}
.whatsapp-float-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;text-align:left}
.whatsapp-float-text strong{font-size:11px}.whatsapp-float-text small{font-size:8.5px;color:#e8fff2;margin-top:3px}
.btn-whatsapp{background:#1f9d62!important;color:#fff!important;border-color:#1f9d62!important}
.btn-whatsapp:hover{background:#188653!important}
.btn-whatsapp svg{width:17px;height:17px;margin-right:7px}
.whatsapp-context-card{
  margin-top:14px;
  border:1px solid #d7e6dd;
  border-radius:12px;
  padding:14px;
  background:#f5fbf7;
}
.whatsapp-context-card .whatsapp-context-kicker{display:block;color:#448064;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.whatsapp-context-card strong{display:block;color:#173f31;font-size:13px;margin-bottom:5px}
.whatsapp-context-card p{margin:0 0 10px;color:#65796e;font-size:10px;line-height:1.5}
.whatsapp-context-card .btn{width:100%;min-height:38px;font-size:10.5px}
.whatsapp-home-section{padding-top:0!important}
.whatsapp-home-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border:1px solid #d9e7df;border-radius:15px;background:#f7fbf8}
.whatsapp-home-card h3{margin:3px 0 6px;color:#173e31;font-size:20px}.whatsapp-home-card p{margin:0;color:#657a6d;font-size:12px;line-height:1.55}.whatsapp-home-card .btn{flex:0 0 auto}
.footer [data-whatsapp]{color:#dcebe2!important}
.footer [data-whatsapp]::before{content:'●';color:#39c77a;font-size:8px;margin-right:6px}
.whatsapp-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:18px}
.whatsapp-modal.hidden{display:none}
.whatsapp-modal-backdrop{position:absolute;inset:0;background:rgba(8,29,43,.58);backdrop-filter:blur(2px)}
.whatsapp-modal-card{position:relative;z-index:1;width:min(470px,100%);background:#fff;border-radius:17px;padding:26px;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.whatsapp-modal-card h3{margin:3px 0 7px;font-size:23px}.whatsapp-modal-card>p{margin:0;color:#6b7c87;font-size:11px;line-height:1.5}
.whatsapp-modal-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#eaf8f0;color:#1f9d62;margin-bottom:12px}.whatsapp-modal-icon svg{width:29px;height:29px}
.whatsapp-modal-close{position:absolute;right:13px;top:10px;width:35px;height:35px;border:0;border-radius:50%;background:#f2f5f7;color:#536875;font-size:23px;cursor:pointer}
.whatsapp-message-preview{margin:14px 0;padding:12px 13px;border-left:3px solid #1f9d62;border-radius:8px;background:#f4faf6;color:#365d49;font-size:11px;line-height:1.55}
.whatsapp-prototype-note{margin-top:12px}.whatsapp-prototype-note code{font-size:9px}.whatsapp-modal-action{width:100%;margin-top:12px}

/* ============================================================
   V2.6.0 — LOGIN E CADASTRO OFICIAIS
   ============================================================ */
.auth-page{max-width:1180px;margin:0 auto;padding:42px 18px 64px}
.auth-layout-official{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,470px);gap:36px;align-items:center;min-height:600px}
.auth-intro-official{padding-right:12px}.auth-intro-official h1{margin:0 0 14px;font-size:42px;line-height:1.08;max-width:650px;color:#12334b}.auth-intro-official h1 em{font-style:normal;color:#f57921}.auth-intro-official p{margin:0;color:#667985;font-size:15px;line-height:1.65;max-width:650px}
.auth-card-official{background:#fff;border:1px solid #dce5ea;border-radius:18px;padding:27px;box-shadow:0 12px 34px rgba(18,49,70,.08)}
.auth-card-official h2{margin:0 0 6px;font-size:25px}.auth-lead{margin:0 0 22px;color:#667985;font-size:12px;line-height:1.55}
.auth-form{display:grid;gap:13px}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.auth-grid .full{grid-column:1/-1}
.auth-page label{display:block;color:#344f61;font-size:10px;font-weight:850}.auth-page input,.auth-page select{width:100%;margin-top:5px;padding:11px 12px;border:1px solid #cad6de;border-radius:9px;background:#fff;color:#173247;outline:none;font:inherit}.auth-page input:focus,.auth-page select:focus{border-color:#7aa9c4;box-shadow:0 0 0 3px rgba(75,139,178,.09)}
.auth-helper{display:block;margin-top:4px;color:#84929b;font-size:8.5px;line-height:1.4;font-weight:400}.auth-password-row{display:flex;justify-content:flex-end;margin-top:-4px}.auth-link{color:#0d6697;font-size:10px;font-weight:800}.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:#92a0a9;font-size:9px}.auth-divider:before,.auth-divider:after{content:'';height:1px;background:#e1e7eb;flex:1}.auth-foot{text-align:center;color:#687a85;font-size:10.5px}.auth-foot a{color:#0d6697;font-weight:850}
.auth-choice{max-width:900px;margin:0 auto}.auth-choice-head{text-align:center;margin-bottom:24px}.auth-choice-head h1{font-size:34px;margin:0 0 8px}.auth-choice-head p{margin:0;color:#667985;font-size:13px}.auth-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.auth-profile-card{background:#fff;border:1px solid #dce5ea;border-radius:17px;padding:25px;box-shadow:0 12px 34px rgba(18,49,70,.08);display:flex;flex-direction:column}.auth-profile-card.professional{background:#fffaf6;border-color:#f1c4a5}.auth-profile-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:#eef4f7;font-size:25px;margin-bottom:15px}.auth-profile-card.professional .auth-profile-icon{background:#fff0e5}.auth-profile-kicker{color:#df6819;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.auth-profile-card h2{margin:5px 0 8px;font-size:23px}.auth-profile-card p{margin:0 0 18px;color:#667984;font-size:12px;line-height:1.6;flex:1}.auth-profile-note{margin:-5px 0 16px;color:#7e6958;font-size:9.5px;line-height:1.45}
.auth-form-head{max-width:760px;margin:0 auto 20px;text-align:center}.auth-form-head h1{font-size:31px;margin:4px 0 8px}.auth-form-head p{margin:0;color:#667985;font-size:12px;line-height:1.55}.auth-form-card{max-width:760px;margin:0 auto;background:#fff;border:1px solid #dce5ea;border-radius:17px;padding:27px;box-shadow:0 12px 34px rgba(18,49,70,.08)}
.auth-section{padding-top:18px;margin-top:18px;border-top:1px solid #e9eef1}.auth-section:first-child{padding-top:0;margin-top:0;border-top:0}.auth-section h3{margin:0 0 13px;font-size:15px}.auth-section-note{margin:-5px 0 13px;color:#75858f;font-size:10px;line-height:1.5}
.auth-notice{padding:12px 13px;border-radius:10px;margin:14px 0;font-size:10.5px;line-height:1.5}.auth-notice.professional{background:#fff7e7;border:1px solid #f0d8a2;color:#6d5a1b}.auth-notice.info{background:#eef5f8;border:1px solid #d5e4eb;color:#456477}
.auth-check{display:flex!important;gap:8px;align-items:flex-start;color:#677985!important;font-size:9.5px!important;line-height:1.45}.auth-check input{width:auto!important;margin:2px 0 0!important}.auth-check-lgpd{padding:10px;border-radius:9px;background:#f7f9fa;border:1px solid #e1e7eb}.auth-check-marketing{padding:10px;border-radius:9px;background:#fffaf6;border:1px solid #f0dfd2}.auth-check-marketing span:after{content:'  Opcional';color:#d96b1b;font-weight:900}
.auth-success{max-width:720px;margin:50px auto 0;text-align:center}.auth-status-icon{width:76px;height:76px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;font-size:34px}.auth-status-icon.ok{background:#eaf7f0;color:#16714d}.auth-status-icon.wait{background:#fff3df}.auth-success-card{background:#fff;border:1px solid #dce5ea;border-radius:18px;padding:34px;box-shadow:0 12px 34px rgba(18,49,70,.08)}.auth-success-card h1{margin:0 0 10px;font-size:31px}.auth-success-card>p{max-width:590px;margin:0 auto;color:#667985;font-size:13px;line-height:1.65}.auth-emailbox{margin:18px auto;max-width:470px;padding:13px;border-radius:10px;background:#f3f7f9;color:#27475c;font-size:12px;font-weight:850}.auth-next{max-width:520px;margin:20px auto;text-align:left;padding:16px;border-radius:12px;background:#f8fafb;border:1px solid #e3eaee}.auth-next strong{font-size:12px}.auth-next p{font-size:10.5px;line-height:1.55;margin:5px 0 0;color:#687a86}.auth-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px}
.auth-back{display:inline-block;margin-bottom:17px;color:#0f6795;font-size:11px;font-weight:800}.auth-recover-ok{display:none}.auth-recover-ok.show{display:block}

@media(max-width:900px){.auth-layout-official{grid-template-columns:1fr;min-height:auto}.auth-intro-official{text-align:center;padding:0}.auth-intro-official p{margin-left:auto;margin-right:auto}.auth-profile-grid{grid-template-columns:1fr}.whatsapp-home-card{align-items:flex-start;flex-direction:column}}
@media(max-width:720px){.whatsapp-float{right:14px;bottom:14px;padding:9px}.whatsapp-float-text{display:none}.whatsapp-float-icon{width:38px;height:38px}.auth-page{padding:28px 12px 70px}.auth-intro-official h1{font-size:33px}.auth-card-official,.auth-form-card,.auth-success-card{padding:20px}.auth-grid{grid-template-columns:1fr}.auth-grid .full{grid-column:auto}}


/* ================================================================
   V2.6.2 — DÚVIDAS FREQUENTES / CENTRAL DE AJUDA
   ================================================================ */
.faq-hero{background:linear-gradient(115deg,#0d2b43,#174d6d);color:#fff;padding:48px 0 42px}
.faq-hero-inner{text-align:center}
.faq-hero h1{margin:0 0 10px;font-size:38px;line-height:1.12}
.faq-hero p{max-width:760px;margin:0 auto;color:#d9e7ee;font-size:13px;line-height:1.65}
.faq-search{max-width:720px;margin:24px auto 0;display:flex;gap:7px;padding:6px;background:#fff;border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.12)}
.faq-search input{flex:1;min-width:0;border:0;outline:0;padding:11px 12px;background:#fff;color:#173247;font-size:12px}
.faq-search .btn{flex:0 0 auto}

.faq-support-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;margin-bottom:22px;border:1px solid #d6e8dd;border-radius:15px;background:#f7fbf8}
.faq-support-banner h2{margin:3px 0 6px;color:#173e31;font-size:20px}
.faq-support-banner p{margin:0;max-width:740px;color:#657a6d;font-size:11px;line-height:1.55}
.faq-support-banner .btn{flex:0 0 auto}

.faq-categories{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.faq-category{border:1px solid #dce5ea;background:#fff;color:#506775;border-radius:999px;padding:9px 13px;font-size:9.5px;font-weight:850;cursor:pointer}
.faq-category:hover{border-color:#97adba}
.faq-category.active{background:#153f5e;color:#fff;border-color:#153f5e}

.faq-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}
.faq-list{display:grid;gap:10px}
.faq-item{overflow:hidden;border:1px solid #dce5ea;border-radius:13px;background:#fff}
.faq-question{width:100%;border:0;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;padding:16px 17px;color:#27475b;font-size:11.5px;font-weight:900;cursor:pointer}
.faq-plus{font-size:19px;color:#71838e;transition:transform .18s ease}
.faq-answer{display:none;padding:0 17px 16px;color:#677985;font-size:10.5px;line-height:1.65}
.faq-item.open .faq-answer{display:block}
.faq-item.open .faq-plus{transform:rotate(45deg)}

.faq-empty{padding:22px;border:1px dashed #cad8e0;border-radius:13px;background:#fff;text-align:center;color:#657985}
.faq-empty strong{display:block;color:#344f61;font-size:12px;margin-bottom:4px}
.faq-empty p{font-size:10.5px;line-height:1.5;margin:0 0 12px}

.faq-side{position:sticky;top:18px}
.faq-side-card{padding:18px;border:1px solid #dce5ea;border-radius:15px;background:#fff;box-shadow:0 10px 26px rgba(18,49,70,.06)}
.faq-side-card+.faq-side-card{margin-top:14px}
.faq-side-card h3{margin:3px 0 7px;color:#26475b;font-size:16px}
.faq-side-card p{margin:0;color:#687b87;font-size:10.5px;line-height:1.55}
.faq-side-card .btn{width:100%;margin-top:12px}
.faq-contact{margin-top:12px;padding-top:11px;border-top:1px solid #edf1f3;color:#647782;font-size:10px;line-height:1.65}

@media(max-width:900px){
  .faq-layout{grid-template-columns:1fr}
  .faq-side{position:static}
  .faq-support-banner{align-items:flex-start;flex-direction:column}
}
@media(max-width:650px){
  .faq-hero{padding:34px 0 32px}
  .faq-hero h1{font-size:31px}
  .faq-search{display:block;background:transparent;box-shadow:none;padding:0}
  .faq-search input{width:100%;min-height:44px;border-radius:9px;padding:12px}
  .faq-search .btn{width:100%;margin-top:8px}
}


/* ================================================================
   V2.6.3 — SIMULAÇÃO DE PERFIS NO NOVO LOGIN
   O aviso só existe quando a URL recebe ?simular=...
   ================================================================ */
.auth-simulation-notice{
  margin:-3px 0 18px;
  padding:13px 14px;
  border:1px dashed #efb489;
  border-radius:11px;
  background:#fff8f3;
  color:#526875;
}
.auth-simulation-notice .auth-simulation-kicker{
  display:block;
  margin-bottom:4px;
  color:#d9671a;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.auth-simulation-notice strong{
  display:block;
  color:#173247;
  font-size:12px;
  margin-bottom:4px;
}
.auth-simulation-notice p{
  margin:0;
  color:#657985;
  font-size:9.5px;
  line-height:1.5;
}
.auth-simulation-notice small{
  display:block;
  margin-top:6px;
  color:#8a969e;
  font-size:8px;
  line-height:1.4;
}


/* ================================================================
   V2.6.4 — RODAPÉ LEGAL / INSTITUCIONAL
   ================================================================ */
.footer.footer-legal{background:#0d2b43;color:#d8e4eb;padding:0}
.footer-legal-main{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:34px 0 24px}
.footer-legal-grid{display:grid;grid-template-columns:1.18fr .78fr .92fr 1.38fr;gap:28px;align-items:start}
.footer-legal h4{margin:0 0 11px;color:#fff;font-size:12px}
.footer-legal p{margin:0;color:#b9c9d3;font-size:9.5px;line-height:1.6}
.footer-legal a{display:block;width:max-content;max-width:100%;margin:7px 0;color:#d9e5eb;font-size:9.5px;line-height:1.45;text-decoration:none}
.footer-legal a:hover{color:#fff}

.footer-brand-area{display:flex;flex-direction:column;align-items:flex-start}
.footer-brand-logo{display:block;width:150px;max-width:78%;height:auto;margin:0 0 14px}
.footer-brand-area p{max-width:275px}
.footer-whatsapp-pill{display:inline-flex!important;align-items:center;gap:6px;margin-top:12px!important;padding:8px 10px;border-radius:999px;background:#1f9d62;color:#fff!important;font-size:9px!important;font-weight:900}
.footer-whatsapp-pill:hover{background:#188653}

.footer-company-card{position:relative;padding:14px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(255,255,255,.04)}
.footer-demo-badge{display:inline-block;margin-bottom:8px;padding:4px 7px;border-radius:999px;background:rgba(245,121,33,.14);color:#ffb47f;font-size:7.5px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.footer-company-line{margin:6px 0;color:#c4d2db;font-size:9px;line-height:1.5}
.footer-company-line strong{color:#fff}

.footer-cadastur{margin-top:13px;padding:11px;border:1px solid #d4e8db;border-radius:10px;background:#f7fbf8;color:#244738}
.footer-cadastur-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.footer-cadastur-title{font-size:9.5px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.footer-cadastur-seal{display:inline-block;padding:4px 7px;border-radius:999px;background:#e7f5ed;color:#17794e;font-size:7.5px;font-weight:900}
.footer-cadastur-number{margin-top:6px;color:#244738;font-size:11px;font-weight:900}
.footer-cadastur small{display:block;margin-top:4px;color:#5f7369;font-size:7.8px;line-height:1.45}

.footer-legal-bottom{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:25px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);color:#aebfca;font-size:8.3px;line-height:1.5}
.footer-legal-bottom strong{color:#dce8ee}

@media(max-width:920px){.footer-legal-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){
  .footer-legal-main{width:min(100% - 28px,1180px);padding-top:28px}
  .footer-legal-grid{grid-template-columns:1fr}
  .footer-brand-logo{width:138px;max-width:68%}
  .footer-legal-bottom{display:block}
  .footer-legal-bottom span{display:block;margin-top:5px}
}


/* ================================================================
   V2.6.5 — LEGIBILIDADE DA HOME + RODAPÉ
   ================================================================ */

/* ---------- Rodapé: fontes maiores e melhor aproveitamento ---------- */
.footer-legal-main{
  width:min(1320px,calc(100% - 48px));
  padding:42px 0 28px;
}
.footer-legal-grid{
  grid-template-columns:1.12fr .78fr .92fr 1.42fr;
  gap:38px;
}
.footer-legal h4{
  margin-bottom:14px;
  font-size:15px;
}
.footer-legal p{
  font-size:12.5px;
  line-height:1.65;
}
.footer-legal a{
  margin:8px 0;
  font-size:12.5px;
  line-height:1.5;
}
.footer-brand-logo{
  width:148px;
  max-width:76%;
  margin-bottom:16px;
}
.footer-brand-area p{
  max-width:305px;
}
.footer-whatsapp-pill{
  margin-top:15px!important;
  padding:10px 13px;
  font-size:11.5px!important;
}

.footer-company-card{
  padding:17px;
  border-radius:14px;
}
.footer-demo-badge{
  margin-bottom:11px;
  padding:5px 8px;
  font-size:9px;
}
.footer-company-line{
  margin:8px 0;
  font-size:11.5px;
  line-height:1.55;
}
.footer-cadastur{
  margin-top:16px;
  padding:14px;
}
.footer-cadastur-title{
  font-size:11.5px;
}
.footer-cadastur-seal{
  padding:5px 8px;
  font-size:9px;
}
.footer-cadastur-number{
  margin-top:8px;
  font-size:13px;
}
.footer-cadastur small{
  margin-top:6px;
  font-size:10px;
  line-height:1.5;
}
.footer-legal-bottom{
  margin-top:30px;
  padding-top:18px;
  font-size:10.5px;
  line-height:1.55;
}

/* ---------- Home: textos que estavam pequenos demais ---------- */
.home-page .section-head p{
  font-size:15px;
  line-height:1.6;
}
.home-page .travel-card p{
  font-size:14.5px;
  line-height:1.65;
}
.home-page .travel-card .tag{
  font-size:12px;
}
.home-page .card-footnote{
  font-size:12.5px;
  line-height:1.55;
}
.home-page .step h3{
  font-size:18px;
}
.home-page .step p{
  font-size:14px;
  line-height:1.6;
}
.home-page .pill{
  font-size:11px;
}
.home-page .card h3{
  font-size:20px;
}
.home-page .sub{
  font-size:14px;
  line-height:1.5;
}
.home-page .meta{
  font-size:13px;
}
.home-page .price-label,
.home-page .price-note{
  font-size:12.5px;
}
.home-page .price-note{
  line-height:1.5;
}
.home-page .benefit{
  padding:23px 20px;
}
.home-page .benefit strong{
  font-size:16px;
}
.home-page .benefit p{
  font-size:13.5px;
  line-height:1.6;
}
.home-page .home-packages-cta p{
  font-size:13.5px;
}
.home-page .whatsapp-home-card p{
  font-size:13.5px;
  line-height:1.6;
}
.home-page .whatsapp-home-card h3{
  font-size:21px;
}
.home-page .sponsor-sponsored{
  font-size:10.5px;
}
.home-page .sponsor-category{
  font-size:11.5px;
}
.home-page .sponsor-brand strong{
  font-size:16px;
}
.home-page .sponsor-brand small{
  font-size:11px;
  line-height:1.45;
}
.home-page .sponsor-copy p{
  font-size:13.5px;
  line-height:1.65;
}
.home-page .sponsor-cta{
  min-height:43px;
  font-size:12.5px;
}
.home-page .sponsor-carousel-footer>span{
  font-size:10.5px;
}

/* Ajuste de telas menores sem voltar a deixar as fontes microscópicas */
@media(max-width:920px){
  .footer-legal-main{width:min(100% - 36px,1320px)}
  .footer-legal-grid{gap:30px}
}
@media(max-width:620px){
  .footer-legal-main{width:min(100% - 28px,1320px);padding-top:32px}
  .footer-legal h4{font-size:14px}
  .footer-legal p,.footer-legal a{font-size:12px}
  .footer-brand-logo{width:138px}
  .footer-company-line{font-size:11px}
  .footer-cadastur small{font-size:9.5px}
  .footer-legal-bottom{font-size:10px}
  .home-page .section-head p{font-size:14px}
}


/* ================================================================
   V2.6.7 — POLIMENTO FINAL DE BOTÕES / WHATSAPP / HOME
   ================================================================ */

/* Botões: padrão consistente em links <a> e <button> */
.btn,
a.btn,
button.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:0 20px;
  border-radius:9px;
  text-decoration:none!important;
  line-height:1.2;
  font-size:14px;
  font-weight:800;
  white-space:normal;
  text-align:center;
}
a.btn:hover,
a.btn:focus,
a.btn:active{
  text-decoration:none!important;
}
.btn-header-ghost,
.header-actions .btn{
  min-height:40px;
  padding-left:15px;
  padding-right:15px;
  font-size:12.5px;
}
.auth-profile-card .btn{
  width:100%;
  min-height:48px;
  padding-left:22px;
  padding-right:22px;
  margin-top:2px;
  font-size:15px;
}
.auth-form-card .btn,
.auth-card-official .btn{
  padding-left:22px;
  padding-right:22px;
}
.page-actions .btn,
.hero-actions .btn{
  margin:2px 0;
}

/* Marca do WhatsApp dentro dos CTAs */
.whatsapp-button-icon{
  width:20px;
  height:20px;
  flex:0 0 20px;
  display:inline-grid;
  place-items:center;
}
.whatsapp-button-icon svg{
  display:block;
  width:20px;
  height:20px;
}
.btn-whatsapp .whatsapp-button-icon{
  color:#fff;
}
.footer-whatsapp-pill .whatsapp-button-icon{
  width:18px;
  height:18px;
  flex-basis:18px;
}
.footer-whatsapp-pill .whatsapp-button-icon svg{
  width:18px;
  height:18px;
}

/* Remove o antigo ponto verde pseudo-elemento do rodapé */
.footer [data-whatsapp]::before{
  content:none!important;
  display:none!important;
}
.footer-whatsapp-pill{
  gap:8px!important;
  padding:10px 14px!important;
}

/* HOME — respiro correto no bloco de atendimento */
.home-page .whatsapp-home-section{
  padding:34px max(18px,5vw) 24px!important;
  background:#fff;
}
.home-page .whatsapp-home-card{
  padding:26px 28px;
  border-radius:16px;
}
.home-page .whatsapp-home-card .btn{
  min-height:46px;
  padding-left:20px;
  padding-right:20px;
  font-size:13.5px;
}

/* Evita o vazio exagerado entre Atendimento e Patrocinados */
.home-page .sponsored-section{
  padding-top:34px;
}
.home-page .sponsored-section .section-head{
  margin-bottom:26px;
}

/* CTAs de cards e patrocinados */
.home-page .travel-card .btn{
  min-height:46px;
  padding-left:21px;
  padding-right:21px;
}
.home-page .home-packages-cta .btn{
  min-height:46px;
  padding-left:24px;
  padding-right:24px;
}
.home-page .sponsor-cta{
  min-height:44px;
  padding-left:16px;
  padding-right:16px;
  font-size:13px;
}

/* FAQ / suporte */
.faq-support-banner .btn,
.faq-side-card .btn,
.faq-empty .btn{
  padding-left:18px;
  padding-right:18px;
}

/* Evita botões colados na borda em layouts estreitos */
@media(max-width:620px){
  .btn,
  a.btn,
  button.btn{
    max-width:100%;
    padding-left:17px;
    padding-right:17px;
    font-size:13.5px;
  }
  .auth-profile-card .btn{
    padding-left:18px;
    padding-right:18px;
  }
  .home-page .whatsapp-home-section{
    padding:28px 14px 20px!important;
  }
  .home-page .whatsapp-home-card{
    padding:22px 18px;
  }
  .home-page .sponsored-section{
    padding-top:28px;
  }
}


/* ================================================================
   V2.6.8 — CONFIRMAÇÃO DE SOLICITAÇÕES
   ================================================================ */
.confirmation-page{max-width:1180px;margin:0 auto;padding:40px 18px 64px}
.confirmation-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:center;padding:30px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}
.confirmation-check{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#eaf7f0;color:#19885b;font-size:34px;font-weight:900}
.confirmation-hero h1{margin:0 0 7px;font-size:30px}
.confirmation-hero p{max-width:760px;margin:0;color:var(--muted);font-size:13px;line-height:1.65}
.confirmation-protocol{min-width:190px;padding:13px 14px;border:1px solid #d9e4e9;border-radius:11px;background:#f8fafb}
.confirmation-protocol span{display:block;color:#7a8992;font-size:9px;text-transform:uppercase;font-weight:900;letter-spacing:.06em}
.confirmation-protocol strong{display:block;margin-top:4px;font-size:13px}
.confirmation-alert{margin-top:18px;padding:14px 16px;border:1px solid #ead9a8;border-radius:12px;background:#fff7df;color:#68561b;font-size:11.5px;line-height:1.6}
.confirmation-alert strong{color:#554511}
.confirmation-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:21px;align-items:start;margin-top:22px}
.confirmation-card{padding:23px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}
.confirmation-card h2{margin:0 0 5px;font-size:20px}
.confirmation-lead{margin:0 0 20px;color:var(--muted);font-size:11.5px;line-height:1.55}
.confirmation-step{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);gap:13px;padding-bottom:20px}
.confirmation-step:last-child{padding-bottom:0}
.confirmation-step:before{content:"";position:absolute;left:19px;top:40px;bottom:0;width:2px;background:#e3e9ed}
.confirmation-step:last-child:before{display:none}
.confirmation-step-num{position:relative;z-index:1;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#edf2f5;color:#607784;font-size:11px;font-weight:900}
.confirmation-step>div:last-child{padding-top:2px}
.confirmation-step strong{display:block;font-size:13px;margin-bottom:4px}
.confirmation-step p{margin:0;color:var(--muted);font-size:10.8px;line-height:1.6}
.confirmation-step span{display:inline-block;margin-top:6px;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900;text-transform:uppercase}
.confirmation-step.done .confirmation-step-num{background:#eaf7f0;color:#19885b}
.confirmation-step.done span{background:#eaf7f0;color:#19885b}
.confirmation-step.current .confirmation-step-num{background:#eef6fb;color:#276b94;border:1px solid #c8dfed}
.confirmation-step.current span{background:#eef6fb;color:#276b94}
.confirmation-summary{position:sticky;top:18px}
.confirmation-summary-title{padding-bottom:13px;margin-bottom:4px;border-bottom:1px solid #edf1f3}
.confirmation-summary-title span{display:block;color:#7b8a94;font-size:9px;text-transform:uppercase;font-weight:900}
.confirmation-summary-title strong{display:block;margin-top:4px;font-size:15px;line-height:1.4}
.confirmation-row{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #edf1f3;font-size:10.8px;line-height:1.45}
.confirmation-row span{color:#70808a}
.confirmation-row strong{text-align:right;color:#29485c}
.confirmation-note{margin-top:13px;padding:11px;border-radius:10px;background:#f4f8fa;color:#607681;font-size:9.8px;line-height:1.55}
.confirmation-actions{display:grid;gap:9px;margin-top:15px}
.confirmation-actions .btn{width:100%}
.confirmation-advance{display:grid;grid-template-columns:auto minmax(0,1fr);gap:15px;margin-top:26px;padding:19px;border:1px solid #f2c9a9;border-radius:14px;background:#fffaf6}
.confirmation-advance-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:#fff0e5;font-size:22px}
.confirmation-advance h3{margin:2px 0 6px;font-size:17px}
.confirmation-advance p{margin:0 0 13px;color:#687b87;font-size:11px;line-height:1.6}
.confirmation-advance .btn{min-height:43px}

/* Minha conta / Minhas reservas */
.account-reservation-card{margin-top:18px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff}
.account-reservation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:1px solid #edf1f3}
.account-reservation-head h3{margin:3px 0 4px;font-size:19px}
.account-reservation-head p{margin:0;color:var(--muted);font-size:11px}
.account-status{padding:6px 9px;border-radius:999px;font-size:9px;font-weight:900}
.account-status.waiting{background:#eef6fb;color:#276b94}
.account-reservation-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:17px 0}
.account-reservation-progress div{padding:10px;border-radius:10px;background:#f5f7f8;color:#73838d;font-size:9px;line-height:1.4}
.account-reservation-progress div.active{background:#eef6fb;color:#315f7a}
.account-reservation-progress span{display:inline-grid;place-items:center;width:22px;height:22px;margin-bottom:5px;border-radius:50%;background:#fff;font-weight:900}
.account-reservation-progress strong{display:block}
.account-reservation-action{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border-radius:12px;background:#fffaf6;border:1px solid #f2d3bb}
.account-reservation-action strong{font-size:13px}
.account-reservation-action p{max-width:650px;margin:4px 0 0;color:#6e7e88;font-size:10.5px;line-height:1.55}
.account-reservation-action .btn{flex:0 0 auto}

@media(max-width:900px){
  .confirmation-hero{grid-template-columns:auto minmax(0,1fr)}
  .confirmation-protocol{grid-column:1/-1}
  .confirmation-grid{grid-template-columns:1fr}
  .confirmation-summary{position:static}
}
@media(max-width:650px){
  .confirmation-page{padding:28px 12px 56px}
  .confirmation-hero{grid-template-columns:1fr;padding:22px}
  .confirmation-check{width:58px;height:58px}
  .confirmation-hero h1{font-size:25px}
  .confirmation-card{padding:18px}
  .confirmation-advance{grid-template-columns:1fr}
  .account-reservation-head,.account-reservation-action{align-items:flex-start;flex-direction:column}
  .account-reservation-progress{grid-template-columns:1fr 1fr}
  .account-reservation-action .btn{width:100%}
}
