/* ===========================================================================
   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 ===== */
<?php echo $bands; ?>{background:#FBF4E7 !important;background-image:none !important;border-top:1px solid rgba(201,162,39,.22);border-bottom:1px solid rgba(201,162,39,.22)}
<?php echo $txt; ?>{color:#3A3228 !important;-webkit-text-fill-color:#3A3228 !important;text-shadow:none !important;background-clip:border-box !important;-webkit-background-clip:border-box !important}
<?php echo $head; ?>{color:#2E1A47 !important;-webkit-text-fill-color:#2E1A47 !important}
<?php echo $lbl; ?>{color:#6B5118 !important;-webkit-text-fill-color:#6B5118 !important}
<?php echo $inp; ?>{background:#fff !important;color:#2A2018 !important;-webkit-text-fill-color:#2A2018 !important;border:1px solid rgba(58,50,40,.28) !important}
<?php echo $btnlink; ?>{background:#C9A227 !important;color:#2E1A47 !important;-webkit-text-fill-color:#2E1A47 !important;border-color:#C9A227 !important}
/* 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 ------------------------------------------------------- */

/* Nav links: full-strength cream + subtle shadow so they never wash out over hero or light sections */
.site-header .nav-menu > li > a,
.site-header .site-nav a,
.site-header nav a {
  color: #FFFDF8 !important;
  opacity: 1 !important;
  letter-spacing: .012em;
  text-shadow: 0 1px 6px rgba(0,0,0,.4);
  transition: color .2s ease;
}
.site-header .nav-menu > li > a:hover,
.site-header .nav-menu > li > a:focus-visible {
  color: #E7C65A !important;
}
/* Logo: drop-shadow lifts it off the plum so it reads, plus a gentle hover */
.site-logo img,
.site-header .custom-logo {
  filter: brightness(1.18) contrast(1.04) drop-shadow(0 2px 12px rgba(0,0,0,.6)) !important;
  transition: transform .25s ease, filter .25s ease;
}
.site-logo:hover img,
.site-header .custom-logo-link:hover .custom-logo {
  transform: scale(1.035);
  filter: drop-shadow(0 3px 16px rgba(0,0,0,.7)) !important;
}
/* "10 eps" badge, redesigned: clean gold pill, proper tracking, a soft live dot */
.bt-listen-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  width: auto !important;
  height: auto !important;
  padding: 3px 10px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg,#E7C65A 0%,#C9A227 100%) !important;
  color: #1A0E2E !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  box-shadow: 0 3px 12px -3px rgba(201,162,39,.75);
  vertical-align: middle;
}
.bt-listen-badge::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #1A0E2E;
  box-shadow: 0 0 0 0 rgba(26,14,46,.6);
  animation: btBadgePulse 2.2s ease-out infinite;
}
@keyframes btBadgePulse {
  0%   { box-shadow: 0 0 0 0 rgba(26,14,46,.55); }
  70%  { box-shadow: 0 0 0 6px rgba(26,14,46,0); }
  100% { box-shadow: 0 0 0 0 rgba(26,14,46,0); }
}
@media (prefers-reduced-motion: reduce) {
  .bt-listen-badge::before { animation: none; }
}


/* --- 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; }
      }
    

/* --- from bt-scrolled-nav-contrast.php ------------------------------------------------------- */

      /* Nav links become ivory once the header goes plum on scroll.
         ID-boost (#mobileMenu) beats the theme's dark-plum link color. */
      body.bt-nav-scrolled #mobileMenu .nav-menu > li > a {
        color: #FFFDF8 !important;
      }
      /* Carets inherit currentColor, so they follow the link fix automatically. */
      body.bt-nav-scrolled #mobileMenu .nav-menu > li > a:hover,
      body.bt-nav-scrolled #mobileMenu .nav-menu > li.current-menu-item > a,
      body.bt-nav-scrolled #mobileMenu .nav-menu > li.current-page-ancestor > a,
      body.bt-nav-scrolled #mobileMenu .nav-menu a[aria-current="page"] {
        color: #E5CC73 !important;
      }
      /* Social icons (IG / YouTube) */
      body.bt-nav-scrolled #mobileMenu .bt-header-social a,
      body.bt-nav-scrolled #mobileMenu .bt-header-social a svg {
        color: #FFFDF8 !important;
        stroke: #FFFDF8 !important;
      }
      body.bt-nav-scrolled #mobileMenu .bt-header-social a:hover,
      body.bt-nav-scrolled #mobileMenu .bt-header-social a:hover svg {
        color: #E5CC73 !important;
        stroke: #E5CC73 !important;
      }
      /* Search icon button */
      body.bt-nav-scrolled .site-header .bt-header-search-btn,
      body.bt-nav-scrolled .site-header .bt-header-search-btn svg {
        color: #FFFDF8 !important;
        stroke: #FFFDF8 !important;
      }
      body.bt-nav-scrolled .site-header .bt-header-search-btn:hover,
      body.bt-nav-scrolled .site-header .bt-header-search-btn:hover svg {
        color: #E5CC73 !important;
        stroke: #E5CC73 !important;
      }
      /* Logo: swap to a light treatment if the theme darkens it (safety). */
      body.bt-nav-scrolled .site-header .site-logo a { color: #FFFDF8 !important; }
    

/* --- from bt-legacy-stats-flag.php ------------------------------------------------------- */
' . "\n"
        // Homepage hero stat strip (50+, 10K+, 2,500+)
        . '.hp-hero-stats{display:none!important}' . "\n"
        // Homepage proof bar (all 4 stat tiles)
        . '.hp-proof{display:none!important}' . "\n"
        // Listen page hero stat strip
        . '.lsn-hero-stats{display:none!important}' . "\n"
        // Sponsor page audience stats bar
        . '.spo-stats{display:none!important}' . "\n"
        // Sponsor + about page individual stat numbers in demo cards
        // (targets the Engaged Listeners / 82% card and the 10K+/4.9 audience cards)
        . '.spo-stat-num,.spo-stat-lbl,.spo-stat-desc{display:none!important}' . "\n"
        . '

/* --- from bt-a11y-contrast-fix.php ------------------------------------------------------- */
' . "\n";

    // Eyebrow/label selectors: #6B5118 on #FFFDF8 = 7.34:1 PASS
    $eyebrow_selectors = array(
        '.hp-lbl',
        '.bkg-lbl',
        '.bt-section-label',
        '.bt-eyebrow',
        '.bt-overline',
        '.bt-host-card__eyebrow',
        '.bt-latest-ep__eyebrow',
        '.bt-tier-compare__eyebrow',
        '.bt-ig-feed__eyebrow',
        '.bt-ep-bio__eyebrow',
        '.bt-exit-eyebrow',
        '.bt-featured-pinned::before',
        '.bt-hybrid-card-eyebrow',
        '.ctp-lbl:not(.ctp-lbl-w)',
        '.btsm-section-label',
        '.qzp-lbl:not(.qzp-lbl-w)',
        '.qzp-proof-lbl',
        '.hp-proof-lbl',
    );
    echo implode( ',' . "\n", $eyebrow_selectors ) . '{color:#6B5118!important;}' . "\n";

    // Breadcrumbs on ivory: #5C5348 = 5.82:1 PASS AA
    echo '.bt-breadcrumb span,.bt-post-breadcrumb,.bt-breadcrumb a,' .
         '.woocommerce-breadcrumb,.woocommerce-breadcrumb a{color:#5C5348!important;}' . "\n";

    // Single-post breadcrumb sits on plum header: keep purple
    echo '.single-post .bt-breadcrumb span,' .
         '.single-post .bt-post-breadcrumb{color:#5B4E6A!important;}' . "\n";

    // Listen badge: #2E1A47 on #C9A227 = 6.41:1 PASS
    echo '.nav-menu .bt-listen-badge{color:#2E1A47!important;background:#C9A227!important;}' . "\n";

    echo '

/* --- from bt-focus-states.php ------------------------------------------------------- */
' . "\n";

    // Global: dual ring on every focusable element
    echo ':focus-visible{outline:2px solid #C9A227;outline-offset:3px;border-radius:4px;box-shadow:0 0 0 5px #2E1A47;}' . "\n";

    // Buttons and submit inputs
    echo '.bt-btn-primary:focus-visible,.bt-btn-outline:focus-visible,' .
         'button:focus-visible,[type="button"]:focus-visible,[type="submit"]:focus-visible{' .
         'outline:2px solid #C9A227;outline-offset:2px;box-shadow:0 0 0 5px #2E1A47;}' . "\n";

    // Nav links: slightly more offset
    echo '.site-nav a:focus-visible,.nav-menu a:focus-visible{' .
         'outline:2px solid #C9A227;outline-offset:4px;box-shadow:0 0 0 5px #2E1A47;}' . "\n";

    // Small-target tabs
    echo '.btsm-tab:focus-visible{outline:2px solid #C9A227;outline-offset:2px;box-shadow:0 0 0 5px #2E1A47;}' . "\n";

    // Card focus-within (decoration, not keyboard focus indicator -- no override needed)
    echo '.bt-card:focus-within{box-shadow:0 0 0 2px #C9A227,0 4px 16px rgba(61,26,92,.1);}' . "\n";

    echo '

