/* Almanaque Humano Viagens: identidade do Almanaque Humano (azul-espaço + dourado, Cinzel/Montserrat/Literata)
   com o corpo claro, como os artigos do portal. Cores e fontes ficam nas variáveis abaixo. */
:root {
  --fundo: #ffffff;
  --fundo-suave: #f5f2ea;
  --fundo-mar: #eef2f8;
  --texto: #14171f;
  --texto-suave: #5b6472;
  --linha: #e3e0d8;
  --primaria: #1b3a66;
  --primaria-escura: #0a1020;
  --espaco: #05080f;
  --espaco-2: #0c1322;
  --cta: #e0a943;
  --cta-escura: #c98f22;
  --cta-texto: #1a1205;
  --sol: #f3cf7a;
  --ouro-escuro: #9c6a14;
  --whats: #1fa855;
  --youtube: #ff0000;
  --raio: 14px;
  --sombra: 0 6px 24px rgba(10, 16, 32, 0.08);
  --fonte-titulo: 'Cinzel', Georgia, serif;
  --fonte-texto: 'Montserrat', system-ui, sans-serif;
  --fonte-leitura: 'Literata', Georgia, serif;
  --largura: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--fundo); color: var(--texto); font: 400 1rem/1.65 var(--fonte-texto); }
img { max-width: 100%; display: block; }
a { color: var(--primaria); }
h1, h2, h3 { font-family: var(--fonte-titulo); line-height: 1.2; margin: 0 0 0.6em; color: var(--texto); }
h3 { font-family: var(--fonte-texto); font-weight: 700; }
h1 { font-size: clamp(1.9rem, 4.2vw, 2.9rem); font-weight: 700; }
h2 { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 700; }
h3 { font-size: 1.2rem; font-weight: 600; }
p { margin: 0 0 1em; }
.container { width: 100%; max-width: var(--largura); margin: 0 auto; padding: 0 16px; }
@media (min-width: 720px) { .container { padding: 0 28px; } }
.estreito { max-width: 780px; }
.centro { text-align: center; margin-top: 2rem; }
.sr-only, .isca { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
[hidden] { display: none !important; }

/* Botões */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; padding: 0.75rem 1.3rem; border-radius: 999px; border: 0; font: 600 0.98rem/1.2 var(--fonte-texto); text-decoration: none; cursor: pointer; transition: background 0.15s, transform 0.15s; }
.btn:active { transform: translateY(1px); }
.btn:disabled { opacity: 0.6; cursor: wait; }
.btn-cta { background: var(--cta); color: var(--cta-texto); }
.btn-cta:hover { background: var(--cta-escura); }
.btn-sec { background: var(--fundo-suave); color: var(--texto); border: 1px solid var(--linha); }
.btn-sec:hover { background: #ece7de; }
.btn-claro { background: rgba(255, 255, 255, 0.92); color: var(--texto); }
.btn-link { background: none; color: var(--texto-suave); text-decoration: underline; padding: 0.75rem 0.6rem; }
.btn-whats { background: var(--whats); color: #fff; }
.btn-youtube { background: var(--youtube); color: #fff; padding: 0.6rem 1.1rem; font-size: 0.9rem; }
.btn-youtube:hover { background: #d90000; }
.btn-whats:hover { background: #178a45; }
.btn-grande { padding: 0.95rem 1.7rem; font-size: 1.05rem; }
.link-seta { display: inline-flex; align-items: center; gap: 0.35rem; font-weight: 600; text-decoration: none; }

/* Topo */
.topo { position: sticky; top: 0; z-index: 50; background: rgba(5, 8, 15, 0.96); backdrop-filter: blur(8px); border-bottom: 1px solid rgba(224, 169, 67, 0.35); }
.topo-inner { max-width: var(--largura); margin: 0 auto; padding: 0.7rem 16px; display: flex; align-items: center; gap: 1.5rem; }
.marca { display: inline-flex; align-items: center; gap: 0.6rem; text-decoration: none; color: #fff; }
.marca-selo { width: 42px; height: 42px; border-radius: 50%; flex: none; }
.marca-texto { display: flex; flex-direction: column; line-height: 1.05; }
.marca-nome { font: 700 1.05rem var(--fonte-titulo); color: #fff; letter-spacing: 0.02em; }
.marca-sufixo { font: 700 0.72rem var(--fonte-texto); color: var(--cta); letter-spacing: 0.32em; text-transform: uppercase; margin-top: 0.2rem; }
.topo-links { display: none; gap: 1.4rem; margin-left: auto; }
.topo-links a { color: #dfe5ee; text-decoration: none; font-weight: 500; }
.topo-links a:hover, .topo-links a[aria-current] { color: var(--sol); }
.btn-topo { display: none; padding: 0.55rem 1.1rem; }
.menu-toggle { margin-left: auto; background: none; border: 0; color: #fff; padding: 6px; cursor: pointer; }
.menu-mobile { display: none; flex-direction: column; gap: 0.2rem; padding: 0.5rem 16px 1rem; border-top: 1px solid rgba(255, 255, 255, 0.1); }
.menu-mobile.aberto { display: flex; }
.menu-mobile a:not(.btn) { padding: 0.65rem 0; color: #eef1f6; text-decoration: none; font-weight: 500; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.menu-mobile .btn { margin-top: 0.7rem; }
@media (min-width: 900px) {
  .topo-links, .btn-topo { display: inline-flex; }
  .topo-links { display: flex; }
  .menu-toggle, .menu-mobile, .menu-mobile.aberto { display: none; }
}

/* Hero da home */
.hero { position: relative; color: #fff; background: var(--primaria-escura) var(--hero-img, none) center / cover no-repeat; }
.hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5, 8, 15, 0.86) 0%, rgba(5, 8, 15, 0.5) 60%, rgba(5, 8, 15, 0.15) 100%); }
.hero::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: linear-gradient(90deg, transparent, var(--cta), transparent); }
.hero-inner { position: relative; padding-top: clamp(4rem, 10vw, 8rem); padding-bottom: clamp(4rem, 10vw, 8rem); max-width: var(--largura); }
.hero h1 { color: #fff; max-width: 15ch; }
.hero p { font-size: 1.15rem; max-width: 46ch; color: rgba(255, 255, 255, 0.92); }
.hero-selo { display: inline-block; background: rgba(224, 169, 67, 0.15); border: 1px solid var(--cta); color: var(--sol); font-weight: 700; font-size: 0.82rem; padding: 0.3rem 0.8rem; border-radius: 999px; margin-bottom: 1rem; text-transform: uppercase; letter-spacing: 0.04em; }
.hero-botoes { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 1.6rem; }

/* Seções */
.secao { padding: clamp(3rem, 7vw, 5rem) 0; }
.secao-topo { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.8rem; }
.secao-topo p { color: var(--texto-suave); margin: 0; }
.secao-topo h2 { margin-bottom: 0.2em; }
.secao-promos { background: var(--fundo-mar); }
.secao-como { background: var(--fundo-suave); }
.secao-passadas { background: var(--fundo-suave); }
.chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.chip { border: 1px solid var(--linha); background: #fff; border-radius: 999px; padding: 0.45rem 1rem; font: 500 0.92rem var(--fonte-texto); cursor: pointer; color: var(--texto); }
.chip.ativo { background: var(--primaria-escura); border-color: var(--primaria-escura); color: var(--sol); }
.pagina-topo { background: var(--fundo-mar); padding: 2.5rem 0 2rem; }
.pagina-topo p { color: var(--texto-suave); max-width: 60ch; }
.vazio { color: var(--texto-suave); }

/* Cards de destino */
.grid-destinos { display: grid; gap: 1.4rem; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.card-destino { display: flex; flex-direction: column; height: 100%; background: #fff; border-radius: var(--raio); overflow: hidden; box-shadow: var(--sombra); text-decoration: none; color: var(--texto); transition: transform 0.2s, box-shadow 0.2s; }
.card-destino:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(20, 40, 50, 0.14); }
.card-foto { position: relative; aspect-ratio: 4 / 3; background: var(--fundo-mar); }
.card-foto img { width: 100%; height: 100%; object-fit: cover; }
.card-regiao { position: absolute; top: 12px; left: 12px; background: rgba(255, 255, 255, 0.95); padding: 0.2rem 0.7rem; border-radius: 999px; font-size: 0.8rem; font-weight: 600; color: var(--primaria-escura); }
.card-corpo { padding: 1.1rem 1.2rem 1.3rem; display: flex; flex-direction: column; flex: 1; }
.card-corpo h3 { margin-bottom: 0.35rem; font-size: 1.3rem; }
.card-corpo h3 small { font-size: 0.85rem; color: var(--texto-suave); font-weight: 500; }
.card-corpo p { color: var(--texto-suave); font-size: 0.95rem; flex: 1; }
.card-fatos { display: flex; flex-wrap: wrap; gap: 0.4rem 1rem; font-size: 0.85rem; color: var(--primaria-escura); font-weight: 500; }
.card-fatos span { display: inline-flex; align-items: center; gap: 0.3rem; }

/* Como funciona */
.passos { list-style: none; padding: 0; margin: 2rem 0 0; display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.passos li { background: #fff; border-radius: var(--raio); padding: 1.5rem; box-shadow: var(--sombra); }
.passo-num { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--primaria-escura); color: var(--sol); font: 700 1.1rem var(--fonte-titulo); margin-bottom: 0.9rem; }
.passos p { color: var(--texto-suave); margin: 0; }

/* FAQ */
.faq { border-bottom: 1px solid var(--linha); padding: 0.4rem 0; }
.faq summary { cursor: pointer; font-weight: 600; padding: 0.7rem 0; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.faq summary::after { content: '+'; color: var(--primaria); font-size: 1.3rem; line-height: 1; }
.faq[open] summary::after { content: '−'; }
.faq summary::-webkit-details-marker { display: none; }
.faq p { color: var(--texto-suave); }

/* Newsletter */
.newsletter { background: linear-gradient(120deg, var(--espaco) 0%, var(--espaco-2) 100%); color: #fff; padding: 3rem 0; border-top: 2px solid var(--cta); }
.newsletter-inner { display: grid; gap: 1.5rem; align-items: center; }
@media (min-width: 900px) { .newsletter-inner { grid-template-columns: 1fr 1.1fr; } }
.newsletter h2 { color: #fff; }
.newsletter p { color: rgba(255, 255, 255, 0.88); margin: 0; }
.nl-linha { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.nl-linha input { flex: 1 1 220px; min-width: 0; padding: 0.8rem 1rem; border-radius: 999px; border: 0; font: inherit; }
.consentimento { display: flex; gap: 0.5rem; align-items: flex-start; font-size: 0.85rem; margin-top: 0.8rem; line-height: 1.45; }
.consentimento input { margin-top: 0.2rem; flex: none; }
.newsletter .consentimento a { color: #fff; }
.nl-status { margin-top: 0.6rem !important; font-weight: 600; }

/* Página do destino */
.destino-topo { padding: 2rem 0 1.2rem; }
.migalhas { display: flex; flex-wrap: wrap; gap: 0.4rem; font-size: 0.88rem; color: var(--texto-suave); margin-bottom: 1rem; }
.migalhas a { color: var(--texto-suave); }
.subtitulo { font-size: 1.2rem; color: var(--texto-suave); max-width: 60ch; }
.meta { display: flex; align-items: center; gap: 0.35rem; color: var(--texto-suave); font-size: 0.9rem; flex-wrap: wrap; }
.destino-capa { margin-top: 0.5rem; margin-bottom: 2rem; }
.destino-capa img { width: 100%; max-height: 560px; object-fit: cover; border-radius: var(--raio); }
figcaption { font-size: 0.85rem; color: var(--texto-suave); margin-top: 0.5rem; display: flex; flex-wrap: wrap; gap: 0.2rem 0.8rem; }
.credito, .credito a { color: #8a939c; font-size: 0.78rem; }
.destino-grid { display: grid; gap: 2.5rem; padding-bottom: 3rem; }
@media (min-width: 1000px) { .destino-grid { grid-template-columns: minmax(0, 1fr) 300px; } }
.destino-texto { min-width: 0; max-width: 760px; }
.texto { font: 400 1.12rem/1.75 var(--fonte-leitura); }
.texto strong { font-weight: 600; }
.texto h2 { margin-top: 2.2rem; }
.texto h3 { margin-top: 1.6rem; }
.texto ul, .texto ol { padding-left: 1.3rem; }
.texto li { margin-bottom: 0.4rem; }
.figura { margin: 1.8rem 0; }
.figura img { width: 100%; border-radius: var(--raio); }
.fatos-rapidos { display: grid; gap: 1rem 1.4rem; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); background: var(--fundo-mar); border-radius: var(--raio); padding: 1.3rem; margin-bottom: 2rem; }
.fato { display: flex; gap: 0.7rem; align-items: flex-start; color: var(--primaria); }
.fato span { display: block; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--texto-suave); font-weight: 600; }
.fato strong { color: var(--texto); font-weight: 600; font-size: 0.97rem; line-height: 1.4; display: block; }
.video { position: relative; aspect-ratio: 16 / 9; margin: 2rem 0; border-radius: var(--raio); overflow: hidden; background: #000; }
.video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.roteiro, .mala, .faq-destino, .fontes, .promos-destino { margin-top: 2.8rem; }
.roteiro ol { list-style: none; padding: 0; margin: 0; border-left: 3px solid var(--fundo-mar); }
.roteiro li { position: relative; padding: 0 0 1.4rem 1.6rem; }
.roteiro li::before { content: ''; position: absolute; left: -9px; top: 0.35rem; width: 15px; height: 15px; border-radius: 50%; background: var(--primaria); border: 3px solid #fff; box-shadow: 0 0 0 2px var(--primaria); }
.roteiro-dia { font: 700 1rem var(--fonte-titulo); color: var(--primaria-escura); }
.roteiro p { margin: 0.2rem 0 0; }
.mala h2 { display: flex; align-items: center; gap: 0.5rem; }
.mala ul { list-style: none; padding: 0; display: grid; gap: 0.5rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.mala li { display: flex; gap: 0.5rem; align-items: flex-start; background: var(--fundo-suave); padding: 0.65rem 0.9rem; border-radius: 10px; }
.mala li svg { color: var(--primaria); flex: none; margin-top: 0.25rem; }
.fontes ul { font-size: 0.88rem; color: var(--texto-suave); padding-left: 1.2rem; }
.fontes h2 { font-size: 1.1rem; }
.destino-lateral { display: none; }
@media (min-width: 1000px) {
  .destino-lateral { display: block; }
  .lateral-card { position: sticky; top: 90px; background: var(--fundo-mar); border-radius: var(--raio); padding: 1.5rem; }
}
.lateral-card .rotulo { display: block; font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--primaria); margin-bottom: 0.4rem; }
.lateral-card strong { display: block; font: 700 1.3rem/1.25 var(--fonte-titulo); margin-bottom: 0.5rem; }
.lateral-card p { color: var(--texto-suave); font-size: 0.95rem; }
.lateral-card .btn { width: 100%; }
.barra-cotacao { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 40; display: flex; align-items: center; justify-content: center; gap: 0.4rem; background: var(--cta); color: var(--cta-texto); text-decoration: none; font-weight: 700; padding: 0.9rem; border-radius: 999px; box-shadow: 0 8px 24px rgba(10, 16, 32, 0.35); }
@media (min-width: 1000px) { .barra-cotacao { display: none; } }
@media (max-width: 999px) { .pagina-destino { padding-bottom: 70px; } }

/* Blocos dentro do texto */
.bloco-cotacao { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; font-family: var(--fonte-texto); background: linear-gradient(120deg, var(--espaco) 0%, var(--primaria) 100%); border-left: 4px solid var(--cta); color: #fff; border-radius: var(--raio); padding: 1.5rem; margin: 2.2rem 0; }
.bloco-cotacao strong { display: block; font: 700 1.2rem var(--fonte-titulo); color: var(--sol); margin-bottom: 0.3rem; }
.bloco-cotacao p { margin: 0; color: rgba(255, 255, 255, 0.9); font-size: 0.95rem; max-width: 46ch; }
.bloco-dica { font-family: var(--fonte-texto); font-size: 1rem; display: flex; gap: 0.8rem; background: #fff8e6; border-left: 4px solid var(--sol); border-radius: 10px; padding: 1rem 1.2rem; margin: 1.6rem 0; }
.bloco-dica p { margin: 0; }
.dica-icone { color: #c48a00; flex: none; }
.bloco-produtos { font-family: var(--fonte-texto); font-size: 1rem; border: 1px solid var(--linha); border-radius: var(--raio); padding: 1.2rem; margin: 2rem 0; }
.bloco-produtos .rotulo { font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--texto-suave); }
.produtos-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); margin-top: 0.8rem; }
.produto { display: flex; flex-direction: column; gap: 0.4rem; text-decoration: none; color: var(--texto); }
.produto img { aspect-ratio: 1; object-fit: contain; background: #fff; border-radius: 10px; }
.produto-nome { font-weight: 600; }
.produto-texto { font-size: 0.88rem; color: var(--texto-suave); }
.produto-botao { display: inline-flex; align-items: center; gap: 0.4rem; font-weight: 600; color: var(--primaria); font-size: 0.92rem; }
.aviso-afiliado { font-size: 0.75rem; color: #8a939c; margin: 0.8rem 0 0; }

/* Promoções */
.grid-promos { display: grid; gap: 1.4rem; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.promo-card { background: #fff; border-radius: var(--raio); overflow: hidden; box-shadow: var(--sombra); display: flex; flex-direction: column; }
.promo-card > img { aspect-ratio: 1; object-fit: cover; width: 100%; }
.promo-corpo { padding: 1.2rem; display: flex; flex-direction: column; gap: 0.3rem; flex: 1; }
.promo-corpo h3 { margin: 0.2rem 0; }
.promo-corpo p { margin: 0; }
.promo-corpo .btn { margin-top: auto; }
.promo-selo { align-self: flex-start; background: var(--cta); color: var(--cta-texto); font-size: 0.75rem; font-weight: 700; padding: 0.2rem 0.6rem; border-radius: 999px; text-transform: uppercase; }
.promo-preco { font: 800 1.5rem var(--fonte-titulo); color: var(--primaria-escura); }
.promo-inclui, .promo-condicoes { font-size: 0.88rem; color: var(--texto-suave); }
.promo-validade { font-size: 0.88rem; font-weight: 600; margin-bottom: 0.8rem !important; }
.promo-encerrada > img { filter: grayscale(1); opacity: 0.7; }
.promo-encerrada .promo-selo { background: #8a939c; }

/* Cotação */
.pagina-cotacao { background: var(--fundo-mar); padding: 2.5rem 0 4rem; min-height: 70vh; }
.cotacao-card { background: #fff; border-radius: 18px; box-shadow: var(--sombra); overflow: hidden; }
.cotacao-progresso { height: 6px; background: var(--fundo-suave); }
.cotacao-progresso span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--ouro-escuro), var(--cta)); transition: width 0.3s; }
#cotacao-passo { padding: clamp(1.4rem, 4vw, 2.5rem); }
#cotacao-passo form { display: flex; flex-direction: column; }
#cotacao-passo label:not(.opcao):not(.consentimento) { font-weight: 600; margin: 0.9rem 0 0.3rem; }
#cotacao-passo input[type='text'], #cotacao-passo input[type='tel'], #cotacao-passo input[type='email'], #cotacao-passo input[type='number'] { width: 100%; padding: 0.85rem 1rem; border: 1.5px solid var(--linha); border-radius: 10px; font: inherit; }
#cotacao-passo input:focus { outline: 2px solid var(--primaria); outline-offset: 1px; }
.cot-pergunta { font-size: clamp(1.35rem, 3vw, 1.7rem); margin-bottom: 0.4rem; }
.cot-contexto { font-size: 0.85rem; font-weight: 600; color: var(--primaria); text-transform: uppercase; letter-spacing: 0.05em; margin: 0 0 0.4rem; min-height: 1em; }
.cot-ajuda { color: var(--texto-suave); font-size: 0.95rem; }
.cot-promo { background: #fbf3e2; color: var(--ouro-escuro); padding: 0.6rem 0.9rem; border-radius: 10px; font-size: 0.92rem; }
.cot-opcoes { display: grid; gap: 0.6rem; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); margin-top: 1rem; }
.cot-meses { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
.opcao { display: flex; align-items: center; gap: 0.6rem; text-align: left; padding: 0.95rem 1.1rem; border: 1.5px solid var(--linha); border-radius: 12px; background: #fff; font: 500 1rem var(--fonte-texto); color: var(--texto); cursor: pointer; transition: border-color 0.15s, background 0.15s; }
.opcao small { color: var(--texto-suave); margin-left: auto; }
.opcao:hover { border-color: var(--primaria); }
.opcao.marcada { border-color: var(--primaria); background: var(--fundo-mar); font-weight: 600; }
.cot-multipla input { accent-color: var(--primaria); width: 18px; height: 18px; }
.cot-numero { display: flex; gap: 0.6rem; align-items: center; margin-top: 1rem; max-width: 260px; }
.cot-numero input { text-align: center; font-size: 1.3rem !important; font-weight: 700; }
.cot-numero .btn { width: 52px; height: 52px; padding: 0; font-size: 1.4rem; flex: none; }
.cot-acoes { display: flex; justify-content: space-between; align-items: center; gap: 0.6rem; margin-top: 1.8rem; flex-wrap: wrap; }
.cot-acoes > div { display: flex; gap: 0.4rem; flex-wrap: wrap; margin-left: auto; }
.cot-erro { color: #c0392b; font-weight: 600; margin: 0.6rem 0 0; min-height: 1.2em; }
.cot-resumo { margin: 1rem 0; display: grid; gap: 0; }
.cot-resumo div { display: grid; grid-template-columns: minmax(120px, 40%) 1fr; gap: 0.8rem; padding: 0.55rem 0; border-bottom: 1px solid var(--linha); font-size: 0.95rem; }
.cot-resumo dt { color: var(--texto-suave); }
.cot-resumo dd { margin: 0; font-weight: 600; }
.cot-parceiro { background: var(--fundo-mar); border-radius: 12px; padding: 1rem 1.2rem; }
.cot-parceiro p { margin: 0 0 0.5rem; }
.cot-horario { font-size: 0.88rem; color: var(--texto-suave); margin: 0 !important; }
.cot-fim { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 0.6rem; }
.cot-fim p { max-width: 50ch; }
.cot-fim-icone { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--whats); color: #fff; font-size: 2rem; font-weight: 700; }
.cotacao-nota { text-align: center; font-size: 0.85rem; color: var(--texto-suave); margin-top: 1rem; }

/* Rodapé */
.rodape { background: var(--espaco); border-top: 2px solid var(--cta); color: #b9c6cc; padding: 3rem 0 1.5rem; font-size: 0.93rem; }
.rodape-grid { display: grid; gap: 2rem; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.rodape h3 { color: #fff; font-size: 1rem; }
.rodape ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.4rem; }
.rodape a { color: #b9c6cc; text-decoration: none; }
.rodape a:hover { color: #fff; }
.marca-rodape { margin-bottom: 0.9rem; }
.rodape-portal { font-size: 0.88rem; }
.rodape-portal a { color: var(--sol) !important; }
.rodape .btn-youtube { margin-top: 0.3rem; color: #fff; }
.rodape-base { border-top: 1px solid rgba(255, 255, 255, 0.1); margin-top: 2rem; padding-top: 1.2rem; font-size: 0.82rem; }
.rodape-base p { margin: 0; }
.pagina-404 { padding: 5rem 0; text-align: center; }
.pagina-404 .hero-botoes { justify-content: center; }

/* Kit de viagem */
.kit { margin-top: 2.8rem; background: var(--fundo-mar); border-radius: 18px; padding: clamp(1.2rem, 3vw, 2rem); }
.kit-topo .rotulo { font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ouro-escuro); }
.kit-topo h2 { margin: 0.3rem 0 0.4rem; }
.kit-topo p { color: var(--texto-suave); }
.kit-perguntas { display: grid; gap: 1rem; background: #fff; border-radius: var(--raio); padding: 1.1rem; box-shadow: var(--sombra); }
.kit-rotulo { display: block; font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--texto-suave); margin-bottom: 0.45rem; }
.kit-contadores { display: flex; flex-wrap: wrap; gap: 0.6rem 1.4rem; }
.kit-contador { display: flex; align-items: center; gap: 0.6rem; }
.kit-contador > span { font-weight: 600; min-width: 4.6rem; }
.kit-contador div { display: flex; align-items: center; gap: 0.5rem; }
.kit-contador button { width: 36px; height: 36px; border-radius: 50%; border: 1.5px solid var(--linha); background: #fff; font-size: 1.2rem; cursor: pointer; color: var(--texto); }
.kit-contador button:disabled { opacity: 0.35; cursor: default; }
.kit-contador strong { min-width: 1.4rem; text-align: center; font-size: 1.1rem; }
.kit-bagagem { display: flex; gap: 0.9rem; align-items: flex-start; background: var(--espaco); color: #fff; border-radius: var(--raio); padding: 1.1rem 1.2rem; margin: 1rem 0; border-left: 4px solid var(--cta); }
.kit-bagagem strong { color: var(--sol); font-size: 1.05rem; }
.kit-bagagem p { margin: 0.3rem 0 0; color: #d6dce6; font-size: 0.95rem; }
.kit-icone { font-size: 1.8rem; line-height: 1; }
.kit-aviso { background: #fff8e6; border-left: 4px solid var(--cta); border-radius: 10px; padding: 0.8rem 1rem; font-size: 0.95rem; }
.kit-categoria h3 { margin: 1.4rem 0 0.6rem; font-size: 1rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--primaria); }
.kit-categoria ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.6rem; }
.kit-item { display: grid; grid-template-columns: auto 1fr; gap: 0.4rem 0.9rem; align-items: start; background: #fff; border-radius: 12px; padding: 0.85rem 1rem; box-shadow: 0 1px 3px rgba(10, 16, 32, 0.06); }




.kit-info strong { font-size: 0.98rem; }
.kit-info small { font-weight: 500; color: var(--texto-suave); }
.kit-info p { margin: 0.2rem 0 0; font-size: 0.88rem; color: var(--texto-suave); }
.kit-opcional { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; background: var(--fundo-suave); color: var(--texto-suave); padding: 0.1rem 0.45rem; border-radius: 999px; margin-left: 0.3rem; vertical-align: middle; }
.kit-lojas { grid-column: 2; display: flex; flex-wrap: wrap; gap: 0.4rem; }
.kit-loja { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.82rem; font-weight: 600; text-decoration: none; padding: 0.35rem 0.75rem; border-radius: 999px; border: 1px solid var(--linha); color: var(--texto); background: #fff; }
.kit-loja.principal { border-color: var(--cta); background: #fdf5e4; }
.kit-acoes { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1.4rem; }
.kit-acoes .btn { flex: 1 1 240px; }
.kit-nota { flex-basis: 100%; margin: 0; font-weight: 600; font-size: 0.9rem; min-height: 1.2em; }
.kit-acoes .aviso-afiliado { flex-basis: 100%; }
.lateral-kit { display: flex; align-items: center; justify-content: center; gap: 0.4rem; margin-top: 0.8rem; font-weight: 600; font-size: 0.92rem; color: var(--primaria); }
@media (max-width: 600px) {
  .kit { padding: 1.1rem 0.75rem; margin-left: -4px; margin-right: -4px; }
  .kit-perguntas { padding: 0.9rem; }
  .kit-item { padding: 0.8rem 0.75rem; gap: 0.4rem 0.6rem; }
  .kit-loja { padding: 0.3rem 0.6rem; }
}

/* Kit: toque para escolher + barra que acompanha a rolagem */
.kit-instrucao { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.3rem 1rem; margin-top: 1.2rem; }
.kit-instrucao p { margin: 0; font-size: 0.95rem; }
.kit-instrucao .btn-link { padding: 0.4rem 0.5rem; font-size: 0.88rem; color: var(--primaria); }
.kit-item { grid-template-columns: auto 1fr; cursor: pointer; border: 2px solid transparent; transition: border-color 0.15s, background 0.15s; user-select: none; }
.kit-item:hover { border-color: var(--linha); }
.kit-item:focus-visible { outline: 2px solid var(--primaria); outline-offset: 2px; }
.kit-item.quero { border-color: var(--cta); background: #fffaf0; }
.kit-marca { grid-row: span 2; width: 24px; height: 24px; border-radius: 50%; border: 2px solid #c7c2b6; margin-top: 0.1rem; display: grid; place-items: center; }
.kit-item.quero .kit-marca { background: var(--cta); border-color: var(--cta); }
.kit-item.quero .kit-marca::after { content: ''; width: 6px; height: 11px; border: solid var(--cta-texto); border-width: 0 2.5px 2.5px 0; transform: rotate(45deg) translate(-1px, -1px); }
.kit-barra { position: sticky; bottom: 12px; z-index: 30; margin-top: 1rem; display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; background: var(--espaco); color: #fff; border-radius: 14px; padding: 0.75rem 0.9rem; box-shadow: 0 10px 30px rgba(5, 8, 15, 0.35); border: 1px solid rgba(224, 169, 67, 0.5); }
.kit-barra-total { flex: 1 1 140px; font-size: 0.95rem; }
.kit-barra-total strong { color: var(--sol); font-size: 1.15rem; }
.kit-barra.vazia .kit-barra-total { color: #b9c3d0; }
.kit-barra-botoes { display: flex; gap: 0.5rem; }
.kit-barra-botoes .btn { padding: 0.6rem 1rem; font-size: 0.92rem; }
.kit-barra .kit-nota { flex-basis: 100%; margin: 0; font-size: 0.85rem; color: var(--sol); min-height: 0; }
.kit-barra .kit-nota:empty { display: none; }
body.no-kit .barra-cotacao { opacity: 0; pointer-events: none; }
.barra-cotacao { transition: opacity 0.2s; }

.btn-loja { background: #fff; color: var(--texto); gap: 0.4rem; }
.btn-loja:hover { background: var(--sol); }
.kit-barra-botoes { flex-wrap: wrap; }
.kit-barra-botoes .btn:disabled { opacity: 0.45; cursor: default; }
@media (max-width: 600px) {
  .kit-barra-botoes { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .kit-barra-botoes .btn-whats { grid-column: span 2; }
  .kit-barra-botoes .btn { padding: 0.55rem 0.5rem; font-size: 0.85rem; }
}

/* Kit em lista: nome, sugestão de quantidade (só referência) e dica */
.kit-item .kit-marca { grid-row: span 2; margin-top: 0.15rem; }
.kit-info strong { display: block; }
.kit-variante { font-weight: 500; color: var(--texto-suave); font-size: 0.88rem; }
.kit-sugestao { display: inline-block; margin-top: 0.3rem; font-size: 0.78rem; font-weight: 600; color: var(--ouro-escuro); background: #fbf3e2; padding: 0.15rem 0.55rem; border-radius: 999px; }

@media (max-width: 600px) {
  .so-pc { display: none; }
  .kit-barra-botoes { grid-template-columns: 1fr 1fr 1fr; }
  .kit-barra-botoes .btn-whats { grid-column: auto; }
  .kit-barra { padding: 0.6rem 0.7rem; }
}
