/* ============================================================
   VIVA GRAMADO · Natal Luz - tema festivo (sobre o design system)
   vermelho natalino + verde pinheiro + dourado + luzes/neve
   ============================================================ */
:root{
  --nl-bg:#08160f;
  --nl-bg2:#0c1f16;
  --nl-red:#b23a2e;
  --nl-red-deep:#7d2420;
  --nl-pine:#16352b;
}
.theme-natal{background:var(--nl-bg);color:var(--cream-50)}
.theme-natal header.nav{background:rgba(8,22,15,.6);backdrop-filter:blur(10px)}
.theme-natal header.nav.scrolled{background:rgba(8,22,15,.9)}
.theme-natal .brand-gramado{color:#fff}
.theme-natal .brand-viva{color:var(--gold-400)}

/* ---------------- HERO festivo ---------------- */
.nl-hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden}
.nl-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.06);filter:saturate(.9) brightness(.7)}
.nl-hero-shade{position:absolute;inset:0;background:
  radial-gradient(55% 50% at 82% 8%, rgba(178,58,46,.55), transparent 60%),
  radial-gradient(50% 45% at 10% 88%, rgba(22,53,43,.8), transparent 60%),
  radial-gradient(40% 30% at 50% 20%, rgba(227,207,152,.25), transparent 70%),
  linear-gradient(180deg, rgba(8,22,15,.55), rgba(8,22,15,.93))}
.nl-hero .container{position:relative;z-index:4}
.nl-hero-in{max-width:840px;padding:8rem 0 6rem}
.nl-eyebrow{color:var(--gold-300)}
.nl-title{font-family:'Playfair Display',serif;font-weight:700;font-size:clamp(2.4rem,6vw,4.4rem);color:#fff;line-height:1.04;letter-spacing:-.01em;margin:.4rem 0}
.nl-title .script{display:block;font-family:'Great Vibes',cursive;font-weight:400;font-size:clamp(4rem,12vw,8.5rem);color:var(--gold-300);line-height:.78;text-shadow:0 4px 40px rgba(227,207,152,.35);transform:rotate(-3deg);transform-origin:left}
.nl-sub{font-size:clamp(1.05rem,2vw,1.35rem);color:var(--on-dark);max-width:50ch;font-weight:300;margin:1.4rem 0 2.2rem}
.nl-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}

/* luzes bokeh */
.nl-lights{position:absolute;inset:0;z-index:2;pointer-events:none}
.nl-lights i{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,228,150,.95),rgba(255,196,86,.25) 55%,transparent 70%);filter:blur(.4px);animation:nlTwinkle 3.4s ease-in-out infinite}
@keyframes nlTwinkle{0%,100%{opacity:.2;transform:scale(.7)}50%{opacity:1;transform:scale(1.25)}}

/* neve */
.nl-snow{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}
.nl-snow span{position:absolute;top:-5%;color:#fff;opacity:.85;text-shadow:0 0 6px rgba(255,255,255,.6);animation:nlFall linear infinite}
@keyframes nlFall{0%{transform:translateY(-5vh) translateX(0) rotate(0)}100%{transform:translateY(108vh) translateX(40px) rotate(360deg)}}

.nl-scroll{position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);z-index:4;color:var(--on-dark-soft);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase}

/* ---------------- faixa intro ---------------- */
.nl-intro{background:linear-gradient(180deg,var(--nl-bg),var(--nl-bg2));padding:clamp(3.5rem,7vw,6rem) 0;position:relative}
.nl-intro::before,.nl-intro::after{content:'';position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold-500),transparent)}
.nl-intro::before{top:0}.nl-intro::after{bottom:0}
.nl-intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center}
.nl-intro h2{color:#fff;font-size:clamp(1.8rem,3.6vw,2.8rem)}
.nl-intro p{color:var(--on-dark);margin-top:1rem}
.nl-intro-fotos{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.nl-intro-fotos img{width:100%;height:100%;object-fit:cover;border-radius:14px;aspect-ratio:4/5;box-shadow:0 20px 50px -24px rgba(0,0,0,.7)}
.nl-intro-fotos img:nth-child(1){grid-row:span 2;aspect-ratio:auto}

/* ---------------- pacotes (feature rows) ---------------- */
.nl-pacotes{background:var(--nl-bg2);padding:clamp(3.5rem,8vw,6.5rem) 0}
.nl-pkg{display:grid;grid-template-columns:1.05fr 1fr;gap:0;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:2.2rem;background:linear-gradient(160deg,#11271d,#0a1c14);border:1px solid rgba(227,207,152,.16);box-shadow:0 30px 70px -40px rgba(0,0,0,.8)}
.nl-pkg:nth-child(even) .nl-pkg-media{order:2}
.nl-pkg-media{position:relative;min-height:340px;overflow:hidden}
.nl-pkg-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.nl-pkg:hover .nl-pkg-media img{transform:scale(1.06)}
.nl-pkg-media::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 60%,rgba(10,28,20,.6))}
.nl-pkg-body{padding:clamp(1.8rem,3vw,2.8rem);display:flex;flex-direction:column;justify-content:center}
.nl-pkg-tag{align-self:flex-start;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--nl-red),var(--nl-red-deep));padding:.35rem .9rem;border-radius:999px;margin-bottom:1rem}
.nl-pkg-body h3{color:#fff;font-size:clamp(1.5rem,2.6vw,2.1rem)}
.nl-pkg-body p{color:var(--on-dark);margin:.8rem 0 1.2rem;font-size:.98rem}
.nl-pkg-meta{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-bottom:1.4rem}
.nl-pkg-price{font-family:'Playfair Display',serif;color:var(--gold-300);font-size:1.4rem}
.nl-pkg-price small{display:block;font-family:'Outfit',sans-serif;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-soft);font-weight:600}
.nl-pkg-when{font-size:.82rem;color:var(--on-dark-soft)}

/* ---------------- galeria ---------------- */
.nl-galeria-sec{background:linear-gradient(180deg,var(--nl-bg2),var(--nl-bg));padding:clamp(3.5rem,8vw,6.5rem) 0}
.nl-galeria{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:160px;gap:.7rem;margin-top:2.5rem}
.nl-galeria figure{overflow:hidden;border-radius:14px}
.nl-galeria figure:nth-child(1){grid-column:span 2;grid-row:span 2}
.nl-galeria figure:nth-child(6){grid-column:span 2}
.nl-galeria img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.nl-galeria figure:hover img{transform:scale(1.08)}

/* ---------------- CTA receber detalhes ---------------- */
.nl-cta{background:radial-gradient(70% 100% at 50% 0%,rgba(178,58,46,.35),transparent 60%),var(--nl-bg);padding:clamp(3.5rem,8vw,6.5rem) 0;text-align:center}
.nl-cta h2{color:#fff;font-size:clamp(2rem,4vw,3rem)}
.nl-cta p{color:var(--on-dark);max-width:54ch;margin:1rem auto 2rem}

@media(max-width:820px){
  .nl-intro-grid{grid-template-columns:1fr}
  .nl-pkg{grid-template-columns:1fr}
  .nl-pkg:nth-child(even) .nl-pkg-media{order:0}
  .nl-pkg-media{min-height:240px}
  .nl-galeria{grid-template-columns:repeat(2,1fr)}
  .nl-galeria figure:nth-child(6){grid-column:span 2}
}

/* ---- v2 LP Natal: mini-galeria, inclui, acoes, como funciona ---- */
.nl-pkg-thumbs{position:absolute;left:1rem;bottom:1rem;display:flex;gap:.5rem;z-index:3}
.nl-pkg-thumbs span{width:56px;height:56px;border-radius:10px;background-size:cover;background-position:center;border:2px solid rgba(253,251,245,.85);box-shadow:0 6px 16px rgba(0,0,0,.45);position:relative}
.nl-pkg-thumbs .more b{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-family:'Outfit',sans-serif;font-weight:700;font-size:.85rem;background:rgba(8,22,15,.55);border-radius:8px}
.nl-pkg-inclui{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.4rem .9rem;margin:0 0 1.3rem}
.nl-pkg-inclui li{padding-left:1.3rem;position:relative;color:var(--on-dark);font-size:.84rem;line-height:1.4}
.nl-pkg-inclui li::before{content:'\2726';position:absolute;left:0;color:var(--gold-400)}
.nl-pkg-actions{display:flex;align-items:center;gap:1.3rem;flex-wrap:wrap}
.nl-wa{color:var(--gold-300);font-size:.85rem;font-weight:600;border-bottom:1px solid rgba(227,207,152,.4);padding-bottom:2px}
.nl-wa:hover{color:var(--gold-400)}

.nl-como{background:var(--nl-bg);padding:clamp(3rem,6vw,5rem) 0;position:relative}
.nl-como::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold-500),transparent)}
.nl-como-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.6rem}
.nl-step{background:linear-gradient(160deg,#11271d,#0a1c14);border:1px solid rgba(227,207,152,.16);border-radius:var(--radius);padding:2.1rem;text-align:center}
.nl-step .n{font-family:'Great Vibes',cursive;font-size:3.2rem;color:var(--gold-300);line-height:1}
.nl-step h4{color:#fff;margin:.3rem 0 .6rem;font-size:1.2rem}
.nl-step p{color:var(--on-dark);font-size:.9rem}

/* galeria maior */
.nl-galeria{grid-auto-rows:150px}
.nl-galeria figure:nth-child(8){grid-row:span 2}
.nl-galeria figure:nth-child(11){grid-column:span 2}
@media(max-width:820px){ .nl-como-grid{grid-template-columns:1fr} .nl-pkg-inclui{grid-template-columns:1fr} }
