/* We Love Argentina: tokens da proposta de direção visual (ainda não aprovada como DI-003).
   Nada de preto: o escuro é o marinho. */
:root{
  --celeste:#4FA3D9; --celeste-forte:#1A5F8E; --celeste-nevoa:#EAF4FB;
  --sol:#F6B40E; --sol-claro:#FFF3CF;
  --marinho:#12324A; --marinho-suave:#4A6378; --linha:#D3E4F1; --branco:#FFFFFF;
  --pix:#1E7F55; --pix-claro:#E3F4EC;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;
  --r1:12px;--r2:20px;--r3:28px;
  --sombra:0 8px 24px rgba(18,50,74,.10);
  --titulo:'Bricolage Grotesque',system-ui,sans-serif;
  --corpo:'DM Sans',system-ui,sans-serif;
  --menu:264px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;font-family:var(--corpo);font-size:16px;line-height:1.5;color:var(--marinho);background:var(--branco);-webkit-text-size-adjust:100%;overflow-x:hidden}
h1,h2,h3{font-family:var(--titulo);line-height:1.12;margin:0 0 var(--s3)}
h1{font-size:clamp(30px,6vw,48px);font-weight:800;letter-spacing:-.01em}
h2{font-size:clamp(24px,4.5vw,34px);font-weight:800}
h3{font-size:19px;font-weight:600}
p{margin:0 0 var(--s3)}
a{color:var(--celeste-forte)}
:focus-visible{outline:3px solid var(--sol);outline-offset:3px;border-radius:6px}
.muted{color:var(--marinho-suave)}
.small{font-size:14px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:absolute;left:-9999px;top:0;background:var(--sol);color:var(--marinho);padding:var(--s2) var(--s4);z-index:100;border-radius:0 0 var(--r1) 0}
.pular:focus{left:0}

/* faixa de prévia */
.previa{background:var(--marinho);color:var(--branco);font-size:14px;padding:var(--s2) var(--s4);text-align:center}
.previa b{color:var(--sol)}

/* menu lateral (desktop) e gaveta (celular) */
.menu{position:fixed;top:0;left:0;bottom:0;width:var(--menu);background:var(--branco);border-right:1px solid var(--linha);display:flex;flex-direction:column;gap:var(--s2);padding:var(--s5) var(--s4);overflow-y:auto;z-index:30}
.marca{font-family:var(--titulo);font-weight:800;font-size:22px;color:var(--marinho);text-decoration:none;line-height:1.1;display:block;margin-bottom:var(--s4)}
.marca span{color:var(--celeste)}
.menu nav a,.menu .grupo-titulo{display:flex;align-items:center;min-height:44px;padding:0 var(--s3);border-radius:var(--r1);color:var(--marinho);text-decoration:none;font-weight:500}
.menu nav a:hover{background:var(--celeste-nevoa)}
.menu nav a[aria-current="page"]{background:var(--celeste-nevoa);color:var(--celeste-forte);font-weight:700}
.menu .sub a{min-height:40px;padding-left:var(--s6);font-size:15px;color:var(--marinho-suave)}
.menu .grupo-titulo{font-weight:700}
.menu .btn{margin-top:auto}
.topo{display:none}
.conteudo-wrap{margin-left:var(--menu)}
.conteudo{max-width:1200px;margin:0 auto;padding:var(--s6) var(--s5) var(--s7)}
.veu{position:fixed;inset:0;background:rgba(18,50,74,.45);z-index:25}
@media (max-width:979px){
  .topo{display:flex;position:sticky;top:0;z-index:20;align-items:center;justify-content:space-between;gap:var(--s3);padding:0 var(--s4);min-height:60px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--linha)}
  .topo .marca{margin:0;font-size:20px}
  .btn-menu{min-height:44px;min-width:44px;border-radius:999px;border:1.5px solid var(--celeste-forte);background:var(--branco);color:var(--celeste-forte);font:700 15px var(--corpo);padding:0 var(--s4);cursor:pointer}
  .menu{transform:translateX(-105%);transition:transform .2s ease;width:min(86vw,320px);box-shadow:var(--sombra)}
  .menu.aberto{transform:none}
  .conteudo-wrap{margin-left:0}
  .conteudo{padding:var(--s5) var(--s4) var(--s7)}
}
.menu .btn-fechar{display:none}
@media (max-width:979px){.menu .btn-fechar{display:inline-flex;align-self:flex-end;margin-top:0}}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:48px;padding:0 var(--s5);border-radius:999px;font:700 16px var(--corpo);text-decoration:none;border:2px solid transparent;cursor:pointer;touch-action:manipulation;transition:transform .15s,box-shadow .15s;text-align:center}
.btn:active{transform:scale(.98)}
.btn-primario{background:var(--celeste-forte);color:var(--branco)}
.btn-primario:hover{box-shadow:var(--sombra)}
.btn-secundario{background:var(--branco);color:var(--celeste-forte);border-color:var(--celeste-forte)}
.btn-sol{background:var(--sol);color:var(--marinho)}
.btn-largo{width:100%}
.btn-peq{min-height:44px;padding:0 var(--s4);font-size:15px}

/* espaços reservados de imagem */
.icone{display:flex;align-items:center;justify-content:center;text-align:center;border:2px dashed var(--celeste);border-radius:var(--r2);background:var(--branco);color:var(--celeste-forte);font-size:11px;line-height:1.3;padding:var(--s2);flex:0 0 auto;width:72px;height:72px}
.foto{display:flex;align-items:flex-end;padding:var(--s3);border-radius:var(--r2);background:linear-gradient(160deg,#BFE0F4,#7FBFE6);color:var(--marinho);font-size:13px;line-height:1.35;aspect-ratio:4/3}
.foto span{background:rgba(255,255,255,.9);padding:var(--s1) var(--s2);border-radius:8px}

/* home: reserva primeiro */
.home{display:grid;gap:var(--s5)}
@media (min-width:1240px){.home{grid-template-columns:minmax(0,1fr) 280px;align-items:start}}
.cabeca p.lead{font-size:18px;color:var(--marinho-suave);max-width:52ch}
.busca{display:flex;flex-direction:column;gap:var(--s1);margin:var(--s4) 0 var(--s2)}
.busca label{font-weight:700;font-size:14px}
.busca input{min-height:48px;border-radius:999px;border:1.5px solid var(--linha);padding:0 var(--s5);font:16px var(--corpo);color:var(--marinho);max-width:560px}
.filtros{display:flex;flex-wrap:wrap;gap:var(--s2);padding:var(--s2) 0 var(--s4)}
.chip{min-height:44px;padding:0 var(--s4);border-radius:999px;border:1.5px solid var(--celeste-forte);background:var(--branco);color:var(--celeste-forte);font:500 15px var(--corpo);cursor:pointer}
.chip[aria-pressed="true"]{background:var(--celeste-forte);color:var(--branco)}
.grade{display:grid;gap:var(--s4)}
@media (min-width:620px){.grade{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.grade{grid-template-columns:repeat(3,minmax(0,1fr))}}
.card{background:var(--branco);border-radius:var(--r3);box-shadow:var(--sombra);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s2);border:1px solid var(--linha)}
.card:hover{border-color:var(--celeste)}
.card .cat{font-size:13px;font-weight:700;color:var(--celeste-forte)}
.card h3{margin:0}
.card h3 a{color:inherit;text-decoration:none}
.card .acoes{margin-top:auto;padding-top:var(--s2)}
.preco{font-family:var(--titulo);font-weight:800;font-size:22px}
.preco small{font:400 13px var(--corpo);color:var(--marinho-suave)}
.pix-linha{font-size:14px;color:var(--pix);font-weight:700}
.ref{font-size:12px;color:var(--marinho-suave);font-style:italic}
.selo{display:inline-flex;align-items:center;gap:var(--s1);align-self:flex-start;background:var(--sol-claro);color:var(--marinho);border:1.5px solid var(--sol);border-radius:999px;padding:2px var(--s3);font-size:13px;font-weight:700}
.selo::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sol)}
.vazio{padding:var(--s5);text-align:center;border:2px dashed var(--linha);border-radius:var(--r2)}
.apoio{background:var(--celeste-nevoa);border-radius:var(--r3);padding:var(--s5);display:grid;gap:var(--s3)}
@media (min-width:1240px){.apoio{position:sticky;top:var(--s5)}}
.apoio .chip{min-height:40px;font-size:14px;text-align:left}
.app-ba{margin-top:var(--s7);display:flex;flex-wrap:wrap;gap:var(--s4);align-items:center;background:var(--branco);border:2px solid var(--celeste);border-radius:var(--r3);padding:var(--s5)}
.app-ba > div:not(.icone){flex:1 1 280px}
.em-breve{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--sol-claro);color:var(--marinho);border:1.5px solid var(--sol);border-radius:999px;padding:0 var(--s2);margin-left:var(--s1);vertical-align:middle}

/* página do passeio */
.detalhe{display:grid;gap:var(--s6)}
@media (min-width:1100px){.detalhe{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:start}}
.galeria{display:grid;grid-template-columns:2fr 1fr;gap:var(--s2)}
.galeria .foto:first-child{grid-row:span 2;aspect-ratio:auto;min-height:220px}
.aviso-risco{display:flex;gap:var(--s3);background:var(--sol-claro);border:1.5px solid var(--sol);border-radius:var(--r2);padding:var(--s4);margin:var(--s4) 0}
.aviso-risco p{margin:0}
.lista{padding-left:var(--s5);margin:0 0 var(--s4)}
.caixa{background:var(--branco);border-radius:var(--r3);box-shadow:var(--sombra);padding:var(--s5);border:1px solid var(--linha)}
.campo{display:flex;flex-direction:column;gap:var(--s1);margin-bottom:var(--s3)}
.campo label,.campo legend{font-weight:700;font-size:14px}
.campo input,.campo select{min-height:48px;border-radius:var(--r1);border:1.5px solid var(--linha);padding:0 var(--s3);font:16px var(--corpo);color:var(--marinho);background:var(--branco);width:100%}
.pessoas{display:flex;align-items:center;justify-content:space-between;border:1.5px solid var(--linha);border-radius:var(--r1);padding:var(--s2) var(--s3);margin-bottom:var(--s4)}
.pessoas .ctrl{display:flex;align-items:center;gap:var(--s3)}
.pessoas button{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--celeste-forte);background:var(--branco);color:var(--celeste-forte);font-size:20px;cursor:pointer}
.totais{border-top:1px solid var(--linha);padding-top:var(--s3);margin-bottom:var(--s4)}
.totais div{display:flex;justify-content:space-between;gap:var(--s2)}
.totais .pix{color:var(--pix);font-weight:700}
.pilha{display:grid;gap:var(--s2)}
.ficha{display:grid;grid-template-columns:auto 1fr;gap:var(--s1) var(--s4);margin:0 0 var(--s4)}
.ficha dt{font-weight:700}
.ficha dd{margin:0;color:var(--marinho-suave)}

/* checkout */
.checkout{display:grid;gap:var(--s5)}
@media (min-width:1100px){.checkout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start}}
.nota{background:var(--celeste-nevoa);border-radius:var(--r1);padding:var(--s3);font-size:14px;margin-bottom:var(--s4)}
.formas{display:grid;gap:var(--s3);margin:var(--s2) 0 var(--s4);border:0;padding:0}
@media (min-width:520px){.formas{grid-template-columns:1fr 1fr}}
.forma{position:relative;display:flex;flex-direction:column;gap:var(--s1);border:2px solid var(--linha);border-radius:var(--r2);padding:var(--s4);cursor:pointer;background:var(--branco)}
.forma input{position:absolute;opacity:0}
.forma:has(input:checked){border-color:var(--celeste-forte);background:var(--celeste-nevoa)}
.forma:has(input:focus-visible){outline:3px solid var(--sol);outline-offset:3px}
.forma .valor{font-family:var(--titulo);font-weight:800;font-size:24px}
.forma .tag{align-self:flex-start;font-size:12px;font-weight:700;border-radius:999px;padding:2px var(--s2)}
.tag.verde{background:var(--pix-claro);color:var(--pix)}
.tag.cinza{background:var(--celeste-nevoa);color:var(--marinho-suave)}
.resumo .linha{display:flex;justify-content:space-between;gap:var(--s2);margin-bottom:var(--s2)}
.resumo .total{font-family:var(--titulo);font-weight:800;font-size:22px;border-top:1px solid var(--linha);padding-top:var(--s3)}
.linha-pix{color:var(--pix);font-weight:700}

/* confirmação, como funciona e pós-compra */
.centro{max-width:680px;margin:0 auto;text-align:center}
.centro .icone{margin:0 auto var(--s4);width:96px;height:96px}
.codigo{display:inline-block;background:var(--pix-claro);color:var(--pix);font-weight:700;border-radius:999px;padding:var(--s1) var(--s4);margin-bottom:var(--s5)}
.linha-tempo{text-align:left;display:grid;gap:var(--s3);margin:var(--s5) 0;padding:0;list-style:none}
.passo{display:flex;gap:var(--s3);background:var(--branco);border:1px solid var(--linha);border-radius:var(--r2);padding:var(--s4)}
.passo .n{flex:0 0 36px;height:36px;border-radius:50%;background:var(--celeste);color:var(--marinho);font-weight:800;display:flex;align-items:center;justify-content:center}
.pacote{display:grid;gap:var(--s4);margin-top:var(--s5)}
@media (min-width:760px){.pacote{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bloco{background:var(--branco);border-radius:var(--r3);border:1px solid var(--linha);box-shadow:var(--sombra);padding:var(--s5);display:flex;gap:var(--s4);align-items:flex-start}
.bloco ul{margin:0;padding-left:var(--s5);font-size:15px}
.bloco.destaque{border:2px solid var(--celeste)}
.texto{max-width:760px}
.texto h2{margin-top:var(--s6)}

/* rodapé */
.rodape{background:var(--marinho);color:var(--branco);padding:var(--s6) var(--s5);font-size:14px}
.rodape a{color:var(--sol)}
.rodape p{max-width:1200px;margin:0 auto var(--s2)}

/* Luci: botão e janela de chat */
.luci-abrir{position:fixed;right:var(--s4);bottom:var(--s4);z-index:40;box-shadow:var(--sombra)}
.luci{position:fixed;right:var(--s4);bottom:var(--s4);z-index:45;width:min(400px,calc(100vw - 32px));height:min(600px,calc(100vh - 32px));background:var(--branco);border-radius:var(--r3);box-shadow:0 16px 48px rgba(18,50,74,.25);border:1px solid var(--linha);display:flex;flex-direction:column;overflow:hidden}
.luci-topo{display:flex;gap:var(--s3);align-items:center;background:var(--celeste);color:var(--marinho);padding:var(--s3) var(--s4)}
.luci-topo .icone{width:48px;height:48px;border-radius:50%;font-size:9px;padding:4px}
.luci-topo strong{font-family:var(--titulo);font-size:18px;display:block}
.luci-topo button{margin-left:auto;width:44px;height:44px;border-radius:50%;border:0;background:var(--branco);color:var(--marinho);font-size:20px;cursor:pointer}
.luci-msgs{flex:1;overflow-y:auto;padding:var(--s4);display:flex;flex-direction:column;gap:var(--s3);background:var(--celeste-nevoa)}
.msg{max-width:88%;padding:var(--s3) var(--s4);border-radius:var(--r2);font-size:15px;white-space:pre-line}
.msg.cliente{align-self:flex-end;background:var(--celeste-forte);color:var(--branco);border-bottom-right-radius:6px}
.msg.luci-msg{align-self:flex-start;background:var(--branco);border:1px solid var(--linha);border-bottom-left-radius:6px}
.luci-rapidas{display:flex;flex-wrap:wrap;gap:var(--s2);padding:var(--s2) var(--s4);background:var(--celeste-nevoa)}
.luci-rapidas .chip{min-height:40px;font-size:14px}
.luci-entrada{display:flex;gap:var(--s2);padding:var(--s3);border-top:1px solid var(--linha)}
.luci-entrada input{flex:1;min-width:0;min-height:44px;border-radius:999px;border:1.5px solid var(--linha);padding:0 var(--s4);font:16px var(--corpo);color:var(--marinho)}
.luci-entrada button{min-width:48px;height:48px;border-radius:999px;border:0;background:var(--celeste-forte);color:var(--branco);font:700 15px var(--corpo);padding:0 var(--s3);cursor:pointer}
.h3{font-size:19px;font-weight:600}
.lead{font-size:18px}
.card .foto{aspect-ratio:16/9}

/* Buenos Aires App */
.planner{display:grid;gap:var(--s5)}
@media (min-width:1240px){.planner{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.roteiro{position:sticky;top:var(--s5);max-height:calc(100vh - 48px);overflow-y:auto}}
.linha-controles{display:flex;flex-wrap:wrap;gap:var(--s3)}
.linha-controles .campo{flex:1 1 200px;max-width:280px}
.foto-lugar{width:calc(100% + 2*var(--s3));margin:calc(-1*var(--s3)) calc(-1*var(--s3)) var(--s1);aspect-ratio:3/2;height:auto;object-fit:cover;border-radius:var(--r3) var(--r3) 0 0;display:block;background:var(--celeste-nevoa)}
.card .acoes{display:flex;flex-wrap:wrap;gap:var(--s2)}
.card [data-add][aria-pressed="true"]{background:var(--pix-claro);color:var(--pix);border-color:var(--pix)}
.credito{font-size:12px;color:var(--marinho-suave);margin:0;overflow-wrap:anywhere}
.credito a{color:inherit}
.dia{border-top:1px solid var(--linha);padding:var(--s3) 0}
.dia h3{margin-bottom:var(--s2)}
.dia-lista{list-style:none;margin:0 0 var(--s2);padding:0;display:grid;gap:var(--s2)}
.dia-lista li{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);background:var(--celeste-nevoa);border-radius:var(--r1);padding:var(--s2) var(--s3)}
.dia-lista li > span:first-child{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}
.mover{display:flex;gap:var(--s1);flex:0 0 auto}
.mover button{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--celeste-forte);background:var(--branco);color:var(--celeste-forte);font:700 18px var(--corpo);cursor:pointer}
.mover button:disabled{opacity:.35;cursor:default}
.link-btn{display:block;background:none;border:0;padding:var(--s2) 0;color:var(--celeste-forte);text-decoration:underline;cursor:pointer;font-family:var(--corpo)}
.roteiro .pilha{margin-top:var(--s3)}
.creditos-app{margin-top:var(--s6)}
.luci-aviso{margin:0;padding:0 var(--s3) var(--s2);font-size:12px;color:var(--marinho-suave);text-align:center}
