/* ── Diwali theme (loaded only while includes/festival.php says the festival is on) ── */
:root {
  --dw-maroon: #4a0d0d;
  --dw-maroon-2: #7a1a12;
  --dw-gold: #f6b93b;
  --dw-gold-2: #ffd77a;
  --dw-saffron: #ff8a1f;
  --dw-cream: #fff6e0;
}

/* Top bar: warm cream with a gold edge */
body.dw .topbar { background: var(--dw-cream); border-bottom: 1px solid var(--dw-gold); }
body.dw .topbar-marquee::before { background: linear-gradient(to right, var(--dw-cream), transparent); }
body.dw .topbar-marquee::after  { background: linear-gradient(to left, var(--dw-cream), transparent); }
body.dw .topbar-ticker .register-btn { background: var(--dw-maroon-2); }
body.dw .topbar-ticker .dw-greet-tick { color: #9a2a12; font-weight: 800; display: inline-flex; align-items: center; gap: 4px; }
body.dw .topbar-ticker .dw-greet-tick svg { width: 20px; height: 16px; flex: none; }

/* Main navigation bar: deep maroon, gold hairlines, a row of toran-style gold diamonds along the edge */
body.dw .navbar-mega {
  background: linear-gradient(180deg, #5c1410 0%, var(--dw-maroon) 100%);
  border-bottom: 3px solid var(--dw-gold);
  box-shadow: 0 4px 18px rgba(74, 13, 13, .35);
}
body.dw .navbar-mega::before {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 3px;
  background: repeating-linear-gradient(90deg, var(--dw-gold) 0 10px, var(--dw-saffron) 10px 20px, #c7311d 20px 30px);
}
body.dw .mega-tab { color: var(--dw-gold-2); }
body.dw .mega-tab:hover, body.dw .mega-item:hover .mega-tab {
  color: #fff; border-bottom-color: var(--dw-gold); background: rgba(246, 185, 59, .16);
  text-shadow: 0 0 10px rgba(255, 200, 80, .75);
}
body.dw .mega-panel { border-top-color: var(--dw-gold); }
body.dw .navbar-mid { border-bottom: 1px solid var(--dw-gold); }
body.dw .nav-secondary a:hover { color: var(--dw-maroon-2); }
body.dw .nav-helpline { background: linear-gradient(135deg, #c7311d, var(--dw-maroon-2)); }

/* LED string hanging below the navigation (sits on the sticky header, so it travels with it) */
.dw-lights {
  position: absolute; left: 0; right: 0; top: 100%; height: 38px;
  pointer-events: none; z-index: 1; overflow: hidden; margin-top: 0;
}
.dw-lights i { position: absolute; inset: 0; background-repeat: repeat-x; background-size: 320px 38px; background-position: 0 0; }
.dw-wire { background-image: url('/assets/images/diwali/wire.svg'); }
.dw-b1 { background-image: url('/assets/images/diwali/bulbs-1.svg'); filter: drop-shadow(0 0 5px #ff3d3d); animation: dw-twinkle 1.6s ease-in-out infinite; }
.dw-b2 { background-image: url('/assets/images/diwali/bulbs-2.svg'); filter: drop-shadow(0 0 5px #ffb800); animation: dw-twinkle 1.6s ease-in-out .4s infinite; }
.dw-b3 { background-image: url('/assets/images/diwali/bulbs-3.svg'); filter: drop-shadow(0 0 5px #38d66b); animation: dw-twinkle 1.6s ease-in-out .8s infinite; }
.dw-b4 { background-image: url('/assets/images/diwali/bulbs-4.svg'); filter: drop-shadow(0 0 5px #ff4fa3); animation: dw-twinkle 1.6s ease-in-out 1.2s infinite; }
@keyframes dw-twinkle { 0%, 100% { opacity: .38; } 45%, 60% { opacity: 1; } }

/* Big diyas at both ends of the menu bar (wide screens only, where the centred menu leaves room) */
.dw-nav-diya { display: none; }
@media (min-width: 1500px) {
  .dw-nav-diya { display: block; position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; z-index: 2; }
  .dw-nav-diya.dw-left { left: 26px; }
  .dw-nav-diya.dw-right { right: 26px; }
}

/* Diya: flickering flame and breathing glow */
.dw-diya { display: block; overflow: visible; }
.dw-flame { transform-box: fill-box; transform-origin: 50% 100%; animation: dw-flicker 1.5s ease-in-out infinite; }
.dw-flame-in { animation-duration: 1.1s; animation-delay: -.4s; }
.dw-glow { transform-box: fill-box; transform-origin: 50% 50%; animation: dw-glow 2.4s ease-in-out infinite; }
@keyframes dw-flicker {
  0%, 100% { transform: scale(1, 1) skewX(0); }
  25% { transform: scale(.92, 1.08) skewX(-3deg); }
  50% { transform: scale(1.05, .94) skewX(2deg); }
  75% { transform: scale(.95, 1.05) skewX(-1.5deg); }
}
@keyframes dw-glow { 0%, 100% { opacity: .75; transform: scale(1); } 50% { opacity: 1; transform: scale(1.12); } }

/* Diya strip + greeting above the footer */
.dw-strip {
  background: radial-gradient(ellipse at 50% 100%, rgba(255, 150, 30, .28), transparent 60%), linear-gradient(180deg, #3a0909, var(--dw-maroon));
  border-top: 3px solid var(--dw-gold); text-align: center; padding: 26px 16px 22px; overflow: hidden;
}
.dw-strip-row { display: flex; justify-content: center; align-items: flex-end; gap: clamp(6px, 1.6vw, 26px); flex-wrap: nowrap; }
.dw-row-diya { display: block; animation: dw-bob 3.2s ease-in-out calc(var(--i) * -.27s) infinite; }
@keyframes dw-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
.dw-greet { margin: 14px auto 0; max-width: 780px; color: var(--dw-gold-2); font-size: 15px; line-height: 1.6; }
.dw-greet strong { display: block; font-size: 24px; color: #fff; letter-spacing: .4px; text-shadow: 0 0 16px rgba(255, 190, 70, .8); }
.dw-greet span { color: #f3c98b; font-weight: 700; }

@media (max-width: 820px) {
  .dw-lights { height: 30px; }
  .dw-lights i { background-size: 256px 30px; }
  .dw-strip-row .dw-row-diya:nth-child(n+8) { display: none; }
  .dw-greet strong { font-size: 20px; }
  .dw-greet { font-size: 13.5px; }
}

@media (prefers-reduced-motion: reduce) {
  .dw-lights i, .dw-flame, .dw-glow, .dw-row-diya { animation: none !important; }
  .dw-b1, .dw-b2, .dw-b3, .dw-b4 { opacity: .9; }
}
@media print { .dw-lights, .dw-nav-diya, .dw-strip { display: none !important; } }

/* ── Happy Diwali pop-up ── */
html.dw-lock { overflow: hidden; }
.dw-pop { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(20, 4, 4, .72); backdrop-filter: blur(3px); opacity: 0; transition: opacity .3s ease; }
.dw-pop[hidden] { display: none; }
.dw-pop.on { opacity: 1; }
.dw-pop-card {
  position: relative; width: min(460px, 100%); text-align: center; overflow: hidden; padding: 30px 28px 24px; border-radius: 22px;
  color: var(--dw-gold-2); border: 2px solid var(--dw-gold);
  background: radial-gradient(ellipse at 50% 18%, rgba(255, 150, 30, .42), transparent 58%), linear-gradient(180deg, #6a1812, #3a0909);
  box-shadow: 0 0 0 5px rgba(246, 185, 59, .18), 0 30px 80px rgba(0, 0, 0, .6);
  transform: translateY(24px) scale(.94); transition: transform .4s cubic-bezier(.2, .9, .3, 1.2);
}
.dw-pop.on .dw-pop-card { transform: none; }
.dw-pop-card::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: repeating-linear-gradient(90deg, var(--dw-gold) 0 12px, var(--dw-saffron) 12px 24px, #c7311d 24px 36px); }
.dw-pop-x { position: absolute; top: 12px; right: 12px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #fff; font-size: 22px; line-height: 1; cursor: pointer; z-index: 2; }
.dw-pop-x:hover { background: rgba(255, 255, 255, .28); }
.dw-pop-diya { display: flex; justify-content: center; margin: 6px 0 0; position: relative; z-index: 1; }
.dw-pop-diya .dw-diya { width: 120px; height: auto; filter: drop-shadow(0 0 22px rgba(255, 170, 40, .8)); }
.dw-pop-hi { margin: 4px 0 0; font-size: 22px; font-weight: 800; color: var(--dw-gold); letter-spacing: .5px; position: relative; z-index: 1; }
.dw-pop h2 { margin: 2px 0 10px; font-size: 40px; line-height: 1.1; color: #fff; text-shadow: 0 0 22px rgba(255, 190, 70, .85); position: relative; z-index: 1; }
.dw-pop-msg { margin: 0 auto 20px; max-width: 360px; font-size: 15px; line-height: 1.6; color: #f6dfb2; position: relative; z-index: 1; }
.dw-pop-msg strong { color: var(--dw-gold-2); font-weight: 800; }
.dw-pop-cta { display: block; position: relative; z-index: 1; padding: 13px 18px; border-radius: 999px; background: linear-gradient(180deg, #ffd35c, #f0a420); color: #4a0d0d; font-weight: 900; font-size: 15px; text-decoration: none; box-shadow: 0 8px 22px rgba(246, 185, 59, .35); }
.dw-pop-cta:hover { filter: brightness(1.06); }
.dw-pop-skip { margin-top: 12px; border: 0; background: none; color: #e6c88e; font: inherit; font-size: 13.5px; text-decoration: underline; cursor: pointer; position: relative; z-index: 1; }
.dw-pop-sparks i { position: absolute; bottom: -8px; left: var(--x); width: var(--s); height: var(--s); border-radius: 50%; background: #ffd35c; box-shadow: 0 0 8px 2px rgba(255, 190, 70, .9); opacity: 0; animation: dw-rise 3.6s ease-in var(--d) infinite; }
@keyframes dw-rise { 0% { transform: translateY(0); opacity: 0; } 15% { opacity: 1; } 100% { transform: translateY(-420px) translateX(14px); opacity: 0; } }
@media (max-width: 480px) { .dw-pop-card { padding: 26px 20px 20px; } .dw-pop h2 { font-size: 34px; } }
@media (prefers-reduced-motion: reduce) { .dw-pop, .dw-pop-card { transition: none; } .dw-pop-sparks i { animation: none; } }
@media print { .dw-pop { display: none !important; } }
