/*
 * SADHNAM v4 — header, navigation, spacing tokens, hubs and utilities.
 *
 * Shipped as a separate stylesheet rather than appended to style.css: some
 * minify/combine plugins truncate the tail of a large theme stylesheet, which
 * silently removed the entire v4 layer. A distinct file and handle also gives
 * this layer its own cache key.
 */

/* =====================================================================
   SADHNAM v4 — Header, navigation, spacing tokens, hubs, utilities
   ===================================================================== */

:root{
  --sd-space-section:68px;
  --sd-space-section-sm:46px;
  --sd-space-stack:34px;
  --sd-header-h:68px;
  --sd-ribbon-h:32px;
  --sd-player-h:0px;
}

/* ---------- Ribbon: 30–32px ---------- */
.ribbon{padding:6px 16px;font-size:.8rem;line-height:1.4;min-height:var(--sd-ribbon-h);display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}

/* ---------- Header shell ---------- */
header.site{transition:box-shadow .2s ease, background .2s ease}
header.site.is-stuck{box-shadow:0 6px 22px rgba(42,36,64,.10)}
.sd-nav-bar{display:flex;align-items:center;gap:22px;height:var(--sd-header-h)}
.sd-nav-bar .brand{flex:none}
.sd-nav-bar .brand img.custom-logo{width:36px;height:36px}
.sd-nav-bar .brand{font-size:1.28rem}

/* ---------- Desktop menu with dropdowns ---------- */
.sd-menu{margin-left:auto;display:flex;align-items:center}
.sd-menu > ul{display:flex;align-items:center;gap:20px;list-style:none;font-weight:600;font-size:.93rem;margin:0;padding:0}
.sd-menu > ul > li{position:relative}
.sd-menu a{color:var(--ink-soft);display:inline-flex;align-items:center;gap:5px;padding:8px 2px;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap}
.sd-menu a:hover,.sd-menu .current-menu-item > a,.sd-menu li.is-open > a{color:var(--ink);border-color:var(--brass)}
.sd-menu .sd-caret{width:9px;height:9px;flex:none;transition:transform .2s}
.sd-menu li.is-open > a .sd-caret{transform:rotate(180deg)}
.sd-submenu{
  position:absolute;top:calc(100% + 12px);left:-18px;min-width:246px;list-style:none;
  background:#FFFDF7;border:1px solid var(--line);border-radius:14px;padding:10px;
  box-shadow:0 20px 44px rgba(42,36,64,.16);
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease,visibility .18s;
  z-index:60;
}
.sd-menu li.is-open > .sd-submenu,.sd-menu li:hover > .sd-submenu,.sd-menu li:focus-within > .sd-submenu{opacity:1;visibility:visible;transform:translateY(0)}
.sd-submenu::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}
.sd-submenu li{display:block}
.sd-submenu a{display:block;padding:9px 14px;border-radius:9px;border-bottom:none;font-weight:600;font-size:.92rem;color:var(--ink);white-space:normal}
.sd-submenu a:hover{background:var(--bone-deep);color:var(--sindoor);border-bottom:none}
.sd-submenu .sd-sub-note{display:block;font-weight:500;font-size:.78rem;color:var(--ink-soft);margin-top:2px}

/* ---------- Header actions ---------- */
.sd-actions{display:flex;align-items:center;gap:10px;flex:none}
.sd-search-toggle{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:transparent;color:var(--ink-soft);cursor:pointer;transition:color .2s,border-color .2s}
.sd-search-toggle:hover{color:var(--sindoor);border-color:var(--sindoor)}
.sd-actions .btn{padding:9px 20px;font-size:.9rem}
.sd-drawer-toggle{display:none;width:42px;height:42px;border-radius:11px;border:1.5px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;place-items:center}
.sd-drawer-toggle span{display:block;width:19px;height:2px;background:currentColor;border-radius:2px;position:relative}
.sd-drawer-toggle span::before,.sd-drawer-toggle span::after{content:"";position:absolute;left:0;width:19px;height:2px;background:currentColor;border-radius:2px}
.sd-drawer-toggle span::before{top:-6px}
.sd-drawer-toggle span::after{top:6px}

/* ---------- Search panel ---------- */
.sd-search-panel{display:none;border-top:1px solid var(--line);background:#FFFDF7}
.sd-search-panel.is-open{display:block}
.sd-search-panel form{display:flex;gap:10px;padding:16px 0}
.sd-search-panel input[type="search"]{flex:1;padding:13px 18px;border:1px solid var(--line);border-radius:999px;background:var(--bone);font-family:var(--font-body);font-size:1rem;color:var(--ink)}
.sd-search-panel input[type="search"]:focus{outline:2px solid var(--brass);border-color:var(--brass)}

/* ---------- Mobile drawer ---------- */
.sd-drawer-backdrop{position:fixed;inset:0;background:rgba(24,16,49,.5);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;z-index:98}
body.sd-drawer-open .sd-drawer-backdrop{opacity:1;visibility:visible}
body.sd-drawer-open{overflow:hidden}
.sd-drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(420px,92vw);background:var(--bone);
  transform:translateX(102%);transition:transform .28s cubic-bezier(.3,.7,.3,1);
  z-index:99;display:flex;flex-direction:column;box-shadow:-14px 0 44px rgba(24,16,49,.24);
}
.sd-drawer.is-open{transform:translateX(0)}
.sd-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line);flex:none}
.sd-drawer-close{width:44px;height:44px;border-radius:12px;border:1.5px solid var(--line);background:transparent;color:var(--ink);font-size:1.35rem;line-height:1;cursor:pointer}
.sd-drawer-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 18px 26px}
.sd-acc{border-bottom:1px solid var(--line)}
.sd-acc > button,.sd-drawer-body > a.sd-drawer-link{
  width:100%;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:none;border:none;padding:14px 2px;font-family:var(--font-body);font-weight:700;font-size:1.02rem;color:var(--ink);cursor:pointer;text-align:left;
}
.sd-drawer-body > a.sd-drawer-link{border-bottom:1px solid var(--line)}
.sd-acc .sd-caret{width:12px;height:12px;transition:transform .2s;color:var(--ink-soft)}
.sd-acc.is-open .sd-caret{transform:rotate(180deg)}
.sd-acc-panel{display:none;padding:0 0 12px}
.sd-acc.is-open .sd-acc-panel{display:block}
.sd-acc-panel a{display:block;min-height:44px;display:flex;align-items:center;padding:8px 14px;border-radius:9px;color:var(--ink-soft);font-weight:600;font-size:.97rem}
.sd-acc-panel a:hover{background:var(--bone-deep);color:var(--sindoor)}
.sd-drawer-foot{flex:none;padding:16px 18px 22px;border-top:1px solid var(--line);background:#FFFDF7}
.sd-drawer-foot .btn{display:block;width:100%;text-align:center;margin-bottom:10px}
.sd-drawer-foot .sd-seva{display:block;text-align:center;font-weight:700;color:var(--sindoor);padding:10px;min-height:44px}
.sd-drawer-foot .social-icons{justify-content:center;margin-top:14px}
.sd-drawer-foot .social-icons a{border-color:var(--line);color:var(--ink-soft);width:44px;height:44px}
.sd-drawer-foot .social-icons a:hover{color:var(--sindoor);border-color:var(--sindoor)}
.sd-drawer form.sd-drawer-search{display:flex;gap:8px;margin:8px 0 6px}
.sd-drawer form.sd-drawer-search input[type="search"]{flex:1;padding:12px 16px;border:1px solid var(--line);border-radius:999px;background:#FFFDF7;font-family:var(--font-body)}

/* ---------- Section spacing tokens ---------- */
section.block{padding:var(--sd-space-section) 0}
section.block.tight{padding-top:38px}
.stack{margin-top:var(--sd-space-stack)}
.stack-sm{margin-top:20px}
.stack-lg{margin-top:52px}
.stats{margin-top:52px}

/* ---------- Hub pages ---------- */
.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:var(--sd-space-stack)}
.hub-card{background:#FFFDF7;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s}
.hub-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(42,36,64,.12);border-color:rgba(196,154,60,.5)}
.hub-card .thumb{aspect-ratio:16/9;background:linear-gradient(135deg,var(--night),var(--night-deep));display:grid;place-items:center;font-family:var(--font-dev);font-size:2rem;color:var(--brass-soft);overflow:hidden}
.hub-card .thumb img{width:100%;height:100%;object-fit:cover}
.hub-card .body{padding:20px 22px 22px}
.hub-card h3{font-family:var(--font-display);font-weight:600;font-size:1.12rem;line-height:1.35;margin-bottom:6px}
.hub-card p{color:var(--ink-soft);font-size:.93rem}
.hub-intro{max-width:760px;color:var(--ink-soft)}
.disclaimer-box{background:var(--bone-deep);border:1px solid var(--line);border-left:3px solid var(--brass);border-radius:12px;padding:18px 22px;margin-top:30px;font-size:.92rem;color:var(--ink-soft)}
.disclaimer-box b{display:block;color:var(--ink);margin-bottom:5px;font-size:.86rem;letter-spacing:.1em;text-transform:uppercase}

/* ---------- Empty / public notices ---------- */
.sd-empty{text-align:center;color:var(--ink-soft);background:#FFFDF7;border:1px dashed var(--line);border-radius:var(--radius);padding:38px 26px;margin-top:26px}
.sd-empty .dev{font-family:var(--font-dev);color:var(--brass);font-size:1.5rem;display:block;margin-bottom:10px}

/* ---------- Utility ---------- */
.sd-hide{display:none!important}
.sd-flow > * + *{margin-top:16px}
.entry-content{max-width:820px}
.post-body{max-width:800px}
.sd-devnagari,[lang="sa"],[lang="hi"]{line-height:1.8}

/* ---------- Responsive v4 ---------- */
@media (max-width:1100px){
  .sd-menu > ul{gap:14px;font-size:.88rem}
  .sd-actions .btn{padding:9px 15px;font-size:.85rem}
}
@media (max-width:980px){
  .hub-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .sd-menu,.sd-actions .btn-sindoor,.sd-search-toggle{display:none}
  .sd-drawer-toggle{display:grid;margin-left:auto}
  .sd-nav-bar{height:60px}
  :root{--sd-header-h:60px}
}
@media (max-width:760px){
  .page-hero{padding:28px 18px 34px}
  .post-hero{padding:28px 0 32px}
  .hub-grid{grid-template-columns:1fr}
  section.block{padding:var(--sd-space-section-sm) 0}
  .entry{padding:34px 20px 54px}
}

/* Space for the global sticky player so nothing is covered */
body.has-sd-player{padding-bottom:var(--sd-player-h)}

/* v4 utility classes replacing inline styles on the homepage */
.block-flush-top{padding-top:0}
.sec-head-center{justify-content:center;text-align:center}
.sec-head-center > div{margin:0 auto}
.sec-head-center .eyebrow{justify-content:center}
.sec-head-center .sec-sub{margin-left:auto;margin-right:auto}
.hub-card .thumb span{font-family:var(--font-dev)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Search results page */
.sd-search-form{display:flex;gap:10px;max-width:620px;margin:18px auto 0;flex-wrap:wrap;justify-content:center}
.sd-search-form input[type="search"]{
  flex:1;min-width:220px;padding:13px 20px;border:1px solid var(--line);border-radius:999px;
  background:var(--bone);font-family:var(--font-body);font-size:.98rem;color:var(--ink);min-height:46px;
}
.sd-search-form input[type="search"]:focus{outline:2px solid var(--brass);border-color:var(--brass)}
.pagination{margin-top:var(--sd-space-stack);text-align:center}
.pagination .page-numbers{
  display:inline-block;min-width:42px;min-height:42px;line-height:42px;padding:0 12px;margin:0 3px;
  border:1px solid var(--line);border-radius:10px;font-family:var(--font-body);font-weight:600;
  font-size:.9rem;color:var(--ink-soft);
}
.pagination .page-numbers:hover{border-color:var(--brass);color:var(--ink)}
.pagination .page-numbers.current{background:var(--night);border-color:var(--night);color:var(--bone)}
.pagination .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
