
:root{
  --navy:#113750;--navy-dark:#0a2233;--navy-light:#1a5276;
  --gold:#C9A84C;--gold-light:#e8c870;--gold-dark:#a07830;
  --white:#FFFFFF;--off-white:#F8F7F4;--gray-light:#F0EEE9;
  --gray:#9A9690;--gray-dark:#4A4845;
  --red-soft:#C0392B;--green:#27AE60;--amber:#E67E22;--text:#1C1A18;
  /* legacy compat */
  --off:var(--off-white);--gray-200:#E2DDD6;--gray-400:#9A9690;--gray-600:#635E55;
  --gray-100:#F0EEE9;--red:var(--red-soft);
  --shadow-s:0 2px 8px rgba(26,60,110,.08);
  --shadow-m:0 8px 32px rgba(26,60,110,.13);
  --r:10px;--r-lg:20px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',system-ui,sans-serif;background:var(--off-white);color:var(--text);min-height:100vh}
img{display:block;max-width:100%}
button{cursor:pointer;font-family:inherit}
input,select,textarea{font-family:inherit}

/* ── HEADER ─────────────────────────────────────────────────────────── */
header{background:var(--navy);height:96px;display:flex;align-items:center;padding:0 40px;position:sticky;top:0;z-index:200;box-shadow:0 4px 30px rgba(10,30,60,0.4)}
.hd-logo{display:flex;align-items:center;text-decoration:none;flex:1}
.hd-logo img{height:80px;width:auto;object-fit:contain}
.hd-btn{padding:9px 20px;border-radius:8px;font-size:13px;font-weight:600;border:none;text-decoration:none;white-space:nowrap;transition:all .2s;letter-spacing:.04em;text-transform:uppercase;font-family:'DM Sans',system-ui,sans-serif}
.hd-btn-ghost{background:transparent;color:var(--gold);border:1.5px solid rgba(201,168,76,.5)}
.hd-btn-ghost:hover{background:rgba(201,168,76,.1);border-color:var(--gold)}
.hd-btn-gold{background:var(--gold);color:var(--navy-dark);font-weight:700}
.hd-btn-gold:hover{background:var(--gold-light)}
#hd-auth{display:flex;align-items:center;gap:10px}
#headerUserInfo{display:flex;align-items:center;gap:12px}
#headerUserName{font-size:14px;color:rgba(255,255,255,.8);font-weight:400}
#headerUserName strong{color:var(--white);font-weight:600}

/* ── HERO ────────────────────────────────────────────────────────────── */
.hero{background:linear-gradient(160deg,var(--navy-dark) 0%,var(--navy) 50%,#1e4d8c 100%);padding:56px 0 80px;position:relative;overflow:hidden}
@media(max-width:600px){.hero{padding:40px 0 70px}}
.hero::before{content:'';position:absolute;top:-100px;right:-100px;width:600px;height:600px;background:radial-gradient(circle,rgba(201,168,76,.08) 0%,transparent 70%);pointer-events:none}
.hero::after{content:'✈';position:absolute;bottom:-20px;right:60px;font-size:200px;opacity:.04;color:var(--white);transform:rotate(-15deg)}
.hero-inner{max-width:1140px;margin:0 auto;padding:0 40px}
@media(max-width:900px){.hero-inner{padding:0 28px}}
@media(max-width:600px){.hero-inner{padding:0 18px}}
.hero-content{max-width:680px;position:relative;z-index:1}
.hero-eyebrow{font-size:.7rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:20px;display:flex;align-items:center;gap:12px}
.hero-eyebrow::before{content:'';width:40px;height:1px;background:var(--gold);display:inline-block}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,5vw,3.8rem);color:var(--white);line-height:1.15;margin-bottom:20px}
.hero h1 span{color:var(--gold)}
.hero p{color:rgba(255,255,255,.65);font-size:1.05rem;line-height:1.7;max-width:520px}

/* ── HERO INFO BAR ───────────────────────────────────────────────────── */
#hero-info-bar{display:none;align-items:center;justify-content:flex-start;gap:10px;margin-top:28px;flex-wrap:wrap;position:relative;z-index:1}
#hero-info-bar.visible{display:flex}
.hib-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 16px;display:flex;align-items:center;gap:10px;transition:all .3s}
.hib-card.gold{background:rgba(201,168,76,.12);border-color:rgba(201,168,76,.35)}
.hib-icon{font-size:16px;flex-shrink:0}
.hib-body{text-align:left}
.hib-val{font-family:'DM Mono',monospace;font-size:14px;font-weight:600;color:var(--white);line-height:1}
.hib-val.gold-val{color:var(--gold)}
.hib-lbl{font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-top:2px}

/* ── SIM WRAPPER ─────────────────────────────────────────────────────── */
.sim-wrapper{max-width:1140px;margin:-40px auto 60px;padding:0 20px;position:relative;z-index:10}
@media(max-width:900px){.sim-wrapper{padding:0 16px;margin-top:-32px}}
@media(max-width:600px){.sim-wrapper{padding:0 10px;margin-top:-24px}}
.sim-card{background:var(--white);border-radius:20px;box-shadow:0 20px 80px rgba(26,60,110,.15),0 4px 20px rgba(0,0,0,.06);overflow:hidden}

/* ── STEPS BAR (dentro do sim-card) ──────────────────────────────────── */
.steps-bar{background:var(--navy);padding:20px 40px;display:flex;align-items:center;gap:0}
.step-item{display:flex;align-items:center;gap:10px;flex:1;cursor:default}
.step-num{width:32px;height:32px;border-radius:50%;border:2px solid rgba(255,255,255,.2);color:rgba(255,255,255,.4);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .3s;flex-shrink:0}
.step-label{font-size:.7rem;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.08em;font-weight:500;transition:all .3s;white-space:nowrap}
.step-connector{height:1px;background:rgba(255,255,255,.1);flex:1;margin:0 10px}
.step-item.active .step-num{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.step-item.active .step-label{color:var(--gold)}
.step-item.done .step-num{background:rgba(201,168,76,.2);border-color:var(--gold);color:var(--gold)}
.step-item.done .step-label{color:rgba(255,255,255,.6)}
@media(max-width:768px){.steps-bar{padding:16px 20px}.step-label{display:none}}

/* ── PROGRESS BAR ────────────────────────────────────────────────────── */
.form-progress{height:3px;background:rgba(201,168,76,.15);position:relative;overflow:hidden}
.form-progress-fill{height:100%;background:var(--gold);transition:width .4s ease;width:20%}

/* ── FORM BODY ───────────────────────────────────────────────────────── */
.form-body{padding:44px 48px 48px}
@media(max-width:900px){.form-body{padding:32px 28px}}
@media(max-width:600px){.form-body{padding:24px 18px}}
.step-panel{display:none;animation:fadeSlide .35s ease}
.step-panel.active{display:block}
@keyframes fadeSlide{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.step-heading{font-family:'Playfair Display',serif;font-size:1.7rem;color:var(--navy);margin-bottom:8px}
.step-desc{color:var(--gray);font-size:.9rem;margin-bottom:32px;line-height:1.6}

/* ── LABELS & INPUTS ─────────────────────────────────────────────────── */
label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--gray-dark);margin-bottom:8px}
input[type="text"],input[type="number"],input[type="email"],input[type="tel"],select,textarea{width:100%;padding:14px 16px;border:1.5px solid #E2DDD6;border-radius:10px;font-family:'DM Sans',system-ui,sans-serif;font-size:.95rem;color:var(--text);background:var(--off-white);transition:border-color .2s,box-shadow .2s;outline:none;-webkit-appearance:none;appearance:none}
textarea{resize:vertical;min-height:80px}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%239A9690' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:44px}
input:focus,select:focus,textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(26,60,110,.1);background:var(--white)}
input.invalid,select.invalid{border-color:var(--red-soft)}
.field-group{margin-bottom:24px}
.fg{margin-bottom:20px}
.fg label,.fg-label{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin-bottom:8px}
.grid-2,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:600px){.grid-2,.two-col{grid-template-columns:1fr}}
.field-err,.field-error{font-size:.75rem;color:var(--red-soft);margin-top:5px;display:none}
.field-err.show,.field-error.visible{display:block}

/* ── RADIO CARDS (new style) ─────────────────────────────────────────── */
.radio-cards{display:grid;gap:14px}
.radio-cards.cols-2{grid-template-columns:1fr 1fr}
.radio-cards.cols-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:700px){.radio-cards.cols-2,.radio-cards.cols-3{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.radio-cards.cols-2,.radio-cards.cols-3{grid-template-columns:1fr}}
.radio-card{border:2px solid #E2DDD6;border-radius:14px;padding:20px 18px;cursor:pointer;transition:all .25s;display:flex;align-items:flex-start;gap:14px;background:var(--off-white);position:relative}
.radio-card:hover{border-color:var(--navy-light);background:var(--white)}
.radio-card.selected,.radio-card.sel{border-color:var(--navy);background:#EEF3FA;box-shadow:0 4px 16px rgba(26,60,110,.1)}
.radio-card input[type="radio"],.rc input{position:absolute;opacity:0;width:0;height:0}
.card-icon{width:44px;height:44px;background:var(--navy);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;transition:background .25s}
.radio-card.selected .card-icon,.radio-card.sel .card-icon{background:var(--gold)}
.card-content{flex:1}
.card-title{font-weight:600;font-size:.9rem;color:var(--text);margin-bottom:3px}
.card-sub{font-size:.78rem;color:var(--gray);line-height:1.4}
.card-badge{font-size:.65rem;font-weight:700;letter-spacing:.08em;padding:3px 8px;border-radius:20px;text-transform:uppercase;margin-top:8px;display:inline-block}
/* Legacy rc- classes */
.rc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:500px){.rc-grid{grid-template-columns:1fr}}
.rc{display:flex;align-items:center;gap:12px;padding:16px 18px;border:1.5px solid #E2DDD6;border-radius:10px;cursor:pointer;transition:all .2s;background:var(--off-white);position:relative}
.rc:hover{border-color:var(--navy-light);background:var(--white)}
.rc.sel{border-color:var(--navy);background:var(--white);box-shadow:0 0 0 3px rgba(26,60,110,.1)}
.rc-icon{width:42px;height:42px;border-radius:9px;background:rgba(26,60,110,.08);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;transition:background .2s}
.rc.sel .rc-icon{background:var(--navy)}
.rc.sel .rc-icon img,.rc.sel .rc-icon svg{filter:brightness(10)}
.rc-body{flex:1}
.rc-name{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text)}
.rc-desc{font-size:11px;color:var(--gray);margin-top:2px}
.rc-check{width:20px;height:20px;border:2px solid #E2DDD6;border-radius:50%;flex-shrink:0;transition:all .2s;display:flex;align-items:center;justify-content:center}
.rc.sel .rc-check{background:var(--navy);border-color:var(--navy);color:var(--white);font-size:11px;font-weight:700}
.rc.sel .rc-check::after{content:'✓'}

/* ── AUTOCOMPLETE DESTINO ────────────────────────────────────────────── */
.dest-wrap{position:relative}
.dest-actions{display:flex;gap:8px;margin-top:8px}
.dest-btn{padding:8px 14px;border-radius:8px;font-size:12px;font-weight:600;border:1.5px solid #E2DDD6;background:var(--white);color:#635E55;transition:all .2s;display:flex;align-items:center;gap:6px}
.dest-btn:hover{border-color:var(--navy);color:var(--navy)}
.dest-dropdown,.ac-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--white);border:1.5px solid #E2DDD6;border-radius:10px;box-shadow:0 8px 32px rgba(26,60,110,.13);z-index:50;max-height:260px;overflow-y:auto;display:none}
.dest-dropdown.open,.ac-dropdown.open{display:block}
.dest-opt{padding:10px 16px;cursor:pointer;border-bottom:1px solid #F0EEE9;transition:background .15s;display:flex;align-items:center;gap:10px}
.dest-opt:last-child{border-bottom:none}
.dest-opt:hover,.dest-opt.active{background:#EEF3FA}
.dest-opt-icon{font-size:.88rem;flex-shrink:0;opacity:.55}
.dest-opt-name{font-size:.88rem;font-weight:600;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dest-opt-sub{font-size:.73rem;color:var(--gray);margin-top:1px}
#dest-info{font-size:13px;color:var(--green);margin-top:10px;display:none;font-weight:500}
#dest-info.show{display:block}
.err-msg{display:none;font-size:12px;color:var(--red-soft);margin-top:6px;min-height:0}
.err-msg.show{display:block}
#dest-spinner{display:none;margin-top:8px;font-size:12px;color:var(--gray)}

/* ── MAPA DE ROTA ────────────────────────────────────────────────────── */
#routeMap,#route-map{height:240px;width:100%;display:block}
#route-map-wrap{display:none;margin-top:16px;border:1.5px solid #E2DDD6;border-radius:12px;overflow:hidden}
#route-map-wrap.show{display:block}
.map-legend{display:none;gap:16px;margin-top:10px;flex-wrap:wrap;padding:2px 0}
.map-legend.visible{display:flex}
#route-map-wrap.show .map-legend{display:flex}
.map-legend-item{display:flex;align-items:center;gap:6px;font-size:.74rem;color:var(--gray-dark)}
.map-legend-line,.map-leg-dot{width:24px;height:3px;border-radius:2px;display:inline-block}
.map-leg-road{background:var(--amber)}

/* aircraft grid — see .ac-card/.ac-grid below */

/* ── COMPARE PANEL ───────────────────────────────────────────────────── */
.ac-compare-info{display:none;font-size:.75rem;color:var(--gold);font-weight:600;margin-bottom:8px;cursor:pointer;text-align:right}
.ac-compare-info.visible{display:block}
#comparePanel{display:none;background:var(--navy-dark);border:1.5px solid rgba(201,168,76,.25);border-radius:16px;padding:20px;margin-top:16px;overflow:hidden}
.cp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08)}
.cp-title{font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:8px}
.cp-clear{font-size:.72rem;color:rgba(255,255,255,.4);cursor:pointer;background:none;border:none;transition:color .2s}
.cp-clear:hover{color:rgba(255,255,255,.8)}
.cp-cols{display:grid;gap:10px;margin-bottom:14px}
.cp-col-name{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 14px;font-size:.82rem;font-weight:600;color:#fff;text-align:center}
.cp-row-label{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.35);margin:12px 0 8px}
.cp-row-vals{display:grid;gap:10px}
.cp-val{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px 12px;font-family:'DM Mono',monospace;font-size:.88rem;color:rgba(255,255,255,.8);text-align:center;transition:all .2s}
.cp-val.best{background:rgba(201,168,76,.18);border-color:rgba(201,168,76,.5);color:var(--gold);font-weight:700}
.compare-check{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.9);border:1.5px solid #E2DDD6;display:flex;align-items:center;justify-content:center;font-size:.7rem;cursor:pointer;z-index:2;transition:all .2s}
.aircraft-card.compare-selected .compare-check{background:var(--gold);border-color:var(--gold);color:var(--navy-dark);font-weight:700}

/* ── PASSENGERS ──────────────────────────────────────────────────────── */
.pax-counter{display:flex;align-items:center;gap:16px;border:1.5px solid #E2DDD6;border-radius:10px;padding:12px 20px;background:var(--off-white);width:fit-content}
.pax-ctrl{display:flex;align-items:center;gap:0;border:1.5px solid #E2DDD6;border-radius:10px;overflow:hidden;background:var(--off-white);width:fit-content;margin-bottom:12px}
.pax-ctrl .pax-btn{border:none;border-radius:0;background:transparent;width:44px;height:44px;font-size:1.4rem;color:var(--navy);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;font-weight:300}
.pax-ctrl .pax-btn:hover:not(:disabled){background:rgba(26,60,110,.08)}
.pax-ctrl .pax-btn:disabled{color:#ccc;cursor:not-allowed}
.pax-ctrl .pax-val{font-family:'DM Mono',monospace;font-size:1.5rem;font-weight:600;color:var(--navy);min-width:52px;text-align:center;padding:0 4px;border-left:1.5px solid #E2DDD6;border-right:1.5px solid #E2DDD6;line-height:44px}
.pax-note{font-size:.8rem;color:var(--gray);margin-top:8px;line-height:1.5}
.persona-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.persona-grid .rc{flex-direction:column;align-items:flex-start;padding:18px 16px;gap:10px}
.persona-grid .rc-icon{width:40px;height:40px;border-radius:10px;background:rgba(26,60,110,.07);font-size:18px}
.persona-grid .rc.sel .rc-icon{background:var(--navy)}
.persona-grid .rc-check{display:none}
.persona-grid .rc.sel{border-color:var(--navy);background:#EEF3FA}
.persona-grid .rc.sel::after{content:'✓';position:absolute;top:10px;right:12px;width:20px;height:20px;background:var(--navy);color:#fff;border-radius:50%;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
@media(max-width:500px){.persona-grid{grid-template-columns:1fr}}
/* ── Lead Summary (step 5) ──────────────────────────────────────────── */
.lead-summary{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1.5px solid #E2DDD6;border-radius:12px;overflow:hidden;margin-bottom:28px}
.ls-item{padding:12px 18px;border-right:1px solid #F0EEE9;border-bottom:1px solid #F0EEE9;display:flex;flex-direction:column;gap:3px}
.ls-item:nth-child(even){border-right:none}
.ls-item:nth-last-child(-n+2){border-bottom:none}
.ls-key{font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gray)}
.ls-val{font-size:.9rem;font-weight:600;color:var(--navy)}
@media(max-width:500px){.lead-summary{grid-template-columns:1fr}.ls-item{border-right:none}.ls-item:nth-last-child(-n+2){border-bottom:1px solid #F0EEE9}.ls-item:last-child{border-bottom:none}}
.pax-btn{width:36px;height:36px;border-radius:8px;border:1.5px solid var(--navy);background:transparent;color:var(--navy);font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-weight:300}
.pax-btn:hover{background:var(--navy);color:var(--white)}
.pax-btn:disabled{border-color:#ccc;color:#ccc;cursor:not-allowed}
.pax-btn:disabled:hover{background:transparent;color:#ccc}
.pax-value{font-family:'DM Mono',monospace;font-size:1.6rem;font-weight:500;color:var(--navy);min-width:40px;text-align:center}
.pax-label{font-size:.8rem;color:var(--gray)}
.pax-cost-preview{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;padding:14px;background:var(--off-white);border:1.5px solid #E2DDD6;border-radius:12px}
.pax-cost-col{text-align:center}
.pax-cost-icon{font-size:1.3rem;margin-bottom:4px}
.pax-cost-val{font-size:1.1rem;font-weight:700;color:var(--navy)}
.pax-cost-sub{font-size:.72rem;color:var(--gray);margin-top:2px}

/* ── AIRCRAFT ACCORDION (classes geradas por JS) ─────────────────────── */
/* .ac-section = categoria wrapper */
.ac-section{margin-bottom:6px}
/* .ac-section-hdr = cabeçalho clicável da categoria */
.ac-section-hdr{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--off-white);border:1.5px solid #E2DDD6;border-radius:10px;cursor:pointer;transition:all .2s;user-select:none}
.ac-section-hdr:hover{background:#EEF3FA;border-color:#C5D5EA}
.ac-section-hdr.open{background:#EEF3FA;border-color:var(--navy);border-radius:10px 10px 0 0}
.ac-section-title{display:flex;align-items:center;gap:12px}
.ac-section-emoji{font-size:1.2rem;width:32px;text-align:center}
.ac-section-name{font-size:.88rem;font-weight:700;color:var(--navy)}
.ac-section-sub{font-size:.72rem;color:var(--gray);margin-top:2px}
.ac-section-arrow{font-size:.75rem;color:var(--gray);transition:transform .25s;flex-shrink:0}
.ac-section-hdr.open .ac-section-arrow{transform:rotate(180deg)}
/* .ac-section-body = grid container de cards */
.ac-section-body{display:none;border:1.5px solid var(--navy);border-top:none;border-radius:0 0 12px 12px;padding:14px;margin-bottom:0;background:#fff}
.ac-section-body.open{display:block}
/* .ac-grid = grid de cards */
.ac-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
/* .ac-card = card de aeronave */
.ac-card{border:2px solid #E2DDD6;border-radius:12px;padding:14px;cursor:pointer;transition:all .2s;background:var(--off-white);position:relative;display:block}
.ac-card:hover{border-color:var(--navy-light);background:var(--white);box-shadow:0 4px 16px rgba(26,60,110,.08)}
.ac-card.sel{border-color:var(--navy);background:#EEF3FA;box-shadow:0 4px 20px rgba(26,60,110,.15)}
.ac-card input[type="radio"]{display:none}
.ac-name{font-weight:700;font-size:.82rem;color:var(--text);margin-bottom:3px;line-height:1.3}
.ac-maker{font-size:.72rem;color:var(--gray);margin-bottom:8px;text-transform:uppercase;letter-spacing:.06em}
.ac-specs{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}
.ac-tag{font-size:.65rem;font-weight:600;padding:2px 7px;border-radius:5px;background:#F0EEE9;color:var(--gray-dark);font-family:'DM Mono',monospace;letter-spacing:.02em}
.ac-tag.fuel-a{background:#FFF8E1;color:#8B6914}
.ac-tag.fuel-j{background:#E8F4FD;color:#1565C0}
.ac-card.sel .ac-tag{background:rgba(26,60,110,.1);color:var(--navy)}
/* badge de compatibilidade */
.ac-range-badge{display:inline-block;font-size:.68rem;font-weight:600;padding:3px 8px;border-radius:20px;margin-top:2px}
.badge-ok{background:#E8F5E9;color:#2E7D32}
.badge-warn{background:#FFF8E1;color:#E65100}
/* filtradas = escondidas */
.ac-card.hidden{display:none}
/* search box */
.ac-search-wrap{margin-bottom:14px}
.ac-filter-info{font-size:.8rem;color:var(--gray);margin-bottom:14px;font-weight:500}

/* ── NAVIGATION BUTTONS ──────────────────────────────────────────────── */
.form-nav,.btn-row{display:flex;align-items:center;justify-content:space-between;margin-top:36px;padding-top:22px;border-top:1px solid #E2DDD6}
.btn{font-family:'DM Sans',system-ui,sans-serif;font-weight:600;font-size:.88rem;letter-spacing:.06em;padding:14px 32px;border-radius:10px;border:none;cursor:pointer;transition:all .25s;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px}
.btn-primary{background:var(--navy);color:var(--white)}
.btn-primary:hover{background:var(--navy-light);transform:translateY(-1px);box-shadow:0 8px 20px rgba(26,60,110,.25)}
.btn-gold{background:var(--gold);color:var(--navy-dark);font-size:.95rem;padding:16px 40px}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 10px 30px rgba(201,168,76,.35)}
.btn-ghost{background:transparent;color:var(--gray);border:1.5px solid #E2DDD6}
.btn-ghost:hover{border-color:var(--gray);color:var(--gray-dark)}
.btn-sm{padding:10px 20px;font-size:.78rem}
button:disabled{opacity:.5;cursor:not-allowed}

/* ── RESULTS SECTION ─────────────────────────────────────────────────── */
/* results CSS → see injected block below */

/* verdict → see results block */

/* comparison → see results block */
/* res-card legacy → removed */

/* charts → see results block */

/* timeline → see results block */

/* impact → see results block */

/* ── LOCAÇÃO ─────────────────────────────────────────────────────────── */
.locacao-section{background:linear-gradient(135deg,var(--navy-dark),var(--navy));border-radius:16px;padding:36px;margin-bottom:36px}
.locacao-title{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--white);margin-bottom:8px}
.locacao-sub{font-size:.85rem;color:rgba(255,255,255,.6);margin-bottom:28px;line-height:1.6}
.locacao-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:700px){.locacao-cards{grid-template-columns:1fr}}
.locacao-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:20px;cursor:pointer;transition:all .25s}
.locacao-card:hover{background:rgba(255,255,255,.1);border-color:var(--gold)}
.locacao-card.selecionado{background:rgba(201,168,76,.15);border-color:var(--gold)}
.locacao-card-titulo{font-size:.9rem;font-weight:600;color:var(--white);margin-bottom:8px}
.locacao-card-desc{font-size:.78rem;color:rgba(255,255,255,.55);line-height:1.5}
.locacao-cta{margin-top:20px;text-align:center}

/* ── GATE MODAL ──────────────────────────────────────────────────────── */
#resultGate{position:fixed;inset:0;z-index:500;background:rgba(10,20,50,.55);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:20px;pointer-events:none}
#resultGate.open{display:flex;pointer-events:auto}
.rg-box{background:var(--white);border-radius:24px;padding:40px 44px;max-width:560px;width:100%;box-shadow:0 40px 100px rgba(10,30,60,.4);position:relative;overflow:hidden;text-align:center}
.rg-box::before{content:'✈';position:absolute;right:-20px;top:-30px;font-size:160px;opacity:.04;color:var(--navy);transform:rotate(-15deg)}
.rg-icon{font-size:3rem;margin-bottom:16px}
.rg-title{font-family:'Playfair Display',serif;font-size:1.7rem;color:var(--navy);margin-bottom:8px;line-height:1.2}
.rg-sub{font-size:.9rem;color:var(--gray);margin-bottom:28px;line-height:1.6}
.rg-teaser{display:flex;gap:12px;justify-content:center;margin-bottom:28px;flex-wrap:wrap}
.rg-teaser-card{background:var(--off-white);border:1.5px solid #E2DDD6;border-radius:12px;padding:14px 20px;min-width:120px}
.rg-teaser-val{font-family:'DM Mono',monospace;font-size:1.4rem;font-weight:600;color:var(--navy);filter:blur(5px);user-select:none}
.rg-teaser-label{font-size:.65rem;color:var(--gray);text-transform:uppercase;letter-spacing:.1em;margin-top:4px}
.rg-privacy{font-size:.73rem;color:var(--gray);margin-top:16px;line-height:1.5}
.rg-privacy a{color:var(--navy);text-decoration:underline}
.gate-map-wrap{width:100%;height:160px;border-radius:12px;overflow:hidden;margin-bottom:20px;border:1.5px solid #E2DDD6}
.gate-form{text-align:left}
.gate-form label{font-size:.72rem}
.gate-form input{margin-bottom:12px}
.gate-cta-btn{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:var(--navy-dark);font-size:14px;font-weight:700;padding:14px 32px;border-radius:10px;border:none;cursor:pointer;transition:all .2s;letter-spacing:.04em;text-transform:uppercase;width:100%;justify-content:center;margin-top:8px}
.gate-cta-btn:hover{background:var(--gold-light);box-shadow:0 4px 20px rgba(201,168,76,.4)}
.gate-err{font-size:.75rem;color:var(--red-soft);margin-top:8px;display:none}
.gate-err.show{display:block}
#rgFormErr{font-size:.75rem;color:var(--red-soft);margin-top:8px;display:none}
#rgFormErr.show{display:block}

/* ── LGPD CHECKBOX ───────────────────────────────────────────────────── */
.lgpd-row{display:flex;align-items:flex-start;gap:10px;margin:12px 0}
.lgpd-row input[type="checkbox"]{width:18px;height:18px;flex-shrink:0;margin-top:2px;accent-color:var(--navy);cursor:pointer}
.lgpd-row label{font-size:.78rem;color:var(--gray);font-weight:400;letter-spacing:0;text-transform:none;cursor:pointer;line-height:1.5}
.lgpd-row label a{color:var(--navy);text-decoration:underline}

/* ── SHARE / STORY ───────────────────────────────────────────────────── */
.share-section{background:var(--off-white);border-radius:14px;padding:24px;margin-bottom:36px;border:1.5px solid #E2DDD6;text-align:center}
.share-title{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);margin-bottom:16px}
.share-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.share-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:10px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}
.share-btn-wa{background:#25D366;color:white}
.share-btn-wa:hover{background:#20b858;transform:translateY(-1px)}
.share-btn-copy{background:var(--navy);color:white}
.share-btn-copy:hover{background:var(--navy-light);transform:translateY(-1px)}
#storyModal{position:fixed;inset:0;background:rgba(0,0,0,.8);z-index:9999;display:none;align-items:center;justify-content:center;flex-direction:column;gap:16px;backdrop-filter:blur(4px)}
#storyModal.open{display:flex}
#storyCanvas{border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.5);max-height:85vh;max-width:95vw;object-fit:contain}
.story-modal-actions{display:flex;gap:12px}
.story-action-btn{padding:12px 24px;border-radius:10px;font-weight:700;font-size:.85rem;cursor:pointer;border:none;transition:all .2s}
.story-dl-btn{background:var(--gold);color:var(--navy-dark)}
.story-close-btn{background:rgba(255,255,255,.15);color:white;border:1px solid rgba(255,255,255,.3)}

/* ── DISCLAIMER / MISC ───────────────────────────────────────────────── */
.disclaimer{background:rgba(26,60,110,.04);border:1px solid rgba(26,60,110,.1);border-radius:10px;padding:16px 20px;font-size:.78rem;color:var(--gray);line-height:1.6;margin-top:10px}
.disclaimer strong{color:var(--gray-dark)}
.recalc-bar{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:36px;padding-top:28px;border-top:1px solid #E2DDD6;flex-wrap:wrap}
.recalc-text{font-size:.85rem;color:var(--gray)}
.painel-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 24px;background:var(--navy);color:var(--white);border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;width:100%;margin-top:10px}
.painel-btn:hover{background:var(--navy-light);box-shadow:0 4px 16px rgba(26,60,110,.3)}

/* ── TOAST ───────────────────────────────────────────────────────────── */
#toast{position:fixed;bottom:30px;right:30px;background:var(--navy);color:var(--white);padding:14px 24px;border-radius:10px;font-size:.88rem;box-shadow:0 8px 30px rgba(10,25,50,.3);transform:translateY(80px);opacity:0;transition:all .35s cubic-bezier(.34,1.56,.64,1);z-index:999;display:flex;align-items:center;gap:10px;pointer-events:none}
#toast.show{transform:translateY(0);opacity:1;pointer-events:auto}

/* ── MAP RESULTS ─────────────────────────────────────────────────────── */
#res-map-wrap{margin-bottom:28px;border-radius:14px;overflow:hidden;border:1.5px solid #E2DDD6}
#res-map{height:260px}
.map-leg-item{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--gray-dark);padding:10px 14px}

/* ── SCROLLBAR ───────────────────────────────────────────────────────── */
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--off-white)}
::-webkit-scrollbar-thumb{background:#C8C2BA;border-radius:3px}

/* ── PRODUTIVIDADE ───────────────────────────────────────────────────── */
.produtividade-section{background:var(--off-white);border-radius:14px;padding:28px;margin-bottom:36px;border:1.5px solid #E2DDD6}
.produtividade-title{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);margin-bottom:20px;display:flex;align-items:center;gap:8px}
.produtividade-title::before{content:'';width:3px;height:14px;background:var(--gold);border-radius:2px}
.produtividade-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:600px){.produtividade-grid{grid-template-columns:1fr}}
.prod-col-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}
.prod-col-aviao .prod-col-title{color:var(--green)}
.prod-col-carro .prod-col-title{color:var(--red-soft)}
.prod-item{font-size:.85rem;line-height:1.5;margin-bottom:8px;color:var(--gray-dark)}

/* ── AUTH MODAL ──────────────────────────────────────────────────────── */
.modal-overlay{position:fixed;inset:0;background:rgba(10,20,50,.6);backdrop-filter:blur(6px);z-index:600;display:none;align-items:center;justify-content:center;padding:20px}
.modal-overlay.open{display:flex}
.modal-box{background:var(--white);border-radius:20px;padding:36px 40px;max-width:460px;width:100%;box-shadow:0 30px 80px rgba(10,30,60,.35);position:relative}
.modal-title{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--navy);margin-bottom:6px}
.modal-sub{font-size:.85rem;color:var(--gray);margin-bottom:24px;line-height:1.5}
.modal-tabs{display:flex;gap:0;margin-bottom:24px;border:1.5px solid #E2DDD6;border-radius:10px;overflow:hidden}
.modal-tab{flex:1;padding:10px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;background:transparent;border:none;color:var(--gray);cursor:pointer;transition:all .2s}
.modal-tab.active{background:var(--navy);color:var(--white)}
.modal-form input{margin-bottom:12px}
.modal-close{position:absolute;top:16px;right:20px;background:none;border:none;font-size:1.3rem;color:var(--gray);cursor:pointer;line-height:1}
.modal-close:hover{color:var(--text)}
.modal-err{font-size:.75rem;color:var(--red-soft);margin-bottom:8px;display:none}
.modal-err.show{display:block}

/* ── GATE MODAL (LEGACY) ─────────────────────────────────────────────── */
#modal-bg{position:fixed;inset:0;background:rgba(10,20,50,.55);backdrop-filter:blur(6px);z-index:500;display:none;align-items:center;justify-content:center;padding:20px}
#modal-bg.open{display:flex}
.modal{background:var(--white);border-radius:20px;width:100%;max-width:440px;overflow:hidden;box-shadow:0 20px 64px rgba(26,60,110,.2)}
.modal-header{background:var(--navy);padding:24px 28px;display:flex;align-items:center;justify-content:space-between}
.modal-title{color:var(--white);font-size:18px;font-weight:700}
.modal-close{background:rgba(255,255,255,.15);border:none;color:var(--white);width:32px;height:32px;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.modal-close:hover{background:rgba(255,255,255,.25)}
.modal-tabs{display:flex;border-bottom:1px solid #F0EEE9}
.modal-tab{flex:1;padding:14px;font-size:13px;font-weight:600;border:none;background:none;cursor:pointer;color:var(--gray);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}
.modal-tab.active{color:var(--navy);border-bottom-color:var(--navy)}
.modal-body{padding:28px}
.modal-panel{display:none}
.modal-panel.active{display:block}
.fi{width:100%;padding:13px 15px;border:1.5px solid #E2DDD6;border-radius:10px;font-size:15px;color:var(--text);background:var(--off-white);transition:all .2s;outline:none;appearance:none}
.fi:focus{border-color:var(--navy);background:var(--white);box-shadow:0 0 0 4px rgba(26,60,110,.08)}
/* err-msg base → see above */
#gate-modal{position:fixed;inset:0;z-index:400;display:none;align-items:center;justify-content:center;padding:20px}
#gate-modal.open{display:flex}
#gate-backdrop{position:absolute;inset:0;backdrop-filter:blur(10px);background:rgba(10,20,50,.7)}
.gate-box{position:relative;z-index:1;background:var(--white);border-radius:20px;width:100%;max-width:680px;overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,.35);animation:gateIn .35s cubic-bezier(.34,1.56,.64,1)}
@keyframes gateIn{from{opacity:0;transform:scale(.94) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}
.gate-header{background:linear-gradient(135deg,var(--navy-dark),var(--navy));padding:28px 32px;color:var(--white)}
.gate-header h2{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;margin-bottom:6px}
.gate-header p{font-size:13px;color:rgba(255,255,255,.6);font-weight:300}
.gate-body{padding:0}
#gate-map{height:240px;width:100%}
.gate-info-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;border-top:1px solid #F0EEE9}
.gate-info-cell{padding:16px 20px;border-right:1px solid #F0EEE9;text-align:center}
.gate-info-cell:last-child{border-right:none}
.gate-info-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--gray);margin-bottom:4px}
.gate-info-val{font-size:18px;font-weight:700;color:var(--navy);font-family:'DM Mono',monospace}
.gate-info-val.blurred{filter:blur(5px);user-select:none;color:var(--gray)}
.gate-cta{padding:20px 28px;border-top:1px solid #F0EEE9;text-align:center;background:var(--off-white)}
.gate-cta p{font-size:12px;color:var(--gray);margin-bottom:12px}
.gate-cta-btn{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:var(--navy-dark);font-size:14px;font-weight:700;padding:14px 32px;border-radius:10px;border:none;cursor:pointer;transition:all .2s;letter-spacing:.04em;text-transform:uppercase}
.gate-cta-btn:hover{background:var(--gold-light);box-shadow:0 4px 20px rgba(201,168,76,.4)}
@media(max-width:600px){.gate-info-row{grid-template-columns:1fr}.gate-info-cell{border-right:none;border-bottom:1px solid #F0EEE9}}

/* ══════════════════════════════════════════════════════════════════════
   RESULTS SECTION
   ══════════════════════════════════════════════════════════════════════ */
#results{display:none;padding:44px 48px 56px;animation:fadeSlide .5s ease}
@media(max-width:900px){#results{padding:32px 28px 40px}}
@media(max-width:600px){#results{padding:24px 18px 32px}}

/* ── Header ──────────────────────────────────────────────────────────── */
.res-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:32px;flex-wrap:wrap;gap:12px}
.res-route{font-size:.8rem;color:var(--gray);display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.res-route-arrow{color:var(--gold);font-size:1rem}
#res-title{font-family:'Playfair Display',serif;font-size:1.7rem;color:var(--navy);line-height:1.2}

/* ── Verdict bar ──────────────────────────────────────────────────────── */
.verdict{background:linear-gradient(135deg,var(--navy-dark),var(--navy));border-radius:14px;padding:24px 28px;margin-bottom:32px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;position:relative;overflow:hidden}
.verdict::after{content:'✈';position:absolute;right:20px;top:-10px;font-size:110px;opacity:.05;color:white;transform:rotate(-15deg);pointer-events:none}
.verdict-card{text-align:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:14px 20px;flex:1;min-width:120px;position:relative;z-index:1}
.verdict-card.highlight{background:rgba(201,168,76,.15);border-color:rgba(201,168,76,.4)}
.vc-label{font-size:.62rem;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}
.vc-val{font-family:'DM Mono',monospace;font-size:1.7rem;font-weight:500;color:var(--white);line-height:1;display:block}
.vc-val.gold{color:var(--gold)}
.vc-sub{font-size:.68rem;color:rgba(255,255,255,.35);margin-top:4px}

/* ── Sections ─────────────────────────────────────────────────────────── */
.res-section{margin-bottom:32px}
.res-section-title{font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--navy);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.res-section-title::before{content:'';width:3px;height:14px;background:var(--gold);border-radius:2px;flex-shrink:0}

/* ── Map in results ───────────────────────────────────────────────────── */
#res-map-wrap{border-radius:14px;overflow:hidden;border:1.5px solid #E2DDD6;margin-bottom:32px}
#res-map{height:260px}
#res-map-wrap .map-leg-item{padding:10px 14px;background:var(--off-white);border-top:1px solid #E2DDD6}

/* ── Compare grid ─────────────────────────────────────────────────────── */
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
@media(max-width:600px){.compare-grid{grid-template-columns:1fr}}
.cmp-card{border:2px solid #E2DDD6;border-radius:14px;padding:22px;background:var(--white)}
.cmp-card.winner{border-color:var(--navy);box-shadow:0 6px 24px rgba(26,60,110,.1)}
.cmp-header{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.cmp-icon{font-size:1.6rem;flex-shrink:0}
.cmp-title{font-size:.95rem;font-weight:700;color:var(--text)}
.cmp-sub{font-size:.75rem;color:var(--gray);margin-top:2px}
.cmp-winner-badge{margin-left:auto;background:var(--navy);color:var(--white);font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:20px;white-space:nowrap}
.cmp-row{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px solid #F0EEE9;gap:8px}
.cmp-row:last-of-type{border-bottom:none}
.cmp-row-key{font-size:.8rem;color:var(--gray)}
.cmp-row-val{font-family:'DM Mono',monospace;font-size:.9rem;color:var(--text);font-weight:500;text-align:right}
.cmp-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;padding-top:12px;border-top:2px solid #E2DDD6}
.cmp-total-key{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gray-dark)}
.cmp-total-val{font-family:'DM Mono',monospace;font-size:1.2rem;font-weight:700;color:var(--navy)}

/* ── Timeline ─────────────────────────────────────────────────────────── */
.timeline{display:grid;gap:14px}
.tl-row{display:grid;grid-template-columns:80px 1fr 70px;align-items:center;gap:10px}
@media(max-width:500px){.tl-row{grid-template-columns:64px 1fr 56px}}
.tl-label{font-size:.78rem;font-weight:600;color:var(--text)}
.tl-track{height:28px;background:#E8E4DC;border-radius:6px;overflow:hidden;display:flex}
.tl-seg{height:100%;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;color:white;white-space:nowrap;overflow:hidden;min-width:0;transition:width .8s cubic-bezier(.34,1.56,.64,1);letter-spacing:.04em}
.tl-seg.car{background:var(--amber)}
.tl-seg.check{background:var(--navy-light)}
.tl-seg.fly{background:var(--navy)}
.tl-seg.lm{background:#6c757d}
.tl-total{font-family:'DM Mono',monospace;font-size:.78rem;color:var(--gray-dark);text-align:right;font-weight:500}

/* ── Impact grid ──────────────────────────────────────────────────────── */
.impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:600px){.impact-grid{grid-template-columns:1fr 1fr}}
.impact-card{background:var(--off-white);border:1.5px solid #E2DDD6;border-radius:12px;padding:18px 16px;text-align:center}
.impact-val{font-family:'DM Mono',monospace;font-size:1.7rem;font-weight:700;color:var(--navy);line-height:1;margin-bottom:6px}
.impact-lbl{font-size:.72rem;color:var(--gray);line-height:1.4}

/* ── Charts row ───────────────────────────────────────────────────────── */
.charts-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:700px){.charts-row{grid-template-columns:1fr}}
.chart-wrap{background:var(--off-white);border:1.5px solid #E2DDD6;border-radius:14px;padding:22px}
.chart-title{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.chart-title::before{content:'';width:3px;height:12px;background:var(--gold);border-radius:2px}

/* ── Legal note ───────────────────────────────────────────────────────── */
.legal-note{background:rgba(230,126,34,.06);border:1.5px solid rgba(230,126,34,.2);border-radius:12px;padding:16px 20px;font-size:.8rem;color:var(--gray-dark);line-height:1.65;margin-bottom:24px}
.legal-note strong{color:#8B4200}

/* ── Share row ────────────────────────────────────────────────────────── */
.share-row{display:flex;gap:10px;flex-wrap:wrap}
.share-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}
.share-wa{background:#25D366;color:white}
.share-wa:hover{background:#1ea84d;transform:translateY(-1px)}
.share-link{background:var(--navy);color:white}
.share-link:hover{background:var(--navy-light);transform:translateY(-1px)}

/* ── Nova simulação btn ───────────────────────────────────────────────── */
.nova-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:15px;background:var(--off-white);border:1.5px solid #E2DDD6;border-radius:12px;font-size:.9rem;font-weight:600;color:var(--gray-dark);cursor:pointer;transition:all .2s;margin-top:16px}
.nova-btn:hover{background:#EEF3FA;border-color:var(--navy);color:var(--navy)}

/* ── Toast notification ───────────────────────────────────────────────────── */
#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--navy);color:#fff;padding:13px 22px;border-radius:12px;
  font-size:.85rem;font-weight:500;box-shadow:0 8px 32px rgba(0,0,0,.2);
  opacity:0;transition:all .3s ease;z-index:9999;pointer-events:none;white-space:nowrap;
  max-width:90vw;text-align:center}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
#toast.warn{background:#c0392b}
#toast.info{background:var(--navy)}
#toast.ok{background:var(--green)}

/* ═══════════════════════════════════════════════════════════════
   CLASSES — extraídas de inline styles do index.html
   ═══════════════════════════════════════════════════════════════ */

/* display:none iniciais (estado JS-controlado) */
#headerUserInfo       { display: none; }
.hib-card             { display: none; }
#email-login-prompt   { display: none; }
#btn-meu-painel       { display: none; }
#hp                   { display: none; }

/* Spinner de destino */
#dest-spinner         { display: none; margin-top: 8px; }

/* Legenda do mapa de rota */
.route-map-legend     { display: flex; gap: 20px; padding: 10px 14px; background: var(--off-white); border-top: 1px solid #E2DDD6; flex-wrap: wrap; }
.map-leg-road-dot     { background: var(--amber); }
.map-leg-air-line     { width: 24px; border-top: 2px dashed var(--gold); }
.res-map-leg-air-line { width: 20px; border-top: 2px dashed var(--gold); margin-top: 1px; }

/* Botão-row alinhado à direita (step 1) */
.btn-row-right        { justify-content: flex-end; }

/* Bloco de login de email duplicado (step 5) */
#email-login-prompt {
  background: #fff8e8;
  border: 2px solid #f0c040;
  border-radius: 14px;
  padding: 20px 22px;
  margin-bottom: 16px;
}
.elp-header           { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; }
.elp-emoji            { font-size: 1.3rem; flex-shrink: 0; }
.elp-nome-msg         { font-size: .9rem; font-weight: 700; color: #7a5200; }
.elp-desc             { font-size: .8rem; color: #8a6510; margin-top: 3px; line-height: 1.5; }
#email-login-prompt label[for="f-senha-prompt"] { color: #7a5200; }
#f-senha-prompt       { border-color: #f0c040; }
.elp-actions          { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.elp-actions .btn-gold{ flex: 1; min-width: 160px; }
.elp-btn-outro        {
  flex: 0;
  background: none;
  border: 1.5px solid #d4a800;
  color: #7a5200;
  font-size: .78rem;
  padding: 8px 14px;
  border-radius: 8px;
  cursor: pointer;
  font-family: inherit;
  white-space: nowrap;
}

/* Custo por pessoa (resultados) */
.pax-cost-bar         {
  background: var(--navy);
  border-radius: var(--r);
  padding: 18px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 24px;
}
.pax-cost-label       { color: rgba(255,255,255,.6); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
#r-pax-cost           { color: var(--gold); font-size: 26px; font-weight: 800; font-family: 'DM Mono', monospace; }
.pax-cost-desc        { color: rgba(255,255,255,.5); font-size: 12px; max-width: 220px; }

/* Seção de share com margem extra */
.res-section-share    { margin-top: 24px; }

/* Erros no modal de login */
#ml-err, #mc-err      { margin-bottom: 12px; }

/* Botões full-width no modal */
.btn-modal-full       { width: 100%; justify-content: center; }

/* ── MODAL LOGIN EMAIL DUPLICADO ─────────────────────────────────────────── */
#email-login-modal {
  position: fixed;
  inset: 0;
  z-index: 600;
  background: rgba(10, 20, 50, 0.6);
  backdrop-filter: blur(6px);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
#email-login-modal.open {
  display: flex;
}
.elm-box {
  background: var(--white);
  border-radius: 20px;
  padding: 32px 36px;
  max-width: 460px;
  width: 100%;
  box-shadow: 0 30px 80px rgba(10, 30, 60, 0.35);
  position: relative;
  animation: fadeSlide .3s ease;
}
.elm-header {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 24px;
}
.elm-icon {
  font-size: 2rem;
  flex-shrink: 0;
  line-height: 1;
}
.elm-title {
  font-size: .95rem;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 4px;
  line-height: 1.4;
}
.elm-sub {
  font-size: .8rem;
  color: var(--gray);
  line-height: 1.5;
}
.elm-close {
  position: absolute;
  top: 16px;
  right: 20px;
  background: none;
  border: none;
  font-size: 1.4rem;
  color: var(--gray);
  cursor: pointer;
  line-height: 1;
  padding: 4px 8px;
  border-radius: 6px;
  transition: background .15s;
}
.elm-close:hover { background: var(--gray-light); }
.elm-actions {
  display: flex;
  gap: 10px;
  margin-top: 16px;
  flex-wrap: wrap;
}
.elm-btn-entrar {
  flex: 1;
  min-width: 180px;
  justify-content: center;
}
.elm-btn-outro {
  background: none;
  border: 1.5px solid var(--gray-light);
  color: var(--gray-dark);
  font-size: .8rem;
  padding: 10px 16px;
  border-radius: 8px;
  cursor: pointer;
  font-family: inherit;
  white-space: nowrap;
  transition: all .15s;
}
.elm-btn-outro:hover {
  border-color: var(--navy);
  color: var(--navy);
}
