/* Produção: cópia da variante B "Ceia em Família" (layout de trabalho até a aprovação da comissão — Marcelo, 06/10/2026).
   Fonte: Natal_BH_SEM_GLUTEN/2026/Imagens/motion/tema-variantes/b.{css,js}. Só é carregado com o tema natal ativo. */
/* ============================================================
   Natal BH Sem Glúten 2026 — variante "b": Ceia em Família
   Calorosa e contemporânea: base creme, blocos vermelho e verde-floresta, ondas entre seções,
   ilustração flat (injetada por b.js), cartões de cantos generosos, microinterações.
   Substitui assets/tema-natal.css (carregado depois do landing.css). Tudo escopado em .tema-natal.
   Contrastes (WCAG AA) conferidos: creme/branco sobre verde-floresta >= 9:1; branco sobre vermelho 6,7:1;
   vinho sobre creme >= 11:1; dourado só em decoração ou sobre verde/vermelho escuro.
   ============================================================ */

.tema-natal {
  --creme:        #FBF3E4;
  --creme-claro:  #FFFAF0;
  --creme-200:    #FFF6E6;
  --creme-300:    #EFDDBF;
  --vermelho:     #B3261E;
  --vermelho-600: #8E1B15;
  --vinho:        #5E1710;
  --vinho-fundo:  #4A1209;
  --verde:        #1F4D3A;
  --verde-fundo:  #143A2B;
  --verde-claro:  #2F7A52;
  --marrom:       #3A2416;
  --dourado:      #E3B04B;
  --dourado-600:  #8A6A1F;
  --luz:          #FFD98A;

  --azul:     var(--verde);
  --azul-700: #2A6049;
  --azul-500: #2F7A52;
  --texto:       var(--marrom);
  --texto-suave: #5A4636;
  --laranja:  #E3B04B;
  --rosa:     #B3261E;

  --sombra-sm: 0 3px 10px rgba(74, 18, 9, .10);
  --sombra-md: 0 14px 34px rgba(74, 18, 9, .14);
  --sombra-lg: 0 28px 64px rgba(74, 18, 9, .20);
  --raio: 24px;
  --raio-lg: 34px;

  --f-titulo: 'Fraunces', Georgia, 'Times New Roman', serif;
  --f-script: 'Dancing Script', cursive;
  --f-corpo:  'Nunito', system-ui, sans-serif;
  --fonte-titulo: var(--f-corpo);
  --fonte-script: var(--f-script);

  background: var(--creme);
}

.tema-natal .btn { font-family: var(--f-corpo); font-weight: 800; letter-spacing: .01em; }
.tema-natal a:focus-visible, .tema-natal button:focus-visible {
  outline: 3px solid var(--dourado);
  outline-offset: 3px;
  border-radius: 8px;
}

/* ---------- Barra superior ---------- */
.tema-natal .topnav {
  background: var(--verde-fundo);
  box-shadow: 0 6px 20px rgba(8, 30, 20, .28);
}
.tema-natal .brand { font-family: var(--f-titulo); font-weight: 700; font-size: 1.2rem; letter-spacing: -.005em; }
.tema-natal .brand .brand-icone {
  width: 36px; height: 36px; border-radius: 50%;
  background: var(--creme-claro);
  display: grid; place-items: center;
  font-size: 1.2rem; filter: none;
  box-shadow: 0 0 0 3px rgba(255, 217, 138, .35);
}
.tema-natal .btn-light { background: var(--creme-claro); color: var(--verde); font-weight: 800; }
.tema-natal .btn-light:hover { background: #fff; transform: translateY(-2px); box-shadow: 0 8px 18px rgba(0,0,0,.22); }
.tema-natal .btn-ghost { border: 2px solid rgba(255, 250, 240, .6); color: #fff; }
.tema-natal .btn-ghost:hover { background: rgba(255,250,240,.14); transform: translateY(-2px); }
/* Celulares estreitos (até 374 px, ex.: Android 360): cabeçalho numa linha só (antes o "Entrar" descia) */
@media (max-width: 374px) {
  .tema-natal .topnav .inner { gap: 8px; }
  .tema-natal .brand { font-size: 1rem; gap: 8px; }
  .tema-natal .brand .brand-icone { width: 30px; height: 30px; font-size: 1rem; }
  .tema-natal .topnav .nav-actions .btn { padding: .4rem .8rem; font-size: .85rem; }
}

/* ---------- Faixa de aviso do glúten (segurança: mantida em vermelho) ---------- */
.tema-natal .alerta { background: var(--vermelho); font-weight: 700; padding: 12px 18px; }

/* ---------- Guirlanda de luzes (b.js desenha o SVG) ---------- */
.tema-natal .tema-decor-topo {
  position: relative;
  height: 64px;
  margin-bottom: -64px;
  z-index: 5;
  pointer-events: none;
}
.tema-natal .tema-decor-topo svg { display: block; overflow: visible; max-width: 100%; }
.tema-natal .tema-decor-topo:empty { background: linear-gradient(var(--verde), var(--verde)) 0 0 / 100% 6px no-repeat; }

/* ---------- Hero ---------- */
.tema-natal .hero {
  background:
    radial-gradient(640px 440px at 8% 10%, rgba(255, 201, 77, .34), transparent 66%),
    radial-gradient(560px 420px at 98% 34%, rgba(179, 38, 30, .08), transparent 66%),
    var(--creme);
  padding: 96px 0 56px;
}
.tema-natal .hero::before {
  background-image:
    radial-gradient(circle, rgba(201, 150, 40, .30) 0 1.6px, transparent 2.4px);
  background-size: 34px 34px;
  background-position: 0 0;
  mask-image: radial-gradient(ellipse 70% 70% at 50% 40%, #000 20%, transparent 80%);
}
.tema-natal .hero-grid { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 36px; align-items: center; }

.tema-natal .tema-hero-arte {
  width: 100%;
  max-width: 500px;
  aspect-ratio: 480 / 560;
  justify-self: center;
  background: none;

  animation: none;
}
.tema-natal .tema-hero-arte svg { display: block; width: 100%; height: 100%; overflow: visible; }

/* Texto do hero */
.tema-natal .hero-info .frase {
  display: inline-block;
  font-family: var(--f-script);
  font-weight: 700;
  font-size: clamp(1.45rem, 3vw, 1.85rem);
  line-height: 1.2;
  color: var(--creme-claro);
  background: var(--verde);
  border-radius: 999px;
  padding: 6px 22px 9px;
  margin-bottom: 14px;
  transform: rotate(-2deg);
  box-shadow: 0 8px 18px rgba(31, 77, 58, .30);
}
.tema-natal .hero-info .frase::before { content: "✦"; content: "✦" / ""; margin-right: 8px; color: var(--luz); font-size: .8em; }
.tema-natal .hero-info h1 { margin-bottom: 18px; line-height: 1; }
.tema-natal .tema-nome-natal {
  display: block;
  font-family: var(--f-script);
  font-weight: 700;
  color: var(--vermelho);
  font-size: clamp(4.8rem, 12vw, 8.2rem);
  line-height: .9;
  letter-spacing: 0;
  text-shadow: 0 4px 0 rgba(179, 38, 30, .12);
}
.tema-natal .tema-nome-resto {
  display: block;
  font-family: var(--f-titulo);
  font-weight: 800;
  color: var(--verde);
  font-size: clamp(1.7rem, 4.2vw, 2.9rem);
  letter-spacing: -.01em;
  text-transform: none;
  margin-top: 2px;
}

/* Selos */
.tema-natal .tema-selos {
  list-style: none;
  display: flex; flex-wrap: wrap;
  gap: 8px 10px;
  margin: 0 0 22px; padding: 0;
}
.tema-natal .tema-selos li {
  display: inline-flex; align-items: center; gap: 7px;
  border-radius: 999px;
  padding: 7px 14px;
  font-weight: 800; font-size: .86rem; letter-spacing: 0;
  box-shadow: var(--sombra-sm);
}
.tema-natal .tema-selos li::before { content: "✓"; content: "✓" / ""; font-weight: 800; }
.tema-natal .tema-selos li:nth-child(1) { background: var(--verde); color: #fff; }
.tema-natal .tema-selos li:nth-child(1)::before { color: var(--luz); }
.tema-natal .tema-selos li:nth-child(2) { background: var(--vermelho); color: #fff; }
.tema-natal .tema-selos li:nth-child(2)::before { color: var(--luz); }
.tema-natal .tema-selos li:nth-child(3) { background: #FFD36B; color: var(--vinho-fundo); }
.tema-natal .tema-selos li:nth-child(3)::before { color: var(--vermelho); }

/* Data e informações */
.tema-natal .data-pill {
  background: var(--vermelho);
  color: #fff;
  border: none;
  border-radius: 999px;
  padding: 12px 26px 12px 20px;
  font-family: var(--f-titulo);
  font-weight: 700;
  font-size: clamp(1.25rem, 2.6vw, 1.6rem);
  box-shadow: 0 12px 24px rgba(179, 38, 30, .30);
  margin-bottom: 18px;
}
.tema-natal .data-pill svg { color: var(--luz); }
.tema-natal .meta-list { gap: 10px; margin-bottom: 28px; }
.tema-natal .meta-item { font-weight: 700; color: var(--marrom); align-items: center; }
.tema-natal .meta-item svg {
  flex: none;
  width: 36px; height: 36px; padding: 9px;
  border-radius: 50%;
  background: #fff;
  color: var(--vermelho);
  box-shadow: var(--sombra-sm);
}

/* Contagem em blocos coloridos (etiquetas de presente) */
.tema-natal .countdown { gap: 8px; flex-wrap: nowrap; margin-bottom: 26px; align-items: stretch; }
.tema-natal .cd-box {
  flex: 0 0 auto;
  width: 84px;
  border-radius: 24px;
  padding: 26px 4px 12px;
  color: #fff;
  box-shadow: 0 14px 24px rgba(74, 18, 9, .22);
  border: none;
  background: var(--vermelho);
  transition: transform .25s cubic-bezier(.3, 1.4, .5, 1), box-shadow .25s ease;
}
.tema-natal .cd-box::before {
  content: "";
  position: absolute; top: 9px; left: 50%;
  width: 10px; height: 10px; margin-left: -5px;
  border-radius: 50%;
  background: var(--creme);
  box-shadow: inset 0 1.5px 2px rgba(0, 0, 0, .35);
}
.tema-natal .cd-box:hover { transform: translateY(-5px) rotate(-1.5deg); box-shadow: 0 20px 30px rgba(74, 18, 9, .26); }
.tema-natal .cd-box:nth-child(1) { background: var(--vermelho); }
.tema-natal .cd-box:nth-child(3) { background: var(--verde); }
.tema-natal .cd-box:nth-child(5) { background: #F2B63F; color: var(--vinho-fundo); }
.tema-natal .cd-box:nth-child(7) { background: var(--verde-claro); }
.tema-natal .cd-box .num { font-family: var(--f-titulo); font-weight: 800; font-size: 2.3rem; letter-spacing: -.02em; }
.tema-natal .cd-box .lbl { opacity: 1; font-weight: 800; font-size: .72rem; letter-spacing: .1em; margin-top: 6px; }
.tema-natal .cd-sep { color: var(--vermelho); font-family: var(--f-titulo); font-weight: 800; align-self: center; margin: 0 -2px; }

/* Papai Noel (selo redondo, b.js desenha) */
.tema-natal .tema-contagem-decor { width: 116px; height: 116px; margin: 0 0 22px; }
.tema-natal .tema-contagem-decor { border-radius: 50%; box-shadow: 0 12px 20px rgba(74, 18, 9, .22); }
.tema-natal .tema-contagem-decor svg { display: block; width: 100%; height: 100%; }
.tema-natal .tema-contagem-decor:empty { display: none; }

/* Situação das vendas */
.tema-natal .em-breve-card {
  display: block;
  max-width: 500px;
  background: #fff;
  border: 2.5px dashed var(--dourado);
  border-radius: 26px;
  padding: 20px 28px 22px;
  font-family: var(--f-titulo);
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--vinho);
  box-shadow: var(--sombra-md);
}
.tema-natal .loading-bar-track { background: var(--creme-300); height: 7px; border-radius: 4px; margin-top: 14px; }
.tema-natal .loading-bar-fill { background: linear-gradient(90deg, var(--dourado), var(--vermelho)); }
.tema-natal .hero-links { margin-top: 16px; font-size: .98rem; }
.tema-natal .hero-links a {
  display: inline-block;
  color: var(--vermelho-600);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
  transition: transform .2s ease, color .2s ease;
}
.tema-natal .hero-links a:hover { color: var(--vinho); transform: translateX(4px); }

/* Botões */
.tema-natal .btn-cta { background: var(--vermelho); color: #fff; box-shadow: 0 12px 26px rgba(179, 38, 30, .32); }
.tema-natal .btn-cta:hover { background: var(--vermelho-600); box-shadow: 0 18px 34px rgba(142, 27, 21, .4); }
.tema-natal .btn-outline { border: 2px solid var(--verde); color: var(--verde); }
.tema-natal .btn-outline:hover { background: var(--verde); color: #fff; }
.tema-natal .btn-gold { background: #FFD36B; color: var(--vinho-fundo); font-weight: 800; padding: 14px 28px; box-shadow: 0 10px 20px rgba(0, 0, 0, .18); }
.tema-natal .btn-gold:hover { background: #FFE08A; transform: translateY(-3px); box-shadow: 0 16px 26px rgba(0, 0, 0, .22); }

/* ---------- Onda entre hero e "O que vai ter?" ---------- */
.tema-natal .tema-decor-divisor {
  position: relative;
  height: 84px;
  margin-top: -1px;
  background: var(--verde);
  opacity: 1;
}
.tema-natal .tema-decor-divisor svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.tema-natal .b-onda-cor { fill: var(--creme); }

/* ---------- Seções ---------- */
.tema-natal .secao { padding: 96px 0; }
.tema-natal .bg-branco { background: var(--creme-claro); }
.tema-natal .secao-titulo {
  font-family: var(--f-titulo);
  font-weight: 800;
  font-size: clamp(2.1rem, 4.8vw, 3.3rem);
  letter-spacing: -.015em;
  color: var(--verde);
}
.tema-natal .secao-titulo .destaque { color: var(--vermelho); }
.tema-natal .secao-sub { color: var(--texto-suave); font-size: 1.12rem; max-width: 560px; margin-left: auto; margin-right: auto; }

/* "O que vai ter": bloco verde-floresta */
.tema-natal #atracoes {
  background: var(--verde);
  padding: 28px 0 130px;
  overflow: hidden;
}
.tema-natal #atracoes::before {
  content: "";
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255, 244, 220, .10) 0 2px, transparent 2.6px);
  background-size: 38px 38px;
  pointer-events: none;
}
.tema-natal #atracoes .container { position: relative; z-index: 2; }
.tema-natal #atracoes .secao-titulo { color: #FFF4DC; }
.tema-natal #atracoes .secao-titulo .destaque { color: #FFD36B; }
.tema-natal #atracoes .secao-sub { color: rgba(255, 244, 220, .92); }

.tema-natal .b-estrelas { position: absolute; inset: 0; pointer-events: none; z-index: 1; }
.tema-natal .b-estrelas svg { width: 100%; height: 100%; display: block; }
.tema-natal .b-ramo-canto { position: absolute; top: -6px; width: 200px; height: 160px; pointer-events: none; z-index: 1; opacity: .95; }
.tema-natal .b-ramo-canto.esq { left: -12px; }
.tema-natal .b-ramo-canto.dir { right: -12px; transform: scaleX(-1); }
.tema-natal .b-ramo-canto svg { width: 100%; height: 100%; display: block; overflow: visible; }

.tema-natal .b-onda { position: absolute; left: 0; right: 0; height: 90px; pointer-events: none; z-index: 1; }
.tema-natal .b-onda svg { width: 100%; height: 100%; display: block; }
.tema-natal .b-onda-baixo { bottom: -1px; }
.tema-natal .b-onda-baixo path { fill: var(--creme); }
.tema-natal .b-onda-topo { top: -89px; }
.tema-natal .b-onda-topo path { fill: var(--verde-fundo); }

/* Cartões */
.tema-natal .cards-grid { gap: 24px; margin-top: 56px; }
.tema-natal .card-feature {
  --acc: var(--vermelho);
  --acc-bg: #FBD7D2;
  background: var(--creme-claro);
  border: none;
  border-radius: 32px;
  padding: 36px 24px 34px;
  box-shadow: 0 16px 32px rgba(6, 28, 19, .30), inset 0 -7px 0 var(--acc);
  transition: opacity .7s ease, transform .35s cubic-bezier(.3, 1.3, .5, 1), box-shadow .3s ease;
  overflow: hidden;
}
.tema-natal .card-feature::before { display: none; }
.tema-natal .card-feature:nth-child(2) { --acc: #E3B04B; --acc-bg: #FCE6B0; }
.tema-natal .card-feature:nth-child(3) { --acc: #5FB48C; --acc-bg: #D3EDE0; }
.tema-natal .card-feature:nth-child(4) { --acc: #E58C86; --acc-bg: #F8D6D2; }
.tema-natal .card-feature:hover {
  transform: translateY(-10px) rotate(-.8deg);
  box-shadow: 0 28px 44px rgba(6, 28, 19, .38), inset 0 -7px 0 var(--acc);
}
.tema-natal .card-feature:nth-child(even):hover { transform: translateY(-10px) rotate(.8deg); }
.tema-natal .card-feature .ico {
  width: 88px; height: 88px;
  margin: 0 auto 20px;
  border-radius: 58% 42% 55% 45% / 50% 56% 44% 50%;
  background: var(--acc-bg);
  border: none;
  box-shadow: none;
  font-size: 2.5rem;
  transition: transform .4s cubic-bezier(.3, 1.4, .5, 1), border-radius .6s ease;
}
.tema-natal .card-feature:hover .ico { transform: scale(1.1) rotate(-6deg); border-radius: 46% 54% 48% 52% / 56% 44% 56% 44%; }
/* Selo em foto (img no lugar do emoji; ex.: card 4 "100% Sem Glúten"): disco branco recortado em círculo, com aro na cor do card */
.tema-natal .card-feature .ico img {
  width: 78%; height: 78%;
  object-fit: contain;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 3px var(--acc), 0 3px 8px rgba(58, 36, 22, .18);
}
.tema-natal .card-feature h3 {
  font-family: var(--f-titulo);
  font-weight: 700;
  color: var(--vinho);
  font-size: 1.32rem;
  letter-spacing: -.005em;
  margin-bottom: 8px;
}
.tema-natal .card-feature p { color: var(--texto-suave); font-size: 1rem; }

.tema-natal .aviso-pgto {
  background: var(--creme-claro);
  border-color: var(--creme-300);
  border-left-color: var(--dourado);
  border-radius: 20px;
}

/* Caixa do Open Food (mesma lógica do Arraiá: logo abaixo dos 4 cards, texto do painel).
   Creme com borda dourada sobre o verde; mesma largura do conjunto de cards. */
.tema-natal .openfood {
  position: relative;
  max-width: none;
  margin: 28px 0 0;
  padding: 24px 32px 26px;
  background:
    radial-gradient(520px 200px at 0% 0%, rgba(255, 217, 138, .38), transparent 70%),
    linear-gradient(180deg, var(--creme-claro), var(--creme-200));
  border: 3px solid var(--dourado);
  border-radius: 28px;
  box-shadow: 0 16px 32px rgba(6, 28, 19, .30), inset 0 0 0 3px rgba(255, 250, 240, .9);
  color: var(--marrom);
  font-size: 1.1rem;
  line-height: 1.55;
  text-align: center;
  white-space: pre-line;
}
.tema-natal .openfood strong, .tema-natal .openfood b { color: var(--vinho); font-weight: 800; }
.tema-natal .openfood .of-linha { display: block; }
.tema-natal .openfood .of-linha:first-child { font-size: 1.18rem; font-weight: 600; }
.tema-natal .openfood .of-aviso {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 10px auto 0;
  padding: 8px 20px 9px;
  background: #FCE6B0;
  border-radius: 24px;
  color: var(--vinho);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.4;
  white-space: normal;
}
.tema-natal .openfood .of-aviso:last-child {
  background: var(--vermelho-600);
  color: #fff;
  letter-spacing: .02em;
}

/* ---------- Onde vai ser ---------- */
.tema-natal #local { background: var(--creme); padding: 72px 0 120px; }
.tema-natal .local-grid { gap: 28px; margin-top: 50px; }
.tema-natal .mapa-wrap {
  border: 6px solid #fff;
  border-radius: 36px;
  box-shadow: 0 20px 44px rgba(74, 18, 9, .18);
}
.tema-natal .local-info {
  background:
    radial-gradient(420px 260px at 0% 0%, rgba(255, 217, 138, .22), transparent 70%),
    linear-gradient(155deg, #C0372D, #8E1B15);
  border-radius: 36px;
  padding: 46px 40px;
  box-shadow: 0 20px 44px rgba(142, 27, 21, .32);
  color: #fff;
}
.tema-natal .local-info::after { content: none; }
.tema-natal .local-info > *:not(.b-enfeite) { position: relative; z-index: 1; }
.tema-natal .local-info .rotulo { font-family: var(--f-script); font-size: 2rem; font-weight: 700; color: var(--luz); }
.tema-natal .local-info h3 { font-family: var(--f-titulo); font-weight: 800; font-size: 2.1rem; letter-spacing: -.01em; margin-bottom: 20px; }
.tema-natal .local-info .linha svg { color: var(--luz); }
.tema-natal .b-enfeite { position: absolute; right: -14px; bottom: -14px; width: 170px; height: 142px; opacity: .92; pointer-events: none; }
.tema-natal .b-enfeite svg { width: 100%; height: 100%; display: block; overflow: visible; }

/* ---------- Galeria, apoio, passos, lotes e chamada final (aparecem depois) ---------- */
.tema-natal .secao-galeria { background: radial-gradient(700px 400px at 80% 10%, rgba(255, 201, 77, .26), transparent 60%), var(--creme); }
.tema-natal .galeria-item { border-radius: 22px; }
.tema-natal .secao-apoio { background: var(--creme-claro); }
.tema-natal .apoio-logo { border-color: var(--creme-300); border-radius: 24px; }
.tema-natal .lote { border-radius: var(--raio-lg); border-color: var(--creme-300); }
.tema-natal .lote .fita.breve { background: #F2B63F; color: var(--vinho-fundo); }
.tema-natal .lote h3, .tema-natal .step h3 { font-family: var(--f-titulo); font-weight: 700; }
.tema-natal .lote h3 { color: var(--verde); }
.tema-natal .lote .preco { font-family: var(--f-titulo); font-weight: 800; }
.tema-natal .timeline::before { background: repeating-linear-gradient(90deg, var(--dourado) 0 14px, transparent 14px 26px); }
.tema-natal .step .bolinha { background: var(--verde); font-family: var(--f-titulo); }
.tema-natal .step:hover .bolinha { background: var(--vermelho); }
.tema-natal .cta-final { background: linear-gradient(160deg, var(--vermelho), var(--vermelho-600)); }
.tema-natal .cta-final .frase { color: var(--luz); font-weight: 700; }
.tema-natal .cta-final h2 { font-family: var(--f-titulo); font-weight: 800; }

/* ---------- Rodapé ---------- */
.tema-natal .footer {
  position: relative;
  background: var(--verde-fundo);
  border-top: none;
  padding: 64px 0 28px;
}
.tema-natal .footer .brand-foot { font-family: var(--f-titulo); font-weight: 700; letter-spacing: -.005em; }
.tema-natal .footer h4 { font-family: var(--f-titulo); font-weight: 700; color: #FFD36B; letter-spacing: 0; }
.tema-natal .footer .desc { color: rgba(255, 250, 240, .88); }
.tema-natal .footer ul a { color: rgba(255, 250, 240, .9); }
.tema-natal .footer ul a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.tema-natal .footer-bottom { color: rgba(255, 250, 240, .78); border-top-color: rgba(255, 250, 240, .16); }

/* ---------- Movimento (só com preferência normal) ---------- */
@media (prefers-reduced-motion: no-preference) {
  @keyframes b-tw { 0%, 100% { opacity: .4; } 50% { opacity: 1; } }
  @keyframes b-pulso { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.08); } }
  @keyframes b-balanco { 0%, 100% { transform: rotate(-3.5deg); } 50% { transform: rotate(3.5deg); } }
  @keyframes b-chama { 0%, 100% { transform: scale(1, 1); } 50% { transform: scale(.9, 1.1); } }
  @keyframes b-acena { 0%, 100% { transform: rotate(-9deg); } 50% { transform: rotate(13deg); } }
  @keyframes b-flutuar { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
  .tema-natal .b-tw { animation: b-tw 3.6s ease-in-out infinite; }
  .tema-natal .b-estrela { animation: b-pulso 5s ease-in-out infinite; }
  .tema-natal .b-bola { animation: b-balanco 6.5s ease-in-out infinite; }
  .tema-natal .b-chama { animation: b-chama 2.4s ease-in-out infinite; }
  .tema-natal .b-acena { animation: b-acena 2s ease-in-out infinite; }
  .tema-natal .tema-contagem-decor svg { animation: b-flutuar 5s ease-in-out infinite; }
}
@media (prefers-reduced-motion: reduce) {
  .tema-natal *, .tema-natal *::before, .tema-natal *::after { animation: none !important; transition: none !important; }
  html { scroll-behavior: auto; }
}

/* ---------- Balão flutuante (aviso "em construção"; refina o estilo neutro do landing.css) ---------- */
.tema-natal .balao-corpo {
  font-family: var(--f-corpo);
  background:
    radial-gradient(ellipse 30% 22% at 30% 20%, rgba(255, 255, 255, .26), transparent 70%),
    radial-gradient(circle at 40% 30%, #C42E26, var(--vermelho) 58%, var(--vermelho-600));
  border: 4px solid var(--dourado);
  box-shadow: 0 14px 28px rgba(74, 18, 9, .34), inset 0 0 0 3px rgba(255, 217, 138, .35);
}
.tema-natal .balao-corpo::after { border-bottom-color: var(--vermelho-600); }
.tema-natal .balao-texto { text-shadow: 0 1px 2px rgba(74, 18, 9, .45); }
.tema-natal .balao-fio, .tema-natal .rv-fio { color: var(--dourado-600); }

/* ---------- Responsivo ---------- */
@media (min-width: 1200px) {
  /* Papai Noel ao lado da contagem */
  .tema-natal .tema-contagem-decor { margin: -136px 0 22px auto; width: 134px; height: 134px; }
}
@media (max-width: 1199px) and (min-width: 981px) {
  .tema-natal .cd-box { width: 78px; }
}
@media (max-width: 980px) {
  .tema-natal .hero { padding: 84px 0 44px; }
  .tema-natal .hero-grid { grid-template-columns: 1fr; gap: 26px; }
  .tema-natal .tema-hero-arte { max-width: 340px; }
  .tema-natal .tema-selos { justify-content: center; }
  .tema-natal .hero-info .frase { transform: rotate(-1.5deg); }
  .tema-natal .em-breve-card { margin-left: auto; margin-right: auto; }
  .tema-natal .tema-contagem-decor { margin: 4px auto 22px; }
  .tema-natal .secao { padding: 72px 0; }
  .tema-natal #atracoes { padding: 20px 0 140px; }
  .tema-natal #local { padding: 56px 0 100px; }
  .tema-natal .local-info { padding: 38px 30px; }
}
@media (max-width: 540px) {
  .tema-natal .hero { padding: 76px 0 36px; }
  .tema-natal .tema-hero-arte { max-width: 280px; }
  .tema-natal .tema-decor-topo { height: 56px; margin-bottom: -56px; }
  .tema-natal .secao { padding: 60px 0; }
  .tema-natal #atracoes { padding: 12px 0 120px; }
  .tema-natal #local { padding: 44px 0 90px; }
  .tema-natal .tema-decor-divisor { height: 52px; }
  .tema-natal .b-onda { height: 56px; }
  .tema-natal .b-onda-topo { top: -55px; }
  .tema-natal .countdown { gap: 6px; }
  .tema-natal .cd-sep { display: none; }
  .tema-natal .cd-box { flex: 1 1 0; min-width: 0; width: auto; padding-top: 24px; }
  .tema-natal .cd-box .num { font-size: 1.9rem; }
  .tema-natal .cd-box .lbl { font-size: .68rem; letter-spacing: .06em; }
  .tema-natal .tema-contagem-decor { width: 108px; height: 108px; }
  .tema-natal .em-breve-card { font-size: 1.08rem; padding: 18px 20px 20px; }
  .tema-natal .b-ramo-canto { width: 130px; height: 104px; }
  .tema-natal .b-ramo-canto.esq { left: -26px; }
  .tema-natal .b-ramo-canto.dir { right: -26px; }
  .tema-natal .data-pill { padding: 10px 22px 10px 16px; }
  .tema-natal .card-feature { padding: 30px 22px 30px; }
  .tema-natal .local-info h3 { font-size: 1.8rem; }
  .tema-natal .mapa-wrap { border-radius: 28px; min-height: 300px; }
  .tema-natal .mapa-wrap iframe { min-height: 300px; }
}

/* ajustes de celular (rodada 2) */
@media (max-width: 980px) {
  .tema-natal .hero-info .meta-list { align-items: center; }
  .tema-natal .meta-item { text-align: left; }
}
@media (max-width: 540px) {
  .tema-natal .hero-info .frase { font-size: 1.3rem; padding: 5px 16px 8px; white-space: nowrap; }
  .tema-natal .b-ramo-canto { display: none; }
  .tema-natal .card-feature .ico { width: 76px; height: 76px; font-size: 2.2rem; margin-bottom: 14px; }
  .tema-natal .card-feature { padding: 26px 22px 28px; }
  .tema-natal .b-enfeite { width: 120px; height: 100px; }
}
