/* Diwali theme for the home page (5 to 11 Nov 2026). Decorative only: aria-hidden, no layout shift, off for reduced motion.
   Diyas are electric-style glow graphics (no real flame imagery near batteries). Remove by deleting the .fest-wrap block in home.php. */
.fest-wrap { position: relative; overflow: hidden; margin: 0 -16px; padding: 0 16px 6px; background: linear-gradient(180deg, #fff3da 0%, #fff9ee 46%, var(--bg) 100%); border-bottom: 1px solid #f1dfb8; }
.fest-lights { display: block; width: 100%; height: 34px; margin: 0 -0px; }
.fest-lights .wire { fill: none; stroke: #6b4a1f; stroke-width: 1.4; }
.fest-lights .bulb { transform-box: fill-box; transform-origin: center; animation: festTwinkle 2.4s ease-in-out infinite; }
.fest-lights .bulb.c0 { fill: #ffc83d; } .fest-lights .bulb.c1 { fill: #ff8a3d; } .fest-lights .bulb.c2 { fill: #ff4d5a; } .fest-lights .bulb.c3 { fill: #ffe08a; }
.fest-lights .bulb.d1 { animation-delay: -.5s; } .fest-lights .bulb.d2 { animation-delay: -1.1s; } .fest-lights .bulb.d3 { animation-delay: -1.7s; }
@keyframes festTwinkle { 0%, 100% { opacity: 1; filter: drop-shadow(0 0 3px rgba(255, 200, 60, .95)); } 50% { opacity: .45; filter: none; } }
.fest-greet { position: relative; z-index: 2; text-align: center; padding: 2px 52px 4px; }
.fest-greet strong { display: block; font-size: 20px; line-height: 1.25; color: #7a1018; letter-spacing: .2px; }
.fest-greet span { display: block; font-size: 12.5px; color: #8a5a12; margin-top: 2px; }
.fest-diya { position: absolute; top: 38px; width: 46px; height: 46px; z-index: 2; pointer-events: none; }
.fest-diya.l { left: 10px; } .fest-diya.r { right: 10px; }
.fest-diya .glow { fill: rgba(255, 190, 70, .55); animation: festGlow 2.2s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.fest-diya .flame { fill: #ffd860; transform-box: fill-box; transform-origin: 50% 100%; animation: festFlame 1.6s ease-in-out infinite; }
.fest-diya .bowl { fill: #d99a2b; } .fest-diya .rim { fill: #b9701c; }
@keyframes festGlow { 0%, 100% { opacity: .85; transform: scale(1); } 50% { opacity: .5; transform: scale(1.18); } }
@keyframes festFlame { 0%, 100% { transform: scaleY(1) skewX(0); } 35% { transform: scaleY(1.12) skewX(-3deg); } 70% { transform: scaleY(.94) skewX(3deg); } }
#festFx { position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; z-index: 1; }
.fest-wrap .hero { position: relative; z-index: 2; padding-top: 14px; }
@media (min-width: 700px) { .fest-greet strong { font-size: 24px; } .fest-diya { width: 62px; height: 62px; top: 40px; } .fest-diya.l { left: 28px; } .fest-diya.r { right: 28px; } }
@media (prefers-reduced-motion: reduce) { .fest-lights .bulb, .fest-diya .glow, .fest-diya .flame { animation: none; } #festFx { display: none; } }
