/*
Theme Name: Bhajan Sagar
Theme URI: https://bhajansagar.example.com
Author: Bhajan Sagar Team
Author URI: https://bhajansagar.example.com
Description: A premium, SEO-focused, mobile-first WordPress theme built for Hindu devotional content portals — bhajans, aartis, chalisas and mantras. Optimized for Core Web Vitals, Google Discover and AdSense.
Version: 1.9.94
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bhajan-sagar
Tags: blog, news, custom-colors, custom-menu, featured-images, threaded-comments, translation-ready, right-to-left-language-support
*/

/* =========================================================
   1. DESIGN TOKENS
   ========================================================= */
:root{
  --bs-saffron:#E8590C;
  --bs-saffron-dark:#A64400;
  --bs-maroon:#800020;
  --bs-maroon-dark:#5C0017;
  --bs-gold:#D4AF37;
  --bs-gold-light:#F3E5AB;
  --bs-white:#FFFFFF;
  --bs-cream:#FFF8EE;
  --bs-ink:#222222;
  --bs-text:#222222;
  --bs-muted:#6B6B6B;
  --bs-border:#EDEDED;

  --bs-bg:#FFFFFF;
  --bs-surface:#FFFFFF;
  --bs-text-main:#222222;
  --bs-text-soft:#5A5A5A;
  --bs-header-bg:linear-gradient(90deg,var(--bs-maroon) 0%,var(--bs-maroon-dark) 100%);
  --bs-accent:var(--bs-saffron);
  --bs-link:var(--bs-maroon);
  --bs-radius:14px;
  --bs-radius-sm:8px;
  --bs-shadow:0 2px 14px rgba(128,0,32,0.08);
  --bs-shadow-lg:0 8px 30px rgba(128,0,32,0.14);
  --bs-container:1240px;
  --bs-font-body:'Noto Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --bs-font-display:'Poppins','Noto Sans',sans-serif;
  --bs-font-devanagari:'Noto Sans Devanagari','Noto Sans',sans-serif;
}

/* =========================================================
   2. RESET & BASE (mobile-first — no horizontal scroll, ever)
   ========================================================= */
*,*::before,*::after{box-sizing:border-box;}
/* overflow-x:hidden intentionally lives on body, NOT html. html + a
   non-visible overflow together with WordPress's admin-bar margin-top on
   <html> is a known combo that breaks position:sticky in mobile Chrome —
   the sticky header would "let go" partway through a scroll and end up
   floating mid-page instead of staying pinned. Only affects logged-in
   visitors (site owner/staff), which is exactly the shape of the bug. */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;max-width:100%;}
body{max-width:100%;overflow-x:hidden;
  margin:0;
  background:var(--bs-bg);
  color:var(--bs-text-main);
  font-family:var(--bs-font-body);
  font-size:var(--bs-font-size-base,16.5px);
  line-height:var(--bs-line-height-body,1.65);
  -webkit-font-smoothing:antialiased;
  transition:background .25s ease,color .25s ease;
  padding-bottom:0;
}
@media(min-width:768px){ body{ font-size:var(--bs-font-size-base-desktop,17px); } }
table{max-width:100%;border-collapse:collapse;}
.bs-entry-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;}
.bs-entry-content table td,.bs-entry-content table th{padding:8px 12px;border:1px solid var(--bs-border);white-space:normal;}
iframe,video,embed,object{max-width:100%;}
button,input,select,textarea{font-family:inherit;}
/* Global safety net: long unbroken strings (URLs, long Sanskrit/Hindi compound
   words) wrap inside their box instead of overflowing it. Grid containers are
   separately fixed with minmax(0,1fr) so tracks can shrink below content size. */
h1,h2,h3,h4,h5,p,a,span,div,li,td,th,nav,summary,details{overflow-wrap:anywhere;word-break:break-word;}
/* Touch-friendly minimum tap target size */
a,button,.btn,.bs-icon-btn,.bs-bookmark-btn,.bs-share a{min-height:38px;min-width:38px;}
.bs-nav a,.bs-card-link,.bs-viewall{min-height:auto;min-width:auto;}
:lang(hi), .lang-hi, .devanagari{font-family:var(--bs-font-devanagari);}
img{max-width:100%;height:auto;display:block;}
a{color:var(--bs-link);text-decoration:none;}

a:hover{text-decoration:underline;}
h1,h2,h3,h4,h5{font-family:var(--bs-font-display);color:var(--bs-text-main);line-height:var(--bs-line-height-heading,1.25);margin:.4em 0 .5em;}
h1{font-size:clamp(24px,4.2vw,40px);}
h2{font-size:clamp(20px,3vw,30px);}
h3{font-size:clamp(17px,2.2vw,22px);}
p{font-size:clamp(14.5px,1.6vw,17px);}
.bs-entry-content p,.bs-entry-content li,.bs-lyrics p{font-size:inherit;}
.container{max-width:var(--bs-container);margin:0 auto;padding:0 var(--bs-container-padding,16px);}
img[loading="lazy"]{background:var(--bs-border);}
/* Modern visually-hidden technique instead of left:-9999px. The old
   off-canvas-via-huge-negative-offset pattern can inflate the document's
   horizontal scrollable area on some mobile browsers even though the link
   is invisible; clipping the box to 1x1px keeps it truly out of the layout
   flow (same technique as .sr-only) while :focus restores it in place. */
.skip-link{position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;background:var(--bs-maroon);color:#fff;padding:10px 16px;z-index:9999;}
.skip-link:focus{width:auto;height:auto;overflow:visible;clip:auto;top:8px;left:8px;}

/* =========================================================
   3. BUTTONS / BADGES
   ========================================================= */
.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:999px;font-weight:600;font-size:14px;cursor:pointer;border:none;position:relative;overflow:hidden;isolation:isolate;transition:background .25s ease,color .25s ease,box-shadow .25s ease,transform .2s ease;}
.btn:active{transform:scale(.97);}
.btn-primary{background:var(--bs-saffron);color:#fff;}
.btn-primary:hover{background:var(--bs-saffron-dark);text-decoration:none;box-shadow:0 4px 18px rgba(204,85,0,.4);}
.btn-outline{background:transparent;border:1.5px solid var(--bs-maroon);color:var(--bs-maroon);}
.btn-outline:hover{box-shadow:0 0 0 4px rgba(128,0,32,.1);}

/* Ripple effect — a short-lived expanding circle positioned at the click
   point by main.js (sets --ripple-x/--ripple-y/--ripple-d as inline vars). */
.btn .bs-ripple{
  position:absolute;border-radius:50%;pointer-events:none;
  left:var(--ripple-x,50%);top:var(--ripple-y,50%);
  width:var(--ripple-d,10px);height:var(--ripple-d,10px);
  background:rgba(255,255,255,.55);
  transform:translate(-50%,-50%) scale(0);
  animation:bsRipple .4s ease-out forwards;
  z-index:0;
}
.btn-outline .bs-ripple{background:rgba(128,0,32,.18);}

.btn > *{position:relative;z-index:1;}
@keyframes bsRipple{
  from{transform:translate(-50%,-50%) scale(0);opacity:1;}
  to{transform:translate(-50%,-50%) scale(1);opacity:0;}
}
.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.03em;background:var(--bs-gold-light);color:var(--bs-maroon-dark);text-transform:uppercase;}
.badge-live{background:var(--bs-maroon);color:#fff;}

/* =========================================================
   4. HEADER
   ========================================================= */
.bs-topbar{background:var(--bs-maroon-dark);color:#f4e3c1;font-size:12.5px;padding:6px 0;}
.bs-topbar .container{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
.bs-topbar a{color:#f4e3c1;}

.bs-header{background:var(--bs-surface);position:sticky;top:var(--bs-adminbar-h,0px);z-index:500;box-shadow:0 1px 0 var(--bs-border),0 2px 10px rgba(128,0,32,.06);transition:box-shadow .3s ease,background .3s ease;}
/* --bs-adminbar-h is set by JS (see main.js: initAdminBarOffset) to the
   REAL measured height of #wpadminbar, so the header always sits exactly
   below it regardless of screen width, admin-bar customizations, or
   plugins that change its height. The static 32px/46px values below are
   only a same-paint fallback for the instant before JS runs. */
body.admin-bar .bs-header{top:var(--bs-adminbar-h,32px);}
@media(max-width:782px){
  body.admin-bar .bs-header{top:var(--bs-adminbar-h,46px);}
}
.bs-header-inner{display:flex;align-items:center;justify-content:space-between;min-height:70px;gap:12px 20px;transition:min-height .3s ease;flex-wrap:wrap;padding-top:6px;padding-bottom:6px;}
/* Header shrinks slightly + gains a deeper shadow once the page scrolls —
   works independently of the "Sticky Header" customizer toggle above. */
body.bs-scrolled .bs-header-inner{min-height:60px;}
body.bs-scrolled .bs-header{box-shadow:0 1px 0 var(--bs-border),0 4px 20px rgba(128,0,32,.12);}
@media(max-width:767px){
  body.bs-scrolled .bs-header-inner{min-height:52px;}
}
.bs-header-zone{display:flex;align-items:center;gap:16px;min-width:0;}
.bs-header-zone-left{flex:0 0 auto;}
.bs-header-zone-center{flex:1;justify-content:center;min-width:0;}
.bs-header-zone-right{flex:0 0 auto;gap:10px;}

/* Swastik mark — icon-only site identity, left of header */
.bs-swastik{display:inline-flex;align-items:center;justify-content:center;color:var(--bs-saffron-dark);line-height:0;}
.bs-swastik:hover{color:var(--bs-maroon);}
.bs-swastik-svg{display:block;}

/* Legacy text logo (still available via the header builder, e.g. footer/brand use) */
.bs-logo{display:flex;align-items:center;gap:10px;color:var(--bs-text-main);font-family:var(--bs-font-display);font-weight:700;font-size:22px;min-width:0;max-width:100%;}
.bs-logo-default,.bs-logo-sticky,.bs-logo-mobile{display:inline-flex;align-items:center;gap:10px;min-width:0;max-width:100%;}
.bs-logo-default span:not(.om),.bs-logo-mobile span:not(.om){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
.bs-tagline{font-size:11px;font-weight:400;opacity:.85;letter-spacing:.02em;}
.bs-logo-block{display:inline-flex;flex-direction:column;gap:1px;min-width:0;max-width:100%;}
.bs-logo-block.has-tagline .bs-tagline{margin-left:38px;color:var(--bs-text-soft,#5A5A5A);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media(max-width:600px){.bs-logo-block.has-tagline .bs-tagline{margin-left:0;}}
.bs-hb-social a{color:inherit;text-decoration:none;font-weight:600;}
.bs-homepage-stripe{margin:0 -16px;padding:0 16px;}
.bs-homepage-banner{margin:20px 0;}
.bs-hb-whatsapp,.bs-hb-custom-btn{padding:8px 16px;font-size:13px;}
.bs-footer-custom-html{font-size:14px;}
.bs-footer-inline-menu{display:flex;gap:14px;list-style:none;margin:0;padding:0;}
.bs-logo .om{color:var(--bs-gold);font-size:33px;display:inline-flex;align-items:center;line-height:0;}
.bs-logo .om svg{width:33px;height:33px;display:block;}
.bs-logo:hover{text-decoration:none;}

/* Desktop primary navigation — centered, breathing room, underline hover/active */
.bs-nav{display:flex;gap:8px;}
.bs-nav > ul{display:flex;gap:6px;list-style:none;margin:0;padding:0;position:relative;}
.bs-nav li{position:relative;}
.bs-nav a{color:var(--bs-text-main);font-weight:600;font-size:14.5px;display:inline-flex;align-items:center;padding:10px 16px;border-radius:999px;position:relative;transition:color .2s ease,background .2s ease;}
.bs-nav a::after{content:'';position:absolute;left:16px;right:16px;bottom:4px;height:2px;border-radius:2px;background:currentColor;transform:scaleX(0);transform-origin:center;transition:transform .25s ease;}
.bs-nav a:hover{color:var(--bs-saffron-dark);background:var(--bs-cream);text-decoration:none;}
.bs-nav a:hover::after{transform:scaleX(1);}
.bs-nav li.current-menu-item > a,
.bs-nav li.current-menu-ancestor > a{color:var(--bs-maroon);background:var(--bs-cream);font-weight:700;}

.bs-nav ul ul{display:none;position:absolute;left:0;top:100%;background:var(--bs-surface);min-width:220px;border-radius:var(--bs-radius-sm);box-shadow:var(--bs-shadow-lg);border:1px solid var(--bs-border);padding:8px 0;z-index:100;}
.bs-nav li:hover > ul{display:block;}
.bs-nav ul ul a{color:var(--bs-text-main);display:block;padding:9px 16px;font-weight:500;border-radius:0;}

/* Header icon buttons (search, hamburger) */
.bs-icon-btn{background:rgba(204,85,0,.14);backdrop-filter:blur(10px) saturate(160%);-webkit-backdrop-filter:blur(10px) saturate(160%);border:1px solid rgba(204,85,0,.22);color:var(--bs-maroon);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease;}
.bs-icon-btn:hover{background:var(--bs-saffron);border-color:var(--bs-saffron);color:#fff;transform:translateY(-1px) scale(1.08);}
.bs-icon-btn:active{transform:translateY(0) scale(.96);}
/* Search icon gets a slightly stronger scale pop, matching the "premium app" search affordance */
#bsSearchToggle:hover,.bs-search-form button[type="submit"]:hover{transform:translateY(-1px) scale(1.1);box-shadow:0 4px 14px rgba(204,85,0,.35);}

.bs-menu-toggle{display:none;}

/* Language switcher — flag + name dropdown */
.bs-lang-switcher{position:relative;}
.bs-lang-current{display:flex;align-items:center;gap:7px;background:rgba(204,85,0,.14);backdrop-filter:blur(10px) saturate(160%);-webkit-backdrop-filter:blur(10px) saturate(160%);border:1px solid rgba(204,85,0,.22);color:var(--bs-text-main);font-weight:600;font-size:13px;padding:7px 12px;border-radius:999px;cursor:pointer;}
.bs-lang-current:hover{border-color:var(--bs-saffron);background:rgba(204,85,0,.24);}
.bs-lang-flag{border-radius:2px;object-fit:cover;}
.bs-lang-dropdown{list-style:none;margin:0;padding:6px;position:absolute;right:0;top:calc(100% + 8px);background:var(--bs-surface);border:1px solid var(--bs-border);border-radius:12px;box-shadow:var(--bs-shadow-lg);min-width:170px;z-index:120;
  opacity:0;visibility:hidden;transform:translateY(-6px) scale(.97);transform-origin:top right;
  transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s;}
.bs-lang-switcher.active .bs-lang-dropdown{opacity:1;visibility:visible;transform:translateY(0) scale(1);transition:opacity .22s ease,transform .22s ease;}
.bs-lang-dropdown a{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;color:var(--bs-text-main);font-size:13.5px;font-weight:500;}
.bs-lang-dropdown a:hover{background:var(--bs-cream);text-decoration:none;}
.bs-lang-dropdown a.current{color:var(--bs-maroon);font-weight:700;}

.bs-search-tabs{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 22px;padding-bottom:2px;}
.bs-search-tabs::-webkit-scrollbar{display:none;}
.bs-search-tab{flex-shrink:0;padding:7px 16px;border-radius:999px;background:var(--bs-surface);border:1px solid var(--bs-border);color:var(--bs-text-main);font-size:13.5px;font-weight:600;white-space:nowrap;text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease;}
.bs-search-tab:hover{border-color:var(--bs-saffron);text-decoration:none;}
.bs-search-tab.active{background:var(--bs-saffron);border-color:var(--bs-saffron);color:#fff;}

.bs-notif-bell{position:relative;}
.bs-notif-toggle{position:relative;font-size:16px;}
.bs-notif-dropdown{list-style:none;margin:0;padding:6px;position:absolute;right:0;top:calc(100% + 8px);background:var(--bs-surface);border:1px solid var(--bs-border);border-radius:12px;box-shadow:var(--bs-shadow-lg);width:280px;max-width:88vw;max-height:340px;overflow-y:auto;z-index:120;
  opacity:0;visibility:hidden;transform:translateY(-6px) scale(.97);transform-origin:top right;
  transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s;}
.bs-notif-bell.active .bs-notif-dropdown{opacity:1;visibility:visible;transform:translateY(0) scale(1);transition:opacity .22s ease,transform .22s ease;}
.bs-notif-head{padding:8px 10px 6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--bs-text-soft);}
.bs-notif-dropdown a{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:8px;color:var(--bs-text-main);min-width:0;}
.bs-notif-dropdown a:hover{background:var(--bs-cream);text-decoration:none;}
.bs-notif-title{font-size:13.5px;font-weight:600;line-height:1.35;overflow-wrap:break-word;word-break:break-word;}

/* =========================================================
   4b. MOBILE SLIDE-OUT DRAWER
   ========================================================= */
.bs-drawer-overlay{position:fixed;inset:0;background:rgba(20,8,9,.55);z-index:950;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s;}
.bs-drawer-overlay.active{opacity:1;visibility:visible;transition:opacity .3s ease;}
.bs-drawer{position:fixed;top:0;right:0;height:100%;width:86%;max-width:360px;background:var(--bs-surface);z-index:960;transform:translateX(100%);transition:transform .3s cubic-bezier(.22,.9,.32,1);border-radius:20px 0 0 20px;box-shadow:-10px 0 40px rgba(0,0,0,.18);display:flex;flex-direction:column;overflow-y:auto;}
.bs-drawer.active{transform:translateX(0);}

/* Staggered entrance for each drawer menu item — only plays while the drawer
   is open (items are already off-screen behind translateX(100%) otherwise,
   so there's no flash of hidden content for no-JS / reduced-motion cases). */
.bs-drawer-menu-list li{opacity:0;transform:translateX(14px);}
.bs-drawer.active .bs-drawer-menu-list li{
  animation:bsDrawerItemIn .32s ease forwards;
}
.bs-drawer.active .bs-drawer-menu-list li:nth-child(1){animation-delay:.05s;}
.bs-drawer.active .bs-drawer-menu-list li:nth-child(2){animation-delay:.08s;}
.bs-drawer.active .bs-drawer-menu-list li:nth-child(3){animation-delay:.11s;}
.bs-drawer.active .bs-drawer-menu-list li:nth-child(4){animation-delay:.14s;}
.bs-drawer.active .bs-drawer-menu-list li:nth-child(5){animation-delay:.17s;}
.bs-drawer.active .bs-drawer-menu-list li:nth-child(6){animation-delay:.2s;}
.bs-drawer.active .bs-drawer-menu-list li:nth-child(7){animation-delay:.23s;}
.bs-drawer.active .bs-drawer-menu-list li:nth-child(8){animation-delay:.26s;}
.bs-drawer.active .bs-drawer-menu-list li:nth-child(n+9){animation-delay:.28s;}
@keyframes bsDrawerItemIn{
  from{opacity:0;transform:translateX(14px);}
  to{opacity:1;transform:translateX(0);}
}
.bs-drawer-top{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid var(--bs-border);}
.bs-drawer-top .bs-swastik-svg{width:32px;height:32px;color:var(--bs-saffron-dark);}
.bs-drawer-close{background:rgba(204,85,0,.14);backdrop-filter:blur(10px) saturate(160%);-webkit-backdrop-filter:blur(10px) saturate(160%);border:1px solid rgba(204,85,0,.22);color:var(--bs-maroon);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.bs-drawer-close:hover{background:var(--bs-saffron);border-color:var(--bs-saffron);color:#fff;}
.bs-drawer-nav{padding:10px 12px;}
.bs-drawer-menu-list{list-style:none;margin:0;padding:0;}
.bs-drawer-menu-extra{margin-top:2px;border-top:1px dashed var(--bs-border);padding-top:2px;}
.bs-drawer-menu-list li{position:relative;}
.bs-drawer-menu-list a{display:flex;align-items:center;padding:13px 12px;border-radius:12px;color:var(--bs-text-main);font-weight:600;font-size:15px;}
.bs-drawer-menu-list a:hover{background:var(--bs-cream);color:var(--bs-maroon);text-decoration:none;}
.bs-drawer-menu-list li.current-menu-item > a{background:var(--bs-cream);color:var(--bs-maroon);}
.bs-drawer-menu-list ul{list-style:none;margin:0 0 4px 14px;padding:0;display:none;}
.bs-drawer-menu-list li.menu-open > ul{display:block;}
.bs-drawer-section{padding:14px 20px;border-top:1px solid var(--bs-border);}
.bs-drawer-section h4{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--bs-saffron-dark);}
.bs-drawer-chips{display:flex;flex-wrap:wrap;gap:8px;}
.bs-drawer-chip{background:var(--bs-cream);color:var(--bs-maroon);font-size:13px;font-weight:600;padding:7px 14px;border-radius:999px;}
.bs-drawer-chip:hover{background:var(--bs-saffron);color:#fff;text-decoration:none;}

.bs-drawer-bottom{padding:16px 20px 26px;border-top:1px solid var(--bs-border);margin-top:auto;display:flex;flex-direction:column;gap:12px;}
.bs-drawer-bottom-row{display:flex;align-items:center;gap:10px;}
.bs-drawer-bottom .bs-lang-switcher{width:100%;}
.bs-drawer-bottom .bs-lang-current{width:100%;justify-content:space-between;}
.bs-drawer-bottom .bs-lang-dropdown{left:0;right:0;width:100%;}

.bs-post-lang-links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  background:none;
  border:none;
  padding:0;
  margin:10px 0 6px;
  font-size:13.5px;
  line-height:1.4;
}
.bs-post-lang-label{font-weight:700;color:var(--bs-text-soft);text-transform:uppercase;letter-spacing:.05em;font-size:11.5px;margin-right:2px;}
.bs-post-lang-links a{display:inline-flex;align-items:center;padding:5px 15px;border-radius:999px;background:var(--bs-cream);border:1px solid var(--bs-border);color:var(--bs-maroon,var(--bs-link));font-weight:600;text-decoration:none;transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;}
.bs-post-lang-links a:hover{background:var(--bs-saffron);border-color:var(--bs-saffron);color:#fff;text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 12px rgba(204,85,0,.28);}
.bs-post-lang-links a.current{background:var(--bs-maroon);border-color:var(--bs-maroon);color:#fff;pointer-events:none;}
.bs-post-lang-sep{display:none;}

/* Show drawer + its trigger only on mobile/tablet; desktop nav hides there */
@media(min-width:961px){
  .bs-drawer,.bs-drawer-overlay,.bs-menu-toggle{display:none !important;}
}
@media(max-width:960px){
  .bs-header-zone-center{display:none;}
  .bs-header-zone-right > .bs-lang-switcher{display:none;}
  .bs-menu-toggle{display:flex;}
}
body.bs-drawer-open{overflow:hidden;}

/* =========================================================
   5. HERO SEARCH
   ========================================================= */
.bs-hero{background:radial-gradient(circle at 20% 20%,rgba(212,175,55,.18),transparent 55%),var(--bs-header-bg);padding:56px 0 70px;text-align:center;color:#fff;position:relative;overflow:hidden;}
.bs-hero h1{color:#fff;font-size:clamp(24px,4vw,38px);margin-bottom:8px;}
.bs-hero p{color:#f6e3c4;max-width:600px;margin:0 auto 26px;}
.bs-search-form{max-width:640px;margin:0 auto;position:relative;}
.bs-search-form input[type="search"]{width:100%;padding:16px 56px 16px 20px;border-radius:999px;border:none;font-size:16px;box-shadow:var(--bs-shadow-lg);}
.bs-search-form button{position:absolute;right:6px;top:6px;bottom:6px;width:46px;border-radius:50%;background:var(--bs-saffron);color:#fff;border:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;}
.bs-search-results{position:absolute;left:0;right:0;top:calc(100% + 8px);background:var(--bs-surface);border-radius:var(--bs-radius);box-shadow:var(--bs-shadow-lg);text-align:left;overflow:hidden;display:none;max-height:420px;overflow-y:auto;z-index:60;}
.bs-search-results.active{display:block;}
.bs-search-results a{display:flex;gap:10px;padding:10px 14px;color:var(--bs-text-main);border-bottom:1px solid var(--bs-border);align-items:center;}
.bs-search-results a:hover{background:var(--bs-cream);text-decoration:none;}
.bs-search-results .type{font-size:11px;color:var(--bs-saffron-dark);font-weight:700;text-transform:uppercase;}
.bs-hero-chips{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px;}
.bs-hero-chips a{background:rgba(255,255,255,.14);color:#fff;padding:6px 14px;border-radius:999px;font-size:13px;}

/* =========================================================
   5b. FULLSCREEN SEARCH POPUP
   ========================================================= */
.bs-search-overlay{position:fixed;inset:0;background:rgba(20,8,9,.6);backdrop-filter:blur(4px);z-index:1000;padding:80px 16px;display:flex;align-items:flex-start;justify-content:center;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s linear .25s;}
.bs-search-overlay.active{opacity:1;visibility:visible;transition:opacity .25s ease;}
.bs-search-overlay-inner{width:100%;position:relative;transform:translateY(-16px) scale(.96);transition:transform .3s cubic-bezier(.22,.9,.32,1);}
.bs-search-overlay.active .bs-search-overlay-inner{transform:translateY(0) scale(1);}
.bs-search-overlay-close{position:absolute;top:-52px;right:16px;background:rgba(255,255,255,.14);border:none;color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.bs-search-overlay-close:hover{background:rgba(255,255,255,.28);}
.bs-search-form-overlay{max-width:680px;}
.bs-search-form-overlay input[type="search"]{padding-left:52px;}
.bs-search-form-icon{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:var(--bs-text-soft);pointer-events:none;}
.bs-search-overlay-label{color:#f4e3c1;font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin:20px 0 0;text-align:center;}
.bs-search-overlay .bs-hero-chips{margin-top:10px;}
@media(max-width:600px){
  .bs-search-overlay{padding:64px 14px;}
  .bs-search-overlay-close{top:-46px;right:6px;}
}

/* =========================================================
   6. SECTIONS / CARD GRIDS
   ========================================================= */
.bs-section{padding:var(--bs-section-spacing,44px) 0;}
.bs-section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px;gap:12px;flex-wrap:wrap;}
.bs-section-head h2{font-size:clamp(20px,2.6vw,28px);margin:0;position:relative;padding-left:14px;border-left:5px solid var(--bs-saffron);}
.bs-section-head h2.devanagari{line-height:1.5;padding-top:2px;}
.bs-section-head .eyebrow{display:block;color:var(--bs-saffron-dark);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;padding-left:14px;}
.bs-viewall{font-weight:700;font-size:13.5px;color:var(--bs-maroon);white-space:nowrap;}

.bs-grid{display:grid;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr));}
.bs-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.bs-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
@media(max-width:1024px){.bs-grid,.bs-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.bs-grid,.bs-grid.cols-3,.bs-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}}

.bs-card{background:var(--bs-surface);border-radius:var(--bs-radius);overflow:hidden;box-shadow:var(--bs-shadow);border:1px solid var(--bs-border);transition:transform .28s ease,box-shadow .28s ease;display:flex;flex-direction:column;}
.bs-card:hover{transform:translateY(-4px);box-shadow:var(--bs-shadow-lg);}
.bs-card a.bs-card-link{color:inherit;}
.bs-card a.bs-card-link:hover{text-decoration:none;}
.bs-card-thumb{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bs-border);}
.bs-card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.bs-card:hover .bs-card-thumb img{transform:scale(1.05);}
.bs-card-thumb .badge{position:absolute;top:10px;left:10px;}
.bs-card-body{padding:14px 14px 16px;flex:1;display:flex;flex-direction:column;}
.bs-card-cat{font-size:11px;font-weight:700;color:var(--bs-saffron-dark);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;}
.bs-card-title{font-size:15.5px;font-weight:700;margin:0 0 6px;line-height:1.4;}
.bs-card-meta{margin-top:auto;font-size:12px;color:var(--bs-text-soft);display:flex;gap:10px;align-items:center;padding-top:8px;}

/* "Explore All Categories" icon cards — scale + soft shadow bloom + a
   gentle icon float that only runs while hovered, so nothing is animating
   continuously in the background on page load. */
.bs-cat-card{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;}
.bs-cat-card:hover{transform:translateY(-4px) scale(1.045);box-shadow:0 10px 28px rgba(204,85,0,.22);border-color:var(--bs-saffron);}
.bs-cat-icon{display:inline-block;animation:bsIconFloat 2.2s ease-in-out infinite;animation-play-state:paused;}
.bs-cat-card:hover .bs-cat-icon{animation-play-state:running;}
@keyframes bsIconFloat{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-5px);}
}

.bs-card.list{flex-direction:row;align-items:center;}
.bs-card.list .bs-card-thumb{width:110px;aspect-ratio:1/1;flex-shrink:0;}
.bs-card.list .bs-card-body{padding:10px 14px;}
.bs-grid.bs-grid-list{grid-template-columns:1fr!important;}

/* =========================================================
   6b. UNIFIED POST CARD ("Shri Mandir" style)
   Used everywhere: home sections, archives, category/tag/taxonomy,
   search, related posts, popular/trending, sidebar widgets, author
   pages — via template-parts/post-card.php. One design, one CSS block.
   ========================================================= */
.bs-popular-list{list-style:decimal;margin:0;padding:0 0 0 22px;columns:1;column-gap:24px;}
.bs-popular-list li{margin-bottom:10px;break-inside:avoid;}
.bs-popular-list a{color:var(--bs-text-main);text-decoration:none;font-size:15px;line-height:1.4;}
.bs-popular-list a:hover{color:var(--bs-accent);}
@media (min-width:640px){
  .bs-popular-list{columns:2;}
}
.bs-deity-subcat-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 26px;}
.bs-deity-subcat-card{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--bs-surface);border:1px solid var(--bs-border);border-radius:var(--bs-radius-sm);box-shadow:var(--bs-shadow);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease;}
.bs-deity-subcat-card:hover{transform:translateY(-2px);box-shadow:var(--bs-shadow-lg);}
.bs-deity-subcat-ico{display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.bs-deity-subcat-ico svg{width:22px;height:22px;display:block;}
.bs-deity-subcat-label{font-weight:600;color:var(--bs-text-main);font-size:15px;}
@media (min-width:640px){
  .bs-deity-subcat-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}
.bs-pcard-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));}
.bs-pcard-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr));}
.bs-pcard-grid.bs-grid-list{grid-template-columns:1fr;}
@media(min-width:1200px){
  .bs-pcard-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:700px){
  .bs-pcard-grid,
  .bs-pcard-grid.cols-3,
  .bs-pcard-grid.cols-2{grid-template-columns:1fr;gap:12px;}
}

.bs-pcard{width:100%;}
.bs-pcard-link{
  display:flex;
  align-items:stretch;
  gap:12px;
  width:100%;
  background:var(--bs-surface);
  border:1px solid var(--bs-border);
  border-radius:16px;
  box-shadow:var(--bs-shadow);
  padding:10px;
  color:inherit;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
  min-height:96px;
}
.bs-pcard-link:hover,
.bs-pcard-link:focus-visible{
  text-decoration:none;
  color:inherit;
  transform:translateY(-4px);
  box-shadow:var(--bs-shadow-lg);
  border-color:var(--bs-saffron);
}
.bs-pcard-link:focus-visible{outline:2px solid var(--bs-saffron);outline-offset:2px;}

.bs-pcard-thumb{
  position:relative;
  flex-shrink:0;
  width:96px;
  aspect-ratio:1/1;
  border-radius:12px;
  overflow:hidden;
  background:var(--bs-border);
}
.bs-pcard-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.bs-pcard-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(204,85,0,.16) 0%,var(--bs-cream) 70%);color:var(--bs-maroon);}
.bs-pcard-thumb-placeholder svg{width:44%;height:44%;}
.bs-pcard-link:hover .bs-pcard-thumb img{transform:scale(1.05);}
.bs-pcard-badge{
  position:absolute;
  top:6px;
  left:6px;
  background:var(--bs-maroon);
  color:#fff;
  font-size:9.5px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.03em;
  padding:2px 6px;
  border-radius:6px;
  line-height:1.6;
}

.bs-pcard-body{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  padding:2px 4px;
}
.bs-pcard-title{
  font-size:15.5px;
  font-weight:700;
  line-height:1.5;
  padding-top:2px;
  margin:0;
  color:var(--bs-text-main);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.bs-pcard-excerpt{
  font-size:12.5px;
  line-height:1.5;
  margin:0;
  color:var(--bs-text-soft);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.bs-pcard-arrow{
  flex-shrink:0;
  align-self:center;
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:var(--bs-saffron-dark);
  background:var(--bs-cream);
  transition:transform .25s ease,background .25s ease,color .25s ease;
}

.bs-pcard-link:hover .bs-pcard-arrow{transform:translateX(4px);background:var(--bs-saffron);color:#fff;}

/* Compact variant — sidebar / popular-posts widgets (narrow columns) */
.bs-pcard--compact .bs-pcard-link{min-height:64px;padding:8px;gap:10px;border-radius:14px;}
.bs-pcard--compact .bs-pcard-thumb{width:56px;border-radius:10px;}
.bs-pcard--compact .bs-pcard-title{font-size:13.5px;-webkit-line-clamp:2;}
.bs-pcard--compact .bs-pcard-excerpt{font-size:11.5px;-webkit-line-clamp:1;}
.bs-pcard--compact .bs-pcard-arrow{width:22px;height:22px;}
.bs-pcard--compact .bs-pcard-arrow svg{width:14px;height:14px;}

@media(max-width:600px){
  .bs-pcard-thumb{width:84px;}
  .bs-pcard-title{font-size:14.5px;}
  .bs-pcard-excerpt{font-size:12px;}
}

/* =========================================================
   7. PANCHANG WIDGET
   ========================================================= */
.bs-panchang{background:var(--bs-surface);border-radius:var(--bs-radius);padding:22px;box-shadow:var(--bs-shadow);border:1px solid var(--bs-border);}
.bs-panchang h3{margin-top:0;color:var(--bs-maroon);}

.bs-panchang-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;font-size:14px;}
.bs-panchang-grid div{display:flex;justify-content:space-between;border-bottom:1px dashed var(--bs-border);padding:6px 0;}
.bs-panchang-grid strong{color:var(--bs-text-soft);font-weight:600;}

/* =========================================================
   8. AUTHOR / SINGLE POST
   ========================================================= */
.bs-single-wrap{display:grid;grid-template-columns:minmax(0,1fr) var(--bs-sidebar-width,320px);gap:34px;padding:30px 0 60px;}
@media(max-width:960px){.bs-single-wrap{grid-template-columns:minmax(0,1fr);}}
.bs-article{background:var(--bs-surface);border-radius:var(--bs-radius);padding:26px;box-shadow:var(--bs-shadow);border:1px solid var(--bs-border);}
.bs-article h1.entry-title{font-size:clamp(22px,3.4vw,32px);margin-top:6px;border-left:4px solid var(--bs-maroon);padding-left:16px;line-height:1.4;}
.bs-entry-meta{display:flex;align-items:center;gap:14px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;font-size:13px;color:var(--bs-text-soft);border-bottom:1px solid var(--bs-border);padding-bottom:14px;margin-bottom:18px;white-space:nowrap;}
.bs-entry-meta::-webkit-scrollbar{display:none;}
.bs-entry-meta span{flex-shrink:0;}
.bs-entry-content{font-size:18px;line-height:1.85;}
.bs-entry-content h2,.bs-entry-content h3{color:var(--bs-maroon);}

/* ---- Featured image (top of post) ---- */
.bs-entry-thumb{position:relative;margin:0 0 24px;border-radius:var(--bs-radius);overflow:hidden;box-shadow:var(--bs-depth-2,0 6px 18px -4px rgba(128,0,32,.14),0 2px 6px rgba(128,0,32,.08));background:var(--bs-border);}
.bs-entry-thumb img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover;transition:transform .6s cubic-bezier(.22,.9,.32,1);}
.bs-entry-thumb:hover img{transform:scale(1.035);}
@media(max-width:600px){.bs-entry-thumb{margin-bottom:18px;border-radius:var(--bs-radius-sm,10px);}}

/* ---- Deity Showcase (colorful per-deity homepage cards) ---- */
.bs-deity-showcase{display:flex;flex-direction:column;gap:22px;}
.bs-deity-card{border-radius:var(--bs-radius);background:var(--bs-surface);border:1px solid var(--bs-border);border-left:5px solid var(--bs-deity-color,var(--bs-saffron));box-shadow:var(--bs-shadow);padding:16px 16px 18px;}
.bs-deity-card-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.bs-deity-card-ico{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bs-cream);background:color-mix(in srgb,var(--bs-deity-color,var(--bs-saffron)) 14%,transparent);}
.bs-deity-card-ico svg{width:20px;height:20px;}
.bs-deity-card-head h3{margin:0;font-size:18px;color:var(--bs-deity-color,var(--bs-maroon));flex:1;line-height:1.5;}
.bs-deity-card-head .bs-viewall{flex-shrink:0;font-size:13px;color:var(--bs-deity-color,var(--bs-saffron));}
.bs-deity-card-row{display:flex;gap:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding-bottom:4px;margin:0 -16px;padding-left:16px;padding-right:16px;}
.bs-deity-card-row .bs-pcard{flex:0 0 240px;scroll-snap-align:start;}
.bs-deity-card-row .bs-pcard-link{min-height:auto;}
@media(max-width:600px){
  .bs-deity-card{padding:14px 14px 16px;}
  .bs-deity-card-row .bs-pcard{flex-basis:200px;}
}

/* ---- Images placed inside post content ---- */
.bs-entry-content img,.bs-entry-content .wp-caption img{border-radius:var(--bs-radius-sm,10px);box-shadow:0 4px 14px rgba(0,0,0,.1);border:1px solid var(--bs-border);transition:transform .5s cubic-bezier(.22,.9,.32,1),box-shadow .3s ease;}
.bs-entry-content a img:hover,.bs-entry-content figure img:hover{transform:scale(1.02);box-shadow:0 8px 22px rgba(0,0,0,.15);}

/* ---- Click-to-zoom hint on content images ---- */
.bs-zoom-wrap{position:relative;display:block;}
.bs-zoom-wrap img.bs-zoomable{cursor:zoom-in;}
.bs-zoom-wrap::after{content:'';position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;background:rgba(20,10,6,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transform:scale(.8);transition:opacity .25s ease,transform .25s ease;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3Cline x1='11' y1='8' x2='11' y2='14'/%3E%3Cline x1='8' y1='11' x2='14' y2='11'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;background-size:16px;}
.bs-zoom-wrap:hover::after,.bs-zoom-wrap:focus-within::after{opacity:1;transform:scale(1);}
.bs-zoomable:focus-visible{outline:2px solid var(--bs-accent);outline-offset:4px;}

/* ---- Lightbox overlay ---- */
.bs-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(20,10,6,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;opacity:0;visibility:hidden;transition:opacity .3s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.bs-lightbox.active{opacity:1;visibility:visible;}
.bs-lightbox-img{max-width:min(92vw,1100px);max-height:80vh;border-radius:var(--bs-radius-sm,10px);box-shadow:0 20px 60px rgba(0,0,0,.5);transform:scale(.94);transition:transform .35s cubic-bezier(.22,.9,.32,1);}
.bs-lightbox.active .bs-lightbox-img{transform:scale(1);}
.bs-lightbox-caption{color:#f3e9dd;font-size:14px;text-align:center;max-width:700px;margin-top:16px;font-style:italic;line-height:1.5;}
.bs-lightbox-close{position:absolute;top:18px;right:22px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,transform .2s ease;}
.bs-lightbox-close:hover{background:rgba(255,255,255,.18);transform:rotate(90deg);}
body.bs-lightbox-open{overflow:hidden;}
@media(max-width:600px){
  .bs-lightbox-close{top:10px;right:10px;width:38px;height:38px;font-size:22px;}
  .bs-lightbox-img{max-height:72vh;}
}
.bs-entry-content img:not([class*="align"]){display:block;margin:22px auto;}
.bs-entry-content img.alignleft{float:left;margin:6px 20px 14px 0;max-width:45%;}
.bs-entry-content img.alignright{float:right;margin:6px 0 14px 20px;max-width:45%;}
.bs-entry-content img.aligncenter{margin-left:auto;margin-right:auto;}
.bs-entry-content .wp-caption{max-width:100%;margin:22px auto;}
.bs-entry-content .wp-caption img{margin-bottom:0;box-shadow:none;}
.bs-entry-content .wp-caption-text,.bs-entry-content figcaption{font-size:14px;color:var(--bs-text-soft);text-align:center;font-style:italic;margin-top:8px;line-height:1.5;}
.bs-entry-content figure{margin:22px 0;}
.bs-entry-content figure img{margin:0 auto;display:block;}
@media(max-width:600px){
  .bs-entry-content img.alignleft,.bs-entry-content img.alignright{float:none;max-width:100%;margin:16px auto;}
}

.bs-lyrics{background:var(--bs-cream);border-left:4px solid var(--bs-saffron);padding:18px 22px;border-radius:var(--bs-radius-sm);white-space:pre-line;font-size:18px;line-height:2;font-family:var(--bs-font-devanagari);word-wrap:break-word;overflow-wrap:break-word;max-width:100%;}
@media(max-width:600px){ .bs-lyrics{ padding:14px 16px;font-size:18px;line-height:1.95; } }

.bs-song-credits{display:flex;flex-wrap:wrap;gap:10px 18px;background:var(--bs-cream);border-radius:var(--bs-radius-sm);padding:12px 16px;margin:16px 0;font-size:13.5px;}
.bs-song-credits strong{color:var(--bs-text-soft);font-weight:600;margin-right:4px;}
.bs-video-embed{position:relative;padding-top:56.25%;height:0;overflow:hidden;border-radius:var(--bs-radius-sm);margin:16px 0;background:#000;}
.bs-video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}
.bs-lyrics-actions{display:flex;gap:10px;margin:14px 0;flex-wrap:wrap;}
.bs-lyrics-actions button{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;background:var(--bs-cream);border:1px solid var(--bs-border);color:var(--bs-maroon);font-weight:600;font-size:13px;cursor:pointer;}

@media print{
  .bs-header,.bs-topbar,.bs-footer,.bs-sidebar,.bs-share,.bs-toc,.bs-related,.bs-lyrics-actions,.bs-ad-slot,.bs-sticky-mobile-ad,.bs-breadcrumbs,#bsScrollTop,.bs-entry-meta,.bs-comments,.bs-auto-related-list,.bs-category-feed{display:none !important;}
  .bs-single-wrap{display:block;}
  body{background:#fff;color:#000;}
  .bs-entry-full[hidden]{display:block !important;}
  .bs-entry-preview,.bs-readmore-btn{display:none !important;}
  .bs-faq-item:not([open]) > p{display:block !important;}
}



/* Back-to-top button — fades/scales in smoothly instead of a hard
   display:none/block swap (see footer.php + main.js initScrollTop). */
#bsScrollTop{
  opacity:0;visibility:hidden;transform:translateY(12px) scale(.9);
  transition:opacity .3s ease,transform .3s ease,visibility 0s linear .3s,background .2s ease;
  cursor:pointer;
}
#bsScrollTop.is-visible{
  opacity:1;visibility:visible;transform:translateY(0) scale(1);
  transition:opacity .3s ease,transform .3s ease,background .2s ease;
}
#bsScrollTop:hover{background:var(--bs-maroon-dark);box-shadow:0 4px 16px rgba(128,0,32,.35);}

.bs-share{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0;}
.bs-share a,.bs-bookmark-btn{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bs-cream);color:var(--bs-maroon);border:1px solid var(--bs-border);cursor:pointer;font-size:15px;}

.bs-bookmark-btn.active{background:var(--bs-saffron);color:#fff;}

/* Auto "latest posts" list — replaces the manual shortcode list */
.bs-auto-related-list{margin:22px 0;}
.bs-auto-related-heading{margin:0 0 12px;font-size:17px;color:var(--bs-text-main);}
.bs-auto-related-cards{display:flex;flex-direction:column;gap:10px;}
.bs-auto-related-card{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--bs-cream);border:1px solid var(--bs-border);border-left:4px solid var(--bs-saffron);border-radius:var(--bs-radius-sm);padding:13px 16px;color:var(--bs-text-main);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease;}
.bs-auto-related-card:hover{transform:translateX(4px);box-shadow:var(--bs-shadow);border-left-color:var(--bs-maroon);background:var(--bs-surface);text-decoration:none;color:var(--bs-text-main);}
.bs-auto-related-card-title{font-weight:600;font-size:15.5px;line-height:1.4;}
.bs-auto-related-card-arrow{flex-shrink:0;font-size:20px;line-height:1;color:var(--bs-saffron-dark);transition:transform .22s ease;}
.bs-auto-related-card:hover .bs-auto-related-card-arrow{transform:translateX(3px);color:var(--bs-maroon);}

.bs-post-tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 4px;}
.bs-post-tag{background:var(--bs-cream);color:var(--bs-maroon);border:1px solid var(--bs-border);font-size:12.5px;font-weight:600;padding:6px 14px;border-radius:999px;transition:background .2s ease,color .2s ease,transform .2s ease;}
.bs-post-tag:hover{background:var(--bs-saffron);color:#fff;text-decoration:none;transform:translateY(-1px);}
.bs-save-btn svg path{transition:fill .2s ease;}
.bs-save-btn.active{background:#fff;border-color:#ff3b5c;color:#ff3b5c;}
.bs-save-btn.active svg path{fill:#ff3b5c;}
.bs-save-btn.bs-pop{animation:bsHeartPop .4s ease;}
@keyframes bsHeartPop{
  0%{transform:scale(1);}
  30%{transform:scale(1.35);}
  55%{transform:scale(.9);}
  100%{transform:scale(1);}
}
.bs-save-btn-inline{width:auto;height:auto;min-height:30px;min-width:0;flex-shrink:0;display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:999px;font-size:12.5px;font-weight:700;}
.bs-save-btn-inline svg{width:14px;height:14px;flex-shrink:0;}
.bs-save-btn-inline.active .bs-save-btn-text{color:#ff3b5c;}

.bs-breadcrumbs{font-size:13px;color:var(--bs-text-soft);margin:14px 0;}
.bs-breadcrumbs a{color:var(--bs-text-soft);}
.bs-breadcrumbs [aria-current]{color:var(--bs-maroon);font-weight:600;}

.bs-entry-share{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;}
.bs-entry-share a{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--bs-bg-soft,#f4ede4);color:var(--bs-text-soft);transition:background .2s ease,color .2s ease,transform .2s ease;flex-shrink:0;}
.bs-entry-share a:hover{background:var(--bs-saffron);color:#fff;transform:translateY(-1px);}


.bs-related{margin-top:30px;}

.bs-sidebar .widget{background:var(--bs-surface);border:1px solid var(--bs-border);border-radius:var(--bs-radius);padding:18px;margin-bottom:20px;box-shadow:var(--bs-shadow);}
.bs-sidebar .widget.bs-widget-trending{background:none;border:none;box-shadow:none;padding:0;}

/* Sidebar category-list blocks (Bhajan / Aarti / Chalisa) — title with an
   underline accent, colored top bar, plain divided list of recent posts. */
.bs-sidebar-catlist{
  padding:0;
  overflow:hidden;
  border-top:5px solid var(--bs-maroon);
}
.bs-sidebar-catlist-head{padding:16px 18px 6px;}
.bs-sidebar-catlist-head h3{
  margin:0 0 8px;
  font-size:17px;
  color:var(--bs-maroon);
  display:inline-block;
  position:relative;
  border-bottom:none !important;
  padding-bottom:8px !important;
}
.bs-sidebar-catlist-head h3::after{
  content:'';
  position:absolute;
  left:0;bottom:0;
  width:32px;height:3px;
  background:var(--bs-saffron);
  border-radius:2px;
}
.bs-sidebar-catlist-list{list-style:none;margin:0;padding:0 18px 8px;}
.bs-sidebar-catlist-list li{border-bottom:1px solid var(--bs-border);padding:12px 0;}
.bs-sidebar-catlist-list li:last-child{border-bottom:none;}
.bs-sidebar-catlist-list a{color:var(--bs-text-main);font-weight:600;text-decoration:none;font-size:14.5px;line-height:1.45;}
.bs-sidebar-catlist-list a:hover{color:var(--bs-maroon);}
.bs-sidebar .widget > h3{margin-top:0;font-size:16px;border-bottom:2px solid var(--bs-saffron);padding-bottom:8px;}

/* =========================================================
   9. FAQ / TABLE
   ========================================================= */
.bs-faq-item{border-bottom:1px solid var(--bs-border);padding:12px 0;}
.bs-faq-item summary{font-weight:700;cursor:pointer;list-style:none;}
.bs-faq-item summary::-webkit-details-marker{display:none;}
.bs-faq-item summary::after{content:'+';float:right;font-size:20px;color:var(--bs-saffron);}
.bs-faq-item[open] summary::after{content:'−';}

/* =========================================================
   10. NEWSLETTER / WHATSAPP CTA
   ========================================================= */
.bs-cta-strip{background:var(--bs-header-bg);color:#fff;border-radius:var(--bs-radius);padding:30px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.bs-cta-strip h3{color:#fff;margin:0 0 4px;}
.bs-cta-strip p{margin:0;color:#f4e3c1;}
.bs-newsletter-form{display:flex;gap:8px;}
.bs-newsletter-form input{padding:12px 16px;border-radius:999px;border:none;min-width:220px;}
.bs-whatsapp-cta{background:#128C4A;border-radius:var(--bs-radius);padding:22px 30px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#fff;flex-wrap:wrap;}
.bs-whatsapp-cta a{background:#fff;color:#128C4A;padding:10px 22px;border-radius:999px;font-weight:700;}

/* =========================================================
   11. AD SLOTS
   ========================================================= */
/* Reserve space to prevent CLS when ad scripts load asynchronously */
.bs-ad-slot{margin:24px 0;text-align:center;overflow:hidden;max-width:100%;min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;contain:layout;}
.bs-ad-slot span.label{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--bs-text-soft);margin-bottom:6px;}
.bs-ad-slot iframe,.bs-ad-slot ins,.bs-ad-slot img{max-width:100%;}
@media(max-width:480px){ .bs-ad-slot{min-height:60px;margin:16px 0;} }

.bs-sticky-mobile-ad{position:fixed;left:0;right:0;bottom:0;background:var(--bs-surface);border-top:1px solid var(--bs-border);z-index:800;padding:6px;display:none;max-height:100px;overflow:hidden;}
@media(max-width:768px){.bs-sticky-mobile-ad.active{display:block;}}
.bs-sticky-mobile-ad .close-ad{position:absolute;top:-14px;right:6px;background:var(--bs-maroon);color:#fff;width:26px;height:26px;border-radius:50%;font-size:12px;display:flex;align-items:center;justify-content:center;}

/* =========================================================
   11b. COMMENTS
   ========================================================= */
.bs-comments{max-width:100%;}
.comment-list{list-style:none;margin:0 0 20px;padding:0;}
.comment-list li{margin-bottom:16px;}
.comment-list .comment-body{background:var(--bs-surface);border:1px solid var(--bs-border);border-radius:var(--bs-radius-sm);padding:14px 16px;overflow-wrap:break-word;}
.comment-list .comment-author{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.comment-list .comment-author img{border-radius:50%;flex-shrink:0;}
.comment-list .comment-metadata{font-size:12px;color:var(--bs-text-soft);}
.comment-list ol.children{list-style:none;margin:14px 0 0;padding-left:16px;border-left:2px solid var(--bs-border);}
.comment-respond{max-width:100%;}
.comment-form p{margin:0 0 14px;max-width:100%;}
.comment-form label{display:block;font-weight:600;font-size:13.5px;margin-bottom:6px;}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea{
  width:100%;max-width:100%;padding:12px 14px;border:1px solid var(--bs-border);
  border-radius:var(--bs-radius-sm);background:var(--bs-surface);color:var(--bs-text-main);
  font-size:16px;min-height:44px;
}
.comment-form textarea{min-height:120px;resize:vertical;}
.comment-form .form-submit{margin-bottom:0;}
.comment-form input[type="submit"]{
  display:inline-flex;align-items:center;gap:6px;padding:12px 26px;border-radius:999px;
  font-weight:600;font-size:14.5px;cursor:pointer;border:none;background:var(--bs-saffron);
  color:#fff;min-height:44px;width:100%;
}
@media(min-width:600px){ .comment-form input[type="submit"]{ width:auto; } }
.comment-form input[type="submit"]:hover{background:var(--bs-saffron-dark);}
@media(max-width:767px){
  .comment-list .comment-author img{width:36px;height:36px;}
  .comment-list ol.children{padding-left:10px;}
}

/* =========================================================
   11c. (removed) PAGE LOAD / SCROLL REVEAL / LAZY IMAGE FADE
   The .bs-reveal / .bs-img-fade opacity-based entrance animations were
   removed — on slow connections they made already-loaded content look
   like it was still loading. Content now renders at full opacity
   immediately with no JS-gated visibility.
   ========================================================= */

/* =========================================================
   12. FOOTER
   ========================================================= */
.bs-footer{background:var(--bs-maroon-dark);color:#f0dcc4;margin-top:40px;padding-top:44px;}

.bs-footer h4{color:var(--bs-gold-light);font-size:15px;}
.bs-footer-swastik{display:flex;justify-content:center;color:var(--bs-gold-light);margin-bottom:14px;}
.bs-footer-swastik svg{width:46px;height:46px;display:block;}
.bs-footer-links-wrap{text-align:center;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.12);}
.bs-footer-links-flat{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;}
.bs-footer-links-flat li{margin:0;font-size:15px;}
.bs-footer-links-flat a{color:#f0dcc4;font-weight:600;}
.bs-footer-links-flat a:hover{color:var(--bs-gold-light);text-decoration:none;}
.bs-footer ul{list-style:none;padding:0;margin:0;}
.bs-footer li{margin-bottom:8px;font-size:13.5px;}
.bs-footer a{color:#cbb59f;}
.bs-footer-bottom{display:flex;justify-content:center;padding:18px 0;font-size:12.5px;color:#d8c3a5;flex-wrap:wrap;gap:10px;text-align:center;}

/* =========================================================
   13. MOBILE NAV / FULL RESPONSIVE RANGE (320px – 1920px)
   ========================================================= */
@media(min-width:1441px){
  .container{max-width:1360px;}
}
@media(max-width:960px){
  /* Mobile primary nav + old overlay now replaced by the slide-out drawer
     (.bs-drawer / .bs-drawer-overlay) — see section 4b above. */
}
@media(max-width:767px){
  .container{padding:0 14px;}
  /* Kept in sync with .container's padding above so the full-bleed stripe
     never overshoots the viewport (was hardcoded to -16px regardless of
     breakpoint, which overshot by 2-6px on phones and caused a small but
     real horizontal scroll). */
  .bs-homepage-stripe{margin:0 -14px;padding:0 14px;}
  .bs-header-inner{min-height:60px;}
  .bs-header-zone-right{gap:6px;}
  .bs-icon-btn,.bs-menu-toggle{width:40px;height:40px;font-size:15px;}
  .bs-swastik-svg{width:30px;height:30px;}
  .bs-logo{font-size:19px;}
  .bs-logo .om{font-size:28px;}
  .bs-logo .om svg{width:28px;height:28px;}
  .bs-topbar .container{font-size:11px;flex-direction:column;gap:2px;text-align:center;}
  .bs-hero{padding:32px 0 40px;}
  .bs-hero p{font-size:14px;padding:0 6px;}
  .bs-search-form input[type="search"]{padding:13px 50px 13px 16px;font-size:15px;}
  .bs-search-form button{width:40px;}
  .bs-hero-chips a{font-size:11.5px;padding:5px 11px;}
  .bs-section{padding:26px 0;}
  .bs-section-head h2{font-size:18px;padding-left:10px;border-left-width:4px;}
  .bs-single-wrap{padding:14px 0 30px;gap:20px;}
  .bs-article{padding:14px;border-radius:10px;}
  .bs-article h1.entry-title{font-size:20px;padding-left:12px;}
  .bs-entry-meta{gap:8px 12px;font-size:11.5px;}
  .bs-entry-content{font-size:18px;line-height:1.85;}
  .bs-cta-strip,.bs-whatsapp-cta{flex-direction:column;text-align:center;padding:20px;}
  .bs-newsletter-form{width:100%;flex-direction:column;}
  .bs-newsletter-form input{min-width:0;width:100%;}
  .bs-footer-bottom{flex-direction:column;text-align:center;}
  .bs-panchang-grid{grid-template-columns:minmax(0,1fr);gap:4px;}
}
@media(max-width:600px){
  .bs-grid,.bs-grid.cols-3,.bs-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .bs-card-body{padding:10px;}
  .bs-card-title{font-size:13.5px;}
  .bs-card-meta{font-size:10.5px;gap:8px;}
}
@media(max-width:374px){
  /* iPhone SE / very small devices */
  .container{padding:0 10px;}
  .bs-homepage-stripe{margin:0 -10px;padding:0 10px;}
  .bs-grid,.bs-grid.cols-3,.bs-grid.cols-2{grid-template-columns:minmax(0,1fr);}
  .bs-hero h1{font-size:20px;}
  .bs-logo span{font-size:16px;}
  .bs-logo-default span:not(.om),.bs-logo-mobile span:not(.om){max-width:130px;}
}
/* Tablet band (iPad portrait/landscape, small laptops): 768px – 1024px.
   Sits between the mobile drawer nav (<=960px) and the full desktop layout. */
@media(min-width:768px) and (max-width:1024px){
  .bs-grid,.bs-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
  .bs-single-wrap{gap:24px;}
  .bs-hero{padding:44px 0 54px;}
}
/* Large screens / 4K: cap line length and image scale so the layout doesn't
   just stretch thin — content stays centered and readable. */
@media(min-width:1920px){
  .container{max-width:1520px;}
  .bs-entry-content{font-size:18px;}
}
/* Absolute safety net against horizontal scroll on any viewport */
.bs-grid,.bs-footer-grid,.bs-panchang-grid{max-width:100%;}
.bs-entry-content table{-ms-overflow-style:none;}

/* Utility */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
.text-center{text-align:center;}

/* =========================================================
   THEME CUSTOMIZER — SITE LAYOUT (Full width / Boxed)
   ========================================================= */
body.bs-layout-boxed{background:var(--bs-boxed-bg,#e4dccc);}
body.bs-layout-boxed #bs-page-wrap{max-width:var(--bs-boxed-width,1500px);margin:0 auto;box-shadow:0 0 50px rgba(0,0,0,.12);background:var(--bs-bg);overflow-x:clip;}

/* =========================================================
   THEME CUSTOMIZER — STICKY HEADER
   ========================================================= */
body.bs-sticky-header .bs-header{position:sticky;top:var(--bs-adminbar-h,0px);z-index:900;}

/* Sticky/mobile logo swap: hidden by default, shown via JS toggling body.bs-scrolled */
.bs-logo .bs-logo-sticky,.bs-logo .bs-logo-mobile{display:none;}
body.bs-sticky-header.bs-scrolled .bs-logo .bs-logo-default{display:none;}
body.bs-sticky-header.bs-scrolled .bs-logo .bs-logo-sticky{display:inline-flex;}
@media(max-width:600px){
  .bs-logo .bs-logo-default,.bs-logo .bs-logo-sticky{display:none;}
  .bs-logo .bs-logo-mobile{display:inline-flex;}
}

/* =========================================================
   THEME CUSTOMIZER — SIDEBAR LAYOUT
   ========================================================= */
body.bs-sidebar-none .bs-single-wrap{grid-template-columns:minmax(0,1fr);}
body.bs-sidebar-none .bs-sidebar{display:none;}
body.bs-sidebar-left .bs-single-wrap{grid-template-columns:var(--bs-sidebar-width,320px) minmax(0,1fr);}
body.bs-sidebar-left .bs-sidebar{order:-1;}
@media(max-width:960px){
  body.bs-sidebar-left .bs-single-wrap,body.bs-sidebar-none .bs-single-wrap{grid-template-columns:minmax(0,1fr);}
}

/* =========================================================
   16. PREMIUM 3D DEPTH SYSTEM
   Pure CSS (transform + box-shadow + backdrop-filter) only — no
   WebGL, no Three.js, no JS-driven per-frame effects. Adds a floating
   glass header, 3D-lift post/category cards, extruded icon tiles,
   tactile buttons and a frosted-glass search + drawer. Every hover/
   active state below is undone in the REDUCED MOTION block that
   follows, so nothing here breaks that accessibility contract.
   ========================================================= */
:root{
  --bs-depth-1:0 1px 2px rgba(128,0,32,.06);
  --bs-depth-2:0 6px 18px -4px rgba(128,0,32,.14),0 2px 6px rgba(128,0,32,.08);
  --bs-depth-3:0 20px 40px -10px rgba(128,0,32,.22),0 8px 18px -6px rgba(128,0,32,.12);
  --bs-depth-glow:0 0 0 1px rgba(204,85,0,.08),0 10px 28px rgba(204,85,0,.18);
  --bs-glass-bg:rgba(255,255,255,.72);
  --bs-glass-border:rgba(255,255,255,.55);
}

/* ---- Floating glass header ---- */
.bs-header{
  box-shadow:var(--bs-depth-1);
  transition:box-shadow .35s ease,background-color .35s ease,border-radius .35s ease;
}
body.bs-scrolled .bs-header{
  background-color:var(--bs-glass-bg);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  backdrop-filter:saturate(180%) blur(14px);
  box-shadow:var(--bs-depth-2), inset 0 1px 0 rgba(255,255,255,.7);
  border-bottom:1px solid var(--bs-glass-border);
  border-radius:0 0 18px 18px;
}

/* ---- 3D floating post / archive cards ---- */
.bs-card,.bs-pcard-link{
  box-shadow:var(--bs-depth-2);
  transition:transform .4s cubic-bezier(.22,.9,.32,1),box-shadow .4s ease,border-color .3s ease;
}
.bs-card:hover{
  transform:perspective(900px) translateY(-10px) rotateX(1.5deg) scale(1.015);
  box-shadow:var(--bs-depth-3),var(--bs-depth-glow);
}
.bs-pcard-link:hover,.bs-pcard-link:focus-visible{
  transform:perspective(900px) translateY(-9px) rotateX(1deg);
  box-shadow:var(--bs-depth-3);
}
.bs-cat-card:hover{
  transform:perspective(900px) translateY(-10px) rotateX(2deg) scale(1.045);
  box-shadow:var(--bs-depth-3),var(--bs-depth-glow);
}

/* ---- Extruded 3D category icon tiles ---- */
.bs-cat-icon{
  width:56px;height:56px;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto;
  border-radius:16px;
  background:linear-gradient(145deg,#ffffff,var(--bs-cream));
  box-shadow:6px 6px 14px rgba(128,0,32,.10),-6px -6px 14px rgba(255,255,255,.8),inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .4s cubic-bezier(.22,.9,.32,1),box-shadow .4s ease;
}
.bs-cat-card:hover .bs-cat-icon{
  transform:translateY(-4px) scale(1.08);
  box-shadow:8px 10px 22px rgba(204,85,0,.24),-4px -4px 12px rgba(255,255,255,.85);
}

/* ---- Tactile 3D buttons ---- */
.btn{box-shadow:0 4px 10px rgba(128,0,32,.12),inset 0 1px 0 rgba(255,255,255,.4);}

.btn-primary{box-shadow:0 6px 18px rgba(204,85,0,.32),inset 0 1px 0 rgba(255,255,255,.35);}
.btn-primary:hover{
  box-shadow:0 9px 24px rgba(204,85,0,.42),inset 0 1px 0 rgba(255,255,255,.4);
  transform:translateY(-2px);
}
.btn-outline:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(128,0,32,.16);
}
.btn:active{
  transform:scale(.96) translateY(1px);
  box-shadow:0 2px 6px rgba(128,0,32,.18),inset 0 2px 5px rgba(0,0,0,.14);
}
.bs-icon-btn{box-shadow:0 3px 8px rgba(128,0,32,.12),inset 0 1px 0 rgba(255,255,255,.5);}

.bs-icon-btn:hover{box-shadow:0 7px 18px rgba(204,85,0,.32);}

/* ---- Frosted-glass floating search ---- */
.bs-search-overlay-inner{filter:drop-shadow(0 24px 50px rgba(0,0,0,.35));}
.bs-search-form input[type="search"]{
  background-color:var(--bs-glass-bg);
  -webkit-backdrop-filter:blur(16px) saturate(180%);
  backdrop-filter:blur(16px) saturate(180%);
  border:1px solid var(--bs-glass-border);
  box-shadow:var(--bs-depth-3),0 0 0 4px rgba(204,85,0,.06);
  transition:box-shadow .3s ease;
}
.bs-search-form input[type="search"]:focus{
  outline:none;
  box-shadow:var(--bs-depth-3),0 0 0 4px rgba(204,85,0,.18),0 0 36px rgba(212,175,55,.28);
}

/* ---- Layered-depth 3D mobile drawer ---- */
.bs-drawer{
  box-shadow:var(--bs-depth-3),-24px 0 55px rgba(0,0,0,.25);
  transform:translateX(100%) perspective(1400px) rotateY(-6deg);
  transition:transform .45s cubic-bezier(.16,1,.3,1);
}
.bs-drawer.active{transform:translateX(0) perspective(1400px) rotateY(0deg);}
.bs-drawer-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);}

/* =========================================================
   17. PREMIUM REDESIGN — TYPOGRAPHY, HERO, RHYTHM
   Visual layer only: no markup dependency beyond what already exists,
   except the hero eyebrow tag (new .bs-hero-eyebrow span), added in
   header.php alongside this stylesheet. (Floating TOC was tried here
   and reverted back to the original inline <details> TOC.)
   ========================================================= */

/* ---- Premium typography rhythm ---- */
h1,h2,h3,h4,h5{letter-spacing:-.01em;}
h1{letter-spacing:-.02em;}
.eyebrow,.bs-section-head .eyebrow{font-family:var(--bs-font-display);letter-spacing:.12em;}
p{max-width:70ch;}
.bs-hero p{max-width:600px;}

/* ---- Section rhythm: generous, consistent whitespace ---- */
.bs-section + .bs-section{border-top:1px solid var(--bs-border);}
@media(min-width:768px){
  .bs-section{padding:var(--bs-section-spacing,60px) 0;}
}
.bs-section-head{margin-bottom:28px;}
.bs-section-head h2{letter-spacing:-.015em;}

/* ---- Hero: large, premium, glass-glow search ---- */
.bs-hero{
  isolation:isolate;
}
@media(min-width:768px){
  .bs-hero{padding:76px 0 96px;}
}
.bs-hero::before,.bs-hero::after{
  content:"";
  position:absolute;
  border-radius:50%;
  filter:blur(60px);
  z-index:-1;
  pointer-events:none;
}
.bs-hero::before{width:340px;height:340px;background:rgba(204,85,0,.28);top:-120px;left:-80px;}
.bs-hero::after{width:300px;height:300px;background:rgba(212,175,55,.22);bottom:-140px;right:-60px;}
.bs-hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--bs-font-display);font-size:12.5px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:#fff;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.28);
  padding:7px 16px;border-radius:999px;margin-bottom:18px;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
}
.bs-hero .bs-search-form{max-width:620px;margin-left:auto;margin-right:auto;}
.bs-hero .bs-search-form input[type="search"]{height:56px;font-size:16px;padding-left:20px;}
@media(min-width:768px){
  .bs-hero h1{font-size:clamp(30px,4.6vw,44px);max-width:840px;margin-left:auto;margin-right:auto;}
}

/* ---- Category cards: premium tile proportions ---- */
.bs-cat-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:22px 14px;}

.bs-toc{background:var(--bs-cream);border:1px solid var(--bs-border);border-radius:var(--bs-radius);padding:16px 20px;margin:20px 0;}
.bs-toc-simple .bs-toc-related-list{margin:0;}
.bs-toc summary{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:700;cursor:pointer;color:var(--bs-maroon);list-style:none;}
.bs-toc summary::-webkit-details-marker{display:none;}
.bs-toc-summary-text{display:inline-flex;align-items:center;gap:8px;}
.bs-toc-summary-text svg{flex-shrink:0;}
.bs-toc-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--bs-maroon);color:#fff;font-size:11.5px;font-weight:700;}
.bs-toc-chevron{display:inline-flex;transition:transform .2s ease;color:var(--bs-maroon);}
.bs-toc[open] .bs-toc-chevron{transform:rotate(180deg);}
.bs-toc-list{margin-top:12px;}
.bs-toc-list ol{margin:0;padding-left:20px;list-style:disc;}
.bs-toc-list ol ol{margin-top:4px;padding-left:18px;list-style:circle;font-size:.95em;}
.bs-toc-list li{margin:6px 0;}
.bs-toc-list a{color:var(--bs-text-main);text-decoration:none;scroll-margin-top:90px;}
.bs-toc-list a:hover{color:var(--bs-maroon);text-decoration:underline;}
.bs-toc-list a.bs-toc-active{color:var(--bs-maroon);font-weight:700;}
.bs-toc-related{margin-top:14px;padding-top:12px;border-top:1px dashed var(--bs-border);}
.bs-toc-related-label{margin:0 0 8px;font-size:13.5px;font-weight:700;color:var(--bs-maroon);}
.bs-toc-related-list{list-style:none;margin:0;padding:0;}
.bs-toc-related-list.bs-toc-related-bulleted{list-style:disc;padding-left:20px;}
.bs-toc-related-list.bs-toc-related-bulleted li{border-bottom:none;}
.bs-toc-related-list li{margin:0;border-bottom:1px solid var(--bs-border);}
.bs-toc-related-list li:last-child{border-bottom:none;}
.bs-toc-related-list a{display:block;padding:8px 0;color:var(--bs-text-main);font-size:14px;font-weight:600;text-decoration:none;}
.bs-toc-related-list a:hover{color:var(--bs-maroon);text-decoration:underline;}
@media(prefers-reduced-motion:reduce){.bs-toc-chevron{transition:none;}}

@media(max-width:600px){
  .bs-hero .bs-search-form input[type="search"]{height:50px;}
  .bs-section{padding:36px 0;}
}

/* =========================================================
   15. REDUCED MOTION
   Placed last so it wins on equal specificity. Cuts every decorative
   animation/transition down to near-instant while leaving layout, color
   and opacity END STATES intact (nothing stays permanently hidden).
   ========================================================= */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .bs-card:hover,.bs-cat-card:hover,.bs-cat-card:hover .bs-cat-icon,.bs-pcard-link:hover,.bs-icon-btn:hover,.btn:active,.btn-primary:hover,.btn-outline:hover{transform:none;}
  .bs-card-thumb img,.bs-pcard-thumb img{transition:none;}
  .bs-drawer{transform:translateX(100%);}
  .bs-drawer.active{transform:translateX(0);}
}

/* =========================================================================
   ICON NAV STRIP (dharmsaar-style category row below header)
   ========================================================================= */
.bs-icon-nav-wrap{
  background:var(--bs-white);
  border-bottom:1px solid var(--bs-border);
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.bs-icon-nav-wrap::-webkit-scrollbar{display:none;}
.bs-icon-nav{
  display:flex;
  gap:22px;
  padding:12px 4px;
  min-width:max-content;
}
.bs-icon-nav-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  text-decoration:none;
  color:var(--bs-text-main);
  font-size:12px;
  font-weight:600;
  min-width:58px;
  flex-shrink:0;
  transition:transform .25s ease;
}
.bs-icon-nav-item:hover{transform:translateY(-2px);color:var(--bs-maroon);}
.bs-icon-nav-ico{
  width:auto;height:auto;
  border-radius:0;
  background:none !important;
  box-shadow:none;
  display:flex;align-items:center;justify-content:center;
}

/* Compact variant used when the strip sits inline inside the header row
   (in place of the old text menu) instead of as its own full width row
   below the header. Styled flat like a reference nav strip: no round
   colour badge behind the icon — just the icon above the label. */
.bs-nav-iconstrip{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:100%;}
.bs-nav-iconstrip::-webkit-scrollbar{display:none;}
.bs-icon-nav--inline{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:4px;
  padding:0;
  min-width:max-content;
}
.bs-icon-nav--inline .bs-icon-nav-item{
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  min-width:52px;
  padding:6px 8px;
  border-radius:10px;
  font-size:11.5px;
  line-height:1.1;
  white-space:nowrap;
}
.bs-icon-nav--inline .bs-icon-nav-item:hover{background:var(--bs-cream);transform:none;}
.bs-icon-nav--inline .bs-icon-nav-ico{
  width:auto;height:auto;
  background:none !important;
  box-shadow:none;
  flex-shrink:0;
  overflow:visible;
}
.bs-icon-nav--inline .bs-icon-nav-ico svg{width:19px;height:19px;display:block;}

.bs-icon-nav--drawer{
  display:flex;
  flex-direction:column;
  gap:0;
  padding:2px 0 6px;
  margin-bottom:4px;
  border-bottom:1px dashed var(--bs-border);
  min-width:0;
}
.bs-icon-nav--drawer .bs-icon-nav-item{
  width:100%;
  min-width:0;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  padding:6px 8px;
  border-radius:10px;
  font-size:14.5px;
}
.bs-icon-nav--drawer .bs-icon-nav-item:hover{background:var(--bs-cream);}
.bs-icon-nav--drawer .bs-icon-nav-ico{flex-shrink:0;}
.bs-icon-nav--drawer .bs-icon-nav-ico svg{width:18px;height:18px;display:block;}

/* Popular Posts — mobile drawer widget, styled as a ranked list (distinct
   from the plain bulleted .bs-widget-list used elsewhere). */
.bs-drawer-popular-list{list-style:none;margin:0;padding:0;}
.bs-drawer-popular-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:6px 8px;
  border-radius:10px;
  text-decoration:none;
  color:var(--bs-text-main);
}
.bs-drawer-popular-item:hover{background:var(--bs-cream);text-decoration:none;}
.bs-drawer-popular-rank{
  flex-shrink:0;
  width:26px;height:26px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--bs-header-bg);
  color:#fff;
  font-weight:700;
  font-size:12px;
}
.bs-drawer-popular-body{display:flex;flex-direction:column;gap:2px;min-width:0;}
.bs-drawer-popular-title{font-weight:600;font-size:13.5px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.bs-drawer-popular-empty{font-size:13px;color:var(--bs-text-soft);margin:0;padding:4px 10px;}

/* =========================================================================
   HEADER FAVORITE/SAVED HEART ICON + COUNTER BADGE
   ========================================================================= */
.bs-fav-btn{position:relative;}
.bs-fav-count{
  position:absolute;
  top:-4px;right:-4px;
  background:var(--bs-saffron);
  color:var(--bs-white);
  font-size:10px;
  font-weight:700;
  line-height:1;
  min-width:16px;
  height:16px;
  border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  padding:0 3px;
  border:2px solid var(--bs-header-bg,var(--bs-maroon));
}

/* =========================================================================
   AAJ KA VICHAR + LIVE DARSHAN — two column homepage block
   ========================================================================= */
.bs-vichar-darshan-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.bs-vichar-card,.bs-darshan-card{
  background:var(--bs-surface);
  border-radius:var(--bs-radius);
  box-shadow:var(--bs-depth-2);
  padding:22px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.bs-vichar-card{
  background:linear-gradient(135deg,var(--bs-cream) 0%,var(--bs-gold-light) 100%);
  justify-content:center;
}
.bs-vichar-eyebrow{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.03em;
  color:var(--bs-maroon);
  text-transform:uppercase;
}
.bs-vichar-text{
  font-size:18px;
  line-height:1.6;
  color:var(--bs-text-main);
  margin:0;
}
.bs-darshan-embed-wrap{
  position:relative;
  width:100%;
  padding-top:56.25%;
  border-radius:var(--bs-radius-sm);
  overflow:hidden;
  background:#000;
}
.bs-darshan-embed-wrap iframe{
  position:absolute;inset:0;
  width:100%;height:100%;
  border:0;
}
.bs-darshan-placeholder{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:6px;
  background:var(--bs-cream);
  border-radius:var(--bs-radius-sm);
  padding:30px 16px;
}

@media (max-width:768px){
  .bs-vichar-darshan-grid{grid-template-columns:1fr;}
  .bs-icon-nav-ico{width:40px;height:40px;}
  .bs-icon-nav{gap:10px;}
}
@media (max-width:480px){
  .bs-icon-nav{gap:8px;}
  .bs-icon-nav-item{min-width:50px;}
}

/* =========================================================================
   AAJ KI TITHI — SEO page hero block (template-aaj-ki-tithi.php)
   ========================================================================= */
.bs-tithi-hero{
  background:linear-gradient(135deg,var(--bs-cream) 0%,var(--bs-gold-light) 100%);
  border-radius:var(--bs-radius);
  box-shadow:var(--bs-depth-2);
  padding:28px 24px;
  margin-bottom:8px;
}
.bs-tithi-hero-top{text-align:center;margin-bottom:18px;}
.bs-tithi-hero-top h2{
  margin:8px 0 4px;
  font-size:26px;
  color:var(--bs-maroon);
}
.bs-tithi-hero-sub{
  color:var(--bs-text-soft);
  font-size:14px;
  margin:0;
}
.bs-tithi-hero-grid{
  grid-template-columns:repeat(4,1fr);
}
@media (max-width:768px){
  .bs-tithi-hero-grid{grid-template-columns:repeat(2,1fr);}
  .bs-tithi-hero-top h2{font-size:20px;}
}

/* =========================================================================
   SINGLE PAGE — Save button state + font-size control
   ========================================================================= */
.bs-font-size-control{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-left:auto;
}
.bs-font-size-control button{
  padding:8px 12px !important;
  border-radius:999px;
  background:var(--bs-cream);
  border:1px solid var(--bs-border);
  color:var(--bs-maroon);
  font-weight:700;
  font-size:13px;
  cursor:pointer;
}
.bs-lyrics-wrapper{
  transition:font-size .15s ease;
}
@media print{
  .bs-lyrics-actions,.bs-font-size-control{display:none !important;}
}

/* =========================================================================
   ICON LIBRARY — consistent styling for SVG icons across footer social
   links, bottom nav, share buttons, and CTA buttons (see inc/helpers.php
   bs_icon()).
   ========================================================================= */
.bs-hb-social{display:inline-flex;gap:8px;align-items:center;}
.bs-social-icon-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;height:32px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:inherit;
  transition:background .2s ease,transform .2s ease;
}
.bs-social-icon-link:hover{
  background:var(--bs-saffron);
  color:#fff;
  transform:translateY(-2px);
  text-decoration:none;
}
.bs-share a svg,.bs-bookmark-btn svg{display:block;}
.bs-hb-whatsapp{display:inline-flex;align-items:center;gap:6px;}
.bs-hb-whatsapp svg{flex-shrink:0;}
.bs-whatsapp-cta a{display:inline-flex;align-items:center;gap:8px;}
.bs-lyrics-actions button svg{vertical-align:middle;margin-right:2px;}

/* =========================================================================
   FOOTER — column heading icons, contact info column, newsletter icon
   ========================================================================= */
.bs-footer h4{
  display:flex;
  align-items:center;
  gap:8px;
}
.bs-footer h4 svg{flex-shrink:0;color:var(--bs-saffron);}
.bs-cta-strip h3{display:flex;align-items:center;gap:10px;}
.bs-footer-contact-list{display:flex;flex-direction:column;gap:8px;}
.bs-footer-contact-list li{margin-bottom:0 !important;}
.bs-footer-contact-list a,.bs-footer-contact-list span{
  display:flex;
  align-items:center;
  gap:8px;
  color:#cbb59f;
}
.bs-footer-contact-list svg{flex-shrink:0;color:var(--bs-gold-light);}
.bs-footer-contact-list a:hover{color:var(--bs-gold-light);text-decoration:none;}

/* =========================================================
   CATEGORY FEED (single-post embedded, infinite scroll)
   Cards themselves use the site's existing .bs-pcard-grid /
   template-parts/post-card — same look as homepage sections and the
   sidebar. Only the wrapper spacing + "loading more" row are custom.
   ========================================================= */
/* Normal-post 200-word preview + "पूरा पढ़ें" Read More (lyrics types are
   never truncated — see content-single.php). The full content sits in a
   hidden block that single.js reveals on click; no page reload/reflow of
   the article — the feed below is unaffected either way. */
.bs-readmore-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:14px 0 8px;
  padding:9px 18px;
  border:1.5px solid var(--bs-maroon);
  border-radius:999px;
  background:transparent;
  color:var(--bs-maroon);
  font-size:14.5px;
  font-weight:700;
  cursor:pointer;
  transition:background .25s ease,color .25s ease;
}
.bs-readmore-btn:hover,
.bs-readmore-btn:focus-visible{background:var(--bs-maroon);color:#fff;}
.bs-readmore-btn svg{transition:transform .25s ease;}
.bs-readmore-btn.is-expanded svg{transform:rotate(180deg);}
.bs-entry-full[hidden]{display:none;}

.bs-category-feed{margin-top:34px;margin-bottom:34px;max-width:100%;overflow-x:hidden;}

/* Feed section cards — distinct from post-card's usage everywhere else
   on the site (home, archives, search, related posts, sidebar): image
   card with a maroon accent edge and a pill-shaped CTA instead of the
   plain chevron used elsewhere. Every other post-card call site is
   untouched since this is scoped under .bs-category-feed only.
   post-card.php itself never renders a rank number or bookmark/share
   icons, so there is nothing to hide. */
.bs-category-feed .bs-pcard-grid{grid-template-columns:1fr;gap:16px;}
.bs-category-feed .bs-pcard-link{
  position:relative;
  align-items:center;
  width:100%;
  max-width:100%;
  padding:12px 16px 12px 20px;
  border-radius:16px;
  background:linear-gradient(135deg,#fff 0%,var(--bs-cream) 130%);
  box-shadow:0 2px 10px rgba(128,0,32,.07);
  border:1px solid rgba(128,0,32,.08);
  min-height:104px;
  overflow:hidden;
}
.bs-category-feed .bs-pcard-link::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(180deg,var(--bs-saffron) 0%,var(--bs-maroon) 100%);
}
.bs-category-feed .bs-pcard-link:hover,
.bs-category-feed .bs-pcard-link:focus-visible{
  box-shadow:0 10px 24px rgba(128,0,32,.14);
  transform:translateY(-2px);
}
.bs-category-feed .bs-pcard-thumb{display:none;}
.bs-category-feed .bs-pcard-body{padding:2px 6px;min-width:0;max-width:100%;}
.bs-category-feed .bs-pcard-title{font-size:19px;line-height:1.5;padding-top:2px;-webkit-line-clamp:2;max-width:100%;overflow-wrap:break-word;word-break:break-word;}
.bs-category-feed .bs-pcard-excerpt{font-size:13px;line-height:1.65;-webkit-line-clamp:2;margin-top:2px;max-width:100%;overflow-wrap:break-word;word-break:break-word;}
.bs-category-feed .bs-pcard-arrow{
  width:auto;
  height:auto;
  min-width:0;
  border-radius:999px;
  background:var(--bs-maroon);
  color:#fff;
  padding:7px 14px;
  font-size:12.5px;
  font-weight:700;
}
.bs-category-feed .bs-pcard-arrow::before{
  content:"पढ़ें";
  margin-right:4px;
}
.bs-category-feed .bs-pcard-arrow svg{width:13px;height:13px;}
.bs-category-feed .bs-pcard-link:hover .bs-pcard-arrow,
.bs-category-feed .bs-pcard-link:focus-visible .bs-pcard-arrow{
  background:var(--bs-saffron);
}
@media (max-width:600px){
  .bs-category-feed .bs-pcard-title{font-size:17.5px;}
  .bs-category-feed .bs-pcard-arrow::before{content:"";margin-right:0;}
  .bs-category-feed .bs-pcard-arrow{padding:8px;}
}
.bs-cf-loader{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:22px 0;
  font-size:14px;
  color:var(--bs-text-soft);
}
.bs-cf-spinner{
  width:16px;height:16px;
  border:2px solid var(--bs-border);
  border-top-color:var(--bs-saffron);
  border-radius:50%;
  animation:bs-cf-spin .7s linear infinite;
}
@keyframes bs-cf-spin{to{transform:rotate(360deg);}}
