/* v1.15.0 — Digital Darshan, Festival Calendar, share/invite additions. Self-contained; does not override existing layout. */
:root{--mb-maroon:#7b1e24;--mb-maroon-d:#5a1519;--mb-gold:#d7b36a;--mb-cream:#fffaf2;--mb-ink:#38251d;--mb-line:#eadfd3;--mb-wa:#1f9d55}

/* Header / hero */
.navlinks a.nav-digital-darshan{color:#b8860b;font-weight:700}
.hero-btn-darshan{background:linear-gradient(135deg,#f3c768,#d7963a)!important;color:#3b1308!important;border:1px solid #f3d38c!important}
.hero-btn-darshan:hover{filter:brightness(1.06)}

/* Homepage engage section */
.engage-section{padding:44px 0 8px}
.engage-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:22px}
.engage-card{display:flex;border-radius:18px;overflow:hidden;text-decoration:none;color:var(--mb-ink);background:var(--mb-cream);border:1px solid var(--mb-line);box-shadow:0 10px 30px rgba(60,20,10,.08);transition:transform .2s,box-shadow .2s;min-width:0}
.engage-card:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(60,20,10,.14)}
.engage-card:focus-visible{outline:3px solid var(--mb-gold);outline-offset:3px}
.engage-darshan{background:#1a0a05;color:#fbe9c6;border-color:#3a1a0d}
.engage-darshan img{width:44%;height:auto;object-fit:cover;flex:none;aspect-ratio:4/3}
.engage-body{padding:24px 24px 22px;display:flex;flex-direction:column;gap:8px;min-width:0}
.engage-body h2{margin:0;font-family:"Cormorant Garamond","Noto Serif Devanagari",serif;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.15;color:inherit}
.engage-body p{margin:0;line-height:1.55;font-size:.97rem;opacity:.92}
.engage-darshan .ref-label{color:var(--mb-gold)}
.engage-btn{margin-top:auto;padding-top:10px;font-weight:700;color:var(--mb-maroon)}
.engage-darshan .engage-btn{color:#f3c768}
.engage-date{font-weight:600}
.engage-countdown{font-size:1rem;color:var(--mb-maroon)}
.engage-countdown b{font-size:2.2rem;font-family:"Cormorant Garamond",serif;margin-right:6px}
@media(max-width:860px){.engage-grid{grid-template-columns:1fr}}
@media(max-width:560px){.engage-darshan{flex-direction:column}.engage-darshan img{width:100%}.engage-body{padding:18px}}

/* Festival calendar */
.fc-hero-link{display:inline-block;margin-top:6px}
.fc-page .container{max-width:900px}
.fc-next{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 24px;border-radius:18px;background:linear-gradient(135deg,var(--mb-maroon),var(--mb-maroon-d));color:#fff5e2;margin-bottom:26px;box-shadow:0 12px 30px rgba(90,21,25,.25)}
.fc-next .ref-label{color:var(--mb-gold)}
.fc-next h2{margin:4px 0;font-family:"Cormorant Garamond","Noto Serif Devanagari",serif;font-size:clamp(1.5rem,3vw,2.1rem);color:#fff}
.fc-next-date{margin:0;opacity:.9}
.fc-countdown{text-align:center;min-width:110px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.1);border:1px solid rgba(215,179,106,.5)}
.fc-countdown b{display:block;font-size:2.6rem;line-height:1;font-family:"Cormorant Garamond",serif;color:#ffe3a3}
.fc-countdown span{font-size:.8rem;opacity:.9}
.fc-month{display:flex;align-items:baseline;gap:10px;margin:30px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--mb-line);font-size:1.3rem;color:var(--mb-maroon)}
.fc-month small{font-size:.85rem;color:#8a7466;font-weight:500}
.fc-list{display:grid;gap:14px}
.fc-item{display:flex;gap:16px;padding:16px;border-radius:14px;background:var(--mb-cream);border:1px solid var(--mb-line)}
.fc-date{flex:none;width:64px;height:70px;border-radius:12px;background:#fff;border:1px solid var(--mb-gold);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--mb-maroon)}
.fc-date b{font-size:1.7rem;line-height:1}
.fc-date span{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}
.fc-info{min-width:0;flex:1}
.fc-info h3{margin:0 0 4px;font-size:1.15rem}
.fc-info h3 a{color:var(--mb-ink);text-decoration:none}
.fc-info h3 a:hover{color:var(--mb-maroon)}
.fc-info p{margin:6px 0 0;line-height:1.5;color:#5b4639}
.fc-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:.88rem;color:#6d5647}
.fc-in{font-weight:700;color:var(--mb-maroon)}
.fc-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}
.fc-btn{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--mb-maroon);color:var(--mb-maroon);font-weight:700;font-size:.88rem;text-decoration:none}
.fc-btn:hover{background:var(--mb-maroon);color:#fff}
.fc-wa{border-color:var(--mb-wa);color:#146c3a}
.fc-wa:hover{background:var(--mb-wa);color:#fff}
.fc-link{font-weight:700;color:var(--mb-maroon);text-decoration:none;margin-left:4px}
.fc-simple{padding-left:20px;line-height:1.9}
.fc-past{margin-top:26px;padding:14px 18px;border-radius:12px;border:1px dashed var(--mb-line)}
.fc-past summary{cursor:pointer;font-weight:700;color:var(--mb-maroon)}
.fc-darshan{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:30px 0 10px;padding:18px 20px;border-radius:14px;background:#1a0a05;color:#fbe9c6}
.fc-darshan p{margin:0}
.fc-darshan .fc-btn{background:#f3c768;border-color:#f3c768;color:#3b1308}
@media(max-width:560px){.fc-next{flex-direction:column;align-items:flex-start}.fc-item{padding:14px;gap:12px}.fc-date{width:54px;height:62px}}

/* Selfie success invite */
.selfie-invite{margin-top:22px;padding-top:18px;border-top:1px solid var(--mb-line);display:flex;flex-direction:column;align-items:center;gap:10px}
.selfie-invite p{margin:0;font-weight:600}
.selfie-wa-btn{display:inline-flex;align-items:center;min-height:44px;padding:10px 20px;border-radius:999px;background:var(--mb-wa);color:#fff;font-weight:700;text-decoration:none}
.selfie-wa-btn:hover{filter:brightness(1.08)}

/* v1.17.0 — Hindu festival list on Festival Calendar */
.hf{margin:40px 0 10px;padding-top:26px;border-top:2px solid var(--mb-line)}
.hf-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.hf-head h2{margin:4px 0 2px;font-family:"Noto Serif Devanagari","Cormorant Garamond",serif;color:var(--mb-maroon);font-size:clamp(1.4rem,3vw,1.9rem)}
.hf-sub{margin:0;color:#7a6252;font-size:.92rem}
.hf-years{display:flex;gap:6px;flex-wrap:wrap}
.hf-years a{padding:7px 13px;border-radius:999px;border:1px solid var(--mb-line);background:#fff;color:var(--mb-ink);text-decoration:none;font-weight:700;font-size:.9rem}
.hf-years a:hover{border-color:var(--mb-maroon)}
.hf-years a.is-active{background:var(--mb-maroon);border-color:var(--mb-maroon);color:#fff}
.hf-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:16px 0 6px;font-size:.84rem;color:#6d5647}
.hf-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:-8px;vertical-align:middle}
.hf-dot.shiva,.hf-item.cat-shiva .hf-date{background:#f6d27a}
.hf-dot.major{background:var(--mb-maroon)}.hf-dot.vrat{background:#d9a441;opacity:.45}.hf-dot.national{background:#8a8f98}
.hf-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px;margin-top:10px}
.hf-month h3{margin:14px 0 6px;font-size:1.05rem;color:var(--mb-maroon);font-family:"Noto Serif Devanagari",serif}
.hf-month h3 small{color:#8a7466;font-weight:500;font-family:Inter,Arial,sans-serif;font-size:.8rem;margin-left:4px}
.hf-month ul{list-style:none;margin:0;padding:0;border:1px solid var(--mb-line);border-radius:12px;overflow:hidden;background:var(--mb-cream)}
.hf-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border-top:1px solid var(--mb-line)}
.hf-item:first-child{border-top:0}
.hf-date{flex:none;width:44px;height:46px;border-radius:9px;background:#fff;border:1px solid var(--mb-line);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.hf-date b{font-size:1.1rem;color:var(--mb-maroon)}.hf-date i{font-style:normal;font-size:.66rem;text-transform:uppercase;color:#7a6252;margin-top:3px}
.hf-item.cat-major .hf-date{border-color:var(--mb-maroon)}
.hf-item.cat-shiva{background:#fff7e3}
.hf-item.cat-shiva .hf-date{border-color:#e7b95a}
.hf-item.cat-national .hf-name strong{color:#555}
.hf-name{min-width:0;flex:1;display:flex;flex-direction:column}
.hf-name strong{font-size:.98rem;color:var(--mb-ink);font-family:"Noto Serif Devanagari",serif;font-weight:600}
.hf-name small{font-size:.78rem;color:#7a6252}
.hf-badge{flex:none;font-size:.74rem;font-weight:700;color:var(--mb-maroon);background:#f5e6d0;border-radius:999px;padding:3px 9px;white-space:nowrap}
.hf-badge.now{background:#1f9d55;color:#fff}
.hf-item.is-now{box-shadow:inset 3px 0 0 #1f9d55}
.hf-item.is-past{opacity:.5}
.hf-note{font-size:.8rem;color:#8a7466;margin-top:14px}
@media(max-width:760px){.hf-months{grid-template-columns:1fr}.hf-head{align-items:flex-start}}
.hf-pastwrap{margin:10px 0 4px;border:1px dashed var(--mb-line);border-radius:12px;padding:10px 14px;background:#fff}
.hf-pastwrap summary{cursor:pointer;font-weight:700;color:var(--mb-maroon);font-size:.92rem}
