/* =========================================================
   ROASTER BARBELL — READABILITY NORMALIZATION
   Scope: Home, Programs, Membership, Drop-In, Coaches only
========================================================= */

body.rbrf-readable {
  --rbrf-ink: #17233a;
  --rbrf-body: #474943;
  --rbrf-body-dark: #f1eee8;
  --rbrf-muted-dark: #d7d2ca;
  --rbrf-accent-light: #b73b20;
  --rbrf-accent-dark: #ff6a3d;
}

/* ---------- LIGHT BACKGROUNDS ---------- */
body.rbrf-readable .rb-page,
body.rbrf-readable .rb-light,
body.rbrf-readable .rb-section:not(.rb-black):not(.rb-strength-block):not(.rb-contact-map-section),
body.rbrf-readable .rb-program-detail:not(.rb-black):not(.rb-strength-block),
body.rbrf-readable .rb-membership-card,
body.rbrf-readable .rb-coach-card,
body.rbrf-readable .rb-panel:not(.rb-panel-dark),
body.rbrf-readable .rb-link-card,
body.rbrf-readable .rb-values-grid > div,
body.rbrf-readable .rb-step-grid > div {
  color: var(--rbrf-ink);
}

body.rbrf-readable .rb-light h1,
body.rbrf-readable .rb-light h2,
body.rbrf-readable .rb-light h3,
body.rbrf-readable .rb-light h4,
body.rbrf-readable .rb-section:not(.rb-black):not(.rb-strength-block):not(.rb-contact-map-section) h1,
body.rbrf-readable .rb-section:not(.rb-black):not(.rb-strength-block):not(.rb-contact-map-section) h2,
body.rbrf-readable .rb-section:not(.rb-black):not(.rb-strength-block):not(.rb-contact-map-section) h3,
body.rbrf-readable .rb-program-detail:not(.rb-black):not(.rb-strength-block) h1,
body.rbrf-readable .rb-program-detail:not(.rb-black):not(.rb-strength-block) h2,
body.rbrf-readable .rb-program-detail:not(.rb-black):not(.rb-strength-block) h3,
body.rbrf-readable .rb-membership-card h1,
body.rbrf-readable .rb-membership-card h2,
body.rbrf-readable .rb-membership-card h3,
body.rbrf-readable .rb-coach-card h1,
body.rbrf-readable .rb-coach-card h2,
body.rbrf-readable .rb-coach-card h3,
body.rbrf-readable .rb-link-card h1,
body.rbrf-readable .rb-link-card h2,
body.rbrf-readable .rb-link-card h3 {
  color: var(--rbrf-ink) !important;
  opacity: 1 !important;
}

body.rbrf-readable .rb-light p,
body.rbrf-readable .rb-section:not(.rb-black):not(.rb-strength-block):not(.rb-contact-map-section) p,
body.rbrf-readable .rb-program-detail:not(.rb-black):not(.rb-strength-block) p,
body.rbrf-readable .rb-membership-card p,
body.rbrf-readable .rb-coach-card p,
body.rbrf-readable .rb-link-card p,
body.rbrf-readable .rb-values-grid p,
body.rbrf-readable .rb-step-grid p {
  color: var(--rbrf-body) !important;
  opacity: 1 !important;
}

/* Small orange text needs darker orange on white/cream for contrast. */
body.rbrf-readable .rb-light .rb-hot,
body.rbrf-readable .rb-section:not(.rb-black):not(.rb-strength-block):not(.rb-contact-map-section) .rb-hot,
body.rbrf-readable .rb-program-detail:not(.rb-black):not(.rb-strength-block) .rb-hot,
body.rbrf-readable .rb-membership-card > span,
body.rbrf-readable .rb-membership-card a,
body.rbrf-readable .rb-coach-card-copy > span,
body.rbrf-readable .rb-coach-source a,
body.rbrf-readable .rb-text-link,
body.rbrf-readable .rb-program-num,
body.rbrf-readable .rb-program-cta {
  color: var(--rbrf-accent-light) !important;
  opacity: 1 !important;
}

/* ---------- DARK BACKGROUNDS ---------- */
body.rbrf-readable .rb-black,
body.rbrf-readable .rb-hero,
body.rbrf-readable .rb-page-hero,
body.rbrf-readable .rb-strength-block,
body.rbrf-readable .rb-panel-dark,
body.rbrf-readable .rb-contact-map-section,
body.rbrf-readable [style*="background:#111"],
body.rbrf-readable [style*="background: #111"],
body.rbrf-readable [style*="background:#0e0e0e"],
body.rbrf-readable [style*="background: #0e0e0e"],
body.rbrf-readable [style*="background:#101010"],
body.rbrf-readable [style*="background: #101010"] {
  color: #fff !important;
}

body.rbrf-readable .rb-black h1,
body.rbrf-readable .rb-black h2,
body.rbrf-readable .rb-black h3,
body.rbrf-readable .rb-black h4,
body.rbrf-readable .rb-hero h1,
body.rbrf-readable .rb-hero h2,
body.rbrf-readable .rb-hero h3,
body.rbrf-readable .rb-page-hero h1,
body.rbrf-readable .rb-page-hero h2,
body.rbrf-readable .rb-page-hero h3,
body.rbrf-readable .rb-strength-block h1,
body.rbrf-readable .rb-strength-block h2,
body.rbrf-readable .rb-strength-block h3,
body.rbrf-readable .rb-panel-dark h1,
body.rbrf-readable .rb-panel-dark h2,
body.rbrf-readable .rb-panel-dark h3,
body.rbrf-readable .rb-contact-map-section h1,
body.rbrf-readable .rb-contact-map-section h2,
body.rbrf-readable .rb-contact-map-section h3,
body.rbrf-readable [style*="background:#111"] h1,
body.rbrf-readable [style*="background:#111"] h2,
body.rbrf-readable [style*="background:#111"] h3,
body.rbrf-readable [style*="background: #111"] h1,
body.rbrf-readable [style*="background: #111"] h2,
body.rbrf-readable [style*="background: #111"] h3 {
  color: #fff !important;
  opacity: 1 !important;
}

body.rbrf-readable .rb-black p,
body.rbrf-readable .rb-hero p,
body.rbrf-readable .rb-page-hero p,
body.rbrf-readable .rb-strength-block p,
body.rbrf-readable .rb-panel-dark p,
body.rbrf-readable .rb-contact-map-section p,
body.rbrf-readable [style*="background:#111"] p,
body.rbrf-readable [style*="background: #111"] p,
body.rbrf-readable [style*="background:#0e0e0e"] p,
body.rbrf-readable [style*="background: #0e0e0e"] p,
body.rbrf-readable [style*="background:#101010"] p,
body.rbrf-readable [style*="background: #101010"] p {
  color: var(--rbrf-muted-dark) !important;
  opacity: 1 !important;
}

body.rbrf-readable .rb-black strong,
body.rbrf-readable .rb-strength-block strong,
body.rbrf-readable .rb-panel-dark strong,
body.rbrf-readable .rb-contact-map-section strong,
body.rbrf-readable [style*="background:#111"] strong,
body.rbrf-readable [style*="background: #111"] strong {
  color: #fff !important;
  opacity: 1 !important;
}

body.rbrf-readable .rb-black .rb-hot,
body.rbrf-readable .rb-hero .rb-hot,
body.rbrf-readable .rb-page-hero .rb-hot,
body.rbrf-readable .rb-strength-block .rb-hot,
body.rbrf-readable .rb-panel-dark .rb-hot,
body.rbrf-readable .rb-contact-map-section .rb-hot,
body.rbrf-readable .rb-black .rb-eyebrow,
body.rbrf-readable .rb-strength-block .rb-eyebrow,
body.rbrf-readable .rb-panel-dark .rb-eyebrow,
body.rbrf-readable .rb-contact-map-section .rb-eyebrow,
body.rbrf-readable [style*="background:#111"] .rb-eyebrow,
body.rbrf-readable [style*="background: #111"] .rb-eyebrow {
  color: var(--rbrf-accent-dark) !important;
  opacity: 1 !important;
}

/* ---------- BUTTONS / LINKS ---------- */
body.rbrf-readable .rb-btn-hot,
body.rbrf-readable .rb-contact-directions,
body.rbrf-readable .rb-contact-btn-hot {
  color: #fff !important;
}

body.rbrf-readable .rb-btn-dark,
body.rbrf-readable .rb-btn-black {
  color: #fff !important;
}

body.rbrf-readable .rb-btn-outline {
  color: #fff !important;
  border-color: rgba(255,255,255,.62) !important;
}

body.rbrf-readable a:not(.rb-btn):not(.rb-card-overlay) {
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
}

/* ---------- HOME ---------- */
body.rbrf-home .rb-proof-strip,
body.rbrf-home .rb-proof-strip strong,
body.rbrf-home .rb-proof-strip span {
  color: #111 !important;
}

body.rbrf-home .rb-testimonial-grid p {
  color: #fff !important;
}

body.rbrf-home .rb-testimonial-grid footer {
  color: var(--rbrf-accent-dark) !important;
}

/* ---------- PROGRAMS ---------- */
body.rbrf-programs .rb-strength-block,
body.rbrf-programs .rb-strength-card {
  background: #101010 !important;
}

body.rbrf-programs .rb-strength-list li,
body.rbrf-programs .rb-strength-rule span {
  color: #e9e5de !important;
}

body.rbrf-programs .rb-strength-card-kicker,
body.rbrf-programs .rb-strength-block .rb-program-number {
  color: var(--rbrf-accent-dark) !important;
}

/* ---------- MEMBERSHIP ---------- */
body.rbrf-membership .rb-membership-price,
body.rbrf-membership .rb-membership-price strong,
body.rbrf-membership .rb-price-row strong {
  color: var(--rbrf-ink) !important;
}

body.rbrf-membership .rb-membership-list li {
  color: var(--rbrf-body) !important;
}

/* ---------- DROP-IN ---------- */
body.rbrf-drop-in .rb-black li,
body.rbrf-drop-in .rb-panel-dark li {
  color: var(--rbrf-body-dark) !important;
}

/* ---------- COACHES ---------- */
body.rbrf-coaches .rb-coach-card-copy h3 {
  color: var(--rbrf-ink) !important;
}

body.rbrf-coaches .rb-coach-card-copy p {
  color: var(--rbrf-body) !important;
}

body.rbrf-coaches .rb-team-intro p {
  color: var(--rbrf-body) !important;
}

/* ---------- GENERAL TYPE READABILITY ---------- */
body.rbrf-readable .rb-page p,
body.rbrf-readable .rb-page li {
  font-size: max(16px, 1rem);
}

body.rbrf-readable .rb-eyebrow,
body.rbrf-readable .rb-program-cta,
body.rbrf-readable .rb-blog-meta,
body.rbrf-readable .rb-membership-card > span,
body.rbrf-readable .rb-coach-card-copy > span {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

@media (max-width: 640px) {
  body.rbrf-readable .rb-page p,
  body.rbrf-readable .rb-page li {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }
}
