/* ============================================================
   We Love Chile · template de página de passeio em scrapbook
   Nasceu em 2026-09-28 a partir dos vídeos de design da Laise.
   v2 em 2026-09-29, depois da auditoria contra as referências dela.
   v3 no mesmo dia, depois da revisão dela: caderno e van em 3D, pilhas de cartas,
   pincel de tinta no fundo, galeria com mapa fixo, bolhas orbitando.
   v4 no mesmo dia, depois do vídeo de ajustes dela: menu e aviso só depois do vídeo,
   pincel pastel que acompanha a rolagem, guarda-chuvas, cadeado no caderno, rodapé amarelo.
   Carregar DEPOIS de wlc-paginas.css (cabeçalho, botões, rodapé
   e badges de avaliação vêm de lá; aqui entra só o scrapbook).
   Regras fixas: nada na diagonal; acento nunca em Chalkiez
   (título com acento vai em Lufga); número sempre em Lufga.
   ============================================================ */
:root {
  --verde: #2F7D4F;
  --verde-claro: #DDF2E4;
  --laranja: #E67A1C;
  --papel: #FFFDF8;
  --sombra-papel: 0 2px 3px rgba(60,40,20,.18), 0 10px 22px rgba(60,40,20,.20);
  --chalk: 'Chalkiez', 'Lufga', var(--font-sans-fb);
  --cursor-guarda: url(../assets/ui/cursor-guarda-chuva.png) 16 4;
  --cursor-olhos: url(../assets/ui/cursor-olhinhos.png) 16 16;
}

/* ---------- Cursor guarda-chuva (marca) e olhinhos no FAQ ---------- */
html, body { cursor: var(--cursor-guarda), auto; }
a, button, summary, label, select, input, textarea, [role="button"] { cursor: var(--cursor-guarda), pointer; }
.faq-chat, .faq-chat * { cursor: var(--cursor-olhos), auto; }
@media (pointer: coarse) { html, body, a, button, summary, .faq-chat, .faq-chat * { cursor: auto; } }

/* ---------- Carregando: guarda-chuva pulando ---------- */
.carregando {
  position: fixed; inset: 0; z-index: 999; background: var(--cream);
  display: grid; place-items: center; transition: opacity .45s ease, visibility .45s ease;
}
.carregando.some { opacity: 0; visibility: hidden; }
.carregando img { width: 96px; animation: guarda-pula 1.1s ease-in-out infinite; }
.carregando p { position: absolute; bottom: 12%; left: 0; right: 0; text-align: center; font-family: var(--chalk); font-size: 26px; color: var(--purple); }
@keyframes guarda-pula { 0%, 100% { transform: translateY(0) rotate(-8deg); } 50% { transform: translateY(-16px) rotate(8deg); } }

/* ---------- Faixa de aviso no topo ---------- */
.aviso {
  background: var(--yellow); color: var(--on-yellow); font-weight: 700; font-size: 14px;
  text-align: center; padding: 10px 52px 10px 16px; position: relative; border-bottom: 3px solid var(--navy);
}
.aviso a { text-decoration: underline; text-underline-offset: 3px; margin-left: 6px; }
.aviso__fechar {
  position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
  width: 32px; height: 32px; border-radius: 50%; background: rgba(27,42,94,.14); font-weight: 900; color: var(--navy);
}
.aviso[hidden] { display: none; }

/* ---------- Cabeçalho com mega menu ---------- */
.topo { z-index: 80; }
.topo__inner { min-height: 74px; }
.topo__marca img { height: 46px; width: auto; }
.menu { display: flex; align-items: center; gap: 4px; }
.menu__item { position: relative; }
.menu__btn, .menu > a {
  font-weight: 700; font-size: 14px; padding: 11px 14px; border-radius: 999px; color: var(--ink);
  display: inline-flex; align-items: center; gap: 6px; white-space: nowrap;
}
.menu__btn:hover, .menu > a:hover, .menu__item.aberto .menu__btn { background: rgba(27,42,94,.08); }
.menu__btn::after { content: ''; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .2s; }
.menu__item.aberto .menu__btn::after { transform: rotate(-135deg) translateY(-2px); }
.menu .topo__cta { background: var(--red-label); color: #fff; padding: 12px 22px; min-height: 44px; }
.menu .topo__cta:hover { background: var(--red-deep); color: #fff; }
.mega {
  position: absolute; left: 50%; top: calc(100% + 10px); transform: translateX(-50%) translateY(10px);
  width: min(1000px, calc(100vw - 32px)); background: var(--papel); border-radius: 26px; border: 3px solid var(--navy);
  box-shadow: 0 30px 70px rgba(27,42,94,.28); padding: 20px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;
  opacity: 0; visibility: hidden; transition: opacity .22s ease, transform .22s ease, visibility .22s;
}
.menu__item.aberto .mega { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.mega__col { border-radius: 18px; padding: 16px 16px 14px; color: #fff; min-height: 220px; }
.mega__col--neve { background: var(--navy); }
.mega__col--vinho { background: var(--purple); }
.mega__col--atacama { background: var(--laranja); }
.mega__col--gente { background: var(--teal); }
.mega__col h4 { font-family: var(--chalk); font-weight: 400; font-size: 26px; line-height: 1; margin-bottom: 10px; }
.mega__col h4.lufga { font-family: 'Lufga'; font-weight: 900; font-size: 20px; }
.mega__col a { display: block; font-size: 13.5px; padding: 5px 0; color: #fff; opacity: .95; line-height: 1.3; }
.mega__col a:hover { text-decoration: underline; text-underline-offset: 3px; opacity: 1; }
.mega__col .mega__tudo { margin-top: 10px; font-weight: 800; background: rgba(255,255,255,.16); border-radius: 999px; padding: 8px 12px; display: inline-block; }
.mega__col .mega__breve { font-size: 12px; opacity: .8; }
.menu-toggle { display: none; width: 44px; height: 44px; border-radius: 12px; background: var(--navy); color: var(--cream); font-size: 22px; line-height: 1; }
@media (max-width: 960px) {
  .menu-toggle { display: grid; place-items: center; }
  .menu { display: none; }
  .topo.menu-aberto .menu {
    display: flex; flex-direction: column; align-items: stretch; gap: 10px;
    position: fixed; left: 0; right: 0; top: 74px; bottom: 0; background: var(--cream); padding: 16px; overflow: auto; z-index: 90;
  }
  .topo.menu-aberto .menu__btn { width: 100%; justify-content: space-between; background: var(--papel); }
  .topo.menu-aberto .mega { position: static; transform: none; width: auto; grid-template-columns: 1fr; opacity: 1; visibility: visible; display: none; margin-top: 8px; padding: 12px; }
  .topo.menu-aberto .menu__item.aberto .mega { display: grid; }
  .topo.menu-aberto .mega__col { min-height: 0; }
  .topo.menu-aberto .menu > a { background: var(--papel); }
  .topo.menu-aberto .menu > a.topo__cta { background: var(--red-label); color: #fff; }
}

/* ---------- Vídeo de drone no topo, limpo ---------- */
.video-hero { position: relative; height: 100svh; min-height: 520px; background: #0d1330; overflow: hidden; }
.video-hero video { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---------- Hero de scrapbook (navy, neve caindo) ---------- */
.hero-scrap { position: relative; background: var(--navy); color: var(--cream); overflow: hidden; padding: 48px 0 0; }
.hero-scrap__padrao { position: absolute; inset: 0; background: url(../assets/scrapbook/main-pattern.webp) center / 900px repeat; opacity: .06; pointer-events: none; }
.neve { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.neve i { position: absolute; top: -12px; width: 6px; height: 6px; border-radius: 50%; background: var(--cream); opacity: .7; animation: neva linear infinite; }
@keyframes neva { to { transform: translateY(115vh) translateX(24px); } }
.hero-scrap__grid { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; gap: 40px; align-items: start; }
.migalhas-hero { font-size: 13px; opacity: .85; margin-bottom: 16px; }
.migalhas-hero a { text-decoration: underline; text-underline-offset: 3px; }
.tag-neve { display: inline-flex; align-items: center; gap: 8px; background: var(--red); color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; padding: 8px 14px; border-radius: 999px; }
.hero-scrap h1 { font-family: var(--chalk); font-weight: 400; font-size: clamp(46px, 7vw, 88px); line-height: .95; margin: 20px 0 0; color: var(--cream); }
.hero-scrap h1 .marca-amarela { color: var(--yellow); display: inline-block; }
.hero-scrap h1 small { display: block; font-size: .52em; margin-top: .18em; }
.hero-scrap__linha { font-size: 18px; line-height: 1.55; max-width: 56ch; margin: 24px 0 18px; color: rgba(243,232,213,.92); }
.nota-social { display: inline-flex; align-items: center; gap: 10px; background: var(--papel); color: var(--ink); border-radius: 14px; padding: 10px 14px; font-weight: 700; font-size: 14px; box-shadow: var(--sombra-papel); }
.nota-social strong { font-size: 24px; font-weight: 900; line-height: 1; }
.nota-social .estrelas { color: var(--yellow-deep); letter-spacing: 1px; }
.nota-social small { color: var(--muted); font-weight: 600; }
.pilulas { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0; }
.pilula { border: 2px solid rgba(243,232,213,.5); border-radius: 999px; padding: 8px 14px; font-size: 13px; font-weight: 700; display: inline-flex; gap: 8px; align-items: center; }
.pilula img { width: 20px; height: 20px; }
.hero-scrap__acoes { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 28px; }
.preco-mao { font-family: var(--chalk); font-size: 24px; color: var(--yellow); }
.preco-mao [data-preco], .montanha__nota b, .nome-vivo__titulo em b { font-family: 'Lufga', var(--font-sans-fb); font-weight: 900; }
.hero-scrap .btn--contorno { color: var(--cream); box-shadow: inset 0 0 0 2px var(--cream); }

.colagem { position: relative; padding-top: 10px; }
.polaroid { position: relative; background: var(--papel); padding: 10px 10px 44px; box-shadow: var(--sombra-papel); border-radius: 4px; }
.polaroid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #cfd8e6; display: block; }
.polaroid--q img { aspect-ratio: 1; }
.polaroid figcaption { position: absolute; left: 0; right: 0; bottom: 10px; text-align: center; font-family: var(--chalk); font-size: 19px; color: #3A2418; padding: 0 8px; }
.polaroid .washi { position: absolute; left: 50%; top: -14px; width: 150px; height: auto; aspect-ratio: auto; object-fit: contain; background: none; transform: translateX(-50%); filter: drop-shadow(0 2px 3px rgba(0,0,0,.25)); z-index: 2; }
.polaroid .ilustr { position: absolute; right: 16px; top: 16px; font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; background: rgba(27,42,94,.82); color: #fff; padding: 3px 7px; border-radius: 999px; }
.colagem .polaroid--grande { width: min(400px, 100%); margin: 24px auto 0; animation: flutua 6s ease-in-out infinite; }
.colagem__par { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 400px; margin: 26px auto 0; align-items: start; }
.colagem__par .polaroid { padding-bottom: 40px; animation: flutua 7s ease-in-out infinite; }
.colagem__par .polaroid figcaption { font-size: 16px; }
.colagem__par .polaroid:last-child { animation-delay: 1.2s; margin-top: 22px; }
.etiqueta-preco {
  position: relative; width: max-content; max-width: 100%; margin: 28px auto 0; background: var(--papel); color: var(--ink);
  border-radius: 14px; padding: 14px 22px; box-shadow: var(--sombra-papel); display: flex; align-items: center; gap: 16px;
}
.etiqueta-preco small { display: block; font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--red-deep); }
.etiqueta-preco strong { font-size: 38px; font-weight: 900; line-height: 1; display: block; margin: 4px 0; }
.etiqueta-preco span { font-size: 12px; color: var(--muted); }
.etiqueta-preco .clipe { position: absolute; top: -20px; right: 14px; width: 26px; }
.etiqueta-preco .coracao { width: 40px; animation: pulsa 3s ease-in-out infinite; }
.selo-santiago { position: absolute; left: 4px; top: 30px; width: 96px; z-index: 3; filter: drop-shadow(0 4px 6px rgba(0,0,0,.35)); animation: flutua 5s ease-in-out infinite; }
@keyframes flutua { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes pulsa { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.12); } }

/* montanha recortada com a van de verdade subindo */
.montanha { position: relative; height: 190px; margin-top: 26px; }
.montanha svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.montanha__nota { position: absolute; right: 28px; top: 16px; font-family: var(--chalk); font-size: 22px; color: var(--cream); }
@media (max-width: 700px) { .montanha { height: 130px; } .montanha__nota { font-size: 17px; right: 14px; } }

/* ---------- Faixa amarela correndo ---------- */
.faixa { background: var(--yellow); color: var(--navy); border-top: 3px solid var(--navy); border-bottom: 3px solid var(--navy); overflow: hidden; padding: 12px 0; }
.faixa__trilho { display: flex; width: max-content; animation: corre 34s linear infinite; }
.faixa__trilho:hover { animation-play-state: paused; }
.faixa__grupo { display: flex; align-items: center; gap: 34px; padding-right: 34px; font-size: 14px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; white-space: nowrap; }
.faixa__grupo img { height: 26px; width: auto; }
@keyframes corre { to { transform: translateX(-50%); } }

/* ---------- Nome vivo: bolinhas viram o nome e explodem em fotos ---------- */
.nome-vivo { position: relative; background: transparent; }
.nome-vivo__pista { height: 340vh; position: relative; }
.nome-vivo__palco { position: sticky; top: 0; height: 100svh; min-height: 560px; overflow: hidden; display: grid; place-items: center; }
.nome-vivo canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.nome-vivo__titulo { position: relative; z-index: 2; font-weight: 900; font-size: clamp(44px, 9.5vw, 136px); line-height: .92; text-align: center; letter-spacing: -.02em; color: var(--navy); opacity: 0; margin: 0; }
.nome-vivo__titulo span { display: block; }
.nome-vivo__titulo .acento { color: var(--red); }
.nome-vivo__titulo em { display: block; font-style: normal; font-family: var(--chalk); font-weight: 400; font-size: .32em; letter-spacing: 0; color: var(--purple); margin-top: .2em; }
.bolha { position: absolute; left: 0; top: 0; z-index: 3; width: var(--t, 120px); height: var(--t, 120px); border-radius: 50%; overflow: hidden; box-shadow: 0 12px 30px rgba(27,42,94,.25); border: 4px solid var(--papel); opacity: 0; transform: scale(0); will-change: transform, opacity; }
.bolha--orb { border: 0; box-shadow: 0 16px 40px rgba(27,42,94,.16); }
.bolha--orb-amarelo { background: radial-gradient(circle at 34% 32%, #FFE9A8, #F5B71C 52%, #D99512 100%); }
.bolha--orb-vermelho { background: radial-gradient(circle at 34% 32%, #FF9A9C, #DB3A3D 52%, #B02026 100%); }
.bolha--orb-teal { background: radial-gradient(circle at 34% 32%, #8FD6D2, #0E6A6C 55%, #084C4E 100%); }
.bolha--orb-roxo { background: radial-gradient(circle at 34% 32%, #C88BB0, #5A2246 55%, #3B1530 100%); }
.bolha--video { border-color: var(--yellow); }
.bolha img, .bolha video { width: 100%; height: 100%; object-fit: cover; display: block; }
.nome-vivo__destaque { position: absolute; z-index: 4; left: 50%; top: 50%; width: 160px; height: 160px; transform: translate(-50%, -50%); border-radius: 50%; overflow: hidden; opacity: 0; box-shadow: 0 20px 60px rgba(27,42,94,.35); background: #0d1330; }
.nome-vivo__destaque video { width: 100%; height: 100%; object-fit: cover; display: block; }
.nome-vivo__legenda { position: absolute; z-index: 5; left: 50%; bottom: 30px; transform: translateX(-50%); color: #fff; font-family: var(--chalk); font-size: 28px; text-shadow: 0 2px 8px rgba(0,0,0,.55); opacity: 0; white-space: nowrap; }
.nome-vivo--estatico .nome-vivo__pista { height: auto; }
.nome-vivo--estatico .nome-vivo__palco { position: static; height: auto; min-height: 0; padding: 64px 20px 40px; display: block; }
.nome-vivo--estatico canvas { display: none; }
.nome-vivo--estatico .nome-vivo__titulo { opacity: 1; }
.nome-vivo--estatico .bolhas { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 22px; }
.nome-vivo--estatico .bolha { position: static; opacity: 1; transform: none; width: 110px; height: 110px; }
.nome-vivo--estatico .bolha--orb { width: 60px; height: 60px; align-self: center; }
.nome-vivo--estatico .nome-vivo__destaque { position: relative; left: auto; top: auto; transform: none; width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: 22px; opacity: 1; margin: 22px auto 0; max-width: 900px; }
.nome-vivo--estatico .nome-vivo__legenda { position: static; transform: none; opacity: 1; color: var(--purple); text-shadow: none; text-align: center; display: block; margin-top: 12px; white-space: normal; }

/* ---------- Seções em scrapbook ---------- */
.secao-scrap { padding: clamp(64px, 8vw, 110px) 0; position: relative; }
.h-chalk { font-family: var(--chalk); font-weight: 400; font-size: clamp(38px, 4.8vw, 64px); line-height: .98; color: var(--purple); }
.h-lufga { font-family: 'Lufga', var(--font-sans-fb); font-weight: 900; font-size: clamp(32px, 4.2vw, 56px); line-height: 1.02; letter-spacing: -.02em; color: var(--purple); }
.no-navy .h-chalk, .no-navy .h-lufga, .no-vermelho .h-chalk, .no-vermelho .h-lufga, .reserva-scrap .h-chalk, .reserva-scrap .h-lufga, .caderno-scrap .h-chalk, .caderno-scrap .h-lufga { color: var(--cream); }
.eyebrow { font-size: 11px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; color: var(--red-deep); display: block; margin-bottom: 10px; }
.no-navy .eyebrow, .no-vermelho .eyebrow, .reserva-scrap .eyebrow, .caderno-scrap .eyebrow { color: var(--yellow); }
.duas { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 64px); align-items: center; }
.paragrafo { font-size: 17px; line-height: 1.65; color: #2E2B3F; margin-top: 18px; max-width: 60ch; }
.paragrafo mark { background: linear-gradient(transparent 45%, var(--yellow) 45%, var(--yellow) 92%, transparent 92%); color: var(--ink); font-weight: 700; }
.nota-mao { font-family: var(--chalk); font-size: 24px; color: var(--blue); display: inline-flex; align-items: center; gap: 10px; margin-top: 18px; }
.nota-mao img { width: 44px; }

.numeros { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 28px; }
.numero { border-radius: 22px; padding: 22px 12px 16px; text-align: center; color: var(--cream); }
.numero--vermelho { background: var(--red); }
.numero--navy { background: var(--navy); }
.numero--teal { background: var(--teal); }
.numero strong { display: block; font-size: clamp(30px, 3.6vw, 50px); font-weight: 900; line-height: 1; letter-spacing: -.02em; white-space: nowrap; }
.numero span { display: block; font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; margin-top: 8px; }

.estrada-card { position: relative; background: var(--papel); border-radius: 24px; box-shadow: var(--sombra-papel); padding: 22px; }
.estrada-card .washi { position: absolute; left: 50%; top: -14px; width: 170px; transform: translateX(-50%); filter: drop-shadow(0 2px 3px rgba(60,40,20,.25)); }
.estrada-card__topo { display: flex; justify-content: space-between; gap: 10px; font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.estrada-card__topo b { color: var(--red-deep); white-space: nowrap; }
.estrada-card svg { width: 100%; height: auto; display: block; margin-top: 10px; overflow: visible; }
.estrada-card .etq { position: absolute; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.estrada-card .etq--santiago { left: 30px; bottom: 26px; color: var(--teal); }
.estrada-card .etq--base { right: 26px; top: 64px; color: var(--red-deep); text-align: right; }
.estrada-card .etq--base span { display: block; font-weight: 500; letter-spacing: 0; text-transform: none; color: #4A4357; }
.estrada-card .curva32 { position: absolute; left: 56%; top: 57%; font-family: var(--chalk); font-size: 20px; color: var(--ink); background: var(--yellow); padding: 4px 10px; border-radius: 6px; box-shadow: 0 2px 4px rgba(0,0,0,.15); line-height: 1.05; }
.estrada-card .curva32 span { display: block; font-family: 'Lufga'; font-size: 12px; font-weight: 600; }

/* ---------- Roteiro: a van percorrendo a estrada ---------- */
.roteiro-scrap { background: transparent; }
.roteiro__intro { text-align: center; max-width: 760px; margin: 0 auto 30px; }
.roteiro__intro .paragrafo { margin: 14px auto 0; }
.trilha { position: relative; max-width: 980px; margin: 10px auto 0; }
.trilha__svg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; z-index: 1; }
.trilha__svg .asfalto { stroke: #CFC8BC; stroke-width: 36; fill: none; stroke-linecap: round; }
.trilha__svg .faixa-amarela { stroke: var(--yellow); stroke-width: 4; fill: none; stroke-dasharray: 18 16; stroke-linecap: round; }
.trilha__svg .cobre { stroke: var(--cream-soft); stroke-width: 46; fill: none; stroke-linecap: butt; }
.trilha__van { width: 92px; }
.paradas { list-style: none; display: grid; gap: clamp(40px, 8vw, 90px); position: relative; padding: 24px 0 40px; z-index: 2; }
.parada { display: grid; grid-template-columns: 1fr 96px 1fr; align-items: center; gap: 12px; }
.parada__marco { grid-column: 2; justify-self: center; width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; font-weight: 900; font-size: 24px; color: #fff; box-shadow: 0 0 0 6px var(--cream-soft), 0 10px 24px rgba(27,42,94,.25); position: relative; }
.parada__card { background: var(--papel); border-radius: 22px; padding: 16px; box-shadow: var(--sombra-papel); display: grid; grid-template-columns: 148px 1fr; gap: 16px; align-items: start; }
.parada:nth-child(odd) .parada__card { grid-column: 3; }
.parada:nth-child(even) .parada__card { grid-column: 1; grid-row: 1; }
.parada:nth-child(even) .parada__marco { grid-row: 1; }
/* a estrada serpenteia: cada marco sai do centro para o lado oposto do card */
.parada:nth-child(odd) .parada__marco { transform: translateX(-86px); }
.parada:nth-child(even) .parada__marco { transform: translateX(86px); }
.parada__card .polaroid { padding: 6px 6px 8px; }
.parada__card .polaroid img, .parada__card .polaroid video { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; background: #cfd8e6; }
.tag-video { position: absolute; left: 12px; top: 12px; font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; background: var(--red); color: #fff; padding: 3px 8px; border-radius: 999px; display: inline-flex; align-items: center; gap: 6px; }
.tag-video::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #fff; animation: pulsa 1.2s ease-in-out infinite; }
.parada__hora { display: inline-block; border-radius: 999px; padding: 6px 12px; font-size: 12px; font-weight: 800; color: #fff; letter-spacing: .04em; }
.parada__card h3 { font-family: 'Lufga'; font-weight: 800; font-size: 20px; line-height: 1.15; color: var(--navy); margin: 10px 0 6px; }
.parada__card p { font-size: 14.5px; line-height: 1.5; color: #4A4357; }
.c-vermelho { background: var(--red); } .c-laranja { background: var(--laranja); } .c-azul { background: var(--blue); } .c-teal { background: var(--teal); } .c-roxo { background: var(--purple); }
.roteiro__fim { text-align: center; font-family: var(--chalk); font-size: 28px; color: var(--purple); margin-top: 10px; }

/* mapa colorido com as paradas acendendo a galeria */
.mapa-paradas { background: var(--papel); border-radius: 28px; box-shadow: var(--sombra-papel); padding: 22px; position: relative; }
.mapa-paradas .washi { position: absolute; left: 50%; top: -14px; width: 180px; transform: translateX(-50%); filter: drop-shadow(0 2px 3px rgba(60,40,20,.25)); }
.mapa-paradas__titulo { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px; }
.mapa-paradas__titulo h3 { font-family: 'Lufga'; font-weight: 900; font-size: 22px; color: var(--navy); }
.mapa-paradas__titulo span { font-family: var(--chalk); font-size: 20px; color: var(--red-deep); }
.mapa { width: 100%; height: auto; display: block; overflow: visible; }
.mapa .rota { fill: none; stroke: var(--navy); stroke-width: 4; stroke-dasharray: 10 10; stroke-linecap: round; opacity: .7; }
.mapa .rota-feita { fill: none; stroke: var(--yellow); stroke-width: 6; stroke-linecap: round; }
.mapa-parada { cursor: var(--cursor-guarda), pointer; }
.mapa-parada .halo { fill: var(--yellow); opacity: 0; transform-box: fill-box; transform-origin: center; }
.mapa-parada.ativa .halo { animation: halo 1.6s ease-out infinite; }
.mapa-parada .bola { fill: var(--papel); stroke: var(--navy); stroke-width: 4; transition: transform .2s; transform-box: fill-box; transform-origin: center; }
.mapa-parada.ativa .bola { fill: var(--yellow); transform: scale(1.12); }
.mapa-parada text { font-family: 'Lufga', sans-serif; font-weight: 800; font-size: 13px; fill: var(--navy); }
.mapa-parada .icone { pointer-events: none; }
@keyframes halo { 0% { transform: scale(1); opacity: .75; } 100% { transform: scale(2.6); opacity: 0; } }
.galeria-parada h3 { font-family: 'Lufga'; font-weight: 900; font-size: 22px; color: var(--navy); display: flex; align-items: center; gap: 10px; }
.galeria-parada .luz { display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 6px rgba(245,183,28,.35); }
.galeria-parada p { font-size: 14px; color: #4A4357; margin: 6px 0 12px; line-height: 1.5; }
.galeria-parada__grade { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.galeria-parada__grade figure { position: relative; margin: 0; }
.galeria-parada__grade img, .galeria-parada__grade video { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; background: #dfe6f0; display: block; animation: sobe-pop .5s ease both; }
.galeria-parada__grade figure:nth-child(2) img { animation-delay: .08s; } .galeria-parada__grade figure:nth-child(3) img { animation-delay: .16s; } .galeria-parada__grade figure:nth-child(4) img { animation-delay: .24s; }
.galeria-parada__grade figcaption { position: absolute; left: 8px; bottom: 8px; font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; background: rgba(27,42,94,.82); color: #fff; padding: 3px 7px; border-radius: 999px; }
.galeria-parada__passos { display: flex; gap: 8px; margin-top: 14px; flex-wrap: wrap; }
.galeria-parada__passos button { border: 2px solid var(--navy); border-radius: 999px; padding: 6px 12px; font-size: 12px; font-weight: 700; color: var(--ink); }
.galeria-parada__passos button[aria-pressed="true"] { background: var(--navy); color: var(--cream); }

/* ---------- Inclui e não inclui: nota da base ---------- */
.base-basta { margin-top: 30px; background: var(--papel); border-radius: 22px; padding: 22px 26px; box-shadow: var(--sombra-papel); display: grid; grid-template-columns: auto 1fr; gap: 20px; align-items: center; }
.base-basta img { width: 96px; }
.base-basta strong { display: block; font-size: 18px; font-weight: 800; color: var(--ink); }
.base-basta p { font-size: 15px; line-height: 1.6; color: #4A4357; margin-top: 6px; }

/* ---------- Preço em cartão de embarque ---------- */
.preco-scrap { background: var(--yellow); color: var(--ink); position: relative; overflow: hidden; }
.preco-scrap .h-chalk { color: var(--purple); }
.preco-scrap .eyebrow { color: var(--purple); }
.chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.chip { background: var(--navy); color: var(--cream); border-radius: 999px; padding: 8px 16px; font-size: 13px; font-weight: 800; }
.privativo-nota { margin-top: 22px; background: var(--papel); border-radius: 18px; padding: 16px 20px; font-size: 14px; line-height: 1.55; box-shadow: var(--sombra-papel); }
.privativo-nota strong { color: var(--purple); }
.privativo-nota a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; font-weight: 700; }
.ticket-wrap { position: relative; padding: 20px 10px; }
.ticket { position: relative; background: var(--papel); border-radius: 22px; box-shadow: 0 18px 40px rgba(27,42,94,.22); display: grid; grid-template-columns: 1fr 150px; overflow: hidden; }
.ticket__corpo { padding: 26px 28px 24px; position: relative; }
.ticket__cab { display: flex; justify-content: space-between; gap: 10px; font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.ticket__cab b { color: var(--red-deep); }
.abas { display: inline-flex; gap: 4px; background: var(--cream); border-radius: 999px; padding: 4px; margin-top: 16px; }
.aba { border-radius: 999px; padding: 8px 14px; font-size: 12px; font-weight: 800; color: var(--ink); }
.aba[aria-selected="true"] { background: var(--navy); color: var(--cream); }
.ticket__rotulo { font-size: 12px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; color: var(--muted); margin-top: 22px; }
.ticket__valor { font-size: clamp(48px, 6vw, 68px); font-weight: 900; line-height: 1; margin-top: 6px; letter-spacing: -.03em; color: var(--ink); }
.ticket__valor small { font-size: .38em; vertical-align: top; margin-right: 6px; position: relative; top: .35em; font-weight: 800; }
.ticket__nota { font-size: 13px; color: #4A4357; margin-top: 8px; min-height: 20px; }
.codigo-barras { display: flex; gap: 2px; height: 34px; align-items: flex-end; margin-top: 20px; }
.codigo-barras b { display: block; background: var(--ink); height: 100%; }
.codigo-barras span { margin-left: auto; align-self: center; font-size: 11px; font-weight: 800; letter-spacing: .16em; color: var(--muted); }
.ticket__canhoto { background: var(--red); color: var(--cream); padding: 24px 16px; position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 14px; }
.ticket__canhoto::before { content: ''; position: absolute; left: -7px; top: 0; bottom: 0; width: 14px; background-image: radial-gradient(circle, var(--papel) 5px, transparent 5.5px); background-size: 14px 20px; background-repeat: repeat-y; background-position: 0 10px; }
.ticket__canhoto small { font-size: 10px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; opacity: .85; display: block; }
.ticket__canhoto strong { font-size: 32px; font-weight: 900; line-height: 1; display: block; }
.ticket__canhoto .chalk { font-family: var(--chalk); font-size: 22px; line-height: 1.05; max-width: 74px; }
.lacre { position: absolute; right: -18px; bottom: -30px; width: 96px; filter: drop-shadow(0 4px 8px rgba(60,40,20,.35)); z-index: 3; }
.clipe-ticket { position: absolute; left: 34px; top: -6px; width: 36px; z-index: 3; filter: drop-shadow(0 2px 3px rgba(0,0,0,.3)); }
.preco-scrap .mala-solta { position: absolute; right: -30px; bottom: -30px; width: 200px; opacity: .9; border-radius: 999px 999px 0 0; animation: flutua 7s ease-in-out infinite; pointer-events: none; }

/* ---------- Avaliações: tickets de embarque passando ---------- */
.avaliacoes-scrap { background: transparent; overflow: hidden; }
.avaliacoes-scrap__cab { text-align: center; max-width: 760px; margin: 0 auto; }
.badges { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 18px; }
.trilho-tickets { margin-top: 36px; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.trilho-tickets__fita { display: flex; gap: 22px; width: max-content; animation: corre 70s linear infinite; padding: 10px 0; }
.trilho-tickets__fita:hover { animation-play-state: paused; }
.ticket-dep { width: 380px; flex: none; background: var(--papel); border-radius: 18px; box-shadow: var(--sombra-papel); display: grid; grid-template-columns: 1fr 92px; overflow: hidden; }
.ticket-dep__corpo { padding: 18px 20px; }
.ticket-dep__rota { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; font-size: 10px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.ticket-dep__rota b { font-size: 22px; color: var(--navy); letter-spacing: 0; }
.ticket-dep__texto { font-size: 14px; line-height: 1.5; color: #2E2B3F; margin-top: 10px; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.ticket-dep__rodape { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 12px; font-size: 12px; color: var(--muted); border-top: 1px dashed var(--line); padding-top: 10px; }
.ticket-dep__rodape strong { color: var(--ink); }
.ticket-dep__estrelas { color: var(--yellow-deep); letter-spacing: 1px; }
.ticket-dep__canhoto { background: var(--navy); color: var(--cream); position: relative; padding: 14px 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; }
.ticket-dep__canhoto::before { content: ''; position: absolute; left: -7px; top: 0; bottom: 0; width: 14px; background-image: radial-gradient(circle, var(--papel) 4px, transparent 4.5px); background-size: 14px 18px; background-repeat: repeat-y; background-position: 0 9px; }
.ticket-dep__canhoto small { font-size: 9px; letter-spacing: .16em; text-transform: uppercase; font-weight: 800; opacity: .8; }
.ticket-dep__canhoto b { font-size: 20px; font-weight: 900; }
.ticket-dep:nth-child(3n+2) .ticket-dep__canhoto { background: var(--red); }
.ticket-dep:nth-child(3n+3) .ticket-dep__canhoto { background: var(--teal); }
.selos-faixa { margin-top: 36px; background: var(--purple); background-image: linear-gradient(rgba(255,255,255,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.09) 1px, transparent 1px); background-size: 26px 26px; padding: 22px 0; overflow: hidden; border-radius: 22px; }
.selos-faixa__fita { display: flex; gap: 22px; width: max-content; animation: corre 52s linear infinite; align-items: stretch; padding: 0 11px; }
.selos-faixa__fita:hover { animation-play-state: paused; }
.selo { position: relative; background: var(--papel); color: var(--ink); padding: 18px 26px; display: inline-flex; align-items: center; gap: 12px; white-space: nowrap; min-height: 84px;
  -webkit-mask: radial-gradient(circle at 0 0, transparent 6px, #000 6.5px) 0 0 / 20px 20px, linear-gradient(#000, #000) center / calc(100% - 20px) calc(100% - 20px) no-repeat;
  mask: radial-gradient(circle at 0 0, transparent 6px, #000 6.5px) 0 0 / 20px 20px, linear-gradient(#000, #000) center / calc(100% - 20px) calc(100% - 20px) no-repeat;
  -webkit-mask-composite: source-over; mask-composite: add; }
.selo::after { content: ''; position: absolute; inset: 9px; border: 2px dashed rgba(27,42,94,.16); pointer-events: none; }
.selo--google { background: #FFF6E5; } .selo--trip { background: #E4FBF3; } .selo--sernatur { background: #E8EEFF; } .selo--reclame { background: #E9F8EC; } .selo--desde { background: #FBE1E0; } .selo--van { background: #FFF1C9; } .selo--cnpj { background: #EEF6FB; }
.selo small { font-size: 11.5px; font-weight: 700; color: var(--muted); line-height: 1.2; }
.selo small b, .selo small span { color: var(--ink); font-weight: 900; }
.selo__num { font-size: 24px; font-weight: 900; line-height: 1; letter-spacing: -.02em; }
.selo i { font-style: normal; font-weight: 900; font-size: 17px; letter-spacing: -.01em; display: inline-flex; align-items: center; gap: 7px; line-height: 1; }
.logo-google b:nth-child(1), .logo-google b:nth-child(4) { color: #4285F4; }
.logo-google b:nth-child(2), .logo-google b:nth-child(6) { color: #EA4335; }
.logo-google b:nth-child(3) { color: #FBBC05; }
.logo-google b:nth-child(5) { color: #34A853; }
.logo-trip { color: #111; }
.logo-trip em { width: 18px; height: 18px; border-radius: 50%; background: #34E0A1; display: inline-block; box-shadow: inset 0 0 0 4px #111, inset 0 0 0 6px #34E0A1; }
.logo-sernatur { color: #0033A0; }
.logo-sernatur em { width: 22px; height: 15px; border-radius: 3px; display: inline-block; background: linear-gradient(180deg, transparent 0 50%, #D52B1E 50%), linear-gradient(90deg, #0033A0 0 36%, #fff 36%); box-shadow: 0 0 0 1px rgba(27,42,94,.25); }
.logo-reclame { color: #1B7F3A; }
.logo-reclame b { color: #0EAA4B; }
.selo--desde .selo__num { color: var(--red-deep); }
.selo--van img { width: 56px; height: auto; }
.bandeiras { display: inline-flex; gap: 5px; }
.bandeiras em { width: 22px; height: 15px; border-radius: 3px; display: inline-block; box-shadow: 0 0 0 1px rgba(27,42,94,.25); }
.bandeiras .br { background: radial-gradient(circle at 50% 50%, #002776 0 2.5px, #FFDF00 3px 6px, #009C3B 6.5px); }
.bandeiras .cl { background: linear-gradient(180deg, transparent 0 50%, #D52B1E 50%), linear-gradient(90deg, #0033A0 0 36%, #fff 36%); }

/* ---------- Reserva: formulário de scrapbook ---------- */
.reserva-scrap { background: var(--red); color: var(--cream); position: relative; overflow: hidden; }
.reserva-scrap__padrao { position: absolute; inset: 0; background: url(../assets/scrapbook/main-pattern.webp) center / 900px repeat; opacity: .05; pointer-events: none; }
.reserva-scrap .paragrafo { color: rgba(243,232,213,.92); }
.reserva-scrap .btn--contorno { color: var(--cream); box-shadow: inset 0 0 0 2px var(--cream); }
.reserva-scrap .van-solta { width: min(360px, 100%); margin-top: 26px; filter: drop-shadow(0 14px 24px rgba(0,0,0,.35)); animation: flutua 6s ease-in-out infinite; }
.form-card { position: relative; background: var(--papel); color: var(--ink); border-radius: 24px; padding: clamp(24px, 3vw, 36px); box-shadow: 0 22px 54px rgba(0,0,0,.25); display: grid; gap: 16px; }
.form-card .washi { position: absolute; left: 50%; top: -20px; width: 180px; transform: translateX(-50%); filter: drop-shadow(0 2px 3px rgba(60,40,20,.22)); }
.form-card .lacre { right: -24px; bottom: -24px; width: 90px; }
.form-card__linha { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.campo { display: grid; gap: 6px; font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: #4A4357; }
.campo input, .campo select, .campo textarea { border: 2px solid var(--navy); border-radius: 999px; padding: 12px 16px; font-size: 15px; background: var(--cream); color: var(--ink); letter-spacing: 0; text-transform: none; font-weight: 500; width: 100%; font-family: inherit; }
.campo textarea { border-radius: 16px; resize: vertical; min-height: 84px; }
.campo input:focus, .campo textarea:focus { outline: none; box-shadow: 0 0 0 4px rgba(219,58,61,.28); }
.opcoes { display: flex; flex-wrap: wrap; gap: 8px; letter-spacing: 0; text-transform: none; }
.opcao { border: 2px solid var(--navy); border-radius: 999px; padding: 10px 16px; font-size: 13px; font-weight: 700; background: transparent; color: var(--ink); }
.opcao[aria-pressed="true"] { background: var(--navy); color: var(--cream); }
.btn--teal { background: var(--teal); color: #fff; box-shadow: 0 4px 0 #084c4e; animation: pulsa-sombra 2.4s ease-out infinite; }
.btn--teal:hover { background: #0b5a5c; }
@keyframes pulsa-sombra { 0% { box-shadow: 0 4px 0 #084c4e, 0 0 0 0 rgba(14,106,108,.45); } 70% { box-shadow: 0 4px 0 #084c4e, 0 0 0 18px rgba(14,106,108,0); } 100% { box-shadow: 0 4px 0 #084c4e, 0 0 0 0 rgba(14,106,108,0); } }
.form-card__aviso { font-size: 12px; line-height: 1.5; color: #7A7388; }
.btn--mala { background: var(--yellow); color: var(--navy); box-shadow: 0 4px 0 var(--yellow-deep); }
.btn--mala[data-na-mala="1"] { background: var(--verde); color: #fff; box-shadow: 0 4px 0 #1f5a37; }
#confete { position: fixed; inset: 0; pointer-events: none; z-index: 900; display: none; }

/* ---------- FAQ em chat colorido ---------- */
.faq-chat { background: var(--cream); }
.faq-chat__cab { max-width: 760px; }
.chat { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 22px; margin-top: 36px; align-items: start; }
.pergunta { --cor: var(--red); background: var(--papel); border-radius: 18px 18px 4px 18px; box-shadow: 0 2px 6px rgba(27,42,94,.08); position: relative; overflow: hidden; transition: transform .16s ease; }
.pergunta:hover { transform: translateX(4px); }
.pergunta__aba { position: absolute; left: 0; top: 0; bottom: 0; width: 10px; background: var(--cor); }
.pergunta__aba::after { content: ''; position: absolute; left: 5px; top: 0; bottom: 0; width: 14px; background-image: radial-gradient(circle, var(--papel) 3.5px, transparent 4px); background-size: 14px 16px; background-repeat: repeat-y; background-position: 0 8px; }
.pergunta summary { list-style: none; display: flex; width: 100%; gap: 14px; align-items: center; padding: 16px 18px 16px 32px; }
.pergunta summary::-webkit-details-marker { display: none; }
.pergunta__num { font-size: 11px; font-weight: 800; letter-spacing: .18em; color: var(--red-deep); min-width: 26px; }
.pergunta__q { font-size: 16px; font-weight: 700; flex: 1; color: var(--ink); line-height: 1.35; }
.pergunta__mais { font-family: var(--chalk); font-size: 26px; color: var(--purple); line-height: 1; width: 22px; text-align: center; }
.pergunta__mais::before { content: '+'; }
.pergunta[open] .pergunta__mais::before { content: 'x'; }
.resposta { padding: 0 18px 18px 32px; animation: sobe-pop .3s ease both; }
.balao { display: flex; gap: 10px; align-items: flex-start; }
.balao__avatar { flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--navy); display: grid; place-items: center; overflow: hidden; }
.balao__avatar img { width: 24px; height: 24px; object-fit: contain; }
.balao__texto { background: var(--cor-claro, #E8F0FF); border-radius: 4px 18px 18px 18px; padding: 12px 14px; font-size: 14.5px; line-height: 1.55; color: #2E2B3F; }
.balao__quem { font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); margin-bottom: 4px; display: block; }
@keyframes sobe-pop { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.politica { margin-top: 32px; position: relative; background: url(../assets/scrapbook/paper-strip-notebook.webp) center / 100% 100% no-repeat; padding: 40px 48px; filter: drop-shadow(0 1px 0 rgba(60,40,20,.12)) drop-shadow(0 4px 8px rgba(60,40,20,.14)); }
.politica h3 { font-family: var(--chalk); font-size: 26px; color: var(--red-deep); margin-bottom: 8px; }
.politica h3.lufga { font-family: 'Lufga', var(--font-sans-fb); font-weight: 900; font-size: 22px; }
.politica p { font-size: 15px; line-height: 1.6; color: #2E2B3F; }
.politica .lucillama-curiosa { position: absolute; right: 18px; bottom: -10px; width: 92px; }

/* ---------- Outros passeios em polaroides ---------- */
.outros-scrap { background: transparent; }
.outros-scrap__cab { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; }
.polaroides { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; margin-top: 50px; align-items: start; }
.polaroides .polaroid { padding-bottom: 14px; transition: transform .2s ease; display: block; color: inherit; }
.polaroides .polaroid:hover { transform: translateY(-8px); }
.polaroides .polaroid:nth-child(2) { margin-top: 36px; }
.polaroides .polaroid:nth-child(3) { margin-top: 12px; }
.polaroides .polaroid:nth-child(4) { margin-top: 48px; }
.polaroid__info { padding: 12px 4px 0; }
.polaroid__info h3 { font-family: 'Lufga'; font-weight: 800; font-size: 19px; line-height: 1.15; color: var(--purple); }
.polaroid__info p { font-size: 13.5px; color: #4A4357; margin-top: 6px; line-height: 1.45; }
.polaroid__preco { display: inline-block; margin-top: 10px; background: var(--yellow); color: var(--navy); font-weight: 800; font-size: 13px; padding: 6px 12px; border-radius: 999px; }
.btn--linha { color: var(--ink); box-shadow: inset 0 0 0 2px var(--ink); }
.btn--linha:hover { background: var(--ink); color: var(--cream); }

/* ---------- Caderno Secreto em formato de caderno ---------- */
.caderno-scrap { background: var(--navy); color: var(--cream); position: relative; overflow: hidden; }
.caderno-scrap .paragrafo { color: rgba(243,232,213,.9); }
.caderno { position: relative; width: min(420px, 100%); margin: 0 auto; aspect-ratio: 3 / 4; background: var(--red); border-radius: 12px 22px 22px 12px; box-shadow: 0 24px 60px rgba(0,0,0,.4), inset 0 0 0 4px rgba(255,255,255,.08); padding: 34px 30px 30px 56px; color: var(--cream); transition: transform .3s ease; display: flex; flex-direction: column; justify-content: space-between; text-decoration: none; }
.caderno:hover { transform: translateY(-8px) scale(1.01); }
.caderno__espiral { position: absolute; left: 12px; top: 22px; bottom: 22px; width: 24px; display: flex; flex-direction: column; justify-content: space-between; }
.caderno__espiral i { display: block; width: 24px; height: 10px; border-radius: 999px; background: #dcdcdc; box-shadow: inset 0 -3px 0 #8f8f8f; }
.caderno__elastico { position: absolute; right: 28px; top: -6px; bottom: -6px; width: 12px; background: var(--navy); opacity: .9; border-radius: 4px; }
.caderno__etiqueta { background: var(--papel); color: var(--ink); border-radius: 8px; padding: 12px 14px; box-shadow: var(--sombra-papel); width: max-content; max-width: 100%; }
.caderno__etiqueta small { display: block; font-size: 10px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--red-deep); }
.caderno__etiqueta strong { font-family: var(--chalk); font-size: 30px; line-height: 1; display: block; margin-top: 4px; color: var(--purple); font-weight: 400; }
.caderno .polaroid { width: 62%; margin-left: auto; padding-bottom: 34px; }
.caderno .polaroid figcaption { font-size: 15px; }
.caderno__cadeado { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.16); border-radius: 999px; padding: 8px 14px; font-size: 12px; font-weight: 800; width: max-content; }
.caderno__lista { list-style: none; display: grid; gap: 10px; margin: 20px 0 26px; }
.caderno__lista li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.4; }
.caderno__lista li::before { content: ''; flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--yellow); margin-top: 7px; }

/* ---------- Lucillama e mala nos cantos ---------- */
.dock-lucillama { position: fixed; left: 12px; bottom: 12px; z-index: 70; width: 96px; background: none; padding: 0; }
.dock-lucillama img { width: 100%; animation: flutua 4s ease-in-out infinite; filter: drop-shadow(0 8px 16px rgba(0,0,0,.3)); }
.dock-lucillama.falando img { animation: fala .32s ease-in-out infinite; }
@keyframes fala { 0%, 100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-4px) scale(1.04); } }
.dock-lucillama__balao { position: absolute; left: 86px; bottom: 76px; background: var(--papel); color: var(--ink); border-radius: 16px 16px 16px 4px; padding: 8px 12px; font-size: 12px; font-weight: 700; white-space: nowrap; box-shadow: var(--sombra-papel); }
.painel-lucillama { position: fixed; left: 12px; bottom: 124px; z-index: 71; width: min(360px, calc(100vw - 24px)); background: var(--papel); border-radius: 22px; box-shadow: 0 24px 60px rgba(27,42,94,.3); padding: 18px; display: none; border: 3px solid var(--navy); color: var(--ink); }
.painel-lucillama.aberto { display: block; }
.painel-lucillama h3 { font-family: var(--chalk); font-size: 28px; color: var(--purple); line-height: 1; }
.painel-lucillama p { font-size: 13.5px; line-height: 1.5; color: #4A4357; margin-top: 6px; }
.painel-lucillama__fechar { position: absolute; right: 10px; top: 10px; width: 30px; height: 30px; border-radius: 50%; background: var(--cream); font-weight: 900; }
.perguntas-rapidas { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; max-height: 150px; overflow: auto; }
.perguntas-rapidas button { background: var(--cream); border: 2px solid var(--navy); border-radius: 999px; padding: 7px 11px; font-size: 12px; font-weight: 700; color: var(--ink); text-align: left; }
.resposta-lucillama { margin-top: 12px; background: var(--verde-claro); border-radius: 4px 16px 16px 16px; padding: 12px; font-size: 14px; line-height: 1.5; display: none; }
.resposta-lucillama.mostra { display: block; animation: sobe-pop .3s ease both; }
.painel-lucillama .btn { margin-top: 12px; min-height: 42px; font-size: 14px; }
.dock-mala { position: fixed; right: 12px; bottom: 92px; z-index: 70; width: 64px; height: 64px; border-radius: 50%; background: var(--yellow); color: var(--navy); display: grid; place-items: center; box-shadow: 0 10px 24px rgba(27,42,94,.3); border: 3px solid var(--navy); transition: transform .2s; }
.dock-mala:hover { transform: translateY(-3px); }
.dock-mala.pula { animation: pula .5s ease; }
@keyframes pula { 0%, 100% { transform: scale(1); } 40% { transform: scale(1.18); } }
.dock-mala svg { width: 32px; height: 32px; }
.dock-mala__num { position: absolute; top: -6px; right: -6px; width: 26px; height: 26px; border-radius: 50%; background: var(--red); color: #fff; font-weight: 900; font-size: 13px; display: grid; place-items: center; border: 2px solid var(--papel); }
.painel-mala { position: fixed; top: 0; right: 0; bottom: 0; width: min(420px, 100vw); background: var(--cream); color: var(--ink); z-index: 95; box-shadow: -20px 0 60px rgba(27,42,94,.3); transform: translateX(105%); transition: transform .3s ease; display: flex; flex-direction: column; padding: 22px; overflow: auto; }
.painel-mala.aberto { transform: none; }
.painel-mala__fechar { position: absolute; right: 14px; top: 14px; width: 36px; height: 36px; border-radius: 50%; background: var(--papel); font-weight: 900; box-shadow: var(--sombra-papel); }
.painel-mala h3 { font-family: var(--chalk); font-size: 36px; color: var(--purple); line-height: 1; }
.painel-mala > p { font-size: 13.5px; color: #4A4357; margin-top: 8px; line-height: 1.5; }
.mala-lista { list-style: none; display: grid; gap: 10px; margin: 16px 0; }
.mala-lista li { background: var(--papel); border-radius: 14px; padding: 12px 14px; display: flex; justify-content: space-between; align-items: center; gap: 10px; font-weight: 700; font-size: 14px; box-shadow: 0 2px 6px rgba(27,42,94,.08); }
.mala-lista li img { width: 30px; height: 30px; }
.mala-lista li button { font-size: 12px; font-weight: 800; color: var(--red-deep); text-decoration: underline; }
.mala-vazia { background: var(--papel); border-radius: 14px; padding: 16px; font-size: 14px; color: #4A4357; line-height: 1.5; margin: 16px 0; }
.mala-extras { margin-top: auto; }
.mala-extras h4 { font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--red-deep); margin-bottom: 10px; }
.extras { display: flex; flex-wrap: wrap; gap: 8px; }
.extra { border: 2px solid var(--navy); border-radius: 999px; padding: 8px 12px; font-size: 12px; font-weight: 700; background: transparent; color: var(--ink); }
.extra[aria-pressed="true"] { background: var(--navy); color: var(--cream); }
.painel-mala .btn--fechar-mala { margin-top: 16px; }
.painel-mala__nota { font-size: 12px; color: #7A7388; margin-top: 10px; line-height: 1.5; }

/* ---------- Barra fixa no celular ---------- */
.barra-mobile { display: none; }
@media (max-width: 800px) {
  .barra-mobile { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 72; background: var(--papel); box-shadow: 0 -10px 28px rgba(27,42,94,.2); padding: 10px 14px; align-items: center; gap: 10px; transform: translateY(110%); transition: transform .3s ease; }
  .barra-mobile.mostra { transform: none; }
  .barra-mobile__preco { flex: 1; line-height: 1.15; }
  .barra-mobile__preco small { display: block; font-size: 11px; color: var(--muted); font-weight: 700; }
  .barra-mobile__preco strong { font-size: 18px; font-weight: 900; }
  .barra-mobile .btn { min-height: 44px; padding: 10px 16px; font-size: 14px; }
  .dock-mala { bottom: 82px; }
  .dock-lucillama { bottom: 78px; width: 62px; }
  .dock-lucillama__balao { display: none; }
}

/* ---------- Utilidades ---------- */
.revela { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .8s cubic-bezier(.2,.8,.2,1); }
.revela.visivel { opacity: 1; transform: none; }
.no-navy { background: var(--navy); color: var(--cream); }
.rodape { margin-top: 0; }

/* ---------- Responsivo ---------- */
@media (max-width: 960px) {
  .hero-scrap__grid, .duas, .mapa-paradas, .chat, .inclui__colunas, .form-card__linha { grid-template-columns: 1fr; }
  .polaroides { grid-template-columns: repeat(2, 1fr); }
  .polaroides .polaroid:nth-child(n) { margin-top: 0; }
  .polaroides-dep { grid-template-columns: repeat(3, 1fr); gap: 14px; }
  .parada:nth-child(odd) .parada__marco, .parada:nth-child(even) .parada__marco { transform: none; }
  .giro__palco { min-height: 240px; order: -1; }
  .indice { top: 74px; }
  .polaroides .polaroid:nth-child(even) { margin-top: 30px; }
  .parada { grid-template-columns: 64px 1fr; gap: 14px; }
  .parada__marco { grid-column: 1; }
  .parada:nth-child(odd) .parada__card, .parada:nth-child(even) .parada__card { grid-column: 2; grid-row: auto; }
  .parada:nth-child(even) .parada__marco { grid-row: auto; }
  .parada__card { grid-template-columns: 1fr; }
  .parada__card .polaroid { max-width: 220px; }
  .trilha__van { width: 64px; }
  .numeros { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .numero { padding: 16px 8px 12px; }
  .base-basta { grid-template-columns: 1fr; }
  .ticket { grid-template-columns: 1fr 110px; }
  .ticket__corpo { padding: 22px 18px; }
  .caderno { padding: 28px 24px 24px 50px; }
}
@media (max-width: 600px) {
  .polaroides { grid-template-columns: 1fr; }
  .polaroides .polaroid:nth-child(even) { margin-top: 0; }
  .polaroides-dep { grid-template-columns: 1fr; }
  .polaroides-dep .polaroid:nth-child(n) { margin-top: 0; }
  .ficha { grid-template-columns: 1fr; }
  .selo { min-height: 50px; padding: 8px 14px; }
  .secao-scrap { padding: 56px 0; }
  .hero-scrap h1 { font-size: clamp(44px, 13vw, 60px); }
  .ticket { grid-template-columns: 1fr; }
  .ticket__canhoto { flex-direction: row; align-items: center; padding: 16px 18px; }
  .ticket__canhoto::before { left: 0; right: 0; top: -7px; bottom: auto; height: 14px; width: auto; background-image: radial-gradient(circle, var(--papel) 5px, transparent 5.5px); background-size: 20px 14px; background-repeat: repeat-x; background-position: 10px 0; }
  .ticket-dep { width: 300px; }
  .galeria-parada__grade { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   v2 (2026-09-29): o que a auditoria contra as referências pediu
   ============================================================ */

/* ---------- Números: qualquer dígito que caia em Chalkiez vai para Lufga ---------- */
.num-lufga, .chalk-para-lufga { font-family: 'Lufga', var(--font-sans-fb), system-ui, sans-serif !important; font-style: normal; }
.num-lufga { font-weight: 900; }

/* ---------- Índice de seções (navegação por seções, em abas de caderno) ---------- */
.indice { position: sticky; top: 74px; z-index: 55; background: rgba(243,232,213,.94); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); border-bottom: 2px solid var(--navy); }
.indice__trilho { display: flex; gap: 8px; overflow-x: auto; padding: 10px 0; scrollbar-width: none; }
.indice__trilho::-webkit-scrollbar { display: none; }
.indice a { flex: none; font-size: 12.5px; font-weight: 800; padding: 8px 14px; border-radius: 999px; border: 2px solid var(--navy); color: var(--navy); background: var(--papel); white-space: nowrap; transition: transform .16s ease, background .16s ease; }
.indice a:hover { transform: translateY(-2px); }
.indice a:nth-child(1) { border-color: var(--red); color: var(--red-deep); }
.indice a:nth-child(2) { border-color: var(--yellow-deep); color: var(--on-yellow); }
.indice a:nth-child(3) { border-color: var(--blue); color: var(--blue); }
.indice a:nth-child(4) { border-color: var(--verde); color: var(--verde); }
.indice a:nth-child(5) { border-color: var(--purple); color: var(--purple); }
.indice a:nth-child(6) { border-color: var(--teal); color: var(--teal); }
.indice a:nth-child(7) { border-color: var(--laranja); color: var(--laranja); }
.indice a:nth-child(8) { border-color: var(--blue); color: var(--blue); }
.indice a:nth-child(9) { border-color: var(--red); color: var(--red-deep); }
.indice a.ativa { background: var(--navy) !important; border-color: var(--navy) !important; color: var(--cream) !important; }

/* ---------- A van girando (no lugar da moeda) e a ficha do passeio ---------- */
.giro { background: transparent; }
.giro__palco { position: relative; display: grid; place-items: center; min-height: 420px; perspective: 900px; }
.giro__3d { position: relative; width: min(600px, 100%); height: 400px; display: grid; place-items: center; }
.giro__3d model-viewer { width: 100%; height: 100%; background: transparent; --poster-color: transparent; --progress-bar-color: var(--yellow); opacity: 0; transition: opacity .6s ease; outline: none; }
.giro__3d--pronto model-viewer { opacity: 1; }
.giro__fallback { position: absolute; width: min(420px, 82%); height: auto; transform-style: preserve-3d; animation: gira 7s linear infinite; filter: drop-shadow(0 18px 24px rgba(27,42,94,.28)); }
.giro__3d--pronto .giro__fallback { display: none; }
.giro__nota small { display: block; font-family: 'Lufga', var(--font-sans-fb); font-size: 12px; font-weight: 700; color: var(--muted); text-align: center; margin-top: 2px; }
.giro__3d--plano ~ .giro__nota small { display: none; }
.giro__sombra { position: absolute; left: 50%; bottom: 84px; width: 260px; height: 28px; transform: translateX(-50%); border-radius: 50%; background: rgba(27,42,94,.16); filter: blur(6px); animation: sombra-gira 7s linear infinite; }
.giro__nota { position: absolute; left: 50%; bottom: -14px; transform: translateX(-50%); font-family: var(--chalk); font-size: 22px; color: var(--purple); white-space: nowrap; text-align: center; }
@keyframes gira { from { transform: rotateY(0deg); } to { transform: rotateY(360deg); } }
@keyframes sombra-gira { 0%, 50%, 100% { transform: translateX(-50%) scaleX(1); } 25%, 75% { transform: translateX(-50%) scaleX(.3); } }
.ficha { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 22px; }
.ficha li { display: flex; gap: 12px; align-items: center; background: var(--papel); border-radius: 16px; padding: 12px 14px; box-shadow: var(--sombra-papel); border-left: 6px solid var(--red); }
.ficha li:nth-child(2) { border-color: var(--yellow); }
.ficha li:nth-child(3) { border-color: var(--blue); }
.ficha li:nth-child(4) { border-color: var(--teal); }
.ficha li:nth-child(5) { border-color: var(--purple); }
.ficha li:nth-child(6) { border-color: var(--laranja); }
.ficha img { width: 34px; height: 34px; flex: none; }
.ficha small { display: block; font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }
.ficha strong { display: block; font-size: 15px; font-weight: 700; color: var(--ink); line-height: 1.25; }
.ficha strong b { font-weight: 900; }

/* ---------- Divisão entre seções com linha ondulada (cores vibrantes) ---------- */
.preco-scrap::before, .avaliacoes-scrap::before, .reserva-scrap::before, .faq-chat::before, .caderno-scrap::before {
  content: ''; position: absolute; left: 0; right: 0; top: -1px; height: clamp(56px, 8vw, 120px); z-index: 1; pointer-events: none;
  background: var(--onda) center top / 100% 100% no-repeat;
}
.preco-scrap::before { --onda: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1440V38C1180 128 900 116 620 74C420 44 200 40 0 86Z' fill='%23F3E8D5'/%3E%3C/svg%3E"); }
.avaliacoes-scrap::before { --onda: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1440V38C1180 128 900 116 620 74C420 44 200 40 0 86Z' fill='%23F5B71C'/%3E%3C/svg%3E"); }
.reserva-scrap::before { --onda: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1440V38C1180 128 900 116 620 74C420 44 200 40 0 86Z' fill='%23FAF3E6'/%3E%3C/svg%3E"); }
.faq-chat::before { --onda: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1440V38C1180 128 900 116 620 74C420 44 200 40 0 86Z' fill='%23DB3A3D'/%3E%3C/svg%3E"); }
.caderno-scrap::before { --onda: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1440V38C1180 128 900 116 620 74C420 44 200 40 0 86Z' fill='%23FAF3E6'/%3E%3C/svg%3E"); }

/* ---------- Avaliações em polaroide (mockup 1g: a que ela mais gostou), texto em Lufga ---------- */
.polaroides-dep { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; margin-top: 34px; align-items: start; }
.polaroides-dep .polaroid { padding: 12px 12px 40px; }
.polaroides-dep .polaroid:nth-child(2) { margin-top: 26px; }
.polaroides-dep .polaroid:nth-child(3) { margin-top: 8px; }
.polaroides-dep .polaroid figcaption { font-family: 'Lufga', var(--font-sans-fb); font-weight: 700; font-size: 13px; color: #3A2418; }
.dep-quadro { aspect-ratio: 1; display: flex; flex-direction: column; justify-content: space-between; gap: 10px; padding: 18px; color: var(--cream); border-radius: 2px; }
.dep-quadro--vermelho { background: var(--red); }
.dep-quadro--navy { background: var(--navy); }
.dep-quadro--amarelo { background: var(--yellow); color: var(--ink); }
.dep-quadro p { font-family: 'Lufga', var(--font-sans-fb); font-weight: 700; font-size: 16.5px; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 8; -webkit-box-orient: vertical; overflow: hidden; }
.dep-quadro small { font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; opacity: .92; }

/* ---------- Animação de pagamento com cartão, nas cores da marca (antes do confete) ---------- */
.pagamento { position: fixed; inset: 0; z-index: 890; display: none; place-items: center; background: rgba(27,42,94,.55); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.pagamento.mostra { display: grid; }
.pagamento__maquina { position: relative; width: 300px; height: 220px; background: var(--navy); border-radius: 26px; box-shadow: 0 30px 70px rgba(0,0,0,.45), inset 0 0 0 4px rgba(255,255,255,.08); display: grid; place-items: end center; padding-bottom: 22px; animation: sobe-pop .35s ease both; }
.pagamento__led { position: absolute; top: 18px; right: 22px; width: 14px; height: 14px; border-radius: 50%; background: var(--red); box-shadow: 0 0 12px var(--red); }
.pagamento.mostra .pagamento__led { animation: led-ok 2s ease forwards; }
.pagamento__fenda { position: absolute; top: 96px; left: 50%; width: 226px; height: 14px; transform: translateX(-50%); background: #0d1330; border-radius: 8px; box-shadow: inset 0 3px 6px rgba(0,0,0,.6); z-index: 3; }
.pagamento__cartao { position: absolute; top: -60px; left: 50%; width: 200px; height: 124px; margin-left: -100px; border-radius: 14px; background: linear-gradient(180deg, var(--red) 0 64%, var(--yellow) 64%); color: var(--cream); padding: 14px; box-shadow: 0 16px 30px rgba(0,0,0,.35); z-index: 2; opacity: 0; clip-path: inset(0 0 0 0); }
.pagamento.mostra .pagamento__cartao { animation: cartao-entra 2s cubic-bezier(.2,.8,.2,1) forwards; }
.pagamento__chip { display: block; width: 34px; height: 26px; border-radius: 6px; background: var(--yellow); box-shadow: inset 0 0 0 2px rgba(0,0,0,.15); }
.pagamento__marca { position: absolute; right: 14px; top: 14px; font-family: var(--chalk); font-size: 18px; }
.pagamento__num { position: absolute; left: 14px; bottom: 12px; font-size: 12px; font-weight: 700; letter-spacing: .1em; color: var(--navy); }
.pagamento__num b { font-weight: 900; }
.pagamento__texto { position: relative; z-index: 4; color: var(--cream); font-weight: 800; font-size: 14px; letter-spacing: .04em; }
@keyframes cartao-entra { 0% { transform: translateY(-30px); opacity: 0; clip-path: inset(0 0 0 0); } 22% { transform: translateY(0); opacity: 1; clip-path: inset(0 0 0 0); } 55% { transform: translateY(0); opacity: 1; clip-path: inset(0 0 0 0); } 100% { transform: translateY(150px); opacity: 1; clip-path: inset(0 0 100% 0); } }
@keyframes led-ok { 0%, 72% { background: var(--red); box-shadow: 0 0 12px var(--red); } 100% { background: var(--verde); box-shadow: 0 0 16px var(--verde); } }

@media (prefers-reduced-motion: reduce) {
  .giro__moeda, .giro__sombra, .selos-faixa__fita, .tag-video::before { animation: none; }
}

/* responsivo dos blocos da v2 (fica depois deles para vencer o empate) */
@media (max-width: 960px) {
  .giro__palco { min-height: 260px; order: -1; }
  .giro__moeda { width: min(320px, 70%); }
  .polaroides-dep { grid-template-columns: repeat(3, 1fr); gap: 14px; }
  .indice { top: 74px; }
}
@media (max-width: 600px) {
  .ficha { grid-template-columns: 1fr; }
  .polaroides-dep { grid-template-columns: 1fr; gap: 26px; }
  .polaroides-dep .polaroid:nth-child(n) { margin-top: 0; }
  .selo { min-height: 50px; padding: 8px 14px; }
  .pagamento__maquina { width: 260px; }
  .pagamento__cartao { width: 176px; margin-left: -88px; }
  .pagamento__fenda { width: 200px; }
}

/* ============================================================
   v3 (2026-09-29): a revisão dela sobre a v2
   ============================================================ */

/* ---------- O pincel de tinta que desce a página com a rolagem (fundo de todas as seções creme) ---------- */
main#conteudo { position: relative; }
.tinta { position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; opacity: .55; mix-blend-mode: multiply; overflow: visible; }
.tinta__traco { stroke-width: 220; }
.video-hero, .hero-scrap, .faixa, .nome-vivo, .secao-scrap { position: relative; z-index: 1; }

/* ---------- Inclui e não inclui: as pilhas de cartas que sobem com a rolagem ---------- */
.pilhas-pista { height: 250vh; position: relative; margin-top: 24px; }
.pilhas { position: sticky; top: 140px; display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: start; }
.pilha h3 { font-size: 12px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; display: flex; align-items: center; gap: 10px; margin-bottom: 14px; color: var(--ink); }
.pilha h3 i { width: 14px; height: 14px; border-radius: 50%; display: inline-block; }
.pilha--sim h3 i { background: var(--verde); } .pilha--nao h3 i { background: var(--red); }
.pilha__palco { position: relative; height: 420px; }
.carta { position: absolute; left: 0; right: 0; top: 96px; min-height: 250px; transition: box-shadow .3s ease; border-radius: 26px; padding: 26px 28px 24px; color: #fff; display: flex; flex-direction: column; gap: 10px; box-shadow: 0 24px 54px rgba(27,42,94,.24); opacity: 0; transform: translate3d(0, 90vh, 0); will-change: transform, opacity; }
.carta img { width: 60px; height: 60px; filter: brightness(0) invert(1); margin-bottom: 4px; }
.carta img.ilustra { filter: none; width: 76px; height: 76px; object-fit: contain; background: var(--papel); border-radius: 16px; padding: 6px; }
.carta strong { font-family: 'Lufga', var(--font-sans-fb); font-weight: 900; font-size: clamp(22px, 2.1vw, 30px); line-height: 1.12; letter-spacing: -.01em; }
.carta small { font-size: 14px; opacity: .92; }
.carta__num { position: absolute; right: 22px; top: 22px; font-size: 12px; font-weight: 800; letter-spacing: .14em; opacity: .85; }
.pilha--sim .carta:nth-child(1) { background: #2F7D4F; } .pilha--sim .carta:nth-child(2) { background: #23694A; } .pilha--sim .carta:nth-child(3) { background: #3A925F; } .pilha--sim .carta:nth-child(4) { background: #1B5C3E; }
.pilha--nao .carta:nth-child(1) { background: #DB3A3D; } .pilha--nao .carta:nth-child(2) { background: #B02026; } .pilha--nao .carta:nth-child(3) { background: #E45A5D; }
.pilhas-pista--estatico { height: auto; }
.pilhas-pista--estatico .pilhas { position: static; grid-template-columns: 1fr; gap: 28px; }
.pilhas-pista--estatico .pilha__palco { height: auto; display: grid; gap: 12px; }
.pilhas-pista--estatico .carta { position: static; opacity: 1; transform: none; min-height: 0; padding: 20px 22px; }

/* ---------- Mapa fixo de um lado, galeria rolando do outro ---------- */
.mapa-galeria { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: start; margin-top: 64px; }
.mapa-galeria__mapa { position: sticky; top: 140px; }
.mapa-galeria__fotos { display: grid; gap: 44px; padding: 8px 0 60px; }
.parada-galeria { opacity: .42; transition: opacity .45s ease; }
.parada-galeria.ativa { opacity: 1; }
.parada-galeria h3 { font-family: 'Lufga', var(--font-sans-fb); font-weight: 900; font-size: 24px; color: var(--navy); display: flex; align-items: center; gap: 10px; }
.parada-galeria .luz { width: 12px; height: 12px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 6px rgba(245,183,28,.35); opacity: 0; flex: none; }
.parada-galeria.ativa .luz { opacity: 1; animation: pulsa 1.6s ease-in-out infinite; }
.parada-galeria p { font-size: 15px; color: #4A4357; margin: 6px 0 18px; line-height: 1.5; }
.polaroid--galeria { margin-bottom: 28px; padding: 12px 12px 46px; width: min(520px, 100%); }
.polaroid--galeria:nth-of-type(even) { margin-left: auto; }
.polaroid--galeria img, .polaroid--galeria video { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; background: #cfd8e6; }
.polaroid--galeria figcaption { font-family: 'Lufga', var(--font-sans-fb); font-weight: 700; font-size: 13px; }

/* ---------- Caderno Secreto em 3D: capa que abre, miolo com espessura, inclina com o mouse ---------- */
.livro { display: block; width: min(440px, 100%); margin: 0 auto; aspect-ratio: 3 / 4; text-decoration: none; color: var(--cream); perspective: 1500px; position: relative; }
.livro__flutua { display: block; width: 100%; height: 100%; transform-style: preserve-3d; animation: livro-flutua 7s ease-in-out infinite; }
.livro__cena { display: block; position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transform: rotateX(var(--rx, 8deg)) rotateY(var(--ry, 30deg)); transition: transform .4s ease; }
.livro__miolo { position: absolute; inset: 0; transform-style: preserve-3d; }
.livro__miolo i { position: absolute; left: 24px; top: 5px; right: 3px; bottom: 5px; background: #F7F0E1; border-radius: 6px 18px 18px 6px; box-shadow: inset -3px 0 0 rgba(27,42,94,.08); }
.livro__miolo i:nth-child(1) { transform: translateZ(-5px); } .livro__miolo i:nth-child(2) { transform: translateZ(-10px); background: #F2EAD8; } .livro__miolo i:nth-child(3) { transform: translateZ(-15px); } .livro__miolo i:nth-child(4) { transform: translateZ(-20px); background: #EDE3CE; } .livro__miolo i:nth-child(5) { transform: translateZ(-25px); } .livro__miolo i:nth-child(6) { transform: translateZ(-30px); background: #E5D9C0; box-shadow: 0 30px 60px rgba(0,0,0,.35); }
.livro__pagina { position: absolute; left: 24px; top: 5px; right: 3px; bottom: 5px; background: var(--papel); border-radius: 6px 18px 18px 6px; padding: 36px 28px 26px 34px; color: var(--ink); display: flex; flex-direction: column; gap: 6px; background-image: repeating-linear-gradient(transparent 0 30px, rgba(27,42,94,.10) 30px 31px); background-position: 0 40px; }
.livro__pagina small { font-size: 10px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--red-deep); }
.livro__pagina strong { font-family: var(--chalk); font-weight: 400; font-size: 30px; line-height: 1; color: var(--purple); }
.livro__linhas { display: grid; gap: 15px; margin-top: 12px; }
.livro__linhas i { display: block; height: 8px; border-radius: 4px; background: rgba(27,42,94,.16); width: 92%; }
.livro__linhas i:nth-child(2) { width: 74%; } .livro__linhas i:nth-child(3) { width: 84%; } .livro__linhas i:nth-child(4) { width: 58%; } .livro__linhas i:nth-child(5) { width: 70%; }
.livro__lucillama { width: 46%; margin: auto 0 0 auto; }
.livro__pagina em { font-style: normal; font-size: 11px; font-weight: 800; color: var(--muted); }
.livro__capa { position: absolute; inset: 0; background: linear-gradient(105deg, #E9585B 0, var(--red) 34%, #C8282C 100%); border-radius: 12px 22px 22px 12px; box-shadow: 0 24px 60px rgba(0,0,0,.4), inset 0 0 0 4px rgba(255,255,255,.08); padding: 34px 30px 30px 56px; display: flex; flex-direction: column; justify-content: space-between; transform-origin: left center; transform: translateZ(16px) rotateY(var(--abre, -14deg)); transition: transform .7s cubic-bezier(.2,.8,.2,1); backface-visibility: hidden; }
.livro:hover .livro__capa, .livro:focus-visible .livro__capa { --abre: -62deg; }
.livro:hover .livro__cena { --ry: 18deg; }
.livro__espiral { position: absolute; left: 12px; top: 22px; bottom: 22px; width: 24px; display: flex; flex-direction: column; justify-content: space-between; }
.livro__espiral i { display: block; width: 26px; height: 10px; border-radius: 999px; background: #dcdcdc; box-shadow: inset 0 -3px 0 #8f8f8f; }
.livro__elastico { position: absolute; right: 28px; top: -6px; bottom: -6px; width: 12px; background: var(--navy); opacity: .9; border-radius: 4px; }
.livro .polaroid { width: 62%; margin-left: auto; padding-bottom: 34px; }
.livro .polaroid figcaption { font-size: 15px; }
@keyframes livro-flutua { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

@media (max-width: 960px) {
  .pilhas { grid-template-columns: 1fr; gap: 24px; }
  .mapa-galeria { grid-template-columns: 1fr; gap: 20px; }
  .mapa-galeria__mapa { top: 128px; z-index: 2; }
  .mapa-paradas { padding: 12px; }
  .mapa-paradas__titulo h3 { font-size: 17px; }
  .mapa-paradas__titulo span { font-size: 16px; }
  .mapa-galeria__mapa .mapa { max-height: 34vh; }
  .polaroid--galeria:nth-of-type(even) { margin-left: 0; }
  .giro__3d { height: 320px; }
  .livro { width: min(360px, 100%); }
}
@media (max-width: 600px) {
  .tinta__traco { stroke-width: 120; }
  .giro__3d { height: 260px; }
  .polaroid--galeria { padding: 10px 10px 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .livro__flutua, .livro__cena, .livro__capa { animation: none; transition: none; }
}

/* ============================================================
   v4 (2026-09-29): o vídeo "Feedback de Design e Ajustes da Página"
   ============================================================ */

/* ---------- Aviso correndo e menu só depois do vídeo (os dois moram dentro do main) ---------- */
.aviso { padding: 0 52px 0 0; text-align: left; overflow: hidden; position: relative; z-index: 2; }
.aviso__trilho { display: flex; width: max-content; animation: corre 44s linear infinite; }
.aviso__trilho:hover { animation-play-state: paused; }
.aviso__grupo { display: flex; align-items: center; gap: 26px; padding: 10px 26px 10px 0; white-space: nowrap; font-size: 14px; font-weight: 700; }
.aviso__grupo img { height: 22px; width: auto; }
.aviso__grupo a { margin: 0; }
main#conteudo > .topo { position: sticky; top: 0; z-index: 80; }
.topo__marca img { height: 40px; width: auto; }
.indice { background: transparent; border-bottom: 0; -webkit-backdrop-filter: none; backdrop-filter: none; transition: background .25s ease, box-shadow .25s ease; }
.indice--presa { background: rgba(243,232,213,.92); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); box-shadow: 0 8px 20px rgba(27,42,94,.08); }
.montanha__nota { right: auto; left: 50%; top: -38px; transform: translateX(-50%); white-space: nowrap; }

/* ---------- Mega menu com figurinhas e todos os caminhos do site ---------- */
.mega__col h4 { display: flex; align-items: center; gap: 10px; }
.mega__guarda { width: 40px; height: 40px; object-fit: contain; filter: drop-shadow(0 4px 6px rgba(0,0,0,.25)); flex: none; }
.mega__col a { display: flex; align-items: center; gap: 9px; }
.mega__ico { width: 18px; height: 18px; flex: none; filter: brightness(0) invert(1); opacity: .92; }
.mega__col h4.mega__sub { margin-top: 14px; font-size: 20px; }
.mega__col--gente { min-height: 0; }

/* ---------- Bolhas: guarda-chuvas coloridos e fotos bem maiores ---------- */
.bolha--guarda { border: 0; box-shadow: none; overflow: visible; border-radius: 0; background: none; }
.bolha--guarda img { object-fit: contain; filter: drop-shadow(0 14px 22px rgba(27,42,94,.25)); }
.nome-vivo__pista { height: 300vh; }
.nome-vivo--estatico .bolha--guarda { width: 72px; height: 72px; align-self: center; }

/* ---------- O pincel: pastel, mais fino, e parando onde o conteúdo acaba ---------- */
.tinta { opacity: .62; overflow: hidden; }
.tinta__traco { stroke-width: 200; }

/* ---------- Estrada G-21: os rótulos onde dá para ler ---------- */
.estrada-card .etq--santiago { left: 22px; bottom: 22px; background: var(--papel); padding: 6px 10px; border-radius: 999px; box-shadow: 0 2px 6px rgba(27,42,94,.15); }
.estrada-card .curva32 { left: auto; right: 24px; top: auto; bottom: 78px; max-width: 210px; }

/* ---------- O guarda-chuva gigante girando entre "O que é" e o roteiro ---------- */
.dobra-guarda { position: relative; z-index: 2; height: 170px; display: grid; place-items: center; margin: -10px 0 -50px; perspective: 900px; pointer-events: none; }
.dobra-guarda img { width: 240px; height: auto; transform-style: preserve-3d; animation: gira 7s linear infinite; filter: drop-shadow(0 22px 26px rgba(27,42,94,.28)); }
.faixa--dobra { margin-top: 10px; }

/* ---------- Mapa do dia centralizado ---------- */
.mapa-galeria { max-width: 1060px; margin: 64px auto 0; gap: 48px; }

/* ---------- Inclui: cabeça grande com check e x, cartas com o sinal ---------- */
.pilha h3.pilha__titulo { font-family: 'Lufga', var(--font-sans-fb); font-weight: 900; font-size: clamp(24px, 2.4vw, 34px); letter-spacing: -.01em; text-transform: none; justify-content: center; gap: 14px; margin-bottom: 20px; color: var(--navy); }
.sinal { width: 48px; height: 48px; border-radius: 50%; display: inline-grid; place-items: center; flex: none; box-shadow: 0 6px 14px rgba(27,42,94,.2); }
.sinal::before { content: ''; width: 28px; height: 28px; background: center / contain no-repeat; }
.sinal--sim { background: var(--verde); }
.sinal--nao { background: var(--red); }
.sinal--sim::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12.5l5 5L20 6.5' fill='none' stroke='%23FFFDF8' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.sinal--nao::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6L6 18' fill='none' stroke='%23FFFDF8' stroke-width='3.4' stroke-linecap='round'/%3E%3C/svg%3E"); }
.carta__sinal { width: 62px; height: 62px; border-radius: 50%; background: var(--papel) center / 36px no-repeat; margin-bottom: 4px; display: block; box-shadow: 0 4px 10px rgba(0,0,0,.18); }
.pilha--sim .carta__sinal { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12.5l5 5L20 6.5' fill='none' stroke='%232F7D4F' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.pilha--nao .carta__sinal { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6L6 18' fill='none' stroke='%23DB3A3D' stroke-width='3.4' stroke-linecap='round'/%3E%3C/svg%3E"); }

/* ---------- Formas de pagamento em sticker 3D e o W nos lacres ---------- */
.chips--3d { gap: 14px; }
.chips--3d .chip { display: inline-flex; align-items: center; gap: 10px; background: var(--papel); color: var(--navy); padding: 8px 18px 8px 8px; font-size: 14px; box-shadow: var(--sombra-papel); }
.chips--3d .chip img { width: 46px; height: 46px; object-fit: contain; filter: drop-shadow(0 3px 4px rgba(27,42,94,.2)); }
.lacre { display: grid; place-items: center; }
.lacre img { width: 100%; height: auto; display: block; grid-area: 1 / 1; }
.lacre b { grid-area: 1 / 1; font-family: var(--chalk); font-weight: 400; font-size: 44px; line-height: 1; color: var(--yellow); transform: translateY(-3px); text-shadow: 0 1px 0 rgba(0,0,0,.25); }
.lacre--gold b { color: var(--navy); font-size: 40px; }

/* ---------- Polaroides que viram: foto do passeio na frente, depoimento atrás ---------- */
.polaroides-dep { grid-template-columns: repeat(3, 1fr); }
.polaroid--dep { cursor: var(--cursor-guarda), pointer; perspective: 1000px; padding-bottom: 46px; }
.polaroid--dep:nth-child(5) { margin-top: 26px; }
.polaroid--dep:nth-child(6) { margin-top: 8px; }
.dep-virador { position: relative; aspect-ratio: 1; transform-style: preserve-3d; transition: transform .75s cubic-bezier(.2,.8,.2,1); }
.polaroid--dep.virada .dep-virador { transform: rotateY(180deg); }
.dep-frente, .dep-verso { position: absolute; inset: 0; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.dep-frente img { width: 100%; height: 100%; object-fit: cover; display: block; aspect-ratio: auto; }
.dep-avatar { position: absolute; left: 12px; bottom: 12px; width: 54px; height: 54px; border-radius: 50%; background: var(--navy); color: var(--cream); display: grid; place-items: center; font-weight: 900; font-size: 18px; border: 3px solid var(--papel); box-shadow: 0 6px 14px rgba(0,0,0,.3); }
.dep-nome { position: absolute; right: 12px; bottom: 16px; background: var(--yellow); color: var(--navy); font-weight: 800; font-size: 12px; padding: 6px 10px; border-radius: 999px; max-width: 60%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dep-verso { transform: rotateY(180deg); }
.dep-verso.dep-quadro { aspect-ratio: auto; }
.dep-quadro--teal { background: var(--teal); }
.dep-quadro--roxo { background: var(--purple); }
.polaroid--dep figcaption em { display: block; font-style: normal; font-size: 11px; color: var(--muted); font-weight: 600; margin-top: 2px; }
.polaroid--dep.virada figcaption em { visibility: hidden; }

/* ---------- Cartões de embarque compridos, passando de um lado pro outro com a rolagem ---------- */
.trilho-tickets { padding: 30px 0 36px; }
.trilho-tickets__fita { animation: none; will-change: transform; gap: 26px; padding: 10px 0 10px 24px; }
.ticket-dep { width: 620px; grid-template-columns: 1fr 170px; border-radius: 20px; }
.ticket-dep__corpo { padding: 20px 24px; }
.ticket-dep__rota { align-items: center; }
.ticket-dep__rota b { font-size: 28px; }
.ticket-dep__seta { flex: 1; height: 2px; background: repeating-linear-gradient(90deg, var(--line) 0 6px, transparent 6px 12px); margin: 0 6px; position: relative; }
.ticket-dep__seta::after { content: ''; position: absolute; left: 50%; top: 50%; width: 14px; height: 14px; transform: translate(-50%, -50%); background: url(../assets/scrapbook/aviao.svg) center / contain no-repeat; }
.ticket-dep__texto { -webkit-line-clamp: 3; font-size: 14.5px; }
.ticket-dep__canhoto { padding: 18px 12px; gap: 8px; }
.ticket-dep__canhoto b { font-size: 26px; }
.ticket-dep__barras { display: flex; gap: 2px; height: 28px; align-items: flex-end; width: 100%; padding: 0 10px; margin-top: 4px; }
.ticket-dep__barras b { display: block; height: 100%; background: currentColor; opacity: .9; font-size: 0; }

/* ---------- Selos: largura toda, maiores, servindo de dobra para a reserva ---------- */
.selos-faixa { margin-top: 48px; border-radius: 0; padding: 34px 0; }
.selo { min-height: 116px; padding: 22px 34px; gap: 16px; }
.selo i { font-size: 22px; }
.selo__num { font-size: 34px; }
.selo small { font-size: 13.5px; }
.selo--van img { width: 84px; }
.logo-trip em { width: 22px; height: 22px; }

/* ---------- Reserva: washi longe da linha da seção ---------- */
.reserva-scrap .form-card { margin-top: 36px; }

/* ---------- FAQ transparente para o pincel passar; política em balão de chat ---------- */
.faq-chat { background: transparent; }
.politica--balao { background: none; padding: 0; filter: none; display: grid; grid-template-columns: 120px 1fr; gap: 18px; align-items: end; max-width: 900px; margin: 44px auto 0; }
.politica__lucillama { width: 120px; display: block; }
.politica__balao { background: var(--papel); border: 3px solid var(--navy); border-radius: 22px 22px 22px 4px; padding: 18px 22px; box-shadow: 6px 6px 0 var(--navy); }
.politica__balao .balao__quem { color: var(--red-deep); font-size: 12px; margin-bottom: 8px; }
.politica__balao p { font-size: 15px; line-height: 1.6; color: #2E2B3F; }
.politica__balao p + p { margin-top: 8px; }

/* ---------- Caderno: capa com a foto inteira e o cadeado que abre ---------- */
.caderno-scrap { padding-top: clamp(100px, 10vw, 150px); }
.livro { margin: 26px auto 0; }
.livro__cena { transform: rotateX(var(--rx, 5deg)) rotateY(var(--ry, 24deg)); }
.livro__capa--foto { padding: 0; overflow: hidden; background: var(--navy); }
.livro__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.livro__capa--foto::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(27,42,94,.06) 0 38%, rgba(27,42,94,.88) 100%); }
.livro__capa-texto { position: absolute; left: 62px; right: 24px; bottom: 30px; z-index: 2; color: var(--cream); display: grid; gap: 4px; }
.livro__capa-texto small { font-size: 10px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; color: var(--yellow); }
.livro__capa-texto strong { font-family: var(--chalk); font-weight: 400; font-size: 42px; line-height: .95; }
.livro__capa-texto em { font-style: normal; font-family: 'Lufga', var(--font-sans-fb); font-weight: 800; font-size: 16px; }
.livro__cadeado { position: absolute; right: 22px; top: 26px; z-index: 3; width: 96px; background: none; padding: 0; display: grid; justify-items: center; gap: 6px; cursor: var(--cursor-guarda), pointer; }
.livro__cadeado img { width: 74px; filter: drop-shadow(0 8px 12px rgba(0,0,0,.4)); animation: flutua 3s ease-in-out infinite; transition: transform .3s; }
.livro__cadeado span { font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--cream); background: rgba(27,42,94,.78); padding: 4px 8px; border-radius: 999px; white-space: nowrap; }
.livro__cadeado:hover img { transform: scale(1.08); }
.livro.abrindo .livro__capa { --abre: -150deg; transition: transform 1s cubic-bezier(.2,.8,.2,1); }
.livro.abrindo .livro__cadeado img { animation: cadeado-abre .7s ease forwards; }
@keyframes cadeado-abre { 0% { transform: scale(1); } 40% { transform: scale(1.3) translateY(-6px); } 100% { transform: scale(0) translateY(-30px); opacity: 0; } }
.livro__capa--foto .livro__espiral i { background: #e8e8e8; }

/* ---------- Rodapé amarelo, para contrastar com o caderno navy ---------- */
.rodape { background: var(--yellow); color: var(--navy); }
.rodape p, .rodape a, .rodape li, .identificacao-legal, .identificacao-legal__linha, .rodape__base { color: var(--navy); }
.rodape__marca, .rodape__titulo, .identificacao-legal strong { color: var(--navy); }
.rodape a:hover, .identificacao-legal__selos a:hover { color: var(--red-deep); }
.rodape__base, .identificacao-legal { border-top-color: rgba(27,42,94,.28); }

@media (max-width: 960px) {
  .polaroides-dep { grid-template-columns: repeat(3, 1fr); }
  .ticket-dep { width: min(560px, 86vw); }
  .politica--balao { grid-template-columns: 90px 1fr; }
  .politica__lucillama { width: 90px; }
  .dobra-guarda { height: 130px; }
  .dobra-guarda img { width: 170px; }
}
@media (max-width: 600px) {
  .polaroides-dep { grid-template-columns: 1fr 1fr; gap: 14px; }
  .polaroid--dep:nth-child(n) { margin-top: 0; }
  .ticket-dep { grid-template-columns: 1fr 120px; }
  .ticket-dep__rota b { font-size: 22px; }
  .pilha h3.pilha__titulo { font-size: 22px; }
  .sinal { width: 40px; height: 40px; }
  .politica--balao { grid-template-columns: 1fr; }
  .politica__lucillama { width: 80px; }
  .livro__capa-texto strong { font-size: 34px; }
  .livro__cadeado { width: 74px; }
  .livro__cadeado img { width: 56px; }
  .aviso__grupo { font-size: 13px; }
  .chips--3d .chip img { width: 36px; height: 36px; }
  .montanha { margin-top: 60px; }
  .montanha__nota { top: -36px; font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  .aviso__trilho, .dobra-guarda img, .livro__cadeado img { animation: none; }
}

/* ---------- Roupagem do Atacama (páginas geradas, 2026-10-01): laranja deserto no hero ---------- */
body[data-destino="atacama"] .hero-scrap { background: #7A3510; }
body[data-destino="atacama"] .tag-neve { background: #E67A1C; color: #2B1405; }
body[data-destino="atacama"] .video-hero { background: #3A1A08; }

/* ---------- Créditos das fotos (licenças livres do Wikimedia Commons) ---------- */
.creditos-fotos { margin: 18px 0 6px; font-size: 12px; line-height: 1.6; color: var(--navy); }
.creditos-fotos summary { cursor: pointer; font-weight: 700; letter-spacing: .04em; }
.creditos-fotos ul { margin: 10px 0 0; padding-left: 18px; columns: 2 320px; column-gap: 32px; }
.creditos-fotos li { break-inside: avoid; margin-bottom: 4px; }
.creditos-fotos a { text-decoration: underline; text-underline-offset: 2px; color: inherit; }

/* ---------- Ticket com mais de três abas (páginas geradas, 2026-10-01): as abas quebram linha e a coluna pode encolher ---------- */
.abas { flex-wrap: wrap; max-width: 100%; }
.preco-scrap .duas > * { min-width: 0; }
@media (max-width: 700px) { .abas { border-radius: 18px; } .aba { padding: 8px 12px; } }
