@charset "UTF-8";
/* ============================================================
   JLaw 3MT - Kajabi theme overrides
   PRINCIPLE: product UI, not brand surface. Tool disappears into the task.
   PALETTE: black + white + orange #FF9A3E. ZERO mid-grey except functional lines.
   NO film grain, NO photo filter, NO emoji icons, NO display motion.
   ============================================================ */

/* ===== GLOBAL KILLS — apply on every Kajabi page ===== */
/* Streak widget: HIDE COMPLETELY everywhere (Houston request) */
#jlaw-streak-widget,
.jlaw-streak,
[id*="jlaw-streak"],
[class*="jlaw-streak"] {
  display: none !important;
  visibility: hidden !important;
}

/* Section overlays / light strips that bleed onto non-product pages */
.section__overlay,
.section__overlay--light,
[class*="section__overlay"],
.overlay--light,
[class*="overlay--light"] {
  background: var(--ink, #000) !important;
  background-color: var(--ink, #000) !important;
  color: var(--text, #fff) !important;
}

/* Force-dark every section on every page */
.section, .section--global, .section--page,
.section--posts, .section--product, .section--category,
.section--marketing, .section--footer, .section--header,
.section--features, .section--hero, .section--banner,
.section--call-to-action, .section--cta, .section--two-columns,
.section--3-feature-columns, .section--text-and-image, .section--testimonial,
[class*="section--"], .page-content {
  background: #000 !important;
  background-color: #000 !important;
  color: #ffffff !important;
}
.section h1, .section h2, .section h3, .section h4, .section h5, .section h6,
[class*="section--"] h1, [class*="section--"] h2, [class*="section--"] h3,
[class*="section--"] h4, [class*="section--"] h5, [class*="section--"] h6 {
  color: #ffffff !important;
}
.section p, .section li, .section span:not([class*="ace_"]),
[class*="section--"] p, [class*="section--"] li {
  color: rgba(255, 255, 255, 0.65) !important;
}

/* CATCH-ALL for the website (non-course) pages: any element with a near-white inline bg */
[style*="background: rgb(255"],
[style*="background-color: rgb(255"],
[style*="background:#fff"],
[style*="background-color:#fff"],
[style*="background: #fff"],
[style*="background-color: #fff"],
[style*="background: white"],
[style*="background-color: white"] {
  background: #000 !important;
  background-color: #000 !important;
}

/* Inline content blocks Kajabi calls .block (used inside .section--*) */
.block, .block--text, .block--image-text, .block--cta, .block--header,
.block--button, [class*="block--"] {
  background: transparent !important;
  color: #ffffff !important;
}
.block h1, .block h2, .block h3, .block h4,
[class*="block--"] h1, [class*="block--"] h2,
[class*="block--"] h3, [class*="block--"] h4 {
  color: #ffffff !important;
}
.block p, .block li, .block span:not([class*="ace_"]),
[class*="block--"] p, [class*="block--"] li {
  color: rgba(255, 255, 255, 0.65) !important;
}

/* Buttons inside any section/block — force orange pill */
.section .btn, [class*="section--"] .btn,
.block .btn, [class*="block--"] .btn,
.section a.button, [class*="section--"] a.button,
.section [class*="cta"], [class*="section--"] [class*="cta"] {
  background: #FF9A3E !important;
  background-color: #FF9A3E !important;
  color: #000000 !important;
  border-radius: 999px !important;
  padding: 14px 32px !important;
  font-family: 'Geist', sans-serif !important;
  font-weight: 600 !important;
}

/* Kill Kajabi's default text-light / text-dark variants */
.text-light, .text-muted, [class*="text-light"] {
  color: rgba(255, 255, 255, 0.65) !important;
}
.text-dark, [class*="text-dark"] {
  color: #ffffff !important;
}

/* Image placeholders Kajabi shows in the homepage builder — hide on live */
.image-placeholder, [class*="image-placeholder"],
.placeholder-image, .image--placeholder {
  background: var(--ink-card) !important;
  border: 1px dashed var(--line) !important;
}

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

:root {
  --ink:       #000000;
  --ink-card:  #111111;
  --paper:     #ffffff;

  --text:      #ffffff;
  --line:      rgba(255, 255, 255, 0.10);

  --accent:    #FF9A3E;
  --accent-hi: #FFAB5B;
}

/* ---- type ---- */
html, body, input, button, select, textarea {
  font-family: 'Geist', system-ui, -apple-system, sans-serif !important;
  -webkit-font-smoothing: antialiased;
}
code, pre, kbd, samp { font-family: 'Geist Mono', ui-monospace, monospace !important; }

html { color-scheme: dark; -webkit-text-size-adjust: 100%; }
body {
  background: var(--ink) !important;
  color: var(--text) !important;
  margin: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Geist', sans-serif !important;
  font-weight: 600;
  color: var(--text);
  letter-spacing: -0.01em;
}
h1 { font-weight: 700; letter-spacing: -0.03em; }
p, li { color: rgba(255, 255, 255, 0.55); line-height: 1.55; }

/* ---- links: universal force-visible (Kajabi default theme sets some to black) ---- */
a, a:link, a:visited {
  color: var(--text) !important;
  transition: color 150ms ease, opacity 150ms ease;
}
a:hover, a:focus { color: var(--accent) !important; }
a[href*="kajabi.com/r/"], a[href*="kajabi.com/r/"]:hover { color: var(--text) !important; }

::selection { background: var(--accent); color: var(--ink); }

/* ---- buttons (force orange even on Kajabi's themed Start Course button) ---- */
/* Triple-class specificity to beat Kajabi's .btn--solid.btn--{instanceId} rule */
a.btn.btn-cta, a.btn.btn--solid, a.btn-cta.btn--solid,
a.btn.btn-cta.btn--solid, button.btn.btn--solid,
a.btn, a.btn-cta, a.btn--solid, a.btn--auto, a.btn--med,
button.btn, button.btn-cta, button.btn--solid,
.btn, .btn-cta, .btn--solid, .btn--auto, .btn--med,
.button, button.primary, [class*="btn-primary"], input[type="submit"],
.section--hero .btn, .section--product_hero .btn,
[class*="StartCourse"], [class*="start-course"],
.product-hero__cta, .hero__cta, .hero-cta,
body a.btn[class*="btn--"] {
  background: var(--accent) !important;
  background-color: var(--accent) !important;
  background-image: none !important;
  color: var(--ink) !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 14px 32px !important;
  font-family: 'Geist', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: none !important;
  transition: background 150ms ease;
  box-shadow: none !important;
}
a.btn:hover, a.btn-cta:hover, a.btn--solid:hover,
.btn:hover, .btn-cta:hover, .btn--solid:hover,
.button:hover, button.primary:hover,
[class*="btn-primary"]:hover, input[type="submit"]:hover,
[class*="StartCourse"]:hover, .product-hero__cta:hover {
  background: var(--accent-hi) !important;
  background-color: var(--accent-hi) !important;
  color: var(--ink) !important;
}
.btn-secondary, [class*="btn-outline"] {
  background: transparent !important;
  color: var(--text) !important;
  border: 1px solid var(--line) !important;
}
.btn-secondary:hover, [class*="btn-outline"]:hover {
  border-color: var(--accent) !important;
  color: var(--accent) !important;
}

/* ---- header / nav: force dark even if Kajabi marks it "light" ---- */
.site-header, header.site-header, .navbar, nav[role="navigation"],
.header, .header--light, .header--dark, .section--navbar, [class*="header-menu"] {
  background: rgba(0, 0, 0, 0.85) !important;
  border-bottom: 1px solid var(--line) !important;
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
}
.site-header a, .navbar a,
.header a, .header--light a, .header--dark a,
.header-menu a, .header-ham a {
  color: var(--text) !important;
  font-family: 'Geist', sans-serif !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  letter-spacing: -0.005em !important;
  opacity: 0.85;
  transition: color 200ms ease, opacity 200ms ease;
}
.site-header a:hover, .navbar a:hover,
.header a:hover, .header-menu a:hover, .header-ham a:hover {
  color: var(--accent) !important;
  opacity: 1;
}
.site-header img.logo, .navbar img.logo,
.header img.logo, .header img:not(.jlaw-logo-img) {
  height: 36px !important;
  width: auto !important;
  filter: brightness(0) invert(1);  /* force white if logo is black */
}
/* JLaw injected logo — bigger, beats the .header img rule */
.header img.jlaw-logo-img,
.site-header img.jlaw-logo-img,
.navbar img.jlaw-logo-img,
img.jlaw-logo-img {
  height: 52px !important;
  width: auto !important;
  filter: none !important;
}
@media (min-width: 768px) {
  .header img.jlaw-logo-img,
  img.jlaw-logo-img { height: 64px !important; }
}
@media (min-width: 1200px) {
  .header img.jlaw-logo-img,
  img.jlaw-logo-img { height: 72px !important; }
}

/* JLaw wordmark — pill outline */
.jlaw-wordmark {
  font-family: 'Geist', sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  letter-spacing: 0.08em !important;
  color: var(--text) !important;
  text-decoration: none !important;
  padding: 6px 14px !important;
  border: 1.5px solid var(--text) !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center;
  background: transparent !important;
  transition: color 200ms ease, border-color 200ms ease, background 200ms ease;
}
.jlaw-wordmark:hover {
  color: var(--ink) !important;
  background: var(--text) !important;
  border-color: var(--text) !important;
}

/* ---- footer: minimal, no Kajabi branding ---- */
footer, .site-footer {
  background: var(--ink) !important;
  border-top: 1px solid var(--line) !important;
  color: var(--text) !important;
}
footer a, .site-footer a { color: var(--text) !important; opacity: 0.55; }
footer a:hover, .site-footer a:hover { color: var(--accent) !important; opacity: 1; }

/* KILL Kajabi branding completely (link + text + container) */
a[href*="kajabi.com/r/"],
[class*="powered-by"],
.kajabi-branding,
footer aside,
.site-footer aside,
footer .col-md-3:has(a[href*="kajabi.com"]),
footer a[href*="kajabi.com"],
.site-footer a[href*="kajabi.com"] {
  display: none !important;
}
/* Strip the "© YEAR Kajabi" copyright text via inline scope — JS handles this safer below */

/* KILL the weird fraktur X / unicode social icons */
footer a[href*="twitter"],
footer a[href*="facebook"],
footer a[href*="instagram"],
.site-footer a[href*="twitter"],
.site-footer a[href*="facebook"],
.site-footer a[href*="instagram"] {
  display: none !important;  /* hide entirely — no Kajabi-provided social */
}

/* ---- HERO: editorial display, mobile-first. KILL Premier theme bg image. ---- */
.hero-background, .background-image, .background-image--product_hero,
.background-image--hero, [class*="hero-background"], [class*="background-image"] {
  background-image: none !important;
  background: var(--ink) !important;
}
.section--hero, .section--product_hero {
  background: var(--ink) !important;
  color: var(--text) !important;
  padding: 56px 24px 40px !important;
  border-bottom: 1px solid var(--line);
  position: relative;
}
@media (min-width: 768px) {
  .section--hero, .section--product_hero { padding: 72px 32px 48px !important; }
}
.section--hero h1, .section--product_hero h1, .hero h1 {
  font-family: 'Geist', sans-serif !important;
  font-size: clamp(34px, 6vw, 72px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.02 !important;
  color: var(--text) !important;
  max-width: 900px;
  margin: 0 auto !important;
  text-align: center;
  text-transform: none;
  text-wrap: balance;
}
.section--hero p, .section--product_hero p {
  font-family: 'Geist', sans-serif !important;
  font-size: clamp(14px, 1.3vw, 17px) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: var(--text) !important;
  opacity: 0.55;
  max-width: 540px;
  margin: 16px auto 0 !important;
  text-align: center;
  letter-spacing: -0.005em;
}
.section--hero .btn, .section--product_hero .btn {
  margin: 24px auto 0 !important;
  display: inline-block;
  padding: 14px 32px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  border-radius: 999px !important;
}

/* Spec strip beneath hero */
.section--hero::after, .section--product_hero::after {
  content: '14 WEEKS  /  70 DAYS  /  1,217 LESSONS';
  display: block;
  font-family: 'Geist Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.28em;
  color: var(--text);
  opacity: 0.4;
  text-align: center;
  margin: 24px auto 0;
  text-transform: uppercase;
}
@media (min-width: 768px) {
  .section--hero::after, .section--product_hero::after {
    font-size: 11px;
  }
}

/* ---- cards ---- */
.card, .kajabi-card,
[class*="lesson-card"], [class*="post-card"], [class*="category-card"] {
  background: var(--ink-card) !important;
  border: 1px solid var(--line) !important;
  border-radius: 2px !important;
  color: var(--text) !important;
  transition: border-color 200ms ease;
}
.card:hover, .kajabi-card:hover,
[class*="lesson-card"]:hover, [class*="post-card"]:hover {
  border-color: var(--accent) !important;
}

/* ---- course outline: each day as a clean card, NO inline lesson list ---- */
.library, .product-outline, [class*="library"], [class*="outline-tree"],
.section--global, main {
  background: var(--ink) !important;
}

/* ---- COURSE OUTLINE — JS removes default panels + builds week grid ---- */
/* NOTE: .panel.syllabus is NOT hidden globally — JS physically removes it on the
   product index only. On /categories/{id} pages the lesson list still renders. */

/* Pagination — KILL on product index (we render all 14 weeks ourselves) */
body.jlaw-product-index .pag,
body.jlaw-product-index .pag__link,
body.jlaw-product-index .pagination,
body.jlaw-product-index nav.pagination,
body.jlaw-product-index [class*="pagination"],
body.jlaw-product-index ul.pagination,
body.jlaw-product-index .progress-summary,
body.jlaw-product-index [class*="lessons-completed"],
body.jlaw-product-index [class*="ProductProgress"],
body.jlaw-product-index [class^="pag"],
body.jlaw-product-index [class*=" pag "] {
  display: none !important;
}

/* Pagination on day/category pages — STYLE as buttons, not bare numbers */
.pag, ul.pag, .pagination {
  display: flex !important;
  gap: 8px !important;
  justify-content: center;
  list-style: none !important;
  padding: 24px 0 48px !important;
  margin: 0 !important;
}
.pag li, .pagination li { list-style: none; }
.pag__link, .pagination a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 14px !important;
  background: var(--ink-card) !important;
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  font-family: 'Geist Mono', ui-monospace, monospace !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--text) !important;
  text-decoration: none !important;
  transition: border-color 200ms ease, background 200ms ease;
}
.pag__link:hover, .pagination a:hover {
  border-color: var(--accent) !important;
  background: #161616 !important;
  color: var(--accent) !important;
}
.pag__link.is-active, .pag__link[aria-current], .pagination .active a {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: var(--ink) !important;
}

/* Native Kajabi "Lessons Completed" footer counter — KILL everywhere on product pages */
.product-progress,
.product-footer__progress,
[class*="lessons-completed"],
.section--product_footer {
  display: none !important;
}

/* ---- Weeks → Days drilldown (editorial, Nike-style hierarchy) ---- */
.jlaw-weeks-wrap {
  max-width: 880px;
  margin: 48px auto 120px;
  padding: 0 32px;
}
.jlaw-weeks-heading {
  font-family: 'Geist Mono', ui-monospace, monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.24em;
  color: var(--text);
  opacity: 0.5;
  text-transform: uppercase;
  margin: 0 0 32px;
  text-align: center;
}
.jlaw-week-card {
  display: block;
  background: var(--ink-card);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 28px 32px;
  margin: 12px 0;
  cursor: pointer;
  transition: border-color 300ms cubic-bezier(0.16, 1, 0.3, 1),
              background 300ms cubic-bezier(0.16, 1, 0.3, 1),
              transform 300ms cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 300ms cubic-bezier(0.16, 1, 0.3, 1);
}
.jlaw-week-card:hover {
  border-color: rgba(255, 154, 62, 0.6);
  background: #141414;
  transform: translateY(-2px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.6);
}
.jlaw-week-card.is-open {
  border-color: var(--accent);
  background: #141414;
}
.jlaw-week-card__row {
  display: grid;
  grid-template-columns: 96px 1fr auto;
  align-items: baseline;
  gap: 24px;
}
.jlaw-week-card__num {
  font-family: 'Geist Mono', ui-monospace, monospace;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.20em;
  color: var(--accent);
  text-transform: uppercase;
}
.jlaw-week-card__title {
  font-family: 'Geist', sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: var(--text);
  letter-spacing: -0.025em;
  line-height: 1.1;
}
.jlaw-week-card__meta {
  font-family: 'Geist Mono', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.16em;
  color: var(--text);
  opacity: 0.4;
  text-transform: uppercase;
}

/* Days nested inside an open week */
.jlaw-week-card__days {
  display: none;
  margin-top: 28px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
  gap: 8px;
}
.jlaw-week-card.is-open .jlaw-week-card__days { display: grid; }

.jlaw-day-link {
  display: block;
  padding: 18px 24px;
  background: var(--ink);
  border: 1px solid var(--line);
  border-radius: 10px;
  font-family: 'Geist', sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: var(--text) !important;
  text-decoration: none !important;
  transition: border-color 200ms ease, background 200ms ease, transform 200ms ease;
}
.jlaw-day-link:hover {
  border-color: var(--accent);
  background: #1a1a1a;
  transform: translateX(4px);
}
.jlaw-day-link__row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 16px;
}
.jlaw-day-link__num {
  font-family: 'Geist Mono', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.16em;
  color: var(--text);
  opacity: 0.4;
  text-transform: uppercase;
}

/* ---- Per-week completion count + week state (added 2026-06-01) ---- */
.jlaw-week-card__count {
  font-family: 'Geist Mono', ui-monospace, monospace;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--text);
  opacity: 0.4;
  text-align: right;
  white-space: nowrap;
}
.jlaw-week-card.is-complete .jlaw-week-card__count { color: #22C55E; opacity: 1; }
.jlaw-week-card.is-complete .jlaw-week-card__num   { color: #22C55E; }
.jlaw-week-card.is-current { border-color: rgba(255, 154, 62, 0.45); }
.jlaw-week-card.is-current .jlaw-week-card__count  { color: var(--accent); opacity: 1; }

/* ---- Day-link status dot (same language as the 70-day grid) ---- */
.jlaw-day-link__name { display: inline-flex; align-items: center; gap: 12px; min-width: 0; }
.jlaw-day-link__dot {
  flex-shrink: 0;
  width: 7px; height: 7px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);  /* not started */
}
.jlaw-day-link.is-started .jlaw-day-link__dot { background: #ffffff; }
.jlaw-day-link.is-current .jlaw-day-link__dot { background: var(--accent); box-shadow: 0 0 0 4px rgba(255, 154, 62, 0.15); }
.jlaw-day-link.is-done    .jlaw-day-link__dot { background: #22C55E; }
.jlaw-day-link.is-current  { border-color: rgba(255, 154, 62, 0.45); }
.jlaw-day-link.is-done .jlaw-day-link__name { opacity: 0.55; }

/* ---- Resume CTA (top of the course index) ---- */
.jlaw-resume {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 0 0 32px;
  padding: 22px 28px;
  background: var(--ink-card);
  border: 1px solid var(--line);
  border-left: 3px solid var(--accent);
  border-radius: 12px;
  text-decoration: none !important;
  transition: border-color 200ms ease, background 200ms ease, transform 200ms ease;
}
.jlaw-resume:hover {
  border-color: var(--accent);
  background: #141414;
  transform: translateY(-2px);
}
.jlaw-resume__text { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.jlaw-resume__eyebrow {
  font-family: 'Geist Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent) !important;
}
.jlaw-resume__title {
  font-family: 'Geist', sans-serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--text) !important;
  line-height: 1.05;
}
.jlaw-resume__day {
  font-weight: 500;
  font-size: 0.82em;
  color: rgba(255, 255, 255, 0.5) !important;
  margin-left: 10px;
  letter-spacing: -0.01em;
}
.jlaw-resume__go {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  background: var(--accent);
  color: var(--ink) !important;
  border-radius: 999px;
  font-family: 'Geist', sans-serif;
  font-size: 14px;
  font-weight: 600;
  transition: background 150ms ease;
}
.jlaw-resume__go i { font-style: normal; }
.jlaw-resume:hover .jlaw-resume__go { background: var(--accent-hi); }

/* Category page: keep syllabus list visible, force black bg, lessons as cards */
.section--global, .section--posts, .section--product,
.section, body, main, .content-wrap,
.section-wrap, .section-wrap--top {
  background: var(--ink) !important;
  background-color: var(--ink) !important;
  color: var(--text) !important;
}

.section--posts .panel.syllabus {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.syllabus__item {
  display: flex !important;
  align-items: center;
  gap: 20px;
  background: var(--ink-card) !important;
  border: 1px solid var(--line) !important;
  border-radius: 10px !important;
  padding: 14px 20px !important;
  margin: 8px 0 !important;
  transition: border-color 200ms ease, background 200ms ease, transform 200ms ease;
}
.syllabus__item:hover {
  border-color: var(--accent) !important;
  background: #161616 !important;
  transform: translateX(2px);
}
.syllabus__item a {
  color: var(--text) !important;
  text-decoration: none !important;
  font-family: 'Geist', sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
}
.syllabus__item__title, .syllabus__item h5 {
  font-family: 'Geist', sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: var(--text) !important;
  letter-spacing: -0.005em;
}

/* Category page hero — same dark treatment */
.section--category, .section--category_hero, .category-header {
  background: var(--ink) !important;
  color: var(--text) !important;
}
.section--category h1, .section--category_hero h1 {
  color: var(--text) !important;
  font-family: 'Geist', sans-serif !important;
  font-size: clamp(28px, 4vw, 48px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
}

/* ====== CATEGORY (DAY) PAGE — force ALL bg black, all text white ====== */
body.jlaw-category-page,
body.jlaw-category-page .container,
body.jlaw-category-page .container--main,
body.jlaw-category-page .content-wrap,
body.jlaw-category-page .section-wrap,
body.jlaw-category-page .section-wrap--top,
body.jlaw-category-page .section,
body.jlaw-category-page .section--global,
body.jlaw-category-page .section--category,
body.jlaw-category-page .section--posts,
body.jlaw-category-page .panel,
body.jlaw-category-page .panel.syllabus,
body.jlaw-category-page .panel-body,
body.jlaw-category-page main,
body.jlaw-category-page aside,
body.jlaw-category-page .section__sidebar,
body.jlaw-category-page .section__body {
  background: var(--ink) !important;
  background-color: var(--ink) !important;
  color: var(--text) !important;
}
body.jlaw-category-page .panel.syllabus,
body.jlaw-category-page .panel {
  border: none !important;
  box-shadow: none !important;
}

/* Empty sidebar on category pages — hide */
body.jlaw-category-page .section__sidebar,
body.jlaw-category-page aside.section__sidebar,
body.jlaw-category-page [class*="sidebar"] {
  display: none !important;
}
body.jlaw-category-page .section__body,
body.jlaw-category-page .col-lg-8 {
  width: 100% !important;
  max-width: 880px !important;
  margin: 0 auto !important;
  flex: 0 0 100% !important;
}

/* Breadcrumb */
body.jlaw-category-page .breadcrumb,
body.jlaw-category-page .breadcrumbs,
body.jlaw-category-page [class*="breadcrumb"] {
  background: transparent !important;
  color: var(--text) !important;
}
body.jlaw-category-page .breadcrumb a,
body.jlaw-category-page .breadcrumbs a,
body.jlaw-category-page [class*="breadcrumb"] a {
  color: var(--text) !important;
  opacity: 0.6;
}
body.jlaw-category-page .breadcrumb a:hover {
  color: var(--accent) !important;
  opacity: 1;
}

/* Hide Kajabi's NATIVE thumbnail (placeholder.png) since we inject our own .jlaw-thumb */
body.jlaw-category-page .syllabus__img,
body.jlaw-category-page .syllabus__item .media-left {
  display: none !important;
}

/* Lesson row: clean card, white title, hover lift */
body.jlaw-category-page .syllabus__item {
  display: flex !important;
  align-items: center;
  gap: 20px !important;
  background: var(--ink-card) !important;
  border: 1px solid var(--line) !important;
  border-radius: 10px !important;
  padding: 16px 20px !important;
  margin: 10px 0 !important;
  list-style: none !important;
  transition: border-color 200ms ease, background 200ms ease, transform 200ms ease;
}
body.jlaw-category-page .syllabus__item:hover {
  border-color: var(--accent) !important;
  background: #161616 !important;
  transform: translateX(2px);
}
body.jlaw-category-page .syllabus__item > a,
body.jlaw-category-page .syllabus__item .media,
body.jlaw-category-page .syllabus__item .media-body {
  flex: 1 !important;
  background: transparent !important;
  color: var(--text) !important;
  text-decoration: none !important;
  min-width: 0;
}
body.jlaw-category-page .syllabus__title,
body.jlaw-category-page .syllabus__item p,
body.jlaw-category-page .syllabus__item h5 {
  color: var(--text) !important;
  font-family: 'Geist', sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: -0.005em !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}
body.jlaw-category-page .syllabus__progress,
body.jlaw-category-page .syllabus__meta,
body.jlaw-category-page .syllabus__item small,
body.jlaw-category-page .syllabus__item .text-muted {
  color: rgba(255, 255, 255, 0.55) !important;
  font-family: 'Geist Mono', ui-monospace, monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
}

/* Category page heading + body text universal */
body.jlaw-category-page h1, body.jlaw-category-page h2,
body.jlaw-category-page h3, body.jlaw-category-page h4 {
  color: var(--text) !important;
}
body.jlaw-category-page p, body.jlaw-category-page li,
body.jlaw-category-page span, body.jlaw-category-page div {
  color: var(--text) !important;
}

/* Empty thumb (text-only lesson) — collapse instead of showing dark void */
.jlaw-thumb.is-empty {
  display: none !important;
}

/* Loaded thumb — keep border subtle */
.jlaw-thumb.is-loaded {
  border-color: rgba(255, 255, 255, 0.20) !important;
}

/* ====== POST (LESSON / VIDEO) PAGE — force ALL bg black ====== */
body.jlaw-post-page,
body.jlaw-post-page .container,
body.jlaw-post-page .container--main,
body.jlaw-post-page .content-wrap,
body.jlaw-post-page .section-wrap,
body.jlaw-post-page .section-wrap--top,
body.jlaw-post-page .section,
body.jlaw-post-page .section--global,
body.jlaw-post-page .section--posts,
body.jlaw-post-page .section--post,
body.jlaw-post-page main,
body.jlaw-post-page .section__body,
body.jlaw-post-page .section__sidebar,
body.jlaw-post-page .panel,
body.jlaw-post-page .panel-- {
  background: var(--ink) !important;
  background-color: var(--ink) !important;
  color: var(--text) !important;
  border: none !important;
  box-shadow: none !important;
}

/* Right-rail lesson list on post page (the "24 Lessons" sidebar) */
body.jlaw-post-page .syllabus__item,
body.jlaw-post-page .lesson-list__item,
body.jlaw-post-page [class*="lesson-item"] {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: var(--ink-card) !important;
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  margin: 6px 0 !important;
  padding: 10px 12px !important;
}
body.jlaw-post-page .syllabus__item.is-active,
body.jlaw-post-page .syllabus__item--current,
body.jlaw-post-page .syllabus__item[class*="active"] {
  border-color: var(--accent) !important;
  background: #161616 !important;
}
body.jlaw-post-page .syllabus__title,
body.jlaw-post-page .syllabus__heading,
body.jlaw-post-page .syllabus__item p,
body.jlaw-post-page .syllabus__item h5 {
  color: var(--text) !important;
  font-family: 'Geist', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}
/* Hide the placeholder.png thumbnails on the right-rail list — we inject our own */
body.jlaw-post-page .syllabus__img {
  display: none !important;
}
/* Right-rail thumbs are smaller than the category-page thumbs */
body.jlaw-post-page .jlaw-thumb {
  width: 80px !important;
  height: 45px !important;
  flex-shrink: 0 !important;
}

/* Post page right-rail playlist tracks (.playlist__body > a.media.track) */
body.jlaw-post-page .playlist,
body.jlaw-post-page .playlist__title,
body.jlaw-post-page .playlist__body {
  background: transparent !important;
  color: var(--text) !important;
}
body.jlaw-post-page .playlist__title h2,
body.jlaw-post-page .playlist__title h3 {
  color: var(--text) !important;
  font-family: 'Geist', sans-serif !important;
}
body.jlaw-post-page a.media.track {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: var(--ink-card) !important;
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  margin: 6px 0 !important;
  padding: 10px 12px !important;
  text-decoration: none !important;
  color: var(--text) !important;
  transition: border-color 200ms ease, background 200ms ease;
}
body.jlaw-post-page a.media.track:hover {
  border-color: var(--accent) !important;
  background: #161616 !important;
}
/* Active track (currently playing lesson) */
body.jlaw-post-page a.media.track.is-active,
body.jlaw-post-page a.media.track.active,
body.jlaw-post-page .playlist__body a.media.track[class*="active"] {
  border-color: var(--accent) !important;
  background: #161616 !important;
}
body.jlaw-post-page a.media.track .track__count {
  color: rgba(255, 255, 255, 0.55) !important;
  font-family: 'Geist Mono', ui-monospace, monospace !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  min-width: 16px !important;
  text-align: right !important;
  margin: 0 !important;
}
body.jlaw-post-page a.media.track .media-body,
body.jlaw-post-page a.media.track h5 {
  color: var(--text) !important;
  font-family: 'Geist', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  flex: 1 !important;
  min-width: 0;
}
/* Hide native placeholder thumbs on right rail — kill img.thumb AND its wrapping .media-left */
body.jlaw-post-page a.media.track img.thumb,
body.jlaw-post-page a.media.track img[src*="placeholder.png"],
body.jlaw-post-page a.media.track img[src*="kajabi-cdn"][src*="theme"][src*="assets"] {
  display: none !important;
}
/* Specifically the second .media-left (the one holding the placeholder img) */
body.jlaw-post-page a.media.track .media-left + .media-left {
  display: none !important;
}

/* Breadcrumb */
body.jlaw-post-page .breadcrumb,
body.jlaw-post-page [class*="breadcrumb"] {
  background: transparent !important;
}
body.jlaw-post-page .breadcrumb a,
body.jlaw-post-page [class*="breadcrumb"] a {
  color: var(--text) !important;
  opacity: 0.6;
}

/* Comment textarea — already dark, just make sure border + placeholder readable */
body.jlaw-post-page textarea,
body.jlaw-post-page input[type="text"] {
  background: var(--ink-card) !important;
  color: var(--text) !important;
  border: 1px solid var(--line) !important;
}
body.jlaw-post-page textarea::placeholder,
body.jlaw-post-page input::placeholder {
  color: rgba(255, 255, 255, 0.35) !important;
}

/* Post body content (lesson description / rich text) */
body.jlaw-post-page .post-body, body.jlaw-post-page .post-content,
body.jlaw-post-page .lesson-body, body.jlaw-post-page .rich-text,
body.jlaw-post-page .rich-text-content {
  color: var(--text) !important;
  background: transparent !important;
}
body.jlaw-post-page h1, body.jlaw-post-page h2,
body.jlaw-post-page h3, body.jlaw-post-page h4 {
  color: var(--text) !important;
}

/* Comments thread */
body.jlaw-post-page .comments, body.jlaw-post-page .comment,
body.jlaw-post-page [class*="comment"] {
  background: transparent !important;
  color: var(--text) !important;
}
body.jlaw-post-page .comment .name, body.jlaw-post-page .comment__author {
  color: var(--text) !important;
}

/* Video player wrapper + Back/Next nav strip — kill white bg */
body.jlaw-post-page .player,
body.jlaw-post-page .player--inline,
body.jlaw-post-page .player--unrecognized,
body.jlaw-post-page .player__nav,
body.jlaw-post-page [class*="player__"]:not(.player__progress) {
  background: var(--ink) !important;
  background-color: var(--ink) !important;
  color: var(--text) !important;
}
body.jlaw-post-page .player__nav {
  padding: 16px 8px !important;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
body.jlaw-post-page .player__nav .btn,
body.jlaw-post-page .btn-prev,
body.jlaw-post-page .btn-next {
  background: var(--accent) !important;
  color: var(--ink) !important;
  border-radius: 999px !important;
  padding: 10px 18px !important;
  font-size: 13px !important;
}

/* ===== "Smart Next" / Up Next panel (shows after Mark As Complete) ===== */
body.jlaw-post-page .smart-next {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  background: var(--ink-card) !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  margin: 16px 0 !important;
  color: var(--text) !important;
}
body.jlaw-post-page .smart-next__block {
  background: transparent !important;
  color: var(--text) !important;
}
body.jlaw-post-page .smart-next__block--left {
  flex-shrink: 0;
  width: 144px;
  height: 81px;
}
body.jlaw-post-page .smart-next__block--middle {
  flex: 1;
  min-width: 0;
}
body.jlaw-post-page .smart-next__block--right {
  flex-shrink: 0;
}
/* Hide native placeholder thumb */
body.jlaw-post-page .smart-next img.smart-next__img {
  display: none !important;
}
/* Force all text in the panel WHITE on the dark card */
body.jlaw-post-page .smart-next *,
body.jlaw-post-page .smart-next__text,
body.jlaw-post-page .smart-next__link,
body.jlaw-post-page .smart-next a,
body.jlaw-post-page .smart-next span {
  color: var(--text) !important;
}
/* Heading inside (Great Job! Keep Going!) */
body.jlaw-post-page .smart-next__text {
  display: block !important;
  font-family: 'Geist Mono', ui-monospace, monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--accent) !important;
  margin-bottom: 6px !important;
  font-weight: 500 !important;
}
/* Next-lesson title link (middle column) */
body.jlaw-post-page .smart-next__link:not(.smart-next__link--small) {
  display: block !important;
  font-family: 'Geist', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em !important;
  text-decoration: none !important;
  line-height: 1.25 !important;
}
body.jlaw-post-page .smart-next__link:not(.smart-next__link--small):hover {
  color: var(--accent) !important;
}
/* "Next Lesson →" small button (right column) */
body.jlaw-post-page .smart-next__link--small {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 18px !important;
  background: var(--accent) !important;
  color: var(--ink) !important;
  border-radius: 999px !important;
  font-family: 'Geist', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  transition: background 150ms ease;
}
body.jlaw-post-page .smart-next__link--small:hover {
  background: var(--accent-hi) !important;
  color: var(--ink) !important;
}
body.jlaw-post-page .smart-next__link--small i {
  font-size: 11px !important;
  color: var(--ink) !important;
}
/* Our injected next-lesson Wistia thumb */
body.jlaw-post-page .smart-next .jlaw-thumb {
  width: 144px !important;
  height: 81px !important;
  border-radius: 8px !important;
}

/* ========================================================================
   MOBILE OPTIMIZATIONS (< 768px) — phone-first
   ======================================================================== */
@media (max-width: 767px) {

  /* Header / logo: tighter, smaller logo */
  .header, .site-header, .navbar {
    padding: 12px 16px !important;
  }
  .jlaw-logo-img, img.jlaw-logo-img {
    height: 44px !important;
  }
  .header a, .header-menu a, .header-ham a {
    font-size: 13px !important;
  }

  /* Hero — already mostly clamps, just tighten padding */
  .section--hero, .section--product_hero {
    padding: 40px 20px 32px !important;
  }
  .section--hero h1, .section--product_hero h1, .hero h1 {
    font-size: clamp(28px, 8vw, 44px) !important;
    line-height: 1.05 !important;
  }
  .section--hero p, .section--product_hero p {
    font-size: 14px !important;
    max-width: 100% !important;
  }
  .section--hero .btn, .section--product_hero .btn {
    width: 100%;
    max-width: 280px;
    padding: 12px 24px !important;
  }
  .section--hero::after, .section--product_hero::after {
    font-size: 9px !important;
    letter-spacing: 0.18em !important;
  }

  /* Progress section — keep dots, tighten padding + legend wraps */
  #jlaw-progress-section,
  .jlaw-progress-section, .jlaw-progress-wrap {
    padding: 40px 20px 32px !important;
  }
  .jlaw-progress-grid {
    max-width: 100% !important;
    gap: 4px !important;
  }
  .jlaw-progress-section .jlaw-progress-count,
  .jlaw-progress-count {
    font-size: 32px !important;
  }
  .jlaw-progress-legend {
    flex-wrap: wrap;
    gap: 12px !important;
    font-size: 9px !important;
    letter-spacing: 0.12em !important;
  }

  /* Week cards (product index) */
  .jlaw-weeks-wrap {
    margin: 32px auto 80px !important;
    padding: 0 16px !important;
  }
  .jlaw-week-card {
    padding: 20px !important;
    border-radius: 10px !important;
  }
  .jlaw-week-card__row {
    grid-template-columns: 64px 1fr auto !important;
    gap: 16px !important;
  }
  .jlaw-week-card__count { font-size: 11px !important; }
  .jlaw-resume { padding: 18px 20px !important; gap: 14px !important; }
  .jlaw-resume__title { font-size: 18px !important; }
  .jlaw-resume__day { display: none !important; }
  .jlaw-resume__go { padding: 10px 16px !important; font-size: 13px !important; }
  .jlaw-week-card__num {
    font-size: 10px !important;
    letter-spacing: 0.18em !important;
  }
  .jlaw-week-card__title {
    font-size: 22px !important;
  }
  .jlaw-day-link {
    padding: 14px 16px !important;
    font-size: 14px !important;
  }
  .jlaw-day-link__num { font-size: 10px !important; }

  /* CATEGORY (day) page — lesson rows: keep thumb but smaller */
  body.jlaw-category-page .syllabus__item {
    padding: 12px !important;
    gap: 12px !important;
    border-radius: 8px !important;
  }
  body.jlaw-category-page .syllabus__title,
  body.jlaw-category-page .syllabus__item a,
  body.jlaw-category-page .syllabus__item h5 {
    font-size: 14px !important;
    line-height: 1.3 !important;
  }
  .jlaw-thumb { width: 100px !important; height: 56px !important; }
  body.jlaw-category-page .section__body,
  body.jlaw-category-page .col-lg-8 {
    padding: 0 16px !important;
  }
  body.jlaw-category-page h1,
  .section--category h1, .section--category_hero h1 {
    font-size: 26px !important;
  }

  /* POST (lesson) page */
  body.jlaw-post-page .section__body,
  body.jlaw-post-page .col-lg-8 {
    padding: 0 16px !important;
    width: 100% !important;
  }
  body.jlaw-post-page h1 { font-size: 22px !important; }
  body.jlaw-post-page h2 { font-size: 16px !important; }

  /* Right-rail playlist: it lives in .section__sidebar — stack BELOW video on mobile */
  body.jlaw-post-page .section__sidebar {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 16px !important;
    margin: 24px 0 !important;
  }
  /* Each playlist track row */
  body.jlaw-post-page a.media.track {
    padding: 10px !important;
    gap: 10px !important;
    border-radius: 8px !important;
  }
  body.jlaw-post-page .jlaw-thumb {
    width: 88px !important;
    height: 50px !important;
  }
  body.jlaw-post-page a.media.track .media-body,
  body.jlaw-post-page a.media.track h5 {
    font-size: 13px !important;
  }
  body.jlaw-post-page a.media.track .track__count {
    min-width: 20px !important;
  }

  /* Smart-next card: stack vertically on mobile */
  body.jlaw-post-page .smart-next {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
    padding: 16px !important;
    border-radius: 10px !important;
  }
  body.jlaw-post-page .smart-next__block--left {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16/9;
  }
  body.jlaw-post-page .smart-next .jlaw-thumb {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16/9 !important;
  }
  body.jlaw-post-page .smart-next__text { font-size: 10px !important; }
  body.jlaw-post-page .smart-next__link:not(.smart-next__link--small) {
    font-size: 16px !important;
  }
  body.jlaw-post-page .smart-next__link--small {
    align-self: flex-start;
    padding: 10px 20px !important;
  }

  /* Mark As Complete button — already full width via .btn--block */
  a.btn--completion, button.btn--completion {
    padding: 14px 24px !important;
    font-size: 14px !important;
  }

  /* Comments textarea */
  body.jlaw-post-page textarea {
    min-height: 100px !important;
  }

  /* Breadcrumb wraps better */
  .breadcrumb, [class*="breadcrumb"] {
    font-size: 12px !important;
    flex-wrap: wrap;
  }

  /* Pagination buttons (on day pages with > 10 lessons) */
  .pag__link, .pagination a {
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
  }

  /* Hide the persistent right rail toggle arrow that shows in the corner */
  .toggle, [class*="rail-toggle"], [class*="sidebar-toggle"] {
    display: none !important;
  }
}

/* ========================================================================
   LIBRARY / DASHBOARD pages — force dark on Kajabi's storefront cards
   ======================================================================== */
.product, .product--12, .product--6, .product--4,
.background-light, [class*="background-light"],
[class*="product-card"], [class*="ProductCard"] {
  background: var(--ink-card) !important;
  background-color: var(--ink-card) !important;
  border: 1px solid var(--line) !important;
  box-shadow: none !important;
  color: var(--text) !important;
}
.product__title, .product__name,
.product .title, .product h1, .product h2, .product h3, .product h4,
[class*="product-card"] h1, [class*="product-card"] h2,
[class*="product-card"] h3, [class*="product-card"] h4 {
  color: var(--text) !important;
}
.product__description, .product .description,
[class*="product-card"] p, .product p {
  color: rgba(255, 255, 255, 0.55) !important;
}
.product__cta, .product .btn, [class*="product-card"] .btn {
  background: var(--accent) !important;
  color: var(--ink) !important;
  border-radius: 999px !important;
}

/* Library page wrapper */
.library, .library__wrap, [class*="library"],
.section--library, .my-library {
  background: var(--ink) !important;
  color: var(--text) !important;
}

/* Generic site-wide page surfaces — kill any white bg */
.section--global, .section--page, .section--marketing,
.section--footer, .page-content {
  background: var(--ink) !important;
  color: var(--text) !important;
}

/* Catch-all: any element with light/white bg in the homepage builder sections */
.encore-theme .section--global,
[class*="section--"][class*="--light"] {
  background: var(--ink) !important;
  color: var(--text) !important;
}

/* Footer Kajabi credit + powered-by — kill on website pages too */
.footer .copyright, .site-footer .copyright,
footer [class*="powered-by"],
.site-footer__brand {
  display: none !important;
}

/* Extra-small phones (< 380px) */
@media (max-width: 379px) {
  .section--hero h1, .section--product_hero h1, .hero h1 {
    font-size: 26px !important;
  }
  .jlaw-week-card__title { font-size: 20px !important; }
  .jlaw-thumb { width: 88px !important; height: 50px !important; }
}

/* Thumbnail on each lesson row — 16:9, no overlay, subtle play icon */
.jlaw-thumb {
  flex-shrink: 0;
  width: 144px;
  height: 81px;
  background: #050505;
  border: 1px solid var(--line);
  border-radius: 6px;
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
}
.jlaw-thumb.is-loading {
  background-image: linear-gradient(135deg, #0a0a0a 25%, #141414 25%, #141414 50%, #0a0a0a 50%, #0a0a0a 75%, #141414 75%);
  background-size: 12px 12px;
}
.jlaw-thumb.is-loaded::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  width: 32px; height: 32px;
  margin: -16px 0 0 -16px;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  display: flex;
  opacity: 0;
  transition: opacity 200ms ease;
}
.syllabus__item:hover .jlaw-thumb::after { opacity: 1; }
.jlaw-thumb.is-loaded::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  width: 0; height: 0;
  margin: -6px 0 0 -3px;
  border-left: 9px solid #ffffff;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  z-index: 1;
  opacity: 0;
  transition: opacity 200ms ease;
}
.syllabus__item:hover .jlaw-thumb::before { opacity: 1; }

@media (max-width: 640px) {
  .jlaw-thumb { width: 96px; height: 54px; }
}

/* ---- progress bar (Kajabi default) ---- */
.progress, .progress-bar, [class*="progress-fill"] {
  background: var(--accent) !important;
}
.progress-track, [class*="progress-track"] {
  background: var(--line) !important;
}

/* ---- lesson page ---- */
.video-wrapper, .wistia_responsive_padding,
[class*="post-content"], [class*="lesson-content"] {
  background: var(--ink) !important;
  color: var(--text);
}
.post-body, .lesson-body, .rich-text-content {
  color: rgba(255, 255, 255, 0.55);
  font-size: 15px;
}
.post-body h1, .post-body h2, .post-body h3,
.lesson-body h1, .lesson-body h2, .lesson-body h3 {
  color: var(--text);
}
.post-body a, .lesson-body a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ---- forms ---- */
input[type="text"], input[type="email"], input[type="password"],
input[type="tel"], textarea, select {
  background: var(--ink-card) !important;
  color: var(--text) !important;
  border: 1px solid var(--line) !important;
  border-radius: 2px !important;
  padding: 10px 14px !important;
  font-size: 14px;
}
input:focus, textarea:focus, select:focus {
  outline: none !important;
  border-color: var(--accent) !important;
}

/* ---- kill Kajabi's purple/blue accents ---- */
.kjb-color-primary, .theme-color-primary {
  background-color: var(--accent) !important;
  color: var(--ink) !important;
}

/* ---- reduce motion ---- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* ---- hide Kajabi's Cofounder AI widget (noise on customer pages) ---- */
.kjb-assistant,
[class*="cofounder"],
[class*="Cofounder"] {
  display: none !important;
}

/* ---- hide Premier theme's white sidebar that bleeds onto product index ---- */
body.jlaw-product-index .section__sidebar,
body.jlaw-product-index aside.section__sidebar,
body.jlaw-product-index .col-lg-4.section__sidebar,
body.jlaw-product-index .product-sidebar,
body.jlaw-product-index [class*="sidebar"] {
  display: none !important;
}
/* And force the main column to full-width so it doesn't leave a gap */
body.jlaw-product-index .section__body,
body.jlaw-product-index .col-lg-8 {
  width: 100% !important;
  max-width: 880px !important;
  margin: 0 auto !important;
  flex: 0 0 100% !important;
}
/* Hide the small toggle/arrow on the far right edge */
body.jlaw-product-index .right-rail,
body.jlaw-product-index [class*="right-rail"],
body.jlaw-product-index [class*="sidebar-toggle"] {
  display: none !important;
}

/* ---- PROGRESS section: force black bg so white text reads ---- */
#jlaw-progress-section,
.jlaw-progress-section,
.jlaw-progress-wrap {
  background: var(--ink) !important;
  color: var(--text) !important;
  padding: 64px 24px 48px !important;
  border-bottom: 1px solid var(--line);
}
.jlaw-progress-section .jlaw-progress-eyebrow,
.jlaw-progress-eyebrow {
  font-family: 'Geist Mono', ui-monospace, monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: var(--text) !important;
  opacity: 0.5 !important;
  text-align: center;
  margin: 0 auto 24px !important;
  display: block;
}
/* (removed dead .jlaw-progress-count / .jlaw-progress-label — JS emits .jlaw-progress-title, never these) */
.jlaw-progress-grid {
  display: grid;
  grid-template-columns: repeat(14, 1fr);
  gap: 6px;
  max-width: 480px;
  margin: 0 auto !important;
}
/* (removed dead .jlaw-progress-dot circle/--today/--done overrides — the inline
   <style id="jlaw-gamification-styles"> block in product-theme.liquid owns the
   live square-dot grid: --started=white, --current=orange, --done=green) */

/* JLAW logo image — bigger per Houston's feedback. White-on-transparent already, no invert needed. */
.jlaw-logo-img {
  height: 52px !important;
  width: auto !important;
  display: block;
}
@media (min-width: 768px) {
  .jlaw-logo-img { height: 64px !important; }
}
@media (min-width: 1200px) {
  .jlaw-logo-img { height: 72px !important; }
}
/* The wordmark fallback also needs bigger */
.jlaw-wordmark {
  font-size: 18px !important;
  padding: 8px 18px !important;
}

/* === JLAW-LIBRARY-POLISH START === */
section.products .products__list { display:grid !important; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)) !important; gap:26px !important; align-items:start !important; max-width:1100px !important; }
section.products .products__col { width:auto !important; max-width:none !important; flex:0 1 auto !important; padding:0 !important; margin:0 !important; }
section.products .product, .products__list .product { display:flex !important; flex-direction:column !important; height:100% !important; background:#141414 !important; border:1px solid rgba(255,255,255,0.08) !important; border-radius:14px !important; overflow:hidden !important; box-shadow:0 14px 40px -18px rgba(0,0,0,0.7) !important; transition:transform .2s ease, border-color .2s ease !important; }
section.products .product:hover { transform:translateY(-3px) !important; border-color:rgba(255,154,62,0.55) !important; }
section.products .product > a:first-child { display:block !important; width:100% !important; }
.product__image { display:block !important; width:100% !important; aspect-ratio:16/9 !important; background:linear-gradient(135deg,#1b1b1b 0%,#2a2622 60%,#3a2c1c 100%); overflow:hidden !important; margin:0 !important; }
.product__image img { width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }
.product__content { padding:20px 22px 8px !important; }
.product__title { color:#f5f0e8 !important; font-weight:700 !important; letter-spacing:-0.01em !important; margin:0 0 14px !important; font-size:1.15rem !important; }
section.products .progress { background:transparent !important; height:auto !important; padding:0 !important; margin:0 0 4px !important; }
.progress__outer { height:4px !important; background:rgba(255,255,255,0.12) !important; border-radius:999px !important; overflow:hidden !important; width:100% !important; }
.progress__inner { background:#FF9A3E !important; height:100% !important; border-radius:999px !important; }
.product__button { padding:14px 22px 22px !important; margin-top:auto !important; }
.product__button .btn, section.products .btn--solid { background:#FF9A3E !important; color:#0a0a0a !important; border:none !important; border-radius:999px !important; font-weight:700 !important; padding:11px 24px !important; }
.product__button .btn:hover { filter:brightness(1.06) !important; }
.resume-course__image { aspect-ratio:16/9 !important; border-radius:10px !important; overflow:hidden !important; }
.resume-course__image img { width:100% !important; height:100% !important; object-fit:cover !important; }
/* card images */
a[href*="/products/jlaw-academy"] .product__image{background-image:url("https://web-eight-vert-93.vercel.app/images/teaching-circle-breakers-jersey.webp"),linear-gradient(135deg,#1b1b1b,#2a2622) !important;background-size:cover!important;background-position:center!important;}
a[href*="/products/3-month-transformation"] .product__image{background-image:url("https://web-eight-vert-93.vercel.app/images/drive/proof-giddey-layup.jpg"),linear-gradient(135deg,#1b1b1b,#2a2622) !important;background-size:cover!important;background-position:center!important;}
.resume-course__image{background-image:url("https://web-eight-vert-93.vercel.app/images/drive/hero-wide-shooter.jpg"),linear-gradient(135deg,#1b1b1b,#2a2622) !important;background-size:cover!important;background-position:center!important;}
.product__image img[src*=placeholder]{display:none!important;}
.resume-course__image img[src*=placeholder]{display:none!important;}
section.products .product:has(a[href*="/products/jlaw-academy"]) .progress{display:none !important;} /* Academy = library, no tracker */
/* --- 2026-06-09 r2: 30-Day card image, uniform cards, View Academy, single Dashboard, sleeker mobile --- */
a[href*="/products/30-day-leadership"] .product__image{background-image:url("https://web-eight-vert-93.vercel.app/images/drive/personality-mentor-talk.jpg"),linear-gradient(135deg,#1b1b1b,#2a2622) !important;background-size:cover !important;background-position:center !important;}
section.products .product__body{display:none !important;} /* uniform cards: no description blurb */
section.products .product__button a[href*="/products/jlaw-academy"]{font-size:0 !important;} /* hide "View Program" text... */
section.products .product__button a[href*="/products/jlaw-academy"]::after{content:"View Academy";font-size:0.85rem;font-weight:700;letter-spacing:0;color:#0a0a0a;} /* ...show "View Academy" */
.link-list__links a[href$="/library"]{display:none !important;} /* drop duplicate Dashboard from the secondary nav (header keeps one) */
.products__header .resume-course{display:none !important;} /* hide the awkward resume/continue widget */
@media (max-width:640px){
  section.products .products__list{grid-template-columns:1fr !important;gap:18px !important;max-width:100% !important;}
  .product__content{padding:16px 18px 6px !important;}
  .product__title{font-size:1.05rem !important;}
  .product__button{padding:12px 18px 18px !important;}
  .products__header{padding-left:4px !important;padding-right:4px !important;}
}
section.products .progress__inner[style*="width: 100%"],section.products .progress__inner[style*="width:100%"]{background:#22C55E !important;} /* complete=green not orange */
/* === JLAW-LIBRARY-POLISH END === */
