/* Diwali, whole site (3 Nov 2026). Loaded only while the festive theme is on. Delete this file, diwali-all.js and their two lines in layout.php to remove. */
body.festive-on { background: #fffaf0; }
body.festive-on main { background-image: radial-gradient(circle at 12px 12px, rgba(245,184,0,.16) 2px, transparent 2.5px); background-size: 48px 48px; }

/* Section bands: warm marigold, cream and blush in turn */
body.festive-on .section { position: relative; }
body.festive-on main > .section:nth-of-type(odd), body.festive-on main .section:nth-of-type(3n+1) { background: linear-gradient(180deg, #fff4dc 0%, #ffe9c2 100%); }
body.festive-on main .section:nth-of-type(3n+2) { background: linear-gradient(180deg, #fffaf0 0%, #fff1e0 100%); }
body.festive-on main .section:nth-of-type(3n) { background: linear-gradient(180deg, #fff0ee 0%, #ffe6d6 100%); }
body.festive-on .section + .section { border-top: 0; }
body.festive-on .section:before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 10px; background: repeating-linear-gradient(90deg, #ff7a1a 0 18px, #f5b800 18px 36px, #e8467c 36px 54px, #2fa31a 54px 72px); opacity: .85; clip-path: polygon(0 0, 100% 0, 100% 40%, 97% 100%, 94% 40%, 91% 100%, 88% 40%, 85% 100%, 82% 40%, 79% 100%, 76% 40%, 73% 100%, 70% 40%, 67% 100%, 64% 40%, 61% 100%, 58% 40%, 55% 100%, 52% 40%, 49% 100%, 46% 40%, 43% 100%, 40% 40%, 37% 100%, 34% 40%, 31% 100%, 28% 40%, 25% 100%, 22% 40%, 19% 100%, 16% 40%, 13% 100%, 10% 40%, 7% 100%, 4% 40%, 1% 100%, 0 40%); pointer-events: none; }

/* Headings get a small golden flourish */
body.festive-on .section h2 { position: relative; }
body.festive-on .section h2:after { content: ""; display: block; width: 74px; height: 4px; margin: 10px 0 0; border-radius: 4px; background: linear-gradient(90deg, #ff7a1a, #f5b800, #e8467c); }
body.festive-on .section .center h2:after, body.festive-on .section h2.center:after, body.festive-on .section .section-head.center h2:after { margin-left: auto; margin-right: auto; }

/* Strips and call-outs */
body.festive-on .banner-strip, body.festive-on .poster-strip { background: linear-gradient(135deg, #fff1cf, #ffe0b0); border-top: 2px solid #f3cf7c; border-bottom: 2px solid #f3cf7c; }
body.festive-on .cta-strip { background: linear-gradient(135deg, #5a1230 0%, #8a1c3a 55%, #b8431f 100%); color: #fff; position: relative; overflow: hidden; }
body.festive-on .cta-strip:after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 15% 30%, rgba(255,200,60,.35), transparent 40%), radial-gradient(circle at 85% 70%, rgba(255,120,40,.3), transparent 40%); pointer-events: none; }
body.festive-on .cta-strip > * { position: relative; z-index: 1; }

/* Cards and boxes: soft golden edge */
body.festive-on .card, body.festive-on .lot-card, body.festive-on .rail-box, body.festive-on .hero-card, body.festive-on .faq details, body.festive-on details { border-color: #f1d189; box-shadow: 0 4px 16px rgba(201,144,30,.14); }

/* Footer: deep festive maroon-navy with a gold crown and string lights */
body.festive-on .site-footer { position: relative; border-top: 5px solid #f5b800; background: linear-gradient(180deg, #2a1033 0%, #03294e 70%); }
body.festive-on .site-footer:before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 18px; background-image: radial-gradient(circle at 10px 9px, #ffb300 0 4px, transparent 5px), radial-gradient(circle at 30px 9px, #ff7a1a 0 4px, transparent 5px), radial-gradient(circle at 50px 9px, #e8467c 0 4px, transparent 5px), radial-gradient(circle at 70px 9px, #6fd13f 0 4px, transparent 5px); background-size: 80px 18px; background-repeat: repeat-x; filter: drop-shadow(0 0 5px rgba(255,190,60,.9)); animation: dw-twinkle 1.8s ease-in-out infinite alternate; pointer-events: none; }
@keyframes dw-twinkle { from { opacity: .55; } to { opacity: 1; } }

/* Floating crackers canvas (all pages) */
.dw-canvas { position: fixed; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; z-index: 20; }
@media (prefers-reduced-motion: reduce) { .dw-canvas { display: none; } body.festive-on .site-footer:before { animation: none; } }
body.festive-on .cta-strip p, body.festive-on .cta-strip span, body.festive-on .cta-strip small, body.festive-on .cta-strip h2, body.festive-on .cta-strip h3 { color: #fff4dc; }
