/* Diwali v3.0 – full festive theme: maroon + gold + saffron */
body.diwali{--fest-gold:#e8b13a;--fest-saffron:#f08a1c;--fest-maroon:#5a1019;--fest-deep:#2a0a10;--fest-cream:#fff4dc;background:var(--fest-cream)!important;background-image:radial-gradient(circle at 12% 18%,#f08a1c14 0 120px,transparent 121px),radial-gradient(circle at 88% 70%,#e8b13a18 0 160px,transparent 161px)!important;background-attachment:fixed}
.diwali-strip{position:relative;z-index:40;text-align:center;font-size:14px;font-weight:700;letter-spacing:.4px;padding:10px 48px 10px 14px;color:#ffe9a8;background:linear-gradient(90deg,#3a0910,#7a1c1a 50%,#3a0910);border-bottom:2px solid var(--fest-gold,#e8b13a);cursor:pointer}
.diwali-strip b{color:#ffd569}
.diwali-strip button{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;background:none;color:#ffe9a8;font-size:22px;cursor:pointer}
body.diwali header.topbar{background:linear-gradient(#4a0c14,#33080f)!important;border-bottom:2px solid var(--fest-gold)!important;color:#ffe9a8}
body.diwali header.topbar nav a,body.diwali header.topbar .nav-action,body.diwali header.topbar .customer-link,body.diwali header.topbar nav span{color:#ffe3a0!important}
body.diwali header.topbar .company b{color:#ffd569}body.diwali header.topbar .company small{color:#f1c36a}
.diwali-lights{position:relative;z-index:39;height:64px;margin-bottom:-30px;pointer-events:none;overflow:hidden}
.diwali-lights svg{display:block;width:100%;height:64px}
.fest-sway{animation:fest-sway 4.5s ease-in-out infinite;animation-delay:var(--d,0s)}
@keyframes fest-sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
.fest-glow{animation:fest-twinkle 2.6s ease-in-out infinite;animation-delay:var(--d,0s)}
@keyframes fest-twinkle{0%,100%{opacity:1}50%{opacity:.55}}
.fest-flame{transform-origin:50% 100%;animation:fest-flicker 1.1s ease-in-out infinite alternate}
@keyframes fest-flicker{0%{transform:scale(1,1) rotate(-3deg)}50%{transform:scale(.9,1.12) rotate(2deg)}100%{transform:scale(1.06,.95) rotate(-1deg)}}
/* hero: warm glow + diya row + string lights over the real photo */
body.diwali .h5-hero,body.diwali .h5-subhero,body.diwali .hero,body.diwali .order-hero{position:relative;overflow:hidden}
body.diwali .hero:after,body.diwali .order-hero:after{background-image:linear-gradient(180deg,#7a1c1a40,#f08a1c1f 45%,#2a0a1099)!important;mix-blend-mode:normal}
.diwali-hero-fx{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.diwali-hero-fx .glowpool{position:absolute;left:50%;bottom:-120px;width:140%;height:260px;transform:translateX(-50%);background:radial-gradient(ellipse at center,#ffb02e66,#f08a1c22 45%,transparent 70%)}
.diwali-hero-fx .diyarow{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:space-around;align-items:flex-end;padding:0 4%}
.diwali-hero-fx .diyarow svg{width:clamp(34px,5.5vw,64px);height:auto;filter:drop-shadow(0 0 14px #ffb02e)}
.diwali-hero-fx .strings{position:absolute;left:0;right:0;top:0;height:70px}
.diwali-hero-fx .strings svg{width:100%;height:100%;display:block}
.diwali-rangoli{position:absolute;right:-90px;bottom:-90px;width:340px;height:340px;opacity:.42;pointer-events:none;z-index:2;animation:fest-spin 140s linear infinite}
@keyframes fest-spin{to{transform:rotate(360deg)}}
body.diwali .eyebrow,body.diwali .eyebrow.gold{color:var(--fest-saffron)!important}
body.diwali .hero .eyebrow,body.diwali .order-hero .eyebrow{color:#ffd569!important}
body.diwali h1,body.diwali .hero h1{text-shadow:0 2px 28px #f08a1c88,0 0 2px #0006}
body.diwali h2{color:var(--fest-maroon)}body.diwali .visit-section h2,body.diwali .hero h2{color:#fff2cf}
body.diwali h2:after{content:"";display:block;width:84px;height:4px;margin-top:12px;border-radius:4px;background:linear-gradient(90deg,var(--fest-saffron),var(--fest-gold),transparent)}
body.diwali .visit-section h2:after,body.diwali .hero-copy h1:after{display:none}
body.diwali .order-now,body.diwali .primary,body.diwali .hero-actions .gold-button{background:linear-gradient(135deg,#b3261e,#e8701c)!important;color:#fff!important;box-shadow:0 6px 20px #b3261e55;border:1px solid #ffd56988}
body.diwali .dish,body.diwali .meal-plans article,body.diwali .gateway-categories a{border-color:#e8b13a88!important;box-shadow:0 4px 18px #e8b13a22}
body.diwali .visit-section{background:linear-gradient(135deg,#3a0910,#5a1019)!important}
body.diwali footer{background:linear-gradient(#33080f,#220509)!important;color:#f1c36a!important;border-top:3px solid var(--fest-gold)!important}
body.diwali footer a{color:#ffd569!important}
body.diwali footer:before{content:"शुभ दीपावली · Wishing you a bright, sweet & safe Diwali";display:block;width:100%;text-align:center;color:#ffd569;font-weight:700;padding-bottom:6px;order:-1}
.diwali-diyas{display:flex;justify-content:center;gap:22px;padding-bottom:10px;width:100%;order:-2}
.diwali-diyas svg{width:44px;height:30px;filter:drop-shadow(0 0 10px #ffb02e)}
#festCanvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:35}
/* intro */
#festIntro{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:radial-gradient(circle at 50% 55%,#4a0c14,#1b0508 70%);transition:opacity .9s ease,visibility .9s;color:#ffe9a8;text-align:center}
#festIntro.out{opacity:0;visibility:hidden}
#festIntro .wrap{display:grid;justify-items:center;gap:14px;padding:20px}
#festIntro svg.big{width:min(62vw,300px);height:auto;overflow:visible}
#festIntro .halo{position:absolute;left:50%;top:50%;width:20px;height:20px;border-radius:50%;transform:translate(-50%,-50%) scale(0);background:radial-gradient(circle,#ffcb5c88,#f08a1c33 40%,transparent 70%);opacity:0}
#festIntro.lit .halo{animation:fest-halo 2.6s ease-out forwards}
@keyframes fest-halo{0%{transform:translate(-50%,-50%) scale(0);opacity:0}20%{opacity:1}100%{transform:translate(-50%,-50%) scale(60);opacity:.0}}
#festIntro .flame{opacity:0;transform-origin:50% 100%;transform:scale(0)}
#festIntro.lit .flame{animation:fest-ignite .9s .1s cubic-bezier(.2,1.4,.4,1) forwards,fest-flicker 1.1s 1s ease-in-out infinite alternate}
@keyframes fest-ignite{to{opacity:1;transform:scale(1)}}
#festIntro h2{font:700 clamp(30px,8vw,54px)/1.1 "Playfair Display",Georgia,serif;margin:0;opacity:0;transform:translateY(12px);color:#ffd569;text-shadow:0 0 24px #f08a1c}
#festIntro h2:after{display:none!important}
#festIntro p{margin:0;opacity:0;letter-spacing:.3px;color:#f6dca0}
#festIntro.lit h2{animation:fest-rise .9s 1s ease forwards}#festIntro.lit p{animation:fest-rise .9s 1.4s ease forwards}
@keyframes fest-rise{to{opacity:1;transform:none}}
#festIntro button{position:absolute;right:max(14px,env(safe-area-inset-right,0px));top:max(14px,env(safe-area-inset-top,0px));min-height:44px;padding:0 16px;border-radius:999px;border:1px solid #e8b13a99;background:#00000033;color:#ffe9a8;font:inherit;cursor:pointer}
@media (max-width:480px){.diwali-strip{font-size:13px}.diwali-strip .fe{display:none}.diwali-rangoli{width:240px;height:240px}}
@media (prefers-reduced-motion:reduce){.fest-sway,.fest-glow,.fest-flame,.diwali-rangoli{animation:none}#festCanvas,#festIntro{display:none}}
