/* ============================================================================
   LearnPress page chrome — Nexus dark overrides
   Loaded only on LearnPress views (after deep-space-lab.css). Targets the
   single-course / profile / checkout *template* surfaces that LearnPress (and
   its block templates) render with light backgrounds, which would otherwise
   hide our light text. The lesson body itself (#grit-lesson-wrapper) styles
   itself and wins via higher specificity — these rules don't touch it.
   ========================================================================== */

/* ── Light container surfaces → dark ──────────────────────────────────────── */
.single-lp_course .wp-block-group.has-background,
.learnpress-page  .wp-block-group.has-background {
	background-color: var(--vr-surface-2, #FDEAD2) !important;
	color: var(--vr-contrast, #1A1A1A) !important;
}
.course-section-header {
	background-color: var(--vr-surface-2, #FDEAD2) !important;
	color: var(--vr-contrast, #1A1A1A) !important;
	border: 1px solid var(--vr-border, rgba(17, 109, 255,0.12)) !important;
}
.content-widget-social-share,
.wp-block-learnpress-course-image {
	background-color: var(--vr-surface, #FEF6ED) !important;
	color: var(--vr-contrast, #1A1A1A) !important;
	border: 1px solid var(--vr-border, rgba(17, 109, 255,0.12)) !important;
}
/* Dim LearnPress's light "no image" placeholder so it blends into the dark card
   instead of showing as a bright rectangle. */
.wp-block-learnpress-course-image img[src*="no-image"],
.course-image img[src*="no-image"],
img[src*="learnpress/assets/images/no-image"] {
	opacity: 0.12 !important;
	filter: grayscale(1) !important;
}

/* No-class inline light backgrounds inside the course/profile content
   (overview & description cards). Match background declarations only. */
.single-lp_course [style*="background-color: #f8fafc"],
.single-lp_course [style*="background-color:#f8fafc"],
.single-lp_course [style*="background: #f8fafc"],
.single-lp_course [style*="background-color: #ffffff"],
.single-lp_course [style*="background-color:#ffffff"],
.single-lp_course [style*="background: #ffffff"],
.single-lp_course [style*="background-color: #fff;"],
.single-lp_course [style*="background-color:#fff;"],
.single-lp_course [style*="background: #fff;"],
.single-lp_course [style*="background:#fff;"],
.single-lp_course [style*="background-color: #f1f2f8"],
.single-lp_course [style*="background-color:#f1f2f8"],
.single-lp_course [style*="background-color: #f3f4f6"],
.single-lp_course [style*="background:#f3f4f6"] {
	background-color: var(--vr-surface, #FFFFFF) !important;
	color: var(--vr-contrast, #1A1A1A) !important;
}

/* ── Readable text across the course/profile chrome ───────────────────────── */
.single-lp_course :where(h1, h2, h3, h4, h5, h6) { color: var(--vr-contrast, #1A1A1A) !important; }
.single-lp_course :where(p, li, span, dd, dt, strong, em, label, td, figcaption) {
	color: var(--vr-body, #374151) !important;
}
.single-lp_course a:not(.lp-button):not(.button):not(.wp-block-button__link):not([class*="button"]) {
	color: var(--vr-cyan, #116DFF) !important;
}

/* ── Curriculum list ──────────────────────────────────────────────────────── */
.course-curriculum .course-item,
.lp-course-curriculum .course-item {
	background-color: transparent !important;
	border-bottom: 1px solid var(--vr-border, rgba(17, 109, 255,0.10)) !important;
}
.course-curriculum .course-item:hover { background-color: rgba(17, 109, 255,0.06) !important; }
.course-curriculum .course-item a,
.course-item .course-item__title,
.course-item .item-name { color: var(--vr-body, #374151) !important; }
.course-curriculum .course-item.has-status.completed .course-item__title { color: var(--vr-emerald, #10B981) !important; }

/* Section meta / counts */
.course-curriculum .section-desc,
.course-curriculum .section-meta,
.course-item .course-item-meta { color: var(--vr-muted, #6B7280) !important; }

/* ── Enroll / meta sidebar icons → cyan (were LP default gold) ────────────── */
.course-summary-sidebar i,
.lp-course-buttons i,
.course-meta i,
.wp-block-learnpress-course-info i { color: var(--vr-cyan, #116DFF) !important; }

/* ── Profile page ─────────────────────────────────────────────────────────── */
body.learnpress-profile,
.lp-profile-content,
#profile-content,
.lp-profile-nav {
	background-color: transparent !important;
	color: var(--vr-contrast, #1A1A1A) !important;
}
body.learnpress-profile .lp-profile-nav-tabs li a { color: var(--vr-body, #374151) !important; }
body.learnpress-profile .lp-profile-nav-tabs li.active a,
body.learnpress-profile .lp-profile-nav-tabs li a:hover { color: var(--vr-cyan, #116DFF) !important; }

/* ── Lesson popup layout fix (scroll + header overlap + footer column) ───────
   The course-item popup left the page locked (body overflow hidden) with no
   working scroll container, a fixed header overlapping the title, and the
   prev/next footer laid out as a tall flex column beside the content (which
   collapsed the content when the sidebar opened). Restore a sane model:
   window scrolls; header sticks in-flow; footer wraps to its own full row. */
body.viewing-course-item,
body.lp-body.viewing-course-item {
	overflow-y: auto !important;
	overflow-x: hidden !important;   /* kill the stray horizontal scrollbar */
	height: auto !important;
}
/* Immersive reader: hide the site header inside the lesson popup so the LP
   popup-header (close ✕ + sidebar toggle) is the only top bar. */
body.viewing-course-item > header,
body.viewing-course-item header.wp-block-template-part,
body.viewing-course-item .wp-site-blocks > header {
	display: none !important;
}
/* popup-course as BLOCK — the flex-row/flex-wrap layout kept collapsing the
   content and sidebar to width 0. Block flow + a FIXED left sidebar + a content
   margin is robust and gives a true side-by-side reader. */
#popup-course {
	display: block !important;
	position: relative !important;
	min-height: 0 !important;
}
/* Header: full-width sticky bar at the top. */
#popup-header {
	position: sticky !important;
	top: 32px !important;
	bottom: auto !important;
	left: auto !important;
	width: 100% !important;
	z-index: 50 !important;
}
body:not(.admin-bar) #popup-header { top: 0 !important; }
@media screen and (max-width: 782px) { #popup-header { top: 46px !important; } }
/* Sidebar: fixed left panel below the admin bar + sticky header. Slides out
   when collapsed (.vr-sb-collapsed set by lesson.js via #sidebar-toggle). */
#popup-sidebar {
	position: fixed !important;
	left: 0 !important;
	top: 106px !important;            /* admin bar (32) + header (~74) */
	bottom: 0 !important;
	width: 320px !important;
	max-width: 85vw !important;
	overflow-y: auto !important;
	z-index: 45 !important;
	background: var(--vr-navy, #0A2E5A) !important;
	border-right: 1px solid var(--vr-border, rgba(17, 109, 255,0.14)) !important;
	transition: transform .3s ease !important;
}
body:not(.admin-bar) #popup-sidebar { top: 74px !important; }
/* Override LP's stuck `body.lp-sidebar-toggle__close` rules (which slide the
   sidebar off-screen + zero the content margin) — these (2,1,0) beat LP's (1,1,0). */
body #popup-course:not(.vr-sb-collapsed) #popup-sidebar { transform: none !important; }
body #popup-course.vr-sb-collapsed #popup-sidebar { transform: translateX(-100%) !important; }
#popup-content,
#popup-footer {
	width: auto !important;
	float: none !important;
	transition: margin-left .3s ease !important;
}
body #popup-course:not(.vr-sb-collapsed) #popup-content,
body #popup-course:not(.vr-sb-collapsed) #popup-footer {
	margin-left: 320px !important;
}
#popup-content {
	min-width: 0 !important;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
}
body #popup-course.vr-sb-collapsed #popup-content,
body #popup-course.vr-sb-collapsed #popup-footer {
	margin-left: 0 !important;
}
@media (max-width: 782px) {
	#popup-sidebar { z-index: 55 !important; }
	#popup-content, #popup-footer { margin-left: 0 !important; }
}
/* The toggle control = the #sidebar-toggle checkbox, styled as a left-edge handle */
#sidebar-toggle {
	-webkit-appearance: none !important;
	appearance: none !important;
	width: 38px !important;
	height: 46px !important;
	margin: 0 !important;
	cursor: pointer !important;
	background: var(--vr-surface-2, #FDEAD2) !important;
	border: 1px solid var(--vr-border-mid, rgba(17, 109, 255, 0.30)) !important;
	border-radius: 0 8px 8px 0 !important;
	position: relative !important;
	z-index: 60 !important;
}
#sidebar-toggle::before {
	content: "\25C0"; /* ◀ — collapse */
	position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center;
	color: var(--vr-cyan, #116DFF);
	font-size: 0.85rem;
}
#popup-course.vr-sb-collapsed #sidebar-toggle::before { content: "\25B6"; } /* ▶ — expand */
#sidebar-toggle:hover { border-color: var(--vr-cyan, #116DFF) !important; }
#sidebar-toggle:focus-visible { outline: 2px solid var(--vr-cyan, #116DFF) !important; outline-offset: 2px; }
/* Curriculum item titles wrap within the sidebar instead of being clipped. */
#popup-sidebar .course-item__link,
#popup-sidebar .course-item__title,
#popup-sidebar .course-item-name,
#popup-sidebar .course-item .item-name,
#popup-sidebar .course-item,
#popup-sidebar .section-title {
	white-space: normal !important;
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
	max-width: 100% !important;
}
/* (Footer layout is handled in the block layout above: #popup-footer gets
   margin-left to align with content; full-width when the sidebar is collapsed.) */

/* ── Lesson interior: tame per-lesson embedded <style> ────────────────────────
   Some lessons bake their own design system into post content (Playfair Display
   / Montserrat headings, off-brand accents) with !important. The doubled-ID
   selector (2 IDs) outranks those embedded element-level !important rules, so we
   can enforce the Nexus display font universally without editing content. */
#grit-lesson-wrapper#grit-lesson-wrapper h1,
#grit-lesson-wrapper#grit-lesson-wrapper h2,
#grit-lesson-wrapper#grit-lesson-wrapper h3,
#grit-lesson-wrapper#grit-lesson-wrapper h4,
#grit-lesson-wrapper#grit-lesson-wrapper h5,
#grit-lesson-wrapper#grit-lesson-wrapper h6,
#grit-lesson-wrapper#grit-lesson-wrapper .serif-italic {
	font-family: 'Inter', 'Inter', sans-serif !important;
	font-style: normal !important;
}

/* ── Tabs (Overview / Curriculum / Instructor / FAQs) ─────────────────────── */
.course-tabs .course-nav,
.learn-press-nav-tabs .course-nav { background-color: transparent !important; }
.course-tabs .course-nav__item,
.learn-press-nav-tabs li a { color: var(--vr-body, #374151) !important; }
.course-tabs .course-nav__item.active,
.course-tabs .course-nav__item:hover,
.learn-press-nav-tabs li.active a {
	color: var(--vr-cyan, #116DFF) !important;
	border-bottom-color: var(--vr-cyan, #116DFF) !important;
}

/* ── Quiz submit button — legible dark text on the cyan gradient (was white) ─ */
#grit-lesson-wrapper .quiz-submit {
	color: #FFFFFF !important;
	text-shadow: none !important;
}

/* ── Try This / "Your Turn" — full self-contained interactive component ──────
   IMPORTANT: the generated markup (#sls-try-this) renders OUTSIDE
   #grit-lesson-wrapper (it lives in .content-item-summary). The previous rules
   were scoped to #grit-lesson-wrapper so they never matched — the choices fell
   back to a plain block list and the editor area collapsed to zero height
   (making the WYSIWYG look "not implemented"). The component's original styling
   lived in an embedded <style> that was stripped during the Nexus regen.
   Rebuilt here, scoped to .sls-try-this, as a CEdge navy feature panel
   (navy #0A2E5A / gold #FE9361 / blue #7FD0FF / green #34D399). The choice-selection and
   editor behaviour is wired by assets/js/lesson.js via document-level
   delegation, so it works regardless of where the block sits in the DOM. */
.sls-try-this { position: relative; margin: 3rem 0 0; font-family: 'Inter', sans-serif; }
.sls-try-this .sls-tt-angle-top {
	width: 100%; height: 56px; background: #0A2E5A;
	clip-path: polygon(0 100%, 100% 0, 100% 100%);
}
.sls-try-this .sls-tt-body {
	background: #0A2E5A; position: relative; padding-bottom: 4rem;
	overflow: hidden; border-radius: 0 0 22px 22px;
}
.sls-try-this .sls-tt-dots {
	position: absolute; inset: 0; pointer-events: none; z-index: 0;
	background-image: radial-gradient(rgba(255,255,255,0.04) 1px, transparent 1px);
	background-size: 28px 28px;
}
.sls-try-this .sls-tt-deco { position: absolute; border-radius: 50%; filter: blur(70px); pointer-events: none; z-index: 0; }
.sls-try-this .sls-tt-deco-1 { width: 500px; height: 400px; background: rgba(255,201,64,0.10); top: -120px; right: -120px; }
.sls-try-this .sls-tt-deco-2 { width: 350px; height: 350px; background: rgba(255,201,64,0.10); bottom: -60px; left: -80px; }
.sls-try-this .sls-tt-deco-3 { width: 260px; height: 260px; background: rgba(52,211,153,0.12); top: 40%; left: 28%; }
.sls-try-this .sls-tt-inner { position: relative; z-index: 1; max-width: 900px; margin: 0 auto; padding: 3.5rem 3rem 0; }

/* Header */
.sls-try-this .sls-tt-header { display: flex; align-items: flex-start; gap: 2.5rem; margin-bottom: 3rem; }
.sls-try-this .sls-tt-tag {
	flex-shrink: 0; writing-mode: vertical-rl; transform: rotate(180deg);
	font-size: 0.65rem; font-weight: 600; letter-spacing: 0.32em; text-transform: uppercase;
	color: rgba(255,255,255,0.35); border-right: 2px solid rgba(255,255,255,0.12);
	padding-right: 0.7rem; align-self: stretch;
}
.sls-try-this .sls-tt-titles { flex: 1; }
.sls-try-this .sls-tt-eyebrow {
	font-size: 0.7rem; font-weight: 600; letter-spacing: 0.26em; text-transform: uppercase;
	color: #FE9361; margin-bottom: 0.7rem; display: flex; align-items: center; gap: 0.75rem;
}
.sls-try-this .sls-tt-eyebrow::after { content: ''; width: 56px; height: 2px; background: #FE9361; border-radius: 2px; flex-shrink: 0; }
.sls-try-this .sls-tt-headline {
	font-family: 'Inter', sans-serif !important; font-weight: 800 !important;
	font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.1;
	color: #ffffff !important; margin: 0 0 0.65rem !important;
}
.sls-try-this .sls-tt-headline em { color: #FE9361; font-style: italic; }
.sls-try-this .sls-tt-subline { font-size: 1.05rem; font-style: italic; color: rgba(255,255,255,0.55); line-height: 1.55; max-width: 480px; margin: 0; }

/* Choice cards */
.sls-try-this .sls-tt-choices-label {
	font-size: 0.65rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase;
	color: rgba(255,255,255,0.45); margin-bottom: 1.1rem;
}
.sls-try-this .sls-tt-choices {
	display: grid !important; grid-template-columns: repeat(3, 1fr) !important;
	gap: 1rem !important; margin-bottom: 2.5rem !important;
}
.sls-try-this .sls-tt-choice {
	background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.10);
	border-radius: 16px; padding: 1.6rem 1.4rem; cursor: pointer; position: relative; overflow: hidden;
	transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}
.sls-try-this .sls-tt-choice::after { content: ''; position: absolute; inset: 0; border-radius: 16px; opacity: 0; transition: opacity 0.3s; }
.sls-try-this .sls-tt-choice-1::after { background: radial-gradient(circle at 30% 30%, rgba(255,201,64,0.20), transparent 70%); }
.sls-try-this .sls-tt-choice-2::after { background: radial-gradient(circle at 30% 30%, rgba(242,169,0,0.20), transparent 70%); }
.sls-try-this .sls-tt-choice-3::after { background: radial-gradient(circle at 30% 30%, rgba(52,211,153,0.20), transparent 70%); }
.sls-try-this .sls-tt-choice:hover { transform: translateY(-4px); border-color: rgba(255,255,255,0.25); }
.sls-try-this .sls-tt-choice:hover::after,
.sls-try-this .sls-tt-choice.sls-tt-selected::after { opacity: 1; }
.sls-try-this .sls-tt-choice.sls-tt-selected { border-width: 2px; transform: translateY(-2px); }
.sls-try-this .sls-tt-choice-1.sls-tt-selected { border-color: rgba(255,201,64,0.6); }
.sls-try-this .sls-tt-choice-2.sls-tt-selected { border-color: rgba(242,169,0,0.6); }
.sls-try-this .sls-tt-choice-3.sls-tt-selected { border-color: rgba(52,211,153,0.6); }
.sls-try-this .sls-tt-choice-icon { font-size: 1.9rem; margin-bottom: 0.9rem; display: block; position: relative; z-index: 1; }
.sls-try-this .sls-tt-choice-type { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 0.45rem; position: relative; z-index: 1; }
.sls-try-this .sls-tt-choice-1 .sls-tt-choice-type { color: #FE9361; }
.sls-try-this .sls-tt-choice-2 .sls-tt-choice-type { color: #FE9361; }
.sls-try-this .sls-tt-choice-3 .sls-tt-choice-type { color: #34D399; }
.sls-try-this .sls-tt-choice h4 {
	font-family: 'Inter', sans-serif !important; font-weight: 700 !important;
	font-size: 1.05rem; color: #ffffff !important; margin: 0 0 0.4rem !important;
	line-height: 1.25; position: relative; z-index: 1;
}
.sls-try-this .sls-tt-choice p { font-size: 0.85rem; color: rgba(255,255,255,0.55) !important; line-height: 1.55; margin: 0; position: relative; z-index: 1; }

/* Core prompt */
.sls-try-this .sls-tt-prompt {
	background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.08);
	border-radius: 18px; padding: 2rem 2.5rem; margin-bottom: 2.5rem; position: relative;
}
.sls-try-this .sls-tt-prompt::before {
	content: '\201C'; font-family: 'Inter', sans-serif; font-size: 7rem; color: rgba(255,255,255,0.05);
	position: absolute; top: -1.5rem; left: 1.5rem; line-height: 1; pointer-events: none;
}
.sls-try-this .sls-tt-prompt p { font-size: 1.15rem; color: rgba(255,255,255,0.88) !important; line-height: 1.7; position: relative; z-index: 1; margin: 0; }
.sls-try-this .sls-tt-prompt strong { color: #FE9361; }

/* Editor section */
.sls-try-this .sls-tt-editor-section { margin-bottom: 2.5rem; }
.sls-try-this .sls-tt-editor-label { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(255,255,255,0.45); margin-bottom: 0.75rem; }
.sls-try-this .sls-tt-writing-prompt { font-size: 0.92rem; color: rgba(255,255,255,0.55); line-height: 1.6; margin-bottom: 1.25rem; font-style: italic; max-width: 700px; }

/* WYSIWYG editor */
.sls-try-this .sls-editor-wrap { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); border-radius: 14px; overflow: hidden; transition: border-color 0.25s; }
.sls-try-this .sls-editor-wrap:focus-within { border-color: rgba(242,169,0,0.5); box-shadow: 0 0 0 3px rgba(242,169,0,0.10); }
.sls-try-this .sls-editor-toolbar { display: flex !important; align-items: center; gap: 0.25rem; padding: 0.6rem 0.85rem; background: rgba(0,0,0,0.2); border-bottom: 1px solid rgba(255,255,255,0.08); flex-wrap: wrap; }
.sls-try-this .sls-ed-btn {
	background: rgba(255,255,255,0.06) !important; border: 1px solid rgba(255,255,255,0.10) !important;
	color: rgba(255,255,255,0.7) !important; border-radius: 6px !important; padding: 0.3rem 0.65rem !important;
	cursor: pointer; font-size: 0.85rem; line-height: 1.4; font-family: inherit; min-width: 32px;
	text-align: center; box-shadow: none !important; text-shadow: none !important;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.sls-try-this .sls-ed-btn:hover { background: rgba(255,255,255,0.14) !important; color: #ffffff !important; border-color: rgba(255,255,255,0.25) !important; }
.sls-try-this .sls-ed-btn.sls-ed-active { background: rgba(242,169,0,0.18) !important; border-color: rgba(242,169,0,0.4) !important; color: #FE9361 !important; }
.sls-try-this .sls-ed-clear { color: rgba(198,40,40,0.75) !important; }
.sls-try-this .sls-ed-clear:hover { color: #DC2626 !important; background: rgba(198,40,40,0.12) !important; border-color: rgba(198,40,40,0.3) !important; }
.sls-try-this .sls-ed-sep { width: 1px; height: 18px; background: rgba(255,255,255,0.10); margin: 0 0.25rem; flex-shrink: 0; }
.sls-try-this .sls-editor-area {
	min-height: 200px !important; padding: 1.25rem 1.5rem !important; background: transparent !important;
	color: rgba(255,255,255,0.9) !important; font-size: 1rem; line-height: 1.7; outline: none;
	caret-color: #FE9361; font-family: 'Inter', sans-serif;
}
.sls-try-this .sls-editor-area:empty::before { content: attr(data-placeholder); color: rgba(255,255,255,0.3); pointer-events: none; font-style: italic; }
.sls-try-this .sls-editor-area ul, .sls-try-this .sls-editor-area ol { padding-left: 1.5rem; margin: 0.5rem 0; }
.sls-try-this .sls-editor-area li { margin-bottom: 0.25rem; }
.sls-try-this .sls-editor-footer { display: flex; align-items: center; justify-content: space-between; padding: 0.6rem 1.25rem; background: rgba(0,0,0,0.15); border-top: 1px solid rgba(255,255,255,0.07); gap: 1rem; flex-wrap: wrap; }
.sls-try-this .sls-word-count { font-size: 0.7rem; font-family: 'JetBrains Mono','Courier New',monospace; color: rgba(255,255,255,0.4); transition: color 0.3s; letter-spacing: 0.05em; }
.sls-try-this .sls-word-count.sls-wc-good { color: #34D399; }
.sls-try-this .sls-word-count.sls-wc-great { color: #FE9361; }
.sls-try-this .sls-word-min { font-size: 0.68rem; color: rgba(255,255,255,0.35); font-style: italic; }

/* Submit button (injected by lesson.js — the stored markup ships without one) */
.sls-try-this .sls-tt-submit,
.sls-try-this .sls-submit-btn {
	display: inline-flex; align-items: center; gap: 0.5rem; margin-top: 1.25rem;
	background: linear-gradient(90deg, #FF8044, #FE9361) !important; color: #1A1A1A !important;
	font-family: 'Inter', sans-serif !important; font-weight: 700;
	text-transform: uppercase; letter-spacing: 0.04em; font-size: 0.82rem;
	padding: 0.85rem 2rem !important; border-radius: 100px !important;
	border: none !important; cursor: pointer; text-decoration: none !important;
	box-shadow: 0 4px 18px rgba(242,169,0,0.3); text-shadow: none !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.25s ease;
}
.sls-try-this .sls-tt-submit:hover,
.sls-try-this .sls-submit-btn:hover {
	transform: translateY(-2px); color: #1A1A1A !important;
	box-shadow: 0 8px 26px rgba(242,169,0,0.5);
}
.sls-try-this .sls-tt-submit.sls-submitted,
.sls-try-this .sls-submit-btn.sls-submitted {
	background: linear-gradient(90deg, #10B981, #34D399) !important; color: #08311D !important;
	box-shadow: none; cursor: default; transform: none;
}

/* Bottom: reflection + open-ended badge */
.sls-try-this .sls-tt-bottom { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; padding-top: 0.5rem; }
.sls-try-this .sls-tt-reflect { display: flex; align-items: flex-start; gap: 1rem; }
.sls-try-this .sls-tt-reflect-icon { font-size: 1.6rem; flex-shrink: 0; margin-top: 0.2rem; }
.sls-try-this .sls-tt-reflect-text .sls-tt-reflect-label { display: block; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(255,255,255,0.4); margin-bottom: 0.45rem; }
.sls-try-this .sls-tt-reflect-text p { font-size: 0.95rem; font-style: italic; color: rgba(255,255,255,0.55); line-height: 1.6; margin: 0; }
.sls-try-this .sls-tt-open-badge { flex-shrink: 0; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.13); border-radius: 50px; padding: 0.55rem 1.3rem; font-size: 0.65rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255,255,255,0.45); white-space: nowrap; }

/* Responsive */
@media (max-width: 782px) {
	.sls-try-this .sls-tt-choices { grid-template-columns: 1fr !important; }
	.sls-try-this .sls-tt-header { flex-direction: column; gap: 1.25rem; }
	.sls-try-this .sls-tt-tag { writing-mode: horizontal-tb; transform: none; border-right: none; border-bottom: 2px solid rgba(255,255,255,0.12); padding: 0 0 0.5rem; }
	.sls-try-this .sls-tt-inner { padding: 2rem 1.25rem 0; }
	.sls-try-this .sls-tt-prompt { padding: 1.5rem 1.25rem; }
	.sls-try-this .sls-tt-bottom { grid-template-columns: 1fr; gap: 1rem; }
	.sls-try-this .sls-tt-open-badge { justify-self: start; }
}

/* ── End-of-lesson "Continue" CTA — prominent, clearly separated from the
   Try This block above. Like .sls-try-this, #sls-next-bar renders OUTSIDE
   #grit-lesson-wrapper (in .content-item-description), so these rules are
   scoped to .sls-next-bar directly. Generous top margin + padding + a divider
   give it breathing room so it no longer butts against Try This. ──────────── */
.sls-next-bar {
	margin: 5rem 0 2.5rem !important;
	padding: 3rem 1.5rem 0 !important;
	border-top: 1px solid rgba(17, 109, 255, 0.18) !important;
	display: flex !important;
	justify-content: center !important;
	background: transparent !important;
}
.sls-next-inner {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
	text-align: center;
	max-width: 640px;
}
.sls-next-left { display: flex; flex-direction: column; gap: 0.4rem; align-items: center; }
.sls-next-headline {
	display: block !important;
	font-family: 'Inter', sans-serif !important;
	font-weight: 800 !important;
	font-size: clamp(1.4rem, 2.6vw, 2rem) !important;
	color: var(--vr-contrast, #1A1A1A) !important;
	letter-spacing: -0.01em;
	line-height: 1.2;
}
.sls-next-left p, .sls-next-sub {
	color: var(--vr-muted, #6B7280);
	font-size: 0.95rem;
	margin: 0;
}
.sls-next-btn {
	display: inline-flex !important; align-items: center; gap: .6rem;
	background: linear-gradient(90deg, #116DFF, #3B82F6) !important;
	color: #FFFFFF !important;
	font-family: 'Inter', sans-serif !important; font-weight: 800;
	text-transform: uppercase; letter-spacing: .05em; font-size: 1rem;
	padding: 1.1rem 2.75rem !important; border-radius: 100px !important;
	border: none !important; cursor: pointer; text-decoration: none !important;
	box-shadow: 0 6px 28px rgba(17, 109, 255, 0.30);
	transition: transform .2s ease, box-shadow .2s ease;
}
.sls-next-btn:hover {
	transform: translateY(-3px); color: #FFFFFF !important;
	box-shadow: 0 10px 38px rgba(17, 109, 255, 0.5);
}
@media (max-width: 640px) {
	.sls-next-inner { width: 100%; }
	.sls-next-btn { width: 100% !important; justify-content: center; }
}

/* ── Flashcard — Active Recall flip card ─────────────────────────────────────
   Front (cue) / back (answer) 3D flip. Click or keyboard toggles .sls-fc-flipped
   on .sls-flashcard; assets/js/lesson.js emits one `experienced` xAPI statement
   on the first reveal. Scoped to the class (not #grit-lesson-wrapper) so it works
   wherever LearnPress renders the lesson body. Nexus palette: cyan / violet. */
.sls-flashcard {
	display: block; perspective: 1400px; margin: 1.25rem 0;
	cursor: pointer; -webkit-tap-highlight-color: transparent;
	font-family: 'Inter', sans-serif;
}
.sls-flashcard .sls-fc-inner {
	position: relative; width: 100%; min-height: 220px;
	transform-style: preserve-3d;
	transition: transform 0.6s cubic-bezier(0.4, 0.2, 0.2, 1);
}
.sls-flashcard.sls-fc-flipped .sls-fc-inner { transform: rotateY(180deg); }
.sls-flashcard .sls-fc-front,
.sls-flashcard .sls-fc-back {
	position: absolute; inset: 0;
	-webkit-backface-visibility: hidden; backface-visibility: hidden;
	display: flex; flex-direction: column; justify-content: center; align-items: center;
	text-align: center; gap: 0.9rem;
	padding: 2.25rem 2rem; border-radius: 20px;
	border: 1px solid rgba(255, 255, 255, 0.10);
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
}
.sls-flashcard .sls-fc-front {
	background: linear-gradient(150deg, #0A2E5A, #0B1F38);
	border-top: 3px solid #7FD0FF;
}
.sls-flashcard .sls-fc-back {
	background: linear-gradient(150deg, #16335A, #0E2440);
	border-top: 3px solid #FE9361;
	transform: rotateY(180deg);
}
.sls-flashcard .sls-fc-tag {
	font-size: 0.6rem; font-weight: 700; letter-spacing: 0.26em; text-transform: uppercase;
}
.sls-flashcard .sls-fc-front .sls-fc-tag { color: #7FD0FF; }
.sls-flashcard .sls-fc-back  .sls-fc-tag { color: #FE9361; }
.sls-flashcard .sls-fc-cue {
	font-family: 'Inter', sans-serif; font-weight: 700;
	font-size: clamp(1.1rem, 2.4vw, 1.5rem); line-height: 1.3;
	color: #ffffff !important; margin: 0 !important;
}
.sls-flashcard .sls-fc-answer {
	font-size: 1.02rem; line-height: 1.6;
	color: rgba(255, 255, 255, 0.82) !important; margin: 0 !important;
}
.sls-flashcard .sls-fc-hint {
	font-size: 0.72rem; letter-spacing: 0.04em;
	color: rgba(255, 255, 255, 0.45);
}
.sls-flashcard:hover .sls-fc-front,
.sls-flashcard:hover .sls-fc-back { border-color: rgba(255, 255, 255, 0.22); }
.sls-flashcard:focus-visible { outline: 2px solid #7FD0FF; outline-offset: 4px; border-radius: 22px; }
@media (prefers-reduced-motion: reduce) {
	.sls-flashcard .sls-fc-inner { transition: none; }
}

/* ── Lesson video player — HLS player injected above the opener ──────────────
   functions.php splices <div class="sls-lesson-video">[sls_stream]</div> just
   before .big-question. The mu-plugin ships inline styles (max-width:900px on
   the wrap, width:100% on the <video>), but in the lesson layout the video was
   only filling part of its box. We force a responsive, full-width 16:9 player
   capped to the lesson content column (820px) and centered. !important is
   required to beat the plugin's inline styles. */
#grit-lesson-wrapper .sls-lesson-video {
	width: 100%;
	max-width: 820px;
	margin: 0 auto 2.5rem;
}
#grit-lesson-wrapper .sls-lesson-video .sls-video-wrap {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}
#grit-lesson-wrapper .sls-lesson-video .sls-video-wrap video {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 9 !important;
	display: block !important;
	object-fit: contain;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(17, 109, 255, 0.18);
}

/* ── Phase-1 interaction widgets (true/false, cloze, predict, confidence) ──────
   Wired by assets/js/lesson.js; ids stamped by the generator. Nexus palette. */

/* True/False — "Myth or Fact?" */
#grit-lesson-wrapper .sls-truefalse { background: #0A2E5A; border: 1px solid rgba(255,201,64,.18); border-radius: 18px; padding: 1.75rem 2rem; margin: 2.5rem 0; }
#grit-lesson-wrapper .sls-tf-tag { display: block; font-size: .65rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: #FE9361; margin-bottom: .6rem; }
#grit-lesson-wrapper .sls-tf-statement { font-size: 1.1rem; font-weight: 700; color: #f1f5f9 !important; margin: .25rem 0 1.25rem !important; line-height: 1.5; }
#grit-lesson-wrapper .sls-tf-options { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
#grit-lesson-wrapper .sls-tf-btn { background: rgba(255,255,255,.05); border: 2px solid rgba(255,255,255,.12); color: #e2e8f0; padding: .85rem 1rem; border-radius: 12px; font-weight: 700; cursor: pointer; min-height: 44px; font-family: 'Inter', sans-serif; transition: background .15s, border-color .15s, transform .12s; }
#grit-lesson-wrapper .sls-tf-btn:hover:not(:disabled) { border-color: #FE9361; transform: translateY(-2px); }
#grit-lesson-wrapper .sls-tf-btn:disabled { opacity: .65; cursor: default; }
#grit-lesson-wrapper .sls-tf-btn.sls-tf-correct { background: rgba(52,211,153,.18); border-color: #34D399; color: #A7F3D0; }
#grit-lesson-wrapper .sls-tf-btn.sls-tf-wrong { background: rgba(198,40,40,.15); border-color: #DC2626; color: #fecaca; }
#grit-lesson-wrapper .sls-tf-result { display: none; margin-top: 1rem; font-weight: 700; color: #e2e8f0 !important; }
#grit-lesson-wrapper .sls-tf-explain { margin-top: .75rem; color: #cbd5e1 !important; font-size: .95rem; line-height: 1.6; border-left: 3px solid #FE9361; padding-left: 1rem; }

/* Fill-in-the-blank (cloze) */
#grit-lesson-wrapper .sls-cloze { background: #0A2E5A; border: 1px solid rgba(242,169,0,.22); border-left: 4px solid #FF8044; border-radius: 16px; padding: 1.6rem 2rem; margin: 2.5rem 0; }
#grit-lesson-wrapper .sls-cloze-tag { display: block; font-size: .65rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: #FE9361; margin-bottom: .6rem; }
#grit-lesson-wrapper .sls-cloze-text { font-size: 1.05rem; line-height: 2.2; color: #e2e8f0 !important; }
#grit-lesson-wrapper .sls-blank { background: rgba(255,255,255,.06); border: none; border-bottom: 2px solid #FF8044; color: #fff; font-size: 1rem; padding: .2rem .5rem; margin: 0 .2rem; border-radius: 6px 6px 0 0; font-family: 'Inter', sans-serif; min-width: 8ch; }
#grit-lesson-wrapper .sls-blank:focus { outline: none; background: rgba(242,169,0,.15); }
#grit-lesson-wrapper .sls-blank.sls-blank-correct { border-bottom-color: #34D399; color: #A7F3D0; }
#grit-lesson-wrapper .sls-blank.sls-blank-wrong { border-bottom-color: #DC2626; color: #fecaca; }
#grit-lesson-wrapper .sls-cloze-check { margin-top: 1.25rem; background: #FF8044; color: #1A1A1A; border: none; padding: .7rem 1.75rem; border-radius: 100px; font-weight: 800; cursor: pointer; min-height: 44px; font-family: 'Inter', sans-serif; }
#grit-lesson-wrapper .sls-cloze-check:hover:not(:disabled) { background: #FE9361; }
#grit-lesson-wrapper .sls-cloze-result { display: none; margin-top: 1rem; font-weight: 700; color: #e2e8f0 !important; }

/* Predict & Reveal */
#grit-lesson-wrapper .sls-predict { background: linear-gradient(135deg,#0A2E5A,#0B1F38); border: 1px solid rgba(127,208,255,.25); border-radius: 18px; padding: 1.75rem 2rem; margin: 2.5rem 0; }
#grit-lesson-wrapper .sls-predict-tag { display: block; font-size: .65rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: #7FD0FF; margin-bottom: .6rem; }
#grit-lesson-wrapper .sls-predict-q { font-size: 1.1rem; font-weight: 700; color: #fff !important; margin: .25rem 0 1.25rem !important; line-height: 1.5; }
#grit-lesson-wrapper .sls-predict-options { display: flex; flex-direction: column; gap: .6rem; }
#grit-lesson-wrapper .sls-predict-opt { text-align: left; background: rgba(255,255,255,.05); border: 2px solid rgba(255,255,255,.12); color: #e2e8f0; padding: .85rem 1.1rem; border-radius: 12px; cursor: pointer; min-height: 44px; font-family: 'Inter', sans-serif; transition: background .15s, border-color .15s, transform .12s; }
#grit-lesson-wrapper .sls-predict-opt:hover:not(:disabled) { border-color: #7FD0FF; transform: translateX(4px); }
#grit-lesson-wrapper .sls-predict-opt:disabled { opacity: .6; cursor: default; }
#grit-lesson-wrapper .sls-predict-opt.sls-predict-chosen { border-color: #7FD0FF; background: rgba(127,208,255,.15); color: #D4EEFF; opacity: 1; }
#grit-lesson-wrapper .sls-predict-reveal { margin-top: 1.1rem; color: #D4EEFF !important; font-size: .98rem; line-height: 1.6; border-left: 3px solid #7FD0FF; padding-left: 1rem; }

/* Confidence check (1–5 self-rating) */
#grit-lesson-wrapper .sls-confidence { background: #0A2E5A; border: 1px solid rgba(52,211,153,.22); border-radius: 16px; padding: 1.6rem 2rem; margin: 2.5rem 0; text-align: center; }
#grit-lesson-wrapper .sls-conf-tag { display: block; font-size: .65rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: #34D399; margin-bottom: .6rem; }
#grit-lesson-wrapper .sls-conf-q { font-size: 1.05rem; font-weight: 700; color: #f1f5f9 !important; margin: .25rem 0 1.1rem !important; line-height: 1.5; }
#grit-lesson-wrapper .sls-conf-scale { display: inline-flex; gap: .5rem; }
#grit-lesson-wrapper .sls-conf-btn { width: 48px; height: 48px; border-radius: 50%; background: rgba(255,255,255,.05); border: 2px solid rgba(255,255,255,.15); color: #e2e8f0; font-weight: 800; font-size: 1.05rem; cursor: pointer; font-family: 'Inter', sans-serif; transition: background .15s, border-color .15s, transform .12s; }
#grit-lesson-wrapper .sls-conf-btn:hover:not(:disabled) { border-color: #34D399; transform: translateY(-2px); }
#grit-lesson-wrapper .sls-conf-btn:disabled { cursor: default; }
#grit-lesson-wrapper .sls-conf-btn.sls-conf-picked { background: #34D399; border-color: #34D399; color: #04231a; }
#grit-lesson-wrapper .sls-conf-labels { display: flex; justify-content: space-between; max-width: 280px; margin: .6rem auto 0; font-size: .72rem; color: #94a3b8; }
#grit-lesson-wrapper .sls-conf-ack { margin-top: .9rem; color: #A7F3D0 !important; font-weight: 700; font-size: .95rem; }


/* ════════════════════════════════════════════════════════════════════════
   LP PROFILE PAGE CHROME — full coverage of /lp-profile/ when logged in.
   Mirrors the vrschool-deepspace block; values resolve through the --vr-*
   tokens redefined in nexus.css (so the same selectors automatically pick
   up the CEdge palette: --vr-cyan = CEdge blue, --vr-purple = CEdge orange, etc.).
   ════════════════════════════════════════════════════════════════════════ */

/* Profile header banner (cover image area) */
body.learnpress-profile .wrapper-profile-header,
body.learnpress-profile .wrapper-profile-header.wrap-fullwidth {
	background: var(--vr-surface, #0F172A) !important;
	border-bottom: 1px solid var(--vr-border-mid, rgba(0,242,255,0.25)) !important;
	color: var(--vr-contrast, #F8FAFC) !important;
}
body.learnpress-profile .lp-user-cover-image_background { background: transparent !important; }

/* Edit-avatar + edit-cover buttons */
body.learnpress-profile .lp-btn-to-edit-cover-image,
body.learnpress-profile .lp-btn-to-edit-avatar {
	background: var(--vr-cyan, #00F2FF) !important;
	color: var(--vr-base, #020617) !important;
	border: 1px solid transparent !important;
	border-radius: 4px !important;
	padding: 0.35rem 0.75rem !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}
body.learnpress-profile .lp-btn-to-edit-cover-image:hover,
body.learnpress-profile .lp-btn-to-edit-avatar:hover {
	background: var(--vr-contrast, #F8FAFC) !important;
}

/* Profile main content area + grid */
body.learnpress-profile .lp-content-area,
body.learnpress-profile .lp-profile-content-area {
	background: transparent !important;
	color: var(--vr-body, #CBD5E1) !important;
}

/* Sidebar columns */
body.learnpress-profile .lp-profile-left,
body.learnpress-profile .lp-profile-right,
body.learnpress-profile .user-avatar { background: transparent !important; }
body.learnpress-profile .lp-profile-username {
	color: var(--vr-contrast, #F8FAFC) !important;
	font-family: 'Inter', sans-serif !important;
	font-weight: 800 !important;
}

/* Nav-tab list items (rows) */
body.learnpress-profile .lp-profile-nav-tabs li {
	background: transparent !important;
	border-bottom: 1px solid var(--vr-border, rgba(0,242,255,0.12)) !important;
	transition: background 0.18s ease, border-color 0.18s ease;
}
body.learnpress-profile .lp-profile-nav-tabs li:hover,
body.learnpress-profile .lp-profile-nav-tabs li.active {
	background: rgba(0,242,255,0.06) !important;
	border-left: 3px solid var(--vr-cyan, #00F2FF) !important;
}
body.learnpress-profile .lp-profile-nav-tabs li a {
	display: block;
	padding: 0.55rem 0.85rem !important;
	text-decoration: none !important;
}
body.learnpress-profile .lp-profile-nav-tabs li [class^="lp-icon-"],
body.learnpress-profile .lp-profile-nav-tabs li [class*=" lp-icon-"] { color: inherit; }

/* Settings sub-nav */
body.learnpress-profile .lp-profile-nav-tabs .profile-tab-sections {
	background: var(--vr-surface-2, #1E293B) !important;
	border-left: 3px solid var(--vr-cyan, #00F2FF) !important;
	border-radius: 0 6px 6px 0 !important;
	margin: 0 0 0 0.25rem !important;
}
body.learnpress-profile .lp-profile-nav-tabs .profile-tab-sections li {
	border-bottom: 0 !important;
	border-left: 0 !important;
}

/* Profile content article — themed card surface */
body.learnpress-profile #profile-content,
body.learnpress-profile .lp-profile-content {
	background: var(--vr-surface, #0F172A) !important;
	border: 1px solid var(--vr-border, rgba(0,242,255,0.12)) !important;
	border-radius: 12px !important;
	padding: 1.5rem !important;
	color: var(--vr-body, #CBD5E1) !important;
}
body.learnpress-profile #profile-content :where(h2, h3, h4) { color: var(--vr-contrast, #F8FAFC) !important; }

/* LP message bar */
.learnpress .learn-press-message,
body.learnpress-profile .learn-press-message {
	background: var(--vr-surface-2, #1E293B) !important;
	color: var(--vr-contrast, #F8FAFC) !important;
	border: 1px solid var(--vr-border-mid, rgba(0,242,255,0.25)) !important;
	border-left: 4px solid var(--vr-cyan, #00F2FF) !important;
	border-radius: 8px !important;
	padding: 0.85rem 1.1rem !important;
	margin: 0 0 1rem !important;
}
.learnpress .learn-press-message.success { border-left-color: var(--vr-emerald, #34D399) !important; }
.learnpress .learn-press-message.error,
.learnpress .learn-press-message.warning { border-left-color: #f87171 !important; }

/* Generic LP button */
.learnpress .lp-button,
a.lp-button,
button.lp-button {
	background: var(--vr-cyan, #00F2FF) !important;
	color: var(--vr-base, #020617) !important;
	border: 1px solid transparent !important;
	border-radius: 4px !important;
	padding: 0.55rem 1.1rem !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	display: inline-block;
}
.learnpress .lp-button:hover,
a.lp-button:hover,
button.lp-button:hover { background: var(--vr-contrast, #F8FAFC) !important; }

/* LP tabs container + filters */
body.learnpress-profile .learn-press-tabs,
body.learnpress-profile .learn-press-course-tab__filter__content {
	background: transparent !important;
	color: var(--vr-body, #CBD5E1) !important;
}
body.learnpress-profile .learn-press-filters,
body.learnpress-profile .learn-press-course-tab-filters {
	background: var(--vr-surface-2, #1E293B) !important;
	border: 1px solid var(--vr-border, rgba(0,242,255,0.12)) !important;
	border-radius: 8px !important;
	padding: 0.6rem 0.75rem !important;
	margin-bottom: 0.75rem;
}

/* Per-course progress widget */
body.learnpress-profile .learn-press-profile-course__tab,
body.learnpress-profile .learn-press-profile-course__progress,
body.learnpress-profile .learn-press-profile-course__statistic {
	background: var(--vr-surface, #0F172A) !important;
	border: 1px solid var(--vr-border, rgba(0,242,255,0.12)) !important;
	border-radius: 8px !important;
	color: var(--vr-body, #CBD5E1) !important;
	padding: 0.65rem 0.85rem !important;
}
body.learnpress-profile .lp-ux-progress-fill {
	background: linear-gradient(90deg, var(--vr-cyan, #00F2FF), var(--vr-emerald, #34D399)) !important;
}

/* LP skeleton loader */
body.learnpress-profile .lp-skeleton-animation {
	background: linear-gradient(
		90deg,
		var(--vr-surface, #0F172A) 0%,
		var(--vr-surface-2, #1E293B) 50%,
		var(--vr-surface, #0F172A) 100%
	) !important;
	background-size: 200% 100% !important;
	border-radius: 6px !important;
}

/* Enrolled-students toolbar */
.lp-enrolled-students-form,
.lp-enrolled-students-table-toolbar,
.lp-enrolled-students-table-toolbar__field,
.lp-enrolled-students-table-toolbar__input,
.lp-enrolled-search-input {
	background: var(--vr-surface-2, #1E293B) !important;
	color: var(--vr-contrast, #F8FAFC) !important;
	border-color: var(--vr-border-mid, rgba(0,242,255,0.25)) !important;
	border-radius: 6px !important;
}


/* ════════════════════════════════════════════════════════════════════════
   PMPro additions (supplements nexus.css)
   ════════════════════════════════════════════════════════════════════════ */

.pmpro_section,
.pmpro_section_content {
	background: var(--vr-surface, #0F172A) !important;
	border: 1px solid var(--vr-border, rgba(0,242,255,0.12)) !important;
	border-radius: 10px !important;
	color: var(--vr-contrast, #F8FAFC) !important;
	padding: 1rem 1.25rem !important;
	margin-bottom: 1rem !important;
}
.pmpro_section_title {
	color: var(--vr-cyan, #00F2FF) !important;
	font-family: 'Inter', sans-serif !important;
	font-weight: 700 !important;
	margin-bottom: 0.75rem !important;
}
.pmpro_heading-with-avatar {
	color: var(--vr-contrast, #F8FAFC) !important;
	border-bottom: 1px solid var(--vr-border, rgba(0,242,255,0.12)) !important;
	padding-bottom: 0.75rem !important;
	margin-bottom: 1rem !important;
}
.pmpro_card_action_separator { background: var(--vr-border, rgba(0,242,255,0.12)) !important; }
.pmpro_card_actions a:not(.pmpro_btn):not([class*="pmpro_btn"]) {
	color: var(--vr-cyan, #00F2FF) !important;
}
.pmpro_list,
.pmpro_list-plain {
	background: transparent !important;
	color: var(--vr-body, #CBD5E1) !important;
}
.pmpro_list_item {
	padding: 0.4rem 0;
	border-bottom: 1px solid var(--vr-border, rgba(0,242,255,0.08));
}
.pmpro_list_item:last-child { border-bottom: 0; }
.pmpro_font-large,
.pmpro_font-x-large { color: var(--vr-contrast, #F8FAFC) !important; }


/* ════════════════════════════════════════════════════════════════════════
   LP PROFILE — body backdrop, block-theme transparency, watermark + cards
   Body class on /lp-profile/ is `learnpress-profile`. CEdge palette applies
   automatically through the --vr-* var redefinitions in nexus.css.
   ════════════════════════════════════════════════════════════════════════ */

body.learnpress-profile {
	background: var(--vr-base, #020617) !important;
	color: var(--vr-body, #CBD5E1) !important;
}

/* TT5 block-theme wrappers — transparent so the body backdrop shows through */
body.learnpress-profile .entry-content,
body.learnpress-profile .wp-block-post-content,
body.learnpress-profile .wp-block-group,
body.learnpress-profile main.wp-block-group,
body.learnpress-profile .is-layout-constrained,
body.learnpress-profile article.post,
body.learnpress-profile article.page {
	background: transparent !important;
	color: var(--vr-body, #CBD5E1) !important;
}

/* The huge faded "PROFILE" header watermark (::before pseudo) */
body.learnpress-profile .wrapper-profile-header::before,
body.learnpress-profile .wrapper-profile-header::after {
	color: rgba(0, 242, 255, 0.18) !important;
	-webkit-text-fill-color: rgba(0, 242, 255, 0.18) !important;
	text-shadow: 0 0 24px rgba(0, 242, 255, 0.25) !important;
}

/* Username on the cover */
body.learnpress-profile .lp-profile-username,
body.learnpress-profile .lp-profile-username a {
	color: var(--vr-contrast, #F8FAFC) !important;
	text-shadow: 0 0 12px rgba(0, 242, 255, 0.35);
}

/* Sidebar nav: defeat LP default orange/yellow active background */
body.learnpress-profile .lp-profile-nav-tabs li,
body.learnpress-profile .lp-profile-nav-tabs li.courses,
body.learnpress-profile .lp-profile-nav-tabs li.my-courses,
body.learnpress-profile .lp-profile-nav-tabs li.quizzes,
body.learnpress-profile .lp-profile-nav-tabs li.orders,
body.learnpress-profile .lp-profile-nav-tabs li.settings,
body.learnpress-profile .lp-profile-nav-tabs li.enrolled-students {
	background: transparent !important;
	border-left: 3px solid transparent !important;
}
body.learnpress-profile .lp-profile-nav-tabs li.active,
body.learnpress-profile .lp-profile-nav-tabs li:hover {
	background: rgba(0, 242, 255, 0.08) !important;
	border-left-color: var(--vr-cyan, #00F2FF) !important;
}
body.learnpress-profile .lp-profile-nav-tabs li > a {
	color: var(--vr-body, #CBD5E1) !important;
}
body.learnpress-profile .lp-profile-nav-tabs li.active > a,
body.learnpress-profile .lp-profile-nav-tabs li:hover > a {
	color: var(--vr-cyan, #00F2FF) !important;
}
body.learnpress-profile .lp-profile-nav-tabs li > a i,
body.learnpress-profile .lp-profile-nav-tabs li > a [class^="lp-icon-"],
body.learnpress-profile .lp-profile-nav-tabs li > a [class*=" lp-icon-"] {
	color: inherit !important;
}

/* LP dashboard statistic stat cards — real classes:
   #dashboard-statistic > .dashboard-statistic__row > .statistic-box {
     .statistic-box__icon > span (round chip — keeps LP semantic color)
     .statistic-box__text > label + .statistic-box__text__number
   }
*/
body.learnpress-profile #dashboard-statistic { margin: 0 0 1.25rem; }
body.learnpress-profile .dashboard-statistic__row {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
	gap: 0.85rem !important;
}
body.learnpress-profile .dashboard-statistic__row .statistic-box {
	background: var(--vr-surface, #0F172A) !important;
	border: 1px solid var(--vr-border, rgba(0,242,255,0.12)) !important;
	border-radius: 10px !important;
	padding: 1rem 1.1rem !important;
	color: var(--vr-body, #CBD5E1) !important;
	width: auto !important;
	transition: border-color 0.18s ease;
}
body.learnpress-profile .dashboard-statistic__row .statistic-box:hover {
	border-color: var(--vr-cyan, #00F2FF) !important;
}
body.learnpress-profile .statistic-box__text { color: var(--vr-body, #CBD5E1) !important; }
body.learnpress-profile .statistic-box__text label {
	color: var(--vr-muted, #94A3B8) !important;
	font-size: 0.85em !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
}
body.learnpress-profile .statistic-box__text__number {
	color: var(--vr-contrast, #F8FAFC) !important;
	font-family: 'Inter', sans-serif !important;
	font-weight: 800 !important;
	font-size: 1.7em !important;
}
/* Per-icon chip backgrounds — bump alpha for the dark card */
body.learnpress-profile .statistic-box__icon span {
	background: rgba(0, 199, 190, 0.18) !important;
}
body.learnpress-profile .statistic-box__icon .lp-icon-in_progress_course,
body.learnpress-profile .statistic-box__icon .lp-icon-student_in_progress {
	background: rgba(175, 82, 222, 0.22) !important;
}
body.learnpress-profile .statistic-box__icon .lp-icon-finished_courses,
body.learnpress-profile .statistic-box__icon .lp-icon-published_course {
	background: rgba(88, 86, 214, 0.22) !important;
}
body.learnpress-profile .statistic-box__icon .lp-icon-passed_courses,
body.learnpress-profile .statistic-box__icon .lp-icon-student_completed {
	background: rgba(52, 199, 89, 0.22) !important;
}
body.learnpress-profile .statistic-box__icon .lp-icon-failed_courses,
body.learnpress-profile .statistic-box__icon .lp-icon-pending_course {
	background: rgba(255, 59, 48, 0.22) !important;
}
body.learnpress-profile .statistic-box__icon .lp-icon-total_student {
	background: rgba(0, 122, 255, 0.22) !important;
}

/* LP filter-tab strip — remap LP CSS vars to Nexus tokens */
body.learnpress-profile {
	--lp-primary-color: var(--vr-cyan, #00F2FF);
	--lp-color-base: var(--vr-body, #CBD5E1);
	--lp-white-grey: var(--vr-surface, #0F172A);
	--lp-border-color: var(--vr-border, rgba(0,242,255,0.12));
}
body.learnpress-profile .learn-press-filters,
body.learnpress-profile .learn-press-tabs {
	border-bottom: 1px solid var(--vr-border, rgba(0,242,255,0.12));
}
body.learnpress-profile .learn-press-filters li a,
body.learnpress-profile .learn-press-filters li span {
	color: var(--vr-body, #CBD5E1) !important;
}
body.learnpress-profile .learn-press-filters li a.active,
body.learnpress-profile .learn-press-filters li a:hover,
body.learnpress-profile .learn-press-filters li span.active,
body.learnpress-profile .learn-press-filters li span:hover,
body.learnpress-profile .learn-press-filters li.active a,
body.learnpress-profile .learn-press-filters li.active span {
	color: var(--vr-cyan, #00F2FF) !important;
}
body.learnpress-profile .learn-press-filters li a.active::after,
body.learnpress-profile .learn-press-filters li a:hover::after,
body.learnpress-profile .learn-press-filters li.active a::after,
body.learnpress-profile .learn-press-filters li.active span::after {
	background: var(--vr-cyan, #00F2FF) !important;
}

/* LP profile sub-page sub-grids */
body.learnpress-profile .lp-list-table,
body.learnpress-profile .lp-archive-courses,
body.learnpress-profile .learn-press-course-tab__filter__content > * {
	background: transparent !important;
	color: var(--vr-body, #CBD5E1) !important;
}


/* ════════════════════════════════════════════════════════════════════════
   PMPro — body backdrop for all PMPro pages
   ════════════════════════════════════════════════════════════════════════ */

body.pmpro-account,
body.pmpro-billing,
body.pmpro-cancel,
body.pmpro-checkout,
body.pmpro-confirmation,
body.pmpro-invoice,
body.pmpro-levels,
body.pmpro-login,
body.pmpro-member-profile-edit,
body[class*="pmpro-body-page-"] {
	background: var(--vr-base, #020617) !important;
	color: var(--vr-body, #CBD5E1) !important;
}
body.pmpro-account .entry-content,
body.pmpro-billing .entry-content,
body.pmpro-cancel .entry-content,
body.pmpro-checkout .entry-content,
body.pmpro-confirmation .entry-content,
body.pmpro-invoice .entry-content,
body.pmpro-levels .entry-content,
body.pmpro-login .entry-content,
body.pmpro-member-profile-edit .entry-content,
body[class*="pmpro-body-page-"] .entry-content,
body.pmpro-account .wp-block-post-content,
body.pmpro-billing .wp-block-post-content,
body.pmpro-cancel .wp-block-post-content,
body.pmpro-checkout .wp-block-post-content,
body.pmpro-confirmation .wp-block-post-content,
body.pmpro-invoice .wp-block-post-content,
body.pmpro-levels .wp-block-post-content,
body.pmpro-login .wp-block-post-content,
body.pmpro-member-profile-edit .wp-block-post-content,
body[class*="pmpro-body-page-"] .wp-block-post-content {
	background: transparent !important;
	color: var(--vr-body, #CBD5E1) !important;
}


/* ════════════════════════════════════════════════════════════════════════
   WP Program Dashboard (wp-program-dashboard plugin)
   Same Nexus override pattern as vrschool-deepspace; CEdge palette resolves
   through --vr-* redefinitions in nexus.css (cyan→CEdge blue, etc.).
   ════════════════════════════════════════════════════════════════════════ */

body.page #wppd-dashboard {
	color: var(--vr-body, #CBD5E1);
}

#wppd-dashboard.wppd-dashboard {
	font-family: 'Inter', sans-serif;
	max-width: 960px;
	padding: 2rem 1rem 3rem;
	margin: 0 auto;
}

/* ── Learner header ─────────────────────────────────────────────── */
#wppd-dashboard .wppd-learner-header {
	background: var(--vr-surface, #0F172A);
	border: 1px solid var(--vr-border, rgba(0,242,255,0.12));
	box-shadow: 0 0 0 1px rgba(0,242,255,0.04) inset;
}
#wppd-dashboard .wppd-avatar {
	background: rgba(0, 242, 255, 0.12);
}
#wppd-dashboard .wppd-avatar__initials {
	color: var(--vr-cyan, #00F2FF);
	font-family: 'Inter', sans-serif;
	font-weight: 700;
}
#wppd-dashboard .wppd-learner-name {
	color: var(--vr-contrast, #F8FAFC);
	font-family: 'Inter', sans-serif;
	font-weight: 800;
}
#wppd-dashboard .wppd-learner-meta {
	color: var(--vr-muted, #94A3B8);
}
#wppd-dashboard .wppd-overall-pct__label {
	color: var(--vr-muted, #94A3B8);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-weight: 600;
}
#wppd-dashboard .wppd-overall-pct__value {
	color: var(--vr-cyan, #00F2FF);
	font-family: 'Inter', sans-serif;
	font-weight: 800;
	text-shadow: 0 0 12px rgba(0, 242, 255, 0.35);
}

/* ── Stats row ──────────────────────────────────────────────────── */
#wppd-dashboard .wppd-stat {
	background: var(--vr-surface-2, #1E293B);
	border: 1px solid var(--vr-border, rgba(0,242,255,0.12));
	transition: border-color 0.18s ease;
}
#wppd-dashboard .wppd-stat:hover {
	border-color: var(--vr-cyan, #00F2FF);
}
#wppd-dashboard .wppd-stat__value {
	color: var(--vr-contrast, #F8FAFC);
	font-family: 'Inter', sans-serif;
	font-weight: 800;
}
#wppd-dashboard .wppd-stat__label {
	color: var(--vr-muted, #94A3B8);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-weight: 600;
}

/* ── Section label ──────────────────────────────────────────────── */
#wppd-dashboard .wppd-section-label {
	color: var(--vr-muted, #94A3B8);
	font-family: 'Inter', sans-serif;
}

/* ── Program cards ──────────────────────────────────────────────── */
#wppd-dashboard .wppd-program-card {
	background: var(--vr-surface, #0F172A);
	border: 1px solid var(--vr-border, rgba(0,242,255,0.12));
	transition: border-color 0.18s ease;
}
#wppd-dashboard .wppd-program-card:hover {
	border-color: var(--vr-cyan, #00F2FF);
}
#wppd-dashboard .wppd-program-header:hover {
	background: rgba(0, 242, 255, 0.05);
}
#wppd-dashboard .wppd-program-icon {
	background: rgba(0, 242, 255, 0.12);
	color: var(--vr-cyan, #00F2FF);
}
#wppd-dashboard .wppd-program-title {
	color: var(--vr-contrast, #F8FAFC);
	font-weight: 700;
}
#wppd-dashboard .wppd-program-sub {
	color: var(--vr-muted, #94A3B8);
}
#wppd-dashboard .wppd-program-pct {
	color: var(--vr-cyan, #00F2FF);
	font-family: 'Inter', sans-serif;
	font-weight: 700;
}
#wppd-dashboard .wppd-expand-icon::before,
#wppd-dashboard .wppd-expand-icon::after {
	background: var(--vr-muted, #94A3B8);
}
#wppd-dashboard .wppd-program-header.is-open .wppd-expand-icon::before,
#wppd-dashboard .wppd-program-header.is-open .wppd-expand-icon::after {
	background: var(--vr-cyan, #00F2FF);
}

#wppd-dashboard .wppd-prog-bar-track {
	background: rgba(255, 255, 255, 0.06);
}
#wppd-dashboard .wppd-prog-bar {
	background: linear-gradient(90deg, var(--vr-cyan, #00F2FF), var(--vr-emerald, #34D399));
}

/* ── Course rows ────────────────────────────────────────────────── */
#wppd-dashboard .wppd-course-row {
	border-bottom: 1px solid var(--vr-border, rgba(0,242,255,0.08));
}
#wppd-dashboard .wppd-course-row:last-child {
	border-bottom: none;
}

#wppd-dashboard .wppd-step--completed   { background: rgba(52,199,89,0.18);  color: #6EE7B7; }
#wppd-dashboard .wppd-step--in-progress { background: rgba(0,242,255,0.15);  color: var(--vr-cyan, #00F2FF); }
#wppd-dashboard .wppd-step--enrolled    { background: rgba(0,242,255,0.15);  color: var(--vr-cyan, #00F2FF); }
#wppd-dashboard .wppd-step--not-started { background: rgba(148,163,184,0.18); color: var(--vr-muted, #94A3B8); }

#wppd-dashboard .wppd-course-name {
	color: var(--vr-contrast, #F8FAFC);
}
#wppd-dashboard .wppd-course-name:hover {
	color: var(--vr-cyan, #00F2FF);
	text-decoration: none;
}
#wppd-dashboard .wppd-course-name--locked {
	color: rgba(148, 163, 184, 0.6);
}
#wppd-dashboard .wppd-course-detail {
	color: var(--vr-muted, #94A3B8);
}

#wppd-dashboard .wppd-mini-bar-track {
	background: rgba(255, 255, 255, 0.08);
}
#wppd-dashboard .wppd-mini-bar {
	background: var(--vr-cyan, #00F2FF);
}

#wppd-dashboard .wppd-badge--completed   { background: rgba(52,199,89,0.18);  color: #6EE7B7; }
#wppd-dashboard .wppd-badge--in-progress { background: rgba(0,242,255,0.15);  color: var(--vr-cyan, #00F2FF); }
#wppd-dashboard .wppd-badge--enrolled    { background: rgba(0,242,255,0.15);  color: var(--vr-cyan, #00F2FF); }
#wppd-dashboard .wppd-badge--not-started { background: rgba(148,163,184,0.18); color: var(--vr-muted, #94A3B8); }

#wppd-dashboard .wppd-cta-btn {
	background: var(--vr-cyan, #00F2FF);
	color: var(--vr-base, #020617);
	font-weight: 700;
}
#wppd-dashboard .wppd-cta-btn:hover {
	background: var(--vr-contrast, #F8FAFC);
	color: var(--vr-base, #020617);
}

/* ── Certificates ───────────────────────────────────────────────── */
#wppd-dashboard .wppd-cert-row {
	background: rgba(251, 191, 36, 0.10);
	border: 1px solid rgba(251, 191, 36, 0.25);
}
#wppd-dashboard .wppd-cert-icon { color: #F59E0B; }
#wppd-dashboard .wppd-cert-name { color: #FBBF24; font-weight: 700; }
#wppd-dashboard .wppd-cert-meta { color: #D97706; }

/* ── Empty state ────────────────────────────────────────────────── */
#wppd-dashboard .wppd-empty-state {
	color: var(--vr-muted, #94A3B8);
	background: var(--vr-surface, #0F172A);
	border: 1px dashed var(--vr-border, rgba(0,242,255,0.12));
	border-radius: 10px;
}


/* ════════════════════════════════════════════════════════════════════════
   WP Program Dashboard — PMPro account-page injection
   ════════════════════════════════════════════════════════════════════════ */

.wppd-account-program { color: var(--vr-body, #CBD5E1); }
.wppd-account-program .wppd-acct-bar-track { background: rgba(255, 255, 255, 0.06); }
.wppd-account-program .wppd-acct-bar {
	background: linear-gradient(90deg, var(--vr-cyan, #00F2FF), var(--vr-emerald, #34D399));
}
.wppd-account-program .wppd-acct-progress {
	color: var(--vr-cyan, #00F2FF);
	font-family: 'Inter', sans-serif;
	font-weight: 700;
}
.wppd-account-program .wppd-acct-expiry { color: var(--vr-muted, #94A3B8); }
.wppd-account-program .wppd-acct-courses {
	background: var(--vr-surface, #0F172A);
	border: 1px solid var(--vr-border, rgba(0,242,255,0.12));
}
.wppd-account-program .wppd-acct-course {
	border-bottom: 1px solid var(--vr-border, rgba(0,242,255,0.08));
}
.wppd-account-program .wppd-acct-course:last-child { border-bottom: none; }
.wppd-account-program .wppd-acct-thumb--placeholder {
	background: rgba(0, 242, 255, 0.12);
	color: var(--vr-cyan, #00F2FF);
}
.wppd-account-program .wppd-acct-thumb--locked {
	background: rgba(148, 163, 184, 0.15);
	color: var(--vr-muted, #94A3B8);
}
.wppd-account-program .wppd-acct-course-name { color: var(--vr-contrast, #F8FAFC); }
.wppd-account-program .wppd-acct-course-name:hover { color: var(--vr-cyan, #00F2FF); }
.wppd-account-program .wppd-acct-course-name--locked { color: rgba(148, 163, 184, 0.6); }
.wppd-account-program .wppd-acct-course-detail { color: var(--vr-muted, #94A3B8); }
.wppd-account-program .wppd-acct-status--completed { color: #6EE7B7; }
.wppd-account-program .wppd-acct-status--in-progress { color: var(--vr-cyan, #00F2FF); }
.wppd-account-program .wppd-acct-pct {
	color: var(--vr-cyan, #00F2FF);
	font-family: 'Inter', sans-serif;
	font-weight: 700;
}
.wppd-account-program .wppd-unenroll-btn { color: #FCA5A5; }
.wppd-account-program .wppd-unenroll-btn:hover { color: #F87171; }
.wppd-account-program .wppd-acct-dashboard-link { color: var(--vr-cyan, #00F2FF); }

.wppd-account-program .wppd-unenroll-confirm {
	background: rgba(248, 113, 113, 0.10);
	border: 1px solid rgba(248, 113, 113, 0.30);
}
.wppd-account-program .wppd-unenroll-confirm__msg { color: #FCA5A5; }
.wppd-account-program .wppd-unenroll-confirm__yes {
	background: #DC2626; color: #F8FAFC; font-weight: 700;
}
.wppd-account-program .wppd-unenroll-confirm__yes:hover { background: #B91C1C; color: #F8FAFC; }
.wppd-account-program .wppd-unenroll-confirm__no { color: #FCA5A5; }
