/* ==========================================================================
   BUILTREADY · OVERRIDES.CSS
   Site-wide brand foundation. Loaded on every Kajabi-rendered page.

   What this file controls:
     - Brand palette (Iron Black, Charcoal, Stone, Crimson)
     - Typography (Oswald display, Inter body)
     - Buttons, links, forms, cards, tables
     - Member-area pages (library, course player, dashboard)
     - Modals, dropdowns, alerts
     - Utility classes

   What this file does NOT control:
     - Page-specific designs (Home, About, 404 — those have their own CSS)
     - Header (handled in Sections/header.liquid)
     - Footer (handled in Sections/footer.liquid)
     - Sales page bodies (Landing Pages — separate templates)
     - Checkout/payment flow (do not touch — Kajabi-managed)

   Palette reference:
     #0A0A0A Iron Black     primary background, heavy text
     #1A1A1A Charcoal       secondary dark, cards on dark
     #2C2C2C Dark Gray      borders on dark, body text on light
     #6B6B6B Medium Gray    captions, muted labels
     #E8E8E8 Light Gray     borders on light, dividers
     #F5F5F3 Stone          primary light background
     #FFFFFF White          pure white when needed
     #C41E24 Crimson        accents, CTAs, READY, hover states
     #9A1519 Crimson Dark   hover states for crimson elements
     #E8353C Crimson Light  rare brighter lift

   Typography:
     Oswald (400, 500, 600, 700) — display, headings, nav, buttons, labels
     Inter (300, 400, 500, 600, 700) — body, paragraphs, descriptions
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. FONT FALLBACK LOAD
   The fonts are also loaded via global_head.liquid, but include here as a
   defensive fallback in case that include is ever removed.
   -------------------------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap');


/* --------------------------------------------------------------------------
   2. BODY + TYPOGRAPHY BASELINE
   The Stone-on-Iron-Black hierarchy. Member-area pages get a light, readable
   default. Marketing pages with custom CSS (Home, About, etc.) override locally.
   -------------------------------------------------------------------------- */

body,
.page,
.site,
.kjb-page,
.kjb-site {
  font-family: 'Inter', sans-serif !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  /* Background and color removed — Kajabi panel sets these now (Iron Black bg / Stone text).
     Light-bg containers (Section 15) override locally where needed. */
}

p,
li,
td,
.body-text {
  font-family: 'Inter', sans-serif !important;
  color: #0A0A0A;
  line-height: 1.6;
}

/* Headings — Oswald, uppercase, letter-spaced. The brand voice as type. */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.heading,
.section-title,
.card__title,
.product__title,
.lesson__title {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #0A0A0A;
  line-height: 1.1;
  margin-top: 0;
}

h1, .h1 { font-size: 48px; letter-spacing: -1px; }
h2, .h2 { font-size: 36px; }
h3, .h3 { font-size: 24px; letter-spacing: 2px; }
h4, .h4 { font-size: 18px; letter-spacing: 2px; }
h5, .h5 { font-size: 14px; letter-spacing: 3px; }
h6, .h6 { font-size: 12px; letter-spacing: 4px; color: #6B6B6B; }

/* Crimson accent helpers */
.accent,
.crimson,
.text-crimson { color: #C41E24 !important; }

.text-stone { color: #F5F5F3 !important; }
.text-iron { color: #0A0A0A !important; }
.text-muted,
.text-gray { color: #6B6B6B !important; }


/* --------------------------------------------------------------------------
   3. LINKS
   Iron Black with crimson hover. No underline by default.
   -------------------------------------------------------------------------- */

a,
a:link,
a:visited {
  color: #0A0A0A;
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover,
a:focus {
  color: #C41E24;
  text-decoration: none;
}

/* Inline content links (in body copy, blog posts, etc.) get an underline */
.body-text a,
.content a,
article a,
.blog-post a,
p a {
  text-decoration: underline;
  text-decoration-color: #C41E24;
  text-underline-offset: 3px;
}


/* --------------------------------------------------------------------------
   4. BUTTONS
   Crimson primary. Stone outline secondary. Oswald uppercase letter-spaced.
   Targets Kajabi's .btn classes plus general button elements.
   -------------------------------------------------------------------------- */

.btn,
button.btn,
a.btn,
input[type="submit"],
input[type="button"],
button[type="submit"],
.kjb-btn,
.kjb-button {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  font-size: 14px !important;
  padding: 16px 32px !important;
  border-radius: 0 !important;
  border: 2px solid transparent !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
  text-decoration: none !important;
  display: inline-block !important;
  line-height: 1.2 !important;
}

/* Primary button — Crimson */
.btn-primary,
.btn--primary,
.btn.btn-primary,
button.btn-primary,
a.btn-primary,
input[type="submit"],
button[type="submit"] {
  background-color: #C41E24 !important;
  color: #FFFFFF !important;
  border-color: #C41E24 !important;
}

.btn-primary:hover,
.btn--primary:hover,
.btn.btn-primary:hover,
button.btn-primary:hover,
a.btn-primary:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
  background-color: #9A1519 !important;
  border-color: #9A1519 !important;
  color: #FFFFFF !important;
}

/* Secondary button — Outline */
.btn-secondary,
.btn--secondary,
.btn.btn-secondary,
button.btn-secondary,
a.btn-secondary,
.btn-outline,
.btn--outline {
  background-color: transparent !important;
  color: #0A0A0A !important;
  border-color: #0A0A0A !important;
}

.btn-secondary:hover,
.btn--secondary:hover,
.btn.btn-secondary:hover,
button.btn-secondary:hover,
a.btn-secondary:hover,
.btn-outline:hover,
.btn--outline:hover {
  background-color: #C41E24 !important;
  color: #FFFFFF !important;
  border-color: #C41E24 !important;
}

/* On dark backgrounds, secondary outline switches to Stone */
.bg-iron .btn-secondary,
.bg-dark .btn-secondary,
[class*="background-iron"] .btn-secondary,
.dark .btn-secondary {
  color: #F5F5F3 !important;
  border-color: #F5F5F3 !important;
}


/* --------------------------------------------------------------------------
   5. FORMS
   Inputs, textareas, selects. Inter font, sharp corners, focused borders
   in crimson.
   -------------------------------------------------------------------------- */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="url"],
textarea,
select,
.form-control,
.kjb-input,
.kjb-textarea,
.kjb-select {
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  padding: 14px 16px !important;
  border: 1px solid #2C2C2C !important;
  border-radius: 0 !important;
  background-color: #FFFFFF !important;
  color: #0A0A0A !important;
  transition: border-color 0.2s ease !important;
  box-shadow: none !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
textarea:focus,
select:focus,
.form-control:focus {
  border-color: #C41E24 !important;
  outline: none !important;
  box-shadow: 0 0 0 1px #C41E24 !important;
}

input::placeholder,
textarea::placeholder {
  color: #6B6B6B !important;
  font-family: 'Inter', sans-serif !important;
}

label,
.form-label,
.kjb-label {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #0A0A0A !important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* Form errors */
.form-error,
.field-error,
.error-message,
.alert-error,
.alert-danger {
  color: #C41E24 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
}


/* --------------------------------------------------------------------------
   6. CARDS
   Member library cards, product cards, lesson cards, etc.
   White card on Stone background, with sharp corners.
   -------------------------------------------------------------------------- */

.card,
.kjb-card,
.product-card,
.product__card,
.library__product,
.lesson-card,
.module-card,
.post-card {
  background-color: #FFFFFF !important;
  border: 1px solid #E8E8E8 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, transform 0.2s ease !important;
}

.card:hover,
.kjb-card:hover,
.product-card:hover,
.product__card:hover,
.library__product:hover,
.lesson-card:hover {
  border-color: #C41E24 !important;
  transform: translateY(-2px) !important;
}

/* Card titles default to brand heading treatment (covered by h1-h6 above) */


/* --------------------------------------------------------------------------
   7. MEMBER LIBRARY + COURSE PLAYER
   Where logged-in members spend their time. Readable, clean, on-brand.
   -------------------------------------------------------------------------- */

.library,
.library__container,
.dashboard,
.dashboard__container,
.course-player,
.course-player__container {
  background-color: #F5F5F3 !important;
}

/* Course progress bars */
.progress,
.progress-bar__background,
.kjb-progress {
  background-color: #E8E8E8 !important;
  border-radius: 0 !important;
  height: 4px !important;
}

.progress-bar,
.progress__bar,
.kjb-progress__bar {
  background-color: #C41E24 !important;
  border-radius: 0 !important;
}

/* Lesson navigation sidebar */
.lesson-nav,
.course-nav,
.module-nav {
  background-color: #1A1A1A !important;
  color: #F5F5F3 !important;
}

.lesson-nav a,
.course-nav a,
.module-nav a {
  color: #F5F5F3 !important;
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}

.lesson-nav a:hover,
.course-nav a:hover,
.module-nav a:hover,
.lesson-nav .active,
.course-nav .active {
  color: #C41E24 !important;
}


/* --------------------------------------------------------------------------
   8. MODALS + DROPDOWNS
   Light modals on Stone overlay. Dropdowns get the Charcoal treatment.
   -------------------------------------------------------------------------- */

.modal,
.modal__content,
.kjb-modal,
.kjb-modal__content {
  background-color: #FFFFFF !important;
  border: 1px solid #E8E8E8 !important;
  border-radius: 0 !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15) !important;
  font-family: 'Inter', sans-serif !important;
}

.modal__overlay,
.kjb-modal__overlay {
  background-color: rgba(10, 10, 10, 0.85) !important;
}

.modal__header,
.kjb-modal__header {
  border-bottom: 1px solid #E8E8E8 !important;
}

.modal__title,
.kjb-modal__title {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
}

.dropdown,
.dropdown__menu,
.kjb-dropdown {
  background-color: #1A1A1A !important;
  border: 1px solid #2C2C2C !important;
  border-radius: 0 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}

.dropdown__item,
.dropdown__menu-item,
.kjb-dropdown__item {
  color: #F5F5F3 !important;
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  font-size: 13px !important;
}

.dropdown__item:hover,
.dropdown__menu-item:hover,
.kjb-dropdown__item:hover {
  background-color: #0A0A0A !important;
  color: #C41E24 !important;
}


/* --------------------------------------------------------------------------
   9. ALERTS + NOTIFICATIONS
   -------------------------------------------------------------------------- */

.alert,
.kjb-alert,
.notification {
  border-radius: 0 !important;
  border: 1px solid !important;
  padding: 14px 18px !important;
  font-family: 'Inter', sans-serif !important;
}

.alert-success,
.alert--success {
  background-color: #FFFFFF !important;
  border-color: #0A0A0A !important;
  color: #0A0A0A !important;
}

.alert-error,
.alert-danger,
.alert--error {
  background-color: #FFFFFF !important;
  border-color: #C41E24 !important;
  color: #C41E24 !important;
}

.alert-info,
.alert--info {
  background-color: #F5F5F3 !important;
  border-color: #6B6B6B !important;
  color: #0A0A0A !important;
}


/* --------------------------------------------------------------------------
   10. TABLES
   -------------------------------------------------------------------------- */

table,
.table,
.kjb-table {
  border-collapse: collapse !important;
  width: 100% !important;
  font-family: 'Inter', sans-serif !important;
}

th,
.table th {
  background-color: #0A0A0A !important;
  color: #F5F5F3 !important;
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  font-size: 12px !important;
  padding: 12px 16px !important;
  text-align: left !important;
  border: none !important;
}

td,
.table td {
  background-color: #FFFFFF !important;
  color: #0A0A0A !important;
  padding: 14px 16px !important;
  border-bottom: 1px solid #E8E8E8 !important;
}

tr:hover td {
  background-color: #F5F5F3 !important;
}


/* --------------------------------------------------------------------------
   11. PAGINATION + TABS
   -------------------------------------------------------------------------- */

.pagination,
.kjb-pagination {
  font-family: 'Oswald', sans-serif !important;
}

.pagination a,
.pagination__page,
.kjb-pagination a {
  color: #0A0A0A !important;
  background-color: #FFFFFF !important;
  border: 1px solid #2C2C2C !important;
  padding: 10px 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  font-size: 13px !important;
}

.pagination a:hover,
.pagination__page:hover,
.pagination__page--active,
.kjb-pagination a:hover {
  background-color: #C41E24 !important;
  color: #FFFFFF !important;
  border-color: #C41E24 !important;
}

.tabs__tab,
.kjb-tabs__tab {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  color: #6B6B6B !important;
  border-bottom: 2px solid transparent !important;
}

.tabs__tab--active,
.tabs__tab.active,
.kjb-tabs__tab--active {
  color: #0A0A0A !important;
  border-bottom-color: #C41E24 !important;
}


/* --------------------------------------------------------------------------
   12. UTILITY BRAND CLASSES
   For use anywhere via class names. Quick brand-flavored helpers.
   -------------------------------------------------------------------------- */

.bg-iron-black { background-color: #0A0A0A !important; color: #F5F5F3 !important; }
.bg-charcoal { background-color: #1A1A1A !important; color: #F5F5F3 !important; }
.bg-stone { background-color: #F5F5F3 !important; color: #0A0A0A !important; }
.bg-crimson { background-color: #C41E24 !important; color: #FFFFFF !important; }

.crimson-bar {
  width: 80px;
  height: 4px;
  background-color: #C41E24;
  display: block;
  margin: 24px auto;
}

.crimson-divider {
  width: 100%;
  height: 1px;
  background-color: #C41E24;
  display: block;
  margin: 32px 0;
}

.section-label {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 6px !important;
  font-size: 11px !important;
  color: #C41E24 !important;
  font-weight: 600 !important;
  margin-bottom: 16px !important;
  display: block !important;
}

.eyebrow {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 4px !important;
  font-size: 12px !important;
  color: #6B6B6B !important;
  margin-bottom: 12px !important;
}

/* Scripture / verse blocks */
.verse,
.scripture {
  font-family: 'Inter', sans-serif !important;
  font-style: italic !important;
  font-size: 16px !important;
  color: #2C2C2C !important;
  border-left: 3px solid #C41E24 !important;
  padding-left: 18px !important;
  margin: 24px 0 !important;
}

.verse-ref,
.scripture-ref {
  font-family: 'Oswald', sans-serif !important;
  font-style: normal !important;
  text-transform: uppercase !important;
  letter-spacing: 4px !important;
  font-size: 12px !important;
  color: #C41E24 !important;
  display: block !important;
  margin-top: 8px !important;
}


/* --------------------------------------------------------------------------
   13. KAJABI-SPECIFIC FIXES
   Patterns I know about from Kajabi's Rise theme that benefit from explicit
   targeting.
   -------------------------------------------------------------------------- */

/* Login / signup forms */
.kjb-login,
.login__container,
.signup__container {
  background-color: #F5F5F3 !important;
}

.kjb-login__card,
.login__card,
.signup__card {
  background-color: #FFFFFF !important;
  border: 1px solid #E8E8E8 !important;
  border-radius: 0 !important;
  padding: 40px !important;
}

/* Member account / settings panels */
.account__nav,
.settings__nav {
  background-color: #1A1A1A !important;
}

.account__nav a,
.settings__nav a {
  color: #F5F5F3 !important;
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
}

.account__nav a:hover,
.account__nav .active,
.settings__nav a:hover,
.settings__nav .active {
  color: #C41E24 !important;
  background-color: #0A0A0A !important;
}

/* Selected state for radio / checkbox */
input[type="checkbox"]:checked,
input[type="radio"]:checked {
  accent-color: #C41E24 !important;
}


/* --------------------------------------------------------------------------
   14. v2 FIXES — POST-DEPLOY ADJUSTMENTS
   Specific issues found after first-pass deploy on real Kajabi pages.
   -------------------------------------------------------------------------- */

/* (Heading color rule moved to Section 15 — context-aware in v3) */

/* --- KAJABI BRAND-COLOR LEAK ---------------------------------------------- */
/* Kajabi's theme "Primary brand color" setting is currently set to teal/mint
   and is leaking through on dashboard tabs, course nav, accent labels, alert
   states, and the Thank You button. Override every common variable + class. */

:root {
  --brand-color: #C41E24 !important;
  --brand-primary: #C41E24 !important;
  --brand-accent: #C41E24 !important;
  --primary-color: #C41E24 !important;
  --color-primary: #C41E24 !important;
  --color-accent: #C41E24 !important;
  --kjb-brand-color: #C41E24 !important;
  --kjb-brand-primary: #C41E24 !important;
  --kjb-primary: #C41E24 !important;
  --kjb-accent: #C41E24 !important;
  --theme-primary: #C41E24 !important;
  --accent-color: #C41E24 !important;
  --kjb-color-primary: #C41E24 !important;
  --kjb-color-accent: #C41E24 !important;
}

/* --- DASHBOARD + LIBRARY TABS --------------------------------------------- */
/* The "Dashboard | Announcements" nav, "Browse Classes" hero label,
   "Resume Course" label — all using Kajabi's brand color. Force crimson. */
.dashboard__nav a,
.dashboard__tabs a,
.dashboard__menu a,
.kjb-nav__tab,
.kjb-nav__link,
.kjb-tab,
.member-nav a,
.member-tabs a,
.tab-link,
.tabs__link {
  color: #F5F5F3 !important;
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
}

.dashboard__nav a:hover,
.dashboard__nav a.active,
.dashboard__nav a.is-active,
.dashboard__tabs a:hover,
.dashboard__tabs a.active,
.kjb-nav__tab:hover,
.kjb-nav__tab.active,
.kjb-nav__tab--active,
.kjb-tab:hover,
.kjb-tab.active,
.tab-link:hover,
.tab-link.active,
.tabs__link:hover,
.tabs__link.active {
  color: #C41E24 !important;
  border-bottom-color: #C41E24 !important;
}

/* "BROWSE CLASSES", "RESUME COURSE", and other accent labels in dashboard */
.dashboard__hero-title,
.dashboard__hero-subtitle,
.dashboard__action-label,
.kjb-resume-label,
.kjb-action-label,
.kjb-browse-label,
.product-action__label,
.product-action__title,
.section__title--accent,
.text-primary,
.text-accent,
.text-brand {
  color: #F5F5F3 !important;
}

/* The little crimson dash above section labels (was teal) */
.dashboard__hero-divider,
.section-divider,
.kjb-divider,
.divider--brand {
  background-color: #C41E24 !important;
  border-color: #C41E24 !important;
}

/* --- THANK YOU PAGE BUTTON ------------------------------------------------ */
/* The "BACK TO HOME" button on the default thank_you template is teal.
   Force crimson. Until we build a custom thank_you.liquid this catches it. */
.thank-you__cta,
.thank-you__btn,
.thank-you__button,
.thank-you a.btn,
.thank-you__hero a,
.kjb-thank-you__cta,
.thank_you__cta,
.thank_you a.btn {
  background-color: #C41E24 !important;
  color: #FFFFFF !important;
  border-color: #C41E24 !important;
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
}
.thank-you__cta:hover,
.thank-you__btn:hover,
.thank_you__cta:hover {
  background-color: #9A1519 !important;
  border-color: #9A1519 !important;
}

/* --- SUCCESS ALERTS / FLASH MESSAGES ------------------------------------- */
/* "Your password has been changed successfully" was rendering teal-on-mint.
   Kajabi uses a few class patterns for these — override all the common ones. */
.flash,
.flash-message,
.flash-success,
.flash--success,
.notice,
.notice-success,
.notification,
.notification-success,
.notification--success,
.success-banner,
.alert.success,
.alert-success,
.alert--success,
[class*="flash"][class*="success"],
[class*="notification"][class*="success"] {
  background-color: #FFFFFF !important;
  border: 1px solid #0A0A0A !important;
  color: #0A0A0A !important;
  border-radius: 0 !important;
  font-family: 'Inter', sans-serif !important;
}

.flash-success::before,
.notification-success::before,
.alert-success::before,
.flash-success svg,
.notification-success svg,
.alert-success svg {
  color: #C41E24 !important;
  fill: #C41E24 !important;
}

/* --- COURSE PROGRESS / RESUME UI ------------------------------------------ */
/* Anything that was teal in the course resume / library cards. */
.kjb-resume-progress,
.progress__fill,
.progress-bar__fill {
  background-color: #C41E24 !important;
}

/* Course thumbnail "play" overlay if it had a teal accent */
.course-thumbnail__overlay,
.video-thumbnail__overlay,
.play-icon {
  color: #C41E24 !important;
  fill: #C41E24 !important;
}

/* --- LINKS THAT WERE TEAL ------------------------------------------------- */
/* General-purpose "any link Kajabi was painting in brand color" override. */
.kjb-link,
.kjb-link--primary,
a.kjb-link,
a.text-primary,
a.text-brand,
a.text-accent,
.brand-color,
a.brand-color {
  color: #C41E24 !important;
}

.kjb-link:hover,
a.kjb-link:hover,
a.text-primary:hover,
a.text-brand:hover {
  color: #9A1519 !important;
}



/* --------------------------------------------------------------------------
   15. v3 — CONTEXT-AWARE COLOR TARGETING
   With the Kajabi brand panel now set to Iron Black bg + Stone text, the
   panel handles dark Kajabi-rendered pages correctly by default. This section
   explicitly forces Iron Black inside known light-background containers
   (auth cards, modals, light cards) so headings and body text remain readable.
   -------------------------------------------------------------------------- */

/* --- AUTH PAGES (login, signup, recover, new password) ------------------- */
/* These pages render on Stone bg with white card content. Force Iron Black
   so headings, labels, and body text are readable. */
.kjb-login,
.kjb-signup,
.login__container,
.signup__container,
.password__container,
.recover__container,
.forgot_password__container,
.kjb-login *,
.kjb-signup *,
.login__container *,
.signup__container *,
.password__container *,
.recover__container *,
.forgot_password__container * {
  color: #0A0A0A;
}

/* Auth page titles specifically — Iron Black, no exceptions */
.login__title,
.login__heading,
.signup__title,
.signup__heading,
.password__title,
.password__heading,
.recover__title,
.recover__heading,
.forgot_password__title,
.forgot_password__heading,
.kjb-login h1,
.kjb-login h2,
.kjb-login h3,
.kjb-signup h1,
.kjb-signup h2,
.kjb-signup h3,
.login__container h1,
.login__container h2,
.login__container h3,
.password__container h1,
.password__container h2,
.password__container h3,
.recover__container h1,
.recover__container h2,
.recover__container h3 {
  color: #0A0A0A !important;
}

/* Auth page form field labels and helper text */
.kjb-login label,
.kjb-signup label,
.login__container label,
.signup__container label,
.password__container label,
.recover__container label,
.kjb-login .form-label,
.kjb-signup .form-label {
  color: #0A0A0A !important;
}

/* Auth page secondary links (Forgot Password, Log In, etc.) */
.kjb-login a,
.kjb-signup a,
.login__container a,
.signup__container a,
.password__container a,
.recover__container a {
  color: #0A0A0A !important;
}
.kjb-login a:hover,
.kjb-signup a:hover,
.login__container a:hover,
.signup__container a:hover,
.password__container a:hover,
.recover__container a:hover {
  color: #C41E24 !important;
}

/* --- CARDS ON LIGHT BACKGROUNDS ------------------------------------------ */
/* Cards have white bg by default (set in Section 6). Headings/body inside
   cards must stay Iron Black regardless of what the page bg is. */
.card,
.kjb-card,
.product-card,
.product__card,
.library__product,
.lesson-card,
.module-card,
.post-card {
  color: #0A0A0A !important;
}

.card h1, .card h2, .card h3, .card h4, .card h5, .card h6,
.card__title,
.kjb-card h1, .kjb-card h2, .kjb-card h3,
.product-card h1, .product-card h2, .product-card h3,
.product-card__title,
.product__title,
.library__product h1, .library__product h2, .library__product h3,
.lesson-card h1, .lesson-card h2, .lesson-card h3,
.lesson__title,
.module-card h1, .module-card h2, .module-card h3,
.post-card h1, .post-card h2, .post-card h3 {
  color: #0A0A0A !important;
}

.card p, .card li, .card td,
.kjb-card p, .kjb-card li,
.product-card p, .product-card li,
.lesson-card p, .lesson-card li {
  color: #0A0A0A !important;
}

/* --- MODALS ON LIGHT BACKGROUNDS ----------------------------------------- */
.modal,
.modal__content,
.kjb-modal,
.kjb-modal__content {
  color: #0A0A0A !important;
}
.modal h1, .modal h2, .modal h3, .modal h4, .modal h5, .modal h6,
.modal__title,
.modal__content h1, .modal__content h2, .modal__content h3,
.kjb-modal h1, .kjb-modal h2, .kjb-modal h3,
.kjb-modal__title {
  color: #0A0A0A !important;
}

/* --- ALERTS ON LIGHT BACKGROUNDS ----------------------------------------- */
.alert,
.alert h1, .alert h2, .alert h3,
.alert p, .alert li,
.alert-success h1, .alert-success h2, .alert-success h3 {
  /* color set in Section 9 already — leaving alone */
}

/* --- EXPLICITLY DARK CONTAINERS (override panel default if needed) ------- */
/* These containers are always dark — force Stone text inside regardless of
   what the panel is set to. */
.bg-iron-black,
.bg-iron-black *,
.bg-charcoal,
.bg-charcoal *,
.lesson-nav,
.lesson-nav *,
.course-nav,
.course-nav *,
.module-nav,
.module-nav *,
.account__nav,
.account__nav *,
.settings__nav,
.settings__nav * {
  color: #F5F5F3;
}

.bg-iron-black h1, .bg-iron-black h2, .bg-iron-black h3,
.bg-iron-black h4, .bg-iron-black h5, .bg-iron-black h6,
.bg-charcoal h1, .bg-charcoal h2, .bg-charcoal h3,
.bg-charcoal h4, .bg-charcoal h5, .bg-charcoal h6,
.lesson-nav h1, .lesson-nav h2, .lesson-nav h3,
.course-nav h1, .course-nav h2, .course-nav h3,
.module-nav h1, .module-nav h2, .module-nav h3,
.account__nav h1, .account__nav h2, .account__nav h3,
.settings__nav h1, .settings__nav h2, .settings__nav h3 {
  color: #F5F5F3 !important;
}

/* --- TABLE CELLS ON LIGHT BG ---------------------------------------------- */
/* Table cells use white bg by default — make sure text reads Iron Black */
table td,
.table td,
.kjb-table td {
  color: #0A0A0A !important;
}

/* --------------------------------------------------------------------------
   END OVERRIDES.CSS
   ========================================================================== */