/* ==========================================================================
   Lonestar Academy — identity reskin
   Surface 1: global chrome (header / nav / footer)

   Tokens lifted from the home page (page 22, blank-slate template):
     navy #002868 · gold #FFB81C · sky #EAF1FB · Poppins

   Loaded at priority 9999 so it lands after the vrschool-deepspace theme.
   Scoped to blog 5 by the loader. The home page uses the blank-slate template
   and renders no block header/footer, so chrome rules below cannot touch it;
   surface-wide rules are additionally guarded with body:not(.home).
   ========================================================================== */

:root{
  --lsa-navy:      #002868;
  --lsa-navy-deep: #001a45;
  --lsa-gold:      #FFB81C;
  --lsa-gold-dark: #E5A413;
  --lsa-sky:       #EAF1FB;
  --lsa-ink:       #111827;
  --lsa-muted:     #4B5563;
  --lsa-line:      rgba(0,40,104,.10);
  --lsa-font:      'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* ==========================================================================
   1. HEADER / NAV  — mirror the home page's white sticky blur bar
   ========================================================================== */

body:not(.home) header.wp-block-template-part{
  position: sticky;
  top: 0;
  z-index: 500;
  background: rgba(255,255,255,.95);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--lsa-line);
  box-shadow: 0 1px 3px rgba(0,40,104,.04);
}

body:not(.home) header.wp-block-template-part > header.wp-block-group{
  background: transparent !important;
  padding-top: .85rem !important;
  padding-bottom: .85rem !important;
}

/* ---- Logo: gold star + navy wordmark ---- */
body:not(.home) .vr-logo{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-family: var(--lsa-font);
  font-weight: 800;
  font-size: 1.05rem;
  letter-spacing: .01em;
  color: var(--lsa-navy) !important;
  text-decoration: none !important;
  text-shadow: none !important;
}
body:not(.home) .vr-logo::before{
  content: "★";
  color: var(--lsa-gold);
  font-size: 1.15em;
  line-height: 1;
}
body:not(.home) .vr-logo .vr-logo-accent{
  color: var(--lsa-navy) !important;
  -webkit-text-fill-color: var(--lsa-navy);
}

/* ---- Nav links ---- */
body:not(.home) header.wp-block-template-part .wp-block-navigation{
  font-family: var(--lsa-font);
  font-weight: 600;
  font-size: .93rem;
  gap: 1.9rem;
}
body:not(.home) header.wp-block-template-part .wp-block-navigation a,
body:not(.home) header.wp-block-template-part .wp-block-navigation .wp-block-navigation-item__content{
  color: var(--lsa-muted) !important;
  text-decoration: none !important;
  text-shadow: none !important;
  transition: color .16s ease;
}
body:not(.home) header.wp-block-template-part .wp-block-navigation a:hover,
body:not(.home) header.wp-block-template-part .wp-block-navigation a:focus-visible{
  color: var(--lsa-navy) !important;
}

/* ---- Log in / out pill (matches .btn-primary on the home page) ---- */
body:not(.home) header.wp-block-template-part .vr-nav-cta a,
body:not(.home) header.wp-block-template-part .wp-block-loginout a{
  background: var(--lsa-gold);
  color: #111 !important;
  font-weight: 700;
  padding: .55rem 1.35rem;
  border-radius: 9999px;
  box-shadow: 0 2px 8px rgba(0,40,104,.12);
  transition: background .16s ease, transform .16s ease, box-shadow .16s ease;
}
body:not(.home) header.wp-block-template-part .vr-nav-cta a:hover,
body:not(.home) header.wp-block-template-part .wp-block-loginout a:hover{
  background: var(--lsa-gold-dark);
  color: #111 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(0,40,104,.18);
}

/* Mobile overlay menu */
body:not(.home) .wp-block-navigation__responsive-container.is-menu-open{
  background: #fff !important;
}
body:not(.home) .wp-block-navigation__responsive-container.is-menu-open a{
  color: var(--lsa-navy) !important;
}

/* ==========================================================================
   2. FOOTER — navy ground, gold rule, replacing the deep-space cyan
   ========================================================================== */

body:not(.home) footer.wp-block-group,
body:not(.home) footer.wp-block-template-part footer.wp-block-group{
  background: var(--lsa-navy) !important;
  border-top: 3px solid var(--lsa-gold) !important;
  font-family: var(--lsa-font);
}
body:not(.home) footer.wp-block-group p,
body:not(.home) footer.wp-block-group li,
body:not(.home) footer.wp-block-group span{
  color: rgba(255,255,255,.82) !important;
}
body:not(.home) footer.wp-block-group a{
  color: var(--lsa-gold) !important;
  text-decoration: none !important;
}
body:not(.home) footer.wp-block-group a:hover{
  text-decoration: underline !important;
}

/* ==========================================================================
   3. BASE TYPOGRAPHY — Poppins across inner surfaces
   ========================================================================== */

body:not(.home),
body:not(.home) .wp-block-navigation,
body:not(.home) h1, body:not(.home) h2, body:not(.home) h3,
body:not(.home) h4, body:not(.home) h5, body:not(.home) h6{
  font-family: var(--lsa-font);
}

/* ==========================================================================
   4. COURSE ARCHIVE  (/courses/, category + tag archives)
   deep-space: body #020617, text #F8FAFC, cyan #00F2FF accents
   target:     sky ground, ink text, navy headings, gold CTAs
   Scoped to the archive body classes so single-course and lesson interiors
   (surfaces 3 and 4) are untouched for now.
   ========================================================================== */

body.post-type-archive-lp_course,
body.tax-course_category,
body.tax-course_tag{
  background: var(--lsa-sky) !important;
  color: var(--lsa-ink) !important;
}
html:has(body.post-type-archive-lp_course),
html:has(body.tax-course_category){
  background: var(--lsa-sky) !important;
}

/* ---- Archive header ---- */
body.post-type-archive-lp_course .wp-block-query-title,
body.tax-course_category .wp-block-query-title{
  color: var(--lsa-navy) !important;
  text-shadow: none !important;
  font-weight: 800;
  letter-spacing: -.02em;
}
body.post-type-archive-lp_course .wp-block-breadcrumbs,
body.post-type-archive-lp_course .wp-block-breadcrumbs a,
body.post-type-archive-lp_course nav[aria-label*="readcrumb"] a{
  color: var(--lsa-muted) !important;
}

/* ---- Search field ---- */
body.post-type-archive-lp_course input[type="text"],
body.post-type-archive-lp_course input[type="search"],
body.tax-course_category input[type="search"]{
  background: #fff !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 9999px !important;
  padding: .8rem 1.25rem !important;
  box-shadow: 0 1px 3px rgba(0,40,104,.06);
}
body.post-type-archive-lp_course input::placeholder{ color:#9AA3B2 !important; }
body.post-type-archive-lp_course input[type="search"]:focus{
  outline: none !important;
  border-color: var(--lsa-navy) !important;
  box-shadow: 0 0 0 3px rgba(0,40,104,.12) !important;
}

/* ---- Course cards ---- */
body.post-type-archive-lp_course .wp-block-learnpress-course-item-template > .wp-block-group,
body.tax-course_category .wp-block-learnpress-course-item-template > .wp-block-group{
  background: #fff !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 16px !important;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,40,104,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
body.post-type-archive-lp_course .wp-block-learnpress-course-item-template > .wp-block-group:hover{
  transform: translateY(-3px);
  border-color: rgba(0,40,104,.22) !important;
  box-shadow: 0 10px 26px rgba(0,40,104,.13);
}

/* ---- Card title ---- */
body.post-type-archive-lp_course .wp-block-learnpress-course-title,
body.post-type-archive-lp_course .course-title,
body.post-type-archive-lp_course a.course-permalink{
  color: var(--lsa-navy) !important;
  text-shadow: none !important;
  font-weight: 700;
  text-decoration: none !important;
}
body.post-type-archive-lp_course a.course-permalink:hover .course-title{
  color: var(--lsa-gold-dark) !important;
}

/* ---- Meta counts (lessons / students) ---- */
body.post-type-archive-lp_course .course-count-item,
body.post-type-archive-lp_course .wp-block-learnpress-course-item-template .course-count-item{
  color: var(--lsa-muted) !important;
  font-size: .84rem;
}

/* ---- Price / Free badge ---- */
body.post-type-archive-lp_course .course-price,
body.post-type-archive-lp_course .course-item-price *{
  color: var(--lsa-navy) !important;
  font-weight: 700 !important;
}
body.post-type-archive-lp_course .course-price:not(:empty){
  display: inline-block;
  background: rgba(0,40,104,.07);
  border-radius: 9999px;
  padding: .18rem .7rem;
  font-size: .82rem;
}

/* ---- Buttons: deep-space cyan -> Lonestar gold pill ---- */
body.post-type-archive-lp_course .wp-element-button,
body.post-type-archive-lp_course .wp-block-button__link,
body.post-type-archive-lp_course button[type="submit"],
body.tax-course_category .wp-element-button{
  background: var(--lsa-gold) !important;
  background-image: none !important;
  color: #111 !important;
  border: none !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 8px rgba(0,40,104,.12);
  transition: background .16s ease, transform .16s ease;
}
body.post-type-archive-lp_course .wp-element-button:hover,
body.post-type-archive-lp_course .wp-block-button__link:hover,
body.post-type-archive-lp_course button[type="submit"]:hover{
  background: var(--lsa-gold-dark) !important;
  color: #111 !important;
  transform: translateY(-1px);
}

/* ---- Course thumbnail ---- */
body.post-type-archive-lp_course .wp-block-learnpress-course-item-template img{
  border-radius: 0 !important;
  display: block;
  width: 100%;
  object-fit: cover;
}

/* ---- Pagination ---- */
body.post-type-archive-lp_course .learnpress-block-pagination,
body.post-type-archive-lp_course .learnpress-block-pagination *{
  color: var(--lsa-navy) !important;
}
body.post-type-archive-lp_course .learnpress-block-pagination a,
body.post-type-archive-lp_course .learnpress-block-pagination .page-numbers{
  border-radius: 9999px !important;
  padding: .35rem .8rem;
  text-decoration: none !important;
}
body.post-type-archive-lp_course .learnpress-block-pagination .current,
body.post-type-archive-lp_course .learnpress-block-pagination .page-numbers.current{
  background: var(--lsa-navy) !important;
  color: #fff !important;
}
body.post-type-archive-lp_course .learnpress-block-pagination a:hover{
  background: rgba(0,40,104,.08) !important;
}

/* ---- Generic text/link cleanup on the archive ---- */
body.post-type-archive-lp_course h1,
body.post-type-archive-lp_course h2,
body.post-type-archive-lp_course h3,
body.post-type-archive-lp_course h4{
  color: var(--lsa-navy) !important;
  text-shadow: none !important;
}
body.post-type-archive-lp_course p,
body.post-type-archive-lp_course li,
body.post-type-archive-lp_course span:not(.vr-logo-accent):not(.course-title){
  color: inherit;
}
body.post-type-archive-lp_course a:not(.vr-logo):not(.wp-element-button):not(.course-permalink){
  color: var(--lsa-navy);
}

/* ---- Sort / filter controls (select.courses-order-by) ---- */
body.post-type-archive-lp_course select,
body.post-type-archive-lp_course .courses-order-by,
body.tax-course_category select{
  background: #fff !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 9999px !important;
  padding: .6rem 2.2rem .6rem 1.1rem !important;
  font-family: var(--lsa-font);
  font-weight: 600;
  box-shadow: 0 1px 3px rgba(0,40,104,.06);
}
body.post-type-archive-lp_course select:focus{
  outline: none !important;
  border-color: var(--lsa-navy) !important;
  box-shadow: 0 0 0 3px rgba(0,40,104,.12) !important;
}
body.post-type-archive-lp_course select option{
  background: #fff !important;
  color: var(--lsa-ink) !important;
}
/* filter icon + any remaining cyan glyphs in the toolbar */
body.post-type-archive-lp_course svg,
body.post-type-archive-lp_course .lp-filter-course-btn svg{
  color: var(--lsa-navy) !important;
  fill: currentColor;
}

/* ---- Mobile menu toggle (header-wide, all inner surfaces) ---- */
body:not(.home) .wp-block-navigation__responsive-container-open,
body:not(.home) .wp-block-navigation__responsive-container-close,
body:not(.home) .wp-block-navigation__responsive-container-open svg,
body:not(.home) .wp-block-navigation__responsive-container-close svg{
  color: var(--lsa-navy) !important;
  fill: currentColor !important;
}

/* ---- Course image container: drop the inherited cyan ---- */
body.post-type-archive-lp_course .wp-block-learnpress-course-image,
body.tax-course_category .wp-block-learnpress-course-image{
  color: var(--lsa-navy) !important;
  border-color: var(--lsa-line) !important;
  background: transparent !important;
}

/* ---- Course filter panel: labels inherited deep-space light text ---- */
body.post-type-archive-lp_course .lp-course-filter label,
body.post-type-archive-lp_course .lp-course-filter__field label,
body.post-type-archive-lp_course .lp-cate-parent label,
body.tax-course_category .lp-course-filter label{
  color: var(--lsa-ink) !important;
}
body.post-type-archive-lp_course .lp-course-filter,
body.post-type-archive-lp_course .lp-course-filter *{
  border-color: var(--lsa-line) !important;
}
body.post-type-archive-lp_course .lp-course-filter h3,
body.post-type-archive-lp_course .lp-course-filter .lp-course-filter__title{
  color: var(--lsa-navy) !important;
}

/* ---- Mobile menu toggle: kill the cyan ground, not just the glyph ---- */
body:not(.home) .wp-block-navigation__responsive-container-open,
body:not(.home) .wp-block-navigation__responsive-container-close{
  background: transparent !important;
  background-color: transparent !important;
  color: var(--lsa-navy) !important;
}

/* ---- Back-to-top: the deep-space theme's button rules win on inner
       surfaces and repaint it cyan. Restate the Lonestar gold here. ---- */
button.lsa-top,
body:not(.home) button.lsa-top{
  background: var(--lsa-gold) !important;
  background-color: var(--lsa-gold) !important;
  background-image: none !important;
  color: var(--lsa-navy) !important;
  border: none !important;
  border-radius: 9999px !important;
}
button.lsa-top svg{ color: var(--lsa-navy) !important; }
button.lsa-top:hover{ background: var(--lsa-gold-dark) !important; }

/* ==========================================================================
   5. SINGLE COURSE LANDING  (body.single-lp_course)
   deep-space: #020617 ground, slate-800 sidebar, cyan glow title,
               cyan->emerald gradient enrol button
   NOTE: the theme forces cyan on links with `.single-lp_course a:not(...)`
   carrying !important, which beats the surface-1 header rules. The nav block
   below therefore restates the chrome at higher specificity — without it the
   whole header renders cyan-on-white.
   ========================================================================== */

/* ---- Ground + wrappers ---- */
body.single-lp_course{
  background: var(--lsa-sky) !important;
  color: var(--lsa-ink) !important;
}
body.single-lp_course .wp-site-blocks,
body.single-lp_course .wp-site-blocks > .wp-block-group.has-background,
body.single-lp_course .wp-block-group.has-background{
  background: transparent !important;
}

/* ---- Header chrome: beat `.single-lp_course a` (cyan, !important) ---- */
body.single-lp_course header.wp-block-template-part a.vr-logo,
body.single-lp_course header.wp-block-template-part .vr-logo .vr-logo-accent{
  color: var(--lsa-navy) !important;
  -webkit-text-fill-color: var(--lsa-navy);
}
body.single-lp_course header.wp-block-template-part .wp-block-navigation a,
body.single-lp_course header.wp-block-template-part .wp-block-navigation a .wp-block-navigation-item__label,
body.single-lp_course header.wp-block-template-part nav a{
  color: var(--lsa-muted) !important;
}
body.single-lp_course header.wp-block-template-part .wp-block-navigation a:hover,
body.single-lp_course header.wp-block-template-part .wp-block-navigation a:hover .wp-block-navigation-item__label{
  color: var(--lsa-navy) !important;
}
body.single-lp_course header.wp-block-template-part .wp-block-loginout a,
body.single-lp_course header.wp-block-template-part .vr-nav-cta a{
  color: #111 !important;
  background: var(--lsa-gold) !important;
}
body.single-lp_course footer.wp-block-group a{ color: var(--lsa-gold) !important; }

/* ---- Course title: kill the cyan glow ---- */
body.single-lp_course h1.wp-block-learnpress-course-title,
body.single-lp_course h1.wp-block-learnpress-course-title .course-title{
  color: var(--lsa-navy) !important;
  text-shadow: none !important;
  letter-spacing: -.02em;
}

/* ---- Body copy + section headings ---- */
body.single-lp_course h2,
body.single-lp_course h3,
body.single-lp_course h4,
body.single-lp_course .lp-course-curriculum__title{
  color: var(--lsa-navy) !important;
  text-shadow: none !important;
}
body.single-lp_course p,
body.single-lp_course li,
body.single-lp_course .course-description,
body.single-lp_course .lp-content-area{
  color: var(--lsa-ink) !important;
}

/* ---- In-content links (byline, category) ---- */
body.single-lp_course .lp-content-area a:not(.lp-button):not(.wp-element-button),
body.single-lp_course .course-author a,
body.single-lp_course .course-categories a{
  color: var(--lsa-navy) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ---- Sidebar card ---- */
body.single-lp_course .lp-block-course-sidebar{
  background: #fff !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 16px !important;
  overflow: hidden;
  box-shadow: 0 6px 22px rgba(0,40,104,.08);
}
body.single-lp_course .lp-block-course-sidebar *{
  color: var(--lsa-ink) !important;
}
body.single-lp_course .lp-block-course-sidebar .info-meta-left,
body.single-lp_course .lp-block-course-sidebar i[class^="lp-icon"],
body.single-lp_course .lp-block-course-sidebar i[class*=" lp-icon"]{
  color: var(--lsa-navy) !important;
}
body.single-lp_course .lp-block-course-sidebar .course-img img{
  border-radius: 0 !important;
  width: 100%;
  display: block;
}

/* ---- Enrol / CTA button: cyan->emerald gradient becomes gold ---- */
body.single-lp_course .lp-button,
body.single-lp_course .wp-block-learnpress-course-button a,
body.single-lp_course a.button-enroll-course,
body.single-lp_course .wp-element-button{
  background: var(--lsa-gold) !important;
  background-image: none !important;
  color: #111 !important;
  border: none !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  letter-spacing: .01em;
  box-shadow: 0 3px 12px rgba(0,40,104,.14);
  transition: background .16s ease, transform .16s ease;
}
body.single-lp_course .lp-button:hover,
body.single-lp_course a.button-enroll-course:hover,
body.single-lp_course .wp-element-button:hover{
  background: var(--lsa-gold-dark) !important;
  color: #111 !important;
  transform: translateY(-1px);
}

/* ---- Curriculum ---- */
body.single-lp_course .course-curriculum-info{
  background: #fff !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 12px !important;
  color: var(--lsa-muted) !important;
}
body.single-lp_course .course-curriculum-info *,
body.single-lp_course .course-count-section,
body.single-lp_course .course-count-lesson,
body.single-lp_course .course-duration{
  color: var(--lsa-muted) !important;
}
body.single-lp_course .course-toggle-all-sections{
  color: var(--lsa-navy) !important;
  font-weight: 700;
  cursor: pointer;
}
body.single-lp_course .course-sections,
body.single-lp_course .course-section{
  background: #fff !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 12px !important;
  overflow: hidden;
  margin-bottom: .75rem;
}
body.single-lp_course .course-section .section-header,
body.single-lp_course .course-section .course-section-header{
  background: rgba(0,40,104,.04) !important;
  color: var(--lsa-navy) !important;
}
body.single-lp_course .course-section .section-title,
body.single-lp_course .course-section h5,
body.single-lp_course .course-section .section-header *{
  color: var(--lsa-navy) !important;
  font-weight: 700;
}
body.single-lp_course .course-section .course-item,
body.single-lp_course .course-section .section-content li{
  border-top: 1px solid var(--lsa-line) !important;
}
body.single-lp_course .course-section .course-item a,
body.single-lp_course .course-section .section-content a{
  color: var(--lsa-ink) !important;
  text-decoration: none !important;
}
body.single-lp_course .course-section .course-item a:hover{
  color: var(--lsa-navy) !important;
  background: rgba(0,40,104,.04);
}
body.single-lp_course .course-section i[class^="lp-icon"],
body.single-lp_course .course-section i[class*=" lp-icon"]{
  color: var(--lsa-muted) !important;
}

/* ---- Any lingering deep-space panel inside the course body ---- */
body.single-lp_course .lp-content-area .wp-block-group.has-background{
  background: #fff !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 12px;
}

/* ---- Specificity escalation for single-course surfaces ------------------
   deep-space-lab.css carries doubled-selector !important rules that beat the
   block above on background-image and background-color. These restate the same
   intent at higher specificity (html + body + doubled class). ---------- */

html body.single-lp_course a.lp-button.button-enroll-course,
html body.single-lp_course a.wp-block-learnpress-course-button.lp-button,
html body.single-lp_course .course-buttons a.lp-button,
html body.single-lp_course .course-buttons__wrapper a.lp-button{
  background: var(--lsa-gold) !important;
  background-color: var(--lsa-gold) !important;
  background-image: none !important;
  color: #111 !important;
  border: none !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}
html body.single-lp_course a.lp-button.button-enroll-course:hover,
html body.single-lp_course .course-buttons a.lp-button:hover{
  background: var(--lsa-gold-dark) !important;
  background-color: var(--lsa-gold-dark) !important;
  color: #111 !important;
}

/* curriculum summary bar kept its slate ground */
html body.single-lp_course .course-curriculum-info.course-curriculum-info{
  background: #fff !important;
  background-color: #fff !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 12px !important;
}

/* breadcrumb links (course category / "by Wiley") were still cyan */
html body.single-lp_course ul.learn-press-breadcrumb a,
html body.single-lp_course .learn-press-breadcrumb a,
html body.single-lp_course .learn-press-breadcrumb li{
  color: var(--lsa-navy) !important;
}
html body.single-lp_course .learn-press-breadcrumb a:hover{
  color: var(--lsa-gold-dark) !important;
}

/* header login pill text: `.single-lp_course a` forced it cyan on gold */
html body.single-lp_course header.wp-block-template-part .wp-block-loginout a,
html body.single-lp_course header.wp-block-template-part .vr-nav-cta a,
html body.single-lp_course header.wp-block-template-part .wp-block-loginout a:visited{
  color: #111 !important;
}

/* ---- Beating learnpress-nexus.css -------------------------------------
   :61   `.single-lp_course a:not(.lp-button):not(.button):not(...)`  -> (0,5,1) !important
   :1819 `.single-lp_course .lp-course-curriculum .course-curriculum-info *` -> (0,3,0) !important
   No class-only selector can outrank (0,5,1), so we use the same escape hatch the
   theme itself uses at :2558 — `:not(#_)` contributes ID-level weight (1,0,0)
   while matching everything. ------------------------------------------- */

/* breadcrumb / category / author links */
html body.single-lp_course .learn-press-breadcrumb a:not(#_),
html body.single-lp_course ul.learn-press-breadcrumb a:not(#_){
  color: var(--lsa-navy) !important;
}
html body.single-lp_course .learn-press-breadcrumb a:not(#_):hover{
  color: var(--lsa-gold-dark) !important;
}

/* header chrome on single-course pages */
html body.single-lp_course header.wp-block-template-part a:not(#_){
  color: var(--lsa-muted) !important;
}
html body.single-lp_course header.wp-block-template-part a.vr-logo:not(#_),
html body.single-lp_course header.wp-block-template-part a.vr-logo:not(#_) .vr-logo-accent{
  color: var(--lsa-navy) !important;
  -webkit-text-fill-color: var(--lsa-navy);
}
html body.single-lp_course header.wp-block-template-part .wp-block-loginout a:not(#_),
html body.single-lp_course header.wp-block-template-part .vr-nav-cta > a:not(#_),
html body.single-lp_course header.wp-block-template-part .vr-nav-cta > a:not(#_) .wp-block-navigation-item__label{
  color: #111 !important;
  background: var(--lsa-gold) !important;
}

/* curriculum summary bar: slate-300 on white was unreadable */
html body.single-lp_course .lp-course-curriculum .course-curriculum-info *:not(#_),
html body.single-lp_course .course-curriculum-info *:not(#_){
  color: var(--lsa-muted) !important;
}
html body.single-lp_course .course-toggle-all-sections:not(#_){
  color: var(--lsa-navy) !important;
  font-weight: 700;
}

/* footer links keep gold */
html body.single-lp_course footer.wp-block-group a:not(#_){
  color: var(--lsa-gold) !important;
}

/* ---- Curriculum section anatomy (LearnPress uses BEM __ names) ---------
   Actual classes: .course-section-header > .course-section-info >
   .course-section__title / .section-count-items, then .course-section__items
   > li.course-item > a.course-item__link. -------------------------------- */

html body.single-lp_course .course-section__title:not(#_){
  background: transparent !important;
  color: var(--lsa-navy) !important;
  font-weight: 700 !important;
}
html body.single-lp_course .course-section-header:not(#_),
html body.single-lp_course .course-section-info:not(#_){
  background: rgba(0,40,104,.05) !important;
  color: var(--lsa-navy) !important;
}
html body.single-lp_course .section-count-items:not(#_),
html body.single-lp_course .section-toggle:not(#_),
html body.single-lp_course .course-section-header i[class^="lp-icon"]:not(#_){
  color: var(--lsa-muted) !important;
}

/* lesson rows */
html body.single-lp_course .course-section__items:not(#_){
  background: #fff !important;
}
html body.single-lp_course li.course-item:not(#_){
  background: #fff !important;
  border-top: 1px solid var(--lsa-line) !important;
}
html body.single-lp_course a.course-item__link:not(#_),
html body.single-lp_course .course-item-title:not(#_),
html body.single-lp_course .course-item__content:not(#_){
  color: var(--lsa-ink) !important;
  text-decoration: none !important;
}
html body.single-lp_course a.course-item__link:not(#_):hover{
  background: rgba(0,40,104,.05) !important;
  color: var(--lsa-navy) !important;
}
html body.single-lp_course .course-item-ico:not(#_),
html body.single-lp_course .course-item__right .duration:not(#_),
html body.single-lp_course .course-item i[class^="lp-icon"]:not(#_){
  color: var(--lsa-muted) !important;
}

/* ---- Instructor block + comment form (below the fold) ------------------ */

html body.single-lp_course .course-instructor a:not(#_),
html body.single-lp_course .course-categories a:not(#_),
html body.single-lp_course .lp-section-instructor a:not(#_),
html body.single-lp_course .lp-instructor-info a:not(#_),
html body.single-lp_course .instructor-display-name:not(#_){
  color: var(--lsa-navy) !important;
}
html body.single-lp_course .lp-section-instructor:not(#_){
  background: #fff !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 16px !important;
}
html body.single-lp_course .lp-instructor-meta:not(#_),
html body.single-lp_course .lp-instructor-meta *:not(#_){
  color: var(--lsa-muted) !important;
}

/* comment / review form fields were slate-900 on the light ground */
html body.single-lp_course input[type="text"]:not(#_),
html body.single-lp_course input[type="email"]:not(#_),
html body.single-lp_course input[type="url"]:not(#_),
html body.single-lp_course input[type="search"]:not(#_),
html body.single-lp_course input[type="password"]:not(#_),
html body.single-lp_course textarea:not(#_),
html body.single-lp_course select:not(#_){
  background: #fff !important;
  background-color: #fff !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 12px !important;
}
html body.single-lp_course input:not(#_):focus,
html body.single-lp_course textarea:not(#_):focus{
  outline: none !important;
  border-color: var(--lsa-navy) !important;
  box-shadow: 0 0 0 3px rgba(0,40,104,.12) !important;
}
html body.single-lp_course label:not(#_),
html body.single-lp_course .comment-form p:not(#_),
html body.single-lp_course .comment-respond *:not(#_):not(a):not(input):not(textarea){
  color: var(--lsa-ink) !important;
}
html body.single-lp_course .comment-respond a:not(#_),
html body.single-lp_course #cancel-comment-reply-link:not(#_){
  color: var(--lsa-navy) !important;
}
html body.single-lp_course .comment-form input[type="submit"]:not(#_),
html body.single-lp_course .comment-respond .submit:not(#_){
  background: var(--lsa-gold) !important;
  background-image: none !important;
  color: #111 !important;
  border: none !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
}

/* catch-all: any remaining cyan link inside the course body */
html body.single-lp_course .lp-content-area a:not(#_):not(.lp-button):not([class*="button"]),
html body.single-lp_course .entry-content a:not(#_):not(.lp-button):not([class*="button"]){
  color: var(--lsa-navy) !important;
}

/* ---- Share widget + course image container ---------------------------- */

html body.single-lp_course .content-widget-social-share:not(#_){
  background: #fff !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 12px !important;
  box-shadow: 0 6px 20px rgba(0,40,104,.12);
}
html body.single-lp_course .content-widget-social-share a:not(#_),
html body.single-lp_course .content-widget-social-share *:not(#_){
  color: var(--lsa-navy) !important;
}
html body.single-lp_course .content-widget-social-share a:not(#_):hover{
  color: var(--lsa-gold-dark) !important;
}
html body.single-lp_course .lp-social-share:not(#_),
html body.single-lp_course .lp-social-share *:not(#_){
  color: var(--lsa-navy) !important;
}

html body.single-lp_course .wp-block-learnpress-course-image:not(#_),
html body.single-lp_course .course-img:not(#_){
  background: transparent !important;
  background-color: transparent !important;
}

/* ---- Related-courses grid on the single course page --------------------
   Reuses the archive card classes, but the surface-2 rules are scoped to
   body.post-type-archive-lp_course, so they need restating here. --------- */

html body.single-lp_course .wp-block-learnpress-course-item-template > .wp-block-group:not(#_){
  background: #fff !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 16px !important;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,40,104,.06);
  transition: transform .18s ease, box-shadow .18s ease;
}
html body.single-lp_course .wp-block-learnpress-course-item-template > .wp-block-group:not(#_):hover{
  transform: translateY(-3px);
  box-shadow: 0 10px 26px rgba(0,40,104,.13);
}
html body.single-lp_course a.course-permalink:not(#_),
html body.single-lp_course span.course-title:not(#_),
html body.single-lp_course .wp-block-learnpress-course-title:not(#_){
  color: var(--lsa-navy) !important;
  text-decoration: none !important;
  text-shadow: none !important;
}
html body.single-lp_course a.course-permalink:not(#_):hover span.course-title:not(#_){
  color: var(--lsa-gold-dark) !important;
}
html body.single-lp_course .course-count-item:not(#_){
  color: var(--lsa-muted) !important;
}
html body.single-lp_course .course-price:not(#_){
  color: var(--lsa-navy) !important;
  font-weight: 700 !important;
}
html body.single-lp_course .wp-block-learnpress-course-item-template .course-img:not(#_),
html body.single-lp_course .wp-block-learnpress-course-item-template img:not(#_){
  background: transparent !important;
  color: var(--lsa-navy) !important;
}

/* ---- Related-card CTA + image link ------------------------------------ */
html body.single-lp_course .course-button-read-more a:not(#_){
  display: inline-block;
  background: var(--lsa-gold) !important;
  background-image: none !important;
  color: #111 !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  padding: .5rem 1.2rem;
  text-decoration: none !important;
}
html body.single-lp_course .course-button-read-more a:not(#_):hover{
  background: var(--lsa-gold-dark) !important;
  color: #111 !important;
}
html body.single-lp_course .wp-block-learnpress-course-image a:not(#_){
  color: var(--lsa-navy) !important;
}

/* ==========================================================================
   6. LESSON INTERIOR / COURSE PLAYER
   In-course lesson URLs render a full-screen player inside body.single-lp_course:
     #popup-header   top bar          #popup-sidebar  curriculum rail
     #popup-content  main column      #learn-press-content-item  lesson body
   These are ID-based, so ordinary class selectors here already outrank the
   theme; :not(#_) is still used on links to beat learnpress-nexus.css:61.
   The Dr. M. chat panel (#siera-avatar-panel) is deliberately left dark.
   ========================================================================== */

html body.single-lp_course .course-summary,
html body.single-lp_course #popup-content,
html body.single-lp_course #learn-press-content-item,
html body.single-lp_course .content-item-wrap,
html body.single-lp_course .content-item-scrollable{
  background: var(--lsa-sky) !important;
  background-color: var(--lsa-sky) !important;
  color: var(--lsa-ink) !important;
}

/* ---- Player top bar ---- */
html body.single-lp_course #popup-header{
  background: #fff !important;
  border-bottom: 1px solid var(--lsa-line) !important;
  color: var(--lsa-ink) !important;
  box-shadow: 0 1px 3px rgba(0,40,104,.05);
}
html body.single-lp_course #popup-header *,
html body.single-lp_course #popup-header a:not(#_){
  color: var(--lsa-navy) !important;
}
html body.single-lp_course #popup-header .course-title,
html body.single-lp_course #popup-header a:not(#_){
  font-weight: 700;
  text-decoration: none !important;
}

/* close / collapse controls */
html body.single-lp_course #popup-header button,
html body.single-lp_course .lp-button-back,
html body.single-lp_course #sidebar-toggle,
html body.single-lp_course .course-item-nav a:not(#_){
  color: var(--lsa-navy) !important;
  background: transparent !important;
}

/* ---- Curriculum rail ---- */
html body.single-lp_course #popup-sidebar{
  background: #fff !important;
  border-right: 1px solid var(--lsa-line) !important;
  color: var(--lsa-ink) !important;
}
html body.single-lp_course #popup-sidebar .search-course input,
html body.single-lp_course #popup-sidebar input[type="text"]{
  background: #fff !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 9999px !important;
}
html body.single-lp_course #popup-sidebar .course-item__link:not(#_),
html body.single-lp_course #popup-sidebar .course-item-title:not(#_),
html body.single-lp_course #popup-sidebar .course-item__info:not(#_){
  color: var(--lsa-ink) !important;
}
html body.single-lp_course #popup-sidebar .course-item__link:not(#_):hover{
  background: rgba(0,40,104,.05) !important;
}

/* current lesson: cyan highlight becomes navy on a gold-edged tint */
html body.single-lp_course #popup-sidebar .course-item.current .course-item__link:not(#_),
html body.single-lp_course #popup-sidebar .course-item.current .course-item-title:not(#_),
html body.single-lp_course #popup-sidebar .course-item.current .course-item__info:not(#_),
html body.single-lp_course .course-item.current .course-item-title:not(#_){
  color: var(--lsa-navy) !important;
  font-weight: 700 !important;
}
html body.single-lp_course #popup-sidebar .course-item.current{
  background: rgba(255,184,28,.14) !important;
  border-left: 3px solid var(--lsa-gold) !important;
}
html body.single-lp_course .course-item__status:not(#_),
html body.single-lp_course #popup-sidebar i[class^="lp-icon"]:not(#_),
html body.single-lp_course #popup-sidebar .duration:not(#_){
  color: var(--lsa-muted) !important;
}

/* ---- Protected / notice messages ---- */
html body.single-lp_course .learn-press-message{
  background: #FFF7E6 !important;
  border: 1px solid rgba(255,184,28,.5) !important;
  border-radius: 12px !important;
  color: var(--lsa-ink) !important;
}
html body.single-lp_course .learn-press-message *,
html body.single-lp_course .learn-press-message a:not(#_),
html body.single-lp_course a.lp-link-login:not(#_){
  color: var(--lsa-navy) !important;
  font-weight: 600;
}
html body.single-lp_course .learn-press-message a:not(#_):hover{
  color: var(--lsa-gold-dark) !important;
}

/* ---- Lesson body content ---- */
html body.single-lp_course #learn-press-content-item h1,
html body.single-lp_course #learn-press-content-item h2,
html body.single-lp_course #learn-press-content-item h3,
html body.single-lp_course #learn-press-content-item h4,
html body.single-lp_course .content-item-wrap h1,
html body.single-lp_course .content-item-wrap h2,
html body.single-lp_course .content-item-wrap h3{
  color: var(--lsa-navy) !important;
  text-shadow: none !important;
}
html body.single-lp_course #learn-press-content-item p,
html body.single-lp_course #learn-press-content-item li,
html body.single-lp_course .content-item-wrap p,
html body.single-lp_course .content-item-wrap li{
  color: var(--lsa-ink) !important;
}
html body.single-lp_course #learn-press-content-item a:not(#_):not([class*="button"]){
  color: var(--lsa-navy) !important;
}

/* ---- Lesson callouts (deep-space authored blocks) ---- */
html body.single-lp_course .the-grind,
html body.single-lp_course .the-spark,
html body.single-lp_course .spark-block,
html body.single-lp_course .big-question,
html body.single-lp_course .try-this,
html body.single-lp_course .activity-steps{
  background: #fff !important;
  border: 1px solid var(--lsa-line) !important;
  border-left: 4px solid var(--lsa-gold) !important;
  border-radius: 12px !important;
  color: var(--lsa-ink) !important;
}
html body.single-lp_course .the-grind *,
html body.single-lp_course .the-spark *,
html body.single-lp_course .spark-block *,
html body.single-lp_course .big-question *,
html body.single-lp_course .try-this *,
html body.single-lp_course .activity-steps *{
  color: var(--lsa-ink) !important;
}
html body.single-lp_course .the-grind h1, html body.single-lp_course .the-grind h2,
html body.single-lp_course .the-grind h3, html body.single-lp_course .the-grind h4,
html body.single-lp_course .the-spark h3, html body.single-lp_course .the-spark h4,
html body.single-lp_course .big-question h3, html body.single-lp_course .big-question h4{
  color: var(--lsa-navy) !important;
}

/* ---- Lesson nav / complete buttons ---- */
html body.single-lp_course .course-item-nav .prev a:not(#_),
html body.single-lp_course .course-item-nav .next a:not(#_){
  color: var(--lsa-navy) !important;
}
html body.single-lp_course .lp-button-complete-item,
html body.single-lp_course button.complete-item{
  background: var(--lsa-gold) !important;
  background-image: none !important;
  color: #111 !important;
  border: none !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
}

/* ---- Player root: #popup-course is ID-targeted by the theme, and <html>
       itself carries the deep-space ground on this surface. ------------- */
html:has(body.single-lp_course),
html:has(body.post-type-archive-lp_course){
  background: var(--lsa-sky) !important;
  background-color: var(--lsa-sky) !important;
}
html body.single-lp_course #popup-course,
html body.single-lp_course #popup-course.course-summary,
html body.single-lp_course div#popup-course{
  background: var(--lsa-sky) !important;
  background-color: var(--lsa-sky) !important;
  color: var(--lsa-ink) !important;
}

/* ---- Scrollbars in the player (deep-space paints these cyan) ---------- */
html body.single-lp_course #popup-sidebar,
html body.single-lp_course #popup-content,
html body.single-lp_course .content-item-scrollable{
  scrollbar-color: rgba(0,40,104,.35) transparent;
  scrollbar-width: thin;
}
html body.single-lp_course #popup-sidebar::-webkit-scrollbar,
html body.single-lp_course #popup-content::-webkit-scrollbar,
html body.single-lp_course .content-item-scrollable::-webkit-scrollbar,
html body.single-lp_course #popup-sidebar *::-webkit-scrollbar{
  width: 8px; height: 8px;
}
html body.single-lp_course #popup-sidebar::-webkit-scrollbar-thumb,
html body.single-lp_course #popup-content::-webkit-scrollbar-thumb,
html body.single-lp_course .content-item-scrollable::-webkit-scrollbar-thumb,
html body.single-lp_course #popup-sidebar *::-webkit-scrollbar-thumb{
  background: rgba(0,40,104,.35) !important;
  border-radius: 9999px;
}
html body.single-lp_course #popup-sidebar::-webkit-scrollbar-track,
html body.single-lp_course #popup-content::-webkit-scrollbar-track,
html body.single-lp_course .content-item-scrollable::-webkit-scrollbar-track,
html body.single-lp_course #popup-sidebar *::-webkit-scrollbar-track{
  background: transparent !important;
}

/* sidebar toggle arrow keeps the cyan ring */
html body.single-lp_course #sidebar-toggle,
html body.single-lp_course .vr-sb-toggle,
html body.single-lp_course [class*="sb-toggle"]{
  background: #fff !important;
  border: 1px solid var(--lsa-line) !important;
  color: var(--lsa-navy) !important;
  box-shadow: 0 2px 8px rgba(0,40,104,.10) !important;
}

/* ---- Interactive lesson widgets (injected by theme lesson.js) ----------
   deep-space palette:
     .journal-prompt        violet tint + violet rule (--accent-violet #A78BFA)
     .sls-siera-reflection  cyan tint + cyan rule (#22D3EE)
     .sls-submit-btn        violet pill -> green when submitted
     .quiz-selected         cyan tint / blue border
     .quiz-correct / wrong  green / red tints
   Brand accents (violet, cyan) become navy/gold. The green "correct" and red
   "incorrect" states are SEMANTIC and are deliberately left alone. --------- */

html body.single-lp_course .journal-prompt{
  background: #FFF7E6 !important;
  border: 1px solid rgba(255,184,28,.45) !important;
  border-left: 5px solid var(--lsa-gold) !important;
  color: var(--lsa-ink) !important;
}
html body.single-lp_course .journal-prompt *:not(#_){
  color: var(--lsa-ink) !important;
}
html body.single-lp_course .journal-prompt h1,
html body.single-lp_course .journal-prompt h2,
html body.single-lp_course .journal-prompt h3,
html body.single-lp_course .journal-prompt h4{
  color: var(--lsa-navy) !important;
}

html body.single-lp_course .sls-siera-reflection{
  background: rgba(0,40,104,.05) !important;
  border: 1px solid rgba(0,40,104,.18) !important;
  border-left: 5px solid var(--lsa-navy) !important;
  color: var(--lsa-ink) !important;
}
html body.single-lp_course .sls-siera-reflection *:not(#_){
  color: var(--lsa-ink) !important;
}
html body.single-lp_course .sls-siera-reflection--muted,
html body.single-lp_course .sls-word-count{
  color: var(--lsa-muted) !important;
}
html body.single-lp_course .sls-siera-continue:not(#_){
  color: var(--lsa-navy) !important;
  font-weight: 700;
}

html body.single-lp_course .sls-editor-wrap,
html body.single-lp_course .sls-editor-wrap textarea{
  background: #fff !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 12px !important;
}

html body.single-lp_course .sls-submit-btn,
html body.single-lp_course .sls-tt-submit{
  background: var(--lsa-gold) !important;
  background-image: none !important;
  color: #111 !important;
  border: none !important;
  border-radius: 100px !important;
  font-weight: 700 !important;
}
html body.single-lp_course .sls-submit-btn:hover{
  background: var(--lsa-gold-dark) !important;
}
/* submitted state keeps the semantic green */
html body.single-lp_course .sls-submit-btn.sls-submitted,
html body.single-lp_course .sls-submitted{
  background: #34D399 !important;
  color: #06281c !important;
}

/* quiz options: brand-blue selection becomes navy; correct/incorrect untouched */
html body.single-lp_course .quiz-selected:not(.quiz-correct):not(.quiz-wrong),
html body.single-lp_course .sls-tt-selected:not(.quiz-correct){
  background: rgba(0,40,104,.10) !important;
  border-color: var(--lsa-navy) !important;
  color: var(--lsa-ink) !important;
}

/* toast keeps its dark chip (readable, and it sits over content) but loses cyan */
html body.single-lp_course .toast-visible{
  border: 1px solid var(--lsa-gold) !important;
}

/* ==========================================================================
   7. LOGIN / REGISTER
   Two component families:
     PMPro  -> /login/   section#pmpro_login.pmpro_section, .pmpro_card,
                         #user_login, #user_pass, #wp-submit
     SMLF   -> /register/ .smlf-register-wrap, #smlf_username/_email/_password
   The PMPro rules here are intentionally generic (not page-scoped) because the
   same components render the checkout/account funnel — surface 6 inherits them.
   ========================================================================== */

/* ---- Page titles on these surfaces ---- */
body.pmpro-login .wp-block-post-title,
body.page-id-19 .wp-block-post-title,
body.page-id-24 .wp-block-post-title,
body.pmpro-login h1,
body.page-id-24 h1{
  color: var(--lsa-navy) !important;
  text-shadow: none !important;
}

/* ---- PMPro panels ---- */
body:not(.home) .pmpro_section,
body:not(.home) section#pmpro_login,
body:not(.home) .pmpro_card,
body:not(.home) .pmpro_login_wrap,
body:not(.home) .pmpro_form{
  background: #fff !important;
  background-color: #fff !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 22px rgba(0,40,104,.08);
}
body:not(.home) .pmpro_card_content,
body:not(.home) .pmpro_section *,
body:not(.home) .pmpro_card *{
  color: var(--lsa-ink);
}
body:not(.home) .pmpro_section label,
body:not(.home) .pmpro_card label,
body:not(.home) .smlf-register-wrap label{
  color: var(--lsa-ink) !important;
  font-weight: 600;
}

/* ---- SMLF register panel ---- */
body:not(.home) .smlf-register-wrap{
  background: #fff !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 22px rgba(0,40,104,.08);
}
body:not(.home) .smlf-register-wrap *{
  color: var(--lsa-ink);
}

/* ---- Fields (both families + anything else on these pages) ---- */
body:not(.home) .pmpro_form input[type="text"],
body:not(.home) .pmpro_form input[type="email"],
body:not(.home) .pmpro_form input[type="password"],
body:not(.home) input#user_login,
body:not(.home) input#user_pass,
body:not(.home) input#smlf_username,
body:not(.home) input#smlf_email,
body:not(.home) input#smlf_password,
body:not(.home) .smlf-register-wrap input[type="text"],
body:not(.home) .smlf-register-wrap input[type="email"],
body:not(.home) .smlf-register-wrap input[type="password"],
body.pmpro-login input.input{
  background: #fff !important;
  background-color: #fff !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 12px !important;
  padding: .7rem 1rem !important;
}
body:not(.home) input.input:focus,
body:not(.home) .pmpro_form input:focus,
body:not(.home) .smlf-register-wrap input:focus{
  outline: none !important;
  border-color: var(--lsa-navy) !important;
  box-shadow: 0 0 0 3px rgba(0,40,104,.12) !important;
}

/* ---- Submit buttons ---- */
body:not(.home) input#wp-submit,
body:not(.home) .pmpro_btn,
body:not(.home) .pmpro_btn-submit,
body:not(.home) .smlf-register-wrap button[type="submit"],
body:not(.home) .smlf-register-wrap input[type="submit"],
body:not(.home) .pmpro_form input[type="submit"]{
  background: var(--lsa-gold) !important;
  background-color: var(--lsa-gold) !important;
  background-image: none !important;
  color: #111 !important;
  border: none !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  padding: .75rem 1.5rem !important;
  box-shadow: 0 3px 12px rgba(0,40,104,.14);
  transition: background .16s ease, transform .16s ease;
}
body:not(.home) input#wp-submit:hover,
body:not(.home) .pmpro_btn:hover,
body:not(.home) .smlf-register-wrap button[type="submit"]:hover{
  background: var(--lsa-gold-dark) !important;
  color: #111 !important;
  transform: translateY(-1px);
}

/* ---- Links (Join Now / Lost Password / show-password toggle) ---- */
body.pmpro-login a:not(#_):not(.vr-logo),
body.page-id-24 a:not(#_):not(.vr-logo),
body:not(.home) .pmpro_card a:not(#_),
body:not(.home) .smlf-register-wrap a:not(#_){
  color: var(--lsa-navy) !important;
}
body.pmpro-login a:not(#_):hover,
body.page-id-24 a:not(#_):hover{
  color: var(--lsa-gold-dark) !important;
}
body:not(.home) .pmpro_login_wrap .show-password-input,
body:not(.home) button.wp-hide-pw,
body:not(.home) .show-password-input{
  background: rgba(0,40,104,.07) !important;
  color: var(--lsa-navy) !important;
  border-radius: 9999px !important;
  border: 1px solid var(--lsa-line) !important;
}

/* ---- Ground for these pages ---- */
body.pmpro-login,
body.page-id-19,
body.page-id-24{
  background: var(--lsa-sky) !important;
  color: var(--lsa-ink) !important;
}
html:has(body.pmpro-login),
html:has(body.page-id-19),
html:has(body.page-id-24){
  background: var(--lsa-sky) !important;
}

/* ---- Error / message notices ---- */
body:not(.home) #login_error,
body:not(.home) .pmpro_message,
body:not(.home) .pmpro_error{
  background: #FFF1F1 !important;
  border: 1px solid rgba(200,60,60,.35) !important;
  border-radius: 12px !important;
  color: #7A1B1B !important;
}
body:not(.home) .pmpro_message.pmpro_success{
  background: #ECFDF5 !important;
  border-color: rgba(16,150,105,.35) !important;
  color: #06553B !important;
}

/* ---- Register card accent stripe: off-brand red -> Lonestar gold ------- */
html body:not(.home) .smlf-register-wrap::before{
  background: var(--lsa-gold) !important;
}

/* ---- Show-password toggle should not compete with the primary CTA ------
   It was picking up the gold submit styling; make it a quiet outline. ---- */
html body:not(.home) .pmpro_login_wrap button.wp-hide-pw,
html body:not(.home) button.wp-hide-pw,
html body:not(.home) .show-password-input,
html body:not(.home) .pmpro_form .show-password-input,
html body:not(.home) button[class*="show-password"],
html body:not(.home) .pmpro_login_wrap [class*="show-password"]{
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  color: var(--lsa-navy) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 9999px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  padding: .3rem .8rem !important;
}
html body:not(.home) button.wp-hide-pw:hover,
html body:not(.home) [class*="show-password"]:hover{
  background: rgba(0,40,104,.06) !important;
  color: var(--lsa-navy) !important;
  transform: none !important;
}

/* ==========================================================================
   8. PMPRO FUNNEL  (checkout / account / billing / orders / confirmation / cancel)
   The card + field + button components were already covered in surface 7, but
   the PAGE GROUND was still deep-space and PMPro's own headings
   (.pmpro_card_title, .pmpro_form_heading) are painted #F8FAFC — i.e. white
   text sitting on the now-white cards, which made them invisible.

   NOTE: `pmpro-variation_1` is on the body of EVERY page network-wide, so a
   [class*="pmpro-"] selector would match the whole site. The real page classes
   are enumerated instead.
   ========================================================================== */

body.pmpro-checkout,
body.pmpro-account,
body.pmpro-billing,
body.pmpro-orders,
body.pmpro-confirmation,
body.pmpro-cancel,
body.pmpro-levels,
body.pmpro-invoice{
  background: var(--lsa-sky) !important;
  color: var(--lsa-ink) !important;
}
html:has(body.pmpro-checkout),
html:has(body.pmpro-account),
html:has(body.pmpro-billing),
html:has(body.pmpro-orders),
html:has(body.pmpro-confirmation),
html:has(body.pmpro-cancel),
html:has(body.pmpro-levels){
  background: var(--lsa-sky) !important;
}

/* ---- Page title ---- */
body.pmpro-checkout .wp-block-post-title,
body.pmpro-account .wp-block-post-title,
body.pmpro-billing .wp-block-post-title,
body.pmpro-orders .wp-block-post-title,
body.pmpro-confirmation .wp-block-post-title,
body.pmpro-cancel .wp-block-post-title,
body.pmpro-levels .wp-block-post-title{
  color: var(--lsa-navy) !important;
  text-shadow: none !important;
}

/* ---- PMPro's own headings were #F8FAFC on white cards ---- */
body:not(.home) .pmpro_card_title,
body:not(.home) .pmpro_form_heading,
body:not(.home) .pmpro_form_legend,
body:not(.home) .pmpro_card_title *,
body:not(.home) .pmpro_form_heading *{
  color: var(--lsa-navy) !important;
  text-shadow: none !important;
}
body:not(.home) .pmpro_card_content,
body:not(.home) .pmpro_card_content p,
body:not(.home) .pmpro_form_field,
body:not(.home) .pmpro_form_hint,
body:not(.home) .pmpro_asterisk{
  color: var(--lsa-ink) !important;
}
body:not(.home) .pmpro_form_hint{
  color: var(--lsa-muted) !important;
}

/* ---- Plain / secondary buttons must not read as the primary CTA ---- */
body:not(.home) .pmpro_btn-plain,
body:not(.home) .pmpro_btn-pass,
body:not(.home) .pmpro_btn-cancel,
body:not(.home) .pmpro_btn.pmpro_btn-plain{
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  color: var(--lsa-navy) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 9999px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  padding: .35rem .9rem !important;
}
body:not(.home) .pmpro_btn-plain:hover,
body:not(.home) .pmpro_btn-pass:hover{
  background: rgba(0,40,104,.06) !important;
  color: var(--lsa-navy) !important;
  transform: none !important;
}

/* ---- Level / pricing cards ---- */
body:not(.home) .pmpro_level,
body:not(.home) .pmpro_level-card,
body:not(.home) .pmpro_checkout,
body:not(.home) .pmpro_checkout_gateway{
  background: #fff !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 16px !important;
}
body:not(.home) .pmpro_level_cost,
body:not(.home) .pmpro_level-price{
  color: var(--lsa-navy) !important;
  font-weight: 700 !important;
}

/* ---- Tables (orders, invoices, account) ---- */
body:not(.home) .pmpro_table,
body:not(.home) .pmpro_account table,
body:not(.home) table.pmpro_invoice{
  background: #fff !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 12px !important;
  overflow: hidden;
  border-collapse: separate !important;
  border-spacing: 0;
}
body:not(.home) .pmpro_table th,
body:not(.home) .pmpro_account table th{
  background: rgba(0,40,104,.05) !important;
  color: var(--lsa-navy) !important;
  border-bottom: 1px solid var(--lsa-line) !important;
}
body:not(.home) .pmpro_table td,
body:not(.home) .pmpro_account table td{
  color: var(--lsa-ink) !important;
  border-top: 1px solid var(--lsa-line) !important;
}
body:not(.home) .pmpro_table a:not(#_),
body:not(.home) .pmpro_account a:not(#_){
  color: var(--lsa-navy) !important;
}

/* ---- Account sections ---- */
body:not(.home) .pmpro_account-profile,
body:not(.home) .pmpro_account-membership,
body:not(.home) .pmpro_account-invoices,
body:not(.home) .pmpro_account-links,
body:not(.home) .pmpro_box{
  background: #fff !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 16px !important;
}
body:not(.home) .pmpro_account h2,
body:not(.home) .pmpro_account h3{
  color: var(--lsa-navy) !important;
}

/* ---- Select / checkbox rows inside PMPro forms ---- */
body:not(.home) .pmpro_form select,
body:not(.home) .pmpro_form textarea{
  background: #fff !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 12px !important;
}

/* ---- Generic links on funnel pages ---- */
body.pmpro-checkout a:not(#_):not(.vr-logo):not(.pmpro_btn),
body.pmpro-account a:not(#_):not(.vr-logo):not(.pmpro_btn),
body.pmpro-levels a:not(#_):not(.vr-logo):not(.pmpro_btn){
  color: var(--lsa-navy) !important;
}

/* ---- Primary checkout CTA carries an ID (#pmpro_btn-submit), so the
       theme's ID rule (1,0,0) outranks the .pmpro_btn class styling. ---- */
html body:not(.home) input#pmpro_btn-submit,
html body:not(.home) #pmpro_btn-submit,
html body:not(.home) .pmpro_btn-submit-checkout,
html body:not(.home) input.pmpro_btn-submit-checkout,
html body:not(.home) #pmpro_submit_span input{
  background: var(--lsa-gold) !important;
  background-color: var(--lsa-gold) !important;
  background-image: none !important;
  color: #111 !important;
  border: none !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  padding: .8rem 1.8rem !important;
  box-shadow: 0 3px 12px rgba(0,40,104,.14) !important;
}
html body:not(.home) input#pmpro_btn-submit:hover,
html body:not(.home) .pmpro_btn-submit-checkout:hover{
  background: var(--lsa-gold-dark) !important;
  background-color: var(--lsa-gold-dark) !important;
  color: #111 !important;
}

/* other PMPro action buttons that may be ID-targeted */
html body:not(.home) #pmpro_btn-cancel,
html body:not(.home) .pmpro_btn-cancel{
  background: #fff !important;
  color: var(--lsa-navy) !important;
  border: 1px solid var(--lsa-line) !important;
}

/* ---- Skip-to-content link (visible on keyboard focus, all surfaces) ---- */
html body:not(.home) a#wp-skip-link,
html body:not(.home) .skip-link{
  background: var(--lsa-navy) !important;
  background-color: var(--lsa-navy) !important;
  color: #fff !important;
  border-radius: 0 0 8px 0 !important;
  font-weight: 700 !important;
}
html body:not(.home) a#wp-skip-link:focus{
  outline: 3px solid var(--lsa-gold) !important;
  outline-offset: 2px !important;
}

/* ==========================================================================
   9. TYPE SYSTEM  — Texas identity, replacing the deep-space pairing
   Was:  Orbitron (sci-fi display, set italic + uppercase) + Poppins (body)
   Now:  Oswald (condensed display, upright, uppercase kept) + Source Sans 3

   Applies site-wide INCLUDING the home page — unlike the colour rules, which
   are guarded with body:not(.home). Icon fonts (lp-icon, tb-icon, dashicons,
   h5p) are deliberately NOT touched: no universal selector is used, and the
   icon families are re-asserted at the end as a safety net.
   ========================================================================== */

:root{
  --lsa-display: 'Oswald', 'Arial Narrow', 'Helvetica Neue Condensed', sans-serif;
  --lsa-font:    'Source Sans 3', 'Source Sans Pro', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* ---- Body / UI ---- */
html body,
html body p,
html body li,
html body td,
html body th,
html body dd,
html body dt,
html body blockquote,
html body figcaption,
html body label,
html body input,
html body select,
html body textarea,
html body button,
html body .wp-block-navigation,
html body .btn,
html body .btn-primary,
html body .pmpro_btn,
html body .lp-button{
  font-family: var(--lsa-font) !important;
}

/* ---- Display: headings, titles, wordmark ---- */
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body .wp-block-post-title,
html body .wp-block-query-title,
html body .wp-block-learnpress-course-title,
html body .course-title,
html body .course-section__title,
html body .pmpro_card_title,
html body .pmpro_form_heading,
html body .pmpro_form_legend,
html body .vr-logo,
html body .lsa-programs h1,
html body .lsa-program-card h3,
html body .lsa-eyebrow{
  font-family: var(--lsa-display) !important;
  font-style: normal !important;      /* Orbitron was set italic — that slant is most of the sci-fi read */
  font-weight: 600 !important;
  letter-spacing: .01em !important;   /* Oswald is condensed; negative tracking closes it up too much */
}

/* Hero-scale headings carry a little more weight */
html body h1,
html body .wp-block-post-title,
html body .wp-block-query-title{
  font-weight: 700 !important;
}

/* Keep the uppercase banner treatment the site already uses */
html body h1,
html body .wp-block-query-title,
html body .vr-logo{
  text-transform: uppercase !important;
}

/* ---- Nav + small caps UI ---- */
html body .wp-block-navigation a,
html body .wp-block-navigation .wp-block-navigation-item__label{
  font-family: var(--lsa-display) !important;
  font-weight: 500 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase;
}

/* ---- Buttons read better in the display face, upright ---- */
html body .wp-element-button,
html body .wp-block-button__link,
html body input[type="submit"],
html body .pmpro_btn,
html body .lp-button,
html body .btn-primary{
  font-family: var(--lsa-display) !important;
  font-style: normal !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase;
}

/* ==========================================================================
   Icon-font safety net — these must keep their own families or the glyphs
   turn into stray letters. Listed explicitly because the rules above touch
   button/span-ish elements that icons sometimes live inside.
   ========================================================================== */
html body [class^="lp-icon"],
html body [class*=" lp-icon"],
html body [class^="tb-icon"],
html body [class*=" tb-icon"],
html body .dashicons,
html body .dashicons-before::before,
html body [class^="h5p-"],
html body [class*=" h5p-"]{
  font-family: inherit;
}
html body i[class^="lp-icon"],
html body i[class*=" lp-icon"]{
  font-family: 'lp-icon' !important;
}
html body .dashicons,
html body .dashicons-before::before{
  font-family: dashicons !important;
}
html body [class^="tb-icon"],
html body [class*=" tb-icon"]{
  font-family: 'tb-icon' !important;
}

/* ---- Archive card CTA: the cyan lives on the wrapping <button>, not the
       inner <a>, so the earlier link-level rules never reached it. ------- */
html body:not(.home) button.wp-block-learnpress-course-button-read-more,
html body:not(.home) .wp-block-learnpress-course-button-read-more,
html body:not(.home) .course-button-read-more button{
  background: var(--lsa-gold) !important;
  background-color: var(--lsa-gold) !important;
  background-image: none !important;
  color: #111 !important;
  border: none !important;
  border-radius: 9999px !important;
  font-family: var(--lsa-display) !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase;
  box-shadow: 0 2px 8px rgba(0,40,104,.12);
}
html body:not(.home) button.wp-block-learnpress-course-button-read-more:hover,
html body:not(.home) .course-button-read-more button:hover{
  background: var(--lsa-gold-dark) !important;
  color: #111 !important;
}
html body:not(.home) button.wp-block-learnpress-course-button-read-more a,
html body:not(.home) .course-button-read-more button a{
  color: #111 !important;
  text-decoration: none !important;
}

/* ---- Page + panel scrollbars across the site (were deep-space cyan) ---- */
html:has(body:not(.home)){
  scrollbar-color: rgba(0,40,104,.35) transparent;
  scrollbar-width: thin;
}
html body:not(.home) *::-webkit-scrollbar{ width:8px; height:8px; }
html body:not(.home) *::-webkit-scrollbar-thumb{
  background: rgba(0,40,104,.35) !important;
  border-radius: 9999px;
}
html body:not(.home) *::-webkit-scrollbar-track{ background: transparent !important; }

/* ---- Some containers set scrollbar-color explicitly (e.g.
       .lp-course-filter-category = cyan on slate), which an html-level rule
       cannot override. Property-scoped universal rule: affects only the
       scrollbar, never layout or type. ----------------------------------- */
html body:not(.home) *{
  scrollbar-color: rgba(0,40,104,.35) transparent !important;
}
html body:not(.home) .lp-course-filter-category,
html body:not(.home) .lp-course-filter{
  scrollbar-color: rgba(0,40,104,.35) transparent !important;
  scrollbar-width: thin !important;
}

/* ==========================================================================
   FIX — lesson callout legibility (light text on the new light cards)
   ==========================================================================
   deep-space-lab.css paints every callout's text for a DARK card, scoped under
   #grit-lesson-wrapper, some with a DOUBLED id:

     #grit-lesson-wrapper .big-question p            #FFFFFF     (1,2,1)
     #grit-lesson-wrapper .the-spark p               #CFFAFE
     #grit-lesson-wrapper .the-grind p               #CBD5E1
     #grit-lesson-wrapper .reflect-callout p         #DDD6FE
     #grit-lesson-wrapper .try-this p / li           #DDD6FE
     #grit-lesson-wrapper#grit-lesson-wrapper .*     (2,1,0)

   My surface-4 rules used !important, which is why the CARD backgrounds went
   white — !important beats specificity. But where BOTH sides are !important,
   specificity decides, and (0,2,3) loses to (1,2,1) and (2,1,0). Result:
   white text on a white card.

   `:not(#_):not(#__)` contributes (2,0,0) while matching everything, taking
   these to (2,2,3+) — above both. Same idiom the theme itself uses.
   ========================================================================== */

/* ---- Card shells (incl. .reflect-callout, missed in surface 4) ---- */
html body.single-lp_course .reflect-callout:not(#_):not(#__){
  background: #F5F7FC !important;
  border: 1px solid var(--lsa-line) !important;
  border-left: 4px solid var(--lsa-navy) !important;
  border-radius: 12px !important;
}

/* ---- All callout body text -> ink ---- */
html body.single-lp_course .big-question p:not(#_):not(#__),
html body.single-lp_course .big-question li:not(#_):not(#__),
html body.single-lp_course .the-spark p:not(#_):not(#__),
html body.single-lp_course .the-spark li:not(#_):not(#__),
html body.single-lp_course .spark-block p:not(#_):not(#__),
html body.single-lp_course .the-grind p:not(#_):not(#__),
html body.single-lp_course .the-grind li:not(#_):not(#__),
html body.single-lp_course .the-grind strong:not(#_):not(#__),
html body.single-lp_course .reflect-callout p:not(#_):not(#__),
html body.single-lp_course .try-this p:not(#_):not(#__),
html body.single-lp_course .try-this li:not(#_):not(#__),
html body.single-lp_course .activity-steps > li:not(#_):not(#__),
html body.single-lp_course .journal-prompt p:not(#_):not(#__),
html body.single-lp_course .journal-prompt li:not(#_):not(#__){
  color: var(--lsa-ink) !important;
}

/* ---- Callout headings -> navy ---- */
html body.single-lp_course .big-question h2:not(#_):not(#__),
html body.single-lp_course .big-question h3:not(#_):not(#__),
html body.single-lp_course .the-spark h2:not(#_):not(#__),
html body.single-lp_course .the-spark h3:not(#_):not(#__),
html body.single-lp_course .spark-block h3:not(#_):not(#__),
html body.single-lp_course .the-grind h2:not(#_):not(#__),
html body.single-lp_course .the-grind h3:not(#_):not(#__),
html body.single-lp_course .try-this h3:not(#_):not(#__),
html body.single-lp_course .journal-prompt h3:not(#_):not(#__),
html body.single-lp_course .reflect-callout h3:not(#_):not(#__){
  color: var(--lsa-navy) !important;
}

/* ---- Labels / badges: gold on white fails contrast, so navy ---- */
html body.single-lp_course .big-question .bq-label:not(#_):not(#__),
html body.single-lp_course .try-this .time-badge:not(#_):not(#__){
  color: var(--lsa-navy) !important;
}

/* ---- Decorative ::before marks (were gold / violet / amber on dark) ---- */
html body.single-lp_course .try-this::before,
html body.single-lp_course .spark-block::before,
html body.single-lp_course .reflect-callout::before,
html body.single-lp_course .journal-prompt::before,
html body.single-lp_course .big-question::after{
  color: var(--lsa-gold-dark) !important;
}

/* ---- Numbered activity steps ---- */
html body.single-lp_course .activity-steps > li::before:not(#_){
  color: var(--lsa-navy) !important;
}
html body.single-lp_course .activity-steps > li strong:not(#_):not(#__){
  color: var(--lsa-navy) !important;
}

/* ---- Catch-all: anything still light inside a callout on a light card.
       Scoped to the callouts only, so it cannot leak into lesson prose. ---- */
html body.single-lp_course .big-question *:not(#_):not(#__),
html body.single-lp_course .the-spark *:not(#_):not(#__),
html body.single-lp_course .spark-block *:not(#_):not(#__),
html body.single-lp_course .the-grind *:not(#_):not(#__),
html body.single-lp_course .try-this *:not(#_):not(#__),
html body.single-lp_course .reflect-callout *:not(#_):not(#__),
html body.single-lp_course .journal-prompt *:not(#_):not(#__){
  text-shadow: none !important;
}

/* ---- Callout CARD backgrounds -------------------------------------------
   .the-grind's ground is set by the doubled-id rule
   `#grit-lesson-wrapper#grit-lesson-wrapper .the-grind` (2,1,0), which my
   surface-4 rule lost to — it stayed dark while the text above was flipped to
   ink, i.e. dark-on-dark. .try-this / .journal-prompt keep an off-brand violet
   tint from the same block. Escalated to (2,1,3)+ here.
   -------------------------------------------------------------------------- */

html body.single-lp_course .the-grind:not(#_):not(#__),
html body.single-lp_course .the-spark:not(#_):not(#__),
html body.single-lp_course .spark-block:not(#_):not(#__),
html body.single-lp_course .big-question:not(#_):not(#__){
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  border: 1px solid var(--lsa-line) !important;
  border-left: 4px solid var(--lsa-gold) !important;
  border-radius: 12px !important;
  color: var(--lsa-ink) !important;
}

/* violet tints -> navy tint, on brand and still legible */
html body.single-lp_course .try-this:not(#_):not(#__),
html body.single-lp_course .journal-prompt:not(#_):not(#__),
html body.single-lp_course .activity-steps:not(#_):not(#__){
  background: rgba(0,40,104,.045) !important;
  background-color: rgba(0,40,104,.045) !important;
  background-image: none !important;
  color: var(--lsa-ink) !important;
}
html body.single-lp_course .journal-prompt:not(#_):not(#__){
  background: #FFF7E6 !important;
  background-color: #FFF7E6 !important;
  border-left: 5px solid var(--lsa-gold) !important;
}
html body.single-lp_course .try-this:not(#_):not(#__){
  border: 1px solid var(--lsa-line) !important;
  border-left: 4px solid var(--lsa-navy) !important;
  border-radius: 12px !important;
}

/* ---- ROOT FIX: the lesson content wrapper itself was still deep-space -----
   #grit-lesson-wrapper carries background rgb(2,6,23). Surface 4 styled the
   player chrome (#popup-content, #learn-press-content-item) but not this inner
   wrapper, so lesson bodies kept a dark ground — and any callout using a low
   alpha tint composited over it to near-black, giving ~1.1:1 contrast against
   the ink text. Present in 25,032 of 25,033 lessons.
   -------------------------------------------------------------------------- */

html body.single-lp_course #grit-lesson-wrapper,
html body.single-lp_course #grit-lesson-wrapper#grit-lesson-wrapper{
  background: var(--lsa-sky) !important;
  background-color: var(--lsa-sky) !important;
  background-image: none !important;
  color: var(--lsa-ink) !important;
}

/* lesson prose inside the wrapper */
html body.single-lp_course #grit-lesson-wrapper#grit-lesson-wrapper p,
html body.single-lp_course #grit-lesson-wrapper#grit-lesson-wrapper li,
html body.single-lp_course #grit-lesson-wrapper#grit-lesson-wrapper td,
html body.single-lp_course #grit-lesson-wrapper#grit-lesson-wrapper span,
html body.single-lp_course #grit-lesson-wrapper#grit-lesson-wrapper strong,
html body.single-lp_course #grit-lesson-wrapper#grit-lesson-wrapper em{
  color: var(--lsa-ink) !important;
}
html body.single-lp_course #grit-lesson-wrapper#grit-lesson-wrapper h1,
html body.single-lp_course #grit-lesson-wrapper#grit-lesson-wrapper h2,
html body.single-lp_course #grit-lesson-wrapper#grit-lesson-wrapper h3,
html body.single-lp_course #grit-lesson-wrapper#grit-lesson-wrapper h4,
html body.single-lp_course #grit-lesson-wrapper#grit-lesson-wrapper h5{
  color: var(--lsa-navy) !important;
  text-shadow: none !important;
}
html body.single-lp_course #grit-lesson-wrapper#grit-lesson-wrapper a:not(#_){
  color: var(--lsa-navy) !important;
}

/* any remaining dark panel inside the wrapper */
html body.single-lp_course #grit-lesson-wrapper#grit-lesson-wrapper .lesson-image,
html body.single-lp_course #grit-lesson-wrapper#grit-lesson-wrapper figure,
html body.single-lp_course #grit-lesson-wrapper#grit-lesson-wrapper blockquote{
  background: #fff !important;
  color: var(--lsa-ink) !important;
  border-color: var(--lsa-line) !important;
}

/* ==========================================================================
   10. LESSON BLOCKS — full light-mode pass
   ==========================================================================
   Driven by an audit of 40 real lesson bodies cross-referenced against
   deep-space-lab.css: 58 block types carry light text and/or dark grounds
   authored for the dark theme. Earlier passes only covered 7 of them.

   All selectors carry :not(#_):not(#__) — the theme scopes these under
   #grit-lesson-wrapper, some with a DOUBLED id (2,1,0). Where both sides use
   !important, specificity decides, so class-only rules silently lose.

   DELIBERATELY LEFT DARK:
     .hero-banner / .hero-bg / .hero-overlay — a photo hero with a gradient
     overlay and light text. Internally legible and dark by design; flipping
     only its text would break it.
   ========================================================================== */

/* ---------- A. Card / panel containers -> light ---------- */
html body.single-lp_course .sls-flashcard:not(#_):not(#__),
html body.single-lp_course .sls-fc-inner:not(#_):not(#__),
html body.single-lp_course .sls-fc-front:not(#_):not(#__),
html body.single-lp_course .sls-fc-back:not(#_):not(#__),
html body.single-lp_course .key-concept-card:not(#_):not(#__),
html body.single-lp_course .key-takeaway-card:not(#_):not(#__),
html body.single-lp_course .real-world-card:not(#_):not(#__),
html body.single-lp_course .deep-dive:not(#_):not(#__),
html body.single-lp_course .deep-dive-body:not(#_):not(#__),
html body.single-lp_course .the-story:not(#_):not(#__),
html body.single-lp_course .aside-block:not(#_):not(#__),
html body.single-lp_course .field-notes:not(#_):not(#__),
html body.single-lp_course .pull-quote:not(#_):not(#__),
html body.single-lp_course .wiley-callout:not(#_):not(#__),
html body.single-lp_course .callout-body:not(#_):not(#__),
html body.single-lp_course .grit-quiz-block:not(#_):not(#__),
html body.single-lp_course .sls-confidence:not(#_):not(#__),
html body.single-lp_course .sls-truefalse:not(#_):not(#__),
html body.single-lp_course .sls-cloze:not(#_):not(#__),
html body.single-lp_course .sls-open-question:not(#_):not(#__),
html body.single-lp_course .sls-predict:not(#_):not(#__),
html body.single-lp_course .stat-row:not(#_):not(#__),
html body.single-lp_course .image-caption:not(#_):not(#__),
html body.single-lp_course .article-body:not(#_):not(#__),
html body.single-lp_course .TB-Body:not(#_):not(#__){
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  color: var(--lsa-ink) !important;
  border-color: var(--lsa-line) !important;
}

/* give the standalone cards a visible shell */
html body.single-lp_course .key-concept-card:not(#_):not(#__),
html body.single-lp_course .key-takeaway-card:not(#_):not(#__),
html body.single-lp_course .real-world-card:not(#_):not(#__),
html body.single-lp_course .deep-dive:not(#_):not(#__),
html body.single-lp_course .the-story:not(#_):not(#__),
html body.single-lp_course .field-notes:not(#_):not(#__),
html body.single-lp_course .aside-block:not(#_):not(#__),
html body.single-lp_course .wiley-callout:not(#_):not(#__),
html body.single-lp_course .sls-flashcard:not(#_):not(#__),
html body.single-lp_course .grit-quiz-block:not(#_):not(#__){
  border: 1px solid var(--lsa-line) !important;
  border-left: 4px solid var(--lsa-navy) !important;
  border-radius: 12px !important;
}
html body.single-lp_course .key-takeaway-card:not(#_):not(#__),
html body.single-lp_course .pull-quote:not(#_):not(#__){
  border-left-color: var(--lsa-gold) !important;
}
html body.single-lp_course .image-caption:not(#_):not(#__){
  background: rgba(0,40,104,.05) !important;
  color: var(--lsa-muted) !important;
  border-radius: 0 0 10px 10px !important;
}

/* ---------- B. Text inside every converted container -> ink ---------- */
html body.single-lp_course .sls-flashcard *:not(#_):not(#__),
html body.single-lp_course .key-concept-card *:not(#_):not(#__),
html body.single-lp_course .key-takeaway-card *:not(#_):not(#__),
html body.single-lp_course .real-world-card *:not(#_):not(#__),
html body.single-lp_course .deep-dive *:not(#_):not(#__),
html body.single-lp_course .the-story *:not(#_):not(#__),
html body.single-lp_course .aside-block *:not(#_):not(#__),
html body.single-lp_course .field-notes *:not(#_):not(#__),
html body.single-lp_course .pull-quote *:not(#_):not(#__),
html body.single-lp_course .wiley-callout *:not(#_):not(#__),
html body.single-lp_course .grit-quiz-block *:not(#_):not(#__),
html body.single-lp_course .sls-confidence *:not(#_):not(#__),
html body.single-lp_course .sls-truefalse *:not(#_):not(#__),
html body.single-lp_course .sls-cloze *:not(#_):not(#__),
html body.single-lp_course .sls-open-question *:not(#_):not(#__),
html body.single-lp_course .sls-predict *:not(#_):not(#__),
html body.single-lp_course .stat-row *:not(#_):not(#__),
html body.single-lp_course .article-body *:not(#_):not(#__){
  color: var(--lsa-ink) !important;
}

/* headings inside them -> navy */
html body.single-lp_course .key-concept-card h1:not(#_):not(#__),
html body.single-lp_course .key-concept-card h2:not(#_):not(#__),
html body.single-lp_course .key-concept-card h3:not(#_):not(#__),
html body.single-lp_course .key-takeaway-card h3:not(#_):not(#__),
html body.single-lp_course .real-world-card h3:not(#_):not(#__),
html body.single-lp_course .deep-dive h3:not(#_):not(#__),
html body.single-lp_course .the-story h3:not(#_):not(#__),
html body.single-lp_course .field-notes h3:not(#_):not(#__),
html body.single-lp_course .aside-block h3:not(#_):not(#__),
html body.single-lp_course .wiley-callout h3:not(#_):not(#__),
html body.single-lp_course .quiz-question:not(#_):not(#__),
html body.single-lp_course .sls-oq-question:not(#_):not(#__),
html body.single-lp_course .sls-conf-q:not(#_):not(#__),
html body.single-lp_course .sls-predict-q:not(#_):not(#__),
html body.single-lp_course .sls-next-headline:not(#_):not(#__){
  color: var(--lsa-navy) !important;
}

/* ---------- C. Labels / badges / meta ---------- */
html body.single-lp_course .sls-fc-tag:not(#_):not(#__),
html body.single-lp_course .ba-label:not(#_):not(#__),
html body.single-lp_course .kt-label:not(#_):not(#__),
html body.single-lp_course .aside-label:not(#_):not(#__),
html body.single-lp_course .time-badge:not(#_):not(#__),
html body.single-lp_course .quiz-letter:not(#_):not(#__){
  color: var(--lsa-navy) !important;
  background: rgba(0,40,104,.08) !important;
  border-color: var(--lsa-line) !important;
}
html body.single-lp_course .sls-fc-hint:not(#_):not(#__),
html body.single-lp_course .sls-fc-cue:not(#_):not(#__),
html body.single-lp_course .sls-word-count:not(#_):not(#__),
html body.single-lp_course .sls-word-min:not(#_):not(#__),
html body.single-lp_course .sls-xapi-meta:not(#_):not(#__){
  color: var(--lsa-muted) !important;
}
html body.single-lp_course .sls-fc-answer:not(#_):not(#__),
html body.single-lp_course .sls-blank:not(#_):not(#__){
  color: var(--lsa-navy) !important;
  font-weight: 700 !important;
}

/* ---------- D. Editor / journal widget ---------- */
html body.single-lp_course .sls-editor-wrap:not(#_):not(#__),
html body.single-lp_course .sls-editor-area:not(#_):not(#__),
html body.single-lp_course .sls-editor-footer:not(#_):not(#__){
  background: #fff !important;
  background-color: #fff !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 12px !important;
}
html body.single-lp_course .sls-editor-toolbar:not(#_):not(#__){
  background: rgba(0,40,104,.05) !important;
  background-color: rgba(0,40,104,.05) !important;
  border-bottom: 1px solid var(--lsa-line) !important;
}
html body.single-lp_course .sls-ed-btn:not(#_):not(#__),
html body.single-lp_course .sls-ed-clear:not(#_):not(#__){
  background: #fff !important;
  color: var(--lsa-navy) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 8px !important;
}
html body.single-lp_course .sls-ed-btn:not(#_):not(#__):hover{
  background: rgba(0,40,104,.07) !important;
}
html body.single-lp_course .sls-ed-sep:not(#_):not(#__){
  background: var(--lsa-line) !important;
}

/* ---------- E. Interactive buttons ---------- */
html body.single-lp_course .quiz-btn:not(#_):not(#__),
html body.single-lp_course .sls-conf-btn:not(#_):not(#__),
html body.single-lp_course .sls-tf-btn:not(#_):not(#__),
html body.single-lp_course .sls-predict-opt:not(#_):not(#__){
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 10px !important;
}
html body.single-lp_course .quiz-btn:not(#_):not(#__):hover,
html body.single-lp_course .sls-conf-btn:not(#_):not(#__):hover,
html body.single-lp_course .sls-tf-btn:not(#_):not(#__):hover,
html body.single-lp_course .sls-predict-opt:not(#_):not(#__):hover{
  background: rgba(0,40,104,.06) !important;
  border-color: var(--lsa-navy) !important;
}

/* submit actions carry the primary gold */
html body.single-lp_course .sls-submit-btn:not(#_):not(#__),
html body.single-lp_course .quiz-submit:not(#_):not(#__),
html body.single-lp_course .sls-tt-submit:not(#_):not(#__){
  background: var(--lsa-gold) !important;
  background-color: var(--lsa-gold) !important;
  background-image: none !important;
  color: #111 !important;
  border: none !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
}

/* ---------- F. Result states stay SEMANTIC (green right / red wrong) ------- */
html body.single-lp_course .quiz-correct:not(#_):not(#__),
html body.single-lp_course .sls-tf-result.correct:not(#_):not(#__),
html body.single-lp_course .sls-cloze-result.correct:not(#_):not(#__){
  background: #ECFDF5 !important;
  border-color: #10A169 !important;
  color: #06553B !important;
}
html body.single-lp_course .quiz-wrong:not(#_):not(#__),
html body.single-lp_course .quiz-incorrect:not(#_):not(#__),
html body.single-lp_course .sls-tf-result.wrong:not(#_):not(#__){
  background: #FFF1F1 !important;
  border-color: #C83C3C !important;
  color: #7A1B1B !important;
}
html body.single-lp_course .sls-tf-explain:not(#_):not(#__),
html body.single-lp_course .sls-cloze-result:not(#_):not(#__),
html body.single-lp_course .sls-tf-result:not(#_):not(#__){
  color: var(--lsa-ink) !important;
}

/* ---------- G. Dark accent band: re-brand rather than flip ---------------
   .shift-section is a full-bleed dark gradient with white text — internally
   legible, so only its palette moves from deep-space to Lonestar navy. ---- */
html body.single-lp_course .shift-section:not(#_):not(#__){
  background: linear-gradient(135deg,#001A45 0%,#002868 60%,#0A3A7A 100%) !important;
  color: #fff !important;
}
html body.single-lp_course .shift-section *:not(#_):not(#__){
  color: #fff !important;
}
html body.single-lp_course .shift-watermark:not(#_):not(#__){
  color: rgba(255,255,255,.10) !important;
}

/* ---------- H. Hero banner: left dark by design, only the accent moves ---- */
html body.single-lp_course .hero-eyebrow:not(#_):not(#__),
html body.single-lp_course .hero-tag:not(#_):not(#__){
  color: var(--lsa-gold) !important;
}

/* ---- Child-level dark grounds inside converted containers ---------------
   e.g. `#grit-lesson-wrapper .deep-dive > *:not(summary) { background: var(--bg-l1) }`
   paints every child dark, which a container-level rule never reaches. The
   semantic result states (correct/incorrect) are excluded so they keep their
   green/red. -------------------------------------------------------------- */

html body.single-lp_course .deep-dive > *:not(#_):not(#__),
html body.single-lp_course .deep-dive summary:not(#_):not(#__),
html body.single-lp_course .deep-dive-body:not(#_):not(#__){
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  color: var(--lsa-ink) !important;
}
html body.single-lp_course .deep-dive summary:not(#_):not(#__){
  background: rgba(0,40,104,.06) !important;
  background-color: rgba(0,40,104,.06) !important;
  color: var(--lsa-navy) !important;
  font-weight: 700 !important;
  border-bottom: 1px solid var(--lsa-line) !important;
}
html body.single-lp_course .deep-dive:not(#_):not(#__){
  border: 2px dashed rgba(0,40,104,.25) !important;
}
html body.single-lp_course .deep-dive h1:not(#_):not(#__),
html body.single-lp_course .deep-dive h2:not(#_):not(#__),
html body.single-lp_course .deep-dive h3:not(#_):not(#__),
html body.single-lp_course .deep-dive h4:not(#_):not(#__){
  background: transparent !important;
  color: var(--lsa-navy) !important;
}

/* same guard for the other converted containers' direct children */
html body.single-lp_course .the-story > *:not(#_):not(#__),
html body.single-lp_course .key-concept-card > *:not(#_):not(#__),
html body.single-lp_course .key-takeaway-card > *:not(#_):not(#__),
html body.single-lp_course .real-world-card > *:not(#_):not(#__),
html body.single-lp_course .field-notes > *:not(#_):not(#__),
html body.single-lp_course .wiley-callout > *:not(#_):not(#__),
html body.single-lp_course .sls-flashcard > *:not(#_):not(#__),
html body.single-lp_course .sls-fc-inner > *:not(#_):not(#__),
html body.single-lp_course .stat-row > *:not(#_):not(#__),
html body.single-lp_course .sls-confidence > *:not(#_):not(#__),
html body.single-lp_course .sls-truefalse > *:not(#_):not(#__),
html body.single-lp_course .sls-cloze > *:not(#_):not(#__){
  background-color: transparent !important;
  background-image: none !important;
}

/* ==========================================================================
   11. LEARNING JOURNAL — course page card + sidebar strip
   .sls-course-journal-card carries a HARD-CODED dark ground
   rgba(15,23,42,.88) but takes its text from var(--vr-body), which this
   reskin remaps to ink — so it renders dark-on-dark. Same defect the
   sejal-learn reskin documented on blog 16. Its eyebrow/CTA use the cyan
   tokens. Card becomes light; the CTA takes the Lonestar gold.
   ========================================================================== */

html body:not(.home) .sls-course-journal-card,
html body.single-lp_course .sls-course-journal-card:not(#_):not(#__){
  background: #FFF7E6 !important;
  background-color: #FFF7E6 !important;
  background-image: none !important;
  border: 1px solid rgba(255,184,28,.45) !important;
  border-left: 5px solid var(--lsa-gold) !important;
  border-radius: 16px !important;
  color: var(--lsa-ink) !important;
}
html body:not(.home) .sls-course-journal-card *,
html body.single-lp_course .sls-course-journal-card *:not(#_):not(#__){
  color: var(--lsa-ink) !important;
}
html body:not(.home) .sls-course-journal-eyebrow,
html body.single-lp_course .sls-course-journal-eyebrow:not(#_):not(#__){
  color: var(--lsa-navy) !important;
  font-weight: 700 !important;
}
html body:not(.home) .sls-course-journal-copy,
html body.single-lp_course .sls-course-journal-copy:not(#_):not(#__){
  color: var(--lsa-ink) !important;
}

/* "Open journal" CTA — gold pill, dark label (beats the ink bleed rule) */
html body:not(.home) .sls-journal-link--course-home,
html body.single-lp_course a.sls-journal-link--course-home:not(#_):not(#__){
  background: var(--lsa-gold) !important;
  background-color: var(--lsa-gold) !important;
  background-image: none !important;
  border-color: transparent !important;
  border-radius: 9999px !important;
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  font-weight: 700 !important;
}
html body:not(.home) .sls-journal-link--course-home:hover,
html body:not(.home) .sls-journal-link--course-home:focus-visible{
  background: var(--lsa-gold-dark) !important;
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
}

/* Sidebar journal strip (cyan tint + cyan rules -> navy tint + line) */
html body:not(.home) .sls-sidebar-journal,
html body.single-lp_course .sls-sidebar-journal:not(#_):not(#__){
  background: rgba(0,40,104,.05) !important;
  border-top-color: var(--lsa-line) !important;
  border-bottom-color: var(--lsa-line) !important;
}
html body:not(.home) .sls-sidebar-journal-title,
html body.single-lp_course .sls-sidebar-journal-title:not(#_):not(#__){
  color: var(--lsa-navy) !important;
}
html body:not(.home) #popup-sidebar .sls-journal-link--sidebar,
html body.single-lp_course #popup-sidebar .sls-journal-link--sidebar:not(#_):not(#__){
  background: var(--lsa-gold) !important;
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
}

/* ==========================================================================
   12. DARK-BACKGROUND SWEEP — rules the audit found still uncovered
   Source: scan of every theme selector with a hard-coded dark background,
   minus those the reskin already targets. These are dark-on-dark risks
   because the reskin remaps descendant text to ink.
   ========================================================================== */

/* ---- Code blocks: dark ground + light text is internally fine, but the
        container rules above force ink on descendants, which would render
        code invisible. Converted to a light block instead. ---------------- */
html body:not(.home) code,
html body:not(.home) kbd,
html body:not(.home) pre,
html body:not(.home) .wp-block-code,
html body.single-lp_course code:not(#_):not(#__),
html body.single-lp_course pre:not(#_):not(#__){
  background: rgba(0,40,104,.06) !important;
  background-color: rgba(0,40,104,.06) !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 6px !important;
}
html body:not(.home) pre code{
  background: transparent !important;
  border: none !important;
}

/* ---- .sls-try-this / .sls-tt-* — a separate interactive from .try-this,
        never covered. Hard-coded #0F172A panels. ------------------------- */
html body.single-lp_course .sls-try-this:not(#_):not(#__),
html body.single-lp_course .sls-tt-body:not(#_):not(#__),
html body.single-lp_course .sls-tt-angle-top:not(#_):not(#__){
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
}
html body.single-lp_course .sls-try-this *:not(#_):not(#__),
html body.single-lp_course .sls-tt-body *:not(#_):not(#__){
  color: var(--lsa-ink) !important;
}

/* ---- Text-to-speech speed control (cyan tint + light text) ------------- */
html body:not(.home) .sls-tts-speed,
html body.single-lp_course .sls-tts-speed:not(#_):not(#__),
html body:not(.home) .sls-tts-speed option{
  background: #fff !important;
  background-color: #fff !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 20px !important;
}

/* ---- Dark hero card: re-branded rather than flipped (light text stays) -- */
html body:not(.home) .hero-card,
html body.single-lp_course .hero-card:not(#_):not(#__){
  background: linear-gradient(135deg,#001A45 0%,#002868 50%,#0A3A7A 100%) !important;
}

/* ---- vr-hero / aurora: deep-space base -> Lonestar navy ---------------- */
html body:not(.home) .vr-hero{
  background-color: var(--lsa-navy) !important;
}

/* ---- Login notice banners (login.css rgba(15,23,42,0.9)) --------------- */
body.login.vrsite-5 .notice,
body.login.vrsite-5 .message,
body.login.vrsite-5 #login_error{
  background-color: #FFF7E6 !important;
}

/* ---- Sidebar journal link: was scoped to #popup-sidebar, so it kept the
       cyan (1.11:1) anywhere else it renders. Style it unconditionally. --- */
html body:not(.home) .sls-journal-link--sidebar,
html body:not(.home) a.sls-journal-link--sidebar,
html body.single-lp_course a.sls-journal-link--sidebar:not(#_):not(#__){
  background: var(--lsa-gold) !important;
  background-color: var(--lsa-gold) !important;
  background-image: none !important;
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  border: none !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  padding: .3rem .9rem !important;
}
html body:not(.home) .sls-journal-link--sidebar:hover{
  background: var(--lsa-gold-dark) !important;
  color: #111 !important;
}

/* ==========================================================================
   13. SURFACE 7 — DASHBOARD + PROFILE
   Clears the 21 dark-background rules the audit flagged as uncovered.
   Two component families:
     body.learnpress-profile ...  LearnPress profile (tabs, filters, stats)
     #wppd-dashboard ...          wp-program-dashboard (learner header, cards)
   Both are login-gated, so they are styled from the theme's own rules and
   verified by injecting the real markup.
   ========================================================================== */

/* ---------- Page grounds ---------- */
html body.learnpress-profile,
html body.page-id-23,
html body.page-id-6{
  background: var(--lsa-sky) !important;
  background-image: none !important;
  color: var(--lsa-ink) !important;
}
html:has(body.learnpress-profile){ background: var(--lsa-sky) !important; }
html body.learnpress-profile article.page{
  background: transparent !important;
  color: var(--lsa-ink) !important;
}

/* ==================== A. LearnPress profile ==================== */

html body.learnpress-profile .wrapper-profile-header,
html body.learnpress-profile .wrapper-profile-header.wrap-fullwidth,
html body.learnpress-profile .lp-user-cover-image_background{
  background: linear-gradient(135deg,#001A45 0%,#002868 60%,#0A3A7A 100%) !important;
  color: #fff !important;
}
html body.learnpress-profile .lp-profile-username,
html body.learnpress-profile .lp-profile-username a{
  color: #fff !important;
}

html body.learnpress-profile .lp-profile-content,
html body.learnpress-profile .lp-profile-content-area,
html body.learnpress-profile #profile-content{
  background: #fff !important;
  background-color: #fff !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 16px !important;
}
html body.learnpress-profile #profile-content :where(h2,h3,h4){
  color: var(--lsa-navy) !important;
}

/* nav tabs */
html body.learnpress-profile .lp-profile-nav,
html body.learnpress-profile .lp-profile-nav-tabs{
  background: #fff !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 12px !important;
}
html body.learnpress-profile .lp-profile-nav-tabs li,
html body.learnpress-profile .lp-profile-nav-tabs li a,
html body.learnpress-profile .lp-profile-nav-tabs li [class*=" lp-icon-"]{
  background: transparent !important;
  color: var(--lsa-ink) !important;
}
html body.learnpress-profile .lp-profile-nav-tabs li a:hover{
  background: rgba(0,40,104,.06) !important;
  color: var(--lsa-navy) !important;
}
html body.learnpress-profile .lp-profile-nav-tabs li.active,
html body.learnpress-profile .lp-profile-nav-tabs li.active > a{
  background: rgba(255,184,28,.16) !important;
  color: var(--lsa-navy) !important;
  border-left: 3px solid var(--lsa-gold) !important;
  font-weight: 700 !important;
}
html body.learnpress-profile .lp-profile-nav-tabs .profile-tab-sections,
html body.learnpress-profile .lp-profile-nav-tabs .profile-tab-sections li{
  background: rgba(0,40,104,.04) !important;
  color: var(--lsa-ink) !important;
}

/* filters + messages */
html body.learnpress-profile .learn-press-filters,
html body.learnpress-profile .learn-press-course-tab-filters,
html body.learnpress-profile .learn-press-course-tab__filter__content,
html body.learnpress-profile .sls-group-filter,
html body:not(.home) .sls-group-filter{
  background: rgba(0,40,104,.05) !important;
  background-color: rgba(0,40,104,.05) !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 12px !important;
}
html body.learnpress-profile .learn-press-message{
  background: #FFF7E6 !important;
  color: var(--lsa-ink) !important;
  border: 1px solid rgba(255,184,28,.5) !important;
  border-radius: 12px !important;
}

/* per-course progress + stats */
html body.learnpress-profile .learn-press-profile-course__statistic,
html body.learnpress-profile .learn-press-profile-course__progress,
html body.learnpress-profile .learn-press-profile-course__tab,
html body.learnpress-profile .dashboard-statistic__row .statistic-box,
html body.learnpress-profile .statistic-box{
  background: #fff !important;
  background-color: #fff !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 12px !important;
}
html body.learnpress-profile .statistic-box *,
html body.learnpress-profile .learn-press-profile-course__statistic *{
  color: var(--lsa-ink) !important;
}
html body.learnpress-profile .lp-ux-progress-fill{
  background: linear-gradient(90deg,var(--lsa-navy),var(--lsa-gold)) !important;
}
html body.learnpress-profile .lp-skeleton-animation{
  background: linear-gradient(90deg,#EEF2F9,#F7F9FC,#EEF2F9) !important;
}
html body.learnpress-profile .learn-press-course-builder-link{
  background: var(--lsa-gold) !important;
  background-image: none !important;
  color: #111 !important;
  border-radius: 9999px !important;
}

/* enrolled-students toolbar (instructor view) */
html body:not(.home) .lp-enrolled-students-table-toolbar,
html body:not(.home) .lp-enrolled-students-table-toolbar__field,
html body:not(.home) .lp-enrolled-students-form,
html body:not(.home) .lp-enrolled-search-input,
html body:not(.home) .lp-enrolled-students-table-toolbar__input{
  background: #fff !important;
  background-color: #fff !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 10px !important;
}

/* avatar controls */
html body.learnpress-profile .lp-btn-to-edit-avatar{
  background: var(--lsa-gold) !important;
  color: #111 !important;
  border-radius: 9999px !important;
}

/* ==================== B. Program dashboard (#wppd) ==================== */

html body:not(.home) #wppd-dashboard{
  background: transparent !important;
  color: var(--lsa-ink) !important;
}
html body:not(.home) #wppd-dashboard .wppd-learner-header{
  background: linear-gradient(135deg,#001A45 0%,#002868 60%,#0A3A7A 100%) !important;
  color: #fff !important;
  border-radius: 16px !important;
  border: none !important;
}
html body:not(.home) #wppd-dashboard .wppd-learner-name,
html body:not(.home) #wppd-dashboard .wppd-learner-meta,
html body:not(.home) #wppd-dashboard .wppd-learner-header *{
  color: #fff !important;
}
html body:not(.home) #wppd-dashboard .wppd-avatar{
  background: var(--lsa-gold) !important;
  color: #111 !important;
}
html body:not(.home) #wppd-dashboard .wppd-avatar__initials{
  color: #111 !important;
}

/* stat boxes + program/course cards + certificates + empty state */
html body:not(.home) #wppd-dashboard .wppd-stat,
html body:not(.home) #wppd-dashboard .wppd-stats,
html body:not(.home) #wppd-dashboard .wppd-program-card,
html body:not(.home) #wppd-dashboard .wppd-course-row,
html body:not(.home) #wppd-dashboard .wppd-course-detail,
html body:not(.home) #wppd-dashboard .wppd-cert-row,
html body:not(.home) #wppd-dashboard .wppd-empty-state,
html body:not(.home) .wppd-account-program,
html body:not(.home) .wppd-account-program .wppd-acct-courses{
  background: #fff !important;
  background-color: #fff !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 12px !important;
}
html body:not(.home) #wppd-dashboard .wppd-stat *,
html body:not(.home) #wppd-dashboard .wppd-program-card *,
html body:not(.home) #wppd-dashboard .wppd-course-row *,
html body:not(.home) #wppd-dashboard .wppd-empty-state *,
html body:not(.home) #wppd-dashboard .wppd-cert-row *{
  color: var(--lsa-ink) !important;
}
html body:not(.home) #wppd-dashboard .wppd-course-name,
html body:not(.home) #wppd-dashboard .wppd-cert-name{
  color: var(--lsa-navy) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
html body:not(.home) #wppd-dashboard .wppd-course-name:hover{
  color: var(--lsa-gold-dark) !important;
}
html body:not(.home) #wppd-dashboard .wppd-course-name--locked,
html body:not(.home) #wppd-dashboard .wppd-cert-meta,
html body:not(.home) #wppd-dashboard .wppd-expand-icon::after{
  color: var(--lsa-muted) !important;
}
html body:not(.home) #wppd-dashboard .wppd-cert-icon{
  color: var(--lsa-gold-dark) !important;
}

/* progress bars */
html body:not(.home) #wppd-dashboard .wppd-mini-bar-track{
  background: rgba(0,40,104,.12) !important;
}
html body:not(.home) #wppd-dashboard .wppd-mini-bar{
  background: linear-gradient(90deg,var(--lsa-navy),var(--lsa-gold)) !important;
}

/* primary CTA */
html body:not(.home) #wppd-dashboard .wppd-cta-btn{
  background: var(--lsa-gold) !important;
  background-image: none !important;
  color: #111 !important;
  border: none !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
}
html body:not(.home) #wppd-dashboard .wppd-cta-btn:hover{
  background: var(--lsa-gold-dark) !important;
  color: #111 !important;
}

/* status badges keep their SEMANTIC hues, re-tuned for a light ground */
html body:not(.home) #wppd-dashboard .wppd-badge--completed{
  background: #ECFDF5 !important; color: #06553B !important; border: 1px solid #10A169 !important;
}
html body:not(.home) #wppd-dashboard .wppd-badge--in-progress{
  background: #FFF7E6 !important; color: #7A4E00 !important; border: 1px solid var(--lsa-gold) !important;
}
html body:not(.home) #wppd-dashboard .wppd-badge--enrolled{
  background: rgba(0,40,104,.08) !important; color: var(--lsa-navy) !important; border: 1px solid var(--lsa-line) !important;
}
html body:not(.home) #wppd-dashboard .wppd-badge--not-started{
  background: #F1F5F9 !important; color: #475569 !important; border: 1px solid #CBD5E1 !important;
}

/* ==========================================================================
   14. LEARNPRESS CHECKOUT (body.learnpress-checkout)
   Separate from the PMPro funnel handled in surface 6 — LearnPress ships its
   own checkout with its own dark panels.
   ========================================================================== */

html body.learnpress-checkout{
  background: var(--lsa-sky) !important;
  color: var(--lsa-ink) !important;
}
html:has(body.learnpress-checkout){ background: var(--lsa-sky) !important; }

html body.learnpress-checkout .lp-content-area,
html body.learnpress-checkout .lp-checkout-form,
html body.learnpress-checkout .lp-checkout-form > #checkout-payment,
html body.learnpress-checkout .learn-press-checkout-user-form,
html body.learnpress-checkout .lp-checkout-block,
html body.learnpress-checkout .lp-checkout-user-form,
html body.learnpress-checkout .payment-methods,
html body.learnpress-checkout .lp-terms-and-conditions,
html body.learnpress-checkout #checkout-order table,
html body.learnpress-checkout .order_details{
  background: #fff !important;
  background-color: #fff !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 12px !important;
}
html body.learnpress-checkout #checkout-order td,
html body.learnpress-checkout .order-total th,
html body.learnpress-checkout .lp-content-area *,
html body.learnpress-checkout .learn-press-checkout-user-form *{
  color: var(--lsa-ink) !important;
  border-color: var(--lsa-line) !important;
}
html body.learnpress-checkout h1,
html body.learnpress-checkout h2,
html body.learnpress-checkout h3,
html body.learnpress-checkout .order-total th{
  color: var(--lsa-navy) !important;
}

/* payment method rows */
html body.learnpress-checkout .lp-payment-method,
html body.learnpress-checkout .lp-payment-method .payment-method-form{
  background: #fff !important;
  background-color: #fff !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 12px !important;
}
html body.learnpress-checkout .lp-payment-method:has(input:checked){
  background: rgba(255,184,28,.10) !important;
  border-color: var(--lsa-gold) !important;
}
html body.learnpress-checkout .lp-payment-method label a:not(#_),
html body.learnpress-checkout .lp-payment-method .payment-method-form a:not(#_){
  color: var(--lsa-navy) !important;
}

/* checkout inputs + primary button */
html body.learnpress-checkout input[type="text"],
html body.learnpress-checkout input[type="email"],
html body.learnpress-checkout input[type="password"],
html body.learnpress-checkout textarea,
html body.learnpress-checkout select{
  background: #fff !important;
  color: var(--lsa-ink) !important;
  border: 1px solid var(--lsa-line) !important;
  border-radius: 10px !important;
}
html body.learnpress-checkout .lp-button,
html body.learnpress-checkout button[type="submit"]{
  background: var(--lsa-gold) !important;
  background-image: none !important;
  color: #111 !important;
  border: none !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
}
html body.learnpress-checkout .lp-button:hover{
  background: var(--lsa-gold-dark) !important;
  color: #111 !important;
}

/* ---- Hero legibility wash: keep the wash (it exists so hero text stays
        readable over the image) but move it from deep-space to navy. ----- */
html body:not(.home) .vr-aurora-fade{
  background: linear-gradient(to bottom,
    rgba(0,26,69,0) 0%,
    rgba(0,26,69,.55) 60%,
    rgba(0,26,69,.85) 100%) !important;
}

/* ---- Profile headings: the theme rule keys off #profile-content (id), so
       headings rendered inside .lp-profile-content kept the light colour. -- */
html body.learnpress-profile h1,
html body.learnpress-profile h2,
html body.learnpress-profile h3,
html body.learnpress-profile h4,
html body.learnpress-profile h5,
html body.learnpress-profile .lp-profile-content h1,
html body.learnpress-profile .lp-profile-content h2,
html body.learnpress-profile .lp-profile-content h3,
html body.learnpress-profile .lp-profile-content h4,
html body:not(.home) .lp-profile-content h2,
html body:not(.home) .lp-profile-content h3,
html body:not(.home) .lp-profile-content h4{
  color: var(--lsa-navy) !important;
  text-shadow: none !important;
}
/* keep the dark profile header band's own text white */
html body.learnpress-profile .wrapper-profile-header h1,
html body.learnpress-profile .wrapper-profile-header h2,
html body.learnpress-profile .wrapper-profile-header h3,
html body.learnpress-profile .lp-profile-username,
html body.learnpress-profile .lp-profile-username a{
  color: #fff !important;
}
html body:not(.home) .lp-profile-content p,
html body:not(.home) .lp-profile-content li,
html body:not(.home) .lp-profile-content span{
  color: var(--lsa-ink) !important;
}
