/* ═══ DIWALI HERO BACKGROUND (homepage) ═══
   Replaces the Beams background while the Diwali offer runs. Content is untouched. */
#hero.vx-hero.dw-hero { background: #12040e; }
.dw-hero .vx-beams { display: none; }

/* other pages: injected layer sits behind the hero content (z-index -1 inside an isolated hero) */
.dw-deco:not(body) { position: relative; isolation: isolate; overflow: hidden; background: #12040e; }
body.dw-hero { background: #12040e; }
.dwh-layer { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.dwh-layer.dwh-fixed { position: fixed; }
.dw-hero .lp-beams, .dw-hero .lp-bg-fade, .dw-hero .hero-orb { display: none; }
.dwh-veil { position: absolute; inset: 0; pointer-events: none; }
.dwh-split .dwh-veil {
  background: radial-gradient(ellipse 48% 58% at 26% 52%, rgba(12, 3, 14, .55) 0%, transparent 75%),
              linear-gradient(180deg, transparent 80%, rgba(12, 3, 14, .55) 100%);
}
.dwh-center .dwh-veil {
  background: radial-gradient(ellipse 42% 50% at 50% 55%, rgba(12, 3, 14, .6) 0%, transparent 80%),
              linear-gradient(180deg, transparent 82%, rgba(12, 3, 14, .55) 100%);
}
.dwh-center .dwh-sky::after { right: auto; left: 50%; transform: translate(-50%, -50%); width: min(80vw, 900px); animation-name: dwh-rotate-c; opacity: .8; }
@keyframes dwh-rotate-c { to { transform: translate(-50%, -50%) rotate(360deg); } }

.dwh-sky {
  position: absolute; inset: 0;
  background:
    radial-gradient(70% 45% at 50% 108%, rgba(255, 140, 30, .55) 0%, rgba(255, 85, 40, .22) 40%, transparent 75%),
    radial-gradient(40% 35% at 85% 20%, rgba(255, 85, 120, .22), transparent 70%),
    radial-gradient(45% 40% at 12% 18%, rgba(140, 60, 255, .20), transparent 70%),
    linear-gradient(180deg, #0c0312 0%, #1d0619 45%, #2a0a1a 75%, #3a1208 100%);
}
/* soft mandala glow behind the character */
.dwh-sky::after {
  content: ""; position: absolute; right: 6%; top: 50%; width: min(52vw, 760px); aspect-ratio: 1;
  transform: translateY(-50%);
  background: repeating-conic-gradient(from 0deg, rgba(255, 200, 90, .07) 0deg 6deg, transparent 6deg 15deg);
  -webkit-mask: radial-gradient(circle, #000 20%, transparent 68%); mask: radial-gradient(circle, #000 20%, transparent 68%);
  border-radius: 50%;
  animation: dwh-rotate 90s linear infinite;
}
@keyframes dwh-rotate { to { transform: translateY(-50%) rotate(360deg); } }

.dwh-fx { position: absolute; inset: 0; width: 100%; height: 100%; }

/* string lights (toran) */
.dwh-lights { position: absolute; left: 0; right: 0; top: 0; height: 120px; }
.dwh-lights svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.dwh-bulb {
  position: absolute; width: 9px; height: 12px; border-radius: 50% 50% 45% 45%;
  transform: translate(-50%, 0);
  background: var(--c); box-shadow: 0 0 10px 3px var(--c), 0 0 24px 6px var(--g);
  animation: dwh-twinkle 1.6s ease-in-out infinite; animation-delay: var(--d);
}
@keyframes dwh-twinkle { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

/* hanging lanterns (aakash kandil) */
.dwh-lantern {
  position: absolute; top: 0; width: 46px; transform-origin: 50% 0;
  animation: dwh-swing 4s ease-in-out infinite; animation-delay: var(--d);
}
.dwh-lantern::before { content: ""; display: block; width: 1px; height: var(--h); margin: 0 auto; background: linear-gradient(rgba(255, 210, 120, .1), rgba(255, 210, 120, .6)); }
.dwh-lantern i {
  display: block; width: 46px; height: 56px; margin: 0 auto; border-radius: 40% 40% 46% 46%;
  background: radial-gradient(circle at 50% 55%, #fff1b8 0%, #ffb02e 30%, #e2412d 70%, #7a1020 100%);
  box-shadow: 0 0 30px 8px rgba(255, 150, 40, .45), inset 0 -6px 10px rgba(0, 0, 0, .25);
  position: relative;
}
.dwh-lantern i::before, .dwh-lantern i::after { content: ""; position: absolute; left: 50%; transform: translateX(-50%); }
.dwh-lantern i::before { top: -5px; width: 22px; height: 7px; border-radius: 3px; background: #c9861c; }
.dwh-lantern i::after {
  bottom: -26px; width: 18px; height: 26px;
  background: repeating-linear-gradient(90deg, #ffcf5a 0 2px, transparent 2px 4px);
  -webkit-mask: linear-gradient(#000, transparent); mask: linear-gradient(#000, transparent);
}
@keyframes dwh-swing { 0%, 100% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } }

/* diya row along the bottom */
.dwh-diyas { position: absolute; left: 0; right: 0; bottom: 18px; display: flex; justify-content: space-around; padding: 0 2%; }
.dwh-diya { position: relative; width: 40px; height: 40px; }
.dwh-diya::before { /* glow */
  content: ""; position: absolute; left: 50%; bottom: 8px; width: 110px; height: 110px; transform: translateX(-50%);
  background: radial-gradient(circle, rgba(255, 170, 50, .45), transparent 65%);
  animation: dwh-glow 1.8s ease-in-out infinite alternate; animation-delay: var(--d);
}
.dwh-diya b { /* bowl */
  position: absolute; left: 0; right: 0; bottom: 0; height: 16px; border-radius: 4px 4px 22px 22px;
  background: linear-gradient(180deg, #e0782a, #8a3410); box-shadow: inset 0 3px 0 rgba(255, 210, 140, .5);
}
.dwh-diya s { /* flame */
  position: absolute; left: 50%; bottom: 13px; width: 11px; height: 20px; margin-left: -5.5px;
  border-radius: 50% 50% 50% 50% / 62% 62% 38% 38%;
  background: radial-gradient(circle at 50% 75%, #fff 0%, #ffe27a 30%, #ff9a1f 65%, rgba(255, 80, 20, 0) 100%);
  transform-origin: 50% 100%;
  animation: dwh-flame .5s ease-in-out infinite alternate; animation-delay: var(--d);
  filter: drop-shadow(0 0 6px #ffb53a);
}
@keyframes dwh-flame { from { transform: scale(1, 1) rotate(-3deg); } to { transform: scale(.9, 1.12) rotate(3deg); } }
@keyframes dwh-glow { from { opacity: .6; } to { opacity: 1; } }

/* keep the headline readable over the warm sky */
.dw-hero .vx-bg-fade {
  background:
    radial-gradient(ellipse 48% 58% at 24% 52%, rgba(12, 3, 14, .55) 0%, transparent 75%),
    linear-gradient(180deg, transparent 82%, rgba(12, 3, 14, .6) 100%);
}

@media (max-width: 767px) {
  .dwh-lantern { transform: scale(.75); }
  .dwh-diya:nth-child(n+6) { display: none; }
  .dwh-sky::after { width: 120vw; right: -30vw; top: 70%; }
}
@media (prefers-reduced-motion: reduce) {
  .dwh-sky::after, .dwh-bulb, .dwh-lantern, .dwh-diya::before, .dwh-diya s { animation: none; }
}

/* ── FOOTER variant: subtler so links stay readable ── */
.dwh-footer .dwh-sky {
  background:
    radial-gradient(60% 50% at 50% 115%, rgba(255, 140, 30, .45) 0%, rgba(255, 85, 40, .15) 45%, transparent 75%),
    radial-gradient(35% 40% at 0% 0%, rgba(140, 60, 255, .18), transparent 70%),
    radial-gradient(35% 40% at 100% 0%, rgba(255, 85, 120, .18), transparent 70%),
    linear-gradient(180deg, #14040f 0%, #1d0619 50%, #2a0a14 100%);
}
.dwh-footer .dwh-sky::after { display: none; }
.dwh-footer .dwh-veil {
  background: linear-gradient(180deg, rgba(10, 3, 10, .15) 0%, rgba(10, 3, 10, .5) 18%, rgba(10, 3, 10, .55) 80%, rgba(10, 3, 10, .2) 100%);
}
.dwh-footer .dwh-diyas { bottom: 6px; opacity: .85; }
.dwh-footer .dwh-diya::before { width: 80px; height: 80px; }
.dwh-footer .dwh-lantern i { transform: scale(.85); }
@media (max-width: 767px) {
  .dwh-footer .dwh-lantern { display: none; }
}
