/* ── Variables ─────────────────────────────────────── */
:root{
  --gold:#f5c842;--gold-lt:#ffe78a;--saffron:#ff6b00;
  --crimson:#c0152a;--maroon:#6b0f1a;--deep:#1a0505;
  --bg:#120003;--surface:#1f0309;--card:#2a0510;
  --border:rgba(245,200,66,.18);--text:#f8e8c8;--muted:#c9a47a;
  --shadow:0 8px 40px rgba(0,0,0,.6);--radius:12px;
  --nav-h:70px;--notice-h:32px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Noto Sans Devanagari','Tiro Devanagari Hindi',sans-serif;
  background:var(--bg);color:var(--text);min-height:100vh;
  line-height:1.7;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:var(--gold);text-decoration:none}
a:hover{color:var(--gold-lt)}
h1,h2,h3,h4{font-family:'Tiro Devanagari Hindi','Cinzel Decorative',serif;line-height:1.3}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px}

/* ── Utility ──────────────────────────────────────── */
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.section{padding:72px 0}.section-sm{padding:48px 0}
.text-center{text-align:center}
.gold-line{width:60px;height:3px;background:linear-gradient(90deg,var(--saffron),var(--gold));border-radius:2px;margin:14px auto 32px}
.gold-line.left{margin-left:0}
.section-title{font-size:clamp(1.5rem,3vw,2.2rem);color:var(--gold);text-align:center;letter-spacing:.04em}
.badge{display:inline-block;background:linear-gradient(135deg,var(--saffron),var(--crimson));color:#fff;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:.06em;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:50px;font-weight:700;font-size:.95rem;cursor:pointer;border:none;transition:transform .2s,box-shadow .2s,filter .2s;letter-spacing:.04em;font-family:inherit}
.btn:hover{transform:translateY(-2px);filter:brightness(1.1)}
.btn:active{transform:translateY(0)}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--saffron));color:var(--deep);box-shadow:0 4px 20px rgba(245,200,66,.35)}
.btn-outline{background:transparent;color:var(--gold);border:2px solid var(--gold)}
.btn-outline:hover{background:rgba(245,200,66,.1)}
.btn-saffron{background:linear-gradient(135deg,var(--crimson),var(--maroon));color:#fff;box-shadow:0 4px 20px rgba(192,21,42,.4)}
.bg-pattern{background-image:radial-gradient(circle at 20% 50%,rgba(192,21,42,.12) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,107,0,.10) 0%,transparent 40%),radial-gradient(circle at 60% 80%,rgba(107,15,26,.15) 0%,transparent 45%)}

/* ── Animations ───────────────────────────────────── */
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
@keyframes scaleIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@keyframes float{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-18px) rotate(5deg)}}
@keyframes glow{0%,100%{filter:drop-shadow(0 0 8px rgba(245,200,66,.4))}50%{filter:drop-shadow(0 0 28px rgba(245,200,66,.9))}}
@keyframes shimmer{0%{background-position:-200% center}100%{background-position:200% center}}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-8px)}}
@keyframes fadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(245,200,66,.4)}70%{box-shadow:0 0 0 10px rgba(245,200,66,0)}}
@keyframes rotateSlow{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes slideInLeft{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}
@keyframes slideInRight{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}

/* Scroll-reveal class – toggled by IntersectionObserver */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-32px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}
.reveal-left.visible{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(32px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}
.reveal-right.visible{opacity:1;transform:translateX(0)}
.reveal-scale{opacity:0;transform:scale(.9);transition:opacity .6s ease,transform .6s ease}
.reveal-scale.visible{opacity:1;transform:scale(1)}
/* Stagger children */
.stagger-children>*{opacity:0;transform:translateY(24px);transition:opacity .5s ease,transform .5s ease}
.stagger-children.visible>*:nth-child(1){opacity:1;transform:translateY(0);transition-delay:.05s}
.stagger-children.visible>*:nth-child(2){opacity:1;transform:translateY(0);transition-delay:.15s}
.stagger-children.visible>*:nth-child(3){opacity:1;transform:translateY(0);transition-delay:.25s}
.stagger-children.visible>*:nth-child(4){opacity:1;transform:translateY(0);transition-delay:.35s}
.stagger-children.visible>*:nth-child(5){opacity:1;transform:translateY(0);transition-delay:.45s}
.stagger-children.visible>*:nth-child(6){opacity:1;transform:translateY(0);transition-delay:.55s}

/* ── Notice Bar ───────────────────────────────────── */
.notice-bar{background:linear-gradient(90deg,var(--maroon),var(--crimson),var(--maroon));background-size:200%;animation:shimmer 4s linear infinite;color:var(--gold-lt);text-align:center;padding:7px 16px;font-size:.78rem;letter-spacing:.06em;font-weight:600;position:fixed;top:0;left:0;right:0;z-index:1001;min-height:var(--notice-h);display:flex;align-items:center;justify-content:center;box-sizing:border-box;word-break:break-word;white-space:normal;line-height:1.3}
@media(max-width:600px){:root{--notice-h:48px}.notice-bar{padding:10px 16px;}}
.hero-content { padding-bottom: 110px; }
.hero-scroll   { bottom: 20px; }
/* ── Header ───────────────────────────────────────── */
#header{position:fixed;top:var(--notice-h);left:0;right:0;z-index:1000;height:var(--nav-h);background:rgba(18,0,3,.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);display:flex;align-items:center;animation:fadeInDown .5s ease}
.nav-inner{width:100%;max-width:1200px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}

/* Logo – no border-top on subtitle */
.logo{display:flex;align-items:center;gap:10px;cursor:pointer;flex-shrink:0}
.logo-icon{width:44px;height:44px;background:linear-gradient(135deg,var(--saffron),var(--gold));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 0 20px rgba(245,200,66,.4);flex-shrink:0;animation:glow 3s ease-in-out infinite}
.logo-text{line-height:1.2;min-width:0;overflow:hidden}
.logo-title{font-family:'Cinzel Decorative',serif;font-size:clamp(.55rem,1.3vw,.78rem);color:var(--gold);font-weight:900;letter-spacing:.05em;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.logo-sub{font-size:.58rem;color:var(--muted);letter-spacing:.08em;display:block;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;/* NO border-top */}

.nav-links{display:flex;align-items:center;gap:2px;list-style:none;flex-wrap:nowrap}
.nav-links li a{display:block;padding:6px 10px;border-radius:8px;font-size:.76rem;font-weight:600;color:var(--muted);letter-spacing:.03em;transition:color .2s,background .2s;white-space:nowrap}
.nav-links li a:hover,.nav-links li a.active{color:var(--gold);background:rgba(245,200,66,.1)}
.nav-compete-btn{background:linear-gradient(135deg,var(--crimson),var(--maroon)) !important;color:var(--gold-lt) !important;border-radius:20px !important;padding:5px 12px !important;font-size:.72rem !important;border:1px solid rgba(245,200,66,.25)}
.nav-compete-btn:hover{filter:brightness(1.15) !important}

.nav-right{display:flex;align-items:center;gap:10px;flex:0 0 auto;flex-shrink:0}
.lang-toggle{display:flex;align-items:center;background:var(--card);border:1px solid var(--border);border-radius:50px;overflow:hidden}
.lang-btn{padding:4px 11px;font-size:.72rem;font-weight:700;color:var(--muted);transition:all .25s;letter-spacing:.04em;background:transparent;border:none;cursor:pointer}
.lang-btn.active{background:linear-gradient(135deg,var(--saffron),var(--gold));color:var(--deep);border-radius:50px}

.hamburger{display:none;flex-direction:column;justify-content:center;width:36px;height:36px;gap:5px;cursor:pointer;background:none;border:none;padding:4px;flex-shrink:0}
.hamburger span{display:block;height:2px;background:var(--gold);border-radius:2px;transition:all .3s}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobile-menu{display:none;position:fixed;top:calc(var(--notice-h) + var(--nav-h));left:0;right:0;bottom:0;background:rgba(18,0,3,.97);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:16px;z-index:999;flex-direction:column;gap:4px;overflow-y:auto;max-height:calc(100vh - var(--notice-h) - var(--nav-h));}
.mobile-menu.open{display:flex}
.mobile-menu a{display:block;padding:11px 16px;border-radius:8px;font-size:.92rem;font-weight:600;color:var(--muted);transition:all .2s}
.mobile-menu a:hover,.mobile-menu a.active{color:var(--gold);background:rgba(245,200,66,.08)}
.mob-compete{background:linear-gradient(135deg,rgba(192,21,42,.3),rgba(107,15,26,.3)) !important;color:var(--gold-lt) !important;border:1px solid rgba(245,200,66,.2);border-radius:8px}

/* ── Page System ──────────────────────────────────── */
main{padding-top:calc(var(--notice-h) + var(--nav-h));min-height:100vh}
.page{display:none;animation:fadeIn .4s ease}
.page.active{display:block}

/* ── Hero ─────────────────────────────────────────── */
.hero{position:relative;min-height:calc(100vh - var(--notice-h) - var(--nav-h));display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:radial-gradient(ellipse 80% 60% at 50% 40%,rgba(192,21,42,.28) 0%,transparent 60%),radial-gradient(ellipse 60% 80% at 20% 80%,rgba(255,107,0,.15) 0%,transparent 50%),var(--bg)}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(245,200,66,.06) 0%,transparent 60%);pointer-events:none}
/* Particle diyas */
.hero-diya{position:absolute;font-size:4rem;opacity:.07;animation:float 6s ease-in-out infinite;pointer-events:none;user-select:none}
.hero-diya:nth-child(1){top:10%;left:5%;animation-delay:0s}
.hero-diya:nth-child(2){top:20%;right:8%;animation-delay:1.5s;font-size:3rem}
.hero-diya:nth-child(3){bottom:25%;left:12%;animation-delay:3s;font-size:2.5rem}
.hero-diya:nth-child(4){bottom:15%;right:6%;animation-delay:2s;font-size:5rem}
.hero-diya:nth-child(5){top:55%;left:3%;animation-delay:4s;font-size:2rem}
.hero-diya:nth-child(6){top:40%;right:3%;animation-delay:1s;font-size:3.5rem}

.hero-content{position:relative;z-index:2;padding:40px 20px 120px}
/* Entrance animations for hero children */
.hero-jai{font-family:'Cinzel Decorative',serif;font-size:clamp(1rem,3.5vw,1.8rem);font-weight:900;letter-spacing:.18em;background:linear-gradient(135deg,var(--gold),var(--saffron),var(--gold));background-size:200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:glow 3s ease-in-out infinite,shimmer 3s linear infinite,fadeInDown .8s ease both;margin-bottom:14px;text-transform:uppercase}
.hero-eyebrow{font-family:'Yatra One',serif;font-size:clamp(.95rem,2.5vw,1.25rem);letter-spacing:.06em;color:var(--muted);margin-bottom:18px;font-weight:400;line-height:1.6;animation:fadeInUp .8s .2s ease both}
.hero-title{font-family:'Cinzel Decorative',serif;font-size:clamp(1.6rem,5vw,3.8rem);font-weight:900;color:var(--gold);line-height:1.15;letter-spacing:.05em;text-shadow:0 0 40px rgba(245,200,66,.3);margin-bottom:4px;animation:scaleIn .9s .3s ease both}
.hero-title-small{font-family:'Cinzel Decorative',serif;font-size:clamp(.85rem,2.2vw,1.4rem);font-weight:700;color:var(--muted);letter-spacing:.06em;margin-bottom:28px;animation:fadeInUp .8s .45s ease both}
.hero-tagline{font-family:'Cormorant Garamond',serif;font-size:clamp(1rem,2vw,1.2rem);color:var(--text);margin-bottom:40px;font-weight:400;line-height:1.9;animation:fadeInUp .8s .55s ease both}
.hero-tagline span{color:var(--gold);font-weight:600}
.hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;animation:fadeInUp .8s .65s ease both}
.hero-btns .btn-gold{animation:pulse 2.5s ease-in-out infinite}

/* ── Countdown Timer ──────────────────────────────── */
.countdown-wrap{margin-bottom:36px;animation:fadeInUp .8s .55s ease both}
.countdown-label{font-family:'Yatra One',serif;font-size:clamp(.8rem,2vw,.95rem);color:var(--muted);letter-spacing:.1em;margin-bottom:14px;text-transform:uppercase}
.countdown-grid{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.cd-box{background:linear-gradient(135deg,rgba(192,21,42,.25),rgba(107,15,26,.35));border:1px solid rgba(245,200,66,.22);border-radius:12px;padding:12px 16px;min-width:66px;text-align:center;backdrop-filter:blur(8px)}
.cd-num{font-family:'Cinzel Decorative',serif;font-size:clamp(1.4rem,4vw,2rem);font-weight:900;color:var(--gold);line-height:1;display:block}
.cd-unit{font-size:.58rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:4px;display:block}
.cd-over{font-family:'Yatra One',serif;font-size:clamp(1rem,3vw,1.5rem);color:var(--gold-lt);letter-spacing:.08em;padding:10px 0}

/* ── Google Maps ──────────────────────────────────── */
.maps-wrap{margin-top:36px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}
.maps-wrap iframe{width:100%;height:320px;display:block;border:none}

.hero-divider{display:flex;align-items:center;justify-content:center;gap:16px;margin:20px 0;animation:fadeInUp .8s .35s ease both}
.hero-divider::before,.hero-divider::after{content:'';flex:1;max-width:100px;height:1px}
.hero-divider::before{background:linear-gradient(90deg,transparent,var(--gold))}
.hero-divider::after{background:linear-gradient(90deg,var(--gold),transparent)}

.hero-scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--muted);font-size:.7rem;letter-spacing:.12em;animation:bounce 2s ease-in-out infinite;z-index:10;white-space:nowrap;cursor:pointer}
.hero-scroll .arrow{font-size:1.2rem;color:var(--gold)}

/* Page Banner */
.page-banner{background:linear-gradient(135deg,var(--surface),var(--card));border-bottom:1px solid var(--border);padding:48px 20px 36px;text-align:center}
.page-banner h1{font-size:clamp(1.6rem,4vw,2.6rem);color:var(--gold);margin-bottom:10px;animation:fadeInDown .5s ease both}
.page-banner p{color:var(--muted);font-size:1rem;animation:fadeInUp .5s .1s ease both}

/* ── Announce Strip ───────────────────────────────── */
.announce-strip{background:linear-gradient(135deg,var(--maroon),var(--crimson));border:1px solid rgba(245,200,66,.2);padding:20px 28px;border-radius:var(--radius);display:flex;align-items:flex-start;gap:20px;box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s}
.announce-strip:hover{transform:translateY(-3px);box-shadow:0 16px 48px rgba(0,0,0,.5)}
.announce-icon{font-size:2rem;flex-shrink:0;margin-top:2px}
.announce-strip h3{font-size:1rem;color:var(--gold);margin-bottom:6px;font-weight:700}
.announce-strip p{font-size:.9rem;color:var(--text);line-height:1.6}
.announce-strip .date-tag{font-size:.72rem;color:var(--muted);margin-top:8px;letter-spacing:.06em}
.chanda-badge{display:inline-block;background:linear-gradient(135deg,var(--maroon),var(--crimson));border:1px solid rgba(245,200,66,.3);border-radius:50px;padding:5px 16px;font-size:.82rem;font-weight:700;color:var(--gold-lt);margin-bottom:12px}

/* ── Events Grid ──────────────────────────────────── */
.events-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.event-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;transition:transform .3s,box-shadow .3s,border-color .3s;position:relative;overflow:hidden}
.event-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--saffron),var(--gold))}
.event-card::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(245,200,66,.05) 0%,transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}
.event-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,.5);border-color:rgba(245,200,66,.3)}
.event-card:hover::after{opacity:1}
.event-date-box{display:inline-flex;flex-direction:column;align-items:center;background:linear-gradient(135deg,var(--saffron),var(--crimson));border-radius:8px;padding:8px 14px;margin-bottom:14px}
.event-date-box .day{font-size:1.6rem;font-weight:700;color:#fff;line-height:1}
.event-date-box .mon{font-size:.7rem;color:rgba(255,255,255,.85);letter-spacing:.1em;text-transform:uppercase}
.event-card h3{font-size:1.05rem;color:var(--gold);margin-bottom:8px}
.event-card p{font-size:.88rem;color:var(--muted)}
.event-card .tag{margin-top:12px}

/* ── Highlights ───────────────────────────────────── */
.highlights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.highlight-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px;text-align:center;transition:all .3s;cursor:default}
.highlight-card:hover{border-color:rgba(245,200,66,.35);background:rgba(42,5,16,.8);transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,0,0,.4)}
.highlight-icon{font-size:2.6rem;margin-bottom:16px;display:block;transition:transform .3s}
.highlight-card:hover .highlight-icon{transform:scale(1.2) rotate(-5deg)}
.highlight-card h3{font-size:1.05rem;color:var(--gold);margin-bottom:8px}
.highlight-card p{font-size:.85rem;color:var(--muted);line-height:1.7}

/* ── Footer ───────────────────────────────────────── */
footer{background:var(--surface);border-top:1px solid var(--border);padding:48px 0 24px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:36px;margin-bottom:36px}
.footer-col h4{font-size:.9rem;color:var(--gold);margin-bottom:16px;letter-spacing:.08em;text-transform:uppercase}
.footer-col p,.footer-col li{font-size:.85rem;color:var(--muted);line-height:1.8;list-style:none}
.footer-col a{color:var(--muted)}
.footer-col a:hover{color:var(--gold)}
.footer-bottom{text-align:center;padding-top:24px;border-top:1px solid var(--border);font-size:.78rem;color:var(--muted);opacity:.7}
.footer-logo-title{font-family:'Cinzel Decorative',serif;font-size:.9rem;color:var(--gold);margin-bottom:4px}
.footer-logo-sub{font-size:.62rem;color:var(--muted);letter-spacing:.06em;margin-bottom:12px}

/* ── Announcements Page ───────────────────────────── */
.announce-list{display:flex;flex-direction:column;gap:20px}
.announce-item{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px 28px;border-left:4px solid var(--saffron);transition:all .3s;position:relative}
.announce-item:hover{border-left-color:var(--gold);box-shadow:0 8px 32px rgba(0,0,0,.4);transform:translateX(4px)}
.announce-item.pinned{border-left-color:var(--gold)}
.announce-item h3{font-size:1.1rem;color:var(--gold);margin-bottom:8px}
.announce-item p{font-size:.9rem;color:var(--text);line-height:1.7}
.announce-meta{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}
.announce-meta .date{font-size:.78rem;color:var(--muted)}

/* ── Gallery ──────────────────────────────────────── */
.gallery-section-title{font-size:1.1rem;color:var(--gold);margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:40px}
.gallery-item{aspect-ratio:1;border-radius:10px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .3s,transform .3s,box-shadow .3s;background:var(--card);display:flex;align-items:center;justify-content:center;position:relative}
.gallery-item:hover{border-color:var(--gold);transform:scale(1.04);box-shadow:0 8px 32px rgba(0,0,0,.5)}
.gallery-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gallery-item:hover img{transform:scale(1.08)}
.gallery-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,var(--card),rgba(107,15,26,.3));color:var(--muted);font-size:.75rem;text-align:center;padding:12px}
.gallery-placeholder .emoji{font-size:2rem}
.gallery-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;color:#fff;font-size:1.5rem}
.gallery-item:hover .gallery-overlay{opacity:1}
.gallery-empty{text-align:center;color:var(--muted);padding:40px;font-size:.9rem}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}
.lightbox.open{display:flex}
.lightbox img{max-width:90vw;max-height:85vh;border-radius:10px;box-shadow:0 0 60px rgba(0,0,0,.8);object-fit:contain;animation:scaleIn .3s ease}
.lightbox-close{position:absolute;top:20px;right:20px;font-size:2rem;color:var(--gold);cursor:pointer;background:var(--card);border:1px solid var(--border);border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1}
.lightbox-close:hover{background:var(--crimson)}

/* ── About ────────────────────────────────────────── */
.about-hero{background:linear-gradient(135deg,var(--surface),var(--card));border:1px solid var(--border);border-radius:16px;padding:48px 40px;text-align:center;margin-bottom:48px;position:relative;overflow:hidden}
.about-hero::before{content:'🪔';position:absolute;font-size:8rem;opacity:.04;top:-20px;right:-20px}
.about-hero h2{font-size:clamp(1.4rem,3vw,2rem);color:var(--gold);margin-bottom:16px}
.about-hero p{font-size:1rem;color:var(--text);max-width:680px;margin:0 auto;line-height:1.9}
.mission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:48px}
.mission-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px;transition:all .3s}
.mission-card:hover{border-color:rgba(245,200,66,.3);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.4)}
.mission-card .icon{font-size:2.4rem;margin-bottom:14px}
.mission-card h3{font-size:1.05rem;color:var(--gold);margin-bottom:8px}
.mission-card p{font-size:.88rem;color:var(--muted);line-height:1.7}
.timeline{display:flex;flex-direction:column}
.timeline-item{position:relative;padding:24px 24px 24px 80px;border-left:2px solid rgba(245,200,66,.25);margin-left:32px}
.timeline-item::before{content:'';position:absolute;left:-9px;top:28px;width:16px;height:16px;background:linear-gradient(135deg,var(--saffron),var(--gold));border-radius:50%;border:3px solid var(--bg)}
.timeline-item .year{position:absolute;left:-70px;top:24px;font-size:.72rem;font-weight:700;color:var(--saffron);letter-spacing:.08em;text-transform:uppercase;text-align:right;width:56px}
.timeline-item h4{color:var(--gold);margin-bottom:8px}
.timeline-item p{font-size:.88rem;color:var(--muted);line-height:1.7}

/* ── Contact ──────────────────────────────────────── */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.contact-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px;text-align:center;transition:all .3s}
.contact-card:hover{border-color:rgba(245,200,66,.2);transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,.3)}
.c-icon{font-size:2.4rem;margin-bottom:14px}
.contact-card h3{font-size:1rem;color:var(--gold);margin-bottom:12px}
.contact-card a{display:block;color:var(--muted);font-size:.9rem;margin-bottom:4px}
.contact-card a:hover{color:var(--gold)}
.contact-card p{font-size:.88rem;color:var(--muted);line-height:1.8}
.map-placeholder{background:var(--card);border:1px dashed rgba(245,200,66,.3);border-radius:var(--radius);padding:48px 24px;text-align:center;color:var(--muted);margin-top:32px}

/* ── Chanda / Donate ──────────────────────────────── */
.donation-hero{background:linear-gradient(135deg,var(--surface),var(--card));border:1px solid var(--border);border-radius:16px;padding:40px 32px;text-align:center;margin-bottom:40px}
.donation-hero .big-icon{font-size:3rem;margin-bottom:14px}
.donation-hero h2{font-size:clamp(1.3rem,3vw,1.8rem);color:var(--gold);margin-bottom:12px}
.donation-hero p{font-size:.95rem;color:var(--muted);max-width:560px;margin:0 auto 16px;line-height:1.8}

/* Form styles */
.form-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:36px;max-width:600px;margin:0 auto 32px}
.form-card h3{font-size:1.2rem;color:var(--gold);margin-bottom:6px;text-align:center}
.form-card .form-sub{font-size:.85rem;color:var(--muted);text-align:center;margin-bottom:24px}
.form-group{margin-bottom:18px}
.form-group label{display:block;font-size:.82rem;font-weight:700;color:var(--muted);margin-bottom:6px;letter-spacing:.04em}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;background:rgba(255,255,255,.04);border:1px solid rgba(245,200,66,.2);border-radius:8px;color:var(--text);font-size:.9rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;outline:none}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(245,200,66,.1)}
.form-group select option{background:var(--card);color:var(--text)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}

/* Checkboxes for events */
.event-checkboxes{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.event-checkbox-label{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.04);border:1px solid rgba(245,200,66,.2);border-radius:8px;padding:8px 14px;cursor:pointer;transition:all .2s;font-size:.88rem;color:var(--muted)}
.event-checkbox-label:hover{border-color:rgba(245,200,66,.4);color:var(--text)}
.event-checkbox-label input{accent-color:var(--gold);width:16px;height:16px;cursor:pointer}
.event-checkbox-label.selected{border-color:var(--gold);background:rgba(245,200,66,.1);color:var(--gold)}

/* QR Section */
.qr-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin:32px 0}
.qr-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;text-align:center;transition:all .3s}
.qr-box:hover{border-color:rgba(245,200,66,.3);transform:translateY(-3px)}
.qr-placeholder{width:160px;height:160px;margin:0 auto 16px;background:linear-gradient(135deg,rgba(245,200,66,.05),rgba(255,107,0,.05));border:2px dashed rgba(245,200,66,.3);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:.8rem}
.qr-placeholder img{width:100%;height:100%;object-fit:contain;border-radius:10px}
.qr-icon{font-size:2rem}
.qr-box h3{color:var(--gold);font-size:1.05rem;margin-bottom:6px}
.upi-id{background:rgba(245,200,66,.07);border:1px solid rgba(245,200,66,.2);border-radius:8px;padding:10px 14px;font-size:.82rem;color:var(--text);margin-top:12px;line-height:1.7;font-family:monospace}

.donation-steps{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;margin-top:8px}
.donation-steps h3{color:var(--gold);font-size:1rem;margin-bottom:20px}
.step-item{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}
.step-num{flex-shrink:0;width:28px;height:28px;background:linear-gradient(135deg,var(--saffron),var(--gold));color:var(--deep);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}
.step-item p{font-size:.88rem;color:var(--muted);line-height:1.7;padding-top:2px}

/* Success/Error boxes */
.success-box{display:none;background:linear-gradient(135deg,rgba(0,120,60,.15),rgba(0,80,40,.1));border:1px solid rgba(0,200,100,.25);border-radius:16px;padding:36px;text-align:center;max-width:500px;margin:0 auto}
.success-box .s-icon{font-size:3rem;margin-bottom:14px}
.success-box h3{color:#4ade80;font-size:1.3rem;margin-bottom:10px}
.success-box p{color:var(--muted);font-size:.9rem;line-height:1.8}
.receipt-id{display:inline-block;background:rgba(245,200,66,.1);border:1px solid rgba(245,200,66,.3);border-radius:8px;padding:6px 16px;font-family:monospace;font-size:1.1rem;color:var(--gold);margin:12px 0;letter-spacing:.1em}

/* ── Competition Page ─────────────────────────────── */
.comp-hero{background:linear-gradient(135deg,rgba(107,15,26,.4),rgba(192,21,42,.2));border:1px solid var(--border);border-radius:16px;padding:40px 32px;text-align:center;margin-bottom:40px}
.comp-hero .big-icon{font-size:3rem;margin-bottom:14px}
.comp-hero h2{font-size:clamp(1.3rem,3vw,1.8rem);color:var(--gold);margin-bottom:12px}
.comp-hero p{font-size:.95rem;color:var(--muted);max-width:560px;margin:0 auto;line-height:1.8}
.comp-meta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:16px}
.comp-meta-pill{background:rgba(245,200,66,.1);border:1px solid rgba(245,200,66,.25);border-radius:50px;padding:6px 16px;font-size:.82rem;color:var(--gold-lt)}
.comp-closed{text-align:center;padding:60px 20px}
.comp-closed h2{font-size:1.5rem;color:var(--crimson);margin-bottom:12px}
.comp-closed p{color:var(--muted);font-size:.95rem}

/* Song field toggle */
.song-field{display:none}
.song-field.visible{display:block}

/* ── Responsive ───────────────────────────────────── */
@media (max-width:900px){
  .nav-links{display:none}
  .hamburger{display:flex}
  /* Logo takes the leftover space and truncates; the right-hand
     controls (audio + language + hamburger) keep a fixed size so they
     can never be pushed off-screen. This stops the nav from overflowing
     and clipping either the logo or the menu icon on small screens. */
  .nav-inner{gap:8px;flex-wrap:nowrap}
  .logo{flex:1 1 auto;min-width:0;flex-shrink:1}
  .nav-right{flex:0 0 auto}
}
@media (max-width:640px){.form-row{grid-template-columns:1fr}.about-hero{padding:32px 20px}.timeline-item{padding-left:56px}.timeline-item .year{left:-50px;width:40px;font-size:.65rem}}
@media (max-width:480px){
  .hero-title{font-size:1.6rem}
  .qr-section{grid-template-columns:1fr}
  .nav-inner{padding:0 10px;gap:6px}
  .logo{gap:6px}
  .logo-icon{width:34px;height:34px;font-size:1.2rem}
  .logo-title{font-size:.60rem;letter-spacing:.01em}
  .logo-sub{font-size:.5rem;letter-spacing:.04em}
  .nav-right{gap:6px}
  .audio-btn{width:28px;height:28px;font-size:.85rem}
  .lang-btn{padding:3px 6px;font-size:.62rem}
  .hamburger{width:30px;height:30px}
}
@media (max-width:390px){
  .logo-title{font-size:.54rem;letter-spacing:0}
  .logo-sub{font-size:.46rem;letter-spacing:.02em}
  .logo-icon{width:30px;height:30px;font-size:1rem}
  .nav-right{gap:5px}
  .lang-btn{padding:3px 5px;font-size:.58rem}
  .audio-btn{width:26px;height:26px;font-size:.8rem}
}
@media (max-width:330px){
  /* Keep the FULL logo (icon + both lines) even on tiny screens — just shrink. */
  .logo-title{font-size:.5rem}
  .logo-sub{font-size:.42rem}
  .logo-icon{width:28px;height:28px;font-size:.95rem}
  .nav-inner{padding:0 8px;gap:5px}
}
/* ── Loading skeleton ─────────────────────────────── */
.skeleton{background:linear-gradient(90deg,rgba(255,255,255,.04) 25%,rgba(255,255,255,.08) 50%,rgba(255,255,255,.04) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px;height:20px;margin-bottom:8px}

/* ── Gallery pill button (nav) ────────────────────── */
.nav-gallery-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px 16px;border-radius:999px;
  background:linear-gradient(135deg,#c0152a,#e01b34);
  color:#fff;font-weight:800;font-size:.72rem;letter-spacing:.08em;
  text-decoration:none;white-space:nowrap;flex-shrink:0;line-height:1;
  box-shadow:0 3px 10px rgba(192,21,42,.45);transition:all .2s;
}
.nav-gallery-btn:hover{background:linear-gradient(135deg,#d8182f,#ff2740);transform:translateY(-1px);}
@media (max-width:480px){.nav-gallery-btn{padding:6px 12px;font-size:.64rem;letter-spacing:.05em;}}
@media (max-width:390px){.nav-gallery-btn{padding:6px 10px;font-size:.6rem;letter-spacing:.03em;}}
@media (max-width:330px){.nav-gallery-btn{padding:5px 9px;font-size:.56rem;}}

/* ── Audio Button ─────────────────────────────────── */
.audio-btn{
  width:36px;height:36px;border-radius:50%;
  background:rgba(245,200,66,.15);
  border:1px solid rgba(245,200,66,.3);
  color:var(--gold);font-size:1.1rem;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all .25s;flex-shrink:0;
  animation:none;
}
.audio-btn:hover{background:rgba(245,200,66,.28);transform:scale(1.1)}
.audio-btn.paused{opacity:.6}

/* ── Maa Kali Section ─────────────────────────────── */
.kali-darshan{
  position:relative;width:100%;
  display:flex;align-items:center;justify-content:center;
  padding:48px 20px;background:var(--bg);
}
.kali-frame{
  position:relative;
  width:min(680px,92vw);
  border-radius:20px;
  border:3px solid var(--gold);
  box-shadow:0 0 12px rgba(245,200,66,.5),0 0 54px rgba(245,200,66,.25),inset 0 0 18px rgba(245,200,66,.06);
  overflow:hidden;
}
.kali-img-wrap{position:relative;width:100%;overflow:hidden}
.kali-img{
  width:100%;height:auto;display:block;
  animation:kaliBreath 8s ease-in-out infinite;
  transform-origin:center;
}
@keyframes kaliBreath{
  0%,100%{transform:scale(1.00)}
  50%{transform:scale(1.04)}
}
.kali-overlay{
  position:absolute;inset:0;
  background:linear-gradient(
    to bottom,
    rgba(18,0,3,.08) 0%,
    rgba(18,0,3,.06) 50%,
    rgba(18,0,3,.60) 100%
  );
  pointer-events:none;z-index:1;
}
.kali-flowers{
  position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2;
}
.kali-flower{
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    pointer-events: none;
    overflow: hidden;
    z-index: 1;
  }
@keyframes flowerFall {
    0%   { transform: translateY(0) translateX(0) rotate(0deg); opacity: 1; }
    88%  { opacity: 1; }
    100% { transform: translateY(calc(100vh + 80px)) translateX(var(--drift, 0px)) rotate(var(--spin, 360deg)); opacity: 0; }
  }
.kali-bottom-shadow{
  position:absolute;bottom:0;left:0;right:0;height:210px;
  background:linear-gradient(0deg,rgba(8,0,4,.88) 0%,rgba(8,0,4,.52) 1%,transparent 100%);
  pointer-events:none;z-index:3;
}
/* Agarbattis */
.kali-agarbattis{
  position:absolute;bottom:0;left:0;right:0;
  display:flex;justify-content:space-between;
  padding:0 28px;z-index:5;pointer-events:none;
  align-items:flex-end;
}
.agarbatti-wrap{
  position:relative;width:40px;display:flex;
  flex-direction:column;align-items:center;justify-content:flex-end;
}
.agarbatti-stick{
  width:3px;height:70px;
  background:linear-gradient(to top,#2a1000,#8a5010,#c48030);
  border-radius:2px;position:relative;z-index:2;
}
.agarbatti-base{
  width:14px;height:8px;
  background:linear-gradient(135deg,#4a2800,#7a4a10);
  border-radius:3px 3px 6px 6px;z-index:2;
}
.agarbatti-glow{
  position:absolute;top:-5px;left:50%;transform:translateX(-50%);
  width:9px;height:9px;border-radius:50%;
  background:radial-gradient(circle,#fff8e0 0%,#ffbb00 40%,#ff6600 70%,transparent 100%);
  box-shadow:0 0 10px 5px rgba(255,130,0,.65);
  animation:agarbattiGlow 1.4s ease-in-out infinite;
}
@keyframes agarbattiGlow{
  0%,100%{opacity:.65;transform:translateX(-50%) scale(.85)}
  50%{opacity:1;transform:translateX(-50%) scale(1.15);box-shadow:0 0 14px 7px rgba(255,140,0,.8)}
}
.agarbatti-smoke-svg{
  position:absolute;bottom:calc(100% + 2px);left:50%;transform:translateX(-50%);
  width:56px;overflow:visible;pointer-events:none;
}
.s-puff{
  animation:smokeUp linear infinite;
  transform-origin:bottom center;
}
@keyframes smokeUp{
  0%  {transform:translateY(0)     scaleX(.8) scaleY(.3);opacity:.6}
  50% {transform:translateY(-55px) scaleX(1.3) scaleY(.7);opacity:.35}
  100%{transform:translateY(-130px) scaleX(1.8) scaleY(1);opacity:0}
}
/* Title */
.kali-title-bar{
  position:absolute;bottom:18px;left:0;right:0;
  text-align:center;z-index:6;pointer-events:none;
}
.kali-title-text{
  font-family:'Cinzel Decorative',serif;
  font-size:clamp(1.3rem,3.8vw,2.3rem);
  font-weight:900;
  background:linear-gradient(135deg,#ffe78a,var(--gold),var(--saffron),var(--gold),#ffe78a);
  background-size:300% auto;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  letter-spacing:.20em;
  animation:jaiKaliGlow 2.4s ease-in-out infinite,shimmer 3.5s linear infinite;
  display:inline-block;
}
@keyframes jaiKaliGlow{
  0%,100%{filter:drop-shadow(0 0 8px rgba(245,200,66,.7)) drop-shadow(0 2px 4px rgba(0,0,0,.9))}
  50%{filter:drop-shadow(0 0 22px rgba(255,200,50,1)) drop-shadow(0 0 36px rgba(255,120,0,.7)) drop-shadow(0 2px 4px rgba(0,0,0,.9))}
}
@media(max-width:600px){
  .kali-darshan{padding:20px 10px}
  .kali-title-text{font-size:1.2rem;letter-spacing:.12em}
  .agarbatti-stick{height:52px}
}

/* ── Music Alert Toast ────────────────────────────── */
.music-toast{
  position:fixed;bottom:18px;right:16px;z-index:9999;
  max-width:280px;background:linear-gradient(135deg,rgba(26,5,5,.97),rgba(42,5,16,.97));
  border:1px solid rgba(245,200,66,.35);border-radius:12px;
  padding:14px 16px;box-shadow:0 8px 32px rgba(0,0,0,.6);
  display:flex;align-items:flex-start;gap:10px;
  animation:toastIn .35s ease both;
}
.music-toast.hiding{animation:toastOut .35s ease forwards}
@keyframes toastIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes toastOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(24px)}}
.music-toast-icon{font-size:1.5rem;flex-shrink:0;margin-top:1px}
.music-toast-body{flex:1}
.music-toast-msg{font-size:.78rem;color:#f8e8c8;line-height:1.55}
.music-toast-close{font-size:.85rem;color:var(--gold);cursor:pointer;margin-top:6px;display:inline-block;opacity:.8}
.music-toast-close:hover{opacity:1}

/* ── Financial Summary Section ────────────────────── */
.financial-summary-section{
  background:linear-gradient(135deg,rgba(26,5,5,.98),rgba(42,5,16,.98));
  border-top:1px solid rgba(245,200,66,.15);
  border-bottom:1px solid rgba(245,200,66,.15);
  padding:56px 20px;
}
.fs-header{text-align:center;margin-bottom:36px}
.fs-title{font-family:'Cinzel Decorative',serif;font-size:clamp(1.3rem,3vw,2rem);color:var(--gold);letter-spacing:.06em;margin-bottom:6px}
.fs-year-tag{display:inline-block;background:linear-gradient(135deg,var(--maroon),var(--crimson));border:1px solid rgba(245,200,66,.25);border-radius:50px;padding:4px 18px;font-size:.8rem;font-weight:700;color:var(--gold-lt);letter-spacing:.08em;margin-bottom:14px}
.fs-subtitle{font-size:.9rem;color:var(--muted);line-height:1.7;max-width:500px;margin:0 auto}
.fs-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;max-width:900px;margin:0 auto 28px}
.fs-card{background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:16px;padding:28px 24px;text-align:center;position:relative;overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}
.fs-card:hover{transform:translateY(-5px);border-color:rgba(245,200,66,.3);box-shadow:0 16px 40px rgba(0,0,0,.4)}
.fs-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.fs-card.chanda::before{background:linear-gradient(90deg,var(--saffron),var(--gold))}
.fs-card.expense::before{background:linear-gradient(90deg,var(--crimson),var(--maroon))}
.fs-card.balance::before{background:linear-gradient(90deg,#22c55e,#16a34a)}
.fs-card-icon{font-size:2.2rem;margin-bottom:12px;display:block}
.fs-card-label{font-size:.75rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-bottom:8px}
.fs-card-amount{font-family:'Cinzel Decorative',serif;font-size:clamp(1.4rem,3.5vw,2rem);font-weight:900;color:var(--gold);line-height:1;letter-spacing:.02em}
.fs-card.expense .fs-card-amount{color:#fca5a5}
.fs-note-wrap{text-align:center;max-width:600px;margin:0 auto}
.fs-note{display:none;background:rgba(245,200,66,.07);border:1px solid rgba(245,200,66,.18);border-radius:10px;padding:14px 20px;font-size:.88rem;color:var(--text);line-height:1.7;font-style:italic}

/* ── Donate page: Razorpay box + manual backup toggle ───────── */
.rzp-box{background:rgba(192,21,42,.10);border:1px solid rgba(245,200,66,.22);border-radius:14px;padding:18px 18px 14px;margin:6px 0 16px;text-align:center}
.rzp-title{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.12rem;color:var(--gold);margin-bottom:4px}
.rzp-sub{font-size:.84rem;color:var(--muted);margin-bottom:12px}
.rzp-methods{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.rzp-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(245,200,66,.06);border:1px solid var(--border);border-radius:50px;padding:6px 14px;font-size:.82rem;color:var(--text);white-space:nowrap}
.manual-toggle-wrap{max-width:680px;margin:30px auto 0}
.manual-toggle{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:rgba(42,5,16,.6);border:1px dashed rgba(245,200,66,.3);color:var(--gold);border-radius:12px;padding:14px 18px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s;font-family:inherit}
.manual-toggle:hover{background:rgba(245,200,66,.08);border-color:rgba(245,200,66,.5)}
.manual-caret{transition:transform .3s;display:inline-block}
.manual-toggle.open .manual-caret{transform:rotate(180deg)}
#manual-section{max-width:1000px;margin:18px auto 0;animation:fadeInDown .35s ease}
.manual-warn{background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.3);border-radius:12px;padding:14px 18px;font-size:.88rem;color:#fcd9a8;line-height:1.7;text-align:center;margin-bottom:22px}

/* ── Follow Us / social buttons ─────────────────────────────── */
.follow-panel{position:relative;max-width:640px;margin:0 auto;background:linear-gradient(160deg,rgba(107,15,26,.55),rgba(42,5,16,.7));border:1px solid rgba(245,200,66,.28);border-radius:24px;padding:46px 30px;text-align:center;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.4),inset 0 1px 0 rgba(245,200,66,.1)}
.follow-glow{position:absolute;top:-60px;left:50%;transform:translateX(-50%);width:300px;height:160px;background:radial-gradient(closest-side,rgba(245,200,66,.22),transparent);pointer-events:none}
.follow-panel .section-title,.follow-panel p{position:relative;z-index:1}
.social-links{position:relative;z-index:1;display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:center}
.social-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;border-radius:50px;color:#fff;font-weight:600;font-size:.95rem;text-decoration:none;border:none;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s,filter .25s}
.social-btn svg{flex-shrink:0;width:22px;height:22px}
.social-btn:hover{transform:translateY(-5px) scale(1.04);filter:brightness(1.08)}
.social-youtube{background:linear-gradient(135deg,#ff5252,#cc0000);box-shadow:0 8px 22px rgba(255,0,0,.35)}
.social-youtube:hover{box-shadow:0 16px 32px rgba(255,0,0,.55)}
.social-instagram{background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);box-shadow:0 8px 22px rgba(220,39,67,.38)}
.social-instagram:hover{box-shadow:0 16px 32px rgba(220,39,67,.58)}
.social-facebook{background:linear-gradient(135deg,#4596ff,#1877f2);box-shadow:0 8px 22px rgba(24,119,242,.38)}
.social-facebook:hover{box-shadow:0 16px 32px rgba(24,119,242,.58)}
/* Compact icon-only circles for the footer column */
.footer-social{margin-top:10px;gap:12px}
.footer-social .social-btn{width:46px;height:46px;padding:0;border-radius:50%;justify-content:center}
.footer-social .social-label{display:none}
@media (max-width:480px){.follow-panel{padding:34px 18px}.social-btn{font-size:.9rem;padding:11px 18px}}

/* ── Gallery per-image download button ──────────────────────── */
.gallery-item{position:relative}
.gallery-item img{cursor:pointer}
.gallery-dl{position:absolute;bottom:10px;right:10px;display:inline-flex;align-items:center;gap:5px;background:rgba(26,5,5,.78);color:var(--gold);border:1px solid rgba(245,200,66,.4);border-radius:30px;padding:6px 12px;font-size:.74rem;font-weight:600;font-family:inherit;cursor:pointer;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s,background .2s;backdrop-filter:blur(3px)}
.gallery-item:hover .gallery-dl{opacity:1;transform:translateY(0)}
.gallery-dl:hover{background:var(--gold);color:var(--deep)}
@media (hover:none){.gallery-dl{opacity:1;transform:none}}
