/* Rajasthani Vibes – Diwali theme + app-like mobile layer */
html.diwali{--dv-gold:#ffb703;--dv-orange:#ff7b00;--dv-maroon:#5a1503;--dv-night:#1d0802;--color-primary:#E8430C}
html.diwali body{background-image:radial-gradient(circle at 15% -10%,rgba(255,183,3,.22),transparent 45%),radial-gradient(circle at 100% 0,rgba(232,67,12,.14),transparent 40%);background-attachment:fixed}
html.diwali[data-theme=dark] body{background-image:radial-gradient(circle at 50% -20%,rgba(255,140,0,.22),transparent 55%)}
#dvFx{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:9990}
/* toran (marigold garland) hanging from the top bar */
.dv-toran{position:fixed;top:0;left:0;right:0;height:26px;z-index:9991;display:flex;justify-content:space-between;pointer-events:none;padding:0 4px;
  background:linear-gradient(#ffb703,#ff7b00);height:5px;box-shadow:0 2px 10px rgba(255,123,0,.6)}
.dv-toran i{position:relative;top:4px;width:14px;height:20px;border-radius:50% 50% 60% 60%;background:radial-gradient(circle at 50% 30%,#ffe27a,#ff9d00 60%,#e85d04);transform-origin:top center;animation:dvSway 3s ease-in-out infinite;animation-delay:calc(var(--i)*-.17s);box-shadow:0 2px 4px rgba(0,0,0,.25)}
.dv-toran i:nth-child(3n){background:radial-gradient(circle at 50% 30%,#ffd3c2,#ff5a36 60%,#c1121f);height:16px}
@keyframes dvSway{50%{transform:rotate(9deg)}0%,100%{transform:rotate(-9deg)}}
.dv-lantern{position:fixed;top:5px;z-index:9991;pointer-events:none;display:flex;flex-direction:column;align-items:center;transform-origin:top center;animation:dvSwing 4.2s ease-in-out infinite}
.dv-lantern b{width:2px;height:38px;background:#c98a00}.dv-lantern span{font-size:34px;filter:drop-shadow(0 0 12px rgba(255,170,0,.9));margin-top:-4px}
.dv-lantern.l1{left:10px}.dv-lantern.l2{right:10px;animation-delay:-2s}.dv-lantern.l2 b{height:56px}
@keyframes dvSwing{0%,100%{transform:rotate(7deg)}50%{transform:rotate(-7deg)}}
/* glowing header & logo */
html.diwali .topbar{border-bottom:2px solid transparent;border-image:linear-gradient(90deg,#ffb703,#e8430c,#ffb703) 1;padding-top:env(safe-area-inset-top,0)}
html.diwali .brand-logo-full{filter:drop-shadow(0 0 6px rgba(255,183,3,.8))}
@keyframes dvGlow{50%{filter:drop-shadow(0 0 10px rgba(255,183,3,.95))}}
html.diwali .btn-primary,html.diwali .av-btn{background:linear-gradient(135deg,#ffb703,#e8430c)!important;color:#3a1200!important;border:0;box-shadow:0 6px 18px rgba(232,67,12,.35);position:relative;overflow:hidden}
html.diwali .btn-primary::after{content:"";position:absolute;inset:0;display:none;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);animation:dvShine 3.6s infinite}
@keyframes dvShine{40%,100%{transform:translateX(120%)}}
html.diwali .card{border:1px solid rgba(255,183,3,.35);transition:transform .25s,box-shadow .25s}
html.diwali .card:hover{box-shadow:0 10px 28px rgba(255,123,0,.25)}
/* scroll reveal (JS adds .dv-in) */
.dv-rv{opacity:0;transform:translateY(22px) scale(.98);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.3,1)}.dv-rv.dv-in{opacity:1;transform:none}
/* tap ripple */
.dv-ripple{position:absolute;border-radius:50%;background:rgba(255,200,60,.45);transform:scale(0);animation:dvRip .6s ease-out forwards;pointer-events:none}
@keyframes dvRip{to{transform:scale(4);opacity:0}}
/* greeting overlay */
#dvGreet{position:fixed;inset:0;z-index:100001;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(circle at 50% 40%,#5a1503,#1d0802 75%);animation:dvFade .5s}
#dvGreet[hidden]{display:none}#dvGreet.out{opacity:0;transition:opacity .6s;pointer-events:none}
.dvg-card{text-align:center;color:#ffe9c2;max-width:380px}.dvg-card h2{font:800 clamp(38px,11vw,56px)/1.1 'Rozha One',Sora,serif;margin:10px 0;color:#ffcf5a;text-shadow:0 0 24px rgba(255,170,0,.8);animation:dvPop .9s cubic-bezier(.2,1.4,.4,1) both}
.dvg-card p{font-size:14px;line-height:1.6;opacity:.9}.dvg-count{margin:14px 0;font-weight:800;color:#ffb703}
.dvg-card button{min-height:50px;padding:0 28px;border:0;border-radius:99px;font:800 16px Inter,sans-serif;color:#3a1200;background:linear-gradient(135deg,#ffcf5a,#ff7b00);box-shadow:0 0 0 6px rgba(255,183,3,.18),0 10px 30px rgba(255,123,0,.5);animation:dvBeat 1.6s infinite}
.dvg-diya{width:96px;height:56px;margin:0 auto;border-radius:0 0 96px 96px;background:linear-gradient(#e8890c,#8a3a00);position:relative;box-shadow:0 0 50px 14px rgba(255,160,0,.45)}
.dvg-diya i{position:absolute;left:50%;top:-34px;width:22px;height:42px;margin-left:-11px;border-radius:50% 50% 50% 50%/65% 65% 35% 35%;background:radial-gradient(ellipse at 50% 75%,#fff6c8,#ffb703 45%,#ff5a00 85%);animation:dvFlame .18s infinite alternate;transform-origin:50% 100%;filter:blur(.4px)}
@keyframes dvFlame{from{transform:scale(1,1) rotate(-3deg)}to{transform:scale(.88,1.1) rotate(3deg)}}
@keyframes dvPop{from{transform:scale(.3);opacity:0}}@keyframes dvFade{from{opacity:0}}@keyframes dvBeat{50%{transform:scale(1.06)}}
/* ---------- App-like mobile layer ---------- */
@media (max-width:820px){
  html.diwali body{padding-bottom:calc(74px + env(safe-area-inset-bottom,0px));user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
  html.diwali input,html.diwali textarea{user-select:text;-webkit-user-select:text;font-size:16px}
  html.diwali .nav-links{display:none}
  html.diwali .topbar{position:sticky;top:0}
  html.diwali .bottom-nav{left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom,0px));border-radius:24px;border:1px solid rgba(255,183,3,.55);background:rgba(36,10,3,.96);box-shadow:0 12px 34px rgba(0,0,0,.45),0 0 18px rgba(255,140,0,.25);padding:6px 6px;animation:dvNavUp .6s .2s cubic-bezier(.2,.9,.3,1.1) both}
  html.diwali .bottom-nav a{color:#ffd9a0;border-radius:18px;min-height:48px;position:relative}
  html.diwali .bottom-nav a.active{color:#3a1200;background:linear-gradient(135deg,#ffcf5a,#ff8a00);box-shadow:0 0 14px rgba(255,170,0,.7);animation:dvTab .35s cubic-bezier(.2,1.6,.4,1)}
  html.diwali .bottom-nav a:active{transform:scale(.88)}
  html.diwali .support-fab{bottom:calc(92px + env(safe-area-inset-bottom,0px))}
  html.diwali main{animation:dvPage .4s ease both}
  .dv-lantern span{font-size:26px}.dv-lantern b{height:26px}.dv-lantern.l2 b{height:40px}
}
@keyframes dvNavUp{from{transform:translateY(140%)}}@keyframes dvTab{from{transform:scale(.8)}}@keyframes dvPage{from{opacity:0;transform:translateX(18px)}}
@media (prefers-reduced-motion:reduce){html.diwali *,html.diwali *::before,html.diwali *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}#dvFx{display:none}.dv-rv{opacity:1;transform:none}}

/* =====================================================================
   FULL-SITE DIWALI PALETTE (rangoli colours) – recolours every page that
   uses the shared variables, in both light and dark mode.
   ===================================================================== */
html.diwali{--dv-magenta:#D6247A;--dv-purple:#6A2CC9;--dv-teal:#00A6A6;--dv-green:#1FA971;--dv-blue:#2F6FED;--dv-red:#E62E2D;
  --rangoli:linear-gradient(90deg,#E62E2D,#FF7B00,#FFB703,#1FA971,#00A6A6,#2F6FED,#6A2CC9,#D6247A,#E62E2D)}
html.diwali:not([data-theme=dark]){
  --color-bg:#FFF6E4;--color-surface:#FFFDF8;--color-ink:#3a1200;--color-ink-soft:#7a4a2a;--color-border:#F5D9A6;
  --color-primary:#E8430C;--color-primary-dark:#B5260A;--color-primary-light:#FFE9CF;--color-bg-soft:#FFEBC8;--color-brand:#E8430C;
  --color-saffron:#FF7B00;--color-teal:#00A6A6;--color-danger:#E62E2D;--color-success:#1FA971;--color-warning:#FFB703;
  --btn-think:#E8430C;--btn-write:#D6247A;--btn-code:#6A2CC9;--btn-plan:#00A6A6;--btn-format:#FFB703;--btn-claudecode:#2F6FED;
  --grad-brand:linear-gradient(135deg,#FF7B00,#D6247A);--grad-saffron-teal:linear-gradient(120deg,#FFB703,#E8430C 50%,#D6247A);
  --shadow-sm:0 1px 3px rgba(232,67,12,.12);--shadow-md:0 8px 24px rgba(214,36,122,.16);--shadow-lg:0 16px 40px rgba(232,67,12,.24)}
html.diwali[data-theme=dark]{
  --color-bg:#1a0803;--color-surface:#2b110a;--color-ink:#FFE9C2;--color-ink-soft:#d9b48a;--color-border:#5a2a14;
  --color-primary:#FF8A1F;--color-primary-dark:#E8430C;--color-primary-light:#4a1d0c;--color-bg-soft:#240d06;
  --color-saffron:#FFB703;--color-teal:#2dd4c4;--color-success:#3ddc97;--color-warning:#FFD166;
  --btn-think:#FF8A1F;--btn-write:#ff5fa8;--btn-code:#a78bfa;--btn-plan:#2dd4c4;--btn-format:#FFD166;
  --grad-brand:linear-gradient(135deg,#FF8A1F,#D6247A)}
html.diwali[data-theme=dark] .topbar{background:rgba(29,8,2,.92)}
html.diwali[data-theme=dark] .card{background:var(--color-surface)}

/* rotating rangoli mandala glowing behind the page */
html.diwali::before{content:"";position:fixed;right:-170px;top:-170px;width:420px;height:420px;border-radius:50%;z-index:-1;pointer-events:none;opacity:.22;
  background:repeating-conic-gradient(from 0deg,#E62E2D 0 10deg,#FFB703 10deg 20deg,#D6247A 20deg 30deg,#1FA971 30deg 40deg,#6A2CC9 40deg 50deg,#FF7B00 50deg 60deg);
  -webkit-mask:radial-gradient(circle,transparent 18%,#000 19% 32%,transparent 33% 46%,#000 47% 62%,transparent 63%);mask:radial-gradient(circle,transparent 18%,#000 19% 32%,transparent 33% 46%,#000 47% 62%,transparent 63%);}
html.diwali::after{content:"";position:fixed;left:-190px;bottom:-190px;width:380px;height:380px;border-radius:50%;z-index:-1;pointer-events:none;opacity:.18;
  background:repeating-conic-gradient(from 15deg,#2F6FED 0 12deg,#FF7B00 12deg 24deg,#D6247A 24deg 36deg,#FFB703 36deg 48deg,#1FA971 48deg 60deg);
  -webkit-mask:radial-gradient(circle,transparent 16%,#000 17% 34%,transparent 35% 50%,#000 51% 66%,transparent 67%);mask:radial-gradient(circle,transparent 16%,#000 17% 34%,transparent 35% 50%,#000 51% 66%,transparent 67%);}
@keyframes dvSpin{to{transform:rotate(360deg)}}

/* animated rainbow rangoli line under the top bar */
html.diwali .topbar{border-image:none;border-bottom:0;position:relative}
html.diwali .topbar::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;background:var(--rangoli);background-size:300% 100%;}
@keyframes dvFlow{to{background-position:300% 0}}
html.diwali .nav-links a{border-radius:99px;transition:background .25s,color .25s,transform .2s}
html.diwali .nav-links a:hover{transform:translateY(-2px)}
html.diwali .nav-links a:nth-child(6n+1):hover,html.diwali .nav-links a:nth-child(6n+1).active{background:#E62E2D1f;color:#E62E2D}
html.diwali .nav-links a:nth-child(6n+2):hover,html.diwali .nav-links a:nth-child(6n+2).active{background:#FF7B001f;color:#d96000}
html.diwali .nav-links a:nth-child(6n+3):hover,html.diwali .nav-links a:nth-child(6n+3).active{background:#1FA9711f;color:#17875a}
html.diwali .nav-links a:nth-child(6n+4):hover,html.diwali .nav-links a:nth-child(6n+4).active{background:#6A2CC91f;color:#6A2CC9}
html.diwali .nav-links a:nth-child(6n+5):hover,html.diwali .nav-links a:nth-child(6n+5).active{background:#D6247A1f;color:#D6247A}
html.diwali .nav-links a:nth-child(6n):hover,html.diwali .nav-links a:nth-child(6n).active{background:#00A6A61f;color:#008a8a}

/* headings, hero, categories, chips, badges */
html.diwali .page-title,html.diwali .section-title{background:linear-gradient(90deg,#E62E2D,#FF7B00,#D6247A,#6A2CC9);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;background-size:200% 100%;}
html.diwali .section-title::before{content:"🪔 ";-webkit-text-fill-color:initial}
html.diwali .home-hero{background:linear-gradient(120deg,#E62E2D,#FF7B00,#D6247A,#6A2CC9)!important;background-size:300% 300%!important;;box-shadow:0 12px 34px rgba(214,36,122,.35)}
html.diwali .home-hero::after{content:"✨🪔✨";position:absolute;right:14px;top:8px;font-size:22px;}
html.diwali .category-card:nth-child(6n+1){--dc:#E62E2D}html.diwali .category-card:nth-child(6n+2){--dc:#FF7B00}html.diwali .category-card:nth-child(6n+3){--dc:#1FA971}
html.diwali .category-card:nth-child(6n+4){--dc:#6A2CC9}html.diwali .category-card:nth-child(6n+5){--dc:#D6247A}html.diwali .category-card:nth-child(6n){--dc:#00A6A6}
html.diwali .category-card{border:2px solid color-mix(in srgb,var(--dc,#FF7B00) 45%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--dc,#FF7B00) 14%,var(--color-surface)),var(--color-surface))}
html.diwali .category-card:hover{transform:translateY(-4px) rotate(-1deg);box-shadow:0 10px 26px color-mix(in srgb,var(--dc,#FF7B00) 40%,transparent)}
html.diwali .category-card-icon{color:var(--dc,#FF7B00)}
html.diwali main .card:nth-child(6n+1){border-top:4px solid #E62E2D}html.diwali main .card:nth-child(6n+2){border-top:4px solid #FF7B00}html.diwali main .card:nth-child(6n+3){border-top:4px solid #FFB703}
html.diwali main .card:nth-child(6n+4){border-top:4px solid #1FA971}html.diwali main .card:nth-child(6n+5){border-top:4px solid #6A2CC9}html.diwali main .card:nth-child(6n){border-top:4px solid #D6247A}
html.diwali .filter-chip{border:1.5px solid #FFB703;border-radius:99px}
html.diwali .filter-chip.active,html.diwali .filter-chip:hover{background:linear-gradient(135deg,#FFB703,#E8430C);color:#3a1200;border-color:transparent}
html.diwali .badge-success{background:#1FA971;color:#fff}html.diwali .badge-warning{background:#FFB703;color:#3a1200}html.diwali .badge-danger{background:#E62E2D;color:#fff}html.diwali .badge-info{background:#00A6A6;color:#fff}html.diwali .badge-secondary{background:#6A2CC9;color:#fff}
html.diwali .trending-badge,html.diwali .video-badge{background:linear-gradient(135deg,#D6247A,#FF7B00);color:#fff}
html.diwali .form-control:focus,html.diwali input:focus,html.diwali textarea:focus,html.diwali select:focus{outline:0;border-color:#FF7B00;box-shadow:0 0 0 3px rgba(255,123,0,.28)}
html.diwali a{transition:color .2s}html.diwali ::selection{background:#FFB703;color:#3a1200}
html.diwali .notif-dot{background:#D6247A;box-shadow:0 0 8px #D6247A}

/* colourful, glowing footer with a row of diyas */
html.diwali .site-footer{position:relative;background:linear-gradient(180deg,#3b1060 0%,#8a1f4a 45%,#5a1503 100%)!important;color:#ffe9c2!important;margin-top:40px;padding-top:34px}
html.diwali .site-footer a{color:#ffcf5a}html.diwali .site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--rangoli);background-size:300% 100%;}
html.diwali .footer-bottom::after{content:"🪔 🪔 🪔 🪔 🪔";display:block;margin-top:10px;font-size:20px;letter-spacing:8px;animation:dvBeat 2.4s infinite;filter:drop-shadow(0 0 8px #ffb703)}
html.diwali .footer-policy-btn{border:1px solid #ffb70388;border-radius:99px;background:#ffffff14}

/* mobile bottom bar: a different festive colour for each tab */
@media (max-width:820px){
  html.diwali .bottom-nav a:nth-child(5n+1) i{color:#ff6b6b}html.diwali .bottom-nav a:nth-child(5n+2) i{color:#ffb703}html.diwali .bottom-nav a:nth-child(5n+3) i{color:#5eead4}
  html.diwali .bottom-nav a:nth-child(5n+4) i{color:#c4a5ff}html.diwali .bottom-nav a:nth-child(5n) i{color:#ff7ac0}
  html.diwali .bottom-nav a.active i{color:#3a1200}
  html.diwali .home-hero::after{font-size:18px}
}

/* admin panel (header gets class="diwali" – no lanterns/greeting there) */
html.diwali .admin-sidebar{background:linear-gradient(185deg,#5a1503,#8a1f4a 55%,#3b1060)!important}
html.diwali .admin-sidebar a{color:#ffe9c2}html.diwali .admin-sidebar a.active,html.diwali .admin-sidebar a:hover{background:linear-gradient(90deg,#FFB703,#FF7B00);color:#3a1200}
html.diwali .sidebar-section-label{color:#ffcf5a}
html.diwali .admin-wrapper::before{content:"";position:fixed;top:0;left:0;right:0;height:4px;z-index:9999;background:var(--rangoli);background-size:300% 100%;}
html.diwali .stat-card:nth-child(4n+1){border-left:5px solid #E62E2D}html.diwali .stat-card:nth-child(4n+2){border-left:5px solid #FF7B00}html.diwali .stat-card:nth-child(4n+3){border-left:5px solid #1FA971}html.diwali .stat-card:nth-child(4n){border-left:5px solid #6A2CC9}

/* perf: only animate the shine while hovering */
html.diwali .btn-primary:hover::after{display:block;animation:dvShine 1s}
html.diwali .dv-toran i:nth-child(n+13){display:none}
