/* One decorative motif per theme, with no external artwork dependency. */
.intro-splash[data-festival] { --fest-accent:#edbc70; background:radial-gradient(ellipse at 50% 100%,#442014,transparent 70%),#100d16f5; color:#fff4df; }
.intro-splash[data-festival] .intro-splash-inner { position:relative; isolation:isolate; width:min(620px,100%); padding:2rem; }
.intro-splash[data-festival] .intro-splash-logo { width:clamp(170px,30vw,260px); max-height:25vh; margin-bottom:1.4rem; }
.intro-splash[data-festival] .brand-lockup-light { display:none; }
.intro-splash[data-festival] .brand-lockup-dark { display:inline-block; }
.festival-greeting { font-family:var(--font-display,Georgia,serif); font-size:clamp(2rem,6vw,3.6rem); line-height:1.13; margin:0 0 .7rem; color:var(--fest-accent); }
.festival-hindi { font-size:clamp(1rem,3vw,1.3rem); margin:0 0 1rem; color:#f5e1be; }
.intro-splash[data-festival] .intro-splash-sub { color:#ded5e4; line-height:1.65; max-width:450px; margin:0 auto 1.4rem; }
.festival-close { position:fixed; z-index:2; top:max(1rem,env(safe-area-inset-top)); right:max(1rem,env(safe-area-inset-right)); display:flex; align-items:center; justify-content:center; min-height:44px; padding:0 1rem; border:1px solid #ffffff50; border-radius:999px; color:#fff; background:#ffffff0d; font:600 .82rem/1.2 var(--font-body,Arial,sans-serif); cursor:pointer; transition:background-color .18s ease,border-color .18s ease,transform .18s ease; }
.festival-close:hover { background:#ffffff1b; border-color:#ffffffa3; transform:translateY(-1px); }
.festival-cta { display:inline-block; border-radius:999px; background:#bd471f; color:white; padding:.85rem 1.6rem; font-weight:700; text-decoration:none; }
.festival-coupon { color:#f7d694; font-size:.9rem; margin:0 0 1.5rem; }
.festival-coupon-state { max-width:480px; margin:0 auto .7rem; color:#f5e1be; font-size:.84rem; line-height:1.5; }
.festival-coupon-list { list-style:none; display:grid; gap:.5rem; max-height:190px; overflow:auto; max-width:480px; margin:0 auto 1.1rem; padding:0; text-align:left; }
.festival-coupon-list li { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.7rem; padding:.65rem .8rem; border:1px solid #ffffff26; border-radius:8px; background:#ffffff0a; }
.festival-coupon-detail { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:.2rem .6rem; min-width:0; }
.festival-coupon-mode { color:#d4c5ac; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.festival-coupon-code { color:#f7d694; overflow-wrap:anywhere; }
.festival-coupon-value { color:#fff; font-size:.84rem; white-space:nowrap; }
.festival-coupon-detail small { grid-column:1/-1; color:#c3b9c8; line-height:1.4; }
.festival-coupon-copy { border:1px solid #ffffff42; border-radius:6px; background:transparent; color:#fff; padding:.5rem .65rem; font:inherit; font-size:.75rem; cursor:pointer; white-space:nowrap; }
.festival-coupon-copy:hover { background:#ffffff16; }
.festival-coupon-copy:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.festival-close:focus-visible,.festival-cta:focus-visible { outline:3px solid #fff; outline-offset:5px; }
.festival-art { position:absolute; inset:0; pointer-events:none; z-index:-1; opacity:.25; }
.festival-art::before { position:absolute; font:7rem/1 Georgia,serif; right:0; top:12%; color:var(--fest-accent); animation:festival-drift 5s ease-in-out infinite alternate; }
[data-festival="diwali"] .festival-art::before { content:'\2726'; text-shadow:0 0 45px #ffb230; }
.intro-splash[data-festival="holi"] { --fest-accent:#f0a2cf; }
[data-festival="holi"] .festival-art { background:radial-gradient(circle at 5% 70%,#ee44894d,transparent 35%),radial-gradient(circle at 95% 20%,#31c2e350,transparent 30%); }
.intro-splash[data-festival="eid"] { --fest-accent:#c7e7c6; }
[data-festival="eid"] .festival-art::before { content:'\263e'; }
.intro-splash[data-festival="christmas"] { --fest-accent:#d9e8b5; }
[data-festival="christmas"] .festival-art::before { content:'\2733'; }
[data-festival="newyear"] .festival-art::before { content:'\2727'; }
[data-festival="republic"] .festival-art { background:linear-gradient(150deg,#f6923238,transparent 40%,#4baf6338); }
.intro-splash.festival-still *, .intro-splash.festival-still *::before { animation:none !important; }
.intro-splash[hidden],.coupon-promo[hidden],#spin-launcher[hidden],.spin-tab[hidden] { display:none !important; }
@keyframes festival-drift { to { transform:translateY(-12px) rotate(8deg); } }
@media(prefers-reduced-motion:reduce) { .intro-splash[data-festival] *,.intro-splash[data-festival] *::before { animation:none !important; transition:none !important; } }
@media(max-width:600px) { .intro-splash[data-festival] .intro-splash-inner { padding:1.3rem; } .festival-art::before { font-size:5rem; right:.4rem; } .festival-coupon-list { max-height:150px; } .festival-coupon-list li { gap:.4rem; padding:.55rem; } .festival-coupon-detail { grid-template-columns:1fr auto; } .festival-coupon-mode { grid-column:1/-1; } .festival-coupon-copy { padding:.5rem; } }

.intro-splash[data-festival="independence"] { --fest-accent:#ffd0a1; }
[data-festival="independence"] .festival-art { background:linear-gradient(160deg,#f69b3438,transparent 35%,#439c5938); }
[data-festival="independence"] .festival-art::before { content:'\2638'; color:#85a9ec; }
.intro-splash[data-festival="navratri"] { --fest-accent:#ffb7b9; }
[data-festival="navratri"] .festival-art::before { content:'\274b'; text-shadow:0 0 40px #d95345; }
.intro-splash[data-festival="dussehra"] { --fest-accent:#ffce82; }
[data-festival="dussehra"] .festival-art::before { content:'\27b6'; transform:rotate(-35deg); }
.intro-splash[data-festival="ganesh"] { --fest-accent:#ffd2a1; }
[data-festival="ganesh"] .festival-art::before { content:'\950'; }
.intro-splash[data-festival="musicday"] { --fest-accent:#bcb8ff; }
[data-festival="musicday"] .festival-art::before { content:'\266b'; }
.intro-splash[data-festival="anniversary"] { --fest-accent:#e8c683; }
[data-festival="anniversary"] .festival-art::before { content:'\273a'; }

/* Physical festival motifs avoid font-dependent pictographs. */
[data-festival="diwali"] .festival-art::before { content:''; top:auto; bottom:8%; right:8%; width:84px; height:32px; border-radius:10% 10% 65% 65%; background:linear-gradient(#ffce64,#b96825); box-shadow:0 8px 30px #ef9d3d55; }
[data-festival="diwali"] .festival-art::after { content:''; position:absolute; right:calc(8% + 31px); bottom:calc(8% + 26px); width:22px; height:40px; border-radius:80% 0 80% 35%; transform:rotate(-35deg); background:linear-gradient(45deg,#ed6b28,#ffefb0); box-shadow:0 0 36px #ffbb45; }
[data-festival="christmas"] .festival-art::before { content:''; width:0; height:0; border-left:46px solid transparent; border-right:46px solid transparent; border-bottom:110px solid #65a779; filter:drop-shadow(0 0 16px #65a77966); }
[data-festival="navratri"] .festival-art::before,[data-festival="navratri"] .festival-art::after { content:''; position:absolute; top:18%; right:8%; width:9px; height:130px; border-radius:4px; background:repeating-linear-gradient(#edb760 0 16px,#bd5468 16px 30px); transform:rotate(32deg); }
[data-festival="navratri"] .festival-art::after { transform:rotate(-32deg); }
[data-festival="musicday"] .festival-art::before { content:''; width:110px; height:110px; border-radius:50%; background:repeating-radial-gradient(circle,#252032 0 3px,#8f85b3 4px 5px); border:1px solid #a69bc7; box-shadow:0 0 32px #a99ef64d; }
[data-festival="musicday"] .festival-art::after { content:''; position:absolute; top:calc(12% + 41px); right:41px; width:28px; height:28px; border:3px solid #f3e6ce; border-radius:50%; background:#a986b6; }

/* A richer seasonal welcome: layered light, a fine ornamental halo and a
   short, quiet reveal. The event motif and palette stay tied to the campaign. */
.intro-splash[data-festival] {
  --fest-glow-a:rgba(225,137,48,.2);
  --fest-glow-b:rgba(145,51,35,.18);
  background:radial-gradient(ellipse at 16% 16%,var(--fest-glow-a),transparent 46%),radial-gradient(ellipse at 86% 84%,var(--fest-glow-b),transparent 48%),linear-gradient(145deg,#100d14,#21140f 55%,#101018);
}
.intro-splash[data-festival]::before { content:''; position:absolute; inset:-12%; z-index:0; pointer-events:none; opacity:.12; background:repeating-radial-gradient(circle at 50% 48%,transparent 0 28px,#fff2d2 29px 30px,transparent 31px 58px); mask-image:radial-gradient(ellipse at center,transparent 12%,#000 90%); animation:festival-halo 32s linear infinite; }
.intro-splash[data-festival] .intro-splash-inner { position:relative; z-index:1; max-height:calc(100vh - 4rem); max-height:calc(100dvh - 4rem); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#ffffff45 transparent; }
.intro-splash[data-festival] .festival-art { opacity:.48; background:radial-gradient(ellipse at 50% 50%,transparent 20%,rgba(0,0,0,.16) 100%); }
.intro-splash[data-festival] .intro-splash-logo { filter:drop-shadow(0 10px 30px rgba(237,44,21,.34)); animation:festival-logo-in .8s cubic-bezier(.2,.7,.3,1) both; }
.intro-splash[data-festival] .festival-greeting { text-shadow:0 0 32px color-mix(in srgb,var(--fest-accent),transparent 76%); animation:festival-copy-in .65s .1s cubic-bezier(.2,.7,.3,1) both; }
.intro-splash[data-festival] .festival-hindi { animation:festival-copy-in .65s .18s cubic-bezier(.2,.7,.3,1) both; }
.intro-splash[data-festival] .intro-splash-sub { animation:festival-copy-in .65s .24s cubic-bezier(.2,.7,.3,1) both; }
.festival-cta { position:relative; overflow:hidden; color:#21140f; background:linear-gradient(135deg,var(--fest-accent,#edbc70),#f3a24c); box-shadow:0 8px 26px rgba(0,0,0,.25),0 0 24px color-mix(in srgb,var(--fest-accent,#edbc70),transparent 78%); transition:transform .2s ease,box-shadow .2s ease,filter .2s ease; }
.festival-cta:hover { color:#21140f; transform:translateY(-2px); filter:brightness(1.06); box-shadow:0 12px 30px rgba(0,0,0,.32),0 0 30px color-mix(in srgb,var(--fest-accent,#edbc70),transparent 70%); }
.festival-cta:active { transform:translateY(0); }
.intro-splash[data-festival="diwali"] { --fest-glow-a:rgba(246,166,62,.25); --fest-glow-b:rgba(218,67,32,.17); background-color:#1d100c; }
.intro-splash[data-festival="holi"] { --fest-accent:#ffb4d4; --fest-glow-a:rgba(235,49,139,.24); --fest-glow-b:rgba(40,184,208,.2); background:radial-gradient(ellipse at 16% 75%,rgba(238,68,137,.25),transparent 40%),radial-gradient(ellipse at 84% 20%,rgba(49,194,227,.2),transparent 42%),linear-gradient(140deg,#23112d,#321536 56%,#111b2a); }
.intro-splash[data-festival="eid"] { --fest-accent:#c7e7c6; --fest-glow-a:rgba(89,174,148,.22); --fest-glow-b:rgba(222,191,115,.14); background:radial-gradient(ellipse at 50% 0,rgba(57,135,128,.25),transparent 52%),linear-gradient(145deg,#0d2027,#12312d 58%,#10191d); }
.intro-splash[data-festival="christmas"] { --fest-glow-a:rgba(57,143,103,.2); --fest-glow-b:rgba(203,67,59,.17); background:radial-gradient(ellipse at 18% 14%,rgba(67,153,105,.22),transparent 44%),radial-gradient(ellipse at 84% 88%,rgba(190,54,55,.2),transparent 46%),linear-gradient(145deg,#0b1d19,#123328 58%,#101813); }
.intro-splash[data-festival="newyear"] { --fest-accent:#f4d88f; --fest-glow-a:rgba(100,119,204,.21); --fest-glow-b:rgba(216,166,76,.18); background:radial-gradient(ellipse at 50% 0,rgba(87,104,184,.2),transparent 50%),radial-gradient(ellipse at 70% 90%,rgba(221,169,78,.16),transparent 45%),linear-gradient(145deg,#0a1022,#151b32 60%,#11121b); }
.intro-splash[data-festival="republic"],.intro-splash[data-festival="independence"] { --fest-accent:#ffd0a1; --fest-glow-a:rgba(244,145,55,.2); --fest-glow-b:rgba(62,168,113,.2); background:radial-gradient(ellipse at 14% 12%,rgba(244,145,55,.23),transparent 43%),radial-gradient(ellipse at 86% 88%,rgba(62,168,113,.19),transparent 44%),linear-gradient(145deg,#102421,#17312b 60%,#101719); }
.intro-splash[data-festival="navratri"] { --fest-accent:#ffd18b; --fest-glow-a:rgba(203,65,109,.22); --fest-glow-b:rgba(238,164,79,.16); background:radial-gradient(ellipse at 50% 0,rgba(172,49,94,.27),transparent 52%),linear-gradient(145deg,#29101e,#421b2b 62%,#1a101b); }
.intro-splash[data-festival="dussehra"] { --fest-accent:#ffd18b; --fest-glow-a:rgba(213,117,49,.23); --fest-glow-b:rgba(151,54,30,.19); background:radial-gradient(ellipse at 50% 0,rgba(212,113,43,.2),transparent 48%),linear-gradient(145deg,#21110e,#3a1d16 60%,#171014); }
.intro-splash[data-festival="ganesh"] { --fest-accent:#ffd48d; --fest-glow-a:rgba(230,142,47,.24); --fest-glow-b:rgba(190,79,50,.18); background:radial-gradient(ellipse at 50% 0,rgba(231,143,48,.2),transparent 48%),linear-gradient(145deg,#24130d,#3a2016 62%,#171014); }
.intro-splash[data-festival="musicday"],.intro-splash[data-festival="anniversary"] { --fest-accent:#e8d18e; --fest-glow-a:rgba(121,103,189,.2); --fest-glow-b:rgba(211,150,66,.16); background:radial-gradient(ellipse at 50% 0,rgba(120,105,189,.22),transparent 48%),linear-gradient(145deg,#11121d,#20202b 60%,#121018); }
.intro-splash[data-festival="welcome"],.intro-splash[data-festival="custom"] { --fest-accent:#ffbd67; --fest-glow-a:rgba(237,76,44,.18); --fest-glow-b:rgba(235,171,86,.13); }
.intro-splash[data-festival="diwali"] .festival-art::after { transform-origin:50% 100%; animation:festival-flame 1.8s ease-in-out infinite alternate; }
.intro-splash[data-festival="holi"] .festival-art { background-size:130% 130%,130% 130%; animation:festival-powder 14s ease-in-out infinite alternate; }
@keyframes festival-halo { to { transform:rotate(360deg); } }
@keyframes festival-logo-in { from { opacity:0; transform:translateY(9px) scale(.98); } to { opacity:1; transform:none; } }
@keyframes festival-copy-in { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@keyframes festival-flame { to { transform:rotate(-29deg) scale(.9,1.12); filter:brightness(1.25); } }
@keyframes festival-powder { to { background-position:14% 65%,82% 28%; } }
.intro-splash.festival-still::before,.intro-splash.festival-still *,.intro-splash.festival-still *::before,.intro-splash.festival-still *::after { animation:none !important; transition:none !important; }
.intro-splash.festival-still .festival-cta:hover { transform:none; }
@media(prefers-reduced-motion:reduce) { .intro-splash[data-festival]::before,.intro-splash[data-festival] .intro-splash-logo,.intro-splash[data-festival] .festival-greeting,.intro-splash[data-festival] .festival-hindi,.intro-splash[data-festival] .intro-splash-sub,.intro-splash[data-festival] .festival-art::before,.intro-splash[data-festival] .festival-art::after,.festival-cta { animation:none !important; transition:none !important; } .festival-cta:hover { transform:none; } }
