﻿/* bh-custom.css - Bhagavadgitam.com redesign. Sits on top of Bootstrap 5.3.8 (never edit Bootstrap).
   Tokens first; dark mode by media query + manual [data-theme]. No global reset. */
/* Fonts: self-hosted woff2 files in assets/v2/fonts/ (same place as the other sites) (Spectral headings, Source Serif 4 body), latin + latin-ext subsets
   (latin-ext carries the IAST diacritics: ā ī ū ṛ ṣ ṇ ś ṭ ḍ). File names follow the Fontsource pattern <family>-<subset>-<weight>-<style>.woff2.
   Until the files are present the stacks below fall back to Sitka / Charter / Palatino / Georgia. */
@font-face { font-family: "Spectral"; font-weight: 400; font-style: normal; font-display: swap; src: url("../assets/v2/fonts/spectral-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Spectral"; font-weight: 400; font-style: normal; font-display: swap; src: url("../assets/v2/fonts/spectral-latin-ext-400-normal.woff2") format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Spectral"; font-weight: 600; font-style: normal; font-display: swap; src: url("../assets/v2/fonts/spectral-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Spectral"; font-weight: 600; font-style: normal; font-display: swap; src: url("../assets/v2/fonts/spectral-latin-ext-600-normal.woff2") format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Spectral"; font-weight: 400; font-style: italic; font-display: swap; src: url("../assets/v2/fonts/spectral-latin-400-italic.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Spectral"; font-weight: 400; font-style: italic; font-display: swap; src: url("../assets/v2/fonts/spectral-latin-ext-400-italic.woff2") format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Source Serif 4"; font-weight: 400; font-style: normal; font-display: swap; src: url("../assets/v2/fonts/source-serif-4-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Source Serif 4"; font-weight: 400; font-style: normal; font-display: swap; src: url("../assets/v2/fonts/source-serif-4-latin-ext-400-normal.woff2") format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Source Serif 4"; font-weight: 600; font-style: normal; font-display: swap; src: url("../assets/v2/fonts/source-serif-4-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Source Serif 4"; font-weight: 600; font-style: normal; font-display: swap; src: url("../assets/v2/fonts/source-serif-4-latin-ext-600-normal.woff2") format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Source Serif 4"; font-weight: 400; font-style: italic; font-display: swap; src: url("../assets/v2/fonts/source-serif-4-latin-400-italic.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Source Serif 4"; font-weight: 400; font-style: italic; font-display: swap; src: url("../assets/v2/fonts/source-serif-4-latin-ext-400-italic.woff2") format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

:root {
  --bh-saffron: #C46B0A;
  --bh-saffron-dark: #9E520A;
  --bh-saffron-light: #F0A848;
  --bh-indigo: #3D3A7A;
  --bh-indigo-dark: #27245A;
  --bh-hero-a: #1E1B4A;
  --bh-hero-b: #110F2E;

  --bh-bg: #F8F5EF;
  --bh-surface: #FFFFFF;
  --bh-surface-2: #F1ECE2;
  --bh-text: #2A2823;
  --bh-muted: #5E5A50;
  --bh-border: #DDD5C6;
  --bh-link: #9E520A;
  --bh-link-hover: #3D3A7A;
  --bh-heading: #27245A;
  --bh-accent: #C46B0A;

  /* Spectral / Source Serif 4 load from bhcss/fonts/ when the woff2 files are present. Until then each
     visitor gets the best reading serif on the device: Sitka (Windows), Charter / Palatino (Apple), Noto Serif (Android). */
  --bh-font-head: "Spectral", "Sitka Heading", "Iowan Old Style", "Palatino Linotype", Palatino, "Noto Serif", Georgia, serif;
  --bh-font-body: "Source Serif 4", "Sitka Text", Charter, "Bitstream Charter", "Noto Serif", Cambria, Georgia, serif;
  --bh-radius: .5rem;
  --bh-shadow: 0 1px 2px rgba(30,27,74,.08), 0 4px 14px rgba(30,27,74,.06);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bh-bg: #18172A; --bh-surface: #211F38; --bh-surface-2: #2A2845; --bh-text: #E9E5DA;
    --bh-muted: #B3AEC4; --bh-border: #3A3860; --bh-link: #F0A848; --bh-link-hover: #FFD08A;
    --bh-heading: #F3DFB8; --bh-accent: #F0A848; --bh-shadow: 0 1px 2px rgba(0,0,0,.4);
  }
}
:root[data-theme="dark"] {
  --bh-bg: #18172A; --bh-surface: #211F38; --bh-surface-2: #2A2845; --bh-text: #E9E5DA;
  --bh-muted: #B3AEC4; --bh-border: #3A3860; --bh-link: #F0A848; --bh-link-hover: #FFD08A;
  --bh-heading: #F3DFB8; --bh-accent: #F0A848; --bh-shadow: 0 1px 2px rgba(0,0,0,.4);
}

body.bh { background: var(--bh-bg); color: var(--bh-text); font-family: var(--bh-font-body);
  font-size: 1.125rem; line-height: 1.7; }
body.bh h1, body.bh h2, body.bh h3, body.bh h4 { font-family: var(--bh-font-head); color: var(--bh-heading); line-height: 1.25; }
body.bh a { color: var(--bh-link); text-underline-offset: .18em; }
body.bh a:hover, body.bh a:focus { color: var(--bh-link-hover); }
body.bh :focus-visible { outline: 3px solid var(--bh-saffron-light); outline-offset: 2px; }
body.bh img { max-width: 100%; height: auto; }

.bh-skip { position: absolute; left: .5rem; top: .5rem; z-index: 2000; background: #fff; color: #000; padding: .5rem 1rem; border-radius: .25rem; }

/* Header / navbar */
.bh-header { position: sticky; top: 0; z-index: 1030; }
.bh-navbar { background: linear-gradient(90deg, var(--bh-hero-a), var(--bh-indigo-dark)); border-bottom: 3px solid var(--bh-saffron); min-height: 64px; }
.bh-logo { width: 120px; height: 40px; object-fit: contain; }
.bh-navbar .nav-link { color: #F0EBDD; font-family: var(--bh-font-head); font-size: 1.05rem; }
.bh-navbar .nav-link:hover, .bh-navbar .nav-link.active { color: var(--bh-saffron-light); }
.bh-navbar .dropdown-menu { background: var(--bh-indigo-dark); border: 1px solid var(--bh-border); }
.bh-navbar .dropdown-item { color: #F0EBDD; font-family: var(--bh-font-head); }
.bh-navbar .dropdown-item:hover, .bh-navbar .dropdown-item.active { background: var(--bh-saffron-dark); color: #fff; }

/* Hero (static; reserved heights) */
.bh-hero { background: linear-gradient(160deg, var(--bh-hero-a), var(--bh-hero-b)); color: #F3EEE0; padding: 2.5rem 0 2.25rem; }
.bh-hero .container { max-width: 960px; }
.bh-breadcrumb { font-size: .9rem; margin: 0 0 .75rem; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: .4rem; color: #C9C3E0; }
.bh-breadcrumb a { color: var(--bh-saffron-light); }
.bh-breadcrumb li + li::before { content: "\203A"; margin-right: .4rem; color: #8F8AB8; }
.bh-eyebrow { font-size: .85rem; letter-spacing: .12em; text-transform: uppercase; color: var(--bh-saffron-light); margin: 0 0 .5rem; font-family: var(--bh-font-body); }
.bh-hero h1 { color: #FFFFFF; font-size: clamp(1.75rem, 1.2rem + 2.2vw, 2.6rem); margin: 0 0 .75rem; }
.bh-lead { font-style: italic; font-size: 1.15rem; color: #E6E0F2; margin: 0 0 .5rem; max-width: 46rem; }
.bh-credit { font-size: .9rem; color: #B9B3D6; margin: 0; }
.bh-hero-home { background-color: var(--bh-hero-b); background-image: linear-gradient(rgba(17,15,46,.72), rgba(17,15,46,.82)), url("../images/main-bg.jpg");
  background-size: cover; background-position: center; min-height: 340px; display: flex; align-items: center; }
@media (min-width: 768px) { .bh-hero-home { min-height: 420px; } }
.bh-hero-home .container { width: 100%; }

/* Content */
.bh-main { padding: 2.5rem 0 3rem; }
.bh-content { max-width: 52rem; margin-inline: auto; }
.bh-content p { margin-bottom: 1.1rem; }
.bh-content h2 { font-size: 1.6rem; margin: 2rem 0 .8rem; }
.bh-content h3 { font-size: 1.3rem; margin: 1.5rem 0 .6rem; }
.bh-theme-img { display: block; margin: 0 0 1.5rem; border-radius: var(--bh-radius); box-shadow: var(--bh-shadow); max-width: 100%; height: auto; }

/* Entries (PDF lists) */
.bh-entry { background: var(--bh-surface); border: 1px solid var(--bh-border); border-left: 4px solid var(--bh-accent); border-radius: var(--bh-radius); padding: 1rem 1.25rem; margin-bottom: 1rem; box-shadow: var(--bh-shadow); }
.bh-entry h2, .bh-entry .bh-entry-title { font-size: 1.2rem; margin: 0 0 .35rem; font-family: var(--bh-font-head); }
.bh-entry p { margin: 0 0 .4rem; color: var(--bh-text); }
.bh-entry p:last-child { margin-bottom: 0; }
.bh-entry a.bh-pdf::before { content: "\f1c1"; font-family: "bootstrap-icons"; margin-right: .5rem; }

/* Link lists */
.bh-linklist { list-style: none; padding: 0; margin: 0; }
.bh-linklist li { border-bottom: 1px solid var(--bh-border); padding: .85rem 0; }
.bh-linklist a { font-family: var(--bh-font-head); font-size: 1.15rem; font-weight: 600; }

/* Quotations */
.bh-quote-card { background: var(--bh-surface); border: 1px solid var(--bh-border); border-radius: var(--bh-radius); padding: 1.1rem 1.4rem; margin-bottom: 1.25rem; box-shadow: var(--bh-shadow); }
.bh-quote-author { font-family: var(--bh-font-head); font-weight: 600; color: var(--bh-accent); font-size: 1.05rem; margin: 0 0 .5rem; }
.bh-quote-card blockquote { margin: 0 0 .75rem; padding-left: 1rem; border-left: 3px solid var(--bh-saffron-light); font-style: italic; }
.bh-quote-card blockquote:last-child { margin-bottom: 0; }

/* Books grid */
.bh-book-card { height: 100%; background: var(--bh-surface); border: 1px solid var(--bh-border); border-radius: var(--bh-radius); box-shadow: var(--bh-shadow); overflow: hidden; display: flex; flex-direction: column; }
.bh-book-card img { width: 100%; height: auto; aspect-ratio: 2/3; object-fit: cover; background: var(--bh-surface-2); }
.bh-book-card .bh-book-body { padding: 1rem; flex: 1; font-size: 1rem; }
.bh-book-card .bh-book-title { font-family: var(--bh-font-head); font-size: 1.1rem; margin: 0 0 .4rem; }

/* Policy pages */
.bh-policy { background: var(--bh-surface); border: 1px solid var(--bh-border); border-radius: var(--bh-radius); padding: 1.5rem 1.75rem; }

/* Buttons */
.bh-btn { background: var(--bh-saffron-dark); border: 1px solid var(--bh-saffron-dark); color: #fff; }
.bh-btn:hover, .bh-btn:focus { background: var(--bh-indigo); border-color: var(--bh-indigo); color: #fff; }
.bh-btn-outline { background: transparent; color: #fff; border-color: #fff; }

/* Sidebar (wisdom essays only; no ad) */
.bh-sidebar { display: flex; flex-direction: column; gap: 1.25rem; }
.bh-youarein { border: 2px solid var(--bh-accent); border-radius: var(--bh-radius); padding: 1rem 1.1rem; background: var(--bh-surface); }
.bh-youarein-path { font-family: var(--bh-font-head); font-size: 1.05rem; margin: 0 0 .75rem; color: var(--bh-heading); }
.bh-sidebar-card { background: var(--bh-surface); border: 1px solid var(--bh-border); border-radius: var(--bh-radius); padding: 1rem 1.1rem; }
.bh-label { font-family: var(--bh-font-body); font-size: .8rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bh-muted); margin: 0 0 .6rem; }
.bh-sidebar-list { list-style: none; margin: 0; padding: 0; font-size: 1rem; line-height: 1.45; }
.bh-sidebar-list li { padding: .4rem 0; border-bottom: 1px solid var(--bh-border); }
.bh-sidebar-list li:last-child { border-bottom: 0; }
.bh-sidebar-list a.active { font-weight: 600; color: var(--bh-heading); text-decoration: none; }

/* Verse band */
.bh-verse { background: linear-gradient(160deg, var(--bh-hero-a), var(--bh-hero-b)); color: #F3EEE0; text-align: center; padding: 3rem 0; margin-top: 2rem; }
.bh-verse-sanskrit { font-family: var(--bh-font-head); font-style: italic; font-size: 1.4rem; color: var(--bh-saffron-light); margin-bottom: 1rem; }
.bh-verse-translation { max-width: 40rem; margin: 0 auto; font-size: 1.1rem; }

/* The one ad: rotating banner with reserved space */
.bh-ad-wrap { background: var(--bh-surface-2); padding: 1.5rem 0; }
.bh-ad-label { text-align: center; font-size: .75rem; letter-spacing: .15em; text-transform: uppercase; color: var(--bh-muted); margin: 0 0 .5rem; }
.bh-ad-frame { position: relative; max-width: 900px; margin: 0 auto; aspect-ratio: 10 / 3; background: var(--bh-surface); border-radius: var(--bh-radius); overflow: hidden; }
.bh-ad-slide { position: absolute; inset: 0; display: block; opacity: 0; transition: opacity .6s ease; pointer-events: none; }
.bh-ad-slide.is-active { opacity: 1; pointer-events: auto; }
.bh-ad-slide img { width: 100%; height: 100%; object-fit: contain; display: block; }
@media (prefers-reduced-motion: reduce) { .bh-ad-slide { transition: none; } }

/* Prefooter */
.bh-prefooter { background: var(--bh-surface); border-top: 1px solid var(--bh-border); padding: 2rem 0; }
#google_translate_element { min-height: 44px; }
.bh-search-box { min-height: 52px; }
.bh-search-box .gsc-control-cse { padding: 0; background: transparent; border: 0; }

/* Footer */
.bh-footer { background: var(--bh-hero-b); color: #D8D3EA; text-align: center; padding: 1.75rem 0; font-size: .95rem; }
.bh-footer p { margin: 0 0 .4rem; }
.bh-footer a { color: var(--bh-saffron-light); }
.bh-footer-nav { display: flex; justify-content: center; gap: .6rem; flex-wrap: wrap; }

/* Consent bar */
.bh-cookie-banner { position: fixed; left: 0; right: 0; bottom: 0; z-index: 2000; background: var(--bh-hero-b); color: #F3EEE0; padding: .85rem 1rem; border-top: 3px solid var(--bh-saffron); font-size: .95rem; }
.bh-cookie-banner[hidden] { display: none; }
.bh-cookie-inner { max-width: 960px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; align-items: center; justify-content: space-between; }
.bh-cookie-text { margin: 0; }
.bh-cookie-text a { color: var(--bh-saffron-light); }
.bh-cookie-buttons { display: flex; gap: .5rem; }
.bh-cookie-buttons[hidden] { display: none; }

/* Search results page */
.bh-search-page { min-height: 320px; }

/* Home */
.bh-intro { max-width: 46rem; margin: 0 auto 2.5rem; }
.bh-intro-title { font-family: var(--bh-font-head); font-size: clamp(1.4rem, 1.1rem + 1.2vw, 1.9rem); color: var(--bh-heading); line-height: 1.3; margin-bottom: .75rem; }
.bh-card { background: var(--bh-surface); border: 1px solid var(--bh-border); border-top: 4px solid var(--bh-accent); border-radius: var(--bh-radius); padding: 1.4rem; box-shadow: var(--bh-shadow); display: flex; flex-direction: column; align-items: flex-start; }
.bh-card p { flex: 1; }
.bh-card-title { font-size: 1.4rem; margin: 0 0 .5rem; }
.bh-card-title a { text-decoration: none; }

/* Specificity fixes: keep component link/heading colours above the generic body.bh rules */
body.bh .bh-hero h1, body.bh .bh-hero-home h1 { color: #FFFFFF; }
body.bh .bh-breadcrumb a, body.bh .bh-footer a, body.bh .bh-cookie-text a { color: var(--bh-saffron-light); }
body.bh .bh-breadcrumb a:hover, body.bh .bh-footer a:hover { color: #FFD08A; }
body.bh .bh-btn, body.bh .bh-btn:hover, body.bh .bh-btn:focus { color: #fff; text-decoration: none; }
body.bh .bh-btn-outline { color: #fff; }
body.bh .bh-navbar .nav-link, body.bh .bh-navbar .dropdown-item { color: #F0EBDD; }
body.bh .bh-navbar .nav-link:hover, body.bh .bh-navbar .nav-link.active, body.bh .bh-navbar .nav-link.show { color: var(--bh-saffron-light); }
body.bh .bh-navbar .dropdown-item:hover, body.bh .bh-navbar .dropdown-item.active { color: #fff; }
body.bh .bh-card-title a, body.bh .bh-linklist a, body.bh .bh-sidebar-list a.active { text-decoration: none; }
body.bh .bh-sidebar-list a.active { color: var(--bh-heading); }
.bh-ad-frame { aspect-ratio: 64 / 15; background: transparent; }

/* ---- Design refresh (Oct 26, 2026) ---- */
/* Wordmark replaces the logo image */
.bh-wordmark { font-family: var(--bh-font-head); font-weight: 600; font-size: 1.625rem; letter-spacing: .01em; color: #FFF6E0 !important; line-height: 1; padding: .25rem 0; }
.bh-wordmark span { color: var(--bh-saffron-light); font-weight: 400; }
@media (min-width: 768px) { .bh-wordmark { font-size: 1.975rem; } .bh-navbar { min-height: 76px; } }
body.bh .bh-navbar .nav-link { font-size: 1.1rem; padding-inline: .9rem; }

/* Richer hero: glow, saffron rule, ornament */
.bh-hero { position: relative; padding: 3.25rem 0 3rem; border-bottom: 4px solid var(--bh-saffron);
  background: radial-gradient(900px 320px at 85% -10%, rgba(240,168,72,.28), transparent 60%),
              radial-gradient(700px 300px at 5% 110%, rgba(110,100,200,.30), transparent 60%),
              linear-gradient(160deg, var(--bh-hero-a), var(--bh-hero-b)); }
.bh-hero h1::after { content: ""; display: block; width: 72px; height: 3px; margin-top: .9rem; background: var(--bh-saffron-light); border-radius: 2px; }
.bh-hero-home { border-bottom: 4px solid var(--bh-saffron); }
.bh-hero-home h1 { font-size: clamp(2.2rem, 1.4rem + 3.4vw, 3.6rem); }

/* Page ground: warm, with soft depth */
body.bh { background-image: radial-gradient(1200px 500px at 50% -120px, rgba(196,107,10,.07), transparent 70%); background-attachment: scroll; }
.bh-main { padding: 3rem 0 3.5rem; }

/* Cards and entries: depth and lift */
.bh-card, .bh-entry, .bh-quote-card, .bh-book-card, .bh-sidebar-card { box-shadow: 0 2px 4px rgba(30,27,74,.06), 0 10px 26px rgba(30,27,74,.08); transition: transform .2s ease, box-shadow .2s ease; }
.bh-card:hover, .bh-entry:hover, .bh-book-card:hover { transform: translateY(-3px); box-shadow: 0 4px 8px rgba(30,27,74,.08), 0 16px 34px rgba(30,27,74,.14); }
@media (prefers-reduced-motion: reduce) { .bh-card, .bh-entry, .bh-quote-card, .bh-book-card, .bh-sidebar-card { transition: none; } .bh-card:hover, .bh-entry:hover, .bh-book-card:hover { transform: none; } }
.bh-card { border-top-width: 5px; background-image: linear-gradient(180deg, rgba(240,168,72,.10), transparent 90px); }
.bh-entry { border-left-width: 5px; }
.bh-content h2 { position: relative; padding-bottom: .5rem; }
.bh-content h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 56px; height: 3px; background: var(--bh-accent); border-radius: 2px; }
.bh-entry h2::after { display: none; }

/* Books: covers 250 px max, centred */
.bh-book-card img { width: auto; max-width: 250px; height: auto; aspect-ratio: auto; margin: 1.25rem auto 0; display: block; border-radius: .25rem; box-shadow: 0 4px 14px rgba(0,0,0,.25); background: transparent; }
.bh-book-card > a { display: block; text-align: center; }
.bh-book-card .bh-book-body { text-align: left; }

/* Ad section follows content directly (no verse band) */
.bh-ad-wrap { margin-top: 1rem; border-top: 1px solid var(--bh-border); padding: 1.75rem 0; }

/* Home hero keeps its photo (must follow the generic .bh-hero background) */
.bh-hero.bh-hero-home {
  background: radial-gradient(900px 320px at 85% -10%, rgba(240,168,72,.22), transparent 60%),
              linear-gradient(rgba(17,15,46,.70), rgba(17,15,46,.84)),
              url("../images/main-bg.jpg") center / cover no-repeat, var(--bh-hero-b);
}

/* ---- Photo-hero hub pages and essay hero (Oct 27, 2026; merged from bh-hero.css) ----
   Modelled on the HW2 Gita commentary hub: .gita-hero, .gita-hub-breadcrumb, .hub-section-title.
   Appended after the rules above; changes nothing in them. Colours come from the tokens,
   so dark mode follows automatically. Static hero: no carousel, no animation. */

/* Full-width hero image, no text overlay (the lettering is part of the image) */
.bh-photo-hero { width: 100%; display: block; overflow: hidden; border-top: 3px solid #B8860B;
  background-color: #1A1F3C; aspect-ratio: 5 / 2; }               /* 1800x720 and 2400x960 are both 5:2 -> space reserved, no CLS */
body.bh .bh-photo-hero-img { display: block; width: 100%; max-width: 100%; height: auto; vertical-align: middle; }
/* Wide screens: cap at 1800 px and centre on the dark ground (as HW2 does at >=1600 px) */
@media (min-width: 1600px) {
  .bh-photo-hero { aspect-ratio: auto; max-height: 720px; }
  body.bh .bh-photo-hero-img { width: auto; max-width: 1800px; margin: 0 auto; }
}

/* Breadcrumb strip under the hero */
.bh-crumbstrip { padding-block: .6rem; font-size: .9rem; }
.bh-crumbstrip ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; color: var(--bh-muted); }
.bh-crumbstrip li + li::before { content: "\203A"; margin-right: .4rem; opacity: .55; }
.bh-crumbstrip a { text-decoration: none; }

/* Title card: h1 + credit + intro, sits under the hero */
.bh-titlecard { background: var(--bh-surface); border: 1px solid var(--bh-border); border-radius: var(--bh-radius);
  padding: 2rem 2.25rem; margin-bottom: 1.5rem; box-shadow: 0 2px 4px rgba(30,27,74,.06), 0 10px 26px rgba(30,27,74,.08); }
.bh-titlecard h1 { font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.25rem); margin: 0 0 .35rem; }
.bh-titlecard .bh-byline { font-size: .9rem; color: var(--bh-muted); margin: 0 0 1rem; font-family: var(--bh-font-body); }
.bh-titlecard .bh-byline strong { color: var(--bh-saffron-dark); font-weight: 600; }
:root[data-theme="dark"] .bh-titlecard .bh-byline strong { color: var(--bh-saffron-light); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .bh-titlecard .bh-byline strong { color: var(--bh-saffron-light); } }
.bh-titlecard hr { border: 0; border-top: 1px solid var(--bh-border); opacity: 1; margin: 1rem 0; }
.bh-titlecard .bh-lead-text { margin: 0; font-style: italic; }
.bh-titlecard.text-center .bh-lead-text { max-width: 46rem; margin-inline: auto; }
@media (max-width: 575.98px) { .bh-titlecard { padding: 1.25rem 1.1rem; } }

/* Home: intro card overlaps nothing; cards follow with the same rhythm */
.bh-hub-grid { margin-top: .5rem; }

/* Eyebrow inside the title card (light surface needs the darker saffron) */
.bh-titlecard .bh-eyebrow { color: var(--bh-saffron-dark); font-weight: 600; margin: 0 0 .35rem; }
:root[data-theme="dark"] .bh-titlecard .bh-eyebrow { color: var(--bh-saffron-light); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .bh-titlecard .bh-eyebrow { color: var(--bh-saffron-light); } }
.bh-titlecard .bh-intro-title { margin-bottom: .75rem; }

/* Wisdom essays: dark hero with Krishna image on the left, wide screens only (no image, no extra request on phones) */
@media (min-width: 768px) {
  .bh-hero-essay { overflow: hidden; display: flex; align-items: center; min-height: 300px; }
  .bh-hero-essay::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; aspect-ratio: 5 / 2;
    background: url("../images/hero-krishnas-golden-melody.webp") left center / cover no-repeat;
    -webkit-mask-image: linear-gradient(to right, #000 58%, transparent 100%); mask-image: linear-gradient(to right, #000 58%, transparent 100%); pointer-events: none; }
  .bh-hero-essay .container { position: relative; z-index: 1; max-width: 1140px; padding-left: clamp(280px, 44vw, 560px); }
}

/* Amazon Associates disclosure under the title card (kindle-books.aspx) */
.bh-disclosure { font-size: .95rem; color: var(--bh-muted); margin: 0 0 1.5rem; }

/* ---- Typography refinement (Oct 28, 2026) ----
   Reading comfort and a more refined hierarchy. Sizes, spacing and weights only: no colours or layout changed.
   Works with the system serif stack now and with Spectral / Source Serif 4 as soon as the woff2 files are added. */
body.bh { font-kerning: normal; font-variant-ligatures: common-ligatures; font-variant-numeric: lining-nums proportional-nums;
  text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body.bh p { text-wrap: pretty; }
body.bh h1, body.bh h2, body.bh h3, body.bh h4 { font-weight: 600; letter-spacing: -.005em; text-wrap: balance; }
body.bh h1 { line-height: 1.15; letter-spacing: -.012em; }
.bh-titlecard h1 { font-size: clamp(1.75rem, 1.25rem + 1.9vw, 2.5rem); }
.bh-eyebrow { font-size: .78rem; font-weight: 600; letter-spacing: .16em; }
.bh-titlecard .bh-lead-text, .bh-lead { font-family: var(--bh-font-head); font-size: 1.2rem; line-height: 1.55; font-style: italic; color: var(--bh-muted); }

/* Navigation */
body.bh .bh-navbar .nav-link { font-size: 1.05rem; letter-spacing: .015em; }
body.bh .bh-navbar .dropdown-item { font-size: 1.02rem; letter-spacing: .01em; }

/* List entries: strong title, quieter description */
.bh-entry h2, .bh-entry .bh-entry-title { font-size: 1.3rem; line-height: 1.3; margin-bottom: .45rem; }
body.bh .bh-entry-title a { color: var(--bh-heading); text-decoration: none; }
body.bh .bh-entry-title a:hover, body.bh .bh-entry-title a:focus { color: var(--bh-link); text-decoration: underline; text-underline-offset: .18em; }
.bh-entry a.bh-pdf::before, .bh-entry a.bh-web::before { color: var(--bh-accent); }
.bh-entry a.bh-web::before { content: "\f3ee"; font-family: "bootstrap-icons"; margin-right: .5rem; }   /* globe: link to a web page, not a PDF */
.bh-entry p { font-size: 1.0625rem; line-height: 1.65; }

/* Book cards */
.bh-book-card .bh-book-title { font-size: 1.15rem; line-height: 1.3; }
.bh-book-card .bh-book-body p { font-size: .98rem; line-height: 1.55; }

/* Quotations */
.bh-quote-author { font-size: 1.1rem; letter-spacing: .02em; }
.bh-quote-card blockquote { font-family: var(--bh-font-head); font-size: 1.15rem; line-height: 1.6; }

/* Articles (wisdom essays, policy pages): comfortable measure and rhythm */
.bh-content p { line-height: 1.78; }
.bh-content h2 { font-size: 1.75rem; }
.bh-content h3 { font-size: 1.35rem; }
.bh-content blockquote { font-family: var(--bh-font-head); font-style: italic; }

/* ---- Promotional banner rotator (Oct 28, 2026; modelled on AllSaivism .al-banner-*) ----
   Reserved space (aspect-ratio) keeps the page from shifting while banners swap. */
.bh-ad-wrap { text-align: center; }
#bh-banner-rotator { width: 100%; max-width: 600px; aspect-ratio: 600 / 314; margin: 0 auto; }
#bh-banner-rotator a { display: block; line-height: 0; border-radius: 4px; overflow: hidden; opacity: 1; transition: opacity .6s ease; }
#bh-banner-rotator.bh-banner-fading a { opacity: 0; }
#bh-banner-rotator img { display: block; width: 100%; height: auto; border-radius: 4px; }
@media (prefers-reduced-motion: reduce) { #bh-banner-rotator a { transition: none; } }

/* Affiliate disclosure icon */
.bh-disclosure .bi { color: var(--bh-accent); margin-right: .15rem; }

/* Justified text utility (Oct 28, 2026): add class "text-justify" to a paragraph or container.
   Justified on desktop and tablet (768 px and wider), left-aligned on phones. */
.text-justify { text-align: left; }
@media (min-width: 768px) { .text-justify { text-align: justify; } }

/* Cookie policy table: stacks into one block per row on phones */
@media (max-width: 575.98px) {
	.bh-cookie-table thead { display: none; }
	.bh-cookie-table tr { display: block; padding: .6rem 0; border-bottom: 1px solid var(--bh-border); }
	.bh-cookie-table th, .bh-cookie-table td { display: block; border: 0; padding: .1rem 0; }
	.bh-cookie-table td:nth-of-type(1) { font-style: italic; opacity: .8; }
}
