/* Natal Comvisa 2026 - tudo escopado em html.natal. Sem a classe, o site volta ao original. */
html:not(.natal) .natal-only { display: none !important; }

html.natal {
  --n-pine: #173D32;
  --n-wine: #751F2D;
  --n-gold: #C5A66A;
  --n-gold-deep: #8a6c33;
  --n-cream: #FAF7F0;
  --n-sage: #A3B39D;
  --color-primary: #173D32;
  --color-secondary: #3f6b57;
  --color-accent: #C5A66A;
  --color-accent-red: #751F2D;
  --color-background: #FAF7F0;
  --color-border: #e3dccb;
}

/* ambiente */
html.natal body::before {
  background:
    radial-gradient(circle at 10% 14%, rgba(197,166,106,.16), transparent 24rem),
    radial-gradient(circle at 90% 62%, rgba(117,31,45,.08), transparent 30rem),
    radial-gradient(circle at 50% 100%, rgba(163,179,157,.18), transparent 34rem);
}
html.natal .eyebrow { color: var(--n-gold-deep); }
html.natal .page-hero .eyebrow { color: var(--n-gold); }
html.natal .header-cta { background: var(--n-wine); border-color: var(--n-wine); }
html.natal .button-primary { background: var(--n-wine); border-color: var(--n-wine); color: #fff; }
html.natal .site-header { background: rgba(250,247,240,.93); border-bottom-color: rgba(197,166,106,.35); }
html.natal .site-header.is-scrolled { background: rgba(250,247,240,.97); }

/* fio de luzes quentes sob o cabecalho */
html.natal .site-header::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -9px; height: 9px; pointer-events: none;
  background:
    radial-gradient(circle at 50% 4px, #ffd98a 0 2.2px, rgba(255,200,110,.55) 3px, transparent 5px) 0 0 / 34px 9px repeat-x,
    linear-gradient(var(--n-gold), var(--n-gold)) 0 0 / 100% 1px no-repeat;
  animation: n-twinkle 3.2s ease-in-out infinite alternate;
}
@keyframes n-twinkle { from { opacity: .72; } to { opacity: 1; } }

/* faixa de campanha */
.natal-bar {
  position: relative; z-index: 60; display: flex; justify-content: center; align-items: center; gap: .6rem;
  padding: .5rem 1rem; background: var(--n-wine); color: var(--n-cream); font-size: .82rem; font-weight: 650; text-align: center;
}
.natal-bar a { color: var(--n-gold); text-decoration: underline; text-underline-offset: 3px; }

/* link Natal no menu */
html.natal #site-nav a.nav-natal { color: var(--n-wine); }
html.natal #site-nav a.nav-natal::before { content: "✦ "; color: var(--n-gold); }

/* neve suave */
.natal-snow { position: fixed; inset: 0; z-index: 40; pointer-events: none; overflow: hidden; }
.natal-snow i {
  position: absolute; top: -12px; width: var(--s); height: var(--s); border-radius: 50%;
  background: rgba(255,255,255,.9); box-shadow: 0 0 6px rgba(255,255,255,.7);
  animation: n-fall var(--d) linear var(--delay) infinite;
}
@keyframes n-fall { to { transform: translate3d(var(--x), 105vh, 0); } }
@media (prefers-reduced-motion: reduce) { .natal-snow, html.natal .site-header::after { display: none; animation: none; } }

/* secoes natalinas */
.natal-section { padding: clamp(3rem,7vw,6rem) clamp(1rem,5vw,5rem); }
.natal-section.dark { background: var(--n-pine); color: var(--n-cream); }
.natal-section.dark h2 { color: var(--n-cream); }
.natal-section.dark .eyebrow { color: var(--n-gold); }
.natal-section.wine { background: var(--n-wine); color: var(--n-cream); }
.natal-section h2 { max-width: 22ch; margin: 0 0 1rem; font-family: var(--serif); font-size: clamp(2rem,4.4vw,3.6rem); font-weight: 400; letter-spacing: -.03em; line-height: 1.05; }
.natal-section p.lead { max-width: 46rem; font-size: 1.08rem; opacity: .92; }
.natal-wrap { max-width: 78rem; margin: 0 auto; }

.natal-grid { display: grid; gap: 1.1rem; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); margin-top: 2rem; }
.natal-card { position: relative; display: block; overflow: hidden; border-radius: 1.25rem; background: #fff; border: 1px solid rgba(197,166,106,.4); box-shadow: 0 18px 44px rgba(23,61,50,.12); transition: transform .35s ease, box-shadow .35s ease; }
.natal-card:hover { transform: translateY(-4px); box-shadow: 0 26px 56px rgba(23,61,50,.2); }
.natal-card img { width: 100%; height: auto; }
.natal-card span { display: block; padding: .9rem 1.1rem .2rem; color: var(--n-pine); font-family: var(--serif); font-size: 1.25rem; }
.natal-card small { display: block; padding: 0 1.1rem 1.1rem; color: #66736f; font-size: .85rem; }

.natal-video { position: relative; overflow: hidden; border-radius: 1.5rem; box-shadow: 0 30px 70px rgba(0,0,0,.35); border: 1px solid rgba(197,166,106,.55); }
.natal-video video { display: block; width: 100%; height: auto; }
.natal-split { display: grid; gap: clamp(1.5rem,4vw,4rem); grid-template-columns: 1fr; align-items: center; }
@media (min-width: 860px) { .natal-split { grid-template-columns: 1fr 1fr; } }

.natal-gold-line { display: inline-block; width: 4.5rem; height: 2px; margin: 0 0 1rem; background: var(--n-gold); }
.natal-list { display: grid; gap: .9rem; padding: 0; margin: 1.6rem 0 0; list-style: none; }
.natal-list li { padding-left: 1.6rem; position: relative; }
.natal-list li::before { content: "✦"; position: absolute; left: 0; color: var(--n-gold); }

.natal-palette { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.4rem; }
.natal-palette b { padding: .5rem .9rem; border-radius: 999px; font-size: .8rem; border: 1px solid rgba(197,166,106,.5); background: #fff; color: var(--n-pine); }

.natal-hero { position: relative; display: grid; min-height: min(86svh, 46rem); color: var(--n-cream); background: var(--n-pine); overflow: hidden; }
.natal-hero video, .natal-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.natal-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(23,61,50,.92) 0%, rgba(23,61,50,.62) 52%, rgba(23,61,50,.2) 100%); }
.natal-hero-copy { position: relative; z-index: 2; align-self: center; max-width: 46rem; padding: clamp(3rem,7vw,7rem) clamp(1.25rem,6vw,6rem); }
.natal-hero h1 { margin: .4rem 0 1.2rem; font-family: var(--serif); font-size: clamp(2.6rem,6vw,5.6rem); font-weight: 400; letter-spacing: -.04em; line-height: .98; }
.natal-hero p { color: rgba(250,247,240,.88); font-size: clamp(1.02rem,1.4vw,1.2rem); }
.natal-hero .eyebrow { color: var(--n-gold); }
.natal-hero .breadcrumb { color: rgba(250,247,240,.7); }

.natal-faq details { padding: 1.1rem 0; border-bottom: 1px solid rgba(197,166,106,.45); }
.natal-faq summary { cursor: pointer; font-family: var(--serif); font-size: 1.2rem; color: var(--n-pine); }
.natal-faq p { margin: .7rem 0 0; max-width: 52rem; }

.natal-cta { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.8rem; }
.natal-btn { display: inline-flex; align-items: center; min-height: 3rem; padding: .8rem 1.4rem; border-radius: 999px; font-weight: 750; font-size: .92rem; border: 1px solid var(--n-gold); transition: transform .25s ease; }
.natal-btn:hover { transform: translateY(-2px); }
.natal-btn.gold { background: var(--n-gold); color: #1d1a12; }
.natal-btn.ghost { color: inherit; background: transparent; }
.natal-btn.wine { background: var(--n-wine); border-color: var(--n-wine); color: #fff; }

@media (max-width: 640px) { .natal-bar { font-size: .74rem; } }

/* home: o hero natalino (video do Papai Noel) substitui visualmente o hero original */
html.natal main:has(.natal-hero) .page-hero { display: none; }
html.natal .natal-title { margin: .4rem 0 1.2rem; font-family: var(--serif); font-size: clamp(2.6rem,6vw,5.6rem); font-weight: 400; letter-spacing: -.04em; line-height: .98; }
html.natal .natal-hero { min-height: calc(100svh - 8.5rem); }
@media (max-width: 760px) {
  .natal-hero { min-height: 82svh; }
  .natal-hero video, .natal-hero > img { object-position: 68% center; }
  .natal-hero::before { background: linear-gradient(180deg, rgba(23,61,50,.35) 0%, rgba(23,61,50,.9) 72%); }
  .natal-hero-copy { align-self: end; }
}

/* fotos verticais (9:16) sempre na proporcao original, sem corte */
.natal-photo { display: flex; justify-content: center; }
.natal-photo img { width: auto; max-width: 100%; height: auto; max-height: 40rem; border-radius: 1.5rem; border: 1px solid rgba(197,166,106,.55); box-shadow: 0 30px 70px rgba(0,0,0,.3); }
.natal-grid { align-items: start; }
