/* ============================================================
   Shri Shirdi Sai & Gnana Saraswathi Society — site styles
   Palette: temple maroon / saffron
   ============================================================ */
:root{
  --maroon:#6d1b1b;
  --maroon-dark:#4a0f0f;
  --saffron:#e8821b;
  --gold:#f0c14b;
}
body{ font-family: system-ui,"Segoe UI",Roboto,Arial,sans-serif; color:#222; }
a{ color:var(--maroon); }
a:hover{ color:var(--maroon-dark); }
.btn-danger{ background:var(--maroon); border-color:var(--maroon); }
.btn-danger:hover{ background:var(--maroon-dark); border-color:var(--maroon-dark); }
/* ---------- gradient headings ---------- */
.section-head{
  display:inline-block; padding-bottom:.4rem; margin-bottom:1rem; font-weight:800;
  background:linear-gradient(90deg,var(--maroon),var(--saffron));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  position:relative;
}
.section-head::after{
  content:""; position:absolute; left:0; bottom:0; height:3px; width:100%;
  background:linear-gradient(90deg,var(--gold),var(--saffron)); border-radius:3px;
}
h2.text-maroon, h3.text-maroon, h4.text-maroon, h5.text-maroon{
  background:linear-gradient(90deg,var(--maroon),var(--saffron));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
h2.text-maroon i, h3.text-maroon i, h4.text-maroon i, h5.text-maroon i{
  -webkit-text-fill-color:var(--saffron); color:var(--saffron);
}

/* ---------- colorful page-hero banner (interior pages) ---------- */
.page-hero{
  position:relative; padding:2.6rem 0; margin-bottom:1.8rem; overflow:hidden;
  background:linear-gradient(120deg,var(--maroon-dark),var(--maroon) 45%,var(--saffron));
  color:#fff;
}
.page-hero.has-photo::before{
  content:""; position:absolute; inset:0; background-size:cover; background-position:center;
  opacity:.22; mix-blend-mode:luminosity;
}
.page-hero::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:5px;
  background:linear-gradient(90deg,var(--gold),var(--saffron),var(--gold));
}
.page-hero .container{ position:relative; z-index:1; }
.page-hero h1{ font-weight:800; margin:0; text-shadow:0 2px 14px rgba(0,0,0,.3); }
.page-hero .crumbs{ font-size:.85rem; opacity:.92; margin-bottom:.4rem; }
.page-hero .crumbs a{ color:var(--gold); text-decoration:none; }
.page-hero .crumbs a:hover{ color:#fff; }

/* ---------- ROW 1 : top bar ---------- */
.topbar{
  background:linear-gradient(90deg,var(--maroon-dark),var(--maroon) 55%,var(--saffron));
  color:#fff8ec; font-size:.85rem; padding:.45rem 0;
  border-bottom:2px solid var(--gold);
}
.topbar a{ color:#fff8ec; }
.topbar-info span{ margin-right:1.2rem; white-space:nowrap; }
.topbar-info i,.topbar-social i{ color:var(--gold); }
.topbar-social a{ margin-left:.7rem; font-size:1rem; }
.topbar-social a:hover i{ color:#fff; }

/* ---------- ROW 2 : brand / address ---------- */
.brandbar{
  background:linear-gradient(180deg,#fffdf8,#fff);
  border-bottom:3px solid; border-image:linear-gradient(90deg,var(--gold),var(--saffron),var(--gold)) 1;
  padding:.85rem 0;
}
.brand-logo{
  width:64px;height:64px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin-right:.85rem;flex:0 0 auto;overflow:hidden;
  border:2px solid var(--gold);
  box-shadow:0 2px 8px rgba(109,27,27,.25);
}
/* object-fit:cover crops everything outside the circle; center on the deity */
.brand-logo img{ width:100%;height:100%;display:block;object-fit:cover;object-position:center 30%; }
.brand-text{ display:flex;flex-direction:column;line-height:1.15; }
.brand-title{ font-weight:800;color:var(--maroon);font-size:1.15rem;letter-spacing:.3px; }
.brand-sub{ color:#777;font-size:.8rem; }
.brand-address{ color:#555;font-size:.78rem;text-align:right;max-width:320px; }
.brand-address i{ color:var(--saffron); }

/* ---------- ROW 3 : menu bar + mega menu ---------- */
.menubar{
  background:linear-gradient(90deg,var(--maroon-dark),var(--maroon) 50%,var(--maroon-dark));
  padding:0; border-top:3px solid var(--gold);
  box-shadow:0 4px 14px rgba(74,15,15,.35);
}
.menubar .navbar-nav .nav-link{
  color:#fff; font-weight:600; padding:.9rem 1.05rem; font-size:.92rem;
  position:relative; transition:color .2s;
}
/* gold underline grows on hover */
.menubar .navbar-nav .nav-link::after{
  content:""; position:absolute; left:1.05rem; right:1.05rem; bottom:.45rem; height:2px;
  background:linear-gradient(90deg,var(--gold),var(--saffron));
  transform:scaleX(0); transform-origin:left; transition:transform .25s;
}
.menubar .navbar-nav .nav-link:hover::after,
.menubar .navbar-nav .nav-link.active::after{ transform:scaleX(1); }
.menubar .navbar-nav .nav-link:hover,
.menubar .navbar-nav .nav-link.active{
  background:linear-gradient(180deg,rgba(240,193,75,.12),rgba(232,130,27,.18));
  color:var(--gold);
}
.menubar .navbar-toggler{ border-color:rgba(255,255,255,.4); margin:.5rem 0; }
.menubar .navbar-toggler-icon{ filter:invert(1); }

/* mega menu */
.has-mega{ position:static; }
.menubar .dropdown-menu{ border:none;border-top:3px solid var(--gold);border-radius:0;margin-top:0;box-shadow:0 12px 28px rgba(0,0,0,.18); }
/* mega menu spans 70% of the viewport, centered under the menu bar */
.mega-menu{ width:70vw;left:50%;right:auto;transform:translateX(-50%);padding:1.5rem 0; }
/* 4-column grid: 3 equal link columns + 1 promo column */
.mega-inner{ display:grid;grid-template-columns:repeat(3,1fr) 1.1fr;gap:2.5rem;width:100%;margin:0 auto;padding:.5rem 2.5rem;align-items:start; }
.mega-col{ min-width:0; }
.mega-col h6{ color:var(--maroon);font-weight:700;text-transform:uppercase;font-size:.8rem;letter-spacing:.7px;border-bottom:2px solid var(--gold);padding-bottom:.5rem;margin-bottom:.7rem;min-height:1.3rem; }
.mega-col .dropdown-item{ display:flex;align-items:center;gap:.7rem;padding:.6rem .6rem;border-radius:.5rem;font-size:.95rem;font-weight:500;white-space:normal;color:#3a2a2a;transition:.15s; }
.mega-col .dropdown-item i{ display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:#faf3e6;color:var(--saffron);font-size:1rem;transition:.15s; }
.mega-col .dropdown-item:hover{ background:#faf3e6;color:var(--maroon);transform:translateX(3px); }
.mega-col .dropdown-item:hover i{ background:var(--maroon);color:#fff; }
.mega-feature{ grid-column:4;align-self:stretch; }
.mega-feature .mega-feature-card{ height:100%; }
.mega-feature-card{ background:linear-gradient(135deg,var(--maroon),var(--saffron));color:#fff;border-radius:.6rem;padding:1.25rem;display:flex;flex-direction:column;gap:.4rem; }
.mega-feature-card i{ font-size:1.7rem;color:var(--gold); }
.mega-feature-card strong{ font-size:1.1rem; }
.mega-feature-card span{ font-size:.84rem;opacity:.95; }
/* CTA variant (clickable card) */
a.mega-feature-cta{ text-decoration:none;transition:.2s; }
a.mega-feature-cta:hover{ transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.25); }
.mega-cta-btn{ margin-top:.4rem;display:inline-block;align-self:flex-start;background:rgba(255,255,255,.18);color:#fff;font-weight:600;font-size:.82rem;padding:.35rem .8rem;border-radius:2rem; }
a.mega-feature-cta:hover .mega-cta-btn{ background:#fff;color:var(--maroon); }

/* open mega menu on hover for desktop */
@media (min-width:992px){
  .menubar .nav-item.dropdown:hover > .dropdown-menu{ display:block; }
}

/* ---------- hero carousel ---------- */
.btn-gold{ background:var(--gold);color:var(--maroon-dark);font-weight:700;border:none; }
.btn-gold:hover{ background:#ffd463;color:var(--maroon-dark); }
.hero-carousel{ position:relative; }
.hero-slide{ position:relative;height:clamp(360px,42vw,580px);overflow:hidden;background:#2a0a0a; }
/* blurred fill behind so the wide letterbox never looks empty */
.hero-bg{ position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(22px) brightness(.55);transform:scale(1.1); }
/* the real photo — CONTAIN so heads/faces are NEVER cropped */
.hero-photo{ position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center; }
.hero-slide.hero-fallback{ background:linear-gradient(135deg,var(--maroon),var(--saffron)); }
.hero-overlay{ position:absolute;inset:0;background:linear-gradient(90deg,rgba(58,13,13,.9) 0%,rgba(58,13,13,.55) 42%,rgba(58,13,13,.1) 75%,rgba(58,13,13,0) 100%); }
.hero-caption{ position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;color:#fff; }
.hero-caption h1{ font-weight:800;font-size:clamp(1.9rem,4vw,3.2rem);margin-bottom:.6rem;text-shadow:0 2px 12px rgba(0,0,0,.4); }
.hero-caption h1::after{ content:"";display:block;width:80px;height:4px;background:var(--gold);border-radius:2px;margin-top:.7rem; }
.hero-caption p{ max-width:620px;font-size:clamp(1rem,1.6vw,1.25rem);opacity:.95;margin-bottom:1.2rem; }
.hero-actions{ display:flex;gap:.7rem;flex-wrap:wrap; }
.carousel-indicators [data-bs-target]{ width:34px;height:5px;border-radius:3px; }

/* ---------- stats bar ---------- */
.stats-bar{ background:var(--maroon-dark);color:#fff;padding:1.6rem 0; }
.stats-bar .stat{ display:flex;flex-direction:column;align-items:center;gap:.2rem; }
.stats-bar .stat i{ font-size:1.7rem;color:var(--gold);margin-bottom:.2rem; }
.stats-bar .stat-num{ font-size:1.8rem;font-weight:800;line-height:1; }
.stats-bar .stat-label{ font-size:.82rem;opacity:.85;text-transform:uppercase;letter-spacing:.5px; }

/* ---------- services grid ---------- */
.service-card{ display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid #eee;border-radius:.7rem;padding:1.2rem;height:100%;text-decoration:none;transition:.2s; }
.service-card:hover{ box-shadow:0 12px 28px rgba(0,0,0,.1);transform:translateY(-4px);border-color:var(--gold); }
.service-icon{ flex:0 0 56px;width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,var(--saffron),var(--gold));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem; }
.service-body strong{ display:block;color:var(--maroon);margin-bottom:.2rem;font-size:1.05rem; }
.service-body span{ display:block;color:#666;font-size:.88rem;line-height:1.5; }

/* ---------- donate CTA ---------- */
.donate-cta{ background:linear-gradient(120deg,var(--maroon),var(--saffron));border-radius:1rem;color:#fff;padding:2rem 2.2rem; }
.donate-inner{ display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap; }
.donate-cta h3{ font-weight:800;margin-bottom:.3rem; }
.donate-cta p{ max-width:620px;opacity:.95; }

/* ---------- feature cards ---------- */
.feature-card{ background:#fff;border:1px solid #eee;border-radius:.7rem;padding:1.6rem 1.25rem;position:relative;transition:.2s; }
.feature-card:hover{ box-shadow:0 10px 24px rgba(0,0,0,.08);transform:translateY(-3px); }
.feature-icon{ width:64px;height:64px;margin:0 auto 1rem;border-radius:50%;background:#faf3e6;color:var(--saffron);display:flex;align-items:center;justify-content:center;font-size:1.7rem; }
.feature-card h5{ color:var(--maroon); }
.feature-card p{ font-size:.9rem;color:#555; }

/* ---------- info box ---------- */
.info-box{ background:#faf3e6;border:1px solid #f0e3c8;border-radius:.7rem;padding:1.25rem; }
.info-box h6{ color:var(--maroon);font-weight:700; }
.info-box i{ color:var(--saffron); }

/* ---------- footer ---------- */
.site-footer{ background:var(--maroon-dark); color:#e9d9c4; padding:2.5rem 0 1.25rem; margin-top:3rem; }
.site-footer a{ color:#f0c14b; text-decoration:none; padding:.1rem 0; }
.site-footer a:hover{ color:#fff; }
.footer-head{ color:#fff; font-weight:700; margin-bottom:.7rem; }
.site-footer i{ color:var(--saffron); }
.footer-rule{ border-color:rgba(255,255,255,.15); margin:1.5rem 0 1rem; }
/* footer brand + social */
.footer-logo{ border-radius:50%; object-fit:cover; border:2px solid var(--gold); }
.footer-brand .footer-head{ font-size:.95rem; line-height:1.2; }
.footer-social{ display:flex; gap:.5rem; }
.footer-social a{ width:34px; height:34px; display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,.25); border-radius:50%; color:#f0c14b; }
.footer-social a:hover{ background:var(--gold); color:var(--maroon-dark); }
.footer-social i{ color:inherit; }
/* quick-links: single column by default, two columns when asked */
.footer-links{ display:flex; flex-direction:column; gap:.15rem; }
.footer-links a{ display:inline-flex; }
.footer-links-2col{ display:grid; grid-template-columns:1fr 1fr; gap:.15rem 1.2rem; }
/* footer google map */
.footer-map{ border-radius:.6rem; overflow:hidden; box-shadow:0 3px 12px rgba(0,0,0,.25); }
.footer-map iframe{ display:block; width:100%; height:200px; border:0; filter:saturate(.95); }
.footer-directions{ display:inline-block; margin-top:.35rem; font-weight:600; }
.footer-legal a{ white-space:nowrap; }
/* directions button — force dark text on gold so it never looks empty */
.footer-dir-btn{ background:var(--gold); color:var(--maroon-dark)!important; font-weight:700; border:none; }
.footer-dir-btn:hover{ background:#ffd463; color:var(--maroon-dark)!important; }
.footer-dir-btn i{ color:var(--maroon-dark)!important; }
@media (max-width:575px){ .footer-links-2col{ grid-template-columns:1fr; } }
/* bottom bar: copyright left, credit right */
.footer-bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.5rem; }
.footer-copy{ color:#e9d9c4; }
.footer-credit{ color:#e9d9c4; text-align:right; }
.footer-credit a{ font-weight:600; }
@media (max-width:575px){
  .footer-links{ grid-template-columns:1fr; }
  .footer-bottom{ flex-direction:column; text-align:center; }
  .footer-credit{ text-align:center; }
}

.content{ line-height:1.7; }
.content img{ max-width:100%;height:auto; }

/* helpers */
.text-maroon{ color:var(--maroon)!important; }
.table-maroon th{ background:var(--maroon); color:#fff; }

/* committee member cards */
.member-card{ display:flex;gap:.9rem;background:#fff;border:1px solid #eee;border-radius:.6rem;padding:1rem;transition:.2s; }
.member-card:hover{ box-shadow:0 8px 20px rgba(0,0,0,.07); }
.member-avatar{ width:52px;height:52px;border-radius:50%;flex:0 0 auto;background:#faf3e6;color:var(--saffron);display:flex;align-items:center;justify-content:center;font-size:1.5rem; }
.member-name{ font-weight:700;color:var(--maroon); }
.member-role{ color:var(--saffron);font-size:.85rem;font-weight:600; }
.member-detail{ font-size:.8rem;color:#666; }
.member-phone{ font-size:.82rem;color:#444;margin-top:.2rem; }

/* parayanam day-wise grid */
.parayanam-day{ background:#fff;border:1px solid #eee;border-radius:.6rem;overflow:hidden; }
.parayanam-day-head{ background:var(--maroon);color:#fff;font-weight:700;padding:.5rem .9rem;text-transform:uppercase;font-size:.85rem;letter-spacing:.5px; }
.parayanam-day ul{ padding:.6rem .9rem; }
.parayanam-day li{ padding:.2rem 0;border-bottom:1px dashed #eee; }
.parayanam-day li:last-child{ border-bottom:none; }
.parayanam-day a{ text-decoration:none;font-weight:500; }
.parayanam-text{ font-size:1.05rem; line-height:1.9; }
.parayanam-text h1,.parayanam-text h2,.parayanam-text h3{ color:var(--maroon); text-align:center; }
.parayanam-text center,.parayanam-text [align="center"]{ display:block;text-align:center; }

/* ---------- prayer / sacred-text blocks (centered devotional text) ---------- */
.prayer-block{ text-align:center; }
.prayer-block h3{ margin-bottom:1rem; }
.prayer-block p{ margin-bottom:1.1rem; line-height:1.9; }
.prayer-block strong{ color:var(--maroon); }

/* side-by-side language boxes */
.lang-box{
  height:100%; border-radius:.9rem; overflow:hidden; background:#fffdf8;
  border:1px solid #f0e3cf; box-shadow:0 8px 26px rgba(109,27,27,.12);
}
.lang-box-head{
  padding:.8rem 1rem; color:#fff; font-weight:700; font-size:1.1rem; text-align:center;
  display:flex; align-items:center; justify-content:center; gap:.5rem;
}
.lang-box-head span{ font-size:.8rem; font-weight:500; opacity:.85; }
.lang-box-head i{ color:var(--gold); }
.lang-box-te .lang-box-head{ background:linear-gradient(120deg,var(--maroon),var(--saffron)); }
.lang-box-hi .lang-box-head{ background:linear-gradient(120deg,var(--maroon-dark),var(--maroon)); }
.lang-box-body{
  padding:1.6rem 1.4rem; text-align:center; color:#3a2a1a; line-height:1.95;
  background:radial-gradient(circle at top,rgba(240,193,75,.07),transparent 65%);
}
.lang-box-body p{ margin-bottom:1.1rem; }
.lang-box-body strong{ color:var(--maroon); }
.lang-box-body .text-muted{ margin-top:1rem; }
@media (max-width:575px){ .lang-box-body{ padding:1.2rem 1rem; } }

/* background audio bar */
.bg-audio-bar{ position:fixed;left:1rem;bottom:1rem;z-index:1050;display:flex;align-items:center;gap:.5rem;
  background:var(--maroon-dark);color:#f0c14b;padding:.45rem .7rem;border-radius:2rem;box-shadow:0 6px 18px rgba(0,0,0,.3); }
.bg-audio-bar > i{ font-size:1.05rem; }
.bg-audio-label{ font-size:.82rem;color:#fff;white-space:nowrap; }
.bg-audio-btn{ background:transparent;border:none;color:#f0c14b;cursor:pointer;font-size:1rem;padding:.1rem .25rem;line-height:1; }
.bg-audio-btn:hover{ color:#fff; }

/* event cards */
.event-card{ overflow:hidden;border:1px solid #eee;border-radius:.6rem;transition:.2s; }
.event-card:hover{ box-shadow:0 10px 24px rgba(0,0,0,.1);transform:translateY(-3px); }
.event-thumb{ position:relative;display:block;height:190px; }
.event-thumb img{ width:100%;height:100%;object-fit:cover; }
.event-thumb-ph{ width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#faf3e6;color:var(--saffron);font-size:2.4rem; }
.event-photo-badge{ position:absolute;right:.5rem;bottom:.5rem;background:rgba(0,0,0,.65);color:#fff;font-size:.78rem;padding:.15rem .5rem;border-radius:1rem; }

/* temple overview cards */
.temple-card{ overflow:hidden;border:1px solid #eee;border-radius:.7rem;transition:.2s; }
.temple-card:hover{ box-shadow:0 12px 28px rgba(0,0,0,.1);transform:translateY(-3px); }
.temple-card-thumb{ display:block;height:240px;overflow:hidden; }
.temple-card-thumb img{ width:100%;height:100%;object-fit:cover;transition:.4s; }
.temple-card:hover .temple-card-thumb img{ transform:scale(1.05); }

/* google map embed */
.map-embed{ position:relative;width:100%;border-radius:.7rem;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.08); }
.map-embed iframe{ display:block;width:100%;height:320px;border:0; }

/* activity cards */
.activity-card{ background:#fff;border:1px solid #eee;border-radius:.6rem;padding:1.4rem; }
.activity-card h5{ margin-bottom:.8rem; }
.activity-card ul{ padding-left:1.1rem; }
.activity-card li{ margin-bottom:.35rem;font-size:.92rem;color:#444; }
.activity-card ul ul{ margin-top:.3rem; }
/* schedule / fee tables */
.activity-table th{ color:var(--maroon);font-weight:600;white-space:nowrap;width:38%;vertical-align:top;font-size:.9rem; }
.activity-table td{ color:#444;font-size:.9rem; }
.activity-table tr{ border-color:#f0e3c8; }

@media (max-width:991px){
  .brand-address{ text-align:left;max-width:none;margin-top:.5rem; }
  /* on mobile the mega-menu is full width inside the collapsed nav */
  .mega-menu{ width:100%;left:0;transform:none;padding:.5rem 0;box-shadow:none; }
  .mega-inner{ grid-template-columns:1fr;gap:1rem;padding:0 1rem; }
  .mega-feature{ grid-column:1; }
  .menubar .navbar-nav .nav-link{ padding:.6rem .9rem; }
}

/* ============================================================
   The Society (about) page — rich layout
   ============================================================ */
.founder-card{
  display:flex; gap:1rem; align-items:center; padding:1.3rem 1.4rem; border-radius:.9rem;
  background:linear-gradient(135deg,var(--maroon),var(--saffron)); color:#fff;
  box-shadow:0 10px 30px rgba(109,27,27,.22);
}
.founder-card > i{ font-size:2.6rem; color:var(--gold); }
.founder-label{ display:block; font-size:.75rem; text-transform:uppercase; letter-spacing:1px; opacity:.85; }
.founder-card strong{ display:block; font-size:1.25rem; }
.founder-sub{ display:block; font-size:.82rem; opacity:.92; }

/* vision / mission / values */
.vmv-card{
  background:#fff; border-radius:.9rem; padding:1.6rem 1.4rem; text-align:center;
  border:1px solid #f0e3cf; box-shadow:0 8px 24px rgba(0,0,0,.06); transition:.2s; position:relative; overflow:hidden;
}
.vmv-card:hover{ transform:translateY(-5px); box-shadow:0 16px 36px rgba(109,27,27,.14); }
.vmv-card::before{ content:""; position:absolute; left:0; right:0; top:0; height:4px;
  background:linear-gradient(90deg,var(--gold),var(--saffron)); }
.vmv-icon{ width:64px; height:64px; margin:0 auto 1rem; border-radius:50%; display:flex;
  align-items:center; justify-content:center; font-size:1.7rem; color:#fff;
  background:linear-gradient(135deg,var(--maroon),var(--saffron)); box-shadow:0 6px 16px rgba(232,130,27,.35); }
.vmv-card h4{
  background:linear-gradient(90deg,var(--maroon),var(--saffron));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  font-weight:800; margin-bottom:.6rem;
}
.vmv-card p{ color:#555; margin:0; }

/* society stats band */
.society-stats{
  background:linear-gradient(90deg,var(--maroon-dark),var(--maroon) 55%,var(--saffron));
  border-radius:1rem; padding:1.6rem 1rem; color:#fff;
  border-top:3px solid var(--gold); border-bottom:3px solid var(--gold);
}
.ss-stat{ display:flex; flex-direction:column; align-items:center; gap:.15rem; }
.ss-stat i{ font-size:1.6rem; color:var(--gold); }
.ss-num{ font-size:1.7rem; font-weight:800; line-height:1; }
.ss-label{ font-size:.78rem; text-transform:uppercase; letter-spacing:.5px; opacity:.9; }

/* history timeline */
.timeline{ position:relative; padding-left:2.2rem; }
.timeline::before{ content:""; position:absolute; left:.6rem; top:.4rem; bottom:.4rem; width:3px;
  background:linear-gradient(180deg,var(--gold),var(--saffron)); border-radius:3px; }
.tl-item{ position:relative; display:flex; gap:1rem; padding-bottom:1.4rem; }
.tl-item::before{ content:""; position:absolute; left:-1.85rem; top:.3rem; width:14px; height:14px;
  border-radius:50%; background:var(--saffron); border:3px solid #fff; box-shadow:0 0 0 2px var(--gold); }
.tl-year{ flex:0 0 92px; font-weight:800; color:var(--maroon); }
.tl-body{ color:#444; }

/* objectives */
.obj-card{ display:flex; gap:1rem; align-items:flex-start; background:#fff; border:1px solid #f0e3cf;
  border-radius:.8rem; padding:1.2rem; transition:.2s; }
.obj-card:hover{ box-shadow:0 12px 28px rgba(0,0,0,.1); transform:translateY(-3px); border-color:var(--gold); }
.obj-icon{ flex:0 0 48px; width:48px; height:48px; border-radius:12px; display:flex; align-items:center;
  justify-content:center; font-size:1.3rem; color:#fff; background:linear-gradient(135deg,var(--saffron),var(--gold)); }
.obj-card strong{ display:block; color:var(--maroon); margin-bottom:.2rem; }
.obj-card p{ color:#666; font-size:.9rem; }

/* what we run */
.run-card{ display:flex; flex-direction:column; gap:.3rem; height:100%; text-decoration:none; text-align:center;
  background:#fffdf8; border:1px solid #f0e3cf; border-radius:.8rem; padding:1.4rem 1rem; transition:.2s; }
.run-card:hover{ transform:translateY(-4px); box-shadow:0 14px 30px rgba(109,27,27,.14); border-color:var(--gold); }
.run-card > i{ font-size:2rem; color:var(--saffron); margin-bottom:.3rem; }
.run-card strong{ color:var(--maroon); }
.run-card span{ color:#777; font-size:.82rem; }

/* CTA */
.society-cta{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;
  background:linear-gradient(120deg,var(--maroon),var(--saffron)); color:#fff; border-radius:1rem; padding:2rem 2.2rem;
  border-top:3px solid var(--gold); }
.society-cta h3{ font-weight:800; margin-bottom:.3rem; }

/* interior page photo thumbnails */
.page-photo{ display:block; height:170px; border-radius:.7rem; overflow:hidden; box-shadow:0 4px 14px rgba(0,0,0,.1); }
.page-photo img{ width:100%; height:100%; object-fit:cover; transition:.4s; }
.page-photo:hover img{ transform:scale(1.06); }

/* activities section sub-nav (chips) */
.act-subnav{ display:flex; flex-wrap:wrap; gap:.5rem; }
.act-chip{ display:inline-flex; align-items:center; gap:.4rem; padding:.4rem .9rem; border-radius:2rem;
  font-size:.88rem; font-weight:600; text-decoration:none; color:var(--maroon);
  background:#fff; border:1px solid #f0e3cf; transition:.2s; }
.act-chip:hover{ border-color:var(--gold); color:var(--maroon-dark); }
.act-chip.active{ background:linear-gradient(120deg,var(--maroon),var(--saffron)); color:#fff; border-color:transparent; }
.act-chip.active i{ color:var(--gold); }
.act-chip i{ color:var(--saffron); }

/* ---------- lightbox popup ---------- */
.lightbox{ position:fixed; inset:0; z-index:1080; display:none; align-items:center; justify-content:center;
  background:rgba(20,6,6,.92); padding:2rem; }
.lightbox.open{ display:flex; }
.lightbox .lb-img{ max-width:92vw; max-height:86vh; border-radius:.5rem; box-shadow:0 10px 50px rgba(0,0,0,.6);
  border:3px solid var(--gold); background:#000; }
.lightbox .lb-caption{ position:absolute; bottom:1rem; left:0; right:0; text-align:center; color:#fff;
  font-size:.95rem; padding:0 1rem; text-shadow:0 1px 6px rgba(0,0,0,.8); }
.lightbox button{ position:absolute; background:rgba(0,0,0,.45); color:#f0c14b; border:none; cursor:pointer;
  width:48px; height:48px; border-radius:50%; font-size:1.8rem; line-height:1; display:flex;
  align-items:center; justify-content:center; transition:.2s; }
.lightbox button:hover{ background:var(--gold); color:var(--maroon-dark); }
.lightbox .lb-close{ top:1.2rem; right:1.2rem; font-size:2rem; }
.lightbox .lb-prev{ left:1.2rem; top:50%; transform:translateY(-50%); }
.lightbox .lb-next{ right:1.2rem; top:50%; transform:translateY(-50%); }
@media (max-width:575px){ .lightbox{ padding:.5rem; } .lightbox .lb-prev{ left:.3rem; } .lightbox .lb-next{ right:.3rem; } }
