/* Layout: revista editorial com faixa listrada como assinatura; cores e tipos extraídos do e-book Do Zero ao Embarque com Milhas */
:root{
  --bg:#F4F1EA; --surface:#FFFFFF; --ink:#023047; --muted:#4D6D7D; --line:#DCD6C8; --soft:#E9F2F6;
  --brand:#023047; --on-brand:#FFFFFF; --petrol:#106480; --sky:#8ECAE6; --teal:#219EBC; --accent:#FB8500; --accent-ink:#B35400; --gold:#FFB703;
  --ok:#2A7A58; --warn:#B4541F; --warn-bg:#FBEBDD; --ribbon:#023047; --ribbon-ink:#8ECAE6;
  --f-display:"Young Serif", Georgia, "Times New Roman", serif;
  --f-body:"Figtree", "Segoe UI", system-ui, sans-serif;
  --f-mono:"DM Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --f-hand:"Caveat", "Segoe Print", cursive;
  --r:6px; color-scheme:light;
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg)}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wrap{max-width:1200px;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.display{font-family:var(--f-display);font-weight:500;letter-spacing:-.01em;line-height:1.04;text-wrap:balance;margin:0}
.eyebrow{font-family:var(--f-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0}
h2.display{font-size:clamp(1.9rem,3.6vw,2.8rem)}
h3{margin:0;font-weight:600;font-size:1rem;line-height:1.35}
p{margin:0}
.muted{color:var(--muted)}
.num{font-variant-numeric:tabular-nums}

/* faixa + header */
.ribbon{background:var(--ribbon);color:var(--ribbon-ink);font-family:var(--f-mono);font-size:11px;letter-spacing:.06em}
.ribbon .wrap{display:flex;gap:12px;justify-content:space-between;align-items:center;padding-block:6px;flex-wrap:wrap}
.ribbon b{color:var(--accent);font-weight:500}
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;gap:28px;height:62px}
.logo{display:flex;align-items:baseline;gap:2px;text-decoration:none;font-weight:600;font-size:19px;letter-spacing:-.02em;color:var(--brand)}
.logo i{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block;margin-left:2px}
.logo small{font-family:var(--f-mono);font-weight:400;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-left:10px}
nav.main{display:flex;gap:4px;margin-left:auto}
nav.main a{text-decoration:none;padding:8px 12px;border-radius:var(--r);font-size:14px;color:var(--muted)}
nav.main a:hover{color:var(--ink)}
nav.main a[aria-current="page"]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}
.soon{font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;border:1px dashed var(--line);color:var(--muted);padding:3px 8px;border-radius:999px;white-space:nowrap}
.acct{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}

/* tab bar mobile */
.tabbar{display:none}
@media (max-width:980px){
  nav.main{display:none}.acct{margin-left:auto}
  .logo small{display:none}
  .tabbar{display:grid;grid-template-columns:repeat(6,1fr);position:sticky;top:calc(env(safe-area-inset-top,0px) + 62px);z-index:49;background:var(--surface);border-bottom:1px solid var(--line);
    padding-left:max(0px,env(safe-area-inset-left,0px));padding-right:max(0px,env(safe-area-inset-right,0px))}
  .tabbar a{text-decoration:none;text-align:center;padding:7px 2px 6px;font-size:11.5px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:3px}
  .tabbar a svg{width:20px;height:20px}
  .tabbar a[aria-current="page"]{color:var(--brand);font-weight:600}
  main{padding-bottom:28px}
}

/* botões e controles */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--r);padding:11px 18px;font-weight:500;font-size:14px;text-decoration:none;cursor:pointer;background:var(--brand);color:var(--on-brand);line-height:1.2}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--ink)}
.btn.accent{background:var(--accent);color:#1D1406}
.btn.sm{padding:7px 12px;font-size:13px}
.btn.xs{padding:4px 9px;font-size:12px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.icon-btn{width:32px;height:32px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);cursor:pointer;font-size:15px;line-height:1}
.icon-btn:hover{border-color:var(--ink)}
.icon-btn[disabled]{opacity:.35;cursor:default}
input[type=text],input[type=search],input[type=number],input[type=time],input[type=date],select{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;min-height:38px;font-size:14px;min-width:0}
input:focus,select:focus{border-color:var(--petrol);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--petrol) 18%,transparent)}
label.f{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 14px;font-size:13px;cursor:pointer;white-space:nowrap}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}
.tag{display:inline-block;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:3px;background:var(--soft);color:var(--muted)}
.tag.mock{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-ink)}

/* pôster */
.poster{position:relative;overflow:hidden;border-radius:var(--r);background:var(--soft);aspect-ratio:4/5;max-width:100%}
.poster svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.poster .cap{position:absolute;left:0;right:0;bottom:0;padding:16px;color:#fff;background:linear-gradient(transparent,rgba(5,15,25,.62));display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
.poster .ill{position:absolute;top:10px;right:10px;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(5,15,25,.38);padding:3px 7px;border-radius:3px}

/* home */
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center;padding-block:48px 60px}
.hero h1{font-size:clamp(2.4rem,5vw,4.2rem);display:flex;align-items:flex-start}
.hero h1 .q{color:var(--accent);margin-left:2px}
.hero .lede{font-size:17px;color:var(--muted);max-width:46ch;margin-top:20px}
.search{position:relative;margin-top:28px;max-width:520px}
.search form{display:flex;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:5px}
.search input{border:0;flex:1;min-height:44px;font-size:15px;background:transparent;box-shadow:none!important}
.suggest{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);z-index:20;overflow:hidden}
.suggest a{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;text-decoration:none;font-size:14px;border-top:1px solid var(--line)}
.suggest a:first-child{border-top:0}
.suggest a:hover,.suggest a:focus{background:var(--soft)}
.ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.read{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px;font-size:13px;color:var(--muted)}
.read .chip{text-decoration:none}
/* hero photo: polaroid + stamp, same language as Quem Somos */
.hero-ph{position:relative;display:flex;justify-content:center}
.polaroid{background:#fff;padding:14px 14px 48px;border-radius:3px;box-shadow:0 22px 44px -18px rgba(2,48,71,.45),0 2px 8px rgba(2,48,71,.12);transform:rotate(-4deg);max-width:300px;width:100%;position:relative;text-decoration:none;display:block;color:inherit}
.polaroid img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:1px;display:block;filter:saturate(1.05) contrast(1.02)}
.polaroid-cap{font-family:var(--f-hand);font-weight:700;font-size:20px;color:var(--ink);text-align:center;position:absolute;left:0;right:0;bottom:10px;margin:0}
.stamp{position:absolute;top:-18px;right:-6px;width:92px;height:92px;border-radius:50%;border:2px dashed var(--accent-ink);background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(12deg);text-align:center;padding:6px}
.stamp b{font-family:var(--f-display);font-size:22px;color:var(--accent-ink);line-height:1}
.stamp span{font-family:var(--f-mono);font-size:7.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink);line-height:1.2;margin-top:2px}
.sec{padding-block:56px}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;flex-wrap:wrap}
.feat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.card{display:flex;flex-direction:column;gap:12px;text-decoration:none;min-width:0}
.card .poster{transition:transform .5s ease}
.card:hover .poster svg{transform:scale(1.03)}
.card .poster svg{transition:transform .8s ease}
.card h3{font-family:var(--f-display);font-weight:500;font-size:1.65rem;line-height:1.1}
.card .tl{color:var(--muted);font-size:14px}
.card .meta{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;border-top:1px solid var(--line);padding-top:10px}
.feat .card.big{grid-column:span 2;grid-row:span 2}
.feat .card.big .poster{aspect-ratio:auto;flex:1;min-height:320px}
.feat .card.big h3{font-size:2.6rem}
.band{background:var(--brand);color:var(--on-brand)}
.band .eyebrow{color:color-mix(in srgb,var(--on-brand) 65%,transparent)}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:30px}
.steps li{list-style:none;border-top:1px solid color-mix(in srgb,var(--on-brand) 30%,transparent);padding-top:16px}
.steps ol{margin:0;padding:0}
.steps .n{font-family:var(--f-display);font-size:2.6rem;line-height:1;font-style:italic;color:var(--accent)}
.steps h3{font-size:1.1rem;margin-top:10px}
.steps p{opacity:.82;font-size:14px;margin-top:6px;max-width:34ch}
.fcards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}@media(max-width:1020px) and (min-width:700px){.fcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.fcard svg{width:26px;height:26px;color:var(--petrol)}
.fcard h3{font-family:var(--f-display);font-weight:500;font-size:1.4rem;margin-top:14px}
.fcard p{color:var(--muted);font-size:14px;margin-top:8px;line-height:1.55}
.fcard a.go{display:inline-flex;align-items:center;gap:5px;margin-top:14px;font-size:13.5px;color:var(--petrol);text-decoration:none;font-weight:500}
.fcard a.go:hover{text-decoration:underline}
.mosaic-wrap{padding-block:48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mosaic-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.mosaic{display:flex;gap:14px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity;margin:0 -16px;padding-inline:16px}
.mosaic::-webkit-scrollbar{height:6px}
.mosaic::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}
.mosaic a{flex:0 0 auto;width:132px;scroll-snap-align:start;text-decoration:none;color:inherit}
.mosaic .thumb{position:relative;width:132px;height:132px;border-radius:var(--r);overflow:hidden;background:var(--soft)}
.mosaic .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.mosaic a:hover .thumb img{transform:scale(1.08)}
.mosaic .thumb .ctag{position:absolute;top:6px;right:6px;font-family:var(--f-mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:rgba(5,15,25,.4);padding:2px 6px;border-radius:3px}
.mosaic p{font-size:12.5px;margin-top:8px;line-height:1.3}
.mosaic p b{display:block;font-weight:500;color:var(--ink);font-size:13.5px}
/* planejador — prévia */
.pprev-wrap{background:var(--brand);color:var(--on-brand)}
.pprev{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:44px;align-items:center}
.pprev .eyebrow{color:color-mix(in srgb,var(--on-brand) 65%,transparent)}
.pprev h2{color:#fff;font-size:clamp(1.9rem,3.6vw,2.6rem);margin-top:8px}
.pprev p.lede{color:#cfe6f0;margin-top:14px;max-width:44ch;font-size:15px}
.pprev ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:9px}
.pprev ul li{display:flex;gap:9px;align-items:flex-start;font-size:14px;color:#dceaf0}
.pprev ul li::before{content:"✓";color:var(--accent);font-weight:700;flex:none}
.pcard{background:var(--bg);color:var(--ink);border-radius:14px;overflow:hidden;box-shadow:0 30px 60px -24px rgba(1,15,25,.55)}
.pcard-h{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}
.pcard-h h3{font-family:var(--f-display);font-weight:500;font-size:1.3rem}
.pcard-h span{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pcard-map{padding:18px 22px 4px}
.pcard-stops{padding:4px 22px 18px;display:grid;gap:10px}
.pstop{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.pstop .pn{width:26px;height:26px;border-radius:50%;background:var(--soft);color:var(--petrol);display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:12px;flex:none}
.pstop b{font-weight:500;font-size:14.5px;display:block}
.pstop span{font-size:12.5px;color:var(--muted)}
/* milhas */
.mgrid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}
.mprod{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px;display:flex;flex-direction:column}
.mprod .tag{align-self:flex-start}
.mprod h3{font-family:var(--f-display);font-weight:500;font-size:1.5rem;margin-top:10px}
.mprod p{color:var(--muted);font-size:14px;margin-top:8px;line-height:1.55;flex:1}
.mprod .btn{margin-top:16px;align-self:flex-start}
.styles-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.style-tile{border:1px solid var(--line);background:var(--surface);border-radius:var(--r);padding:16px;text-align:left;cursor:pointer}
.style-tile:hover{border-color:var(--ink)}
.style-tile b{display:block;font-family:var(--f-display);font-weight:500;font-size:1.35rem}
.style-tile span{font-size:12.5px;color:var(--muted)}
footer.foot{border-top:1px solid var(--line);padding-block:32px 40px;margin-top:40px;font-size:13px;color:var(--muted)}
footer.foot .wrap{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px}
footer.foot h4{margin:0 0 8px;font-size:12px;font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink);font-weight:500}
footer.foot ul{margin:0;padding-left:18px}

/* descobrir */
.page-head{padding-block:40px 24px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.page-head h1{font-size:clamp(2.4rem,5vw,3.8rem)}
.filters{display:grid;gap:18px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.frow{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:center}
.frow > .eyebrow{padding-top:0}
.ftop{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:12px}
.ftop input,.ftop select{width:100%}
.results-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:26px 0 18px;flex-wrap:wrap}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:30px 22px}
.empty{padding:48px 20px;text-align:center;border:1px dashed var(--line);border-radius:var(--r);color:var(--muted)}

/* destino */
.dhero{position:relative}
.dhero .poster{aspect-ratio:auto;height:clamp(240px,44vh,420px);border-radius:0}
.dhero .over{position:absolute;inset:auto 0 0 0;padding-block:28px 34px;color:#fff;background:linear-gradient(transparent,rgba(5,15,25,.7))}
.dhero h1{font-size:clamp(2.3rem,5.6vw,4.4rem);color:#fff}
.dhero .eyebrow{color:rgba(255,255,255,.82)}
.dhero .tl{font-size:18px;max-width:48ch;margin-top:8px;opacity:.92}
.facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid var(--line)}
.facts div{padding:16px 16px 16px 0;border-right:1px solid var(--line);min-width:0}
.facts div + div{padding-left:16px}
.facts div:last-child{border-right:0}
.facts dt{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:4px 0 0;font-weight:500;font-size:15px}
.dbody{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;padding-block:40px}
.intro{font-family:var(--f-display);font-size:1.5rem;line-height:1.4;max-width:34ch}
.dminitoc{display:flex;gap:4px;flex-wrap:wrap;margin:28px 0 -8px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:999px;font-family:var(--f-mono);font-size:12px}
.dminitoc a{padding:8px 14px;border-radius:999px;color:var(--muted);text-decoration:none;white-space:nowrap}
.dminitoc a:hover{color:var(--ink);background:var(--bg)}
@media (min-width:761px){.dminitoc{position:sticky;top:84px;z-index:20;align-self:start}}
@media (max-width:760px){.dminitoc{overflow-x:auto;flex-wrap:nowrap;margin:20px 0 -4px}}
.dsec{margin-top:44px;scroll-margin-top:96px}
.guia{scroll-margin-top:96px}
.dsec > .eyebrow{margin-bottom:6px}
.dsec h2{font-size:2rem;margin-bottom:18px}
.addbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px;font-size:13px;color:var(--muted)}
.attr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 0;border-top:1px solid var(--line)}
.attr:last-child{border-bottom:1px solid var(--line)}
.attr h3{font-size:1.05rem}
.attr .sub{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--muted);margin-top:4px}
.attr .note{font-size:14px;margin-top:4px}
.food{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.food div{border-top:2px solid var(--ink);padding-top:12px}
.food b{font-family:var(--f-display);font-weight:500;font-size:1.3rem;display:block;line-height:1.2}
.food p{font-size:14px;color:var(--muted);margin-top:6px}
.bul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.bul li{padding-left:22px;position:relative;font-size:15px;max-width:62ch}
.bul li::before{content:"";position:absolute;left:0;top:.7em;width:10px;height:1px;background:var(--accent)}
aside.side{display:grid;gap:18px;align-content:start;position:sticky;top:90px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.panel h3{margin-bottom:10px}
.clim text{font-family:var(--f-mono);font-size:9px;fill:var(--muted)}
.clim .bar{fill:var(--accent)}
.clim .bar.best{fill:var(--ok)}
.clim .rain{fill:var(--petrol);opacity:.75}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);margin-top:8px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.kv{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid var(--line);font-size:14px}
.kv:first-of-type{border-top:0}
.kv.bm{flex-wrap:wrap}
.kv.bm small{flex-basis:100%;font-size:12px;color:var(--muted);text-align:right;margin-top:-2px}

/* planner */
.tripbar{display:grid;grid-template-columns:minmax(0,1.6fr) 110px 170px auto;gap:12px;align-items:end;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.tripbar input{width:100%}
.days{display:flex;gap:6px;overflow-x:auto;padding-block:18px 2px;scrollbar-width:thin}
.day-tab{border:1px solid var(--line);background:var(--surface);border-radius:var(--r);padding:8px 14px;cursor:pointer;text-align:left;white-space:nowrap;flex:none}
.day-tab b{display:block;font-size:14px}
.day-tab span{font-size:11.5px;color:var(--muted)}
.day-tab[aria-pressed="true"]{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}
.day-tab[aria-pressed="true"] span{color:inherit;opacity:.75}
.pgrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:28px;margin-top:18px;align-items:start}
.daysum{display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:16px}
.daysum .stats{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.daysum .stats b{color:var(--ink);font-weight:600}
.stop{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:14px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);transition:box-shadow .3s}
.stop.flash{box-shadow:0 0 0 3px var(--accent)}
.stop.conf{border-color:var(--warn)}
.stop-n{width:30px;height:30px;border-radius:50%;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;font-weight:600;font-size:13px}
.stop-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.stop-time{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-top:10px}
.stop-time label{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--muted)}
.stop-time input{width:112px}
.stop-time .dur{font-size:13px;color:var(--muted);padding-bottom:9px}
.stop-ctl{display:flex;flex-direction:column;gap:6px}
.warn{margin-top:10px;background:var(--warn-bg);color:var(--warn);font-size:13px;padding:8px 10px;border-radius:var(--r);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.leg{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 0 8px 30px;font-size:12.5px;color:var(--muted);position:relative}
.leg::before{content:"";position:absolute;left:16px;top:0;bottom:0;border-left:2px dotted var(--line)}
.leg select{min-height:32px;padding:4px 8px;font-size:13px}
.leg input{width:72px;min-height:32px;padding:4px 8px;font-size:13px}
.addbox{margin-top:22px;padding:18px;border:1px dashed var(--line);border-radius:var(--r)}
.addlist{display:grid;gap:8px;margin-top:12px}
.addlist button{display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:var(--r);padding:10px 12px;cursor:pointer}
.addlist button:hover{border-color:var(--ink)}
.addlist small{color:var(--muted);font-size:12px}
.customf{display:grid;grid-template-columns:minmax(0,1fr) 110px 90px auto;gap:8px;align-items:end;margin-top:14px}
.customf input{width:100%}
.mapbox{position:sticky;top:84px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
#realmap{width:100%;height:420px;background:var(--soft)}
.map-pin-real{width:28px;height:28px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--brand);border:2px solid var(--surface);box-shadow:0 2px 6px rgba(2,48,71,.35);display:flex;align-items:center;justify-content:center}
.map-pin-real span,.map-pin-real{color:var(--on-brand)}
.map-pin-real:before{content:attr(data-n);transform:rotate(45deg);font:600 12px var(--f-body);color:var(--on-brand)}
.map-pin-real.rec{background:var(--accent)}
.map-pin-real.rec:before{color:#1D1406}
.map-pin-other{width:10px;height:10px;border-radius:50%;background:var(--muted);opacity:.6;border:2px solid var(--surface)}
.leaflet-popup-content{font-family:var(--f-body);font-size:13px}
.map-foot{padding:10px 14px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between}
.map-empty{padding:60px 20px;text-align:center;color:var(--muted);font-size:14px}

/* orçamento */
.tiles{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:18px}
.tiles > div{background:var(--surface);padding:18px;min-width:0}
.tiles .big{font-family:var(--f-display);font-size:2.6rem;line-height:1.05;font-weight:500}
.tiles .mid{font-size:1.35rem;font-weight:600;line-height:1.2}
.tiles small{display:block;font-size:12px;color:var(--muted);margin-top:4px}
.bgrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;margin-top:28px;align-items:start}
.bars{display:grid;gap:12px}
.brow{display:grid;grid-template-columns:110px minmax(0,1fr) 120px;gap:12px;align-items:center;font-size:13px}
.btrack{height:14px;background:var(--soft);border-radius:2px;display:flex;overflow:hidden}
.btrack .c{background:var(--brand)}
.btrack .m{background:var(--accent)}
.brow .v{text-align:right;font-variant-numeric:tabular-nums}
.cat{margin-top:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.cat-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.cat-h h3{font-family:var(--f-display);font-weight:500;font-size:1.4rem}
.cat-h .st{font-size:13px;color:var(--muted);text-align:right}
.cat-h .st b{color:var(--ink);font-size:15px}
.bline{display:grid;grid-template-columns:minmax(0,1.5fr) 110px minmax(0,1.6fr) 110px 34px;gap:10px;align-items:end;padding:12px 16px;border-bottom:1px solid var(--line)}
.bline input,.bline select{width:100%}
.bl-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.bl-fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.bl-total{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;padding-bottom:9px;font-size:14px}
.bl-total small{display:block;font-weight:400;color:var(--muted);font-size:11px}
.cat-f{padding:10px 16px}
.tour{display:flex;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);font-size:14px}
.toggle{display:flex;gap:8px;align-items:center;font-size:13px;cursor:pointer}
.toggle input{width:16px;height:16px;accent-color:var(--brand)}
.rates{width:100%;border-collapse:collapse;font-size:13px}
.rates td{padding:5px 0;border-top:1px solid var(--line)}
.rates td:last-child{text-align:right;font-variant-numeric:tabular-nums}

/* curadoria + downloads */
.rec{display:inline-flex;align-items:center;gap:5px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:3px;background:var(--accent);color:#1D1406;white-space:nowrap}
.rec::before{content:"";width:6px;height:6px;border-radius:50%;background:#1D1406}
.rec.ex{background:transparent;color:var(--accent-ink);border:1px dashed var(--accent)}
.rec.ex::before{background:var(--accent)}
.picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pick{border:1px solid var(--line);border-top:3px solid var(--accent);background:var(--surface);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:10px;min-width:0}
.pick h3{font-family:var(--f-display);font-weight:500;font-size:1.45rem;line-height:1.15}
.pick blockquote{margin:0;font-family:var(--f-display);font-style:italic;font-size:1.05rem;line-height:1.45}
.pick .by{font-size:12.5px;color:var(--muted)}
.pick .foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:10px;border-top:1px solid var(--line)}
.recnote{font-size:13px;color:var(--muted);margin:-8px 0 16px;max-width:62ch}
.addgroup{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:14px}
.map-pin.rec circle{fill:var(--accent)}
.map-pin.rec text.n{fill:#1D1406}
.dl{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;padding:28px 0;border-top:1px solid var(--line)}
.dl:last-of-type{border-bottom:1px solid var(--line)}
.cover{aspect-ratio:3/4;border-radius:var(--r);padding:18px;display:flex;flex-direction:column;justify-content:space-between;max-width:100%}
.cover.sheet{background:var(--soft);border:1px solid var(--line)}
.cover.book{background:#173E5B;color:#fff}
.cover b{font-family:var(--f-display);font-weight:500;font-size:1.45rem;line-height:1.15}
.cover .gridart{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}
.cover .gridart i{height:12px;background:var(--line);border-radius:1px}
.cover .gridart i:nth-child(4n+1){background:var(--sky)}
.cover .gridart i:nth-child(7),.cover .gridart i:nth-child(14){background:var(--accent)}
.dl h2{font-size:2rem}
.dl .spec{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.dl ul{margin:14px 0 0;padding-left:18px;font-size:14px;display:grid;gap:4px}
.dl .acts{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}
@media (max-width:760px){.picks{grid-template-columns:1fr}.dl{grid-template-columns:1fr;gap:16px}.dl .cover{max-width:200px}}

/* marca */
.stripes{height:10px;background:repeating-linear-gradient(-45deg,var(--accent) 0 9px,transparent 9px 14px,var(--sky) 14px 23px,transparent 23px 28px)}
.logo{display:inline-flex;align-items:center;text-decoration:none;line-height:0}
.logo img{height:56px;width:auto;display:block}
.logo .logo-d,.foot-logo .logo-d{display:none}
.foot-logo img{height:64px;width:auto;display:block}
.poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.credits{font-size:12px;line-height:1.5;color:var(--muted);display:grid;gap:6px;margin-top:8px}
.credits a{color:var(--petrol)}
.book-cover{width:100%;max-width:300px;border-radius:var(--r);box-shadow:0 18px 40px -22px rgba(2,48,71,.55);display:block}
.hand{font-family:var(--f-hand);font-weight:700;color:var(--accent-ink);font-size:1.35rem;line-height:1.1}

/* modal/toast */
.modal{position:fixed;inset:0;z-index:80;background:rgba(5,15,25,.45);display:grid;place-items:center;padding:20px}
.modal .box{background:var(--surface);border-radius:var(--r);padding:22px;max-width:400px;width:100%;border:1px solid var(--line)}
.modal .box p{margin-bottom:18px}
.modal .row{display:flex;gap:10px;justify-content:flex-end}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:90;background:var(--ink);color:var(--bg);padding:11px 16px;border-radius:var(--r);font-size:14px;display:flex;gap:14px;align-items:center;max-width:calc(100% - 32px)}
.toast a{color:var(--accent);font-weight:600}
@media (max-width:760px){.toast{bottom:calc(20px + env(safe-area-inset-bottom,0px))}}

/* responsivo */
@media (max-width:980px){
  .hero{grid-template-columns:1fr;gap:32px;padding-block:32px 40px}
  .hero-art .poster{aspect-ratio:4/3}
  .hero-photo .poster{aspect-ratio:4/3}
  .dbody{grid-template-columns:1fr;gap:20px}
  aside.side{position:static}
  .pgrid{grid-template-columns:1fr}
  .pgrid .mapcol{order:-1}
  .mapbox{position:static}
  .bgrid{grid-template-columns:1fr}
  .facts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .facts div:nth-child(3){border-right:0}
  .facts div:nth-child(4){padding-left:0}
  .facts div:nth-child(n+4){border-top:1px solid var(--line)}
}
@media (max-width:760px){
  .feat{grid-template-columns:1fr}
  .feat .card.big{grid-column:auto;grid-row:auto}
  .feat .card.big .poster{min-height:0;aspect-ratio:4/4.4}
  .feat .card.big h3{font-size:2rem}
  .fcards{grid-template-columns:1fr}
  .pprev{grid-template-columns:1fr;gap:28px}
  .mgrid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;gap:22px}
  .frow{grid-template-columns:1fr;gap:8px}
  .frow .chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
  .ftop{grid-template-columns:1fr 1fr}
  .ftop .q{grid-column:1/-1}
  .dhero .poster{aspect-ratio:auto;width:100%}
  .facts{grid-template-columns:1fr 1fr}
  .facts div{padding:12px 12px 12px 0!important;border-right:0!important;border-top:1px solid var(--line)}
  .facts div:nth-child(odd){padding-right:12px!important;border-right:1px solid var(--line)!important}
  .facts div:nth-child(even){padding-left:12px!important}
  .food{grid-template-columns:1fr}
  .tripbar{grid-template-columns:1fr 1fr}
  .tripbar .name{grid-column:1/-1}
  .tripbar .acts{grid-column:1/-1}
  .stop{grid-template-columns:30px minmax(0,1fr);gap:10px}
  .stop-ctl{grid-column:2;flex-direction:row}
  .stop-time input{width:104px}
  .customf{grid-template-columns:1fr 1fr}
  .customf .cn{grid-column:1/-1}
  .tiles{grid-template-columns:1fr 1fr}
  .tiles > div:first-child{grid-column:1/-1}
  .bline{grid-template-columns:minmax(0,1fr) 34px;gap:8px}
  .bline .bl-desc{grid-column:1}
  .bline .bl-pay,.bline .bl-fields,.bline .bl-total{grid-column:1/-1}
  .bline .bl-del{grid-column:2;grid-row:1}
  .bl-total{text-align:left;padding-bottom:0}
  .brow{grid-template-columns:90px minmax(0,1fr);}
  .brow .v{grid-column:2;text-align:left;margin-top:-6px}
  footer.foot .wrap{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* =====================================================================
   PLANEJADOR DE VIAGENS (calendário com arrastar e soltar)
   ===================================================================== */
.pl-intro{padding-block:30px 4px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;align-items:end}
.pl-intro h1{font-size:clamp(2.3rem,4.8vw,3.6rem)}
.pl-intro .lede{font-size:16.5px;color:var(--muted);max-width:56ch;margin-top:12px}
.pl-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14px}
.pl-steps li{display:flex;gap:10px;align-items:baseline}
.pl-steps b{font-family:var(--f-mono);font-weight:500;font-size:11px;color:var(--accent-ink);letter-spacing:.08em}
@media (max-width:860px){.pl-intro{grid-template-columns:1fr;gap:16px}}
.planner .pl-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;padding:24px 0 14px;margin-top:22px;border-top:1px solid var(--line)}
.planner .pl-head h2{font-size:clamp(1.6rem,3vw,2.3rem);margin-top:6px}
.pl-bar{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) 90px 160px auto;gap:12px;align-items:end;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.pl-bar input,.pl-bar select{width:100%}
.pl-bar .f > span{font-size:12px;color:var(--muted)}
div.f{display:flex;flex-direction:column;gap:4px}
.stepper{display:flex;align-items:center;gap:8px;min-height:38px}
.stepper b{min-width:22px;text-align:center;font-size:16px}
@media (max-width:980px){.pl-bar{grid-template-columns:1fr 1fr}.pl-bar .pl-name{grid-column:1/-1}}
.pl-grid{display:grid;grid-template-columns:290px minmax(0,1fr);gap:18px;align-items:start;margin-top:16px}
.pl-main{min-width:0;display:flex;flex-direction:column;gap:18px}
@media (max-width:980px){.pl-grid{grid-template-columns:1fr}.pl-main{order:-1}}

/* abas do planejador no celular: evita empilhar roteiro + mapa + reservas
   num scroll só gigante. Acima de 760px os três ficam visíveis normalmente. */
.pl-mtabs{display:none}
@media (max-width:760px){
  .pl-mtabs{display:flex;gap:6px;margin:14px 16px 0;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:999px}
  .pl-mtabs input{position:absolute;opacity:0;pointer-events:none}
  .pl-mtabs label{flex:1;text-align:center;padding:9px 6px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}
  .pl-mtabs input:checked+label{background:var(--brand);color:var(--on-brand)}
  .pl-mtabs input:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px}

  body:has(#pl-mtab-roteiro:checked) .pl-map,
  body:has(#pl-mtab-roteiro:checked) .book,
  body:has(#pl-mtab-mapa:checked) .tray,
  body:has(#pl-mtab-mapa:checked) .cal-wrap,
  body:has(#pl-mtab-mapa:checked) .book,
  body:has(#pl-mtab-reservas:checked) .tray,
  body:has(#pl-mtab-reservas:checked) .cal-wrap,
  body:has(#pl-mtab-reservas:checked) .pl-map{display:none}
}

/* lista de atividades */
.tray{position:sticky;top:84px;max-height:calc(100vh - 100px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:14px;transition:background .15s,outline-color .15s;outline:2px dashed transparent;outline-offset:-2px}
.tray h3{font-size:15px}
.tray-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.tray-drop{display:none;text-align:center;font-size:13px;font-weight:600;color:var(--accent-ink);padding:14px;border:2px dashed var(--accent);border-radius:var(--r)}
body.is-dragging .tray-drop{display:block}
.tray.drop-on{outline-color:var(--accent);background:var(--warn-bg)}
@media (max-width:980px){
  .tray{position:static;max-height:none}
  .tray-list{flex-direction:row;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity}
  .tray-list .tchip{flex:0 0 230px;scroll-snap-align:start}
}
.tchip{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:border-color .12s}
.tchip:hover{border-color:var(--ink)}
.tchip.own{border-style:dashed;background:var(--surface)}
.tchip.dragging{opacity:.35}
.tchip .grip{width:10px;flex:none;margin:8px 0 8px 6px;background-image:radial-gradient(var(--muted) 1.1px,transparent 1.3px);background-size:5px 5px;opacity:.55}
.tchip-main{flex:1;min-width:0;text-align:left;background:none;border:0;padding:8px 8px 8px 6px;cursor:inherit;display:flex;flex-direction:column;gap:1px;color:inherit}
.tchip-main b{font-weight:600;font-size:13.5px;line-height:1.3}
.tchip-main small{font-size:11.5px;color:var(--muted)}
.tchip-add{flex:none;border:0;border-left:1px solid var(--line);background:none;width:40px;font-size:19px;cursor:pointer;color:var(--petrol);border-radius:0 var(--r) var(--r) 0}
.tchip-add:hover{background:var(--soft)}
.addact{display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px solid var(--line)}
.addact input,.addact select{width:100%}
.addact-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.addact-row label:last-child{grid-column:1/-1}
.addact .btn{align-self:flex-start}
.other-city{border-top:1px solid var(--line);padding-top:12px;font-size:13px}
.other-city summary{cursor:pointer;font-weight:600;color:var(--petrol)}
.other-city .customf{grid-template-columns:1fr}

/* calendário */
.cal-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.cal-tools{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);font-size:12.5px}
.cal-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.cal{display:grid;grid-template-columns:46px repeat(var(--n),minmax(150px,1fr));min-width:calc(46px + var(--n) * 150px)}
.cal-corner{border-bottom:1px solid var(--line);background:var(--surface)}
.cal-dh{position:relative;padding:10px 30px 8px 10px;border-bottom:1px solid var(--line);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:1px;box-shadow:inset 0 3px 0 var(--c);background:var(--surface)}
.cal-dh b{font-family:var(--f-display);font-weight:500;font-size:17px;color:var(--c);line-height:1.1}
.cal-dh > span{font-size:12px;color:var(--ink)}
.cal-dh small{font-size:11px;color:var(--muted)}
.dh-x{position:absolute;top:6px;right:6px;width:24px;height:24px;border:1px solid transparent;border-radius:var(--r);background:none;color:var(--muted);cursor:pointer;font-size:15px;line-height:1}
.dh-x:hover{border-color:var(--line);color:var(--ink)}
.cal-times{position:relative;height:var(--h)}
.cal-times span{position:absolute;right:6px;transform:translateY(-50%);font-family:var(--f-mono);font-size:10.5px;color:var(--muted);background:var(--surface);padding:0 2px}
.cal-times span:first-child{transform:none}
.cal-col{position:relative;height:var(--h);border-left:1px solid var(--line);
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--line) 50%,transparent) 1px,transparent 1px);
  background-size:100% var(--hh),100% calc(var(--hh) / 2)}
.cal-free{position:absolute;top:calc(var(--hh) * 2);left:0;right:0;text-align:center;font-size:12px;color:var(--muted);pointer-events:none}
.ev{position:absolute;border-radius:5px;background:var(--c);color:#fff;overflow:hidden;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;box-shadow:0 1px 2px rgba(2,48,71,.25);z-index:2;transition:box-shadow .12s}
.ev:hover{box-shadow:0 3px 10px rgba(2,48,71,.3);z-index:3}
.ev-b{display:flex;flex-direction:column;gap:1px;padding:5px 8px 10px;width:100%;height:100%;box-sizing:border-box;background:none;border:0;color:inherit;text-align:left;cursor:inherit;font:inherit;overflow:hidden}
.ev-b b{font-size:12.5px;font-weight:600;line-height:1.25}
.ev-b .ev-t{font-size:11px;opacity:.92;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev-b em{font-style:normal;font-size:10.5px;font-weight:600;background:var(--gold);color:#1D1406;border-radius:3px;padding:1px 5px;margin-top:3px;align-self:flex-start}
.ev-b:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.ev.tiny .ev-b{flex-direction:row;gap:6px;padding:2px 7px;align-items:center}
.ev.tiny .ev-b b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11.5px}
.ev.own{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.13) 0 6px,transparent 6px 12px)}
.ev.late{box-shadow:inset 0 0 0 2px var(--gold),0 1px 2px rgba(2,48,71,.25)}
.ev.dragging{opacity:.3}
.ev.resizing{z-index:5;box-shadow:0 0 0 2px var(--accent)}
.ev-rs{position:absolute;left:0;right:0;bottom:0;height:10px;cursor:ns-resize;touch-action:none}
.ev-rs::after{content:"";position:absolute;left:50%;bottom:3px;width:22px;height:3px;margin-left:-11px;border-radius:2px;background:rgba(255,255,255,.65)}
.ev-leg{position:absolute;left:6px;right:6px;display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.02em;color:var(--muted);pointer-events:none;z-index:1}
.ev-prev{position:absolute;left:3px;right:3px;border:2px dashed var(--accent);border-radius:5px;background:color-mix(in srgb,var(--accent) 14%,transparent);pointer-events:none;font-size:11px;font-weight:600;color:var(--accent-ink);padding:3px 6px;z-index:6}
.drag-ghost{position:fixed!important;z-index:200;pointer-events:none;opacity:.94;box-shadow:0 14px 34px rgba(2,48,71,.32);margin:0}
.tchip.drag-ghost{background:var(--surface)}
body.is-dragging,body.is-dragging *{cursor:grabbing!important;user-select:none!important}
body.is-resizing,body.is-resizing *{cursor:ns-resize!important;user-select:none!important}

/* mapa do planejador */
.pl-map-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.pl-map-h h3{font-family:var(--f-display);font-weight:500;font-size:22px}
.pl-map .mapbox{position:static}
.pl-map .chip .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:1px}
@media (max-width:760px){.pl-map-h .chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}}

/* editor de atividade */
.modal .box.ed{max-width:520px}
.ed-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:12px}
.ed input,.ed select{width:100%}
.ed-foot{display:flex;justify-content:space-between;gap:10px;margin-top:18px;flex-wrap:wrap}
@media (max-width:520px){.ed-row{grid-template-columns:1fr 1fr}.ed-row label:first-child{grid-column:1/-1}}
.pl-seo{padding-block:40px 10px;border-top:1px solid var(--line);margin-top:40px}
.pl-seo h2{font-size:clamp(1.5rem,2.6vw,2rem)}
.pl-seo .dest-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.pl-seo .dest-links a{text-decoration:none}
.pl-seo .faq{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}
.pl-seo .faq h3{font-size:15px;margin-bottom:6px}
.pl-seo .faq p{font-size:14px;color:var(--muted)}
@media (max-width:860px){.pl-seo .faq{grid-template-columns:1fr}}
/* selo Lets Gouw */
.lg-seal{display:inline-flex;align-items:center;gap:5px;background:var(--brand);color:#fff;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.04em;padding:3px 8px 3px 5px;border-radius:999px;white-space:nowrap;line-height:1.2;vertical-align:middle}
.lg-seal img{width:14px;height:14px;display:block}
.lg-seal.sm{font-size:9.5px;padding:2px 7px 2px 4px;margin:3px 0 2px;align-self:flex-start}
.lg-seal.sm img{width:12px;height:12px}
.seal-legend{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:8px}
.seal-legend .lg-seal{margin:0}
.seal-note{font-size:14px;border-left:2px solid var(--brand);padding-left:10px;margin-top:8px;color:var(--ink)}
.ev-lg{display:inline-block;width:13px;height:13px;vertical-align:-2px;margin-right:4px;background:var(--brand);border-radius:50%;padding:1px}
.pin-wrap{position:relative;width:28px;height:28px}
.pin-lg{position:absolute;top:-8px;right:-9px;width:18px;height:18px;border-radius:50%;background:var(--brand);border:2px solid #fff;display:grid;place-items:center;box-shadow:0 1px 3px rgba(2,48,71,.35)}
.pin-lg img{width:12px;height:12px;display:block}
.pin-lg.inline{position:static;display:inline-grid;vertical-align:-4px;width:16px;height:16px;border-width:1px}
.pin-lg.inline img{width:10px;height:10px}
.load{font-weight:600}
.load.heavy{color:var(--warn)}
.load.light{color:var(--ok)}

/* ---------- selo em estrela ---------- */
.lg-seal svg{width:14px;height:14px;display:block;flex:none}
.lg-seal.sm svg{width:12px;height:12px}
.ev-lg{color:#fff;display:inline-block;width:13px;height:13px;vertical-align:-2px;margin-right:4px;background:var(--brand);border-radius:50%;padding:1px}
.pin-lg svg{display:block;width:11px;height:11px;color:#fff}
.pin-lg.inline svg{width:10px;height:10px}
.seal-explain{display:flex;gap:14px;align-items:flex-start;margin-top:18px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--r);max-width:62ch}
.seal-explain .lg-seal{flex:none;margin-top:2px}
.seal-explain p{font-size:14px;color:var(--muted)}
.seal-explain p b{color:var(--ink)}

/* ---------- dica de dias, faixa de custo, reservas ---------- */
.pl-hint{margin-top:10px;font-size:13.5px;color:var(--muted);max-width:90ch}
.example-notice{margin-top:14px;padding:12px 16px;background:var(--warn-bg);border:1px solid var(--accent);border-radius:var(--r);font-size:13.5px;max-width:70ch}
.pl-hint b{color:var(--ink)}
.cost-band{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:18px;align-items:center;margin:14px 0 6px;padding:16px 22px;background:var(--brand);color:#fff;border-radius:var(--r);border-left:6px solid var(--accent);text-decoration:none;box-shadow:0 6px 18px rgba(2,48,71,.18)}
.cost-band:hover{filter:brightness(1.12)}
.cb-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);color:var(--gold)}
.cb-main{display:grid;gap:2px;min-width:0}
.cb-main b{font-family:var(--f-display);font-weight:500;font-size:22px;line-height:1.1}
.cb-main span{font-size:13.5px;color:#C9DCE6;max-width:58ch}
.cb-num{display:grid;gap:0;text-align:right;white-space:nowrap}
.cb-num b{font-family:var(--f-display);font-weight:500;font-size:26px;line-height:1.1}
.cb-num small{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#9FC3D4}
.cb-cta{background:var(--accent);color:#1D1406;font-weight:600;font-size:14px;padding:11px 16px;border-radius:var(--r);white-space:nowrap}
.cb-cta i{font-style:normal;margin-left:4px}
@media (max-width:860px){.cost-band{grid-template-columns:auto minmax(0,1fr);padding:14px 16px}.cb-num{grid-column:1/-1;text-align:left}.cb-cta{grid-column:1/-1;text-align:center}}
.map-tools{display:flex;justify-content:flex-end;padding:8px 12px 0}
.map-tools .f.inline{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}
.map-tools select{padding:5px 8px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);font-size:13px}
.leg-lbl{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;background:#fff;color:var(--ink);border:2px solid var(--c,var(--brand));border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600;line-height:1.5;box-shadow:0 1px 3px rgba(2,48,71,.25);pointer-events:none}
.book{margin-top:26px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.book-h{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:end}
.book-h h2{font-size:clamp(1.4rem,2.4vw,1.9rem);margin-top:6px}
.book-h .muted{font-size:13px}
.book-list{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
.book-list li{display:flex;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.bk-day{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--c,var(--brand));padding:3px 8px;border-radius:999px;white-space:nowrap}
.bk-n{display:grid;min-width:0;flex:1}
.bk-n b{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bk-n small{font-size:12px;color:var(--muted)}
@media (max-width:860px){.book-h,.book-list{grid-template-columns:1fr}}

/* ---------- chamada para o Instagram ---------- */
.ig-cta{margin-top:40px;padding:26px;border-radius:var(--r);background:linear-gradient(135deg,var(--brand),#0A4A68);color:#fff;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:22px;align-items:center}
.ig-cta h2{font-size:clamp(1.5rem,2.8vw,2.1rem);color:#fff}
.ig-cta p{color:#C9DCE6;font-size:14.5px;margin-top:8px;max-width:54ch}
.ig-cta .ig-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.ig-cta .btn.ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.ig-cta .btn.ghost:hover{border-color:#fff}
.ig-cta small{font-size:12px;color:#9FC3D4}
@media (max-width:860px){.ig-cta{grid-template-columns:1fr}}
.pl-seo .faq.four{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:860px){.pl-seo .faq.four{grid-template-columns:1fr}}
.rt-days{display:grid;gap:14px;margin-top:18px}
.rt-day{padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.rt-day h3{font-family:var(--f-display);font-weight:500;font-size:20px}
.rt-day ol{margin:10px 0 0;padding-left:18px;display:grid;gap:6px}
.rt-day li small{color:var(--muted)}
.rt-list{columns:2;column-gap:28px;margin:12px 0 0;padding-left:18px}
.rt-list li{break-inside:avoid;margin-bottom:6px}
@media (max-width:760px){.rt-list{columns:1}}

/* páginas de roteiro */
.crumbs{font-size:13px;color:var(--muted);margin-top:22px;display:flex;flex-wrap:wrap;gap:6px}
.crumbs a{color:var(--brand)}
.rt{padding-bottom:40px}
.rt h2{margin-top:36px}
.rt .lede{max-width:70ch;margin-top:12px}
.rt-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.rt-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:22px 0 0}
.rt-facts>div{background:var(--card,#fff);border:1px solid var(--line,#e3e7ea);border-radius:12px;padding:12px 14px}
.rt-facts dt{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.rt-facts dd{margin:4px 0 0;font-weight:600;font-size:14px}
.faq-list{display:grid;gap:14px;margin-top:14px;max-width:72ch}
.faq-list h3{font-size:16px}
.faq-list p{color:var(--muted);margin-top:4px;font-size:14.5px}
@media (max-width:640px){.rt-list{columns:1}}

/* conta */
.acct-line{font-size:13px;color:var(--muted);margin-top:6px}
.acct-line.ok{color:var(--ok,#1c7a4d)}
.linklike{background:none;border:0;padding:0;color:var(--brand);text-decoration:underline;cursor:pointer;font:inherit}
.lgacct .ac-h{font-family:var(--f-display);font-weight:500;font-size:22px}
.lgacct .ck{display:flex;gap:10px;align-items:flex-start;margin-top:12px;font-size:13.5px;line-height:1.4}
.lgacct .ck input{margin-top:3px;flex:none}
.lgacct .ac-err{background:#fdecea;color:#8a1f17;border-radius:8px;padding:8px 10px;font-size:13px;margin-bottom:10px}
.lgacct .ac-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.lgacct .ac-list li{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.lgacct .ac-list small{display:block;color:var(--muted);font-size:12px}
.lgacct .ac-b{display:flex;gap:6px;flex:none}
.modal .box.lgacct{max-height:90vh;overflow:auto}

/* exportar roteiro em PDF (impressão A4) */
#print-root{display:none}
@media print{
  @page{size:A4;margin:12mm 12mm 16mm}
  html,body{background:#fff!important}
  body::before{display:none!important}
  body>*:not(#print-root){display:none!important}
  #print-root{display:block;-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#023047;font-family:var(--f-body);font-size:10.5pt;line-height:1.45}
  .pd *{box-sizing:border-box}
  .pd-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8mm}
  .pd-top span{font-family:var(--f-mono);font-size:8.5pt;letter-spacing:.08em;color:#4D6D7D}
  .pd-logo{height:14mm;width:auto}
  .pd-hero{height:62mm;border-radius:6mm;background-size:cover;background-position:center;background-color:#023047;display:flex;flex-direction:column;justify-content:flex-end;padding:8mm;color:#fff}
  .pd-hero.noimg{background:linear-gradient(135deg,#023047,#106480 60%,#219EBC)}
  .pd-eb{font-family:var(--f-mono);font-size:8.5pt;letter-spacing:.14em;text-transform:uppercase;color:#8ECAE6}
  .pd-hero-in h1{font-family:var(--f-display);font-weight:400;font-size:26pt;line-height:1.1;margin:2mm 0 1mm;color:#fff}
  .pd-sub{font-size:12pt;color:#E9F2F6}
  .pd-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:3mm;margin:6mm 0 7mm}
  .pd-facts>div{background:#E9F2F6;border-radius:4mm;padding:3.5mm 4mm}
  .pd-facts small{display:block;font-family:var(--f-mono);font-size:7pt;letter-spacing:.1em;text-transform:uppercase;color:#4D6D7D}
  .pd-facts b{display:block;font-size:11.5pt;margin-top:1mm}
  .pd-facts em{display:block;font-style:normal;font-size:8pt;color:#4D6D7D}
  .pd-day{margin:0 0 6mm}
  .pd-day>header{display:flex;align-items:baseline;gap:3mm;background:var(--c);color:#fff;border-radius:4mm;padding:2.6mm 4mm;margin-bottom:3mm;break-after:avoid}
  .pd-dn{font-family:var(--f-display);font-size:14pt}
  .pd-dd{font-size:10pt;opacity:.95;flex:1}
  .pd-ds{font-family:var(--f-mono);font-size:8pt;opacity:.9}
  .pd-item{display:grid;grid-template-columns:14mm 5mm 1fr;gap:0 2mm;break-inside:avoid;position:relative;z-index:1}
  .pd-t{text-align:right;padding-top:.6mm}
  .pd-t b{display:block;font-family:var(--f-mono);font-weight:500;font-size:9.5pt}
  .pd-t small{font-family:var(--f-mono);font-size:7.5pt;color:#4D6D7D}
  .pd-dot{position:relative}
  .pd-dot::before{content:"";position:absolute;left:1.2mm;top:1.6mm;width:2.6mm;height:2.6mm;border-radius:50%;background:var(--c);box-shadow:0 0 0 1mm #fff}
  .pd-dot::after{content:"";position:absolute;left:2.4mm;top:5mm;bottom:-3mm;width:.35mm;background:#DCD6C8}
  .pd-b{padding-bottom:2.2mm}
  .pd-b h4{font-size:11pt;font-weight:700;margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:2mm}
  .pd-seal{display:inline-flex;align-items:center;gap:1mm;background:#023047;color:#fff;border-radius:99px;padding:.4mm 2.2mm;font-size:6.8pt;font-weight:600;letter-spacing:.02em}
  .pd-seal svg{color:#FFB703}
  .pd-m{font-size:8.8pt;color:#4D6D7D;margin:.4mm 0 0}
  .pd-n{font-size:8.6pt;color:#4D6D7D;margin:.8mm 0 0;font-style:italic}
  .pd-leg{display:grid;grid-template-columns:14mm 5mm 1fr;gap:0 2mm;break-inside:avoid;font-size:7.8pt;color:#4D6D7D;margin:2.2mm 0 2.4mm;position:relative;z-index:0}
  .pd-leg span{grid-column:3;background:#F4F1EA;border-radius:99px;padding:.3mm 2.4mm;justify-self:start}
  .pd-free{font-size:9.5pt;color:#4D6D7D;padding:0 2mm}
  .pd-tray ul{margin:0;padding-left:6mm}
  .pd-tray li{margin:.8mm 0}
  .pd-tray small{color:#4D6D7D}
  .pd-foot{margin-top:8mm;padding-top:5mm;border-top:.4mm solid #DCD6C8;font-size:8.3pt;color:#4D6D7D;break-inside:avoid}
  .pd-foot p{margin:1mm 0}
  .pd-hand{font-family:var(--f-hand);font-size:20pt;color:#B35400;line-height:1.1}
}

@media print{
  .pd-day>header{color:var(--fg,#fff)!important}
  .pd-info,.pd-cost,.pd-book,.pd-check,.pd-notes{break-inside:avoid;margin:0 0 6mm}
  .pd h3{font-family:var(--f-display);font-weight:400;font-size:13pt;color:#023047;margin:0 0 2.5mm}
  .pd-info dl{display:grid;grid-template-columns:1fr 1fr;gap:2.5mm;margin:0}
  .pd-info dl>div{background:#F4F1EA;border-radius:3.5mm;padding:2.5mm 3.5mm}
  .pd-info dt{font-family:var(--f-mono);font-size:7pt;letter-spacing:.1em;text-transform:uppercase;color:#4D6D7D}
  .pd-info dd{margin:.6mm 0 0;font-size:9.8pt;font-weight:600}
  .pd-cost{background:#E9F2F6;border-radius:4mm;padding:4.5mm 5mm}
  .pd-cr{display:grid;grid-template-columns:30mm 1fr 42mm;align-items:center;gap:3mm;font-size:9.5pt;margin:1.4mm 0}
  .pd-cr i{display:block;height:2.6mm;background:#fff;border-radius:99px;overflow:hidden}
  .pd-cr u{display:block;height:100%;background:#219EBC;border-radius:99px}
  .pd-cr b{text-align:right;font-weight:600}
  .pd-cr small{font-weight:400;color:#4D6D7D;font-size:7.8pt}
  .pd-ct{display:flex;justify-content:space-between;border-top:.35mm solid #8ECAE6;margin-top:3mm;padding-top:2.5mm;font-size:11pt}
  .pd-ct b{font-family:var(--f-display);font-weight:400;font-size:14pt;color:#126782}
  .pd-small{font-size:7.8pt;color:#4D6D7D;margin:2mm 0 0}
  .pd-book ul,.pd-check ul{list-style:none;margin:0;padding:0}
  .pd-book li{display:grid;grid-template-columns:14mm 1fr auto;gap:3mm;align-items:baseline;padding:1.6mm 0;border-bottom:.3mm solid #DCD6C8;font-size:9.5pt}
  .pd-bd{font-family:var(--f-mono);font-size:7.5pt;color:#126782}
  .pd-book a{color:#126782;font-weight:600;font-size:8.5pt;text-decoration:none;border-bottom:.3mm solid #8ECAE6}
  .pd-check li{padding:1.1mm 0 1.1mm 7mm;position:relative;font-size:9.5pt}
  .pd-check li::before{content:"";position:absolute;left:0;top:1.9mm;width:3.6mm;height:3.6mm;border:.4mm solid #126782;border-radius:1mm}
  .pd-notes i{display:block;height:7.5mm;border-bottom:.3mm dashed #B8C4CB}
}
/* home: onde já fomos (compacto) e Instagram */
.feat.compact{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px 14px}
.feat.compact .card{gap:8px}
.feat.compact .poster{aspect-ratio:1/1}
.feat.compact h3{font-size:1.05rem}
.feat.compact .tl{display:none}
.feat.compact .eyebrow{font-size:10px}
.ig-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.ig-it{position:relative;display:block;aspect-ratio:1/1;border-radius:var(--r);overflow:hidden;background:var(--soft);text-decoration:none}
.ig-it img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.ig-it:hover img,.ig-it:focus-visible img{transform:scale(1.06)}
.ig-it.sk{background:linear-gradient(100deg,var(--soft) 30%,#fff 50%,var(--soft) 70%);background-size:200% 100%;animation:igsk 1.4s linear infinite}
@keyframes igsk{to{background-position:-200% 0}}
.ig-ic{position:absolute;top:8px;right:8px;color:#fff;font-size:13px;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.ig-cap{position:absolute;inset:auto 0 0;padding:26px 10px 9px;font-size:12px;line-height:1.3;color:#fff;background:linear-gradient(transparent,rgba(2,48,71,.82));opacity:0;transform:translateY(6px);transition:.25s;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ig-it:hover .ig-cap,.ig-it:focus-visible .ig-cap{opacity:1;transform:none}
.ig-cta-card{grid-column:1/-1;display:flex;flex-direction:column;gap:4px;padding:26px;border-radius:var(--r);background:var(--soft);text-decoration:none;color:var(--ink)}
.ig-cta-card b{font-family:var(--f-display);font-weight:500;font-size:1.3rem}
.ig-cta-card span{color:var(--muted)}
@media (max-width:1000px){.feat.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.ig-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.feat.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.ig-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ig-cap{opacity:1;transform:none}}

/* home: bloco do planejador mais compacto + mapa real de exemplo */
.pprev-wrap .sec{padding-block:34px}
.pprev{gap:34px}
.pprev h2{font-size:clamp(1.6rem,3vw,2.2rem)}
.pprev p.lede{margin-top:10px;font-size:14.5px}
.pprev ul{margin-top:12px;gap:6px}
.pprev ul li{font-size:13.5px}
.pcard-h{padding:12px 18px}
.hp-days{display:flex;gap:6px;padding:10px 18px 0}
.hp-d{border:1px solid var(--line);background:#fff;border-radius:99px;padding:3px 12px;font-size:12px;cursor:pointer;color:var(--ink)}
.hp-d[aria-pressed="true"]{background:var(--c);border-color:var(--c);color:#fff}
.pcard-map{padding:10px 18px 4px}
.hp-map{height:170px;border-radius:10px;overflow:hidden;background:var(--soft);border:1px solid var(--line)}
.pcard-stops{padding:2px 18px 14px;display:block;min-height:0}
.pcard-stops .pstop{padding:8px 0;border-top:0}
.pcard-stops .pstop b{font-size:13.5px}
.pcard-stops .pstop span{font-size:12px}
.pleg{margin:0 0 0 12px;padding-left:25px;border-left:2px dotted var(--line);font-size:11px;color:var(--muted);line-height:1.8}
.pleg.more{border-left:0;padding-left:0;margin-left:38px;font-size:12px}
.pcard-stops .lg-seal{vertical-align:middle}

/* página Milhas e cartões */
.mi-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:40px;align-items:center;padding-block:44px 20px}
.mi-hero h1{margin-top:10px}
.mi-hero .lede{margin-top:14px;max-width:56ch}
.mi-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.mi-by{font-size:13px;margin-top:14px}
.mi-book{background:var(--brand);color:#fff;border-radius:14px;padding:26px;box-shadow:0 24px 50px -24px rgba(2,48,71,.55)}
.mi-book h2{font-family:var(--f-display);font-weight:400;font-size:1.7rem;line-height:1.15;margin:12px 0 8px;color:#fff}
.mi-book p{color:#cfe6f0;font-size:14.5px;margin-bottom:16px}
.mi-sec{padding-block:34px}
.mi-sec h2.display{margin-top:6px;font-size:clamp(1.6rem,3vw,2.2rem)}
.mi-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.mi-cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.mi-cards article{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.mi-cards h3{font-family:var(--f-display);font-weight:500;font-size:1.25rem;margin:8px 0 6px}
.mi-cards p{color:var(--muted);font-size:14.5px}
.mi-cards .go{display:inline-block;margin-top:12px;color:var(--brand);font-weight:600;text-decoration:none}
.mi-n{display:inline-flex;width:28px;height:28px;border-radius:50%;background:var(--soft);color:var(--petrol);align-items:center;justify-content:center;font-family:var(--f-mono);font-size:13px}
.mi-errors{list-style:none;counter-reset:e;margin:20px 0 0;padding:0;display:grid;gap:10px}
.mi-errors li{counter-increment:e;display:grid;grid-template-columns:36px 1fr;gap:2px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.mi-errors li::before{content:counter(e);grid-row:span 2;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.mi-errors b{font-weight:600}
.mi-errors span{color:var(--muted);font-size:14.5px}
.mi-more{margin-top:14px;font-size:14.5px}
.mi-more a{color:var(--brand);font-weight:600}
.mi-myths{display:grid;gap:10px;margin-top:20px;max-width:76ch}
.mi-myths details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:0 16px}
.mi-myths summary{cursor:pointer;padding:14px 0;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}
.mi-myths summary::after{content:"+";color:var(--accent-ink);font-size:20px;line-height:1}
.mi-myths details[open] summary::after{content:"\2212"}
.mi-myths p{color:var(--muted);padding:0 0 14px;font-size:14.5px}
.mi-gloss{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;margin:20px 0 0}
.mi-gloss>div{border-top:1px solid var(--line);padding-top:10px}
.mi-gloss dt{font-weight:600}
.mi-gloss dd{margin:2px 0 0;color:var(--muted);font-size:14.5px}
.mi-band{background:var(--brand);color:#fff;border-radius:14px;padding:30px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:28px;align-items:center}
.mi-band .eyebrow{color:#8ECAE6}
.mi-band h2{color:#fff}
.mi-band ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.mi-band li{display:flex;gap:9px;color:#dceaf0;font-size:14.5px}
.mi-band li::before{content:"✓";color:var(--accent);font-weight:700}
.mi-band-cta p{color:#cfe6f0;margin-bottom:14px}
.mi-faq{display:grid;gap:16px;margin-top:20px;max-width:76ch}
.mi-faq h3{font-size:16px}
.mi-faq p{color:var(--muted);margin-top:4px;font-size:14.5px}
.mi-note{font-size:12.5px;margin-top:26px;max-width:76ch}
@media (max-width:860px){.mi-hero,.mi-band{grid-template-columns:1fr}.mi-cards,.mi-cards.two,.mi-gloss{grid-template-columns:1fr}}
.hp-star{display:inline-flex;vertical-align:-1px;color:#FFB703;background:var(--brand);border-radius:99px;padding:2px 3px}
.mi-book .tag{background:#FB8500;color:#023047;border:0}

/* ===== Blog Milhas ===== */
.bl-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:center;padding-top:36px;padding-bottom:18px}
.bl-hero .lede{max-width:56ch;margin:10px 0 8px}
.bl-upd{font-size:12.5px}
.bl-sec{padding-top:28px;padding-bottom:8px}
.bl-list{display:grid;gap:14px;margin-top:16px}
.bl-item{display:block;background:#fff;border:1px solid rgba(2,48,71,.12);border-radius:14px;padding:20px 22px;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
.bl-item:hover{transform:translateY(-2px);box-shadow:0 14px 30px -18px rgba(2,48,71,.45)}
.bl-item h2{font-family:var(--f-display);font-weight:400;font-size:1.35rem;line-height:1.2;margin:8px 0 6px;color:var(--brand)}
.bl-item p{color:#3d5560;font-size:15px;margin:0}
.bl-go{display:inline-block;margin-top:10px;font-weight:600;color:var(--accent);font-size:14px}
.post-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;color:#5b7480;margin:0}
.bl-tag{font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:99px;font-weight:500}
.bl-tag.n{background:#FFB703;color:#023047}
.bl-tag.b{background:#8ECAE6;color:#023047}
.post{max-width:720px;padding-top:28px;padding-bottom:40px}
.post .crumbs{font-size:13px;margin-bottom:18px;color:#5b7480}
.post h1{font-size:clamp(1.9rem,4.6vw,2.7rem);line-height:1.12;margin:12px 0 16px}
.post-lead{font-size:1.15rem;line-height:1.55;color:#24404d;margin-bottom:22px}
.post-body{font-size:1.04rem;line-height:1.72;color:#1f3540}
.post-body p{margin:0 0 1.1em}
.post-body h2{font-family:var(--f-display);font-weight:400;font-size:1.5rem;line-height:1.2;margin:1.7em 0 .5em;color:var(--brand)}
.post-body a{color:var(--petrol);text-decoration:underline;text-underline-offset:3px}
.post-cta{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--brand);color:#fff;border-radius:14px;padding:22px 24px;margin:34px 0}
.post-cta p{color:#cfe6f0;margin:4px 0 0;font-size:14.5px;max-width:46ch}
.post-src{border-top:1px solid rgba(2,48,71,.14);padding-top:18px;margin-top:10px}
.post-src h2,.post-more h2{font-size:1.05rem;font-family:var(--f-body);font-weight:700;margin:0 0 8px;color:var(--brand)}
.post-src ul{padding-left:18px;margin:0 0 10px;font-size:13.5px;line-height:1.6}
.post-src .muted{font-size:12.5px}
.post-more{margin-top:30px}
.bl-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bl-card{display:flex;flex-direction:column;gap:8px;align-items:flex-start;background:#fff;border:1px solid rgba(2,48,71,.12);border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--brand)}
.bl-card b{font-weight:600;line-height:1.3}
@media(max-width:760px){.bl-hero{grid-template-columns:1fr;gap:20px}.bl-grid.two{grid-template-columns:1fr}.post-cta{padding:18px}}

/* ===== Ajustes: home, planejador e rodapé ===== */
/* exemplo do planejador na home: menor, só para ilustrar */
.pprev-wrap .sec{padding-block:22px}
.pprev{grid-template-columns:minmax(0,1fr) minmax(0,.62fr);gap:28px}
.pprev h2{font-size:clamp(1.45rem,2.6vw,1.9rem)}
.pprev ul{margin-top:10px}
.pcard{max-width:330px;justify-self:end;width:100%;box-shadow:0 18px 36px -22px rgba(1,15,25,.55)}
.pcard-h{padding:9px 14px}
.pcard-h h3{font-size:1.05rem}
.hp-days{padding:8px 14px 0}
.pcard-map{padding:8px 14px 2px}
.hp-map{height:104px}
.pcard-stops{padding:0 14px 8px}
.pcard-stops .pstop{padding:6px 0}
.pcard-stops .pstop b{font-size:13px}
@media(max-width:860px){.pprev{grid-template-columns:1fr}.pcard{justify-self:start;max-width:none}}
/* destinos em fileira rolável */
.mosaic-ctl{display:flex;gap:8px;align-items:center}
.rail-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--brand);font-size:20px;line-height:1;cursor:pointer;display:grid;place-items:center}
.rail-btn:hover{border-color:var(--brand)}
.feat.compact.rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:10px;margin-inline:0;padding-inline:0;scrollbar-width:thin}
.feat.compact.rail .card{flex:0 0 150px;scroll-snap-align:start}
.feat.compact.rail::-webkit-scrollbar{height:6px}
.feat.compact.rail::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}
@media(max-width:560px){.feat.compact.rail{display:flex}.feat.compact.rail .card{flex-basis:132px}.mosaic-ctl .rail-btn{display:none}}
/* botões leves do planejador */
.btn.soft-sky{background:#DDF0F8;color:#023047;border-color:#8ECAE6}
.btn.soft-sky:hover{background:#cbe8f4;filter:none}
.btn.soft-sun{background:#FFE8CC;color:#7A3B00;border-color:#FFC27A}
.btn.soft-sun:hover{background:#ffdcb3;filter:none}
/* busca de cidade */
.pl-find{margin:14px 0 10px}
.pl-find .f>span{font-size:13px;color:var(--muted)}
.pl-find .f>span b{color:var(--ink)}
.city-wrap{position:relative;max-width:560px;margin-top:6px}
.city-wrap input{width:100%;min-height:46px;font-size:15.5px;padding-left:14px;border-color:var(--sky);background:#fff}
.city-sug{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 18px 36px -18px rgba(2,48,71,.45)}
.city-opt{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;padding:10px 14px;border:0;border-top:1px solid var(--line);background:#fff;cursor:pointer;gap:1px}
.city-opt:first-child{border-top:0}
.city-opt:hover,.city-opt:focus{background:var(--soft)}
.city-opt small{color:var(--muted);font-size:12px}
/* box de custo da viagem */
.cost-box{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:center;margin-top:26px;padding:22px 26px;background:var(--brand);color:#fff;border-radius:var(--r)}
.cost-box .cbx-ico{width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center;color:var(--gold)}
.cost-box .eyebrow{color:#8ECAE6}
.cost-box h2{font-size:1.6rem;color:#fff;margin:4px 0 6px}
.cost-box p:not(.eyebrow){color:#cfe6f0;font-size:14.5px;max-width:62ch}
.cost-box .btn{background:var(--accent);color:#1D1406;white-space:nowrap}
@media(max-width:760px){.cost-box{grid-template-columns:1fr;padding:18px}.cost-box .cbx-ico{display:none}.cost-box .btn{justify-self:start}}
/* rodapé enxuto */
footer.foot{padding-block:26px 34px}
footer.foot .wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap;grid-template-columns:none}
footer.foot .foot-logo img{height:56px}
footer.foot .foot-txt{margin:0;font-size:12.5px;max-width:64ch;color:var(--muted)}
footer.foot .foot-txt a{color:var(--petrol);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}

/* ===== Caixas de e-mail (cadastro e login) ===== */
.lgacct .ck input[type=checkbox]{width:18px;height:18px;min-width:0;flex:none;margin-top:2px;accent-color:var(--petrol)}
.lgacct .ck span{flex:1;min-width:0}
.lgacct input[type=email]{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;min-height:42px;font-size:14px}
.lgacct input[type=email]:focus{border-color:var(--petrol);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--petrol) 18%,transparent)}
.lgacct .ac-err[hidden]{display:none}
.lgacct p{margin-bottom:0}
/* box de custo: azul-petróleo da paleta, diferente do box de segunda opinião */
.cost-box{background:linear-gradient(135deg,#126782,#219EBC)}
.cost-box .eyebrow{color:#E3F4FB}
.cost-box p:not(.eyebrow){color:#EAF7FC}
.cost-box .cbx-ico{background:rgba(255,255,255,.2);color:#FFB703}

/* cartões de exemplo na home: roteiro + custo lado a lado */
.pprev{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:34px}
.pcards{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:16px;align-items:start;justify-self:end;width:100%;max-width:640px}
.pcards .pcard{max-width:none;justify-self:stretch}
.pbud-body{padding:10px 16px 14px}
.pbud-t{font-size:12.5px;color:var(--muted);margin:0}
.pbud-total{display:flex;flex-direction:column;margin:2px 0 10px}
.pbud-total b{font-family:var(--f-display);font-weight:500;font-size:1.7rem;color:var(--brand);line-height:1.1}
.pbud-total small{font-size:12px;color:var(--muted)}
.pbud-l{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.pbud-l li{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;row-gap:3px;font-size:12.5px;align-items:baseline}
.pbud-l li i{grid-column:1/-1;grid-row:2;height:6px;border-radius:99px;background:linear-gradient(90deg,var(--c) var(--w),var(--soft) var(--w))}
.pbud-l li b{font-weight:600}
.pbud-n{font-size:11.5px;color:var(--muted);margin:10px 0 0;line-height:1.4}
@media(max-width:980px){.pprev{grid-template-columns:1fr}.pcards{justify-self:stretch;max-width:none}}
@media(max-width:560px){.pcards{grid-template-columns:1fr}}
.pprev .pbud-l{margin-top:0}
.pprev .pbud-l li{display:grid;color:var(--ink);font-size:12.5px}
.pprev .pbud-l li::before{content:none}
.pprev .pbud-l li span{color:var(--ink)}
.pprev .pbud-l li b{color:var(--brand)}
.ig-cta .ig-btn{align-self:center;justify-self:end;gap:9px;padding:13px 20px}
.ig-cta .ig-actions{align-items:flex-start}
@media(min-width:861px){.ig-cta .ig-actions{align-items:flex-end;justify-content:center}}
.book-list .btn.accent{font-weight:600}

/* e-book: capa e glossário com ícones */
.mi-cover-l{display:block;flex:none;line-height:0}
.mi-cover{width:100%;height:auto;border-radius:6px;box-shadow:0 14px 28px -12px rgba(0,0,0,.55);transition:transform .2s}
.mi-cover-l:hover .mi-cover{transform:translateY(-3px) rotate(-1deg)}
.mi-book{display:grid;grid-template-columns:132px minmax(0,1fr);gap:20px;align-items:center}
.mi-book .mi-cover-l{width:132px}
.mi-band-cta{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.mi-band-cta .mi-cover-l{width:116px}
.post-cta{flex-wrap:nowrap}
.post-cta>div{flex:1;min-width:0}
.post-cta .mi-cover-l.sm{width:74px}
.post-cta .btn{flex:none}
.mi-gloss>div{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:10px;align-items:start}
.mi-gloss .gl-ico{grid-row:1/3;color:var(--petrol);background:var(--soft);border-radius:8px;padding:4px;width:28px;height:28px;margin-top:1px}
.mi-gloss dt,.mi-gloss dd{grid-column:2}
@media(max-width:860px){.mi-band-cta{flex-direction:row;align-items:center}}
@media(max-width:560px){.mi-book{grid-template-columns:96px minmax(0,1fr);gap:14px}.mi-book .mi-cover-l{width:96px}.post-cta{flex-wrap:wrap}.post-cta .mi-cover-l.sm{width:64px}}
.mi-gloss .gl-ico{grid-row:1;margin-top:0}
.mi-gloss dt{align-self:center;min-height:28px;display:flex;align-items:center}
@media(max-width:560px){.post-cta>div{flex:1 1 calc(100% - 96px)}.post-cta .btn{flex:1 1 100%}}

/* e-book: caixas em cores que contrastam com a capa azul escura */
.mi-book{background:#DDF0F8;color:var(--brand);border:1px solid #8ECAE6;box-shadow:0 22px 44px -26px rgba(2,48,71,.45);grid-template-columns:150px minmax(0,1fr)}
.mi-book .mi-cover-l{width:150px}
.mi-book h2{color:var(--brand)}
.mi-book p{color:#2B5266}
.mi-band,.post-cta{background:linear-gradient(135deg,#126782,#1B86A6)}
.mi-band{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.mi-band-cta{flex-direction:row;align-items:center;justify-content:center;gap:22px}
.mi-band-cta .mi-cover-l{width:150px}
.post-cta .mi-cover-l.sm{width:84px}
.post-cta p{color:#E3F4FB}
@media(max-width:860px){.mi-band-cta{justify-content:flex-start}}
@media(max-width:560px){.mi-book{grid-template-columns:104px minmax(0,1fr)}.mi-book .mi-cover-l{width:104px}.mi-band-cta .mi-cover-l{width:110px}}

/* ---------- planejador com várias cidades ---------- */
.trip-pick{max-width:420px;margin:0 0 10px}
.trip-pick select{width:100%}
.cty-sum{min-height:38px;display:flex;align-items:center;font-weight:600;font-size:14px;line-height:1.25}
.stops{margin-top:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.stops > summary{cursor:pointer;list-style:none;padding:13px 16px;font-weight:600;font-size:14.5px;display:flex;align-items:center;gap:10px;color:var(--petrol)}
.stops > summary::-webkit-details-marker{display:none}
.stops > summary::before{content:"+";display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid currentColor;border-radius:50%;font-size:15px;line-height:1;flex:none}
.stops[open] > summary::before{content:"\2212"}
.stops-c{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--petrol);color:#fff;font-size:12px}
.stops-b{padding:2px 16px 16px;border-top:1px solid var(--line)}
.cty-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:0}
.cty{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-left:4px solid var(--c);border-radius:var(--r);background:var(--bg)}
.cty-n{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--c);color:#fff;font-family:var(--f-mono);font-size:13px}
.cty-t b{display:block;font-size:15px;line-height:1.25}
.cty-t small{display:block;font-size:12px;color:var(--muted);margin-top:1px}
.cty-ctl{display:flex;gap:4px}
.cty-leg{list-style:none;padding:7px 12px 7px 46px;font-size:12.5px;color:var(--muted);position:relative}
.cty-leg::before{content:"";position:absolute;left:25px;top:0;bottom:0;border-left:2px dotted var(--line)}
.cty-leg b{color:#9A5200;font-weight:600}
.cty-add{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line)}
.cty-add .f > span{font-size:13px;color:var(--muted)}
.cty-add .f > span b{color:var(--ink);display:block}
.tray-cities{margin-top:6px}
.tray-cities .chip[aria-pressed="true"]{background:var(--petrol);color:#fff;border-color:var(--petrol)}
.cal-city{font-style:normal;font-size:11.5px;font-weight:600;color:var(--ink);line-height:1.2}
.cal-dh.cty-start,.cal-col.cty-start{border-left:3px solid var(--ink)}
.ev.transfer{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.22) 0 5px,transparent 5px 10px);border:1px dashed rgba(255,255,255,.75)}
@media (max-width:760px){
  .cty{grid-template-columns:30px minmax(0,1fr) auto;row-gap:8px}
  .cty-ctl{grid-column:2 / -1}
  .cty-leg{padding-left:38px}
  .cty-leg::before{left:20px}
}
#lg-save[hidden]{display:none!important}

#lg-acct{background:#023047;color:#fff;border-color:#023047}
#lg-acct:hover{background:#0b5a78}
body{overflow-x:clip}
/* lote 18: cards do e-book no celular */
@media(max-width:860px){.mi-band{grid-template-columns:1fr;padding:24px}.mi-band-cta{flex-wrap:wrap;justify-content:flex-start}}
@media(max-width:560px){.mi-book .tag{display:inline-block}.mi-book>div{min-width:0}.mi-book .btn{white-space:normal}.mi-band-cta .btn{white-space:normal}}
/* roteiro sugerido: botão de reserva do Viator */
.rt-bk{display:inline-block;margin-left:8px;padding:2px 10px;border-radius:999px;background:#FB8500;color:#023047;font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap;vertical-align:1px}.rt-bk:hover{background:#e07800}
.rt-bk.big{margin:0;padding:12px 20px;font-size:15px}.rt-viator-all{margin-top:18px}
/* lote 19: planejador, topo só com os 3 passos e o selo */
.pl-intro{align-items:center;padding-block:26px 8px}
.pl-intro .pl-steps{font-size:17px;gap:14px}
.pl-intro .pl-steps b{font-size:13px}
.pl-intro .seal-explain{margin-top:0;max-width:none}
@media (max-width:860px){.pl-intro .pl-steps{font-size:16px}}
.ig-cta .ig-prof{display:flex;gap:14px;align-items:center;background:#fff;color:var(--ink,#023047);border-radius:14px;padding:16px;text-decoration:none;box-shadow:0 14px 30px -16px rgba(0,0,0,.5)}
.ig-cta .ig-prof img{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none;border:3px solid #FB8500}
.ig-cta .ig-prof span{display:flex;flex-direction:column;gap:2px;min-width:0}
.ig-cta .ig-prof b{font-size:16px}
.ig-cta .ig-prof small{font-size:12px;color:#5b6b73}
.ig-cta .ig-prof em{font-style:normal;font-size:13px;color:#2B5266;margin-top:4px;line-height:1.4}
.ig-cta .ig-actions{display:none}
/* rótulos do cabeçalho do planejador em negrito */
.planner .trip-pick,.planner .trip-pick>span,.planner .pl-bar label.f,.planner .pl-bar .f>span{font-weight:700;color:var(--ink,#023047)}
.planner .pl-bar .f input,.planner .pl-bar .f select,.planner .trip-pick select,.planner .pl-bar .cty-sum,.planner .pl-bar .stepper,.planner .pl-bar .num{font-weight:400}

.pl-intro .pl-title{grid-column:1/-1;margin:0 0 4px}
/* lote 19b: título em cima, passos à esquerda e selo à direita */
.pl-intro{align-items:start;row-gap:14px;padding-block:28px 12px}
.pl-intro .pl-title{grid-column:1/-1;grid-row:1;font-size:clamp(2rem,4vw,2.8rem);margin:0}
.pl-intro .pl-steps{grid-column:1;grid-row:2}
.pl-intro .seal-explain{grid-column:2;grid-row:2;align-self:start}
@media (max-width:860px){.pl-intro .pl-steps,.pl-intro .seal-explain{grid-column:1;grid-row:auto}}

/* lote 20: planejador com cidades, deslocamentos, página única */
.cal-band{display:flex;align-items:center;justify-content:center;min-height:30px;background:var(--c);color:#fff;font-size:12.5px;font-weight:700;padding:0 8px;border-left:2px solid var(--surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-tint{position:absolute;left:0;right:0;background:color-mix(in srgb,var(--tc) 10%,transparent);border-top:2px solid color-mix(in srgb,var(--tc) 40%,transparent);pointer-events:none;z-index:0}
.cal-dh{cursor:pointer}
.cal-dh.x{box-shadow:none}
.cal-dh.x::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--grad)}
.cal-dh.sel{background:color-mix(in srgb,var(--c) 12%,var(--surface))}
.cal-dh.drop-on,.cal-col.drop-city{outline:2px dashed var(--accent);outline-offset:-3px}
.cal-dh .dh-x{cursor:pointer}
.cty-chip .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:0}
.cty-chip{cursor:grab}
.tr-chips{display:flex;flex-wrap:wrap;gap:6px}
.tchip.trm{width:auto;flex:0 0 auto;border-style:dashed}
.tchip.trm .tchip-main{padding-right:2px}
.cty-grip{cursor:grab;color:var(--muted);letter-spacing:-2px;padding-right:8px;user-select:none}
.cty.dragging{opacity:.4}
.cty.drop-on{outline:2px dashed var(--accent);outline-offset:2px}
.pl-sec{margin-top:40px;padding-top:8px}
.pl-sec .eyebrow{margin-bottom:2px}
.gastos-wrap,.res-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
table.gastos,table.resv{border-collapse:collapse;width:100%;font-size:13px}
.gastos th,.gastos td,.resv th,.resv td{border:1px solid var(--line);padding:4px 6px;text-align:right}
.gastos thead th{background:var(--soft);font-weight:600;text-align:right;min-width:78px}
.gastos thead th small{display:block;font-weight:400;color:var(--muted);font-size:11px}
.gastos tbody th{text-align:left;background:var(--soft);font-weight:600;position:sticky;left:0;min-width:96px}
.gastos input{width:100%;min-width:62px;border:0;background:transparent;text-align:right;padding:4px;font:inherit;color:inherit}
.gastos input:focus{outline:2px solid var(--accent);background:color-mix(in srgb,var(--gold) 25%,transparent)}
.gastos tr.tot td,.gastos tr.tot th{font-weight:700;background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.gastos-sum{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.gastos-sum div{border:1px solid var(--line);border-radius:var(--r);padding:8px 12px;min-width:110px;background:var(--surface)}
.gastos-sum span{display:block;font-size:11.5px;color:var(--muted)}.gastos-sum b{font-size:17px}
.resv th{background:var(--soft);text-align:left;font-weight:600}
.resv td{text-align:left;padding:3px}
.resv input,.resv select{width:100%;border:1px solid transparent;background:transparent;padding:6px;border-radius:6px;font:inherit;color:inherit}
.resv input:focus,.resv select:focus{border-color:var(--accent);background:var(--surface);outline:0}
/* lote 20: selo redondo só na página Guias Lets Gouw */
.guias-tit{display:flex;align-items:center;gap:18px}
.guias-tit .guias-selo{width:clamp(84px,10vw,120px);height:auto;flex:none;filter:drop-shadow(0 3px 6px rgba(2,48,71,.25))}

/* lote 20: planejador embutido na área logada */
html.embed .tabbar,html.embed .top,html.embed .pl-intro,html.embed .pl-seo,html.embed #app-foot,html.embed .ig-strip,html.embed .pl-seo+section,html.embed footer{display:none!important}
html.embed main>section.wrap:not(.pl-intro):not(.pl-seo){display:none}
html.embed body{background:var(--bg,#fff)}
html.embed .pl-head{padding-top:8px}

.gastos input.ed{font-weight:700;color:var(--brand);background:color-mix(in srgb,var(--gold) 22%,transparent)}

/* lote 20b */
.ev.transfer{background:#6f7e87;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.2) 0 5px,transparent 5px 10px);border:1px dashed rgba(255,255,255,.8)}
.ev-leg{pointer-events:none}
.ev-leg .leg-sel{pointer-events:auto;font:inherit;color:inherit;background:transparent;border:0;border-bottom:1px dotted currentColor;padding:0 2px;cursor:pointer;max-width:96px}
.city-opt b .lg-seal{margin-left:8px;vertical-align:middle}

/* lote 22: início do planejador, selo, caixas das cidades */
.lg-seal.diy{background:var(--accent);color:var(--ink)}
.city-opt{flex-direction:column;align-items:flex-start}
.city-opt .co-l{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.city-opt .co-l .lg-seal{margin:0}
.city-opt .co-l em{font-style:normal;font-size:12.5px;color:var(--muted)}
.start{padding-top:8px}
.start-find{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 10px 30px rgba(2,48,71,.07)}
.sf-row{display:grid;grid-template-columns:2fr 1fr .7fr auto;gap:12px;align-items:end}
.sf-l{display:block;font-weight:600;font-size:13.5px;margin-bottom:6px}
.sf-row input[type=search],.sf-row input[type=date],.sf-row input[type=number]{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit;background:#fff}
.sf-row .btn{white-space:nowrap}
.sf-leg{display:flex;gap:8px 10px;align-items:center;flex-wrap:wrap;margin:14px 0 0;font-size:13px;color:var(--muted)}
.sf-leg .lg-seal{margin:0}
.start-login{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#fff;border:1px dashed var(--line);border-radius:14px;padding:14px 18px;margin-top:22px;font-size:14.5px}
.start-sec{margin-top:30px}.start-sec h2{font-size:1.5rem;margin-bottom:10px}
.more-g{color:var(--brand);font-weight:600;text-decoration:none}
.dgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.start .dcard{position:relative;display:block;text-align:left;border:0;padding:0;font:inherit;cursor:pointer;color:inherit;background:var(--ink);border-radius:18px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 1px 3px rgba(2,48,71,.08);transition:transform .35s,box-shadow .35s}
.start .dcard:hover{transform:translateY(-4px);box-shadow:0 18px 34px -12px rgba(2,48,71,.35)}
.start .dcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.start .dcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,48,71,0) 35%,rgba(2,48,71,.84) 100%)}
.start .dcard .dinfo{position:absolute;left:0;right:0;bottom:0;padding:14px;z-index:1}
.start .dcard .eyebrow{color:#aee0f2;font-size:9.5px}
.start .dcard h3{font-family:var(--f-display);font-weight:400;font-size:20px;color:#fff;margin-top:3px;line-height:1.05}
.start .dcard .dinfo p:not(.eyebrow){color:#e4eef2;font-size:12.5px;line-height:1.4;margin:5px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.start .dcard .rs{position:absolute;top:10px;left:10px;z-index:2;background:#fff;color:var(--brand);border-radius:999px;padding:3px 10px 3px 8px;font-family:var(--f-mono);font-size:11px;display:inline-flex;gap:5px;align-items:center;white-space:nowrap}
.start .dcard .rs svg{width:12px;height:12px}
@media(max-width:1000px){.dgrid{grid-template-columns:repeat(3,1fr)}.sf-row{grid-template-columns:1fr 1fr}.sf-city{grid-column:1/-1}}
@media(max-width:600px){.dgrid{grid-template-columns:repeat(2,1fr)}}
/* caixas das cidades da viagem: grip, número, nome e info lado a lado */
.cty{grid-template-columns:14px 30px minmax(0,1fr) auto auto}
.cty-t{text-align:left;min-width:0}
.cty-grip{color:var(--muted);cursor:grab;line-height:1}
@media (max-width:760px){.cty{grid-template-columns:14px 30px minmax(0,1fr) auto;row-gap:8px}.cty-ctl{grid-column:2 / -1}}

/* lote 22: tabela de gastos mais clara */
.gastos-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:6px 0 10px}
.gastos-top h3{font-family:var(--f-display);font-weight:400;font-size:1.35rem}
.gastos-top p{margin:2px 0 0;font-size:13.5px}
.gastos-edit{display:flex;gap:12px;align-items:flex-start;background:#FFF4E2;border:1px solid #F5D9A8;border-left:4px solid var(--accent);border-radius:12px;padding:12px 14px;margin:0 0 14px;font-size:14px;color:var(--ink)}
.gastos-edit .pen{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff}
.gastos-wrap{border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 6px 18px -10px rgba(2,48,71,.25)}
table.gastos{border-collapse:separate;border-spacing:0;font-size:14px}
.gastos th,.gastos td{border:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:0}
.gastos thead th{background:var(--petrol,#126782);color:#fff;font-weight:600;padding:9px 10px;text-align:center;min-width:84px;border-color:rgba(255,255,255,.18)}
.gastos thead th small{display:block;font-weight:400;opacity:.8;font-size:11px}
.gastos tbody th{background:var(--soft);padding:0 12px;text-align:left;white-space:nowrap;min-width:130px;position:sticky;left:0;z-index:1}
.gastos tbody th i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:8px}
.gastos td{background:#fff;text-align:right}
.gastos td.gt{background:var(--soft);font-weight:700;padding:0 12px}
.gastos input{display:block;width:100%;min-width:72px;height:42px;border:0;background:transparent;text-align:right;padding:0 12px;font:inherit;color:var(--ink);cursor:text;border-radius:0}
.gastos td:hover input{background:#F3F9FC;box-shadow:inset 0 0 0 1.5px #9CCBE0}
.gastos input:focus{outline:0;background:#fff;box-shadow:inset 0 0 0 2px var(--accent)}
.gastos input.ed{background:#FFF1DA;font-weight:700;color:#8A4B00}
.gastos tr.tot th,.gastos tr.tot td{background:var(--ink);color:#fff;font-weight:700;padding:11px 12px;text-align:right}
.gastos tr.tot th{text-align:left}
.gastos tr:last-child th,.gastos tr:last-child td{border-bottom:0}
.gastos td:last-child,.gastos thead th:last-child{border-right:0}
/* lote 27: cards de deslocamento mais compactos (as sugestões aparecem mais cedo) */
.tr-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.tchip.trm{width:auto;min-width:0;flex:none}
.tchip.trm .grip{display:none}
.tchip.trm .tchip-main{padding:4px 0 4px 6px;min-width:0;justify-content:center}
.tchip.trm .tchip-main b{font-size:12px;line-height:1.2;white-space:nowrap;overflow:visible;letter-spacing:-.01em}
.tchip.trm .tchip-add{width:20px;font-size:15px}
/* lote 29: pesquisar voos e hospedagem */
.fbx{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0 8px}
.fb{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 18px 14px;display:flex;flex-direction:column;gap:10px}
.fb-h{display:flex;align-items:center;gap:12px}
.fb-ic{width:40px;height:40px;border-radius:12px;background:var(--soft,#EAF2F6);display:grid;place-items:center;color:var(--brand);flex:none}
.fb-h h3{font-family:var(--f-display);font-weight:400;font-size:1.2rem;margin:0}
.fb-h p{margin:0;font-size:13px;color:var(--muted)}
.fb-l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.fb-l li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);flex-wrap:wrap}
.fb-l li:first-child{border-top:0}
.fb-l b{display:block;font-size:15px}
.fb-l small{display:block;font-size:12.5px;color:var(--muted)}
.fb-n{font-size:12px;margin:0}
.fb-legal{font-size:12.5px;margin:0 0 18px}
@media(max-width:820px){.fbx{grid-template-columns:1fr}}
/* lote 29: tabela de gastos no desenho da proposta, com linhas entre as colunas */
.gastos-wrap{background:#fff;border-radius:14px;box-shadow:none}
.gastos tbody th{background:#fff;padding:9px 12px;font-weight:600}
.gastos tbody th .rh{display:block;font-weight:600;font-size:11.5px;color:var(--brand);margin:1px 0 0 18px;white-space:nowrap}
.gastos td.gt{background:#fff;font-weight:700;border-left:0}
.gastos td,.gastos tbody th{border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.gastos tbody tr:nth-child(even) td:not(.gt),.gastos tbody tr:nth-child(even) th{background:#fff}
.fbx{margin-top:22px}
/* lote 32: tabela e passeios mais compactos, resumo em destaque */
.gastos-top{margin:4px 0 8px}
.gastos-top h3{font-size:1.15rem}
.gastos-edit{padding:8px 12px;font-size:13px;margin-bottom:10px;gap:10px}
.gastos-edit .pen{width:24px;height:24px}
table.gastos{font-size:13px}
.gastos thead th{padding:6px 6px;min-width:62px;font-size:12.5px}
.gastos thead th small{font-size:10.5px}
.gastos tbody th{padding:6px 10px;min-width:118px;font-size:13px}
.gastos tbody th .rh{font-size:10.5px;margin-left:16px}
.gastos input{height:30px;min-width:56px;padding:0 8px;font-size:13px}
.gastos td.gt{padding:0 10px;font-size:13px}
.gastos tr.tot th,.gastos tr.tot td{padding:7px 8px;font-size:13px}
.gastos-wrap{border-radius:12px}
.sumtiles{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px;margin:12px 0 16px}
.sumtiles .st{background:var(--soft);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:2px}
.sumtiles .st span{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.sumtiles .st b{font-family:var(--f-display);font-weight:400;font-size:1.45rem;line-height:1.1;color:var(--ink)}
.sumtiles .st.big{background:var(--ink)}
.sumtiles .st.big span{color:#8ECAE6}
.sumtiles .st.big b{color:#fff;font-size:1.8rem}
@media(max-width:560px){.sumtiles{grid-template-columns:1fr 1fr}.sumtiles .st.big{grid-column:1/-1}}
.panel .brow{padding:2px 0}
.book{margin-top:18px;padding:14px 16px}
.book-h{align-items:center;gap:12px}
.book-h h2{font-size:clamp(1.1rem,1.8vw,1.4rem);margin-top:0}
.book-h .muted{font-size:12px;line-height:1.4}
.book-list{margin-top:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px}
.book-list li{padding:6px 0;gap:8px}
.bk-n b{font-size:13px}
.bk-n small{font-size:11px}
.bk-day{font-size:10px;padding:2px 6px}
.book-list .btn.xs{padding:4px 9px;min-height:28px;font-size:12px}
@media(max-width:1100px){.book-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.book-list{grid-template-columns:1fr}}
/* lote 33: cartões de busca com cores claras da paleta */
.fbx .fb:nth-child(1){background:#DCEEF7;border-color:#B9DCEC}
.fbx .fb:nth-child(2){background:#FFEFCC;border-color:#F6D88F}
.fbx .fb .fb-ic{background:#fff}
.fbx .fb:nth-child(1) .fb-ic{color:var(--brand)}
.fbx .fb:nth-child(2) .fb-ic{color:#B8690A}
.fbx .fb-l li{border-top-color:rgba(2,48,71,.14)}
.fbx .fb .btn.accent{background:var(--accent);color:var(--ink)}
.gastos thead th small{color:#fff;opacity:.85}
.gastos thead th.corner{font-size:11.5px;font-weight:600;text-align:left;line-height:1.3;min-width:130px;position:sticky;left:0;z-index:2}
.sumtiles .st.pp{background:#8ECAE6;border-color:#8ECAE6;color:#023047}
.sumtiles .st.pp span{color:#023047;opacity:.85}
.sumtiles .st.pp b{font-size:1.8rem}
.fb-org{display:grid;gap:4px;margin:2px 0 10px}
.fb-org label{font-size:12.5px;font-weight:600;color:var(--ink)}
.fb-org input{padding:8px 10px;border:1.5px solid var(--sky,#8ECAE6);border-radius:var(--r);font:inherit;max-width:260px}
.fb-org small{font-size:11.5px;color:var(--muted)}
.map-tools .mt-l{color:var(--ink);font-weight:700}
/* preenchido x sugestão */
.pl-bar input,.pl-bar select,.pl-find input,.start-find input,.trip-pick select,.fb-org input{background:#fff;border:1.5px solid var(--brand,#126782);color:var(--ink);font-weight:700}
.planner .pl-bar .f input,.planner .pl-bar .f select,.planner .trip-pick select,.planner .pl-bar .cty-sum{font-weight:700;color:var(--ink)}
.pl-bar input.is-empty,.pl-find input.is-empty,.start-find input.is-empty,.fb-org input.is-empty{background:#fff;border:1.5px solid #9DB4BF;color:var(--ink);font-weight:400}
.pl-bar input.is-empty::placeholder,.pl-find input.is-empty::placeholder,.start-find input.is-empty::placeholder,.fb-org input.is-empty::placeholder{color:#5F7480;font-style:italic;font-weight:400}
.pl-bar input[type=date].is-empty,.start-find input[type=date].is-empty{color:#5F7480}
.sf-row{grid-template-columns:2fr 1fr .7fr .7fr auto}
.lg-seal.diy b{font-weight:800}

.cal-band{position:relative}
.cal-band .bl{overflow:hidden;text-overflow:ellipsis;display:block;max-width:100%}
.band-rs{position:absolute;top:0;bottom:0;right:0;width:14px;cursor:ew-resize;touch-action:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28));z-index:3}
.band-rs::after{content:"";position:absolute;top:8px;bottom:8px;right:5px;width:3px;border-radius:2px;background:rgba(255,255,255,.85)}
.cal-band.br-on{outline:2px solid var(--accent);outline-offset:-2px}
.linkbtn{background:none;border:0;padding:0;color:var(--brand);text-decoration:underline;cursor:pointer;font:inherit}
.modal .box.wd-box{max-width:520px}
.wd-chips{display:flex;flex-wrap:wrap;gap:8px}
.wd-box .row{display:flex;gap:8px;justify-content:flex-end}
.fb-route{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fb-route .fb-org-i{width:15ch;max-width:100%;padding:5px 9px;font:inherit;font-weight:700;border-radius:8px}
.fb-route .arr{color:var(--muted)}
.sumtiles .st.pp span{font-weight:800}
.fb-dt{color:var(--ink);font-weight:800}
.qs-badge[href]{text-decoration:none}.qs-badge[href]:hover{background:var(--sky,#8ECAE6)}
.multi-hint{color:#FB8500;font-weight:700}

.dhero .foto-cred{position:absolute;left:12px;top:8px;z-index:3;font-size:10.5px;line-height:1.2;color:rgba(255,255,255,.85);background:rgba(5,15,25,.42);padding:3px 7px;border-radius:3px;text-decoration:none}.dhero .foto-cred:hover{color:#fff;text-decoration:underline}

.cal-col{cursor:cell}.cal-col .ev,.cal-col .ev-leg{cursor:grab}
/* PDF interativo: índice, links e reservas */
@media print{
  .pd a{color:inherit;text-decoration:none}
  .pd-toc{break-inside:avoid;margin:0 0 7mm}
  .pd-toc h3,.pd-res h3{font-family:var(--f-display);font-weight:500;font-size:14pt;margin:0 0 2.5mm}
  .pd-toc>div{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4mm}
  .pd-toc a{display:block;background:#F4F1EA;border-radius:3.5mm;padding:2.4mm 3.2mm;border-left:1.4mm solid #219EBC}
  .pd-toc a b{display:block;font-size:9.6pt}
  .pd-toc a span{display:block;font-size:8pt;color:#4D6D7D}
  .pd-dtools{display:flex;gap:2mm;justify-content:flex-end;margin:-1.4mm 0 2.4mm}
  .pd-lks{display:flex;flex-wrap:wrap;gap:1.6mm;margin:1mm 0 0}
  .pd-lk{display:inline-block;font-size:7.6pt;font-weight:700;color:#126782!important;border:.3mm solid #8ECAE6;border-radius:99px;padding:.3mm 2.4mm;background:#fff}
  .pd-lk.bk{background:#FB8500;border-color:#FB8500;color:#023047!important}
  .pd-lk.up{color:#4D6D7D!important;border-color:#DCD6C8}
  .pd-res table{width:100%;border-collapse:collapse;font-size:9.2pt}
  .pd-res th{font-family:var(--f-mono);font-size:7pt;letter-spacing:.1em;text-transform:uppercase;color:#4D6D7D;text-align:left;padding:1.2mm 2mm;border-bottom:.4mm solid #DCD6C8}
  .pd-res td{padding:1.6mm 2mm;border-bottom:.2mm solid #EDE8DC}
  .pd-res{break-inside:avoid;margin:0 0 6mm}
}
@media print{.pd-dtools{break-after:avoid;break-before:avoid}.pd-day>header{break-after:avoid}}
/* selo "estimativa" legível sobre o cabeçalho escuro da tabela de custos */
.gastos .tag.mock,.gastos th .tag{background:#FB8500;color:#023047;font-weight:700}
.page-head.ghead{flex-direction:column;align-items:flex-start;gap:8px}
.page-head.ghead>p{margin:0}
.btn.sky{background:#219EBC;color:#023047}
.mi-press{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding:22px 24px;background:#FFF1DD;border:1px solid #F5D3A6;border-radius:14px}
.mi-press-k{margin:0 0 8px;font-family:inherit;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink)}
.mi-press-t p{margin:0 0 12px;font-size:15px;line-height:1.55}
.mi-press-t p a{color:var(--accent-ink);font-weight:600}
.mi-press-go{display:inline-block;font-size:13.5px;font-weight:700;color:#1D1406;background:var(--accent);padding:8px 14px;border-radius:999px;text-decoration:none}
.mi-press-go:hover{filter:brightness(1.06)}
.mi-press-i{display:flex;gap:10px;text-decoration:none;align-items:center}
.mi-press-i img{height:168px;width:auto;display:block;border-radius:8px;border:1px solid #F0D3AC;background:#fff;box-shadow:0 2px 8px rgba(179,84,0,.12)}
@media(max-width:1100px){.mi-press{grid-template-columns:1fr}.mi-press-i{flex-wrap:wrap}.mi-press-i img{height:120px}}
@media(max-width:640px){.mi-press{padding:18px}}
@media(max-width:640px){.mi-press-i{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:start}.mi-press-i img{height:auto;width:100%}}
.dgrid.one{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 70px)/6);overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:10px;scrollbar-width:thin}
.dgrid.one>.dcard{scroll-snap-align:start}
@media(max-width:1000px){.dgrid.one{grid-auto-columns:calc((100% - 28px)/3)}}
@media(max-width:600px){.dgrid.one{grid-auto-columns:calc((100% - 14px)/2.3)}}
/* lote 82: responsividade */
@media(max-width:1000px){.sf-row{grid-template-columns:1fr 1fr}.sf-city{grid-column:1/-1}.sf-row>*{min-width:0}}
@media(max-width:520px){.sf-row{grid-template-columns:1fr}.sf-row .btn{width:100%}}
@media(max-width:900px){.bl-hero{grid-template-columns:1fr;gap:20px}.bl-hero>*{min-width:0}}
@media(max-width:560px){.rt-bk.big{white-space:normal;text-align:center}}
/* lote 84: celular */
@media(max-width:760px){
  .tabbar a{font-size:10.5px;padding-inline:0;letter-spacing:-.01em}
  .tabbar a svg{width:19px;height:19px}
  /* popups compactos e com rolagem */
  .modal{padding:12px;align-items:center}
  .modal .box{padding:16px;max-height:calc(100dvh - 24px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .modal .box h3{font-size:19px!important}
  .modal .box p{margin-bottom:10px}
  .modal .box .f{margin-top:8px}
  .modal .box .f input,.modal .box .f select{min-height:40px;font-size:15px}
  .modal .box .city-sug{max-height:34vh;overflow-y:auto}
  .modal .box .ed-foot{position:sticky;bottom:-16px;background:var(--surface);padding:10px 0 2px;margin-bottom:-2px}
  /* tabela de gastos: coluna de rótulos enxuta e dica de rolagem */
  .gastos tbody th{min-width:92px;max-width:118px;white-space:normal;font-size:12px;line-height:1.25;vertical-align:top}
  .gastos tbody th small,.gastos tbody th .muted{display:block;font-size:10.5px;font-weight:400;line-height:1.25}
  .gastos thead th{min-width:70px}
  .gastos thead th.corner{min-width:92px;max-width:118px;white-space:normal;font-size:12px}
  .gastos-wrap{background:linear-gradient(90deg,var(--surface) 30%,rgba(255,255,255,0)) left center/22px 100% no-repeat local,linear-gradient(270deg,var(--surface) 30%,rgba(255,255,255,0)) right center/22px 100% no-repeat local,linear-gradient(90deg,rgba(2,48,71,.22),rgba(2,48,71,0)) left center/12px 100% no-repeat scroll,linear-gradient(270deg,rgba(2,48,71,.22),rgba(2,48,71,0)) right center/12px 100% no-repeat scroll,var(--surface);-webkit-overflow-scrolling:touch}
  .gastos-hint{display:block!important}
  /* abas Roteiro / Mapa / Reservas: só com roteiro aberto e sempre à vista */
  body:not(:has(.cal-wrap)) .pl-mtabs{display:none}
  .pl-mtabs{position:sticky;top:calc(env(safe-area-inset-top,0px) + 118px);z-index:40;margin-inline:0;box-shadow:0 6px 14px -10px rgba(2,48,71,.45)}
}
.gastos-hint{display:none;font-size:12px;color:var(--muted);margin:6px 2px 0}
@media(max-width:760px){
  .modal .box .f{margin-top:8px!important}
  .modal .box>form>p.muted,.modal .box p.muted{margin:4px 0 8px!important}
  .modal .box .ed-row{gap:8px}
  .modal .box .ed-foot{margin-top:10px}
}
.start .dcard .np{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 25% 15%,#3a8fb0,transparent 55%),radial-gradient(circle at 85% 90%,rgba(251,133,0,.35),transparent 50%),linear-gradient(160deg,#0b5a78,#023047);color:rgba(255,255,255,.28)}
.start .dcard .np svg{width:46%;height:auto;margin-top:-18%}
@media(max-width:760px){.tabbar a{white-space:nowrap;letter-spacing:-.02em}.tabbar a[aria-current="page"]{font-weight:600}}
@media(max-width:760px){.tabbar{grid-template-columns:repeat(6,minmax(0,1fr))!important}}
@media(max-width:380px){.tabbar a{font-size:9.5px!important}.tabbar a svg{width:18px;height:18px}}
main.static{overflow-x:clip}
html,body{overflow-x:clip}
.start .dcard .np .mmap{position:absolute;inset:0;width:100%;height:100%;margin:0}
.start .dcard .np .mmap path{fill:rgba(142,202,230,.30);stroke:rgba(255,255,255,.22);stroke-width:.3}
.start .dcard .np .mmap .pin{fill:#FB8500;stroke:#fff}
.start .dcard .np .mmap .pinh{fill:#FFB703;opacity:.3}
.start .dcard::after{pointer-events:none}

/* selo "monte do seu jeito": azul escuro em negrito, mais legível sobre o laranja */
.lg-seal.diy,.lg-seal.diy b{color:#012A40;font-weight:800;letter-spacing:.02em}
.lg-seal.diy.sm{font-size:10.5px}

/* selo "Já fomos" como carimbo: ao lado do título, um pouco acima, levemente inclinado */
.guias-tit .guias-selo{transform:rotate(-11deg) translateY(-18px);transform-origin:center;margin-left:6px}
@media(max-width:640px){
  .guias-tit{position:relative;display:block}
  .guias-tit .guias-selo{position:absolute;top:-22px;right:4px;width:104px;margin:0;transform:rotate(-12deg);z-index:2}
  .guias-tit .gmont{margin-top:14px}
}

/* mapa do planejador no celular: margem lateral e aviso de dois dedos */
.pl-map .mapbox{position:relative;top:auto;z-index:0;isolation:isolate}
#realmap{z-index:0}
.map-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:600;background:rgba(2,48,71,.86);color:#fff;font-size:14px;font-weight:600;padding:10px 16px;border-radius:999px;pointer-events:none;opacity:0;transition:opacity .2s;white-space:nowrap}
.map-hint.on{opacity:1}
@media (max-width:760px){
  .pl-map{padding-left:16px;padding-right:16px}
  .pl-map .mapbox{border-radius:14px}
  #realmap{height:min(64vh,460px)}
}

/* pausas do roteiro (café, almoço, descanso, jantar): discretas, para não competir com as atrações */
.ev.pause{background:#EFE7D6!important;background-image:none!important;color:#4a4332!important;border:1px dashed #C9B98F}
.ev.pause *{color:inherit!important}
.rt-day li.rt-pause,.rt-day li.rt-pause small{color:var(--muted)}
.rt-day li.rt-pause b{font-weight:600}

/* deslocamento no calendário: uma linha só, compacta, que cabe até entre atividades coladas */
.ev-leg{flex-wrap:nowrap;white-space:nowrap;gap:3px;line-height:1;overflow:hidden;font-size:9px;padding:0 2px}
.ev-leg .leg-sel{appearance:none;-webkit-appearance:none;background-image:none;max-width:none;flex:none;padding:0 1px;border-bottom:1px dotted currentColor;font-size:9px;line-height:1}
.ev-leg .leg-t{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.ev-leg .leg-sel.m-walk{width:3.3em}.ev-leg .leg-sel.m-car{width:4em}.ev-leg .leg-sel.m-transit{width:6.6em}
.ev-leg .leg-sel{field-sizing:fixed;text-overflow:clip}
/* o seletor do deslocamento herdava o estilo de campo de formulário (altura 38px, borda, brilho no foco) */
.ev-leg .leg-sel,.ev-leg .leg-sel:focus,.ev-leg .leg-sel:hover{min-height:0!important;height:13px;box-shadow:none!important;background:transparent!important;border:0!important;border-bottom:1px dotted currentColor!important;border-radius:0!important;outline:none!important;padding:0 1px!important;appearance:none;-webkit-appearance:none}
.ev-leg .leg-sel:focus-visible{outline:1px solid currentColor!important}
/* selo ao lado do nome da cidade no planejador */
.eyebrow .lg-seal,.cty-t .lg-seal,.cty-chip .lg-seal{margin:0 0 0 7px;vertical-align:middle;text-transform:none;letter-spacing:.03em}
.cty-t b{vertical-align:middle}

.tchip-main b .tic{display:inline-flex;vertical-align:-2px;margin-right:6px;color:var(--petrol,#0f5f7a);opacity:.9}

.pcard-map{position:relative}
.sh-box{max-width:480px}.sh-opts{display:flex;gap:10px;flex-wrap:wrap}.sh-box input[type=text]{width:100%}
.pl-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pl-actions [hidden]{display:none!important}
