/* Design rebalance passes P1-P3.
   Extracted from three mu-plugins that printed 53KB of CSS inline into every
   page. They hooked wp_head at priorities 61, 62 and 63, which put them AFTER
   a number of other inline blocks. Enqueuing this with the ordinary stylesheets
   moved it to roughly priority 8 and it started losing those contests: the
   Listen headline and body text fell from brand ivory #FFFDF8 to plain white.
   So this file is printed as a <link> at wp_head priority 63 instead, which
   reproduces the original order exactly. */

/* ===== from bt-design-rebalance-p1.php (was an inline <style> on every page) ===== */
/* =============================================================
   ABOUT PAGE — /about/
   Before: abt-hero (plum) | abt-impact (plum) | abt-lead (plum) | abt-cta (plum) = 4 plum
   After:  abt-hero (KEEP) | abt-impact (-> bone) | abt-lead (-> bone) | abt-cta (KEEP) = 2 plum
   ============================================================= */

/* ---- abt-impact: stats strip -> bone #FBF4E7 ---- */
body .abt-impact.abt-impact {
  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);
}
/* heading + general text: plum heading, charcoal body */
body .abt-impact.abt-impact h1,
body .abt-impact.abt-impact h2,
body .abt-impact.abt-impact h3,
body .abt-impact.abt-impact h4,
body .abt-impact.abt-impact .abt-impact-header h2 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
  text-shadow: none !important;
}
body .abt-impact.abt-impact p,
body .abt-impact.abt-impact span {
  color: #3A3228 !important;
  -webkit-text-fill-color: #3A3228 !important;
}
/* eyebrow label: abt-lbl-w was light-gold on plum; switch to dark-gold on bone */
body .abt-impact.abt-impact .abt-lbl,
body .abt-impact.abt-impact .abt-lbl-w {
  color: #6B5118 !important;
  -webkit-text-fill-color: #6B5118 !important;
}
/* stat ring circles: ring-bg + ring-fill were gold, keep them gold */
body .abt-impact.abt-impact .ring-bg { stroke: rgba(201,162,39,.18) !important; }
body .abt-impact.abt-impact .ring-fill { stroke: #C9A227 !important; }
/* stat number: was ivory white on plum; switch to plum on bone */
body .abt-impact.abt-impact .abt-stat-num {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body .abt-impact.abt-impact .abt-stat-lbl {
  color: #6B5118 !important;
  -webkit-text-fill-color: #6B5118 !important;
}
body .abt-impact.abt-impact .abt-stat-desc {
  color: #6B6777 !important;
  -webkit-text-fill-color: #6B6777 !important;
}
/* strip gold shimmer on divider */
body .abt-impact.abt-impact .abt-div {
  background: linear-gradient(90deg,#C9A227,#E5CC73,#C9A227) !important;
}

/* ---- abt-lead: lead magnet strip -> bone #FBF4E7 ---- */
body .abt-lead.abt-lead {
  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);
}
body .abt-lead.abt-lead h1,
body .abt-lead.abt-lead h2,
body .abt-lead.abt-lead h3 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
  text-shadow: none !important;
}
body .abt-lead.abt-lead p,
body .abt-lead.abt-lead span,
body .abt-lead.abt-lead li {
  color: #3A3228 !important;
  -webkit-text-fill-color: #3A3228 !important;
}
/* eyebrow: abt-lbl-w was light-gold on plum; dark-gold on bone */
body .abt-lead.abt-lead .abt-lbl,
body .abt-lead.abt-lead .abt-lbl-w {
  color: #6B5118 !important;
  -webkit-text-fill-color: #6B5118 !important;
}
/* Form input on bone = white bg + charcoal border + dark text */
body .abt-lead.abt-lead input[type="email"],
body .abt-lead.abt-lead input[type="text"],
body .abt-lead.abt-lead input {
  background: #FFFFFF !important;
  color: #2A2018 !important;
  -webkit-text-fill-color: #2A2018 !important;
  border: 1.5px solid rgba(58,50,40,.28) !important;
}
body .abt-lead.abt-lead input::placeholder {
  color: rgba(58,50,40,.45) !important;
}
/* CTA button: keep gold bg + plum text */
body .abt-lead.abt-lead .abt-btn-g,
body .abt-lead.abt-lead a.abt-btn-g,
body .abt-lead.abt-lead button {
  background: #C9A227 !important;
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
  border-color: #C9A227 !important;
}
/* fine-print / disclaimer text */
body .abt-lead.abt-lead .fn,
body .abt-lead.abt-lead small {
  color: #6B6777 !important;
  -webkit-text-fill-color: #6B6777 !important;
}

/* ---- abt-hero (KEEP plum): reinforce contrast ---- */
body .abt-hero.abt-hero h1,
body .abt-hero.abt-hero h2 {
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
  text-shadow: none !important;
}
body .abt-hero.abt-hero p,
body .abt-hero.abt-hero .abt-hero-desc {
  color: rgba(255,253,248,.88) !important;
  -webkit-text-fill-color: rgba(255,253,248,.88) !important;
}
/* Eyebrow on plum: lbl-w variant uses --g3 = #E5CC73 light-gold. Reinforce. */
body .abt-hero.abt-hero .abt-lbl-w {
  color: #E7CF77 !important;
  -webkit-text-fill-color: #E7CF77 !important;
}
/* Role / availability text on hero */
body .abt-hero.abt-hero .abt-hero-role,
body .abt-hero.abt-hero .abt-hero-proof,
body .abt-hero.abt-hero .abt-hero-avail {
  color: rgba(255,253,248,.80) !important;
  -webkit-text-fill-color: rgba(255,253,248,.80) !important;
}

/* ---- abt-cta (KEEP plum): reinforce heading + label contrast ---- */
body .abt-cta.abt-cta h1,
body .abt-cta.abt-cta h2,
body .abt-cta.abt-cta h3 {
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
  text-shadow: none !important;
}
body .abt-cta.abt-cta p {
  color: rgba(255,253,248,.88) !important;
  -webkit-text-fill-color: rgba(255,253,248,.88) !important;
}
body .abt-cta.abt-cta .abt-lbl-w {
  color: #E7CF77 !important;
  -webkit-text-fill-color: #E7CF77 !important;
}
body .abt-cta.abt-cta .proof,
body .abt-cta.abt-cta .avail {
  color: rgba(255,253,248,.72) !important;
  -webkit-text-fill-color: rgba(255,253,248,.72) !important;
}
/* Gold btn stays gold */
body .abt-cta.abt-cta .abt-btn-g,
body .abt-cta.abt-cta a.abt-btn-g {
  background: #C9A227 !important;
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
/* Outline-light btn on plum: keep light-gold border + ivory text */
body .abt-cta.abt-cta .abt-btn-ol,
body .abt-cta.abt-cta a.abt-btn-ol {
  background: rgba(255,255,255,.08) !important;
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
  border-color: #E5CC73 !important;
}

/* ---- abt-book (on ivory): title headings stay plum ---- */
body .abt-book.abt-book .abt-book-inner h2,
body .abt-book.abt-book .abt-book-inner h3 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}

/* =============================================================
   CONTACT PAGE — /contact/
   Sections: ctp-hero (plum KEEP) | ctp-form (light) | ctp-inquiry (light)
             | ctp-social (light) | ctp-hours (light) | ctp-faq (light)
             | ctp-cta (plum KEEP) | newsletter-cta (bone, global)
   2 plum total — within limit. Focus: text contrast + form legibility.
   ============================================================= */

/* ---- ctp-hero (KEEP plum): heading/label/body contrast ---- */
body .ctp-hero.ctp-hero h1,
body .ctp-hero.ctp-hero h2 {
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
  text-shadow: none !important;
}
body .ctp-hero.ctp-hero .ctp-hero-desc,
body .ctp-hero.ctp-hero p {
  color: rgba(255,253,248,.88) !important;
  -webkit-text-fill-color: rgba(255,253,248,.88) !important;
}
/* ctp-lbl-w on plum: must stay light-gold (a11y rule exempts it with :not(.ctp-lbl-w)) */
body .ctp-hero.ctp-hero .ctp-lbl-w {
  color: #E7CF77 !important;
  -webkit-text-fill-color: #E7CF77 !important;
}

/* ---- ctp-form (light/white section): form inputs fully legible ---- */
body .ctp-form.ctp-form label {
  color: #3A3228 !important;
  -webkit-text-fill-color: #3A3228 !important;
  font-weight: 600 !important;
}
body .ctp-form.ctp-form input,
body .ctp-form.ctp-form textarea,
body .ctp-form.ctp-form select {
  background: #FFFFFF !important;
  color: #2A2018 !important;
  -webkit-text-fill-color: #2A2018 !important;
  border: 1.5px solid rgba(58,50,40,.28) !important;
}
body .ctp-form.ctp-form input:focus,
body .ctp-form.ctp-form textarea:focus,
body .ctp-form.ctp-form select:focus {
  border-color: #C9A227 !important;
  box-shadow: 0 0 0 3px rgba(201,162,39,.18) !important;
  outline: none !important;
}
body .ctp-form.ctp-form input::placeholder,
body .ctp-form.ctp-form textarea::placeholder {
  color: rgba(58,50,40,.45) !important;
}
/* error/success messages */
body .ctp-form .ctp-form-status,
body .ctp-form .ctp-form-msg {
  color: inherit !important;
}

/* ---- ctp-cta (KEEP plum): heading/label/body contrast ---- */
body .ctp-cta.ctp-cta h1,
body .ctp-cta.ctp-cta h2,
body .ctp-cta.ctp-cta h3 {
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
  text-shadow: none !important;
}
body .ctp-cta.ctp-cta p {
  color: rgba(255,253,248,.88) !important;
  -webkit-text-fill-color: rgba(255,253,248,.88) !important;
}
body .ctp-cta.ctp-cta .ctp-lbl-w {
  color: #E7CF77 !important;
  -webkit-text-fill-color: #E7CF77 !important;
}
/* Gold button stays gold */
body .ctp-cta.ctp-cta .ctp-btn-g,
body .ctp-cta.ctp-cta a.ctp-btn-g {
  background: #C9A227 !important;
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
  border-color: #C9A227 !important;
}
/* Outline-light button on plum: ivory text + light-gold border */
body .ctp-cta.ctp-cta .ctp-btn-ol,
body .ctp-cta.ctp-cta a.ctp-btn-ol {
  background: rgba(255,255,255,.08) !important;
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
  border-color: rgba(229,204,115,.55) !important;
}
/* footer links on plum */
body .ctp-cta.ctp-cta .links a {
  color: rgba(255,253,248,.65) !important;
  -webkit-text-fill-color: rgba(255,253,248,.65) !important;
}
body .ctp-cta.ctp-cta .links a:hover {
  color: #E7CF77 !important;
  -webkit-text-fill-color: #E7CF77 !important;
}

/* =============================================================
   APPLY-GUEST PAGE — /apply-guest/ (simple default-template page)
   No plum sections. Focus: page header legibility + form styling.
   ============================================================= */

/* bt-page-header section label: already dark-gold on light bg = fine.
   Reinforce heading color. */
body.page-id-569 .bt-page-header h1 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body.page-id-569 .bt-section-label {
  color: #6B5118 !important;
  -webkit-text-fill-color: #6B5118 !important;
}
/* Guest application form (bt-guest-form): white card inputs */
body.page-id-569 .bt-guest-form input,
body.page-id-569 .bt-guest-form textarea,
body.page-id-569 .bt-guest-form select {
  background: #FFFFFF !important;
  color: #2A2018 !important;
  -webkit-text-fill-color: #2A2018 !important;
  border: 1.5px solid rgba(58,50,40,.28) !important;
}
body.page-id-569 .bt-guest-form input:focus,
body.page-id-569 .bt-guest-form textarea:focus,
body.page-id-569 .bt-guest-form select:focus {
  border-color: #C9A227 !important;
  box-shadow: 0 0 0 3px rgba(201,162,39,.18) !important;
  outline: none !important;
}
body.page-id-569 .bt-guest-form input::placeholder,
body.page-id-569 .bt-guest-form textarea::placeholder {
  color: rgba(58,50,40,.45) !important;
}
body.page-id-569 .bt-guest-form label {
  color: #3A3228 !important;
  -webkit-text-fill-color: #3A3228 !important;
}
/* bgf-overline eyebrow: already gold (#C9A227) from inline CSS — keep */
body.page-id-569 .bgf-overline {
  color: #C9A227 !important;
  -webkit-text-fill-color: #C9A227 !important;
}
body.page-id-569 .bgf-title {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body.page-id-569 .bgf-desc {
  color: #3A3228 !important;
  -webkit-text-fill-color: #3A3228 !important;
}
/* Submit button: gold gradient + plum text */
body.page-id-569 .bgf-submit {
  background: linear-gradient(135deg,#C9A227,#E8C84A) !important;
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}

/* =============================================================
   RETREAT PAGE — /retreat/
   Sections: bt-retreat-split-hero (plum KEEP) | bt-section-white | bt-section-ivory
             | bt-section-ivory | bt-section-white | bt-section-plum (cta-footer KEEP)
   2 plum total — correct. Critical bug to fix:
   The global bt-design-rebalance.php set bt-section-plum inner text to
   charcoal #3A3228 (treating it as a repaired no-bg section), but the
   retreat's bt-section-plum HAS a real plum gradient -> dark text on dark bg = invisible.
   We must restore ivory text on the retreat's bt-section-plum.
   Also: bt-overline on split-hero gets dark-gold from bt-a11y-contrast-fix -> invisible on plum.
   ============================================================= */

/* ---- bt-retreat-split-hero (plum): restore correct light text ---- */
body .bt-retreat-split-hero .bt-retreat-split-hero__text h1,
body .bt-retreat-split-hero .bt-retreat-split-hero__text h2,
body .bt-retreat-split-hero .bt-retreat-split-hero__text h3 {
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
  text-shadow: none !important;
}
body .bt-retreat-split-hero .bt-retreat-split-hero__text p {
  color: rgba(255,253,248,.88) !important;
  -webkit-text-fill-color: rgba(255,253,248,.88) !important;
}
/* bt-overline on plum hero: a11y fix set it dark-gold #6B5118 (invisible on plum) -> override */
body .bt-retreat-split-hero .bt-overline {
  color: #E7CF77 !important;
  -webkit-text-fill-color: #E7CF77 !important;
}
/* Buttons in hero: primary gold stays gold */
body .bt-retreat-split-hero .bt-btn-primary {
  background: #C9A227 !important;
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
  border-color: #C9A227 !important;
}
/* Outline btn on plum: ivory text + light-gold border */
body .bt-retreat-split-hero .bt-btn-outline {
  background: rgba(255,255,255,.08) !important;
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
  border-color: rgba(229,204,115,.65) !important;
}

/* ---- bt-section-plum on retreat (cta-footer): override global repair.
   The global plugin (priority 60) set all .bt-section-plum * to charcoal text —
   which is invisible on plum bg. This plugin (priority 61) overrides to proper
   ivory/light-gold for the retreat's genuine plum CTA. ---- */
body .page-id-156 .bt-section-plum .bt-section-inner,
body .page-id-156 .bt-section-plum .bt-section-inner *,
body .page-id-156 .bt-section-plum .bt-cta-footer,
body .page-id-156 .bt-section-plum .bt-cta-footer * {
  color: #F3EDE1 !important;
  -webkit-text-fill-color: #F3EDE1 !important;
}
body .page-id-156 .bt-section-plum h1,
body .page-id-156 .bt-section-plum h2,
body .page-id-156 .bt-section-plum h3,
body .page-id-156 .bt-section-plum h4,
body .page-id-156 .bt-section-plum .bt-cta-footer h1,
body .page-id-156 .bt-section-plum .bt-cta-footer h2,
body .page-id-156 .bt-section-plum .bt-cta-footer h3 {
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
  text-shadow: none !important;
}
/* bt-overline inside bt-section-plum: a11y set dark-gold -> restore light-gold */
body .page-id-156 .bt-section-plum .bt-overline,
body .page-id-156 .bt-section-plum .bt-section-overline,
body .page-id-156 .bt-section-plum [class*=eyebrow],
body .page-id-156 .bt-section-plum [class*=lbl],
body .page-id-156 .bt-section-plum [class*=kicker] {
  color: #E7CF77 !important;
  -webkit-text-fill-color: #E7CF77 !important;
}
/* CTA button inside bt-section-plum */
body .page-id-156 .bt-section-plum .bt-btn-primary,
body .page-id-156 .bt-section-plum a.bt-btn-primary {
  background: #C9A227 !important;
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
  border-color: #C9A227 !important;
}
body .page-id-156 .bt-section-plum .bt-btn-outline,
body .page-id-156 .bt-section-plum a.bt-btn-outline {
  background: rgba(255,255,255,.08) !important;
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
  border-color: rgba(229,204,115,.55) !important;
}
/* Footer links inside bt-section-plum */
body .page-id-156 .bt-section-plum .bt-footer-links a {
  color: rgba(255,253,248,.65) !important;
  -webkit-text-fill-color: rgba(255,253,248,.65) !important;
}
body .page-id-156 .bt-section-plum .bt-footer-links a:hover {
  color: #E7CF77 !important;
  -webkit-text-fill-color: #E7CF77 !important;
}

/* ---- bt-section-white / bt-section-ivory on retreat: eyebrows dark ---- */
body .page-id-156 .bt-section-white .bt-overline,
body .page-id-156 .bt-section-white .bt-section-overline,
body .page-id-156 .bt-section-ivory .bt-overline,
body .page-id-156 .bt-section-ivory .bt-section-overline {
  color: #6B5118 !important;
  -webkit-text-fill-color: #6B5118 !important;
}
body .page-id-156 .bt-section-white .bt-section-title,
body .page-id-156 .bt-section-white h2,
body .page-id-156 .bt-section-ivory .bt-section-title,
body .page-id-156 .bt-section-ivory h2,
body .page-id-156 .bt-section-white h3,
body .page-id-156 .bt-section-ivory h3 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body .page-id-156 .bt-section-white p,
body .page-id-156 .bt-section-white li,
body .page-id-156 .bt-section-ivory p,
body .page-id-156 .bt-section-ivory li {
  color: #3A3228 !important;
  -webkit-text-fill-color: #3A3228 !important;
}
/* Offer cards on retreat light sections */
body .page-id-156 .bt-offer-card h3,
body .page-id-156 .bt-offer-card h4 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body .page-id-156 .bt-offer-card p,
body .page-id-156 .bt-offer-card li {
  color: #3A3228 !important;
  -webkit-text-fill-color: #3A3228 !important;
}

/* ---- host section on retreat (bt-section-white): heading + bio ---- */
body .page-id-156 .bt-host-body h3,
body .page-id-156 .bt-host-body h4 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body .page-id-156 .bt-host-body p {
  color: #3A3228 !important;
  -webkit-text-fill-color: #3A3228 !important;
}

/* ===== from bt-design-rebalance-p2.php (was an inline <style> on every page) ===== */
/* =============================================================
   SPONSOR PAGE — /sponsor/
   Before: 4 plum sections (spo-hero, spo-ltr-hero, spo-how, spo-cta)
   After:  2 plum sections (spo-hero KEEP, spo-how KEEP)
           spo-ltr-hero + spo-cta -> bone #FBF4E7
   ============================================================= */

/* --- spo-ltr-hero: was dark plum (#2E1A47->#432663), now bone --- */
body .spo-ltr-hero.spo-ltr-hero {
  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);
}
/* Big stat number stays gold (already color:var(--g4) = gold, legible on bone) */
body .spo-ltr-hero.spo-ltr-hero .spo-ltr-num {
  color: #C9A227 !important;
  -webkit-text-fill-color: #C9A227 !important;
}
/* Label text: was white (#FFF) on plum — switch to charcoal on bone */
body .spo-ltr-hero.spo-ltr-hero .spo-ltr-label {
  color: #3A3228 !important;
  -webkit-text-fill-color: #3A3228 !important;
}
body .spo-ltr-hero.spo-ltr-hero .spo-ltr-bench {
  color: #6B6777 !important;
  -webkit-text-fill-color: #6B6777 !important;
}
/* Eyebrow / spo-lbl on bone */
body .spo-ltr-hero.spo-ltr-hero .spo-lbl {
  color: #6B5118 !important;
  -webkit-text-fill-color: #6B5118 !important;
}
/* Any headings inside */
body .spo-ltr-hero.spo-ltr-hero h1,
body .spo-ltr-hero.spo-ltr-hero h2,
body .spo-ltr-hero.spo-ltr-hero h3 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}

/* --- spo-cta: was plum gradient, now bone --- */
body .spo-cta.spo-cta {
  background: #FBF4E7 !important;
  background-image: none !important;
  border-top: 1px solid rgba(201,162,39,.22);
  border-bottom: 0;
}
/* Pseudo ::before radial overlay — neutralise */
body .spo-cta.spo-cta::before {
  background: none !important;
}
/* Heading + body: was white/85% on plum, switch to plum/charcoal on bone */
body .spo-cta.spo-cta h2 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body .spo-cta.spo-cta p {
  color: #3A3228 !important;
  -webkit-text-fill-color: #3A3228 !important;
}
/* CTA buttons stay gold — no override needed (spo-btn-g is gold already).
   spo-btn-ol (outline-light) was for dark bg — switch to plum outline on bone */
body .spo-cta.spo-cta .spo-btn-ol,
body .spo-cta.spo-cta a.spo-btn-ol {
  background: transparent !important;
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
  border-color: rgba(46,26,71,.35) !important;
}
body .spo-cta.spo-cta .spo-btn-ol:hover,
body .spo-cta.spo-cta a.spo-btn-ol:hover {
  background: #2E1A47 !important;
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
  border-color: #2E1A47 !important;
}

/* --- spo-how (KEEP plum): text already white via template — reinforce specificity --- */
body .spo-how.spo-how h2,
body .spo-how.spo-how h3,
body .spo-how.spo-how h4,
body .spo-how.spo-how .spo-how-header h2 {
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
}
body .spo-how.spo-how p,
body .spo-how.spo-how .spo-how-step p {
  color: rgba(255,253,248,.80) !important;
  -webkit-text-fill-color: rgba(255,253,248,.80) !important;
}
body .spo-how.spo-how .spo-how-num {
  color: #E7CF77 !important;
  -webkit-text-fill-color: #E7CF77 !important;
}
body .spo-how.spo-how .spo-lbl,
body .spo-how.spo-how .spo-lbl-w {
  color: #E7CF77 !important;
  -webkit-text-fill-color: #E7CF77 !important;
}

/* --- spo-hero (KEEP plum): reinforce heading/label contrast --- */
body .spo-hero.spo-hero h1,
body .spo-hero.spo-hero h2 {
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
}
body .spo-hero.spo-hero .spo-lbl,
body .spo-hero.spo-hero .spo-lbl-w {
  color: #E7CF77 !important;
  -webkit-text-fill-color: #E7CF77 !important;
}
body .spo-hero.spo-hero p {
  color: rgba(255,253,248,.88) !important;
  -webkit-text-fill-color: rgba(255,253,248,.88) !important;
}

/* --- FORM FIX: spo-contact form on ivory — stronger borders + clear labels --- */
/* Section background already ivory — form-box already white */
body .spo-contact .spo-form label {
  color: #3A3228 !important;
  -webkit-text-fill-color: #3A3228 !important;
  font-weight: 600 !important;
}
body .spo-contact .spo-form input,
body .spo-contact .spo-form textarea,
body .spo-contact .spo-form select {
  background: #FFFFFF !important;
  color: #2A2018 !important;
  -webkit-text-fill-color: #2A2018 !important;
  border: 1px solid rgba(58,50,40,.28) !important;
}
body .spo-contact .spo-form input:focus,
body .spo-contact .spo-form textarea:focus,
body .spo-contact .spo-form select:focus {
  border-color: #C9A227 !important;
  outline: 2px solid rgba(201,162,39,.22) !important;
}
body .spo-contact .spo-form input::placeholder,
body .spo-contact .spo-form textarea::placeholder {
  color: rgba(58,50,40,.45) !important;
}
/* .req asterisk stays gold */
body .spo-contact .spo-form label .req {
  color: #C9A227 !important;
}

/* =============================================================
   SHOP PAGE — /shop/
   bt-shop-hero is the one plum section; everything else is already ivory/cream.
   Fix: hero eyebrow, heading, sub, stat numbers — all need ivory/light-gold on plum.
   ============================================================= */

body .bt-shop-hero.bt-shop-hero {
  /* plum gradient kept — reinforce text legibility only */
}
body .bt-shop-hero.bt-shop-hero h1,
body .bt-shop-hero.bt-shop-hero h2 {
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
  text-shadow: none !important;
}
body .bt-shop-hero.bt-shop-hero .bt-shop-hero-lbl,
body .bt-shop-hero.bt-shop-hero [class*=lbl],
body .bt-shop-hero.bt-shop-hero [class*=eyebrow],
body .bt-shop-hero.bt-shop-hero [class*=kicker] {
  color: #E7CF77 !important;
  -webkit-text-fill-color: #E7CF77 !important;
}
body .bt-shop-hero.bt-shop-hero p {
  color: rgba(255,253,248,.85) !important;
  -webkit-text-fill-color: rgba(255,253,248,.85) !important;
}
body .bt-shop-hero.bt-shop-hero .bt-shop-stat-num {
  color: #E7CF77 !important;
  -webkit-text-fill-color: #E7CF77 !important;
}
body .bt-shop-hero.bt-shop-hero .bt-shop-stat-lbl {
  color: rgba(255,253,248,.72) !important;
  -webkit-text-fill-color: rgba(255,253,248,.72) !important;
}
/* Category pill bar on bone: active pill is plum — legible, keep */

/* =============================================================
   PRODUCT PDPs — /product/* (scoped to .single-product)
   Main area is already ivory with warm gradient (wc-single-product).
   bt-pp-guarantee is the one plum band per PDP — keep it as the single accent.
   Fix: guarantee text + icon, related products section, tabs readability.
   ============================================================= */

/* --- Guarantee band: plum gradient — keep, fix text contrast --- */
body.single-product .bt-pp-guarantee.bt-pp-guarantee {
  /* background kept as-is (dark plum gradient) */
}
body.single-product .bt-pp-guarantee.bt-pp-guarantee h3,
body.single-product .bt-pp-guarantee.bt-pp-guarantee h4,
body.single-product .bt-pp-guarantee.bt-pp-guarantee p {
  color: #F3EDE1 !important;
  -webkit-text-fill-color: #F3EDE1 !important;
}
body.single-product .bt-pp-guarantee.bt-pp-guarantee strong {
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
}
body.single-product .bt-pp-guarantee.bt-pp-guarantee [class*=eyebrow],
body.single-product .bt-pp-guarantee.bt-pp-guarantee .bt-pp-eyebrow {
  color: #E7CF77 !important;
  -webkit-text-fill-color: #E7CF77 !important;
}
/* Guarantee icon wrapper */
body.single-product .bt-pp-guarantee.bt-pp-guarantee .ic,
body.single-product .bt-pp-guarantee.bt-pp-guarantee svg {
  color: #E7CF77 !important;
}

/* --- Buy box (wc-single-summary): white card on ivory — enforce legibility --- */
body.single-product .wc-single-summary.wc-single-summary {
  background: #FFFFFF !important;
}
body.single-product .wc-single-summary.wc-single-summary .wc-single-title,
body.single-product .wc-single-summary.wc-single-summary h1,
body.single-product .wc-single-summary.wc-single-summary h2 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
  text-shadow: none !important;
}
body.single-product .wc-single-summary.wc-single-summary .wc-single-category {
  color: #6B5118 !important;
  -webkit-text-fill-color: #6B5118 !important;
}
body.single-product .wc-single-summary.wc-single-summary .wc-single-price .amount,
body.single-product .wc-single-summary.wc-single-summary .wc-single-price bdi,
body.single-product .wc-single-summary.wc-single-summary .wc-single-price ins .amount {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body.single-product .wc-single-summary.wc-single-summary .wc-single-short-desc,
body.single-product .wc-single-summary.wc-single-summary .wc-single-short-desc p,
body.single-product .wc-single-summary.wc-single-summary .woocommerce-product-details__short-description,
body.single-product .wc-single-summary.wc-single-summary .woocommerce-product-details__short-description p {
  color: #3A3228 !important;
  -webkit-text-fill-color: #3A3228 !important;
}
/* Trust badges */
body.single-product .bt-pp-trust.bt-pp-trust span {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
  background: rgba(201,162,39,.10) !important;
  border-color: rgba(201,162,39,.28) !important;
}

/* --- WC Tabs: headings + content on ivory --- */
body.single-product .wc-tabs-wrapper.wc-tabs-wrapper,
body.single-product .woocommerce-tabs.woocommerce-tabs {
  background: #FFFDF8 !important;
}
body.single-product .wc-tabs.wc-tabs .wc-tab a,
body.single-product .woocommerce-tabs ul.tabs li a {
  color: #6B6777 !important;
  -webkit-text-fill-color: #6B6777 !important;
}
body.single-product .wc-tabs.wc-tabs .wc-tab.active a,
body.single-product .woocommerce-tabs ul.tabs li.active a {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
/* Tab panel body text */
body.single-product .wc-tabs-wrapper.wc-tabs-wrapper p,
body.single-product .wc-tabs-wrapper.wc-tabs-wrapper li,
body.single-product #tab-description p,
body.single-product #tab-description li {
  color: #3A3228 !important;
  -webkit-text-fill-color: #3A3228 !important;
}
body.single-product #tab-description h2,
body.single-product #tab-description h3,
body.single-product #tab-description h4 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}

/* --- Benefits section: always on bone/ivory --- */
body.single-product .bt-pp-benefits.bt-pp-benefits {
  background: transparent !important;
}
body.single-product .bt-pp-benefit.bt-pp-benefit {
  background: #FFFDF8 !important;
}
body.single-product .bt-pp-benefit.bt-pp-benefit h4,
body.single-product .bt-pp-benefit.bt-pp-benefit h3 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body.single-product .bt-pp-benefit.bt-pp-benefit p {
  color: #3A3228 !important;
  -webkit-text-fill-color: #3A3228 !important;
}

/* --- FAQ panel: already ivory — reinforce headings --- */
body.single-product .bt-pp-faq.bt-pp-faq summary,
body.single-product .bt-pp-faq.bt-pp-faq summary h4,
body.single-product .bt-pp-faq.bt-pp-faq summary span {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body.single-product .bt-pp-faq.bt-pp-faq details p {
  color: #3A3228 !important;
  -webkit-text-fill-color: #3A3228 !important;
}
body.single-product .bt-pp-faq.bt-pp-faq .bt-pp-h {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}

/* --- bt-pp-h / bt-pp-eyebrow on ivory bands --- */
body.single-product .bt-pp-h {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body.single-product .bt-pp-eyebrow {
  color: #6B5118 !important;
  -webkit-text-fill-color: #6B5118 !important;
}

/* --- Related products: already warm gradient (cream), not plum --- */
body.single-product .bt-related-products-fixed.bt-related-products-fixed .bt-related-category-fixed {
  color: #6B5118 !important;
  -webkit-text-fill-color: #6B5118 !important;
}
body.single-product .bt-related-products-fixed.bt-related-products-fixed .bt-related-content-fixed h3,
body.single-product .bt-related-products-fixed.bt-related-products-fixed .bt-related-content-fixed h4 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body.single-product .bt-related-products-fixed.bt-related-products-fixed .bt-related-price-fixed {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}

/* =============================================================
   GLOBAL SHOP GUARD: ensure any plum background-gradient
   on section.bt-section-ivory or wc-single-product stays light
   ============================================================= */
body .bt-section-ivory.bt-section-ivory,
body .bt-section-ivory.bt-section-ivory * {
  /* This class exists on some PDP wrapper sections — keep light */
  background-color: #FFFDF8 !important;
  background-image: none !important;
}
/* Exception: the warm gradient ::before pseudo is on wc-single-product which is already ivory */

/* ===== from bt-design-rebalance-p3.php (was an inline <style> on every page) ===== */
/* =====================================================================
   /listen/ — .lsn
   Sections: lsn-hero (KEEP plum #1), lsn-plat (cream OK), lsn-why (ivory OK),
             lsn-cta (outer ivory, inner card plum KEEP #2), newsletter-cta (bone P1)
   Max plum = 2. No adjacency issues.
   ===================================================================== */

/* --- lsn .fu reveal fix: IntersectionObserver may not fire on cached pages --- */
.lsn .fu { opacity: 1 !important; transform: none !important; }

/* --- lsn-hero (KEEP plum): reinforce heading + body + eyebrow contrast --- */
body .lsn-hero.lsn-hero h1,
body .lsn-hero.lsn-hero h2 {
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
  text-shadow: none !important;
}
body .lsn-hero.lsn-hero h1 em {
  color: #D9B84D !important;
  -webkit-text-fill-color: #D9B84D !important;
}
body .lsn-hero.lsn-hero .lsn-lbl,
body .lsn-hero.lsn-hero .lsn-lbl-w,
body .lsn-hero.lsn-hero [class*=lbl] {
  color: #E7CF77 !important;
  -webkit-text-fill-color: #E7CF77 !important;
}
body .lsn-hero.lsn-hero p,
body .lsn-hero.lsn-hero .lsn-hero-desc {
  color: rgba(255,253,248,.88) !important;
  -webkit-text-fill-color: rgba(255,253,248,.88) !important;
}
/* Stat labels on dark hero */
body .lsn-hero.lsn-hero .lsn-hero-stat .lbl {
  color: rgba(255,253,248,.60) !important;
  -webkit-text-fill-color: rgba(255,253,248,.60) !important;
}
body .lsn-hero.lsn-hero .lsn-hero-stat .num {
  color: #D9B84D !important;
  -webkit-text-fill-color: #D9B84D !important;
}

/* --- lsn-plat: cream bg, headings need plum --- */
body .lsn-plat.lsn-plat h2,
body .lsn-plat.lsn-plat h3 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body .lsn-plat.lsn-plat .lsn-lbl {
  color: #6B5118 !important;
  -webkit-text-fill-color: #6B5118 !important;
}
/* lsn-pcard body text */
body .lsn-plat.lsn-plat .lsn-pcard p {
  color: #6B6777 !important;
  -webkit-text-fill-color: #6B6777 !important;
}

/* --- lsn-why: ivory bg --- */
body .lsn-why.lsn-why h2,
body .lsn-why.lsn-why h3 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body .lsn-why.lsn-why .lsn-lbl {
  color: #6B5118 !important;
  -webkit-text-fill-color: #6B5118 !important;
}
body .lsn-why.lsn-why .lsn-wcard p {
  color: #6B6777 !important;
  -webkit-text-fill-color: #6B6777 !important;
}

/* --- lsn-cta: outer bg is cream (ok), inner card is plum gradient (KEEP #2) --- */
body .lsn-cta.lsn-cta .lsn-cta-inner h2 {
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
  text-shadow: none !important;
}
body .lsn-cta.lsn-cta .lsn-cta-inner p {
  color: rgba(255,253,248,.88) !important;
  -webkit-text-fill-color: rgba(255,253,248,.88) !important;
}
body .lsn-cta.lsn-cta .lsn-cta-inner .lsn-lbl,
body .lsn-cta.lsn-cta .lsn-cta-inner .lsn-lbl-w {
  color: #E7CF77 !important;
  -webkit-text-fill-color: #E7CF77 !important;
}
/* Links inside the card */
body .lsn-cta.lsn-cta .lsn-cta-inner .links a,
body .lsn-cta.lsn-cta .lsn-cta-inner .links a:link,
body .lsn-cta.lsn-cta .lsn-cta-inner .links a:visited {
  color: #E7CF77 !important;
  -webkit-text-fill-color: #E7CF77 !important;
}
body .lsn-cta.lsn-cta .lsn-cta-inner .links a:hover {
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
}


/* =====================================================================
   /episodes/ — .epp
   Sections: epp-hero (KEEP plum #1), epp-feat (ivory), epp-embed (ivory),
             epp-filters (cream), epp-grid (ivory), epp-test (CONVERT->bone #2->0),
             epp-offers (cream), epp-cta outer+inner (inner plum KEEP #2),
             bt-inline-newsletter (bone, P1 covered)
   Before: 3 plum (hero + test + cta-inner). After: 2 (hero + cta-inner).
   ===================================================================== */

/* --- epp .fu reveal fix --- */
.epp .fu { opacity: 1 !important; transform: none !important; }

/* --- epp-hero (KEEP plum #1): reinforce headings + labels + body --- */
body .epp-hero.epp-hero h1,
body .epp-hero.epp-hero h2 {
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
  text-shadow: none !important;
}
body .epp-hero.epp-hero h1 em {
  color: #D9B84D !important;
  -webkit-text-fill-color: #D9B84D !important;
}
body .epp-hero.epp-hero .epp-lbl,
body .epp-hero.epp-hero .epp-lbl-w {
  color: #E7CF77 !important;
  -webkit-text-fill-color: #E7CF77 !important;
}
body .epp-hero.epp-hero p,
body .epp-hero.epp-hero .epp-hero-desc {
  color: rgba(255,253,248,.88) !important;
  -webkit-text-fill-color: rgba(255,253,248,.88) !important;
}
body .epp-hero.epp-hero .epp-hero-stat .lbl {
  color: rgba(255,253,248,.58) !important;
  -webkit-text-fill-color: rgba(255,253,248,.58) !important;
}
body .epp-hero.epp-hero .epp-hero-stat .num {
  color: #D9B84D !important;
  -webkit-text-fill-color: #D9B84D !important;
}

/* --- epp-test CONVERT plum->bone (was background:linear-gradient(170deg,#432663,#5B3A82)) --- */
body .epp-test.epp-test {
  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);
}
/* Header: was white on dark -> now plum on bone */
body .epp-test.epp-test h2,
body .epp-test.epp-test h3,
body .epp-test.epp-test .epp-test-header h2 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
  text-shadow: none !important;
}
body .epp-test.epp-test .epp-lbl,
body .epp-test.epp-test .epp-lbl-w {
  color: #6B5118 !important;
  -webkit-text-fill-color: #6B5118 !important;
}
/* Testimonial cards: were rgba(255,255,255,.06) — switch to white on bone */
body .epp-test.epp-test .epp-tcard {
  background: #FFFFFF !important;
  border-color: rgba(201,162,39,.20) !important;
}
/* Blockquote: was rgb(255,255,255,.9) -> now charcoal */
body .epp-test.epp-test .epp-tcard blockquote {
  color: #3A3228 !important;
  -webkit-text-fill-color: #3A3228 !important;
}
/* Stars: gold already, stay */
body .epp-test.epp-test .epp-tcard-stars {
  color: #C9A227 !important;
  -webkit-text-fill-color: #C9A227 !important;
}
/* Cite: was var(--g3) #E5CC73 on dark -> now dark-gold on white */
body .epp-test.epp-test .epp-tcard cite {
  color: #6B5118 !important;
  -webkit-text-fill-color: #6B5118 !important;
}
/* Cite span (secondary) */
body .epp-test.epp-test .epp-tcard cite span {
  color: #6B6777 !important;
  -webkit-text-fill-color: #6B6777 !important;
}

/* --- epp-cta: outer bg ivory (ok), inner card is plum gradient (KEEP #2) --- */
body .epp-cta.epp-cta .epp-cta-inner h2 {
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
  text-shadow: none !important;
}
body .epp-cta.epp-cta .epp-cta-inner p {
  color: rgba(255,253,248,.88) !important;
  -webkit-text-fill-color: rgba(255,253,248,.88) !important;
}
body .epp-cta.epp-cta .epp-cta-inner .epp-lbl,
body .epp-cta.epp-cta .epp-cta-inner .epp-lbl-w {
  color: #E7CF77 !important;
  -webkit-text-fill-color: #E7CF77 !important;
}
body .epp-cta.epp-cta .epp-cta-inner .links a,
body .epp-cta.epp-cta .epp-cta-inner .links a:link,
body .epp-cta.epp-cta .epp-cta-inner .links a:visited {
  color: #E7CF77 !important;
  -webkit-text-fill-color: #E7CF77 !important;
}
body .epp-cta.epp-cta .epp-cta-inner .links a:hover {
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
}

/* --- epp-offers: cream bg, headings plum, body text charcoal --- */
body .epp-offers.epp-offers h2 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body .epp-offers.epp-offers .epp-lbl {
  color: #6B5118 !important;
  -webkit-text-fill-color: #6B5118 !important;
}
body .epp-offers.epp-offers .epp-ocard h3 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body .epp-offers.epp-offers .epp-ocard p {
  color: #6B6777 !important;
  -webkit-text-fill-color: #6B6777 !important;
}

/* --- epp-grid: episode list headings + meta --- */
body .epp-grid.epp-grid h2 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body .epp-grid.epp-grid .epp-lbl {
  color: #6B5118 !important;
  -webkit-text-fill-color: #6B5118 !important;
}
body .epp-grid.epp-grid .epp-ep h3 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}


/* =====================================================================
   /blog/ index
   Structure: bt-page-header (ivory), blog-grid (ivory), newsletter-cta (bone P1)
   No plum sections. Fix: heading text, blog card body, category labels.
   ===================================================================== */

/* --- bt-page-header (ivory) --- */
body .bt-page-header .bt-page-title,
body .bt-page-header h1,
body .bt-page-header h2 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
  text-shadow: none !important;
}
body .bt-page-header [class*=lbl],
body .bt-page-header [class*=eyebrow],
body .bt-page-header [class*=kicker] {
  color: #6B5118 !important;
  -webkit-text-fill-color: #6B5118 !important;
}

/* --- Blog post cards --- */
body .blog-card-title {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body .blog-card-excerpt,
body .blog-card-excerpt p {
  color: #3A3228 !important;
  -webkit-text-fill-color: #3A3228 !important;
}
body .blog-card-category {
  color: #6B5118 !important;
  -webkit-text-fill-color: #6B5118 !important;
}
body .blog-card-date {
  color: #6B6777 !important;
  -webkit-text-fill-color: #6B6777 !important;
}
body .blog-card-read-more,
body .blog-card-read-more a {
  color: #5B3A82 !important;
  -webkit-text-fill-color: #5B3A82 !important;
}


/* =====================================================================
   Single blog post — .single-post (body class) or post singular
   Structure: single-post-header (ivory), single-post-body/entry-content (ivory),
              bt-cta-banner (plum via bt-article.css line 58 — convert to bone),
              bt-author-cta__bio (FFF9F0 ivory card — OK),
              bt-author-cta__card (plum gradient cards — intentional, reinforce text),
              bt-related-posts (ivory — already bt-template-polish styled OK)
   ===================================================================== */

/* --- single-post-header on ivory --- */
body.single-post .single-post-header .single-post-title,
body.single-post .single-post-header h1,
body.single-post .single-post-header h2 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
  text-shadow: none !important;
}
body.single-post .single-post-header .single-post-category {
  color: #6B5118 !important;
  -webkit-text-fill-color: #6B5118 !important;
}
body.single-post .single-post-header .single-post-meta,
body.single-post .single-post-header time {
  color: #6B6777 !important;
  -webkit-text-fill-color: #6B6777 !important;
}

/* --- entry-content body text legibility --- */
body.single-post .entry-content,
body.single-post .entry-content p {
  color: #3A3228 !important;
  -webkit-text-fill-color: #3A3228 !important;
}
body.single-post .entry-content h2,
body.single-post .entry-content h3,
body.single-post .entry-content h4 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body.single-post .entry-content a {
  color: #432663 !important;
  -webkit-text-fill-color: #432663 !important;
}
body.single-post .entry-content strong {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}

/* --- bt-cta-banner: was plum bg (#2E1A47) — convert to bone to avoid extra plum band --- */
body.single-post .bt-cta-banner {
  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);
  border-radius: 12px;
}
body.single-post .bt-cta-banner h3,
body.single-post .bt-cta-banner h2 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body.single-post .bt-cta-banner p {
  color: #3A3228 !important;
  -webkit-text-fill-color: #3A3228 !important;
}
/* CTA button in bone banner stays gold */
body.single-post .bt-cta-banner .btn-primary,
body.single-post .bt-cta-banner a[class*=btn] {
  background: #C9A227 !important;
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
  border-color: #C9A227 !important;
}

/* --- bt-author-cta__card (plum gradient) — these are intentional design cards, reinforce text --- */
body.single-post .bt-author-cta__card .bt-author-cta__ce {
  color: #E7CF77 !important;
  -webkit-text-fill-color: #E7CF77 !important;
}
body.single-post .bt-author-cta__card .bt-author-cta__ct {
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
}
body.single-post .bt-author-cta__card .bt-author-cta__cs {
  color: rgba(255,253,248,.80) !important;
  -webkit-text-fill-color: rgba(255,253,248,.80) !important;
}

/* --- bt-author-cta__bio (warm ivory card) --- */
body.single-post .bt-author-cta__eyebrow {
  color: #6B5118 !important;
  -webkit-text-fill-color: #6B5118 !important;
}
body.single-post .bt-author-cta__name,
body.single-post .bt-author-cta__name a {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body.single-post .bt-author-cta__text {
  color: #3A3228 !important;
  -webkit-text-fill-color: #3A3228 !important;
}

/* --- bt-related-posts (ivory cards, already handled by bt-template-polish) --- */
body.single-post .bt-related-posts-title {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body.single-post .bt-related-post-cat {
  color: #C9A227 !important;
  -webkit-text-fill-color: #C9A227 !important;
}
body.single-post .bt-related-post-title {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body.single-post .bt-related-excerpt {
  color: #3A3228 !important;
  -webkit-text-fill-color: #3A3228 !important;
}


/* =====================================================================
   Single episode — body.single-episode (or post-type-episode body class)
   Structure: bt-article-hero (ivory), bt-article-body+bt-ep-notes (intentional premium - LEAVE),
              bt-cta-box (plum #2E1A47, intentional per bt-article.css - reinforce text),
              newsletter-cta (bone P1 covered), bt-ep-bio (ivory card — already OK)
   bt-ep-notes: DO NOT TOUCH (premium editorial Cormorant/plum design).
   Max plum = bt-cta-box (inline, small card). 1 plum total, fine.
   ===================================================================== */

/* --- bt-article-hero: ivory, plum heading (already correct in bt-article.css) --- */
body.single-episode .bt-article-title {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
  text-shadow: none !important;
}
body.single-episode .bt-eyebrow {
  color: #C9A227 !important;
  -webkit-text-fill-color: #C9A227 !important;
}
body.single-episode .bt-article-subtitle,
body.single-episode .bt-byline-meta {
  color: #6B6777 !important;
  -webkit-text-fill-color: #6B6777 !important;
}
body.single-episode .bt-byline-name {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}

/* --- bt-cta-box: intentional plum — reinforce ivory text contrast --- */
body.single-episode .bt-cta-box {
  /* background stays #2E1A47 as designed */
}
body.single-episode .bt-cta-box .bt-cta-box-title {
  color: #FFF9F0 !important;
  -webkit-text-fill-color: #FFF9F0 !important;
}
body.single-episode .bt-cta-box .bt-cta-box-text {
  color: rgba(255,249,240,.88) !important;
  -webkit-text-fill-color: rgba(255,249,240,.88) !important;
}
body.single-episode .bt-cta-box a,
body.single-episode .bt-cta-box .btn,
body.single-episode .bt-cta-box button {
  background: #C9A227 !important;
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}

/* --- bt-ep-bio (ivory card): already correctly styled inline, reinforce --- */
body.single-episode .bt-ep-bio__eyebrow {
  color: #C9A227 !important;
  -webkit-text-fill-color: #C9A227 !important;
}
body.single-episode .bt-ep-bio__name {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body.single-episode .bt-ep-bio__desc {
  color: rgba(46,26,71,.65) !important;
  -webkit-text-fill-color: rgba(46,26,71,.65) !important;
}

/* --- Episode related posts/block (bt-related-block, bt-related-list) --- */
body.single-episode .bt-related-title {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body.single-episode .bt-related-block h3,
body.single-episode .bt-related-block h4 {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
body.single-episode .bt-related-excerpt {
  color: #3A3228 !important;
  -webkit-text-fill-color: #3A3228 !important;
}


/* =====================================================================
   404 page — #bt404body
   Sections: bt404-hero (KEEP plum #1), bt404-body (ivory ok),
             bt404-home-band (KEEP plum #2, non-adjacent to hero since body is between)
             newsletter-cta (bone P1 covered)
   Both plum sections have correct inline styles; this reinforces specificity.
   ===================================================================== */

/* --- bt404-hero (KEEP plum #1): reinforce text --- */
#bt404body .bt404-hero .bt404-eyebrow {
  color: #C9A227 !important;
  -webkit-text-fill-color: #C9A227 !important;
}
#bt404body .bt404-hero .bt404-num {
  /* gradient text clip — let inline CSS handle, do not override */
}
#bt404body .bt404-hero .bt404-heading {
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
}
#bt404body .bt404-hero .bt404-sub {
  color: rgba(255,253,248,.72) !important;
  -webkit-text-fill-color: rgba(255,253,248,.72) !important;
}

/* --- bt404-body (ivory): legibility pass --- */
#bt404body .bt404-body .bt404-section-label {
  color: #C9A227 !important;
  -webkit-text-fill-color: #C9A227 !important;
}
#bt404body .bt404-body .bt404-section-title {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
#bt404body .bt404-ep-title {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}
#bt404body .bt404-ep-label {
  color: #C9A227 !important;
  -webkit-text-fill-color: #C9A227 !important;
}
#bt404body .bt404-quick-link {
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}

/* --- bt404-home-band (KEEP plum #2): reinforce text --- */
#bt404body .bt404-home-band h2 {
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
}
#bt404body .bt404-home-band p {
  color: rgba(255,253,248,.75) !important;
  -webkit-text-fill-color: rgba(255,253,248,.75) !important;
}
/* Return-to-homepage button stays gold */
#bt404body .bt404-home-band a[class*=btn] {
  background: linear-gradient(135deg,#C9A227,#E8C84A) !important;
  color: #2E1A47 !important;
  -webkit-text-fill-color: #2E1A47 !important;
}

/* =====================================================================
   GLOBAL GUARD — ensure .fu opacity:0 blocks don't persist site-wide
   (belt-and-suspenders for lsn + epp + any other scoped page that uses .fu)
   ===================================================================== */
.fu[class] { opacity: 1 !important; transform: translateY(0) !important; }