.rsw-festival{position:relative;overflow:hidden}
.rsw-festival-banner{display:flex;align-items:center;justify-content:center;gap:16px;min-height:74px;padding:14px 18px;box-sizing:border-box;font:800 24px Arial,sans-serif;letter-spacing:.4px;text-align:center;line-height:1.25;text-shadow:0 1px 1px rgba(0,0,0,.08);box-shadow:0 4px 16px rgba(0,0,0,.14);animation:rswFestIn .5s ease both}
.rsw-festival-spark{position:absolute;pointer-events:none;inset:0;overflow:hidden;z-index:0}
.rsw-festival-spark i{position:absolute;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.45;animation:rswTwinkle 2.8s ease-in-out infinite}
.rsw-festival-banner>*{position:relative;z-index:1}
.rsw-festival[data-theme="independence"],.rsw-festival[data-theme="republic"]{background:linear-gradient(90deg,#fff3df,#fff,#eaf8ed);color:#174f2c}
.rsw-festival[data-theme="durga"],.rsw-festival[data-theme="kali"],.rsw-festival[data-theme="diwali"]{background:linear-gradient(90deg,#2a0710,#6b1726,#2a0710);color:#ffd77a}
.rsw-festival[data-theme="eid"]{background:linear-gradient(90deg,#073b2b,#0d684b,#073b2b);color:#f4df9c}
.rsw-festival[data-theme="christmas"]{background:linear-gradient(90deg,#0b4b32,#8b1525,#0b4b32);color:#fff3d1}
.rsw-festival[data-theme="newyear"]{background:linear-gradient(90deg,#111,#473914,#111);color:#f7dc83}
.rsw-festival[data-theme="holi"]{background:linear-gradient(90deg,#ffe5f1,#e8f4ff,#fff0c9);color:#5c285a}
.rsw-festival[data-theme="valentine"]{background:linear-gradient(90deg,#fff0f4,#ffd9e4,#fff0f4);color:#8f2042}
@keyframes rswTwinkle{0%,100%{transform:scale(.6);opacity:.18}50%{transform:scale(1.6);opacity:.65}}
@keyframes rswFestIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(max-width:600px){.rsw-festival-banner{min-height:64px;gap:10px;font-size:19px;padding:12px 12px}}
@media(prefers-reduced-motion:reduce){.rsw-festival-banner,.rsw-festival-spark i{animation:none!important}}
.rsw-fest-controls{position:relative;z-index:5;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:10px 12px 12px;background:rgba(255,255,255,.1);backdrop-filter:blur(5px)}
.rsw-fest-control{border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:8px 13px;background:rgba(0,0,0,.22);color:inherit;font:700 14px/1.1 Arial,sans-serif;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.16);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.rsw-fest-control:hover,.rsw-fest-control:active{transform:translateY(-2px) scale(1.03);background:rgba(0,0,0,.32);box-shadow:0 7px 18px rgba(0,0,0,.22)}
.fest-emoji{font-size:22px;vertical-align:middle;margin-right:5px}.rsw-fest-stage{position:relative;height:0;z-index:6}.rsw-decoration{position:absolute;bottom:8px;font-size:38px;animation:rswDecorIn .35s ease both,rswFloat 1.5s ease-in-out infinite}.rsw-decoration.diya{left:18%}.rsw-decoration.candle{right:18%}.rsw-decoration .flame{position:absolute;left:50%;top:-16px;transform:translateX(-50%);font-size:18px;animation:rswFlame .5s ease-in-out infinite alternate}.rsw-firework-burst{position:absolute;left:50%;bottom:5px;width:8px;height:8px;transform:translate(-50%,-50%)}.rsw-firework-burst i{position:absolute;width:5px;height:28px;border-radius:99px;background:#ffd76a;transform-origin:50% 0;transform:rotate(var(--a)) translateY(calc(var(--r) * -1));animation:rswBurst 1s ease-out forwards;box-shadow:0 0 9px #fff0a8}.rsw-fest-symbol{display:inline-block;animation:rswSymbol 1.8s ease-in-out infinite}.rsw-fest-control:focus-visible{outline:3px solid rgba(255,255,255,.8);outline-offset:2px}
@keyframes rswDecorIn{from{opacity:0;transform:translateY(14px) scale(.7)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes rswFloat{50%{margin-bottom:5px}}@keyframes rswFlame{to{transform:translateX(-50%) scale(1.18) rotate(3deg)}}@keyframes rswBurst{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scale(.5)}100%{opacity:0;transform:rotate(var(--a)) translateY(calc(var(--r) * -1)) scale(1)}}@keyframes rswSymbol{50%{transform:rotate(-6deg) scale(1.08)}}
@media(max-width:600px){.rsw-fest-controls{gap:7px;padding:9px 8px}.rsw-fest-control{font-size:12px;padding:8px 10px}.fest-emoji{font-size:20px}.rsw-decoration.diya{left:10%}.rsw-decoration.candle{right:10%}}
@media(prefers-reduced-motion:reduce){.rsw-fest-control,.rsw-decoration,.rsw-firework-burst i,.rsw-fest-symbol{animation:none!important}.rsw-fest-control{transition:none}}

/* ---- Premium Durga Puja Hero (durga theme only) ---- */
/* Scoped layering fix: .rsw-festival-spark is an absolute overlay spanning
   the whole festival container. Raise the hero and its content above it so
   the sparkles never paint over Maa Durga's portrait or the day cards. */
.rsw-durga-hero{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(14px,3vw,34px);
  padding:clamp(18px,3vw,34px) clamp(12px,4vw,44px);
  box-sizing:border-box;
  background:radial-gradient(120% 130% at 50% 0%,#3d0713 0%,#6b1726 45%,#2a0710 100%);
  color:#ffd77a;
  overflow:hidden;
  border-bottom:3px solid #e0a13a;
  box-shadow:inset 0 0 60px rgba(224,161,58,.16),0 6px 22px rgba(0,0,0,.3);
}
.rsw-durga-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 12% 20%,rgba(255,215,106,.14),transparent 38%),radial-gradient(circle at 88% 78%,rgba(255,215,106,.1),transparent 36%)}
.rsw-durga-portrait{
  position:relative;
  z-index:1;
  flex:0 0 auto;
  width:clamp(120px,24vw,190px);
  animation:rswDurgaFloat 4.5s ease-in-out infinite;
  filter:drop-shadow(0 12px 28px rgba(255,215,106,.28));
}
.rsw-durga-portrait img{
  display:block;
  width:100%;
  height:auto;
  border-radius:18px;
  background:radial-gradient(circle at 50% 20%,#ffe9a8 0%,#e08a1e 70%,#7a3c0a 100%);
  box-shadow:0 0 0 3px #e0a13a,0 14px 34px rgba(0,0,0,.4);
  object-fit:contain;
}
.rsw-durga-body{flex:1 1 auto;min-width:0;text-align:center}
.rsw-durga-greeting{
  display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
  font-size:clamp(26px,5.5vw,44px);
  font-weight:900;
  letter-spacing:.4px;
  color:#ffe9a8;
  text-shadow:0 0 18px rgba(255,215,106,.6),0 2px 2px rgba(0,0,0,.35);
  line-height:1.2;
}
.rsw-durga-symbol{font-size:clamp(22px,4.5vw,36px);animation:rswSymbol 1.8s ease-in-out infinite}
.rsw-durga-sub{
  margin:clamp(8px,1.5vw,14px) auto 0;
  max-width:520px;
  font-size:clamp(14px,2.8vw,19px);
  font-weight:700;
  color:#ffd77a;
  line-height:1.4;
}
.rsw-durga-days{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:clamp(6px,1.2vw,12px);
  margin-top:clamp(14px,2.4vw,22px);
}
.rsw-durga-day{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  min-width:clamp(64px,13vw,104px);
  padding:clamp(8px,1.4vw,12px) clamp(6px,1vw,10px);
  border:2px solid rgba(255,215,106,.75);
  border-radius:14px;
  background:rgba(42,7,16,.44);
  color:#ffe9a8;
  font-size:clamp(14px,2.8vw,19px);
  font-weight:800;
  line-height:1.15;
  text-align:center;
  box-shadow:0 4px 12px rgba(0,0,0,.25);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
  animation:rswDurgaDayIn .5s ease both;
}
.rsw-durga-day-icon{font-size:clamp(22px,5vw,34px);line-height:1}
@media (hover:hover){
  .rsw-durga-day:hover{transform:translateY(-3px) scale(1.04);background:rgba(255,215,106,.18);box-shadow:0 8px 20px rgba(255,215,106,.25)}
}
.rsw-durga-day:active{transform:scale(.97)}
@keyframes rswDurgaFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes rswDurgaDayIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

@media(min-width:900px){
  .rsw-durga-hero{min-height:240px}
}
@media(max-width:640px){
  .rsw-durga-hero{flex-direction:column;text-align:center;padding:16px 12px}
  .rsw-durga-portrait{width:min(190px,52vw)}
  .rsw-durga-greeting{font-size:clamp(24px,7vw,32px)}
  .rsw-durga-sub{font-size:14px}
  .rsw-durga-day{min-width:clamp(62px,26vw,92px)}
}
@media(prefers-reduced-motion:reduce){
  .rsw-durga-portrait{animation:none}
  .rsw-durga-day{animation:none}
}
