/**
 * Course B polish — Training Dashboard + lesson pages (P6 / Apple Pro Max bar)
 * Crowd: 25–45 shop techs, $397 Self-Study
 * Visual: sparse premium (black / #0071E3 blue / gold accents), φ spacing, big type
 * Logo: locked TVP PPF stacked mark via custom_logo (landscape, height-sized)
 * Scoped: body.ppf-apple-dash | body.single-ppf_lesson | body.ppf-course-home
 * Does NOT touch .ppfvp-player internals (play/seek/fullscreen untouched)
 *
 * P6 conflict audit fix (1.2.2):
 *  - Neutralize parent body.ppf-course light-paper tokens on LMS surfaces
 *  - Scope chrome-logo (no bare .ppfb-chrome-logo)
 *  - Absorb former dashboard-apple form/focus essentials
 * 1.2.3:
 *  - RESTORE Mattone as STANDARD on h1–h6 (reverse 1.2.2 Inter kill)
 *  - Primary buttons / CTAs → LMS Apple Button blue (#0071E3); gold = chrome accents only
 * 1.2.4:
 *  - TECHNICAL module accordion → φ spacing (gaps, padding, type, radius, bar)
 * 1.2.5:
 *  - Up Next + Learning Record cards → same φ system
 * 1.2.6:
 *  - Lesson video → Up Next gap/radius φ (8·13·21); player radius 13
 * 1.2.7:
 *  - Objective above video φ margins
 * 1.2.8:
 *  - Lesson chrome header φ: kill My Chapters ∩ Manual overlap; Sounds chip; module eyebrow blue
 * 1.2.9:
 *  - Compact Up Next cards with 8/13px φ spacing on lesson and dashboard surfaces
 */
:root {
  --ppf-b-bg: #0e1116;
  --ppf-b-card: #1d1d1f;
  --ppf-b-card-2: #141416;
  --ppf-b-text: #f5f5f7;
  --ppf-b-muted: #a1a1a6;
  --ppf-b-hair: #424245;
  --ppf-b-blue: #306edb;
  --ppf-b-blue-hover: #4a84e8;
  --ppf-b-gold: #fdb521;
  --ppf-b-gold-hover: #fecc67;
  /* LMS primary button (palette --course-button-bg / Apple Button) */
  --ppf-b-btn: #0071E3;
  --ppf-b-btn-hover: #0068D1;
  --ppf-b-btn-text: #FFFFFF;
  --ppf-b-ink: #141213;
  --ppf-phi: 1.618;
  --ppf-phi-inv: 0.618;
  --ppf-phi-sq: 2.618;
  --ppf-space-1: 8px;
  --ppf-space-2: 13px;   /* ~8φ */
  --ppf-space-3: 21px;
  --ppf-space-4: 34px;
  --ppf-space-5: 55px;
  --ppf-radius: 14px;
  --ppf-radius-sm: 12px;
  --ppf-radius-phi: 13px; /* 8φ — module cards */
  --ppf-pill: 9999px;
  /* Trajectory type: meta 13px → title 13φ ≈ 21px (ratio φ) */
  --ppf-traj-meta: 0.8125rem;
  --ppf-traj-title: 1.3125rem;
  --ppf-traj-bar: 13px; /* card/bar ≈ φ⁴ on collapsed row */
}

/* ---- Parent body.ppf-course light-paper bleed (CRITICAL) ----
   Parent style.css sets body.ppf-course { background:#EDEFF0; color:#141213;
   --course-paper/--course-ink/... }. Dash + manual carry .ppf-course.
   Remap those tokens + force dark shell so LMS Apple black wins cleanly. */
body.ppf-course.ppf-apple-dash,
body.ppf-course.ppf-course-home {
  --course-paper: var(--ppf-b-bg);
  --course-ink: var(--ppf-b-text);
  --course-quiet: var(--ppf-b-muted);
  --course-line: var(--ppf-b-hair);
  --course-card: var(--ppf-b-card);
  --course-charcoal: var(--ppf-b-bg);
  --course-charcoal-2: var(--ppf-b-card);
  --course-on-charcoal: var(--ppf-b-text);
  --course-on-charcoal-quiet: var(--ppf-b-muted);
  background: var(--ppf-b-bg) !important;
  color: var(--ppf-b-muted);
}

/* ---- Typography: Mattone STANDARD on LMS headings (parent --font-heading) ----
   Body/UI stay Inter/system (parent body uses --font, not Mattone).
   Weight 400 = Mattone Regular only (no synthetic bold). */
body.ppf-apple-dash h1,
body.ppf-apple-dash h2,
body.ppf-apple-dash h3,
body.ppf-apple-dash h4,
body.ppf-apple-dash h5,
body.ppf-apple-dash h6,
body.ppf-course-home h1,
body.ppf-course-home h2,
body.ppf-course-home h3,
body.ppf-course-home h4,
body.ppf-course-home h5,
body.ppf-course-home h6,
body.single-ppf_lesson h1,
body.single-ppf_lesson h2,
body.single-ppf_lesson h3,
body.single-ppf_lesson h4,
body.single-ppf_lesson h5,
body.single-ppf_lesson h6 {
  font-family: 'Mattone', 'Arial Black', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 400;
}

/* ---- Dashboard + course home shell ---- */
body.ppf-apple-dash,
body.ppf-course-home {
  background: var(--ppf-b-bg) !important;
  color: var(--ppf-b-muted);
  font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
body.ppf-apple-dash .ppf-course-wrap,
body.ppf-apple-dash .ppfb-scope,
body.ppf-apple-dash .ppf-course-main,
body.ppf-course-home .ppf-course-wrap,
body.ppf-course-home .ppfb-scope,
body.ppf-course-home .ppf-course-main {
  background: var(--ppf-b-bg) !important;
}
body.ppf-apple-dash .ppf-course-header,
body.ppf-course-home .ppf-course-header {
  background: var(--ppf-b-bg);
  border-bottom: 1px solid var(--ppf-b-hair);
}
body.ppf-apple-dash .ppf-course-nav a,
body.ppf-course-home .ppf-course-nav a {
  color: var(--ppf-b-blue);
  font-weight: 500;
  text-decoration: none;
}
body.ppf-apple-dash .ppf-course-title,
body.ppf-course-home .ppf-course-title,
body.ppf-apple-dash h1.ppf-course-title {
  font-family: 'Mattone', 'Arial Black', 'Helvetica Neue', Arial, sans-serif;
  font-size: clamp(1.85rem, 5.5vw, 2.85rem);
  font-weight: 400;
  letter-spacing: -0.025em;
  color: var(--ppf-b-text);
  line-height: 1.12;
  margin: var(--ppf-space-4) 0 var(--ppf-space-3);
}

/* ---- Chrome: TVP stacked logo (landscape) + dark bar ---- */
body.ppf-apple-dash .ppfb-chrome,
body.ppf-course-home .ppfb-chrome,
body.single-ppf_lesson .ppfb-chrome,
body.woocommerce-account .ppfb-chrome {
  background: var(--ppf-b-bg) !important;
  border-bottom: 1px solid var(--ppf-b-hair) !important;
  margin: 0 0 var(--ppf-space-4) !important;
}
body.ppf-apple-dash .ppfb-chrome-inner,
body.ppf-course-home .ppfb-chrome-inner,
body.single-ppf_lesson .ppfb-chrome-inner {
  max-width: 720px;
  padding-top: var(--ppf-space-2);
  padding-bottom: var(--ppf-space-2);
}
body.ppf-apple-dash .ppfb-chrome-logo,
body.ppf-course-home .ppfb-chrome-logo,
body.single-ppf_lesson .ppfb-chrome-logo,
body.woocommerce-account .ppfb-chrome-logo {
  width: auto !important;
  height: 40px !important;
  max-width: 96px !important;
  border-radius: 0 !important;
  object-fit: contain !important;
  display: block;
  flex: none;
}
body.ppf-apple-dash .ppfb-chrome-wordmark,
body.ppf-course-home .ppfb-chrome-wordmark,
body.single-ppf_lesson .ppfb-chrome-wordmark,
body.woocommerce-account .ppfb-chrome-wordmark {
  color: var(--ppf-b-text) !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em;
}
body.ppf-apple-dash .ppfb-chrome-tier,
body.ppf-course-home .ppfb-chrome-tier {
  color: var(--ppf-b-muted) !important;
}
body.ppf-apple-dash .ppfb-chrome-dash,
body.single-ppf_lesson .ppfb-chrome-dash {
  border-color: var(--ppf-b-hair) !important;
  color: var(--ppf-b-muted) !important;
  background: transparent !important;
}
body.ppf-apple-dash .ppfb-chrome-dash:hover,
body.single-ppf_lesson .ppfb-chrome-dash:hover {
  border-color: var(--ppf-b-gold) !important;
  color: var(--ppf-b-text) !important;
}

@media (max-width: 480px) {
  body.ppf-apple-dash .ppfb-chrome-logo,
  body.ppf-course-home .ppfb-chrome-logo,
  body.single-ppf_lesson .ppfb-chrome-logo,
  body.woocommerce-account .ppfb-chrome-logo {
    height: 34px !important;
    max-width: 78px !important;
  }
}

/* ---- Logged-out notice → premium gate card ---- */
body.ppf-apple-dash .ppfb-notice,
body.ppf-course-home .ppfb-notice {
  max-width: 440px;
  margin: var(--ppf-space-4) auto var(--ppf-space-5);
  padding: var(--ppf-space-4);
  background: var(--ppf-b-card);
  border: 1px solid var(--ppf-b-hair);
  border-radius: var(--ppf-radius);
  text-align: center;
  color: var(--ppf-b-muted);
  font-size: 1.05rem;
  line-height: 1.5;
}
body.ppf-apple-dash .ppfb-notice a,
body.ppf-course-home .ppfb-notice a {
  color: var(--ppf-b-gold) !important;
  font-weight: 650;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
body.ppf-apple-dash .ppfb-notice a:hover {
  border-bottom-color: var(--ppf-b-gold);
}

/* ---- Greeting / progress / up-next (logged-in) ---- */
body.ppf-apple-dash .ppfb-dash-greeting__title,
body.ppf-apple-dash .ppfb-prog-title,
body.ppf-apple-dash .ppfb-prog-eyebrow,
body.ppf-apple-dash .ppfb-lr-kicker {
  color: var(--ppf-b-text) !important;
}
body.ppf-apple-dash .ppfb-dash-greeting__title {
  font-family: 'Mattone', 'Arial Black', 'Helvetica Neue', Arial, sans-serif !important;
  font-size: clamp(1.75rem, 5vw, 2.6rem) !important;
  font-weight: 400 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.12 !important;
}
body.ppf-apple-dash .ppfb-prog-eyebrow,
body.ppf-apple-dash .ppfb-lr-kicker,
body.ppf-apple-dash .ppfb-traj-group-title {
  color: var(--ppf-b-gold) !important;
  font-size: var(--ppf-traj-meta) !important; /* 13px — φ base for accordion type */
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}
body.ppf-apple-dash .ppfb-traj-group-title {
  padding: var(--ppf-space-3) 0 var(--ppf-space-2) !important; /* 21 / 13 */
  margin: 0 !important;
}
body.ppf-apple-dash .ppfb-prog-upnext,
body.ppf-apple-dash .ppfb-lr-card,
body.ppf-apple-dash .ppfb-10k-account,
body.ppf-apple-dash .ppfb-10k-account-record {
  background: var(--ppf-b-card) !important;
  border: 1px solid var(--ppf-b-hair) !important;
  border-radius: var(--ppf-radius-phi) !important; /* 13 = 8φ — match modules */
  box-shadow: none !important;
  color: var(--ppf-b-muted) !important;
}

/* ---- Up Next + Learning Record — φ (1.618) ----
   Pad 13 · gap 13 · eyebrow 8 · body 17 · stats 21/13 · Continue blue pill kept */
body.ppf-apple-dash .ppfb-prog-upnext {
  padding: var(--ppf-space-2) !important; /* 13 */
}
body.ppf-apple-dash .ppfb-lr-card {
  padding: var(--ppf-space-3) !important; /* 21; learning record unchanged */
}
body.ppf-apple-dash .ppfb-prog-upnext {
  margin-bottom: var(--ppf-space-2) !important; /* 13 gap → LR */
}
body.ppf-apple-dash .ppfb-prog-eyebrow {
  margin: 0 0 var(--ppf-space-1) !important; /* 8 */
}
body.ppf-apple-dash .ppfb-lr-kicker {
  margin: 0 0 var(--ppf-space-2) !important; /* 13; learning record unchanged */
}
body.ppf-apple-dash .ppfb-prog-title {
  font-family: 'Mattone', 'Arial Black', 'Helvetica Neue', Arial, sans-serif !important;
  font-weight: 400 !important;
  font-size: var(--ppf-traj-title) !important; /* 21 */
  line-height: 1.25 !important;
  letter-spacing: -0.015em;
  margin: 0 0 var(--ppf-space-1) !important; /* 8 */
}
body.ppf-apple-dash .ppfb-prog-body,
body.ppf-apple-dash .ppfb-prog-upnext > p:not([class]) {
  font-size: 1.0625rem !important; /* 17 — between meta 13 & title 21 */
  line-height: 1.45 !important;
  margin: 0 0 var(--ppf-space-2) !important; /* 13 before CTA */
  color: var(--ppf-b-text) !important;
}
body.ppf-apple-dash .ppfb-lr-progress {
  margin-top: 0 !important;
  gap: var(--ppf-space-2) !important; /* 13 */
}
body.ppf-apple-dash .ppfb-lr-value,
body.ppf-apple-dash .ppfb-lr-num {
  font-family: 'Mattone', 'Arial Black', 'Helvetica Neue', Arial, sans-serif !important;
  font-weight: 400 !important;
  font-size: var(--ppf-traj-title) !important; /* 21 = 13φ */
  line-height: 1.1 !important;
  letter-spacing: -0.02em;
}
body.ppf-apple-dash .ppfb-lr-label {
  font-size: var(--ppf-traj-meta) !important; /* 13 */
  margin-top: var(--ppf-space-1) !important; /* 8 */
}
body.ppf-apple-dash .ppfb-lr-caption {
  font-size: 0.6875rem !important; /* 11 ≈ meta/φ floor */
  margin-top: calc(var(--ppf-space-1) * var(--ppf-phi-inv)) !important; /* ~5 */
}
body.ppf-apple-dash .ppfb-lr-grid {
  gap: var(--ppf-space-2) !important; /* 13 */
  margin-top: var(--ppf-space-2) !important;
}
body.ppf-apple-dash .ppfb-lr-note {
  margin-top: var(--ppf-space-3) !important; /* 21 */
  padding-top: var(--ppf-space-2) !important; /* 13 */
  font-size: var(--ppf-traj-meta) !important;
}
body.ppf-apple-dash .ppfb-prog-module,
body.ppf-apple-dash .ppfb-prog-title,
body.ppf-apple-dash .ppfb-traj-module-title,
body.ppf-apple-dash .ppfb-traj-lesson-title,
body.ppf-apple-dash .ppfb-lr-value,
body.ppf-apple-dash .ppfb-lr-num {
  color: var(--ppf-b-text) !important;
}
body.ppf-apple-dash .ppfb-prog-meta,
body.ppf-apple-dash .ppfb-prog-dur,
body.ppf-apple-dash .ppfb-lr-label,
body.ppf-apple-dash .ppfb-traj-module-meta,
body.ppf-apple-dash .ppfb-traj-lesson-meta {
  color: var(--ppf-b-muted) !important;
}

/* Next-lesson CTA — LMS primary blue (not gold) */
body.ppf-apple-dash a.ppfb-prog-cta,
body.ppf-apple-dash .ppfb-prog-cta,
body.ppf-course-home a.ppfb-prog-cta {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: var(--ppf-b-btn) !important; /* LMS blue — stay */
  color: var(--ppf-b-btn-text) !important;
  border: 0 !important;
  border-radius: var(--ppf-pill) !important;
  font-weight: 650 !important;
  font-size: 1.05rem !important;
  letter-spacing: -0.01em;
  padding: 14px 28px !important;
  min-height: 48px !important;
  margin-top: var(--ppf-space-2) !important; /* 13 */
  margin-bottom: 0 !important; /* kill LMS space-4 dead footer */
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background .15s ease;
}
body.ppf-apple-dash a.ppfb-prog-cta:hover,
body.ppf-apple-dash .ppfb-prog-cta:hover,
body.ppf-apple-dash a.ppfb-prog-cta:focus-visible {
  background: var(--ppf-b-btn-hover) !important;
  color: var(--ppf-b-btn-text) !important;
}

/* ---- Trajectory module accordion — φ (1.618) ----
   Gaps 13 · pad 21/13 · title 21px / meta 13px · radius 13 · bar 13
   (collapsed card ≈ 89 → card/bar ≈ φ⁴). Mattone titles; blue bars/CTAs. */
body.ppf-apple-dash .ppfb-traj-group,
body.ppf-course-home .ppfb-traj-group {
  display: flex;
  flex-direction: column;
  gap: var(--ppf-space-2); /* 13 = 8φ */
}
body.ppf-apple-dash .ppfb-traj-module,
body.ppf-course-home .ppfb-traj-module {
  background: var(--ppf-b-card) !important;
  border: 1px solid var(--ppf-b-hair) !important;
  border-bottom: 1px solid var(--ppf-b-hair) !important; /* kill LMS hairline stack */
  border-radius: var(--ppf-radius-phi) !important; /* 13 = 8φ */
  box-shadow: none !important;
  color: var(--ppf-b-muted) !important;
  margin: 0 !important;
  overflow: hidden; /* clip bar to radius */
  padding: 0 !important;
}
body.ppf-apple-dash .ppfb-traj-module-head,
body.ppf-course-home .ppfb-traj-module-head {
  /* 21 side/top; 0 bottom so 13px bar can full-bleed to card edge */
  padding: var(--ppf-space-3) var(--ppf-space-3) 0 !important;
  min-height: 0;
}
body.ppf-apple-dash .ppfb-traj-module-title,
body.ppf-course-home .ppfb-traj-module-title {
  font-family: 'Mattone', 'Arial Black', 'Helvetica Neue', Arial, sans-serif !important;
  font-weight: 400 !important;
  font-size: var(--ppf-traj-title) !important; /* 21px = 13φ */
  line-height: 1.25 !important;
  letter-spacing: -0.015em;
  padding-right: calc(var(--ppf-traj-title) * var(--ppf-phi)) !important; /* chevron room */
  color: var(--ppf-b-text) !important;
}
body.ppf-apple-dash .ppfb-traj-module-meta,
body.ppf-course-home .ppfb-traj-module-meta {
  margin-top: var(--ppf-space-1) !important; /* 8 */
  gap: var(--ppf-space-2) !important; /* 13 */
  font-size: var(--ppf-traj-meta) !important; /* 13px — title/φ */
  line-height: 1.35 !important;
}
body.ppf-apple-dash .ppfb-traj-module-status--done,
body.ppf-course-home .ppfb-traj-module-status--done {
  color: #30d158 !important; /* keep Complete green */
  font-weight: 600;
}
body.ppf-apple-dash .ppfb-traj-chevron,
body.ppf-course-home .ppfb-traj-chevron {
  top: var(--ppf-space-3) !important; /* align with 21 pad */
  right: var(--ppf-space-3) !important;
  width: 0.5rem;
  height: 0.5rem;
}
body.ppf-apple-dash .ppfb-traj-track,
body.ppf-course-home .ppfb-traj-track {
  display: block !important;
  height: var(--ppf-traj-bar) !important; /* 13 — φ step above 8 */
  margin-top: var(--ppf-space-2) !important; /* 13 below meta */
  /* break out of 21px head pad → full-bleed bar (screenshot) */
  margin-left: calc(-1 * var(--ppf-space-3)) !important;
  margin-right: calc(-1 * var(--ppf-space-3)) !important;
  width: auto !important;
  border-radius: 0 !important;
  background: var(--ppf-b-hair) !important;
}
body.ppf-apple-dash .ppfb-traj-track-fill,
body.ppf-course-home .ppfb-traj-track-fill {
  background: var(--ppf-b-blue) !important; /* keep site blue bars */
}
body.ppf-apple-dash .ppfb-traj-lessons,
body.ppf-course-home .ppfb-traj-lessons {
  background: var(--ppf-b-card-2);
  padding: 0 var(--ppf-space-3) var(--ppf-space-2); /* 0 21 13 */
}
body.ppf-apple-dash .ppfb-traj-lesson,
body.ppf-course-home .ppfb-traj-lesson {
  padding: var(--ppf-space-2) 0 !important; /* 13 */
  border-top-color: var(--ppf-b-hair) !important;
}
body.ppf-apple-dash .ppfb-traj-lesson-title,
body.ppf-course-home .ppfb-traj-lesson-title {
  /* φ ladder: meta 13 → lesson ~15 → title 21 (≈ ×φ steps) */
  font-size: 0.9375rem !important;
  line-height: 1.35 !important;
  color: var(--ppf-b-text) !important;
}
body.ppf-apple-dash .ppfb-traj-lesson-meta,
body.ppf-course-home .ppfb-traj-lesson-meta {
  margin-top: calc(var(--ppf-space-1) * var(--ppf-phi-inv)) !important; /* ~5 */
  font-size: var(--ppf-traj-meta) !important;
}
body.ppf-apple-dash .ppfb-lr-ring-arc {
  stroke: var(--ppf-b-gold) !important;
}
body.ppf-apple-dash .ppfb-lr-ring-track {
  stroke: var(--ppf-b-hair) !important;
}
body.ppf-apple-dash a.ppfb-traj-lesson:hover {
  color: var(--ppf-b-text) !important;
  border-color: var(--ppf-b-blue) !important;
}

/* Shop aids — premium tiles */
.ppf-shop-aids {
  margin: var(--ppf-space-5) 0;
  padding: var(--ppf-space-4);
  background: var(--ppf-b-card);
  border: 1px solid var(--ppf-b-hair);
  border-radius: var(--ppf-radius);
}
.ppf-shop-aids h2 {
  margin: 0 0 var(--ppf-space-1);
  font-size: clamp(1.35rem, 3.8vw, 1.75rem);
  font-weight: 650;
  letter-spacing: -0.02em;
  color: var(--ppf-b-text);
}
.ppf-shop-aids .ppf-shop-aids-lead {
  margin: 0 0 var(--ppf-space-4);
  color: var(--ppf-b-muted);
  font-size: 1rem;
  line-height: 1.55;
}
.ppf-shop-aids-grid {
  display: grid;
  gap: var(--ppf-space-3);
  grid-template-columns: 1fr;
}
@media (min-width: 640px) {
  .ppf-shop-aids-grid { grid-template-columns: 1fr 1fr; }
}
.ppf-shop-aid {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: var(--ppf-space-3) var(--ppf-space-3) var(--ppf-space-3) calc(var(--ppf-space-3) + 6px);
  background: var(--ppf-b-card-2);
  border: 1px solid var(--ppf-b-hair);
  border-radius: var(--ppf-radius-sm);
  text-decoration: none !important;
  color: var(--ppf-b-text) !important;
  min-height: 108px;
  transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
.ppf-shop-aid::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 3px;
  border-radius: 2px;
  background: var(--ppf-b-gold);
}
.ppf-shop-aid:hover {
  border-color: var(--ppf-b-blue);
  background: #181a1f;
  transform: translateY(-1px);
}
.ppf-shop-aid:focus-visible {
  outline: 2px solid var(--ppf-b-blue);
  outline-offset: 2px;
}
.ppf-shop-aid strong {
  font-size: 1.08rem;
  font-weight: 650;
  letter-spacing: -0.015em;
  color: var(--ppf-b-text);
}
.ppf-shop-aid span {
  font-size: 0.92rem;
  color: var(--ppf-b-muted);
  line-height: 1.45;
}
.ppf-shop-aid .ppf-aid-cta {
  margin-top: auto;
  padding-top: var(--ppf-space-2);
  font-size: 0.88rem;
  font-weight: 650;
  color: var(--ppf-b-gold);
  letter-spacing: 0.01em;
}

/* Logged-out gate — course tone, not sales */
.ppf-course-gate {
  max-width: 420px;
  margin: var(--ppf-space-5) auto;
  padding: var(--ppf-space-4);
  background: var(--ppf-b-card);
  border: 1px solid var(--ppf-b-hair);
  border-radius: var(--ppf-radius);
  text-align: center;
}
.ppf-course-gate h2 {
  margin: 0 0 var(--ppf-space-2);
  color: var(--ppf-b-text);
  font-size: 1.45rem;
  letter-spacing: -0.02em;
}
.ppf-course-gate p {
  margin: 0 0 var(--ppf-space-3);
  color: var(--ppf-b-muted);
  line-height: 1.5;
}
.ppf-course-gate .ppf-btn-primary {
  display: inline-block;
  background: var(--ppf-b-btn);
  color: var(--ppf-b-btn-text) !important;
  font-weight: 650;
  font-size: 1.05rem;
  padding: 14px 28px;
  border-radius: var(--ppf-pill);
  text-decoration: none !important;
}
.ppf-course-gate .ppf-btn-primary:hover { background: var(--ppf-b-btn-hover); }
.ppf-course-gate .ppf-btn-ghost {
  display: inline-block;
  margin-top: var(--ppf-space-2);
  color: var(--ppf-b-blue) !important;
  font-weight: 500;
  text-decoration: none !important;
}

/* Quiet careers strip (not sales funnel) */
.ppf-careers-quiet {
  margin: var(--ppf-space-4) 0 0;
  padding: var(--ppf-space-3) 0 0;
  border-top: 1px solid var(--ppf-b-hair);
  color: var(--ppf-b-muted);
  font-size: 0.95rem;
}
.ppf-careers-quiet a { color: var(--ppf-b-blue); }

/* ---- Lesson pages ---- */
body.single-ppf_lesson {
  background: var(--ppf-b-bg) !important;
  color: var(--ppf-b-muted);
  font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
body.single-ppf_lesson .ppf-course-wrap,
body.single-ppf_lesson .ppfb-scope,
body.single-ppf_lesson .ppfb-page {
  background: var(--ppf-b-bg) !important;
}
body.single-ppf_lesson .ppfb-lesson-title {
  font-family: 'Mattone', 'Arial Black', 'Helvetica Neue', Arial, sans-serif;
  font-size: clamp(1.6rem, 4.5vw, 2.4rem);
  font-weight: 400;
  letter-spacing: -0.025em;
  color: var(--ppf-b-text);
  line-height: 1.15;
  margin: var(--ppf-space-3) 0 var(--ppf-space-2);
}
body.single-ppf_lesson .ppfb-eyebrow {
  color: var(--ppf-b-gold);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
body.single-ppf_lesson .ppfb-preview-banner {
  background: #181a1f;
  border: 1px solid var(--ppf-b-hair);
  border-radius: var(--ppf-radius);
  color: var(--ppf-b-muted);
  padding: var(--ppf-space-3);
  margin-bottom: var(--ppf-space-3);
}
/* Free-preview Buy CTA — LMS primary blue; .ppfb-btn / claim already LMS blue. */
body.single-ppf_lesson .ppfb-preview-cta,
body.single-ppf_lesson .ppfb-preview-cta a,
body.single-ppf_lesson a.ppfb-preview-cta {
  background: var(--ppf-b-btn) !important;
  color: var(--ppf-b-btn-text) !important;
  border: 0 !important;
  border-radius: var(--ppf-pill) !important;
  font-weight: 650 !important;
  padding: 12px 24px !important;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
body.single-ppf_lesson .ppfb-preview-cta:hover,
body.single-ppf_lesson .ppfb-preview-cta a:hover,
body.single-ppf_lesson a.ppfb-preview-cta:hover {
  background: var(--ppf-b-btn-hover) !important;
  color: var(--ppf-b-btn-text) !important;
}
body.single-ppf_lesson .ppfb-objective,
body.single-ppf_lesson .ppfb-tools-needed,
body.single-ppf_lesson .ppfb-covers {
  background: var(--ppf-b-card);
  border: 1px solid var(--ppf-b-hair);
  border-radius: var(--ppf-radius-phi); /* 13 — match Up Next / player */
  padding: var(--ppf-space-3);
  margin: var(--ppf-space-3) 0;
}
/* Beat parent .ppfb-scope.ppfb-lesson .ppfb-block { margin-bottom: 34px }
   so title→objective→video stays on φ 21 (objective now sits above video). */
body.single-ppf_lesson .ppfb-scope.ppfb-lesson .ppfb-objective.ppfb-block {
  margin: var(--ppf-space-3) 0 !important; /* 21 — kill parent space-4 mb */
  border-radius: var(--ppf-radius-phi) !important; /* 13 */
}
body.single-ppf_lesson .ppfb-objective-text,
body.single-ppf_lesson .ppfb-lesson-content {
  color: var(--ppf-b-muted);
  line-height: 1.65;
  font-size: 1.05rem;
}
body.single-ppf_lesson .ppfb-tool-card {
  background: #141416;
  border: 1px solid var(--ppf-b-hair);
  border-radius: 12px;
}
body.single-ppf_lesson .ppfb-tool-name { color: var(--ppf-b-text); }

/* Player: outer chrome — radius/gap φ; controls stay in player.css */
body.single-ppf_lesson .ppfvp-player {
  --ppfvp-primary: var(--ppf-b-btn); /* #0071E3 */
  border-radius: var(--ppf-radius-phi); /* 13 = 8φ — match Up Next */
  overflow: hidden;
  border: 1px solid var(--ppf-b-hair);
  margin: var(--ppf-space-3) 0 0; /* 21 top; bottom gap owned by .ppfb-nav */
}
body.single-ppf_lesson #ppfb-video-wrap {
  margin-bottom: 0;
}
/* Duration-only truth row (Captions available already removed) */
body.single-ppf_lesson .ppfb-media-truth {
  margin: var(--ppf-space-1) 0 0 !important; /* 8 */
}
/* φ gap: video → Up Next = 21 (or 13 after media-truth) */
body.single-ppf_lesson .ppfb-nav {
  margin-top: var(--ppf-space-2) !important; /* 13 */
  margin-bottom: 0;
  gap: var(--ppf-space-2); /* 13 */
}
body.single-ppf_lesson .ppfb-media-truth + .ppfb-nav {
  margin-top: var(--ppf-space-2) !important; /* 13 after truth */
}
body.single-ppf_lesson .ppfb-upnext {
  border-radius: var(--ppf-radius-phi) !important; /* 13 */
  padding: var(--ppf-space-2) !important; /* 13 — compact φ pad */
  margin: 0;
}
body.single-ppf_lesson .ppfb-upnext-title {
  margin-bottom: var(--ppf-space-2) !important; /* 13 */
}
/* Keep site Apple Button blue on big-play (player.css also bumped) */
body.single-ppf_lesson .ppfvp-big-play {
  background: linear-gradient(180deg, #4a9af5 0%, #0071E3 48%, #0060c2 100%);
}

/* φ vertical rhythm on lesson blocks */
body.single-ppf_lesson .ppfb-block { margin-block: var(--ppf-space-3); }

@media (max-width: 480px) {
  .ppf-shop-aids { padding: var(--ppf-space-3); }
  body.single-ppf_lesson .ppfb-lesson-title { font-size: 1.55rem; }
  body.ppf-apple-dash .ppf-course-title { font-size: 1.7rem; }
}

/* ---- Form / focus essentials (absorbed from retired dashboard-apple.css) ---- */
body.ppf-apple-dash .ppf-course-main input:not([type="submit"]):not([type="button"]):not([type="hidden"]),
body.ppf-apple-dash .ppf-course-main select,
body.ppf-apple-dash .ppf-course-main textarea {
  background: var(--ppf-b-card);
  border: 1px solid var(--ppf-b-hair);
  color: var(--ppf-b-text);
}
body.ppf-apple-dash a:focus-visible,
body.ppf-apple-dash button:focus-visible,
body.ppf-apple-dash input:focus-visible,
body.ppf-apple-dash select:focus-visible,
body.ppf-apple-dash textarea:focus-visible,
body.single-ppf_lesson a:focus-visible,
body.single-ppf_lesson button:focus-visible {
  outline: 2px solid var(--ppf-b-blue);
  outline-offset: 2px;
}

/* ---- 1.2.8 φ lesson HEADER (chrome + module eyebrow) ----
   Kill My Chapters ∩ wordmark overlap at ~430; Sounds chip stays;
   module eyebrow → readable blue on dark; Mattone title untouched. */
body.single-ppf_lesson .ppfb-chrome,
body.locked-lesson .ppfb-chrome {
  margin: 0 0 var(--ppf-space-3) !important; /* 21 */
}
body.single-ppf_lesson .ppfb-chrome-inner,
body.locked-lesson .ppfb-chrome-inner {
  gap: var(--ppf-space-2); /* 13 */
}
body.single-ppf_lesson .ppfb-chrome-brand,
body.locked-lesson .ppfb-chrome-brand {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  gap: var(--ppf-space-1); /* 8 */
}
body.single-ppf_lesson .ppfb-chrome-text,
body.locked-lesson .ppfb-chrome-text {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}
body.single-ppf_lesson .ppfb-chrome-wordmark,
body.locked-lesson .ppfb-chrome-wordmark {
  max-width: 100%;
  display: block;
}
body.single-ppf_lesson .ppfb-chrome-dash,
body.locked-lesson .ppfb-chrome-dash {
  flex: none;
}
body.single-ppf_lesson .ppfb-chrome .ppfb-sfx-toggle,
body.locked-lesson .ppfb-chrome .ppfb-sfx-toggle {
  flex: none;
  margin-left: 0; /* gap owns rhythm (was 0.75rem stacked on gap) */
  padding: 0.35rem 0.7rem;
  line-height: 1.15;
}

/* Module eyebrow — blue on dark + φ bar (gold accent = mattone rule) */
body.single-ppf_lesson .ppfb-module-eyebrow,
body.locked-lesson .ppfb-module-eyebrow {
  color: var(--ppf-b-btn) !important; /* #0071E3 */
  gap: var(--ppf-space-1) !important; /* 8 */
  margin: 0 0 var(--ppf-space-2) !important; /* 13 */
  font-size: 13px;
  letter-spacing: 0.14em;
}
body.single-ppf_lesson .ppfb-module-eyebrow::before,
body.locked-lesson .ppfb-module-eyebrow::before {
  width: 21px; /* 8φ² */
  height: 3px;
  background: var(--ppf-b-gold) !important; /* #fdb521 */
}

@media (max-width: 480px) {
  body.single-ppf_lesson .ppfb-chrome-inner,
  body.locked-lesson .ppfb-chrome-inner {
    gap: var(--ppf-space-1); /* 8 */
    padding-top: var(--ppf-space-2);
    padding-bottom: var(--ppf-space-2);
    padding-left: calc(var(--ppf-space-2) + env(safe-area-inset-left, 0px));
    padding-right: calc(var(--ppf-space-2) + env(safe-area-inset-right, 0px));
  }
  body.single-ppf_lesson .ppfb-chrome-dash,
  body.locked-lesson .ppfb-chrome-dash {
    padding: 8px 13px !important;
    font-size: 13px !important;
    min-height: 44px;
  }
  body.single-ppf_lesson .ppfb-chrome .ppfb-sfx-toggle,
  body.locked-lesson .ppfb-chrome .ppfb-sfx-toggle {
    padding: 8px 13px;
    font-size: 13px;
  }
}
