/* =============================================================
   Shree Shiv Mandir — Temple Website
   Palette: maroon / saffron / gold / cream (traditional temple look)
   ============================================================= */

:root{
  --maroon-dark:#4a0a15;
  --maroon:#7a1225;
  --maroon-light:#9c1c33;
  --saffron:#e2771f;
  --saffron-light:#f4973f;
  --gold:#d4af37;
  --gold-light:#f1d78c;
  --bronze-dark:#5a3d1f;
  --bronze:#8c6a3a;
  --bronze-light:#c9a35c;
  --cream:#fdf6ec;
  --cream-dark:#f4e9d8;
  --ink:#2b1a12;
  --ink-light:#5a4636;
  --radius:8px;
  --radius-soft:14px;
  --shadow:0 8px 24px rgba(74,10,21,0.14);
  --shadow-lg:0 16px 36px rgba(74,10,21,0.2);
  --font-head:"Playfair Display", Georgia, "Noto Serif Devanagari", serif;
  --font-body:"Poppins", "Segoe UI", sans-serif;

  /* unified sacred emblem: trishul + crescent + central bindu, used as the
     one recurring devotional mark across dividers/buttons instead of mixed emoji */
  --emblem: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'%3E%3Cpath d='M12 2 L12 26 M12 9 L5 2 M12 9 L19 2 M8 20 L16 20' stroke='black' stroke-width='2.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

  /* custom line-icon set: replaces mismatched emoji with one consistent style */
  --icon-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-7.3-7-12.2A7 7 0 0 1 19 8.8C19 13.7 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9' r='2.3'/%3E%3C/svg%3E");
  --icon-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.6 10.8a15.9 15.9 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20.5c0 .6-.4 1-1 1C12 21.5 2.5 12 2.5 2c0-.6.4-1 1-1H7c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1l-2 2.2z'/%3E%3C/svg%3E");
  --icon-building: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='1'/%3E%3Cpath d='M7 7h2M11 7h2M15 7h2M7 12h2M11 12h2M15 12h2'/%3E%3Crect x='10' y='17' width='4' height='4'/%3E%3C/svg%3E");
  --icon-card: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20M6 15h4'/%3E%3C/svg%3E");
  --icon-scroll: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2h8l5 5v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1z'/%3E%3Cpath d='M14 2v5h5'/%3E%3Cpath d='M8 12h8M8 16h5'/%3E%3C/svg%3E");
  --icon-people: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Cpath d='M3 20c0-3.5 2.7-6.2 6-6.2s6 2.7 6 6.2'/%3E%3Ccircle cx='17.5' cy='9' r='2.3'/%3E%3Cpath d='M15.5 20c0-2.8 1.9-5 4.5-5'/%3E%3C/svg%3E");
  --icon-temple: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l4 7H8z'/%3E%3Cpath d='M6 9h12v4H6z'/%3E%3Cpath d='M8 13v7M16 13v7M4 20h16'/%3E%3C/svg%3E");
  --icon-lotus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20c-4.5-2-8-5.3-8-9.3a5 5 0 0 1 8-4A5 5 0 0 1 20 10.7c0 4-3.5 7.3-8 9.3z'/%3E%3Cpath d='M12 20V9'/%3E%3C/svg%3E");
  --icon-bull: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 5c-1-2-1-3 0-4M17 5c1-2 1-3 0-4'/%3E%3Cpath d='M4 10c0-3 2-5 4-5 1 0 1.5 1 2 1s1-1 2-1c2 0 4 2 4 5 0 2-1 3-2 4l1 4H7l1-4c-1-1-2-2-2-4z'/%3E%3C/svg%3E");
  --icon-moon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12.5A8.5 8.5 0 1 1 11.5 4a7 7 0 0 0 8.5 8.5z'/%3E%3C/svg%3E");
  --icon-sparkle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l1.8 6.2L20 10l-6.2 1.8L12 18l-1.8-6.2L4 10l6.2-1.8z'/%3E%3C/svg%3E");
  --icon-flame: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2c2 3-1 4-1 7 0 1.5 1 2.5 2 2.5 1.5 0 2-1.5 1.5-3 2 1.5 3 4 3 6.5a7.5 7.5 0 0 1-15 0C2.5 10 6 8 7 5c.3 2 1.5 3 2.5 2C11 5.5 10 3.5 12 2z'/%3E%3C/svg%3E");
  --icon-home: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-8 9 8'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Crect x='10' y='14' width='4' height='6'/%3E%3C/svg%3E");
  --icon-road: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20c4-6 4-10 8-10s4 4 8 10'/%3E%3Ccircle cx='4' cy='20' r='1.5' fill='black' stroke='none'/%3E%3Ccircle cx='20' cy='20' r='1.5' fill='black' stroke='none'/%3E%3C/svg%3E");
}

/* ---------- Icon glyph component (replaces inline emoji) ---------- */
.icon-glyph{
  display:inline-block;flex-shrink:0;
  width:1em;height:1em;
  background-color:currentColor;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:contain;mask-size:contain;
  vertical-align:-0.15em;
}
.icon-glyph--pin{-webkit-mask-image:var(--icon-pin);mask-image:var(--icon-pin);}
.icon-glyph--phone{-webkit-mask-image:var(--icon-phone);mask-image:var(--icon-phone);}
.icon-glyph--building{-webkit-mask-image:var(--icon-building);mask-image:var(--icon-building);}
.icon-glyph--card{-webkit-mask-image:var(--icon-card);mask-image:var(--icon-card);}
.icon-glyph--scroll{-webkit-mask-image:var(--icon-scroll);mask-image:var(--icon-scroll);}
.icon-glyph--people{-webkit-mask-image:var(--icon-people);mask-image:var(--icon-people);}
.icon-glyph--temple{-webkit-mask-image:var(--icon-temple);mask-image:var(--icon-temple);}
.icon-glyph--lotus{-webkit-mask-image:var(--icon-lotus);mask-image:var(--icon-lotus);}
.icon-glyph--bull{-webkit-mask-image:var(--icon-bull);mask-image:var(--icon-bull);}
.icon-glyph--moon{-webkit-mask-image:var(--icon-moon);mask-image:var(--icon-moon);}
.icon-glyph--sparkle{-webkit-mask-image:var(--icon-sparkle);mask-image:var(--icon-sparkle);}
.icon-glyph--flame{-webkit-mask-image:var(--icon-flame);mask-image:var(--icon-flame);}
.icon-glyph--home{-webkit-mask-image:var(--icon-home);mask-image:var(--icon-home);}
.icon-glyph--road{-webkit-mask-image:var(--icon-road);mask-image:var(--icon-road);}

/* topbar / info-list / card icons now render as glyphs, sized up from the 1em default */
.topbar .icon-glyph{width:14px;height:14px;color:var(--cream-dark);}
.info-list .icon .icon-glyph{width:20px;height:20px;color:#fff;}
.card .icon .icon-glyph{width:26px;height:26px;color:#fff;}
.doc-card .icon .icon-glyph{width:26px;height:26px;color:#fff;}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{overflow-x:hidden;max-width:100%;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background-color:var(--cream);
  background-image:
    radial-gradient(circle at 50% 0%, rgba(122,18,37,0.05), transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cg fill='none' stroke='%237a1225' stroke-width='1' opacity='0.05'%3E%3Cpath d='M90 36 L90 150 M74 22 C74 42 82 50 90 50 C98 50 106 42 106 22 M60 14 C60 34 72 46 82 50 M120 14 C120 34 108 46 98 50 M68 150 L112 150'/%3E%3C/g%3E%3C/svg%3E");
  background-attachment:fixed;
  line-height:1.65;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;}
li{list-style:none;}
h1,h2,h3,h4{font-family:var(--font-head);margin:0 0 .5em;color:var(--maroon-dark);line-height:1.2;}
p{margin:0 0 1em;}
.container{max-width:1180px;margin:0 auto;padding:0 24px;}
.section{padding:84px 0;}
.section-alt{background:var(--cream-dark);}
.section-dark{background:linear-gradient(160deg,var(--maroon-dark),var(--maroon));color:var(--cream);}
.section-dark h2, .section-dark h3{color:var(--gold-light);}
.eyebrow{
  display:inline-block;
  font-family:var(--font-body);
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:.75rem;
  color:var(--saffron);
  font-weight:600;
  margin-bottom:10px;
}
.section-head{text-align:center;max-width:720px;margin:0 auto 48px;}
.section-head p{color:var(--ink-light);}

/* ---------- Divider motif ---------- */
.divider{
  display:flex;align-items:center;justify-content:center;gap:14px;
  margin:18px auto 0;color:var(--gold);
}
.divider::before,.divider::after{
  content:"";height:1px;width:60px;background:linear-gradient(90deg,transparent,var(--bronze-light));
}
.divider::after{background:linear-gradient(90deg,var(--bronze-light),transparent);}
/* every divider uses the same Om mark, regardless of the (now-hidden)
   emoji still sitting in the HTML for older content */
.divider span{
  font-size:0;display:inline-block;width:22px;height:27px;position:relative;
}
.divider span::before{
  content:"ॐ";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;line-height:1;font-family:Georgia,"Noto Sans Devanagari",serif;
  background:linear-gradient(160deg,var(--gold-light),var(--bronze));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:13px 28px;border-radius:var(--radius);
  font-weight:600;font-size:.86rem;letter-spacing:.06em;text-transform:uppercase;
  border:1px solid transparent;cursor:pointer;
  transition:box-shadow .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}
.btn::before{content:"ॐ";font-family:Georgia,"Noto Sans Devanagari",serif;font-size:1.1em;line-height:1;}
.btn-primary{background:var(--maroon-dark);color:var(--gold-light);border-color:var(--gold);}
.btn-primary:hover{background:var(--maroon);box-shadow:0 0 0 3px rgba(212,175,55,.25);}
.btn-outline{border-color:var(--gold);color:var(--gold-light);background:transparent;}
.btn-outline:hover{background:rgba(212,175,55,.12);color:#fff;}
.btn-maroon{background:var(--maroon);color:var(--cream);border-color:var(--bronze-light);}
.btn-maroon:hover{background:var(--maroon-dark);box-shadow:0 0 0 3px rgba(201,163,92,.2);}
.btn-block{width:100%;justify-content:center;}

/* ---------- Top info bar ---------- */
.topbar{
  background:var(--maroon-dark);color:var(--cream-dark);font-size:.82rem;
  padding:7px 0;
}
.topbar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;}
.topbar a{opacity:.9;}
.topbar a:hover{color:var(--gold-light);}
.topbar .sep{opacity:.5;margin:0 8px;}

/* ---------- Navbar ---------- */
.navbar{
  position:sticky;top:0;z-index:100;
  background:rgba(74,10,21,0.96);
  backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(212,175,55,0.35);
}
.nav-inner{
  display:flex;align-items:center;justify-content:flex-start;
  padding:14px 0;
}
.brand{display:flex;align-items:center;gap:12px;}
.brand .om{
  width:44px;height:44px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%, var(--gold-light), var(--gold) 55%, var(--bronze));
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;color:var(--maroon-dark);font-family:var(--font-head);
  box-shadow:0 0 0 1px var(--gold), 0 0 0 4px rgba(212,175,55,0.18);
  flex-shrink:0;
}
.brand-text{color:var(--cream);}
.brand-text strong{display:block;font-family:var(--font-head);font-size:1.15rem;color:var(--gold-light);letter-spacing:.02em;}
.brand-text span{display:block;font-size:.72rem;color:var(--cream-dark);opacity:.8;letter-spacing:.05em;text-transform:uppercase;}

.nav-links{display:flex;gap:22px;align-items:center;margin-left:auto;}
.nav-links a{
  color:var(--cream-dark);font-size:.9rem;font-weight:500;white-space:nowrap;
  position:relative;padding:6px 0;
}
.nav-links a::after{
  content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;
  background:var(--gold);transition:width .25s ease;
}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-links a.active{color:var(--gold-light);}
.lang-toggle{
  display:flex;align-items:center;border:1px solid var(--gold);border-radius:50px;
  overflow:hidden;flex-shrink:0;margin-left:16px;
}
.lang-toggle button{
  padding:6px 10px;background:transparent;border:none;cursor:pointer;
  font-family:var(--font-body);font-size:.7rem;font-weight:700;letter-spacing:.02em;
  color:var(--cream-dark);transition:background .2s ease,color .2s ease;
}
.lang-toggle button.active{background:var(--gold);color:var(--maroon-dark);}
.lang-toggle button:not(.active):hover{color:var(--gold-light);}

.nav-cta{
  display:inline-flex;align-items:center;justify-content:center;
  padding:9px 22px;border-radius:var(--radius);
  background:linear-gradient(170deg,var(--gold-light),var(--gold) 70%);
  border:1px solid var(--gold-light);
  color:var(--maroon-dark) !important;font-weight:700;
  font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;line-height:1;
  box-shadow:0 2px 8px rgba(0,0,0,.25);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.nav-cta:hover{
  background:linear-gradient(170deg,#fff,var(--gold-light) 70%);
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(212,175,55,.4);
}
.nav-cta::after{display:none;}
.nav-toggle{
  display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;
}
.nav-toggle span{width:26px;height:2px;background:var(--gold-light);display:block;}

@media (max-width:860px){
  .nav-toggle{display:flex;}
  .nav-links{
    position:absolute;top:100%;left:0;right:0;margin-left:0;
    background:var(--maroon-dark);
    flex-direction:column;align-items:flex-start;
    padding:10px 24px 24px;gap:16px;
    display:none;
    border-bottom:1px solid rgba(212,175,55,0.35);
  }
  .lang-toggle{margin-left:12px;}
  .nav-links.open{display:flex;}
  .nav-cta{align-self:flex-start;}
}

/* ---------- Hero ---------- */
.hero{
  position:relative;min-height:92vh;display:flex;align-items:center;
  background:#2a0a12 url('../img/photos/temple-exterior-hero.jpg') center/cover no-repeat;
  color:var(--cream);isolation:isolate;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(43,10,18,.55), rgba(43,10,18,.85) 70%, var(--cream) 100%);
  z-index:0;
}
.hero-content{position:relative;z-index:1;text-align:center;max-width:800px;margin:0 auto;padding:40px 24px;}
.hero-mantra{
  font-family:var(--font-head);font-size:1.4rem;color:var(--gold-light);
  letter-spacing:.08em;margin-bottom:14px;
}
.hero h1{
  font-size:clamp(2.4rem,6vw,4.2rem);color:var(--cream);margin-bottom:12px;
  text-shadow:0 4px 20px rgba(0,0,0,.4);
}
.hero p.tagline{font-size:1.15rem;color:var(--cream-dark);max-width:560px;margin:0 auto 30px;}
.hero-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.hero-strip{
  position:relative;z-index:1;margin-top:56px;
  display:grid;grid-template-columns:repeat(3,1fr);
  background:rgba(253,246,236,0.1);
  border:1px solid rgba(212,175,55,.4);
  border-radius:var(--radius);
  backdrop-filter:blur(4px);
  overflow:hidden;
}
.hero-strip div{padding:18px 10px;text-align:center;border-right:1px solid rgba(212,175,55,.25);}
.hero-strip div:last-child{border-right:none;}
.hero-strip strong{display:block;color:var(--gold-light);font-family:var(--font-head);font-size:1.1rem;}
.hero-strip span{font-size:.78rem;color:var(--cream-dark);}

@media (max-width:640px){
  .hero-strip{grid-template-columns:1fr;}
  .hero-strip div{border-right:none;border-bottom:1px solid rgba(212,175,55,.25);}
}

/* ---------- Image placeholder helper ---------- */
.ph-img{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.ph-img img,.ph-img video{width:100%;height:100%;object-fit:cover;display:block;}

/* ---------- Welcome / About split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.split.reverse > :first-child{order:2;}
@media (max-width:860px){
  .split{grid-template-columns:1fr;gap:32px;}
  .split.reverse > :first-child{order:0;}
}
.split .ph-img{aspect-ratio:4/3;}

/* ---------- Cards grid ---------- */
.grid{display:grid;gap:28px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
@media (max-width:920px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}}

.card{
  background:#fff;border-radius:var(--radius-soft);box-shadow:var(--shadow);
  padding:30px 26px;border:1px solid rgba(212,175,55,.25);border-top:3px solid var(--bronze-light);
  transition:box-shadow .25s ease, border-color .25s ease;
}
.card:hover{box-shadow:var(--shadow-lg);border-top-color:var(--gold);}
.card .icon{
  width:54px;height:54px;border-radius:50%;
  background:linear-gradient(160deg,var(--bronze-light),var(--bronze) 65%,var(--bronze-dark));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.25), 0 0 0 3px var(--cream-dark);
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;color:var(--cream);margin-bottom:16px;
}

/* ---------- Event / festival card ---------- */
.event-card{
  background:var(--cream);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);border:1px solid rgba(212,175,55,.25);
}
.event-card .ph-img{aspect-ratio:16/10;border-radius:0;}
.event-body{padding:22px 24px;}
.event-date{
  display:inline-block;background:var(--maroon);color:var(--gold-light);
  font-size:.75rem;font-weight:700;letter-spacing:.05em;
  padding:5px 12px;border-radius:50px;margin-bottom:10px;
}

/* ---------- Timings table ---------- */
.timing-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.timing-table th,.timing-table td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--cream-dark);}
.timing-table th{background:var(--maroon);color:var(--gold-light);font-family:var(--font-head);font-weight:600;letter-spacing:.03em;}
.timing-table tr:last-child td{border-bottom:none;}
.timing-table tr:nth-child(even) td{background:var(--cream-dark);}
.timing-table td.time{color:var(--saffron);font-weight:700;white-space:nowrap;}
.table-scroll{overflow-x:auto;}

/* ---------- Gallery ---------- */
.filter-bar{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:40px;}
.filter-btn{
  padding:9px 20px;border-radius:50px;border:1px solid var(--maroon);
  background:transparent;color:var(--maroon);font-weight:600;font-size:.85rem;cursor:pointer;
  transition:all .2s ease;
}
.filter-btn.active,.filter-btn:hover{background:var(--maroon);color:var(--cream);}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
@media (max-width:920px){.gallery-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:620px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}
.gallery-item{
  position:relative;aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);cursor:pointer;
}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.gallery-item:hover img{transform:scale(1.08);}
.gallery-item .cap{
  position:absolute;left:0;right:0;bottom:0;padding:10px 12px;
  background:linear-gradient(180deg,transparent,rgba(43,10,18,.85));
  color:var(--cream-dark);font-size:.8rem;
}

/* Lightbox */
.lightbox{
  position:fixed;inset:0;background:rgba(20,5,9,.92);
  display:none;align-items:center;justify-content:center;z-index:999;padding:30px;
}
.lightbox.open{display:flex;}
.lightbox img{max-width:min(900px,92vw);max-height:85vh;border-radius:10px;box-shadow:0 0 60px rgba(212,175,55,.3);}
.lightbox-close{
  position:absolute;top:24px;right:30px;color:var(--gold-light);
  font-size:2rem;cursor:pointer;background:none;border:none;
}

/* ---------- Seva / donation cards ---------- */
.seva-card{
  background:#fff;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);
  border-top:4px solid var(--gold);text-align:center;
}
.seva-amount{font-family:var(--font-head);font-size:1.6rem;color:var(--maroon);margin:10px 0;}

.bank-box{
  background:var(--cream-dark);border-radius:var(--radius);padding:30px;
  border:1px dashed var(--gold);
}
.bank-box dl{display:grid;grid-template-columns:160px 1fr;gap:10px 16px;margin:0;}
.bank-box dt{font-weight:600;color:var(--maroon);}
.bank-box dd{margin:0;color:var(--ink-light);}

/* ---------- Timeline (About page) ---------- */
.timeline{position:relative;margin:0;padding-left:34px;border-left:3px solid var(--gold);}
.timeline li{position:relative;padding-bottom:34px;}
.timeline li::before{
  content:"";position:absolute;left:-43px;top:2px;width:16px;height:16px;border-radius:50%;
  background:var(--bronze);border:3px solid var(--cream);box-shadow:0 0 0 2px var(--gold);
}
.timeline strong{display:block;color:var(--maroon);font-family:var(--font-head);font-size:1.05rem;}

.form-note{font-size:.8rem;color:var(--ink-light);background:var(--cream-dark);padding:14px 16px;border-radius:10px;}

/* ---------- Info list (contact) ---------- */
.info-list li{display:flex;gap:14px;margin-bottom:22px;align-items:flex-start;}
.info-list .icon{
  width:46px;height:46px;flex-shrink:0;border-radius:50%;
  background:linear-gradient(135deg,var(--saffron),var(--gold));
  display:flex;align-items:center;justify-content:center;color:var(--maroon-dark);font-size:1.2rem;
}
.info-list strong{display:block;color:var(--maroon);}

/* ---------- CTA band ---------- */
.cta-band{
  background:linear-gradient(120deg,var(--maroon-dark),var(--maroon) 70%,var(--bronze-dark));
  color:var(--cream);border-radius:var(--radius-soft);padding:56px 40px;text-align:center;
  border:1px solid rgba(212,175,55,.35);
}
.cta-band h2{color:#fff;}
.cta-band p{color:var(--cream-dark);max-width:560px;margin:0 auto 26px;}

/* ---------- Footer ---------- */
.footer{background:var(--maroon-dark);color:var(--cream-dark);padding:70px 0 0;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(212,175,55,.2);}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;}}
.footer h4{color:var(--gold-light);font-size:1rem;margin-bottom:18px;}
.footer-brand{display:flex;gap:12px;align-items:center;margin-bottom:14px;}
.footer-brand strong{color:var(--gold-light);font-family:var(--font-head);font-size:1.2rem;}
.footer p{color:var(--cream-dark);opacity:.85;font-size:.92rem;}
.footer ul li{margin-bottom:10px;font-size:.92rem;}
.footer ul li a:hover{color:var(--gold-light);}
.social-row{display:flex;gap:12px;margin-top:16px;}
.social-row a{
  width:38px;height:38px;border-radius:50%;border:1px solid rgba(212,175,55,.4);
  display:flex;align-items:center;justify-content:center;font-size:.95rem;
}
.social-row a:hover{background:var(--gold);color:var(--maroon-dark);}
.footer-bottom{padding:20px 0;text-align:center;font-size:.82rem;color:var(--cream-dark);opacity:.7;}

/* ---------- Scroll reveal ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

/* ---------- Page header (sub pages) ---------- */
.page-header{
  position:relative;padding:150px 0 70px;text-align:center;color:var(--cream);
  background:var(--maroon-dark) url('../img/photos/temple-exterior-side.jpg') center/cover;
}
.page-header::before{content:"";position:absolute;inset:0;background:rgba(43,10,18,.72);}
.page-header .container{position:relative;z-index:1;}
.page-header .eyebrow{color:var(--gold-light);}
.page-header h1{color:#fff;}
.breadcrumb{font-size:.85rem;color:var(--cream-dark);opacity:.85;}
.breadcrumb a:hover{color:var(--gold-light);}

/* ---------- Notice ticker ---------- */
.notice-ticker{
  display:flex;align-items:center;
  background:var(--maroon-dark);
  border-top:1px solid rgba(212,175,55,.2);
  overflow:hidden;
}
.notice-ticker .notice-label{
  flex-shrink:0;display:flex;align-items:center;gap:6px;
  background:var(--bronze-dark);color:var(--gold-light);
  font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:7px 16px;margin-left:24px;border-radius:0 0 6px 6px;
}
.notice-label .mark{display:inline-flex;}
.notice-label .mark::before{content:"ॐ";font-family:Georgia,"Noto Sans Devanagari",serif;font-size:1rem;line-height:1;}
.ticker-wrap{flex:1;min-width:0;overflow:hidden;margin:0 24px;}
.ticker-track{
  display:flex;gap:70px;white-space:nowrap;width:max-content;
  animation:ticker-scroll 32s linear infinite;
}
.notice-ticker:hover .ticker-track{animation-play-state:paused;}
.ticker-track span{color:var(--cream-dark);font-size:.82rem;opacity:.9;}
@keyframes ticker-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (max-width:640px){
  .notice-ticker .notice-label{margin-left:14px;padding:6px 12px;}
  .ticker-wrap{margin:0 14px;}
}

/* ---------- Floating donate button ---------- */
.floating-donate{
  position:fixed;bottom:24px;right:24px;z-index:500;
  display:flex;align-items:center;gap:9px;
  background:var(--maroon-dark);color:var(--gold-light);
  font-weight:700;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;
  padding:13px 20px;border-radius:var(--radius);
  border:1px solid var(--gold);
  box-shadow:0 8px 24px rgba(74,10,21,.35);
  animation:sacred-glow 3.2s ease-in-out infinite;
}
.floating-donate .mark{display:inline-flex;}
.floating-donate .mark::before{content:"ॐ";font-family:Georgia,"Noto Sans Devanagari",serif;font-size:1.1rem;line-height:1;}
.floating-donate:hover{background:var(--maroon);}
@keyframes sacred-glow{
  0%,100%{box-shadow:0 8px 24px rgba(74,10,21,.35), 0 0 0 0 rgba(212,175,55,.3);}
  50%{box-shadow:0 8px 24px rgba(74,10,21,.35), 0 0 0 6px rgba(212,175,55,.12);}
}
@media (max-width:560px){
  .floating-donate{padding:11px 16px;font-size:.74rem;bottom:16px;right:16px;}
}

/* ---------- Om chant sound toggle ---------- */
.sound-toggle{
  position:fixed;bottom:24px;left:24px;z-index:500;
  width:52px;height:52px;border-radius:50%;
  background:var(--maroon-dark);border:1px solid var(--gold);
  color:var(--gold-light);font-size:1.2rem;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:0 8px 24px rgba(74,10,21,.35);
  transition:background .2s ease;
}
.sound-toggle:hover{background:var(--maroon);}
.sound-toggle[aria-pressed="true"]{box-shadow:0 8px 24px rgba(74,10,21,.35), 0 0 0 4px rgba(212,175,55,.18);}
@media (max-width:560px){
  .sound-toggle{width:44px;height:44px;font-size:1rem;bottom:16px;left:16px;}
}

/* ---------- Transparency / document cards ---------- */
.doc-card{
  background:var(--cream-dark);border-radius:var(--radius-soft);padding:26px 22px;text-align:center;
  border:1px solid rgba(212,175,55,.3);
}
.doc-card .icon{margin:0 auto 14px;}
.doc-card a.btn{margin-top:14px;padding:9px 18px;font-size:.74rem;}

/* ---------- Mobile refinements ---------- */
@media (max-width:640px){
  .section{padding:52px 0;}
  .page-header{padding:120px 0 44px;}
  .hero{min-height:88vh;}
  .card{padding:24px 20px;}
}
@media (max-width:420px){
  .container{padding:0 16px;}
  .brand .om{width:38px;height:38px;font-size:1.2rem;}
  .brand-text strong{font-size:1rem;}
  .brand-text span{font-size:.66rem;}
  .bank-box dl{grid-template-columns:1fr;gap:2px 0;}
  .bank-box dt{margin-top:10px;}
  .topbar{font-size:.74rem;}
}

/* Misc */
.text-center{text-align:center;}
.mt-40{margin-top:40px;}
.note-banner{
  background:var(--cream-dark);border-left:4px solid var(--saffron);
  padding:16px 20px;border-radius:0 10px 10px 0;font-size:.9rem;color:var(--ink-light);
  margin-bottom:30px;
}
