/* ===========================================================================
   CONSOLIDATED SITE CSS
   Built 2026-09-06 13:41 UTC from mu-plugins that contained nothing but
   a stylesheet. They were separate plugins for historical reasons, not
   architectural ones, and each added its own <style> block to every page.
   Same rules, same order, one file.
   ========================================================================== */

/* --- from bt-design-rebalance.php ------------------------------------------------------- */

/* ===== CRITICAL: scroll-reveal content stuck at opacity:0 when the IntersectionObserver fails to fire (content invisible site-wide). Force visible. ===== */
.bt-animate,[class*=bt-animate],.bt-offer-card,.bt-section-narrow,.bt-lead-magnet-card,.bt-reveal,[class*=reveal]{opacity:1 !important;transform:none !important;visibility:visible !important}
/* ===== Plum anchor sections (hero, community, footer): contrast fixes ===== */
.hp-hero-content .hp-lbl,.hp-comm .hp-lbl,.hp-comm-lbl{color:#E7CF77 !important;-webkit-text-fill-color:#E7CF77 !important}
.hp-hero-content p,.hp-comm p,.hp-comm-header p{color:#F3EDE1 !important;-webkit-text-fill-color:#F3EDE1 !important}
/* Footer legibility (site-wide) */
.site-footer,.site-footer p,.site-footer li,.site-footer a,.site-footer span{color:#E9E1D4 !important}
.site-footer a{opacity:1}
.site-footer a:hover{color:#E7CF77 !important}
.site-footer h3,.site-footer h4,.footer-col-title,[class*=footer] [class*=col-title],[class*=footer] h3{color:#E7CF77 !important}
.site-footer [class*=col]{border-left:1px solid rgba(229,204,115,.16)}
.site-footer [class*=col]:first-child{border-left:0}
/* ===== Converted bands -> bone with dark text ===== */
/* strip inner plum gradient in library/bundle so only product covers keep color */
.bt-hybrid-editorial [class*=band],.bt-hybrid-editorial>div>div,.bt-bundle-band [class*=inner]{background-image:none !important;background-color:transparent !important}
/* ===== Site-wide: any newsletter/form input on a dark band stays legible ===== */
.hp-comm input,.hp-hero input{background:rgba(255,253,248,.10) !important;color:#FFFDF8 !important;-webkit-text-fill-color:#FFFDF8 !important;border:1.5px solid #E5CC73 !important}
.hp-comm input::placeholder,.hp-hero input::placeholder{color:rgba(255,253,248,.7) !important}

/* ===== REPAIR: sections whose plum background failed to render (white text on ivory = invisible). Make them readable light sections. Reused site-wide. ===== */
.bt-section-plum .bt-section-inner,.bt-section-plum .bt-section-inner *,.bt-cta-footer,.bt-cta-footer *{color:#3A3228 !important;-webkit-text-fill-color:#3A3228 !important}
.bt-section-plum h1,.bt-section-plum h2,.bt-section-plum h3,.bt-section-plum h4,.bt-cta-footer h1,.bt-cta-footer h2,.bt-cta-footer h3{color:#2E1A47 !important;-webkit-text-fill-color:#2E1A47 !important}
.bt-section-plum [class*=lbl],.bt-section-plum [class*=eyebrow],.bt-section-plum [class*=kicker],.bt-cta-footer [class*=lbl],.bt-cta-footer [class*=eyebrow]{color:#6B5118 !important;-webkit-text-fill-color:#6B5118 !important}
.bt-section-plum a[class*=btn],.bt-cta-footer a[class*=btn],.bt-section-plum button,.bt-cta-footer button{background:#C9A227 !important;color:#2E1A47 !important;-webkit-text-fill-color:#2E1A47 !important;border-color:#C9A227 !important}

/* ===== REPAIR: community split hero has genuine plum bg but charcoal (invisible) text -> light text ===== */
.bt-community-split-hero__text,.bt-community-split-hero__text p,.bt-community-split-hero__text li,.bt-community-split-hero__text span{color:#F3EDE1 !important;-webkit-text-fill-color:#F3EDE1 !important}
.bt-community-split-hero__text h1,.bt-community-split-hero__text h2,.bt-community-split-hero__text h3{color:#FFFDF8 !important;-webkit-text-fill-color:#FFFDF8 !important}
.bt-community-split-hero__text [class*=lbl],.bt-community-split-hero__text [class*=eyebrow],.bt-community-split-hero__text [class*=kicker]{color:#E7CF77 !important;-webkit-text-fill-color:#E7CF77 !important}


/* --- from bt-header-polish.php ------------------------------------------------------- */

/* Header color and logo presentation now live in bt-global.css. */
/* Episode count is a quiet inventory label, not a live-status indicator. */
.site-header .nav-menu .bt-listen-badge{display:inline-flex!important;align-items:center!important;width:auto!important;height:auto!important;padding:3px 7px!important;border-radius:3px!important;background:#F1EBE1!important;color:#514856!important;font:600 10px/1.1 "DM Sans",sans-serif!important;letter-spacing:.02em!important;text-transform:uppercase!important;box-shadow:none;vertical-align:middle}
.bt-listen-badge::before{content:none!important;animation:none!important}

/* --- from bt-host-link.php ------------------------------------------------------- */

      .bt-host-strip{background:#1A0E2E;padding:34px 20px;text-align:center}
      .bt-host-inner{max-width:640px;margin:0 auto}
      .bt-host-eyebrow{display:block;font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#C9A227;font-weight:700;margin:0 0 10px}
      .bt-host-line{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.05rem,2.4vw,1.35rem);line-height:1.45;color:#F3EEF7;margin:0 0 16px}
      .bt-host-line strong{color:#fff}
      .bt-host-cta{display:inline-block;font-family:'DM Sans',sans-serif;font-weight:600;font-size:.9rem;letter-spacing:.02em;color:#1A0E2E;background:#C9A227;text-decoration:none;padding:11px 24px;border-radius:999px}
      .bt-host-cta:hover{background:#d9b23f}
    

/* --- from bt-nav-polish.php ------------------------------------------------------- */

      /* ---- 1. LOGO: was collapsing (img width-constrained to ~12px, height→4px).
              Set an explicit HEIGHT + max-width:none so height drives the width and
              the flex container grows to fit. ---- */
      .site-header .site-logo,
      .site-header .site-logo .custom-logo-link,
      .site-header .site-logo a {
        display:inline-flex !important;
        align-items:center;
        width:auto !important;
        flex:0 0 auto !important;
        min-width:0;
      }
      .site-header .site-logo img,
      .site-header .custom-logo {
        height:46px !important;
        width:auto !important;
        max-width:none !important;
        max-height:none !important;
        min-width:0 !important;
        display:block !important;
        object-fit:contain !important;
      }
      body.bt-nav-scrolled .site-header .site-logo img,
      body.bt-nav-scrolled .site-header .custom-logo { height:36px !important; }

      /* ---- 2. CARETS: kill the duplicate. Keep ONE caret, right of the label. ---- */
      @media (min-width: 981px) {
        /* Remove the theme's extra ::before chevron. */
        .nav-menu > li.menu-item-has-children > a::before {
          content: none !important;
          display: none !important;
          border: 0 !important;
        }
        /* Keep bt-nav-pro's ::after as the single caret, cleanly centered to the right. */
        .nav-menu > li.menu-item-has-children > a {
          display: inline-flex !important;
          align-items: center !important;
          gap: 7px;
        }
        .nav-menu > li.menu-item-has-children > a::after {
          content: '' !important;
          display: inline-block !important;
          width: 6px; height: 6px;
          border-right: 1.25px solid currentColor !important;
          border-bottom: 1.25px solid currentColor !important;
          border-top: 0 !important; border-left: 0 !important;
          transform: rotate(45deg) !important;
          margin-top: -3px;      /* nudge up so it optically centers on the text baseline */
          opacity: .45;
          position: static !important;
          transition: transform .2s ease, opacity .2s ease;
        }
        .nav-menu > li.menu-item-has-children:hover > a::after,
        .nav-menu > li.menu-item-has-children.is-open > a::after {
          transform: rotate(225deg) !important;
          margin-top: 2px;
          opacity: .9;
        }
      }

      /* ---- 3. Spacing polish: a little breathing room + vertical centering ---- */
      .site-header .container { align-items: center; }
      .bt-header-social { align-self: center; }

      /* ---- 4. RESPONSIVE FIX: the theme left a dead zone from ~769-980px where the
              desktop horizontal nav is gone but the mobile hamburger never appears,
              so the menu stacked into a broken vertical column. Below 981px: hide the
              inline menu, show the hamburger. The is-mobile-open takeover still works. ---- */
      @media (max-width: 980px) {
        .site-nav:not(.is-mobile-open) .nav-menu { display: none !important; }
        .site-nav:not(.is-mobile-open) .nav-cta-btn,
        .site-nav:not(.is-mobile-open) .bt-header-social { display: none !important; }
        .site-header .mobile-toggle,
        .site-header #mobileToggle { display: inline-flex !important; align-items: center; }
        /* when opened, the takeover (bt-nav-pro) shows everything again */
        .site-nav.is-mobile-open .nav-menu { display: flex !important; }
        .site-nav.is-mobile-open .nav-cta-btn { display: inline-flex !important; }
      }
    

/* --- from bt-output-filters.php ------------------------------------------------------- */
#btDarkToggle{display:none!important;visibility:hidden!important;pointer-events:none!important}

/* --- from bt-overflow-fix-20260724.php ------------------------------------------------------- */

      .bt-nav-search { display: none !important; }
      /* Nav was ~220px too wide for the viewport -> horizontal scroll. Give the header
         the full width and tighten spacing so the 8-item nav + CTA + cart fit cleanly. */
      @media (min-width: 1025px) {
        .site-header > .container { max-width: 100% !important; padding-left: 18px !important; padding-right: 18px !important; }
        .site-nav { gap: 12px !important; }
        .site-nav .nav-menu { gap: 10px !important; }
        .site-nav .nav-menu > li > a { font-size: 14px !important; }
        .nav-cta-btn { padding: 9px 14px !important; font-size: 12.5px !important; }
      }
      /* secondary header social icons: keep on wide screens, hide on laptop widths (they are also in the footer) to give the nav room */
      @media (min-width: 1025px) and (max-width: 1440px) {
        .site-header .bt-nav-social, .site-header .bt-header-social, .site-header .header-social,
        .site-header .site-nav > .bt-social, .site-header .nav-social { display: none !important; }
      }
    

/* Rebuilt as CSS: legacy generated PHP fragments were not valid styles. */
.hp-hero-stats,.hp-proof,.lsn-hero-stats,.spo-stats,.spo-stat-num,.spo-stat-lbl,.spo-stat-desc{display:none!important}
:focus-visible{outline:2px solid #7b56a3;outline-offset:4px}
:is(.single-post,.single-bt_event) .share-toolbar{display:flex;flex-wrap:wrap;gap:8px;max-width:100%;align-items:center}
:is(.single-post,.single-bt_event) .share-toolbar .share-toolbar-label{flex-basis:100%;margin:0 0 4px}
:is(.single-post,.single-bt_event) .share-toolbar .share-btn{min-height:44px;flex:0 1 auto;white-space:normal}
.single-post .entry-content{overflow-wrap:anywhere}
.btp .a-rev{opacity:1;visibility:visible;transform:none}
.e-player--native{padding:24px;background:#fff;border:1px solid #ded9e4;border-radius:10px;box-shadow:0 12px 28px rgba(28,20,35,.05)}
.e-player--native audio{display:block;width:100%;height:54px;margin:12px 0;color-scheme:light}
.e-audio-help{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;font:13px/1.6 var(--fb,'DM Sans',sans-serif);color:#5a5262}
.e-audio-help a{color:#51326e;text-decoration:underline;text-underline-offset:3px}
.e-audio-status:empty{display:none}
.e-audio-status{font-size:14px;line-height:1.6;color:#63371f}
@media(max-width:600px){.e-player--native{padding:18px}:is(.single-post,.single-bt_event) .share-toolbar{gap:6px}:is(.single-post,.single-bt_event) .share-toolbar .share-btn{padding:9px 13px}}
@media(prefers-reduced-motion:reduce){.btp .a-rev{transition:none!important}}
