
:root {
  --saffron:#FF6B00; --saffron-lt:#FF8C38; --saffron-pale:#FFF3E8; --saffron-dark:#CC5500;
  --gold:#C8922A; --gold-lt:#E8A838; --gold-pale:#FDF6E3; --gold-dark:#A07020;
  --dark:#1A0F00; --dark-mid:#2D1A00; --dark-soft:#3D2400;
  --text:#2D1A00; --text-mid:#6B4423; --text-soft:#9A6B45;
  --white:#FEFCF8; --cream:#FBF5EC; --border:#E8D4B8; --border-soft:#F0E4CC;
  --green:#16a34a;
  --font-display:'Noto Serif','Noto Sans Devanagari',Georgia,serif;
  --font-body:'Inter',system-ui,-apple-system,sans-serif;
  --font-hindi:'Noto Sans Devanagari',serif;
  --shadow-sm:0 2px 8px rgba(26,15,0,.08);
  --shadow-md:0 4px 20px rgba(26,15,0,.12);
  --shadow-lg:0 8px 40px rgba(26,15,0,.18);
  --r:12px; --r-lg:20px; --r-sm:6px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--white);color:var(--text);line-height:1.65;font-size:16px}
img{display:block;width:100%;object-fit:cover}
a{text-decoration:none;color:inherit}
ul{list-style:none;padding:0}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.2;color:var(--dark)}
h1{font-size:clamp(2rem,5vw,3.8rem)}
h2{font-size:clamp(1.6rem,3.5vw,2.6rem)}
h3{font-size:clamp(1.1rem,2.5vw,1.6rem)}
em{font-style:italic;font-family:var(--font-display)}
.container{max-width:1180px;margin:0 auto;padding:0 1.5rem}
.section{padding:4.5rem 0}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.7rem 1.6rem;border-radius:50px;font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;border:2px solid transparent;white-space:nowrap}
.btn--primary{background:var(--saffron);color:#fff;border-color:var(--saffron)}
.btn--primary:hover{background:#e55a00;transform:translateY(-1px);box-shadow:0 4px 14px rgba(255,107,0,.35)}
.btn--gold{background:var(--gold);color:#fff;border-color:var(--gold)}
.btn--gold:hover{background:var(--gold-dark);transform:translateY(-1px);box-shadow:0 4px 14px rgba(200,146,42,.4)}
.btn--saffron{background:var(--saffron);color:#fff;border-color:var(--saffron)}
.btn--saffron:hover{background:var(--saffron-dark);transform:translateY(-1px)}
.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn--ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.btn--outline{background:transparent;color:var(--saffron);border-color:var(--saffron)}
.btn--outline:hover{background:var(--saffron);color:#fff}
.btn--dark{background:var(--dark);color:var(--gold-lt);border-color:var(--dark)}
.btn--large{padding:.9rem 2rem;font-size:.95rem}
.btn--wrap-text{white-space:normal;text-align:center;line-height:1.3;padding-top:.85rem;padding-bottom:.85rem}
.btn--sm{padding:.4rem 1rem;font-size:.8rem}

/* BADGES */
.badge{display:inline-flex;align-items:center;gap:.35rem;background:var(--saffron-pale);color:var(--saffron);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .8rem;border-radius:50px;border:1px solid rgba(255,107,0,.2)}
.badge--live{background:rgba(255,30,30,.1);color:#e53e3e;border-color:rgba(255,30,30,.25)}
.badge--gold{background:var(--gold-pale);color:var(--gold);border-color:rgba(200,146,42,.25)}
.badge--saffron{background:var(--saffron-pale);color:var(--saffron);border-color:rgba(255,107,0,.2)}

/* LIVE DOTS */
.live-dot-sm{display:inline-block;width:7px;height:7px;background:#ff3333;border-radius:50%;animation:pulseLive 1.4s ease infinite;box-shadow:0 0 4px #ff3333;flex-shrink:0}
@keyframes pulseLive{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}

/* TOPBAR */
.topbar{background:var(--dark-mid);padding:.35rem 0;font-size:.72rem;border-bottom:1px solid rgba(200,146,42,.15)}
.topbar-inner{max-width:1180px;margin:0 auto;padding:0 1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.topbar-inner,#topbarPanchang{color:rgba(253,246,227,.5)}
.topbar-right{display:flex;gap:.75rem;color:rgba(200,146,42,.7);font-family:var(--font-hindi)}

/* NAV */
.nav{position:sticky;top:0;z-index:200;background:rgba(26,15,0,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(200,146,42,.18)}
.nav-inner{max-width:1180px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;height:64px;gap:2rem}
.nav-brand{display:flex;align-items:center;gap:.6rem;flex-shrink:0}
.brand-om{font-family:var(--font-hindi);font-size:1.7rem;color:var(--gold-lt);line-height:1;filter:drop-shadow(0 0 6px rgba(232,168,56,.4))}
.brand-text-wrap{display:flex;flex-direction:column}
.brand-name{font-family:var(--font-display);font-size:1.25rem;color:var(--cream);font-weight:600;line-height:1.1}
.brand-dot{color:var(--saffron)}
.brand-tagline{font-size:.6rem;color:rgba(253,246,227,.35);text-transform:uppercase;letter-spacing:.08em}
.nav-links{display:flex;align-items:center;gap:.1rem;margin-left:auto}
.nav-item{position:relative}
.nav-link{padding:.5rem .9rem;color:rgba(253,246,227,.65);font-size:.88rem;font-weight:500;border-radius:6px;transition:all .2s;display:flex;align-items:center;gap:.25rem;cursor:pointer}
.nav-link:hover,.nav-link.active{color:var(--cream);background:rgba(255,255,255,.07)}
.nav-link--daan{color:var(--gold-lt) !important}
.nav-arrow{font-size:.65rem;opacity:.5}

/* DROPDOWN */
.nav-dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-lg);padding:.5rem;padding-top:1rem;min-width:260px;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;z-index:300;margin-top:0}
/* Invisible bridge fills the gap between nav item and dropdown so hover never breaks */
.nav-dropdown::before{content:'';position:absolute;top:-.75rem;left:0;right:0;height:.75rem}
.nav-item--has-dropdown:hover .nav-dropdown{opacity:1;pointer-events:all;transform:translateX(-50%)}
.nd-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:var(--r-sm);transition:background .15s}
.nd-item:hover{background:var(--saffron-pale)}
.nd-icon{font-size:1.3rem;flex-shrink:0}
.nd-item div{display:flex;flex-direction:column}
.nd-item strong{font-size:.88rem;color:var(--dark);font-weight:600;line-height:1.2}
.nd-item span{font-size:.75rem;color:var(--text-soft)}

/* MOBILE NAV */
.nav-right-actions{display:flex;align-items:center;margin-left:auto}
.nav-account-link{color:var(--cream);font-size:.85rem;font-weight:600;padding:.45rem 1.1rem;border:1px solid rgba(200,146,42,.3);border-radius:50px;transition:all .2s;white-space:nowrap}
.nav-account-link:hover{background:rgba(200,146,42,.12);border-color:var(--gold)}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.25rem;flex-direction:column;gap:5px;margin-left:.75rem}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--cream);border-radius:2px;transition:all .3s}
.mobile-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--dark);border-top:1px solid rgba(200,146,42,.15);flex-direction:column;overflow-y:auto;z-index:999;padding-top:var(--nav-h,64px)}
.mobile-menu-close{position:absolute;top:14px;right:16px;width:40px;height:40px;border:1px solid rgba(200,146,42,.25);background:rgba(255,255,255,.04);color:var(--cream);font-size:1.1rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1000;transition:background .2s}
.mobile-menu-close:hover{background:rgba(255,255,255,.1)}
.mobile-menu a{padding:.9rem 1.5rem;color:rgba(253,246,227,.75);font-size:.95rem;border-bottom:1px solid rgba(255,255,255,.05);transition:color .2s}
.mobile-menu a:hover{color:var(--gold-lt)}
.mobile-menu.open{display:flex}
@media(max-width:768px){
  .nav-links{display:none}
  .nav-toggle{display:flex}
  .nav-inner{gap:.6rem;padding:0 1rem}
  .nav-brand{min-width:0}
  .brand-text-wrap{min-width:0}
  .brand-tagline{display:block;font-size:.5rem;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .brand-name{font-size:1.05rem}
  .nav-account-link{padding:.4rem .8rem;font-size:.78rem}
  .nav-right-actions{margin-left:auto;margin-right:.6rem}
  .nav-toggle{margin-left:0}
  /* Topbar — was wrapping the panchang string + mantra ticker into 3
     stacked lines on narrow screens (fine on desktop, where everything
     fits on one line and flex-wrap never triggers). Hide the decorative
     ticker and force the panchang text onto a single truncating line. */
  .topbar-inner{flex-wrap:nowrap;padding:0 1rem;gap:0}
  .topbar-right{display:none}
  #topbarPanchang{display:block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.68rem}
}
@media(max-width:380px){
  .nav-account-link{padding:.35rem .65rem;font-size:.72rem}
  .brand-name{font-size:.95rem}
  .brand-tagline{font-size:.44rem}
}

/* HERO */
.hero{position:relative;min-height:92vh;background:var(--dark);overflow:hidden;display:flex;align-items:center}
.hero-ambient{position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 60% 30%,rgba(255,107,0,.14) 0%,transparent 65%),radial-gradient(ellipse 50% 40% at 20% 70%,rgba(200,146,42,.1) 0%,transparent 60%),radial-gradient(ellipse 80% 80% at 50% 100%,rgba(45,26,0,.8) 0%,transparent 70%);opacity:1}
.hero-content{position:relative;z-index:1;width:100%;padding:5rem 0 4rem}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:3rem;align-items:start}
.hero-eyebrow{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:rgba(253,246,227,.55);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.25rem}
.hero-hindi{display:block;font-family:var(--font-hindi);font-size:.5em;color:var(--gold-lt);font-weight:300;margin-bottom:.2rem}
.hero-title{color:#fff;margin-bottom:1.25rem;line-height:1.15}
.hero-sub{color:rgba(253,246,227,.65);font-size:1.1rem;max-width:520px;margin-bottom:2rem}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2.5rem}
.hero-stats-row{display:flex;align-items:center;gap:1.5rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.08)}
.hstat-num{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--gold-lt)}
.hstat-lbl{font-size:.72rem;color:rgba(253,246,227,.4);text-transform:uppercase;letter-spacing:.06em}
.hstat-sep{width:1px;height:36px;background:rgba(255,255,255,.12)}

/* PANCHANG CARD */
.panchang-card{background:linear-gradient(160deg,#1e0e00 0%,#2e1800 100%);border:1px solid rgba(200,146,42,.3);border-radius:var(--r-lg);overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.4),0 0 0 1px rgba(200,146,42,.1)}
.pc-header{display:flex;align-items:center;gap:.75rem;padding:1.1rem 1.25rem;background:linear-gradient(135deg,rgba(200,146,42,.15) 0%,transparent 100%);border-bottom:1px solid rgba(200,146,42,.15)}
.pc-om{font-family:var(--font-hindi);font-size:2rem;color:var(--gold-lt);filter:drop-shadow(0 0 6px rgba(232,168,56,.4));line-height:1}
.pc-title{font-family:var(--font-hindi);font-size:1rem;color:var(--gold-lt);font-weight:600}
.pc-subtitle{font-size:.7rem;color:rgba(253,246,227,.35);margin-top:.1rem}
.pc-auspicious,.pc-good,.pc-neutral{margin-left:auto;font-size:.68rem;font-weight:700;padding:.25rem .6rem;border-radius:50px}
.pc-good{background:rgba(22,163,74,.2);color:#4ade80;border:1px solid rgba(22,163,74,.3)}
.pc-neutral{background:rgba(255,255,255,.08);color:rgba(253,246,227,.5);border:1px solid rgba(255,255,255,.1)}
.pc-date-line{padding:.6rem 1.25rem;font-size:.8rem;color:rgba(253,246,227,.4);border-bottom:1px solid rgba(255,255,255,.06);font-style:italic}
.pc-body{padding:.5rem 0}
.pc-row{display:flex;align-items:baseline;gap:.6rem;padding:.45rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.05)}
.pc-row:last-child{border-bottom:none}
.pc-row span{font-size:.72rem;color:rgba(253,246,227,.35);width:90px;flex-shrink:0;text-transform:uppercase;letter-spacing:.04em}
.pc-row strong{font-size:.88rem;color:var(--cream);font-weight:500}
.pc-row em{font-size:.72rem;color:rgba(232,168,56,.55);font-style:normal;margin-left:.25rem}
.pc-sun-row{display:flex;justify-content:space-around;padding:.75rem 1.25rem;background:rgba(255,255,255,.03);font-size:.78rem;color:rgba(253,246,227,.45)}
.pc-sun-row strong{color:var(--gold-lt)}
.pc-cta{display:block;text-align:center;padding:.7rem;font-size:.78rem;color:var(--gold-lt);border-top:1px solid rgba(200,146,42,.15);transition:background .2s}
.pc-cta:hover{background:rgba(200,146,42,.07)}

/* NEXT FESTIVAL CARD */
.next-fest-card{background:linear-gradient(135deg,rgba(26,15,0,.9) 0%,rgba(45,26,0,.95) 100%);border:1px solid rgba(var(--accent-rgb,200,146,42),.3);border-top:3px solid var(--accent,var(--saffron));border-radius:var(--r);padding:1.1rem 1.25rem;margin-top:1rem}
.nfc-label{font-size:.65rem;font-weight:700;color:rgba(253,246,227,.3);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.6rem}
.nfc-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}
.nfc-icon{font-size:2rem;flex-shrink:0}
.nfc-name{font-family:var(--font-display);font-size:1.15rem;color:var(--cream);font-weight:600;line-height:1.2}
.nfc-hindi{font-family:var(--font-hindi);color:var(--saffron-lt);font-size:.82rem;margin:.1rem 0}
.nfc-date{font-size:.75rem;color:rgba(253,246,227,.4)}
.nfc-days{margin-left:auto;text-align:center;flex-shrink:0;background:rgba(255,107,0,.15);border:1px solid rgba(255,107,0,.3);border-radius:var(--r-sm);padding:.35rem .6rem}
.nfc-days{font-family:var(--font-display);font-size:1.4rem;color:var(--saffron-lt);font-weight:700;line-height:1}
.nfc-days span{display:block;font-size:.6rem;font-family:var(--font-body);color:rgba(253,246,227,.4);text-transform:uppercase;letter-spacing:.05em}
.nfc-row + a{font-size:.78rem;color:var(--gold-lt);transition:color .2s}
.nfc-row + a:hover{color:var(--gold)}

/* SECTION HEADERS */
.sh-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:1.75rem;flex-wrap:wrap;gap:.75rem}
.sh-left{display:flex;flex-direction:column;gap:.4rem}
.sh-left h2{margin:0}
.sh-more{font-size:.85rem;color:var(--saffron);font-weight:600;transition:color .2s;white-space:nowrap}
.sh-more:hover{color:var(--saffron-dark)}
.sh-row--dark h2{color:var(--cream)}

/* STREAMS HOME GRID */
.streams-home-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.shg-card{background:#fff;border:1px solid var(--border-soft);border-radius:var(--r-lg);overflow:hidden;transition:all .3s;box-shadow:var(--shadow-sm)}
.shg-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--saffron)}
.shg-card--feat{grid-column:span 2;grid-row:span 2}
.shg-thumb{position:relative;height:160px;overflow:hidden}
.shg-card--feat .shg-thumb{height:100%}
.shg-thumb img{height:100%;transition:transform .4s}
.shg-card:hover .shg-thumb img{transform:scale(1.04)}
.shg-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,15,0,.7) 0%,transparent 50%)}
.shg-live-badge{position:absolute;top:.65rem;left:.65rem;background:#e53e3e;color:#fff;font-size:.65rem;font-weight:800;padding:.2rem .55rem;border-radius:50px;display:flex;align-items:center;gap:.3rem}
.shg-live-badge span{width:5px;height:5px;background:#fff;border-radius:50%;animation:pulseLive 1.2s ease infinite}
.shg-viewers{position:absolute;bottom:.65rem;right:.65rem;background:rgba(0,0,0,.65);color:#fff;font-size:.7rem;padding:.2rem .55rem;border-radius:50px;backdrop-filter:blur(4px)}
.shg-info{padding:1rem 1.1rem}
.shg-city{font-size:.7rem;font-weight:700;color:var(--saffron);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.2rem}
.shg-card h3{font-size:.95rem;margin-bottom:.15rem}
.shg-card--feat h3{font-size:1.2rem}
.shg-deity{font-size:.75rem;color:var(--text-soft)}

/* PUJA FEATURE */
.section--puja{background:linear-gradient(135deg,var(--gold-pale) 0%,var(--saffron-pale) 100%);border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}
.puja-feature{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.pf-text h2{margin:.5rem 0 1rem}
.pf-text p{color:var(--text-mid);margin-bottom:1.5rem}
.pf-cards{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.pf-mini{background:#fff;border:1px solid var(--border-soft);border-radius:var(--r);padding:1rem;display:flex;flex-direction:column;gap:.2rem;transition:all .25s;box-shadow:var(--shadow-sm)}
.pf-mini:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.pf-mini>span:first-child{font-size:1.5rem}
.pf-mini strong{font-size:.9rem;color:var(--dark)}
.pf-mini-hindi{font-family:var(--font-hindi);font-size:.75rem;color:var(--text-soft)}
.pf-mini-price{font-size:.78rem;font-weight:700;color:var(--gold);margin-top:.25rem}

/* FESTIVALS HOME GRID */
.festivals-home-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.fhg-card{background:#fff;border:1px solid var(--border-soft);border-top:3px solid var(--accent,var(--saffron));border-radius:var(--r);padding:1.25rem;transition:all .25s;box-shadow:var(--shadow-sm)}
.fhg-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.fhg-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.6rem}
.fhg-icon{font-size:1.8rem}
.fhg-days{background:rgba(255,107,0,.1);color:var(--saffron);font-size:.72rem;font-weight:800;padding:.2rem .5rem;border-radius:50px;border:1px solid rgba(255,107,0,.2)}
.fhg-date{font-size:.7rem;color:var(--text-soft);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}
.fhg-name{font-family:var(--font-display);font-size:1.05rem;font-weight:600;line-height:1.25;margin-bottom:.15rem}
.fhg-hindi{font-family:var(--font-hindi);color:var(--saffron);font-size:.82rem;margin-bottom:.25rem}
.fhg-deity{font-size:.75rem;color:var(--text-soft);margin-bottom:.6rem}
.fhg-cities{display:flex;flex-wrap:wrap;gap:.3rem}
.fhg-cities span{background:var(--saffron-pale);color:var(--saffron);font-size:.65rem;font-weight:600;padding:.15rem .5rem;border-radius:50px}

/* SANKALP FEATURE */
.section--sankalp-feat{background:var(--dark)}
.sankalp-feat-inner{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.sfi-left h2{color:var(--cream);margin:.5rem 0 1rem}
.sfi-left p{color:rgba(253,246,227,.6);margin-bottom:1.25rem}
.sfi-points{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.5rem}
.sfi-points li{color:rgba(253,246,227,.7);font-size:.88rem}
.sankalp-cert-preview{background:rgba(255,255,255,.04);border:1px solid rgba(200,146,42,.3);border-radius:var(--r-lg);overflow:hidden}
.scp-header{background:linear-gradient(135deg,var(--saffron),var(--gold));color:#fff;padding:.9rem 1.25rem;text-align:center;font-family:var(--font-hindi);font-size:.95rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.75rem}
.scp-body{padding:1rem 1.25rem}
.scp-row{display:flex;gap:.75rem;padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.07)}
.scp-row:last-child{border-bottom:none}
.scp-row span{font-size:.72rem;color:rgba(253,246,227,.35);width:70px;flex-shrink:0}
.scp-row strong{font-size:.85rem;color:var(--cream);font-weight:500}
.scp-footer{padding:.65rem 1.25rem;background:rgba(200,146,42,.07);font-size:.72rem;color:rgba(253,246,227,.35);text-align:center}

/* DAILY SECTION */
.section--dark-alt{background:#1a0e00}
.daily-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem}
.daily-card{background:rgba(255,255,255,.05);border:1px solid rgba(200,146,42,.18);border-radius:var(--r);padding:1.25rem;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;transition:all .25s}
.daily-card:hover{background:rgba(200,146,42,.08);border-color:rgba(200,146,42,.35);transform:translateY(-2px)}
.dc-icon{font-size:2rem;margin-bottom:.25rem}
.dc-name{font-family:var(--font-display);font-size:1rem;color:var(--cream);font-weight:600}
.dc-hindi{font-family:var(--font-hindi);color:var(--saffron-lt);font-size:.82rem}
.dc-city{font-size:.72rem;color:rgba(253,246,227,.35);text-transform:uppercase;letter-spacing:.06em;margin-top:.25rem}
.dc-live-tag{display:flex;align-items:center;gap:.35rem;font-size:.68rem;font-weight:700;color:#ff8080;margin-top:.4rem}
.dc-live-tag span{width:6px;height:6px;background:#ff3333;border-radius:50%;animation:pulseLive 1.3s ease infinite}

/* DAAN HOME */
.daan-home-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:3rem;align-items:center}
.dhr-left h2{margin:.5rem 0 1rem}
.dhr-left p{color:var(--text-mid);margin-bottom:1.25rem}
.daan-tiers-preview{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}
.daan-tiers-preview span{background:var(--gold-pale);border:1px solid rgba(200,146,42,.3);color:var(--gold);padding:.3rem .75rem;border-radius:50px;font-size:.82rem;font-weight:700}
.dhr-right{background:#fff;border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}
.dhr-cause{margin-bottom:1rem}
.dhr-cause:last-child{margin-bottom:0}
.dhr-cause-top{display:flex;justify-content:space-between;font-size:.82rem;font-weight:600;color:var(--text-mid);margin-bottom:.35rem}
.dhr-bar{height:7px;background:var(--border);border-radius:50px;overflow:hidden}
.dhr-bar div{height:100%;background:linear-gradient(90deg,var(--saffron),var(--gold));border-radius:50px}

/* TRUST BAR */
.trust-bar{background:var(--cream);border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);padding:1.5rem 0}
.trust-bar-inner{display:flex;align-items:center;justify-content:center;gap:2rem;flex-wrap:wrap}
.tb-item{display:flex;align-items:center;gap:.75rem}
.tb-item span{font-size:1.5rem}
.tb-item strong{display:block;font-size:.85rem;color:var(--dark)}
.tb-item span+div span{font-size:.75rem;color:var(--text-soft)}
.tb-sep{width:1px;height:36px;background:var(--border)}

/* PAGE HEROES */
.page-hero{background:var(--dark);padding:4rem 0 3rem;border-bottom:1px solid rgba(200,146,42,.15)}
.page-hero--dark{background:linear-gradient(135deg,var(--dark) 0%,#2a0800 100%)}
.page-hero--sankalp{background:linear-gradient(135deg,#1a0030 0%,var(--dark) 100%)}
.page-hero--daan{background:linear-gradient(135deg,#1a1000 0%,var(--dark-mid) 100%)}
.page-hero--puja{background:linear-gradient(135deg,var(--dark-mid) 0%,#2a1500 100%)}
.page-hero h1{color:#fff;margin-bottom:.75rem}
.page-hero p{color:rgba(253,246,227,.6);max-width:560px;font-size:1.05rem}
.ph-breadcrumb{font-size:.75rem;color:rgba(253,246,227,.3);margin-bottom:.75rem}
.ph-breadcrumb a{color:rgba(200,146,42,.6)}
.ph-breadcrumb a:hover{color:var(--gold-lt)}
.ph-hindi{display:block;font-family:var(--font-hindi);font-size:.5em;color:var(--gold-lt);font-weight:400;margin-top:.15rem}
.ph-year{font-family:var(--font-body);font-size:.4em;color:rgba(253,246,227,.3);font-weight:400;margin-left:.5rem}
.ph-trust-row{display:flex;gap:1.25rem;flex-wrap:wrap;margin-top:1.25rem}
.ph-trust-row span{font-size:.78rem;color:rgba(200,146,42,.7);font-weight:500}

/* PANCHANG FULL */
.panchang-full{background:linear-gradient(135deg,#1c0e00 0%,#2a1500 100%);border:1px solid rgba(200,146,42,.25);border-radius:var(--r-lg);padding:1.75rem;box-shadow:var(--shadow-md)}
.pf-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}
.panchang-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.pg-item{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:var(--r);padding:.9rem 1rem}
.pg-item--vara{border-color:rgba(200,146,42,.25);background:rgba(200,146,42,.07)}
.pg-item--sun{grid-column:span 2}
.pg-label{font-size:.65rem;color:rgba(253,246,227,.35);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.3rem}
.pg-value{font-family:var(--font-display);font-size:1.1rem;color:var(--cream);font-weight:600}
.pg-sub{font-size:.72rem;color:rgba(200,146,42,.6);margin-top:.15rem;font-family:var(--font-hindi)}

/* CALENDAR FILTER */
.cal-filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.75rem 1.25rem;background:#fff;border:1px solid var(--border-soft);border-radius:var(--r);box-shadow:var(--shadow-sm)}
.cfb-label{font-size:.75rem;font-weight:700;color:var(--text-soft);text-transform:uppercase;letter-spacing:.06em;margin-right:.25rem}
.cfb-pills{display:flex;flex-wrap:wrap;gap:.4rem}
.cfb-pill{padding:.3rem .75rem;border-radius:50px;font-size:.78rem;font-weight:500;border:1px solid var(--border);color:var(--text-mid);transition:all .2s}
.cfb-pill:hover,.cfb-pill.active{background:var(--saffron);color:#fff;border-color:var(--saffron)}
.cal-section-heading{font-size:1.4rem;margin-bottom:1.25rem;padding-bottom:.5rem;border-bottom:2px solid var(--saffron-pale)}

/* CALENDAR TIMELINE V2 */
.cal-timeline-v2{display:flex;flex-direction:column;gap:1.25rem}
.ctv2-item{display:grid;grid-template-columns:60px 1fr;gap:1.5rem}
.ctv2-marker{display:flex;flex-direction:column;align-items:center;gap:0}
.ctv2-icon{width:60px;height:60px;border-radius:50%;background:#fff;border:3px solid var(--accent,var(--saffron));display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:var(--shadow-sm);flex-shrink:0;z-index:1}
.ctv2-line{flex:1;width:2px;background:var(--border);margin:0 auto}
.ctv2-card{background:#fff;border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:1.5rem;box-shadow:var(--shadow-sm);margin-bottom:.25rem}
.ctv2-date-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.4rem;flex-wrap:wrap}
.ctv2-date{font-size:.78rem;font-weight:700;color:var(--saffron);text-transform:uppercase;letter-spacing:.06em}
.ctv2-countdown{background:var(--saffron-pale);color:var(--saffron);font-size:.72rem;font-weight:700;padding:.2rem .6rem;border-radius:50px;border:1px solid rgba(255,107,0,.2)}
.ctv2-countdown--urgent{background:rgba(220,38,38,.1);color:#dc2626;border-color:rgba(220,38,38,.25)}
.ctv2-name{font-size:1.3rem;margin:.1rem 0 .25rem}
.ctv2-hindi{font-family:var(--font-hindi);color:var(--text-soft);font-size:.82rem;font-weight:400;margin-left:.5rem}
.ctv2-deity{font-size:.8rem;color:var(--text-soft);margin-bottom:.5rem}
.ctv2-desc{color:var(--text-mid);font-size:.88rem;margin-bottom:.5rem}
.ctv2-sig{color:var(--text-soft);font-size:.82rem;font-style:italic;margin-bottom:.75rem;padding:.6rem .9rem;background:var(--cream);border-radius:var(--r-sm);border-left:2px solid var(--saffron)}
.ctv2-rituals{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem}
.ctv2-rituals strong{display:block;width:100%;font-size:.78rem;color:var(--text-mid);margin-bottom:.25rem}
.ctv2-rituals span{background:var(--cream);border:1px solid var(--border);color:var(--text-mid);font-size:.72rem;padding:.2rem .55rem;border-radius:50px}
.ctv2-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding-top:.75rem;border-top:1px solid var(--border-soft)}
.ctv2-cities{display:flex;flex-wrap:wrap;gap:.3rem}
.ctv2-cities span{background:var(--saffron-pale);color:var(--saffron);font-size:.68rem;font-weight:600;padding:.15rem .5rem;border-radius:50px}
.ctv2-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.cal-daily-cards{display:flex;flex-direction:column;gap:1rem}
.cdc-card{display:grid;grid-template-columns:auto 1fr auto;gap:1.25rem;align-items:start;background:#fff;border-left:4px solid;border-radius:0 var(--r) var(--r) 0;padding:1.25rem;box-shadow:var(--shadow-sm);border-top:1px solid var(--border-soft);border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}
.cdc-icon{font-size:2rem}
.cdc-name{font-family:var(--font-display);font-size:1.15rem;font-weight:600}
.cdc-hindi{font-family:var(--font-hindi);color:var(--saffron);font-size:.85rem;margin-bottom:.2rem}
.cdc-deity{font-size:.75rem;color:var(--text-soft);margin-bottom:.4rem}
.cdc-desc{color:var(--text-mid);font-size:.85rem;margin:.4rem 0}
.cdc-rituals{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}
.cdc-rituals span{background:var(--cream);border:1px solid var(--border);color:var(--text-mid);font-size:.7rem;padding:.15rem .5rem;border-radius:50px}
.cdc-actions{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0}
.cal-past-grid-v2{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}
.cpg2-item{display:flex;align-items:center;gap:.65rem;background:var(--cream);border:1px solid var(--border-soft);padding:.75rem 1rem;border-radius:var(--r);font-size:.85rem;transition:all .2s}
.cpg2-item:hover{border-color:var(--saffron);background:var(--saffron-pale)}
.cpg2-item>span{font-size:1.4rem}
.cpg2-item strong{display:block;font-size:.85rem}
.cpg2-item span+div span{display:block;font-family:var(--font-hindi);font-size:.75rem;color:var(--saffron)}
.cpg2-date{font-size:.72rem;color:var(--text-soft);margin-top:.1rem}

/* FESTIVAL DETAIL */
.fd-hero-row{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.fd-hero-icon{font-size:4rem;line-height:1}
.fd-hindi{font-family:var(--font-hindi);color:var(--gold-lt);font-size:1.1rem;margin:.25rem 0}
.fd-meta{display:flex;gap:1rem;flex-wrap:wrap;font-size:.82rem;color:rgba(253,246,227,.55);margin-top:.5rem}
.fd-countdown{background:rgba(255,107,0,.2);color:var(--saffron-lt);padding:.2rem .6rem;border-radius:50px;font-weight:700}
.fd-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:2.5rem;align-items:start}
.fd-main{display:flex;flex-direction:column;gap:0}
.fd-block{margin-bottom:2rem}
.fd-block h2{font-size:1.4rem;margin-bottom:.6rem}
.fd-block p{color:var(--text-mid);line-height:1.7}
.fd-rituals-list{display:flex;flex-direction:column;gap:.35rem}
.fd-rituals-list li{color:var(--text-mid);font-size:.9rem;padding:.35rem 0;border-bottom:1px solid var(--border-soft)}
.fd-rituals-list li::before{content:"→ ";color:var(--saffron)}
.fd-mantra-block{background:var(--dark);border-radius:var(--r);padding:1.5rem;margin-bottom:2rem;text-align:center}
.fd-mantra-label{font-size:.7rem;font-weight:700;color:rgba(253,246,227,.35);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.6rem}
.fd-mantra{font-family:var(--font-hindi);font-size:1.3rem;color:var(--gold-lt);line-height:1.6}
.fd-cta-row{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.fd-side-card{background:#fff;border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:1.25rem;box-shadow:var(--shadow-sm);margin-bottom:1.25rem}
.fd-side-card h3{font-size:1rem;margin-bottom:.75rem;padding-bottom:.4rem;border-bottom:1px solid var(--border-soft)}
.fsc-row{display:flex;justify-content:space-between;padding:.4rem 0;border-bottom:1px solid var(--border-soft);font-size:.82rem}
.fsc-row:last-child{border-bottom:none}
.fsc-row span{color:var(--text-soft)}
.fsc-row strong{color:var(--dark);font-weight:500;text-align:right}
.fd-city-list{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}
.fd-city-list span{background:var(--saffron-pale);color:var(--saffron);font-size:.72rem;font-weight:600;padding:.2rem .55rem;border-radius:50px}
.fsc-cause-link{display:block;padding:.4rem 0;font-size:.82rem;color:var(--gold);border-bottom:1px solid var(--border-soft)}
.fd-related-item{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--border-soft)}
.fd-related-item:last-child{border-bottom:none}
.fd-related-item span{font-size:1.4rem}
.fd-related-item strong{display:block;font-size:.85rem}
.fd-related-item div span{font-size:.72rem;color:var(--text-soft)}

/* DARSHAN PAGE */
.city-filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.cfb-city{padding:.4rem 1rem;border-radius:50px;font-size:.8rem;font-weight:600;border:1.5px solid var(--border);color:var(--text-mid);transition:all .2s}
.cfb-city:hover,.cfb-city.active{background:var(--saffron);color:#fff;border-color:var(--saffron)}
.stream-section-head{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}
.stream-section-head h2{font-size:1.5rem}
.streams-grid-page{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}
.sgp-card{background:#fff;border:1px solid var(--border-soft);border-radius:var(--r-lg);overflow:hidden;transition:all .3s;box-shadow:var(--shadow-sm)}
.sgp-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--saffron)}
.sgp-card--feat{grid-column:span 2}
.sgp-thumb{position:relative;height:190px;overflow:hidden}
.sgp-card--feat .sgp-thumb{height:260px}
.sgp-thumb img{height:100%;transition:transform .4s}
.sgp-card:hover .sgp-thumb img{transform:scale(1.04)}
.sgp-live{position:absolute;top:.65rem;left:.65rem;background:#e53e3e;color:#fff;font-size:.65rem;font-weight:800;padding:.2rem .55rem;border-radius:50px;display:flex;align-items:center;gap:.3rem}
.sgp-live span{width:5px;height:5px;background:#fff;border-radius:50%;animation:pulseLive 1.2s ease infinite}
.sgp-offline{position:absolute;top:.65rem;left:.65rem;background:rgba(0,0,0,.55);color:#ccc;font-size:.65rem;padding:.2rem .55rem;border-radius:50px}
.sgp-viewers{position:absolute;bottom:.65rem;right:.65rem;background:rgba(0,0,0,.65);color:#fff;font-size:.7rem;padding:.2rem .55rem;border-radius:50px;backdrop-filter:blur(4px)}
.sgp-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:#fff;opacity:0;background:rgba(255,107,0,.25);transition:opacity .3s}
.sgp-card:hover .sgp-play{opacity:1}
.sgp-info{padding:1.1rem}
.sgp-city{font-size:.68rem;font-weight:700;color:var(--saffron);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.25rem}
.sgp-info h3{font-size:1rem;margin-bottom:.2rem}
.sgp-card--feat .sgp-info h3{font-size:1.2rem}
.sgp-hindi{font-family:var(--font-hindi);color:var(--text-soft);font-size:.82rem;margin-bottom:.35rem}
.sgp-info p{color:var(--text-mid);font-size:.82rem;line-height:1.5;margin-bottom:.35rem}
.sgp-schedule{font-size:.75rem;color:var(--text-soft)}

/* PUJA SEWA PAGE */
.how-it-works{display:flex;align-items:center;gap:1rem;background:var(--gold-pale);border:1px solid rgba(200,146,42,.2);border-radius:var(--r-lg);padding:1.25rem 1.5rem;flex-wrap:wrap}
.hiw-step{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;min-width:100px}
.hiw-num{width:32px;height:32px;border-radius:50%;background:var(--gold);color:#fff;font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center;margin-bottom:.4rem}
.hiw-step strong{font-size:.85rem;font-weight:600;display:block}
.hiw-step span{font-size:.75rem;color:var(--text-soft)}
.hiw-arrow{color:var(--gold-lt);font-size:1.25rem;flex-shrink:0}
/* ── PUJA BROWSE CONTROLS (search + category filter) ──── */
/* ── AI PUJA FINDER ─────────────────────────────────────── */
.ai-finder-card{position:relative;background:linear-gradient(135deg,#1A0F00,#2a1810);border:1px solid rgba(200,146,42,.45);border-radius:var(--r-lg);padding:1.75rem;margin-bottom:1.75rem;overflow:hidden;animation:aiCardGlow 3.5s ease-in-out infinite}
.ai-finder-card::before{content:'';position:absolute;inset:-2px;border-radius:var(--r-lg);padding:2px;background:linear-gradient(120deg,transparent,rgba(255,193,90,.55),transparent);background-size:250% 250%;animation:aiBorderSheen 4.5s linear infinite;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
@keyframes aiCardGlow{0%,100%{box-shadow:0 0 0 rgba(255,140,20,0)}50%{box-shadow:0 0 28px rgba(255,140,20,.22)}}
@keyframes aiBorderSheen{0%{background-position:0% 0%}100%{background-position:250% 250%}}
.ai-finder-badge{display:inline-block;margin-bottom:.75rem;background:rgba(255,193,90,.15);border:1px solid rgba(255,193,90,.5);color:#ffd68a;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.25rem .6rem;border-radius:50px}
.ai-finder-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}
.ai-finder-icon{font-size:1.6rem;flex-shrink:0;animation:aiIconPulse 2.2s ease-in-out infinite}
@keyframes aiIconPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.ai-finder-header h3{color:#FDF6E3;font-size:1.1rem;margin-bottom:.25rem}
.ai-finder-header p{color:rgba(253,246,227,.55);font-size:.85rem;line-height:1.5;margin:0}
.ai-finder-textarea{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(200,146,42,.25);color:#FDF6E3;margin-bottom:.85rem;resize:vertical}
.ai-finder-textarea::placeholder{color:rgba(253,246,227,.3)}
/* ── AI FINDER PROGRESS BAR ─────────────────────────────── */
.ai-finder-progress{margin-top:1rem}
.ai-progress-track{width:100%;height:6px;background:rgba(255,255,255,.08);border-radius:50px;overflow:hidden}
.ai-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,#FF6B00,#C8922A);border-radius:50px;transition:width .5s ease}
.ai-progress-label{font-size:.78rem;color:rgba(253,246,227,.5);margin-top:.55rem;text-align:center;transition:opacity .2s ease}

.ai-finder-results{margin-top:1.25rem;display:flex;flex-direction:column;gap:.75rem}
.ai-result-card{display:flex;align-items:center;gap:.85rem;background:rgba(255,255,255,.05);border:1px solid rgba(200,146,42,.2);border-radius:var(--r);padding:1rem 1.1rem;cursor:pointer;transition:all .2s}
.ai-result-card:hover{background:rgba(200,146,42,.1);border-color:var(--saffron)}
.ai-result-icon{font-size:1.6rem;flex-shrink:0}
.ai-result-body{flex:1;min-width:0}
.ai-result-body strong{color:#FDF6E3;font-size:.95rem}
.ai-result-price{color:#C8922A;font-size:.82rem;font-weight:600;margin-left:.5rem}
.ai-result-body p{color:rgba(253,246,227,.6);font-size:.82rem;margin:.3rem 0 0;line-height:1.5}
.ai-result-arrow{color:var(--saffron);font-size:1.2rem;flex-shrink:0}
.ai-finder-no-match{color:rgba(253,246,227,.6);font-size:.88rem;line-height:1.6}
.ai-finder-note{color:rgba(253,246,227,.45);font-size:.8rem;font-style:italic;margin-top:.5rem}
.ai-finder-error{color:#f87171;font-size:.85rem;margin-top:.85rem;background:rgba(220,38,38,.1);border:1px solid rgba(220,38,38,.25);border-radius:8px;padding:.75rem 1rem}
.puja-card--highlighted{animation:pujaHighlightPulse 2s ease}
@keyframes pujaHighlightPulse{0%,100%{box-shadow:none}30%{box-shadow:0 0 0 3px var(--saffron)}}

.puja-browse-controls{margin-bottom:1.5rem}
.puja-search-input{width:100%;padding:.85rem 1.1rem;font-size:.95rem;margin-bottom:1rem;border-radius:50px}
.puja-category-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}
.cat-chip{background:#fff;border:1px solid var(--border-soft);color:var(--text-mid);padding:.45rem 1rem;border-radius:50px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}
.cat-chip:hover{border-color:var(--saffron);color:var(--saffron)}
.cat-chip--active{background:var(--saffron);border-color:var(--saffron);color:#fff}
.puja-count-note{font-size:.8rem;color:var(--text-soft)}

/* ── COMPACT/EXPANDABLE PUJA CARD ──────────────────────── */
.puja-card-header--clickable{cursor:pointer;user-select:none}
.puja-card-header--clickable:hover{opacity:.85}
.puja-one-liner{font-size:.78rem;color:var(--text-soft);margin-top:.25rem;line-height:1.4}
.puja-expand-icon{font-size:1.1rem;color:var(--saffron);margin-top:.3rem;text-align:center}
.puja-details-wrap{animation:pujaFormReveal .2s ease}

.pujas-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:2rem;align-items:start}
.pujas-list h2{margin-bottom:1.25rem}
.puja-card{background:#fff;border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:1.75rem;box-shadow:var(--shadow-sm);margin-bottom:1.75rem;width:100%;max-width:100%;min-width:0}
.puja-card:last-child{margin-bottom:0}
.puja-card-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:.75rem}
.puja-icon{font-size:2.25rem;flex-shrink:0;line-height:1}
.puja-title-group h3{font-size:1.3rem;margin-bottom:.2rem}
.puja-hindi{font-family:var(--font-hindi);color:var(--saffron);font-size:.88rem}
.puja-meta-right{margin-left:auto;text-align:right;flex-shrink:0}
.puja-price{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--gold)}
.puja-duration{font-size:.75rem;color:var(--text-soft);margin-top:.1rem}
.puja-desc{color:var(--text-mid);margin-bottom:1rem;font-size:.9rem}
.puja-includes{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}
.puja-includes strong{display:block;width:100%;font-size:.75rem;color:var(--text-mid);font-weight:600;margin-bottom:.2rem}
.puja-includes span{background:rgba(22,163,74,.08);border:1px solid rgba(22,163,74,.2);color:#15803d;font-size:.72rem;padding:.2rem .55rem;border-radius:50px}
.puja-prasad-tag{background:rgba(236,72,153,.07);border:1px solid rgba(236,72,153,.2);color:#be185d;font-size:.75rem;padding:.3rem .75rem;border-radius:50px;display:inline-block;margin-bottom:.75rem}

/* ── PUJA SLOT STATUS (group booking) ──────────────────── */
.puja-slot-status{background:var(--gold-pale);border:1px solid rgba(200,146,42,.25);border-radius:var(--r);padding:.85rem 1rem;margin-bottom:.75rem}
.puja-slot-progress-row{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;color:var(--text-mid);flex-wrap:wrap;gap:.3rem}
.puja-slot-closes{font-size:.75rem;color:var(--text-soft)}
.puja-slot-countdown-label{font-size:.78rem;color:var(--text-mid);font-weight:600;margin:.75rem 0 .4rem}
.puja-slot-countdown{display:flex;gap:.5rem}
.psc-unit{background:#fff;border:1px solid rgba(200,146,42,.3);border-radius:10px;padding:.5rem .3rem;flex:1;text-align:center;min-width:0}
.psc-num{display:block;font-size:1.4rem;font-weight:800;color:var(--saffron);line-height:1.1;font-variant-numeric:tabular-nums}
.psc-label{display:block;font-size:.62rem;color:var(--text-soft);text-transform:uppercase;letter-spacing:.03em;margin-top:.15rem}
.puja-slot-countdown.psc-closing .psc-num{color:#dc2626}
.puja-book-form{border-top:1px solid var(--border-soft);padding-top:1.25rem;margin-top:.75rem}
.puja-form-wrap{animation:pujaFormReveal .25s ease}
@keyframes pujaFormReveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.pbf-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.puja-sidebar{position:sticky;top:80px;display:flex;flex-direction:column;gap:1rem}
.ps-card{background:#fff;border:1px solid var(--border-soft);border-radius:var(--r);padding:1.25rem;box-shadow:var(--shadow-sm)}
.ps-card h3{font-size:1rem;margin-bottom:.6rem;padding-bottom:.4rem;border-bottom:1px solid var(--border-soft)}
.ps-card p{font-size:.82rem;color:var(--text-mid)}
.ps-card ul{display:flex;flex-direction:column;gap:.3rem}
.ps-card li{font-size:.82rem;color:var(--text-mid)}
.ps-card--saffron{background:var(--saffron-pale);border-color:rgba(255,107,0,.2)}
.ps-date-item{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--border-soft)}
.ps-date-item:last-child{border-bottom:none}
.ps-date-item>span{font-size:1.3rem}
.ps-date-item strong{display:block;font-size:.82rem}
.ps-date-item span+div span{font-size:.72rem;color:var(--text-soft)}
.ps-days{background:var(--saffron-pale);color:var(--saffron);font-size:.65rem;font-weight:700;padding:.15rem .45rem;border-radius:50px;margin-left:.3rem}

/* BOOKING SUCCESS */
.booking-success{max-width:640px;margin:0 auto;text-align:center}
.bs-icon{font-size:4rem;margin-bottom:1rem}

/* SANKALP PAGE */
.sankalp-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:2.5rem;align-items:start}
.sankalp-form-side{}
.sankalp-explainer{background:var(--gold-pale);border:1px solid rgba(200,146,42,.2);border-radius:var(--r);padding:1.25rem;margin-bottom:1.5rem;font-size:.9rem;color:var(--text-mid)}
.sankalp-explainer h3{font-size:1rem;margin-bottom:.4rem}
.event-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}
.event-pick-item input{display:none}
.epi-card{display:flex;flex-direction:column;gap:.15rem;padding:.75rem;border:1.5px solid var(--border);border-radius:var(--r);cursor:pointer;transition:all .2s;background:#fff}
.event-pick-item input:checked + .epi-card{border-color:var(--saffron);background:var(--saffron-pale)}
.epi-card:hover{border-color:var(--saffron)}
.epi-icon{font-size:1.3rem}
.epi-name{font-size:.82rem;font-weight:600;line-height:1.3}
.epi-hindi{font-family:var(--font-hindi);font-size:.72rem;color:var(--text-soft)}
.epi-live{background:#e53e3e;color:#fff;font-size:.6rem;font-weight:700;padding:.1rem .4rem;border-radius:3px;align-self:flex-start;margin-top:.1rem}
.sankalp-info-side{display:flex;flex-direction:column;gap:1rem;position:sticky;top:80px}
.mantra-block{font-family:var(--font-hindi);font-size:.95rem;color:var(--dark-mid);background:var(--cream);border-left:3px solid var(--saffron);padding:.75rem 1rem;border-radius:0 var(--r-sm) var(--r-sm) 0;line-height:1.7;margin:.5rem 0}

/* DAAN PAGE */
.daan-page-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:2rem;align-items:start}
.daan-causes-col h2{margin-bottom:1.25rem}
.cause-card-v2{background:#fff;border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:1.75rem;margin-bottom:1.75rem;box-shadow:var(--shadow-sm)}
.cause-card-v2:last-child{margin-bottom:0}
.ccv2-header{display:flex;align-items:center;gap:1rem;margin-bottom:.6rem}
.ccv2-icon{font-size:2.25rem}
.ccv2-header h3{font-size:1.3rem;margin-bottom:.15rem}
.ccv2-hindi{font-family:var(--font-hindi);color:var(--saffron);font-size:.85rem}
.ccv2-desc{color:var(--text-mid);margin-bottom:1rem;font-size:.9rem}
.ccv2-progress{margin-bottom:1.25rem}
.ccv2-bar{height:8px;background:var(--border);border-radius:50px;overflow:hidden;margin-bottom:.35rem}
.ccv2-bar div{height:100%;background:linear-gradient(90deg,var(--saffron),var(--gold));border-radius:50px}
.ccv2-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-soft)}
.cause-form-v2{border-top:1px solid var(--border-soft);padding-top:1.25rem}
.cf-tiers{margin-bottom:.75rem}
.cf-tiers-label{font-size:.78rem;font-weight:600;color:var(--text-mid);display:block;margin-bottom:.4rem}
.cf-tier-row{display:flex;flex-wrap:wrap;gap:.4rem}
.cf-tier input{display:none}
.cf-tier span{display:inline-block;padding:.4rem .9rem;border:1.5px solid var(--border);border-radius:50px;cursor:pointer;font-size:.82rem;font-weight:600;color:var(--text-mid);transition:all .15s}
.cf-tier input:checked + span{border-color:var(--gold);background:var(--gold-pale);color:var(--gold)}
.cf-tier span:hover{border-color:var(--gold)}
.daan-sidebar-col{position:sticky;top:80px;display:flex;flex-direction:column;gap:1rem}
.ds-card{background:#fff;border:1px solid var(--border-soft);border-radius:var(--r);padding:1.25rem;box-shadow:var(--shadow-sm)}
.ds-card h3{font-size:1rem;margin-bottom:.5rem;padding-bottom:.4rem;border-bottom:1px solid var(--border-soft)}
.ds-card ul{display:flex;flex-direction:column;gap:.3rem}
.ds-card li{font-size:.82rem;color:var(--text-mid)}
.ds-card--saffron{background:var(--saffron-pale);border-color:rgba(255,107,0,.2)}

/* SANKALP SUCCESS + CERTIFICATE */
.sankalp-success{max-width:640px;margin:0 auto;text-align:center}
.success-icon{font-size:3.5rem;margin-bottom:1rem;filter:drop-shadow(0 0 10px rgba(255,140,0,.4))}
.sankalp-success>p{color:var(--text-mid);margin-bottom:2rem}
.sankalp-certificate{background:var(--dark);border:1px solid rgba(200,146,42,.35);border-radius:var(--r-lg);overflow:hidden;text-align:left;box-shadow:var(--shadow-lg)}
.cert-header{background:linear-gradient(135deg,var(--saffron),var(--gold));padding:1rem 1.5rem;display:flex;align-items:center;justify-content:center;gap:1rem;color:#fff;font-size:1.3rem}
.cert-header h3{font-size:1.1rem;color:#fff;font-weight:600}
.cert-body{padding:1.1rem 1.5rem}
.cert-row{display:flex;gap:1rem;padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.08)}
.cert-row:last-child{border-bottom:none}
.cert-row span{color:rgba(253,246,227,.4);font-size:.75rem;width:90px;flex-shrink:0;padding-top:.05rem}
.cert-row strong{color:var(--cream);font-weight:500;font-size:.88rem}
.cert-footer{padding:.65rem 1.5rem;background:rgba(200,146,42,.07);color:rgba(253,246,227,.35);font-size:.72rem;text-align:center}

/* FORM STYLES */
.form-section{margin-bottom:1.75rem}
.form-section h3{font-size:1rem;margin-bottom:.75rem;padding-bottom:.4rem;border-bottom:1px solid var(--border-soft)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.65rem}
.form-group label{font-size:.8rem;font-weight:600;color:var(--text-mid)}
.form-input{padding:.65rem .9rem;border:1.5px solid var(--border);border-radius:var(--r-sm);font-family:var(--font-body);font-size:.9rem;color:var(--text);background:#fff;transition:border-color .2s;width:100%}
.form-input:focus{outline:none;border-color:var(--saffron);box-shadow:0 0 0 3px rgba(255,107,0,.1)}
.form-textarea{resize:vertical;min-height:90px}
.form-select{appearance:none;cursor:pointer}
.form-note{color:var(--text-soft);font-size:.75rem;margin-top:.6rem;text-align:center}
.req{color:var(--saffron)}
.optional{color:var(--text-soft);font-weight:400}
.info-box{background:#fff;border:1px solid var(--border-soft);border-radius:var(--r);padding:1.25rem;box-shadow:var(--shadow-sm)}
.info-box h3{font-size:1rem;margin-bottom:.5rem}
.info-box p{color:var(--text-mid);font-size:.85rem;margin-bottom:.4rem}
.info-box ul{display:flex;flex-direction:column;gap:.3rem}
.info-box li{color:var(--text-mid);font-size:.85rem}
.info-box--saffron{background:var(--saffron-pale);border-color:rgba(255,107,0,.2)}

/* ABOUT PAGE */
.about-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:2.5rem;align-items:start}
.about-main h2{font-size:1.5rem;margin:2rem 0 .6rem}
.about-main h2:first-child{margin-top:0}
.about-main p{color:var(--text-mid);margin-bottom:.75rem}
.about-main ul{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem}
.about-main li{color:var(--text-mid);font-size:.9rem}
.about-main li::before{content:"→ ";color:var(--saffron)}
.roadmap-v2{display:flex;flex-direction:column;gap:0;border-left:2px solid var(--border);padding-left:1.5rem;margin:1rem 0}
.rmv2-phase{padding:.75rem 0 1.25rem;position:relative}
.rmv2-dot{position:absolute;left:-1.85rem;top:.75rem;width:28px;height:28px;border-radius:50%;background:var(--border);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff}
.rmv2-phase--now .rmv2-dot{background:var(--green)}
.rmv2-phase--next .rmv2-dot{background:var(--gold)}
.rmv2-phase h4{font-size:.95rem;margin-bottom:.2rem}
.rmv2-phase p{font-size:.85rem;color:var(--text-soft)}
.about-side{position:sticky;top:80px;display:flex;flex-direction:column;gap:1rem}

/* STREAM PAGE STYLES (kept from v2 + stream-daan-widget) */
.stream-page{padding:2rem 0 4rem}
.stream-page-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:2rem}
.video-outer{position:relative;border-radius:var(--r);overflow:hidden}
.video-embed{position:relative;padding-bottom:56.25%;background:#000;overflow:hidden}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%}
.video-embed--cropped::after{content:'';position:absolute;inset:0;background:transparent;z-index:1;pointer-events:none}

/* Crop technique: scale iframe up and shift so YouTube's title-card (top)
   and control bar (bottom) sit outside the visible viewport — even during
   the first few seconds before controls=0 fully takes effect.
   Used for LIVE streams only — VOD iframes keep normal pointer events
   so the user's clicks reach YouTube's native controls. */
.video-embed--cropped{overflow:hidden}
.video-embed--cropped iframe,
.video-embed--cropped > div > iframe,
.video-embed--cropped #ytPlayer iframe{
  width:calc(100% + 2px);
  height:calc(100% + 120px);
  top:-60px;
  left:-1px;
  pointer-events:none;
}
#ytPlayer{position:absolute;inset:0;width:100%;height:100%}

.live-indicator-bar{background:#cc1111;color:#fff;text-align:center;padding:.5rem;font-size:.82rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--r) var(--r) 0 0}
.live-pulse-dot{width:8px;height:8px;background:#ff6060;border-radius:50%;animation:pulseLive 1.3s ease infinite;box-shadow:0 0 5px #ff4040}

.unmute-btn{position:absolute;bottom:14px;right:14px;z-index:20;background:rgba(0,0,0,.65);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:50px;padding:.4rem .85rem;font-size:.78rem;font-weight:600;cursor:pointer;backdrop-filter:blur(4px);transition:background .2s}
.unmute-btn:hover{background:rgba(0,0,0,.8)}
.bubble-zone{position:absolute;inset:0;pointer-events:none;z-index:10;overflow:hidden}
.bubble{position:absolute;bottom:0;line-height:1;animation:bubbleRise 3s ease-out forwards;pointer-events:none;filter:drop-shadow(0 2px 5px rgba(0,0,0,.35))}
.bubble--big{animation:bubbleRiseBig 3s ease-out forwards}
@keyframes bubbleRise{0%{transform:translateY(0) scale(.5);opacity:0}10%{opacity:1;transform:translateY(-10px) scale(1)}80%{opacity:.85}100%{transform:translateY(-260px) translateX(var(--drift,0px)) scale(.7);opacity:0}}
@keyframes bubbleRiseBig{0%{transform:translateY(0) scale(.6);opacity:0}8%{opacity:1;transform:translateY(-12px) scale(1.2)}80%{opacity:.9}100%{transform:translateY(-300px) translateX(var(--drift,0px)) scale(.8);opacity:0}}
.reaction-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem;background:var(--dark);padding:.65rem 1rem;border-radius:0 0 var(--r) var(--r);margin-bottom:.9rem}
.reaction-label{font-size:.65rem;font-weight:700;color:rgba(253,246,227,.35);text-transform:uppercase;letter-spacing:.1em;margin-right:.25rem}
.reaction-bar-left,.reaction-bar-right{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.reaction-btn{background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.1);border-radius:50px;padding:.35rem .65rem;font-size:1.1rem;cursor:pointer;transition:all .15s;color:#fff;font-family:var(--font-hindi)}
.reaction-btn:hover{background:rgba(255,255,255,.15);transform:scale(1.15) translateY(-2px)}
.reaction-btn--active{transform:scale(1.3) translateY(-3px) !important;background:rgba(255,200,50,.2) !important}
.live-activity{background:var(--dark);border:1px solid rgba(200,146,42,.15);border-radius:var(--r);margin-bottom:1.5rem;overflow:hidden}
.activity-header{display:flex;align-items:center;gap:.5rem;padding:.55rem 1rem;font-size:.65rem;font-weight:700;color:rgba(253,246,227,.35);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid rgba(255,255,255,.05)}
.activity-feed{padding:.4rem 0;max-height:200px;overflow:hidden}
.activity-item{padding:.35rem 1rem;font-size:.8rem;color:rgba(253,246,227,.6);border-bottom:1px solid rgba(255,255,255,.04);animation:slideInActivity .3s ease forwards;line-height:1.4}
.activity-item strong{color:var(--cream);font-weight:600}
.activity-item--daan{color:rgba(232,168,56,.85)}
.activity-item--daan strong{color:var(--gold-lt)}
.activity-item--sankalp{color:rgba(255,160,80,.85)}
.activity-time{float:right;font-size:.68rem;color:rgba(253,246,227,.3)}
.activity-empty{padding:1.1rem 1rem;font-size:.8rem;color:rgba(253,246,227,.35);text-align:center;line-height:1.5}
@keyframes slideInActivity{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.stream-detail-info{margin-top:1.5rem}
.stream-city-tag{display:inline-block;background:var(--saffron-pale);color:var(--saffron);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.2rem .65rem;border-radius:50px;margin-bottom:.4rem}
.stream-page-title{font-size:1.7rem;margin:.2rem 0}
.stream-page-hindi{font-family:var(--font-hindi);color:var(--saffron);margin-bottom:.4rem;font-size:.95rem}
.stream-page-location,.stream-page-schedule{color:var(--text-soft);font-size:.85rem;margin-bottom:.2rem}
.stream-page-desc{color:var(--text-mid);margin:.9rem 0}
.stream-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1.1rem}
.tag{background:var(--cream);border:1px solid var(--border);color:var(--text-mid);padding:.2rem .6rem;border-radius:50px;font-size:.72rem}
.stream-actions{display:flex;gap:.75rem;flex-wrap:wrap}
.stream-sidebar{display:flex;flex-direction:column;gap:1.1rem}
.sidebar-widget{background:#fff;border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:1.4rem;box-shadow:var(--shadow-sm)}
.sidebar-widget h3{font-size:1rem;margin-bottom:.4rem}
.sidebar-widget p{color:var(--text-mid);font-size:.82rem;margin-bottom:.9rem}
.sankalp-widget{background:var(--saffron-pale);border-color:rgba(255,107,0,.2)}
.related-stream{display:flex;align-items:center;gap:.65rem;padding:.55rem 0;border-bottom:1px solid var(--border-soft)}
.related-stream:last-child{border-bottom:none}
.related-stream img{width:55px;height:42px;border-radius:var(--r-sm);flex-shrink:0;object-fit:cover}
.related-stream strong{display:block;font-size:.82rem;line-height:1.3}
.related-stream span{font-size:.72rem;color:var(--text-soft)}
.mini-live{background:#e53e3e;color:#fff;font-size:.6rem;padding:.1rem .4rem;border-radius:3px;margin-left:auto;flex-shrink:0}

/* STREAM DAAN WIDGET */
.stream-daan-widget{background:linear-gradient(160deg,#1c0d00 0%,#2e1500 100%);border:1px solid rgba(200,146,42,.35);border-radius:var(--r-lg);padding:1.5rem;box-shadow:0 8px 32px rgba(200,146,42,.15),0 2px 8px rgba(0,0,0,.3);position:relative;overflow:hidden}
.stream-daan-widget::before{content:'';position:absolute;top:-40px;right:-40px;width:130px;height:130px;background:radial-gradient(circle,rgba(200,146,42,.12) 0%,transparent 70%);pointer-events:none}
.sdw-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.85rem}
.sdw-flame{font-size:1.9rem;line-height:1;filter:drop-shadow(0 0 7px rgba(255,140,0,.6))}
.sdw-title{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--gold-lt);line-height:1.1}
.sdw-subtitle{font-family:var(--font-hindi);font-size:.72rem;color:rgba(232,168,56,.5);margin-top:.1rem}
.sdw-live-tag{margin-left:auto;background:#e53e3e;color:#fff;font-size:.6rem;font-weight:800;padding:.18rem .5rem;border-radius:50px;letter-spacing:.08em;animation:pulseLive 1.5s ease infinite;flex-shrink:0}
.sdw-desc{color:rgba(253,246,227,.5);font-size:.78rem;line-height:1.5;margin-bottom:1rem}
.sdw-desc strong{color:rgba(253,246,227,.8)}
.sdw-tiers-label{font-size:.62rem;font-weight:700;color:rgba(232,168,56,.45);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem}
.sdw-tiers{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.4rem;margin-bottom:.85rem}
.sdw-tier{background:rgba(255,255,255,.05);border:1.5px solid rgba(200,146,42,.2);border-radius:var(--r-sm);padding:.5rem .25rem;display:flex;flex-direction:column;align-items:center;gap:.1rem;cursor:pointer;transition:all .18s;color:var(--cream)}
.sdw-tier:hover{background:rgba(200,146,42,.12);border-color:rgba(200,146,42,.5);transform:translateY(-2px)}
.sdw-tier--active{background:rgba(200,146,42,.2) !important;border-color:var(--gold-lt) !important;box-shadow:0 0 0 2px rgba(232,168,56,.25)}
.sdw-tier--custom{grid-column:span 3;flex-direction:row;justify-content:center;gap:.5rem}
.sdw-tier-amt{font-family:var(--font-display);font-size:.9rem;font-weight:700;color:var(--cream);line-height:1}
.sdw-tier--active .sdw-tier-amt{color:var(--gold-lt)}
.sdw-tier-tag{font-size:.58rem;color:rgba(253,246,227,.35);font-weight:500}
.sdw-premium-tag{color:var(--gold-lt) !important;opacity:.8}
.sdw-prasad-badge{background:rgba(232,168,56,.1);border:1px solid rgba(232,168,56,.25);border-radius:var(--r-sm);padding:.5rem .7rem;font-size:.75rem;color:var(--gold-lt);margin-bottom:.85rem;display:none;line-height:1.4}
.sdw-prasad-badge--visible{display:block}
.sdw-give-btn{width:100%;padding:.9rem;background:linear-gradient(135deg,var(--gold) 0%,#a8761a 100%);border:none;border-radius:var(--r);color:#fff;font-family:var(--font-display);font-size:1.05rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 14px rgba(200,146,42,.35);margin-bottom:.65rem}
.sdw-give-btn:hover:not(:disabled){background:linear-gradient(135deg,#d9a030 0%,var(--gold) 100%);transform:translateY(-2px);box-shadow:0 6px 20px rgba(200,146,42,.5)}
.sdw-give-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}
.sdw-footer{display:flex;gap:.35rem;justify-content:center;font-size:.62rem;color:rgba(253,246,227,.25);flex-wrap:wrap}

/* DAAN MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(10,5,0,.78);backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;pointer-events:none;transition:opacity .25s}
.modal-overlay--visible{opacity:1;pointer-events:all}
.modal-box{background:var(--white);border-radius:var(--r-lg);width:100%;max-width:460px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 80px rgba(0,0,0,.5);transform:translateY(18px) scale(.97);transition:transform .25s;scrollbar-width:thin}
.modal-overlay--visible .modal-box{transform:translateY(0) scale(1)}
.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.4rem;background:linear-gradient(135deg,#1c0d00 0%,#2e1500 100%);border-radius:var(--r-lg) var(--r-lg) 0 0;border-bottom:1px solid rgba(200,146,42,.2)}
.modal-header-left{display:flex;align-items:center;gap:.7rem}
.modal-flame{font-size:1.6rem;filter:drop-shadow(0 0 5px rgba(255,140,0,.5))}
.modal-title{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--gold-lt);line-height:1.1}
.modal-subtitle{font-size:.7rem;color:rgba(253,246,227,.35);margin-top:.1rem}
.modal-close{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:rgba(253,246,227,.55);width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:all .2s}
.modal-close:hover{background:rgba(255,255,255,.2);color:#fff}
.modal-amount-display{display:flex;align-items:center;gap:.85rem;padding:.9rem 1.4rem;background:var(--gold-pale);border-bottom:1px solid var(--border-soft);flex-wrap:wrap}
.mad-label{font-size:.75rem;color:var(--text-soft);font-weight:600}
.mad-amount{font-family:var(--font-display);font-size:1.7rem;font-weight:700;color:var(--gold);line-height:1}
.mad-prasad-pill{background:rgba(236,72,153,.08);border:1px solid rgba(236,72,153,.2);color:#be185d;font-size:.68rem;padding:.18rem .55rem;border-radius:50px;font-weight:600}
.modal-section{padding:.65rem 1.4rem 0}
.modal-label{display:block;font-size:.78rem;font-weight:600;color:var(--text-mid);margin-bottom:.35rem}
.modal-label-note{font-weight:400;color:var(--text-soft);font-size:.72rem;margin-left:.35rem}
.modal-prasad-section{margin:.65rem 1.4rem;background:linear-gradient(135deg,rgba(200,146,42,.06),rgba(255,107,0,.03));border:1.5px solid rgba(200,146,42,.22);border-radius:var(--r);overflow:hidden}
.prasad-toggle-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem .95rem;cursor:pointer;gap:.7rem;user-select:none}
.prasad-toggle-header:hover{background:rgba(200,146,42,.05)}
.prasad-toggle-left{display:flex;align-items:center;gap:.7rem;flex:1}
.prasad-icon{font-size:1.25rem;flex-shrink:0}
.prasad-toggle-left strong{display:block;font-size:.85rem;color:var(--text)}
.prasad-toggle-left span{font-size:.72rem;color:var(--text-soft)}
.prasad-toggle-switch{width:40px;height:22px;background:var(--border);border-radius:50px;position:relative;flex-shrink:0;transition:background .25s}
.prasad-toggle-switch.toggle--on{background:var(--gold)}
.toggle-knob{position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;top:3px;left:3px;transition:transform .25s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.toggle--on .toggle-knob{transform:translateX(18px)}
.prasad-address-fields{padding:0 .95rem .95rem;display:none;border-top:1px solid rgba(200,146,42,.14)}
.modal-addr-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.prasad-note{font-size:.72rem;color:var(--text-soft);margin-top:.5rem;font-style:italic}
.modal-error{padding:0 1.4rem;color:#dc2626;font-size:.78rem;min-height:1.1rem;margin-top:.4rem;font-weight:600}
.modal-submit-btn{display:block;width:calc(100% - 2.8rem);margin:.9rem 1.4rem 0;padding:.9rem;background:linear-gradient(135deg,var(--gold),#a8761a);border:none;border-radius:var(--r);color:#fff;font-family:var(--font-display);font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 14px rgba(200,146,42,.28)}
.modal-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#d9a030,var(--gold));transform:translateY(-1px)}
.modal-submit-btn:disabled{opacity:.6;cursor:not-allowed}
.modal-terms{text-align:center;font-size:.68rem;color:var(--text-soft);padding:.55rem 1.4rem 1.4rem}
.daan-success-overlay{position:fixed;inset:0;background:rgba(10,5,0,.88);backdrop-filter:blur(8px);z-index:1001;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;pointer-events:none;transition:opacity .3s}
.daan-success-overlay--visible{opacity:1;pointer-events:all}
.daan-success-box{background:var(--dark);border:1px solid rgba(200,146,42,.4);border-radius:var(--r-lg);padding:2.25rem 2rem;max-width:400px;width:100%;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.6)}
.daan-success-icon{font-size:3rem;margin-bottom:1rem;animation:successGlow 2s ease infinite}
@keyframes successGlow{0%,100%{filter:drop-shadow(0 0 10px rgba(255,140,0,.5))}50%{filter:drop-shadow(0 0 22px rgba(255,140,0,.9))}}
.daan-success-box h2{color:var(--gold-lt);font-size:1.4rem;margin-bottom:.5rem}
.daan-success-box>p{color:rgba(253,246,227,.6);font-size:.85rem;margin-bottom:1.1rem}
.success-receipt{background:rgba(255,255,255,.04);border:1px solid rgba(200,146,42,.2);border-radius:var(--r);overflow:hidden;text-align:left}
.sr-row{display:flex;gap:.9rem;padding:.45rem .85rem;border-bottom:1px solid rgba(255,255,255,.05)}
.sr-row:last-child{border-bottom:none}
.sr-row span{font-size:.7rem;color:rgba(253,246,227,.3);width:70px;flex-shrink:0}
.sr-row strong{color:var(--cream);font-size:.82rem;font-weight:500}
.sr-row--prasad strong{color:var(--gold-lt)}
.daan-quick-tiers{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.25rem}
.daan-tier-btn{display:block;text-align:center;padding:.5rem;background:var(--gold-pale);border:2px solid rgba(200,146,42,.3);border-radius:var(--r-sm);font-weight:700;font-size:.88rem;color:var(--gold);transition:all .2s}
.daan-tier-btn:hover{background:var(--gold);color:#fff;border-color:var(--gold);transform:scale(1.04)}

/* FOOTER */
.footer{background:var(--dark);border-top:1px solid rgba(200,146,42,.15)}
.footer-top{padding:3.5rem 0 2.5rem}
.footer-top-inner{display:grid;grid-template-columns:220px 1fr;gap:3rem}
.footer-brand-col{}
.footer-om{font-family:var(--font-hindi);font-size:3rem;color:var(--gold-lt);line-height:1;filter:drop-shadow(0 0 6px rgba(232,168,56,.3))}
.footer-name{font-family:var(--font-display);font-size:1.2rem;color:var(--cream);margin:.25rem 0}
.footer-tagline{color:rgba(253,246,227,.35);font-size:.78rem;line-height:1.6;margin-top:.5rem}
.footer-social{display:flex;gap:.6rem;margin-top:1rem}
.footer-social a{width:32px;height:32px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(253,246,227,.5);font-size:.8rem;transition:all .2s}
.footer-social a:hover{background:rgba(200,146,42,.2);border-color:rgba(200,146,42,.4);color:var(--gold-lt)}
.footer-links-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.footer-col h4{color:rgba(253,246,227,.4);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.75rem;font-weight:600}
.footer-col a{display:block;color:rgba(253,246,227,.55);font-size:.82rem;margin-bottom:.35rem;transition:color .2s}
.footer-col a:hover{color:var(--gold-lt)}
.footer-middle{border-top:1px solid rgba(255,255,255,.06);padding:.85rem 0}
.footer-causes-row{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.fc-label{font-size:.68rem;font-weight:700;color:rgba(253,246,227,.25);text-transform:uppercase;letter-spacing:.1em}
.footer-causes-row a{font-size:.78rem;color:rgba(253,246,227,.45);transition:color .2s}
.footer-causes-row a:hover{color:var(--gold-lt)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding:1.1rem 0}
.footer-bottom-inner{display:flex;flex-direction:column;gap:.3rem;align-items:center;text-align:center}
.footer-mantras{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;font-family:var(--font-hindi);color:rgba(253,246,227,.3);font-size:.82rem}
.footer-copy{font-size:.72rem;color:rgba(253,246,227,.2)}

/* 404 */
.page-404{padding:8rem 1rem;text-align:center}
.page-404 div{font-size:5rem}

/* RESPONSIVE */
@media(max-width:1024px){
  .hero-grid{grid-template-columns:1fr;gap:2rem}
  .panchang-card,.next-fest-card{max-width:480px}
  .streams-home-grid{grid-template-columns:1fr 1fr}
  .shg-card--feat{grid-column:span 2}
  .festivals-home-grid{grid-template-columns:1fr 1fr}
  .footer-top-inner{grid-template-columns:1fr}
  .footer-links-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .sankalp-feat-inner,.puja-feature,.daan-home-row,.sankalp-layout,.pujas-layout,.daan-page-layout,.about-layout,.fd-layout,.stream-page-layout{grid-template-columns:minmax(0,1fr)}
  .puja-sidebar,.daan-sidebar-col,.about-side,.sankalp-info-side{position:static}
  .pbf-row,.form-row{grid-template-columns:1fr}
  .stream-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
}

@media(max-width:480px){
  .btn--wrap-text{font-size:.85rem}
  /* Slot countdown — smaller boxes on narrow phones */
  .psc-num{font-size:1.1rem}
  .psc-label{font-size:.56rem}
  .psc-unit{padding:.4rem .2rem}
  /* AI Puja Finder — tighter padding on mobile */
  .ai-finder-card{padding:1.1rem}
  .ai-finder-header h3{font-size:1rem}
  .ai-finder-header p{font-size:.78rem}
  .ai-result-card{padding:.8rem .9rem;gap:.6rem}
  .ai-result-body strong{font-size:.85rem}
  /* Puja browse controls — tighter on mobile */
  .puja-search-input{padding:.7rem 1rem;font-size:.85rem}
  .cat-chip{padding:.35rem .8rem;font-size:.72rem}
  .puja-one-liner{-webkit-line-clamp:2;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}
  /* Share buttons — full width on mobile, easier to tap */
  .share-btn{width:100%;justify-content:center;font-size:.8rem;padding:.65rem 1rem}
  .share-btn--sm{width:auto;padding:.4rem .85rem;font-size:.72rem}
  /* Story cards — tighter padding on small screens */
  .story-card{padding:1.25rem}
  .story-card-text{font-size:.85rem}
  .stories-grid,.home-stories-grid{grid-template-columns:1fr;gap:1rem}
  /* Puja card — stack header, wrap price under title on narrow screens */
  .puja-card{padding:1.1rem}
  .puja-card-header{flex-wrap:wrap}
  .puja-meta-right{margin-left:0;text-align:left;flex-basis:100%;display:flex;gap:.75rem;align-items:center;margin-top:.4rem}
  .puja-title-group h3{font-size:1.05rem}
  .puja-desc{font-size:.85rem}
  .puja-purpose-banner{padding:.7rem .8rem}
  .ppb-for, .ppb-not{font-size:.78rem}
  .puja-includes{gap:.3rem}
  .puja-includes span, .puja-prasad-tag{font-size:.75rem;padding:.25rem .55rem}
  /* Index panchang card — fix pc-row overflow and sunrise wrapping */
  .panchang-card{border-radius:var(--r);margin:0}
  .pc-row{padding:.4rem 1rem;flex-wrap:nowrap}
  .pc-row span{width:80px;font-size:.65rem}
  .pc-row strong{font-size:.82rem}
  .pc-row em{font-size:.65rem}
  .pc-sun-row{padding:.6rem 1rem;font-size:.72rem;gap:.5rem;flex-wrap:nowrap;justify-content:space-between}
  /* Prevent sunrise "PM" wrapping by using flex on the value */
  .pc-sun-row div{display:flex;align-items:center;gap:.25rem;white-space:nowrap}

  /* Calendar panchang grid — same 2-col fix already in 640px but reinforce here */
  .panchang-grid{grid-template-columns:1fr 1fr !important}
  .pg-item--sun{grid-column:span 2 !important}
  .pg-item--sun .pg-value{white-space:nowrap;font-size:.8rem}

  /* Puja sidebar on phone */
  .stream-sidebar{grid-template-columns:1fr}

  /* Section padding reduction */
  .section{padding:2rem 0}
  .container{padding:0 1rem}

  /* Nav right actions spacing */
  .nav-right-actions{gap:.5rem}

  /* Tables horizontal scroll */
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}

  /* Stat grid on admin */
  .stat-grid{grid-template-columns:1fr 1fr}
}

/* ── GLOBAL MOBILE OVERFLOW FIX ─── */
html, body { overflow-x: hidden; max-width: 100vw; }
* { box-sizing: border-box; }

/* Grid/flex children default to min-width:auto which lets long text
   push containers wider than the viewport. Force them to shrink properly. */
.pujas-layout, .puja-card, .puja-card-header, .puja-title-group,
.pbf-row, .puja-includes, .puja-purpose-banner, .ppb-not,
.container, .cause-card-v2, .daan-page-layout, .stream-page-layout,
.stream-sidebar, .form-row {
  min-width: 0;
}
.puja-card * { min-width: 0; }
.puja-desc, .ppb-for, .ppb-not span, .puja-purpose-banner {
  overflow-wrap: break-word;
  word-break: break-word;
}

@media(max-width:640px){
  .streams-home-grid,.festivals-home-grid{grid-template-columns:1fr}
  .shg-card--feat,.sgp-card--feat{grid-column:span 1}

  /* Fix typo (.punchang → .panchang) + force 2-col on mobile */
  .panchang-grid{grid-template-columns:1fr 1fr}
  .pg-item--sun{grid-column:span 2}

  /* Panchang widget padding + text sizes */
  .panchang-full{padding:1rem;border-radius:var(--r)}
  .pg-header{margin-bottom:.6rem;gap:.5rem}
  .pc-om{font-size:1.6rem !important}
  .pg-date-line{font-size:.78rem;margin-bottom:.6rem}
  .pg-item{padding:.6rem .7rem}
  .pg-label{font-size:.58rem;letter-spacing:.04em}
  .pg-value{font-size:.95rem}
  .pg-sub{font-size:.62rem}
  .pc-auspicious{font-size:.68rem !important;padding:.2rem .5rem}

  /* Sunrise/sunset — keep on one line, prevent PM wrapping */
  .pg-item--sun .pg-value{
    font-size:.8rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  /* Calendar panchang widget same fixes */
  .panchang-full h2{font-size:1.1rem}

  /* Next festival alert */
  .next-fest-alert{flex-wrap:wrap;padding:1rem}
  .nfa-icon{font-size:2rem}
  .nfa-name{font-size:1.1rem}
  .nfa-countdown{min-width:80px}
  .nfa-days{font-size:1.8rem}

  /* General layout */
  .ctv2-item{grid-template-columns:44px 1fr;gap:1rem}
  .ctv2-icon{width:44px;height:44px;font-size:1.1rem}
  .hero-ctas{flex-direction:column}
  .pf-cards{grid-template-columns:1fr 1fr}
  /* How It Works — was stacking all 4 steps vertically with down-arrows,
     taking up nearly a full screen of scroll before reaching the puja
     list. Now scrolls horizontally in one compact row instead. */
  .how-it-works{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;justify-content:flex-start;gap:.6rem;padding:1rem;scroll-snap-type:x proximity;scrollbar-width:none}
  .how-it-works::-webkit-scrollbar{display:none}
  .hiw-step{flex:0 0 auto;min-width:108px;scroll-snap-align:start}
  .hiw-step span{font-size:.68rem;line-height:1.35}
  .hiw-num{width:26px;height:26px;font-size:.75rem;margin-bottom:.3rem}
  .hiw-step strong{font-size:.82rem}
  .hiw-arrow{font-size:1rem}
  .footer-links-grid{grid-template-columns:1fr 1fr}
  .stream-sidebar{grid-template-columns:1fr}
  .cdc-card{grid-template-columns:auto 1fr;grid-template-rows:auto auto}
  .cdc-actions{grid-column:span 2;flex-direction:row}

  /* Tables in admin don't overflow on mobile */
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* ── TEMPLES DIRECTORY ── */
.temples-city-section{margin-bottom:3rem}
.tcs-heading{display:flex;align-items:center;gap:.65rem;font-size:1.5rem;margin-bottom:1.1rem;padding-bottom:.5rem;border-bottom:2px solid var(--saffron-pale)}
.tcs-dot{width:10px;height:10px;background:var(--saffron);border-radius:50%;flex-shrink:0}
.temples-city-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.1rem}
.temple-dir-card{background:#fff;border:1px solid var(--border-soft);border-radius:var(--r-lg);overflow:hidden;transition:all .25s;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.temple-dir-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--saffron)}
.tdc-thumb{position:relative;height:150px;overflow:hidden;background:var(--dark)}
.tdc-thumb img{height:100%;transition:transform .4s}
.temple-dir-card:hover .tdc-thumb img{transform:scale(1.05)}
.tdc-live{position:absolute;top:.6rem;left:.6rem;background:#e53e3e;color:#fff;font-size:.62rem;font-weight:800;padding:.18rem .5rem;border-radius:50px;display:flex;align-items:center;gap:.28rem}
.tdc-live span{width:5px;height:5px;background:#fff;border-radius:50%;animation:pulseLive 1.2s ease infinite}
.tdc-body{padding:1rem 1.1rem;flex:1}
.tdc-city{font-size:.65rem;font-weight:700;color:var(--saffron);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.2rem}
.tdc-name{font-size:.95rem;font-weight:600;margin-bottom:.15rem;line-height:1.3}
.tdc-hindi{font-family:var(--font-hindi);color:var(--text-soft);font-size:.78rem;margin-bottom:.3rem}
.tdc-deity{font-size:.75rem;color:var(--text-mid);margin-bottom:.25rem}
.tdc-schedule{font-size:.72rem;color:var(--text-soft)}
.tdc-footer{display:flex;justify-content:space-between;align-items:center;padding:.65rem 1.1rem;background:var(--cream);border-top:1px solid var(--border-soft)}
.tdc-viewers{font-size:.72rem;color:var(--text-soft)}
.tdc-cta{font-size:.75rem;font-weight:600;color:var(--saffron)}

/* ── CALENDAR ADDITIONS ─────────────────────────────────── */

/* Next festival alert banner */
.next-fest-alert {
  display:flex;align-items:center;gap:1.5rem;
  background:linear-gradient(135deg,var(--dark) 0%,var(--dark-mid) 100%);
  border:1px solid rgba(var(--accent-rgb,200,146,42),.25);
  border-left:4px solid var(--accent,var(--saffron));
  border-radius:var(--r-lg);padding:1.5rem 1.75rem;
  box-shadow:var(--shadow-md);flex-wrap:wrap;gap:1.25rem;
}
.nfa-icon{font-size:3rem;line-height:1;flex-shrink:0}
.nfa-body{flex:1;min-width:220px}
.nfa-label{font-size:.68rem;font-weight:700;color:rgba(253,246,227,.35);
  text-transform:uppercase;letter-spacing:.1em;margin-bottom:.3rem}
.nfa-name{font-family:var(--font-display);font-size:1.5rem;font-weight:700;
  color:var(--cream);line-height:1.2;margin-bottom:.25rem}
.nfa-hindi{font-family:var(--font-hindi);font-size:.6em;color:var(--saffron-lt);
  font-weight:400;margin-left:.4rem}
.nfa-date{font-size:.8rem;color:rgba(253,246,227,.45);margin-bottom:.4rem}
.nfa-desc{font-size:.85rem;color:rgba(253,246,227,.55);line-height:1.5}
.nfa-countdown{flex-shrink:0;text-align:center;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r);padding:1rem 1.25rem;min-width:110px}
.nfa-days{font-family:var(--font-display);font-size:2.5rem;font-weight:700;
  color:var(--saffron-lt);line-height:1}
.nfa-days-label{font-size:.68rem;color:rgba(253,246,227,.35);
  text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem}
.nfa-actions{display:flex;flex-direction:column;gap:.4rem}

/* Calendar section heading with count */
.cal-section-heading{display:flex;align-items:center;gap:.75rem;
  font-size:1.4rem;margin-bottom:1.25rem;padding-bottom:.5rem;
  border-bottom:2px solid var(--saffron-pale)}
.csh-count{font-family:var(--font-body);font-size:.72rem;font-weight:600;
  background:var(--saffron-pale);color:var(--saffron);
  padding:.2rem .6rem;border-radius:50px;border:1px solid rgba(255,107,0,.2)}
.csh-live{display:inline-flex;align-items:center;gap:.4rem;
  font-family:var(--font-body);font-size:.72rem;font-weight:700;
  color:#e53e3e;text-transform:uppercase;letter-spacing:.06em}
.csh-live span{width:7px;height:7px;background:#e53e3e;border-radius:50%;
  animation:pulseLive 1.3s ease infinite}

/* Timeline date range */
.ctv2-date-end{font-size:.78rem;color:var(--text-soft);font-weight:400}

/* Today badge */
.ctv2-countdown--today{background:rgba(220,38,38,.15);color:#dc2626;
  border-color:rgba(220,38,38,.3);font-weight:800}

/* Mantra line in timeline card */
.ctv2-mantra{font-family:var(--font-hindi);font-size:.95rem;color:var(--gold);
  padding:.5rem .85rem;background:var(--gold-pale);
  border-radius:var(--r-sm);border-left:3px solid var(--gold);
  margin-top:.5rem;display:inline-block}

/* Daily card mantra */
.cdc-mantra{font-family:var(--font-hindi);font-size:.88rem;color:var(--gold);
  margin-top:.5rem}

/* Past festivals grid */
.cpg2-icon{font-size:1.5rem;flex-shrink:0}
.cpg2-hindi{font-family:var(--font-hindi);color:var(--saffron);
  font-size:.75rem;display:block}
.cpg2-arrow{color:var(--saffron);font-size:1rem;margin-left:auto;flex-shrink:0}

/* ── LOCATION BANNER ───────────────────────────────────── */
.location-banner {
  background: linear-gradient(135deg, #1a3a1a 0%, #0f2a0f 100%);
  border-bottom: 1px solid rgba(34,197,94,.25);
  padding: .55rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: .82rem;
  color: rgba(220,252,231,.8);
  flex-wrap: wrap;
}
.location-banner span { flex: 1; min-width: 200px; }
.loc-banner-btn {
  background: #16a34a;
  color: white;
  border: none;
  padding: .3rem .85rem;
  border-radius: 50px;
  font-size: .78rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s;
}
.loc-banner-btn:hover { background: #15803d; }
.loc-banner-close {
  background: none;
  border: none;
  color: rgba(220,252,231,.45);
  font-size: 1rem;
  cursor: pointer;
  padding: .2rem .4rem;
}

/* ── SPECIAL TIERS on daan.ejs ─────────────────────────── */
.special-tiers-section {
  margin-top: 1.1rem;
  padding-top: 1rem;
  border-top: 1px dashed var(--border);
}
.st-label {
  font-size: .75rem;
  font-weight: 700;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: .07em;
  margin-bottom: .2rem;
}
.st-note {
  font-size: .72rem;
  color: var(--text-soft);
  margin-bottom: .75rem;
}
.special-tiers-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .6rem;
}
.special-tier-btn {
  background: var(--gold-pale);
  border: 1.5px dashed rgba(200,146,42,.4);
  border-radius: var(--r);
  padding: .75rem .5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .25rem;
  cursor: pointer;
  text-align: center;
  transition: all .2s;
  position: relative;
}
.special-tier-btn:hover {
  border-color: var(--gold);
  background: rgba(200,146,42,.12);
  transform: translateY(-2px);
}
.special-tier-btn > span:first-child {
  font-family: var(--font-display);
  font-size: .95rem;
  font-weight: 700;
  color: var(--gold);
}
.stb-ship {
  display: block;
  font-size: .6rem;
  font-weight: 400;
  color: var(--text-soft);
}
.special-tier-btn > span:nth-child(2) {
  font-size: .7rem;
  color: var(--text-mid);
  font-weight: 500;
  line-height: 1.3;
}
.special-tier-btn > span:nth-child(3) {
  font-size: .65rem;
  color: var(--text-soft);
  line-height: 1.3;
}
.stb-soon-tag {
  position: absolute;
  top: -7px;
  right: 4px;
  background: var(--dark);
  color: var(--gold-lt);
  font-size: .58rem;
  font-weight: 700;
  padding: .1rem .4rem;
  border-radius: 50px;
  letter-spacing: .04em;
}

/* ── SPECIAL TIERS on stream.ejs ───────────────────────── */
.sdw-special-tiers {
  margin-top: .75rem;
  padding-top: .75rem;
  border-top: 1px dashed rgba(200,146,42,.2);
}
.sdw-special-label {
  font-size: .62rem;
  font-weight: 700;
  color: rgba(200,146,42,.5);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: .5rem;
}
.sdw-special-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .4rem;
}
.sdw-special-btn {
  background: rgba(200,146,42,.07);
  border: 1px dashed rgba(200,146,42,.25);
  border-radius: var(--r-sm);
  padding: .5rem .3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .15rem;
  cursor: pointer;
  transition: all .2s;
  text-align: center;
}
.sdw-special-btn:hover {
  background: rgba(200,146,42,.14);
  border-color: rgba(200,146,42,.5);
}
.sdw-special-btn > span:first-child {
  font-family: var(--font-display);
  font-size: .82rem;
  font-weight: 700;
  color: var(--gold-lt);
}
.sdw-special-btn > span:last-child {
  font-size: .62rem;
  color: rgba(253,246,227,.4);
  line-height: 1.3;
}

/* ── COMING SOON MODAL ─────────────────────────────────── */
.cs-desc {
  font-size: .9rem;
  color: var(--text-mid);
  padding: .75rem;
  background: var(--gold-pale);
  border-radius: var(--r-sm);
  border-left: 3px solid var(--gold);
  margin-bottom: 1.1rem;
}
.cs-info-box {
  display: flex;
  gap: .85rem;
  align-items: flex-start;
  background: var(--cream);
  border: 1px solid var(--border-soft);
  border-radius: var(--r);
  padding: 1rem;
  margin-bottom: 1rem;
}
.cs-icon { font-size: 1.75rem; flex-shrink: 0; }
.cs-info-box strong { display: block; font-size: .88rem; margin-bottom: .3rem; }
.cs-info-box p { font-size: .8rem; color: var(--text-soft); margin: 0; }
.cs-shipping-info {
  background: var(--dark);
  border-radius: var(--r);
  overflow: hidden;
  margin-bottom: 1rem;
}
.cs-ship-row {
  display: flex;
  justify-content: space-between;
  padding: .5rem .9rem;
  border-bottom: 1px solid rgba(255,255,255,.06);
  font-size: .82rem;
}
.cs-ship-row:last-child { border-bottom: none; }
.cs-ship-row span { color: rgba(253,246,227,.45); }
.cs-ship-row strong { color: var(--cream); }
.cs-ship-total { background: rgba(200,146,42,.1); }
.cs-ship-total strong { color: var(--gold-lt); font-size: .95rem; }
.cs-ship-note {
  font-size: .7rem;
  color: rgba(253,246,227,.3);
  text-align: center;
  padding: .4rem;
}

@media (max-width: 640px) {
  .special-tiers-grid { grid-template-columns: 1fr; }
  .sdw-special-row    { grid-template-columns: 1fr; }
}

/* ── STREAM PAGE MOBILE FIXES ──────────────────────────── */
@media (max-width: 768px) {
  /* Smaller reaction buttons */
  .reaction-btn {
    padding: .22rem .4rem;
    font-size: .8rem;
  }
  .reaction-bar { padding: .45rem .65rem; gap: .35rem; }
  .reaction-bar-left { gap: .15rem; }
  .reaction-label { display: none; }

  /* Break stream-main into flat children so sidebar can slot between
     the video block and the detail info block */
  .stream-page-layout {
    display: flex;
    flex-direction: column;
    gap: 0;           /* kill all gaps between flex children */
  }
  .stream-main {
    display: contents; /* children participate directly in parent flex */
  }

  /* Order: video → reactions → activity → DAAN → sankalp → related → details */
  .stream-video-wrap  { order: 1; margin-bottom: 0; }
  .reaction-bar       { order: 2; margin: 0; border-radius: 0; }
  .live-activity      { order: 3; margin: 0; border-radius: 0;
                        max-height: 160px; overflow: hidden; }
  .activity-feed      { max-height: 120px; }
  .stream-sidebar     { order: 4; display: flex; flex-direction: column;
                        gap: .75rem; padding: .75rem 0 0; }
  .stream-daan-widget { order: -1; margin: 0; }
  .stream-detail-info { order: 5; margin-top: .75rem; }

  /* Remove default bottom margin from video outer wrapper */
  .video-outer        { margin-bottom: 0; }

  /* Collapse any section/page padding that adds whitespace */
  .stream-page        { padding: 1rem 0 2rem; }
}

/* ── PUJA PURPOSE BANNER ───────────────────────────────── */
.puja-purpose-banner {
  background: var(--cream);
  border: 1px solid var(--border-soft);
  border-radius: var(--r);
  padding: .9rem 1.1rem;
  margin-bottom: 1rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.ppb-for {
  font-size: .84rem;
  color: #15803d;
  line-height: 1.5;
}
.ppb-for strong { color: #15803d; }
.ppb-not {
  font-size: .8rem;
  color: var(--text-soft);
  display: flex;
  flex-direction: column;
  gap: .2rem;
}
.ppb-not strong { color: #dc2626; font-size: .8rem; }
.ppb-not span::before { content: "  → "; color: #dc2626; }
.ppb-not span { display: block; line-height: 1.4; padding-left: .75rem; }

/* Name fields section spacing */
.puja-name-fields { margin-bottom: .5rem; }

/* ── SAVE HISTORY NUDGE (post-success, optional sign-in) ── */
.save-history-nudge{margin-top:1.25rem;padding:.85rem 1.25rem;background:var(--gold-pale);border:1px dashed rgba(200,146,42,.35);border-radius:var(--r);display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;font-size:.85rem;color:var(--text-mid)}
.save-history-nudge a{color:var(--saffron);font-weight:700;white-space:nowrap}

/* ── LEGAL PAGES (Privacy, Terms, Refund) ──────────────── */
.legal-content{max-width:760px;margin:0 auto;line-height:1.7;color:var(--text-mid)}
.legal-content h2{font-size:1.15rem;margin:2rem 0 .75rem;color:var(--dark);padding-bottom:.4rem;border-bottom:2px solid var(--saffron-pale)}
.legal-content h2:first-of-type{margin-top:0}
.legal-content p{margin-bottom:1rem;font-size:.92rem}
.legal-content ul{margin:0 0 1.25rem 1.25rem;padding:0}
.legal-content li{margin-bottom:.5rem;font-size:.92rem}
.legal-content a{color:var(--saffron);font-weight:600}
.legal-content strong{color:var(--dark)}

.footer-legal-links{display:flex;justify-content:center;gap:.6rem;margin-top:.6rem;font-size:.75rem}
.footer-legal-links a{color:rgba(253,246,227,.4);transition:color .2s}
.footer-legal-links a:hover{color:var(--gold-lt)}
.footer-legal-links span{color:rgba(253,246,227,.2)}

.footer-disclaimer{text-align:center;font-size:.68rem;color:rgba(253,246,227,.28);margin-top:.75rem;max-width:480px;margin-left:auto;margin-right:auto;line-height:1.5}

/* ── SHARE CARD ─────────────────────────────────────────── */
.share-card-branding{display:flex;align-items:center;justify-content:center;gap:.4rem;padding-top:.85rem;margin-top:.85rem;border-top:1px solid rgba(200,146,42,.2)}
.share-card-branding .scb-om{font-family:var(--font-hindi);color:var(--gold-lt);font-size:1rem}
.share-card-branding .scb-url{color:var(--gold-lt);font-weight:700;font-size:.85rem;letter-spacing:.02em}
.capturing-share-card{box-shadow:none !important}
.share-btn{display:inline-flex;align-items:center;gap:.5rem;background:rgba(200,146,42,.12);border:1px solid rgba(200,146,42,.35);color:var(--saffron);padding:.6rem 1.3rem;border-radius:50px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}
.share-btn:hover{background:rgba(200,146,42,.2);border-color:var(--gold)}

.share-card-capture-zone{background:#1A0F00;border-radius:var(--r);padding:1.25rem}

.share-btn--sm{padding:.4rem .9rem;font-size:.75rem;margin-bottom:.75rem}

/* ── HOMEPAGE STORIES TEASER ───────────────────────────── */
.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.75rem;flex-wrap:wrap}
.section-heading-row h2{margin-top:.4rem;margin-bottom:0}
.home-stories-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
@media(max-width:900px){.home-stories-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.home-stories-grid{grid-template-columns:1fr}.section-heading-row{flex-direction:column;align-items:flex-start}}
