/* ═══════════════════════════════════════════════════════════════
   HPC SDD KADENCE COMPAT · v12.0 · 30 March 2026
   
   Loaded AFTER hpc-sdd-magazine.css at priority 99.
   All rules prefixed with body.sdd-article for max specificity.
   
   FIXES:
   1. Kadence .entry-content color:inherit → explicit bright text
   2. word-break:break-all → normal on SDD elements
   3. Masthead H1 gradient-text preserved (no color override)
   4. Key Findings card content visible (targeted kf__ colors)
   5. Pull quote centered (no translateX breakout)
   6. DOI links wrap properly (overflow-wrap, not break-all)
   7. Bibliography search bar dark-themed
   8. sdd-reveal forced visible (CSS backup for JS)
   9. Kadence chrome hidden (entry-header, breadcrumbs, etc.)
   ═══════════════════════════════════════════════════════════════ */


/* §1 ── CSS CUSTOM PROPERTY OVERRIDES ────────────────────────
   Override muted variables with bright values for dark theme.
   Per-block CSS using var(--t1) etc. inherits these automatically.
──────────────────────────────────────────────────────────── */
body.sdd-article {
  --t1: #F0F0F0;
  --t1-warm: #F5F0EB;
  --t1-cream: #C8D1DC;
  --t2: #E8E8E8;
  --t3: #A3B1C4;
  --t4: rgba(240,240,240,0.28);
  --t5: rgba(240,240,240,0.14);
  --color-text-primary: #F0F0F0;
  --color-text-secondary: #E8E8E8;
  --color-text-tertiary: #A3B1C4;
  --white: #F0F0F0;
  --parchment: #F5F0EB;
  --grey-300: #A3B1C4;
  --grey-400: #7A8BA3;
  --maize: #FFCB05;
  --jade: var(--page-accent, #73B191);
  --jade-soft: var(--page-accent-soft, #8FC7A7);
  --jade-muted: var(--page-accent-muted, rgba(115,177,145,0.30));
  --page-accent: #73B191;
  --page-accent-soft: #8FC7A7;
  --page-accent-rgb: 115,177,145;
  --page-accent-muted: rgba(115,177,145,0.30);
  /* Override prose width from 720px → 860px for magazine feel */
  --prose-max: 860px;
  --page-max: 1120px;
}

/* Force Kadence content containers wider */
body.sdd-article .entry-content-wrap,
body.sdd-article .content-wrap,
body.sdd-article .site-container .content-wrap,
body.sdd-article .entry-content {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Kadence single-content area — full width */
body.sdd-article .content-container.site-container,
body.sdd-article .content-container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.sdd-article .site-main {
  max-width: 100% !important;
  padding: 0 !important;
}


/* §2 ── DARK BACKGROUND ──────────────────────────────────────
   Force void background through Kadence wrappers.
──────────────────────────────────────────────────────────── */
body.sdd-article,
body.sdd-article .site,
body.sdd-article .wp-site-blocks,
body.sdd-article .entry-content-wrap,
body.sdd-article .content-wrap,
body.sdd-article .site-container {
  background: #050810 !important;
  background-color: #050810 !important;
}


/* §3 ── KILL KADENCE TEXT COLOR INHERITANCE ───────────────────
   Kadence sets .entry-content { color: #333 } (dark text for
   light theme). We override to bright text on all SDD elements.
   
   CRITICAL: We target elements by SDD class patterns, NOT a
   blanket universal rule, because gradient-text elements
   (.sdd-mast__heading, .kf__title em, etc.) use
   -webkit-text-fill-color:transparent and must NOT get a
   color override that breaks their background-clip effect.
──────────────────────────────────────────────────────────── */

/* Base entry-content text */
body.sdd-article .entry-content {
  color: #E8E8E8 !important;
}

/* Paragraphs */
body.sdd-article .entry-content p {
  color: #E8E8E8 !important;
}

/* Headings — explicit color but NOT on gradient-text headings */
body.sdd-article .entry-content h1,
body.sdd-article .entry-content h2,
body.sdd-article .entry-content h3,
body.sdd-article .entry-content h4,
body.sdd-article .entry-content h5,
body.sdd-article .entry-content h6 {
  color: #F0F0F0 !important;
}

/* Bold/strong */
body.sdd-article .entry-content strong,
body.sdd-article .entry-content b {
  color: #FFFFFF !important;
  font-weight: 600;
}

/* Links */
body.sdd-article .entry-content a {
  color: #FFCB05 !important;
}

/* Lists */
body.sdd-article .entry-content li {
  color: #E8E8E8 !important;
}

/* Span fallback (catches most inline elements) */
body.sdd-article .entry-content [class*="sdd-"] span,
body.sdd-article .entry-content [class*="kf__"] span,
body.sdd-article .entry-content [class*="bib-"] span {
  color: inherit;
}

/* General SDD container children — NO !important so per-block rules win */
body.sdd-article .entry-content [class*="sdd-"],
body.sdd-article .entry-content [class*="kf"],
body.sdd-article .entry-content [class*="bib-"] {
  color: #E8E8E8;
}


/* §4 ── GRADIENT-TEXT PRESERVATION ────────────────────────────
   These elements use background-clip:text + text-fill-color:
   transparent. We MUST override the h1/h2 color rule above
   to restore the gradient effect.
──────────────────────────────────────────────────────────── */

/* Masthead H1 — gradient white-to-cream */
body.sdd-article .entry-content .sdd-mast__heading {
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  background: linear-gradient(180deg, #F0F0F0 0%, #C8D1DC 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}

/* Masthead H1 <em> — gradient gold */
body.sdd-article .entry-content .sdd-mast__heading em {
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  background: linear-gradient(180deg, #FFCB05 0%, #F5D76E 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  font-style: normal !important;
}

/* Section headings with gold <em> gradient */
body.sdd-article .entry-content .sdd-sect__title em,
body.sdd-article .entry-content .kf__title em,
body.sdd-article .entry-content [class*="sdd-"] h2 em,
body.sdd-article .entry-content [class*="sdd-"] h3 em {
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  background: linear-gradient(180deg, #FFCB05 0%, #F5D76E 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  font-style: normal !important;
}

/* KF title italic */
body.sdd-article .entry-content .kf__title {
  color: #F0F0F0 !important;
  font-style: italic !important;
}


/* §5 ── KEY FINDINGS CARD VISIBILITY ─────────────────────────
   Cards use jade/gold for stat numbers, muted tones for labels.
   Override Kadence's color inheritance on each element.
──────────────────────────────────────────────────────────── */

/* Card backgrounds */
body.sdd-article .entry-content .kf__finding {
  background: linear-gradient(180deg, rgba(240,240,240,0.028) 0%, rgba(240,240,240,0.010) 100%), rgba(5,8,16,0.54) !important;
  border: 1px solid rgba(240,240,240,0.08) !important;
}

/* Stat numbers — jade green, large display */
body.sdd-article .entry-content .kf__finding-stat-num {
  color: #8FC7A7 !important;
  -webkit-text-fill-color: #8FC7A7 !important;
}

/* Stat units — muted jade */
body.sdd-article .entry-content .kf__finding-stat-unit {
  color: rgba(115,177,145,0.30) !important;
}

/* Finding description text */
body.sdd-article .entry-content .kf__finding-desc {
  color: #E8E8E8 !important;
}
body.sdd-article .entry-content .kf__finding-desc strong {
  color: #FFFFFF !important;
}

/* Finding index/topic labels */
body.sdd-article .entry-content .kf__finding-index {
  color: rgba(240,240,240,0.28) !important;
}
body.sdd-article .entry-content .kf__finding-topic {
  color: #E8E8E8 !important;
}

/* Finding type pills */
body.sdd-article .entry-content .kf__finding-type {
  color: #A3B1C4 !important;
  border-color: rgba(240,240,240,0.08) !important;
  background: rgba(240,240,240,0.018) !important;
}

/* Finding notes */
body.sdd-article .entry-content .kf__finding-note {
  color: rgba(240,240,240,0.28) !important;
}

/* Finding head kicker */
body.sdd-article .entry-content .kf__finding-kicker {
  color: #E8E8E8 !important;
}
body.sdd-article .entry-content .kf__finding-head {
  color: #E8E8E8 !important;
}

/* Aside panel */
body.sdd-article .entry-content .kf__aside {
  background: linear-gradient(180deg, rgba(240,240,240,0.034) 0%, rgba(240,240,240,0.012) 100%), rgba(5,8,16,0.82) !important;
  border: 1px solid rgba(240,240,240,0.08) !important;
}
body.sdd-article .entry-content .kf__aside-folio {
  color: rgba(240,240,240,0.28) !important;
}
body.sdd-article .entry-content .kf__count-num {
  color: #F0F0F0 !important;
}
body.sdd-article .entry-content .kf__count-label {
  color: rgba(240,240,240,0.28) !important;
}
body.sdd-article .entry-content .kf__aside-label {
  color: rgba(240,240,240,0.28) !important;
}
body.sdd-article .entry-content .kf__aside-text {
  color: #A3B1C4 !important;
}
body.sdd-article .entry-content .kf__signal-chip {
  color: #A3B1C4 !important;
  border-color: rgba(240,240,240,0.08) !important;
  background: rgba(240,240,240,0.018) !important;
}
body.sdd-article .entry-content .kf__meter-name {
  color: #A3B1C4 !important;
}
body.sdd-article .entry-content .kf__meter-count {
  color: #E8E8E8 !important;
}
body.sdd-article .entry-content .kf__meter-bar {
  background: rgba(240,240,240,0.10) !important;
}
body.sdd-article .entry-content .kf__meter-fill {
  background: linear-gradient(90deg, #8FC7A7 0%, #73B191 100%) !important;
}

/* Meta pills */
body.sdd-article .entry-content .kf__meta-pill {
  color: #A3B1C4 !important;
  border-color: rgba(240,240,240,0.08) !important;
  background: rgba(240,240,240,0.018) !important;
}

/* Eyebrow */
body.sdd-article .entry-content .kf__eyebrow {
  color: rgba(240,240,240,0.28) !important;
}

/* Subtitle */
body.sdd-article .entry-content .kf__subtitle {
  color: #A3B1C4 !important;
}


/* §6 ── MASTHEAD SPECIFIC ────────────────────────────────────
   Ensure all masthead elements are visible.
──────────────────────────────────────────────────────────── */

/* Deck paragraph */
body.sdd-article .entry-content .sdd-mast__deck {
  color: #A3B1C4 !important;
}
body.sdd-article .entry-content .sdd-mast__deck strong {
  color: #F5F0EB !important;
}

/* Kicker */
body.sdd-article .entry-content .sdd-mast__kicker {
  color: rgba(240,240,240,0.28) !important;
}

/* Gate elements */
body.sdd-article .entry-content .sdd-mast__gate-num {
  color: rgba(240,240,240,0.14) !important;
}
body.sdd-article .entry-content .sdd-mast__gate-label {
  color: rgba(240,240,240,0.28) !important;
}
body.sdd-article .entry-content .sdd-mast__gate-time {
  color: rgba(240,240,240,0.28) !important;
}

/* Folio line */
body.sdd-article .entry-content .sdd-mast__folio {
  color: rgba(240,240,240,0.28) !important;
}
body.sdd-article .entry-content .sdd-mast__folio span {
  color: rgba(240,240,240,0.28) !important;
}

/* Foot note */
body.sdd-article .entry-content .sdd-mast__foot-note {
  color: rgba(240,240,240,0.28) !important;
}


/* §7 ── PROSE WIDTH + VISUAL BREAKOUTS ───────────────────────
   860px for prose. Visual components go wider via max-width.
   NO 100vw tricks — they cause scrollbar-width left-shift.
──────────────────────────────────────────────────────────── */

/* Prose stays editorial-width */
body.sdd-article .entry-content .sdd-wrap-narrow {
  max-width: 860px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(24px, 4vw, 48px) !important;
  padding-right: clamp(24px, 4vw, 48px) !important;
}

/* Wide wrapper */
body.sdd-article .entry-content .sdd-wrap-wide {
  max-width: 1120px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(24px, 4vw, 48px) !important;
  padding-right: clamp(24px, 4vw, 48px) !important;
}

/* ── VISUAL BLOCKS: wider than prose, centered ── */
/* Key Findings */
body.sdd-article .entry-content .sdd-kf,
body.sdd-article .entry-content section[id="findings"] {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: clamp(24px, 4vw, 60px) !important;
  padding-right: clamp(24px, 4vw, 60px) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Evidence Hierarchy (v8) */
body.sdd-article .entry-content .H {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow: hidden !important;
}

/* Protocol / Stakes / Mechanism — fill container */
body.sdd-article .entry-content [class*="sdd-protocol"],
body.sdd-article .entry-content [data-sd-b08],
body.sdd-article .entry-content [class*="sdd-stakes"],
body.sdd-article .entry-content [data-sd-b07],
body.sdd-article .entry-content [class*="sdd-mech"],
body.sdd-article .entry-content [data-sd-b05] {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: clamp(24px, 4vw, 60px) !important;
  padding-right: clamp(24px, 4vw, 60px) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Pull quotes — wider than prose but centered */
body.sdd-article .entry-content .sdd-pull {
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Stat callouts */
body.sdd-article .entry-content .sdd-stat {
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ── SECTION SPACING ── */
/* More breathing room between prose and visual blocks */
body.sdd-article .entry-content section + section,
body.sdd-article .entry-content [class*="sdd-"] + [class*="sdd-"],
body.sdd-article .entry-content .wp-block-html + .wp-block-html {
  margin-top: 40px !important;
}

/* Extra space before/after major visual sections */
body.sdd-article .entry-content .sdd-kf,
body.sdd-article .entry-content .H,
body.sdd-article .entry-content [class*="sdd-protocol"],
body.sdd-article .entry-content [class*="sdd-stakes"],
body.sdd-article .entry-content [class*="sdd-mech"] {
  margin-top: 64px !important;
  margin-bottom: 64px !important;
}


/* §8 ── PULL QUOTE FIX ───────────────────────────────────────
   The v6 CSS applied translateX(-50%) + 100vw which pushed
   pull quotes off-screen left. Remove that and center within
   the parent wrapper.
──────────────────────────────────────────────────────────── */

body.sdd-article .entry-content .sdd-pull {
  width: 100% !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: none !important;
  text-align: center !important;
  padding: 0 clamp(24px, 6vw, 80px) !important;
  overflow: visible !important;
}

body.sdd-article .entry-content .sdd-pull__text {
  color: #F0F0F0 !important;
  max-width: 920px !important;
  margin: 0 auto !important;
}

body.sdd-article .entry-content .sdd-pull__attr {
  color: rgba(240,240,240,0.28) !important;
}


/* §9 ── BIBLIOGRAPHY ─────────────────────────────────────────
   Fix DOI fragmentation, dark-theme search, text colors.
   Uses #hpc-bib ID selector for MAXIMUM specificity to beat
   Kadence's word-break:break-all.
──────────────────────────────────────────────────────────── */

/* NUCLEAR: ID selector beats ALL class-based Kadence selectors */
#hpc-bib,
#hpc-bib *,
#hpc-bib *::before,
#hpc-bib *::after,
body.sdd-article #hpc-bib,
body.sdd-article #hpc-bib *,
body.sdd-article .entry-content #hpc-bib *,
body.sdd-article .entry-content #hpc-bib a,
body.sdd-article .entry-content #hpc-bib span,
body.sdd-article .entry-content #hpc-bib div {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  hyphens: none !important;
}

/* DOI links — keep inline, prevent fragmentation */
#hpc-bib .bib-doi,
body.sdd-article .entry-content #hpc-bib .bib-doi,
body.sdd-article .entry-content .bib-doi,
body.sdd-article .entry-content .bib-actions a {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
  display: inline !important;
  color: rgba(255,203,5,0.58) !important;
  border-color: rgba(255,203,5,0.18) !important;
  text-decoration: none !important;
}
body.sdd-article .entry-content .bib-doi:hover,
#hpc-bib .bib-doi:hover {
  color: #FFCB05 !important;
  border-color: rgba(255,203,5,0.40) !important;
  background: rgba(255,203,5,0.06) !important;
}

/* Journal names, author names — prevent fragmentation */
#hpc-bib .bib-journal,
body.sdd-article .entry-content .bib-journal {
  word-break: normal !important;
  color: rgba(255,203,5,0.58) !important;
  font-style: italic !important;
}
#hpc-bib .bib-authors,
body.sdd-article .entry-content .bib-authors {
  color: #E8E8E8 !important;
  word-break: normal !important;
}
body.sdd-article .entry-content .bib-year {
  color: #A3B1C4 !important;
}
body.sdd-article .entry-content .bib-article-title {
  color: #E8E8E8 !important;
}
body.sdd-article .entry-content .bib-volume,
body.sdd-article .entry-content .bib-pages {
  color: #A3B1C4 !important;
}
#hpc-bib .bib-num,
body.sdd-article .entry-content .bib-num {
  color: rgba(255,203,5,0.42) !important;
}

/* Search input — dark theme */
#hpc-bib .bib-search,
#hpc-bib #bib-search,
body.sdd-article .entry-content .bib-search,
body.sdd-article .entry-content #bib-search {
  background: rgba(240,240,240,0.04) !important;
  color: #E8E8E8 !important;
  border: 1px solid rgba(240,240,240,0.10) !important;
  caret-color: #FFCB05 !important;
}
body.sdd-article .entry-content .bib-search::placeholder,
body.sdd-article .entry-content #bib-search::placeholder {
  color: rgba(240,240,240,0.28) !important;
}
body.sdd-article .entry-content .bib-search:focus,
body.sdd-article .entry-content #bib-search:focus {
  border-color: rgba(255,203,5,0.32) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(255,203,5,0.08) !important;
}

/* Filter pills */
body.sdd-article .entry-content .bib-filter {
  color: #A3B1C4 !important;
  border-color: rgba(240,240,240,0.08) !important;
  background: rgba(240,240,240,0.018) !important;
}
body.sdd-article .entry-content .bib-filter.active,
body.sdd-article .entry-content .bib-filter:hover {
  color: #FFCB05 !important;
  border-color: rgba(255,203,5,0.28) !important;
  background: rgba(255,203,5,0.06) !important;
}

/* Toggle text */
body.sdd-article .entry-content #bib-toggle-text {
  color: #FFCB05 !important;
}

/* Bib header */
body.sdd-article .entry-content .bib-eyebrow {
  color: rgba(240,240,240,0.28) !important;
}
body.sdd-article .entry-content .bib-title {
  color: #F0F0F0 !important;
}


/* §10 ── WORD-BREAK GLOBAL KILL ──────────────────────────────
   Kadence's .entry-content * { word-break: break-all } is the
   #1 source of visual bugs. Kill it EVERYWHERE in the article.
   Using the broadest possible selector with !important.
──────────────────────────────────────────────────────────── */

/* Nuclear option: kill word-break on EVERYTHING in entry-content */
body.sdd-article .entry-content *,
body.sdd-article .entry-content *::before,
body.sdd-article .entry-content *::after {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
}

/* Re-enable on prose paragraphs only (these benefit from break-word) */
body.sdd-article .entry-content .sdd-prose p,
body.sdd-article .entry-content .sdd-sect p,
body.sdd-article .entry-content [class*="sdd-"] > p {
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  word-break: normal !important;
}


/* §11 ── SDD REVEAL FORCE VISIBLE ────────────────────────────
   IntersectionObserver fails under Kadence overflow:clip.
   CSS backup forces all reveals visible immediately.
──────────────────────────────────────────────────────────── */

body.sdd-article .entry-content .sdd-reveal {
  opacity: 1 !important;
  transform: translateY(0) !important;
}


/* §12 ── HIDE KADENCE CHROME ─────────────────────────────────
   Remove duplicate title, breadcrumbs, meta, post nav, etc.
──────────────────────────────────────────────────────────── */

body.sdd-article .entry-header,
body.sdd-article .entry-meta,
body.sdd-article .post-navigation,
body.sdd-article .entry-footer,
body.sdd-article .comments-area,
body.sdd-article .kadence-breadcrumbs,
body.sdd-article .site-breadcrumb,
body.sdd-article .entry-hero-section-overlay,
body.sdd-article .entry-categories,
body.sdd-article .entry-author,
body.sdd-article .entry-tags {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Kill blank space above content — Kadence adds padding/margin to wrappers */
body.sdd-article .entry-content-wrap {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.sdd-article .content-wrap {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.sdd-article .site-main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.sdd-article .content-container {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.sdd-article article.entry {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.sdd-article .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
/* The hero-section wrapper Kadence adds above content */
body.sdd-article .entry-hero-section {
  display: none !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Kadence title-above-content area */
body.sdd-article .post-content-style {
  padding-top: 0 !important;
}
body.sdd-article .content-area {
  padding-top: 0 !important;
  margin-top: 0 !important;
}


/* §13 ── NAV RAIL ────────────────────────────────────────────
   Ensure nav rail text is visible.
──────────────────────────────────────────────────────────── */

body.sdd-article .entry-content .sdd-nav-rail a {
  color: rgba(240,240,240,0.28) !important;
}
body.sdd-article .entry-content .sdd-nav-rail a:hover,
body.sdd-article .entry-content .sdd-nav-rail a.active {
  color: #FFCB05 !important;
}


/* §14 ── EDITORIAL PAUSE / CITATIONS ─────────────────────────
   Gold maize citations, editorial pause styling.
──────────────────────────────────────────────────────────── */

body.sdd-article .entry-content .sdd-cite,
body.sdd-article .entry-content [class*="sdd-cite"],
body.sdd-article .entry-content sup a {
  color: #FFCB05 !important;
  text-decoration: none !important;
}

body.sdd-article .entry-content .sdd-pause__label {
  color: rgba(255,203,5,0.58) !important;
}
body.sdd-article .entry-content .sdd-pause__text {
  color: #F0F0F0 !important;
  font-style: italic !important;
}
body.sdd-article .entry-content .sdd-pause__text strong {
  color: #FFCB05 !important;
}


/* §15 ── EVIDENCE HIERARCHY ──────────────────────────────────
   Color overrides for the evidence hierarchy block.
──────────────────────────────────────────────────────────── */

body.sdd-article .entry-content [class*="eh-"] {
  color: #E8E8E8 !important;
}
body.sdd-article .entry-content .eh-study__title {
  color: #F0F0F0 !important;
}
body.sdd-article .entry-content .eh-study__authors,
body.sdd-article .entry-content .eh-study__journal {
  color: #A3B1C4 !important;
}
body.sdd-article .entry-content .eh-study__score {
  color: #8FC7A7 !important;
}
body.sdd-article .entry-content .eh-badge {
  color: #A3B1C4 !important;
  border-color: rgba(240,240,240,0.08) !important;
  background: rgba(240,240,240,0.018) !important;
}
body.sdd-article .entry-content .eh-header__title {
  color: #F0F0F0 !important;
}
body.sdd-article .entry-content .eh-header__eyebrow {
  color: rgba(240,240,240,0.28) !important;
}


/* §16 ── SECTION CHROME ──────────────────────────────────────
   Chapter gates, section labels, folio lines, dividers.
──────────────────────────────────────────────────────────── */

body.sdd-article .entry-content .sdd-sect__eyebrow {
  color: rgba(240,240,240,0.28) !important;
}
body.sdd-article .entry-content .sdd-sect__gate-num {
  color: rgba(240,240,240,0.14) !important;
}
body.sdd-article .entry-content .sdd-sect__gate-label {
  color: rgba(240,240,240,0.28) !important;
}
body.sdd-article .entry-content .sdd-sect__title {
  color: #F0F0F0 !important;
}
body.sdd-article .entry-content .sdd-sect__subtitle {
  color: #A3B1C4 !important;
}
body.sdd-article .entry-content .sdd-folio {
  color: rgba(240,240,240,0.28) !important;
}
body.sdd-article .entry-content .sdd-folio span {
  color: rgba(240,240,240,0.28) !important;
}


/* §17 ── FLAG PILLS ──────────────────────────────────────────
   Method/type pills used across blocks.
──────────────────────────────────────────────────────────── */

body.sdd-article .entry-content .sdd-flag {
  color: #A3B1C4 !important;
  border-color: rgba(240,240,240,0.09) !important;
  background: rgba(240,240,240,0.018) !important;
}


/* §18 ── PROTOCOL / VERDICT / STAKES ─────────────────────────
   Later prose blocks need readable text.
──────────────────────────────────────────────────────────── */

body.sdd-article .entry-content .sdd-proto__step-num {
  color: rgba(255,203,5,0.42) !important;
}
body.sdd-article .entry-content .sdd-proto__step-title {
  color: #F0F0F0 !important;
}
body.sdd-article .entry-content .sdd-verdict__label {
  color: rgba(255,203,5,0.58) !important;
}


/* §19 ── SVG CONTAINMENT ─────────────────────────────────────
   Prevent SVGs from overflowing their containers.
──────────────────────────────────────────────────────────── */

body.sdd-article .entry-content svg {
  max-width: 100% !important;
  height: auto !important;
  overflow: hidden !important;
}


/* §20 ── FONT ANTI-ALIASING ──────────────────────────────────
──────────────────────────────────────────────────────────── */

body.sdd-article .entry-content {
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
}


/* §21 ── MECHANISM BLOCK SVG FIX ─────────────────────────────
   Mechanism diagram may render as solid gold rectangles if
   SVG elements inherit wrong fill. Force SVG text readable
   and contain the diagram.
──────────────────────────────────────────────────────────── */

body.sdd-article .entry-content [class*="sdd-mech"] svg text {
  fill: #E8E8E8 !important;
}
body.sdd-article .entry-content [class*="sdd-mech"] svg rect[fill] {
  /* Don't override explicit fills — they're the diagram design */
}
body.sdd-article .entry-content [class*="sdd-mech"] {
  overflow: hidden !important;
  max-width: 100% !important;
}


/* §22 ── MOBILE OVERRIDES ────────────────────────────────────
──────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
  body.sdd-article .entry-content .sdd-wrap-narrow {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  body.sdd-article .entry-content .sdd-wrap-wide {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  body.sdd-article .entry-content .sdd-pull {
    padding: 0 16px !important;
  }
  body.sdd-article .entry-content .kf__grid {
    grid-template-columns: 1fr !important;
  }
  body.sdd-article .entry-content .kf__findings {
    grid-template-columns: 1fr !important;
  }
  body.sdd-article .entry-content .kf__finding--a,
  body.sdd-article .entry-content .kf__finding--b,
  body.sdd-article .entry-content .kf__finding--c,
  body.sdd-article .entry-content .kf__finding--d {
    grid-column: auto !important;
  }
  body.sdd-article .entry-content .kf__aside {
    position: static !important;
  }
}


/* §23 ── INPUT RESET (KADENCE SEARCH BAR) ────────────────────
   Kadence's global input styles are white bg + dark text.
──────────────────────────────────────────────────────────── */

body.sdd-article .entry-content input[type="text"],
body.sdd-article .entry-content input[type="search"],
body.sdd-article .entry-content textarea {
  background: rgba(240,240,240,0.04) !important;
  color: #E8E8E8 !important;
  border: 1px solid rgba(240,240,240,0.10) !important;
}
body.sdd-article .entry-content input[type="text"]:focus,
body.sdd-article .entry-content input[type="search"]:focus {
  border-color: rgba(255,203,5,0.32) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(255,203,5,0.08) !important;
}


/* §24 ── FONT SIZE FLOOR ─────────────────────────────────────
   Minimum 12px on ALL text. Mono labels/eyebrows that use
   0.50rem (8px) or 0.52rem get bumped to 0.75rem (12px).
──────────────────────────────────────────────────────────── */

/* Global floor — use targeted rules below */

/* Target the tiny mono labels (eyebrows, folio, pills, meta) */
body.sdd-article .entry-content [class*="eyebrow"],
body.sdd-article .entry-content [class*="folio"],
body.sdd-article .entry-content [class*="__label"],
body.sdd-article .entry-content [class*="__note"],
body.sdd-article .entry-content [class*="__time"],
body.sdd-article .entry-content [class*="gate-label"],
body.sdd-article .entry-content [class*="gate-time"],
body.sdd-article .entry-content [class*="meta-pill"],
body.sdd-article .entry-content [class*="signal-chip"],
body.sdd-article .entry-content [class*="meter-name"],
body.sdd-article .entry-content [class*="meter-count"],
body.sdd-article .entry-content [class*="finding-index"],
body.sdd-article .entry-content [class*="finding-type"],
body.sdd-article .entry-content [class*="finding-note"],
body.sdd-article .entry-content [class*="count-label"],
body.sdd-article .entry-content [class*="aside-folio"],
body.sdd-article .entry-content [class*="aside-label"],
body.sdd-article .entry-content [class*="foot-note"],
body.sdd-article .entry-content [class*="__kicker"],
body.sdd-article .entry-content [class*="flag"],
body.sdd-article .entry-content [class*="pause__label"],
body.sdd-article .entry-content [class*="sect__eyebrow"],
body.sdd-article .entry-content [class*="rail__text"] {
  font-size: max(0.75rem, 12px) !important;
}

/* Slightly larger floor for body-adjacent text */
body.sdd-article .entry-content [class*="finding-topic"],
body.sdd-article .entry-content [class*="finding-desc"],
body.sdd-article .entry-content [class*="aside-text"],
body.sdd-article .entry-content [class*="subtitle"],
body.sdd-article .entry-content [class*="__deck"] {
  font-size: max(0.875rem, 14px) !important;
}

/* Pull quote attribution */
body.sdd-article .entry-content .sdd-pull__attr,
body.sdd-article .entry-content [class*="pull__attr"] {
  font-size: max(0.75rem, 12px) !important;
}

/* Bibliography text — floor handled by global rules */
