/* =========================================================
   ImagingToday v2 — Dark Podcast-First Design System
   ========================================================= */

/* --- Google Fonts --- */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,300;12..96,400;12..96,500;12..96,600;12..96,700;12..96,800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=JetBrains+Mono:wght@400;500;600&display=swap');

/* --- CSS Reset --- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

/* --- Global focus-visible ring (A11Y) --- */
:focus-visible {
  outline: 2px solid var(--accent-teal);
  outline-offset: 2px;
}

/* Remove default outline for mouse/touch, keep for keyboard */
:focus:not(:focus-visible) {
  outline: none;
}

/* --- Design Tokens --- */
:root {
  --bg-base:     #0F172A;
  --bg-card:     #1E293B;
  --bg-raised:   #263348;
  --bg-studio:   #0A111F;
  --bg-player:   #0D1B2E;

  --accent-teal: #00D4AA;
  --accent-blue: #38BDF8;
  --accent-gold: #F59E0B;
  --accent-teal-dim: rgba(0, 212, 170, 0.15);
  --accent-teal-glow: rgba(0, 212, 170, 0.3);

  --text-1: #F1F5F9;
  --text-2: #9BA8BA;
  --text-3: #64748B;
  --border: rgba(255,255,255,0.08);
  --border-teal: rgba(0, 212, 170, 0.35);

  --ff-display: 'Bricolage Grotesque', system-ui, sans-serif;
  --ff-display-alt: 'Nunito', system-ui, sans-serif;
  --ff-body:    'DM Sans', system-ui, sans-serif;
  --ff-mono:    'JetBrains Mono', monospace;

  --radius-sm:  6px;
  --radius-md:  12px;
  --radius-lg:  20px;
  --radius-full: 9999px;

  --shadow-card: 0 4px 24px rgba(0,0,0,0.4);
  --shadow-glow: 0 0 32px rgba(0, 212, 170, 0.2);

  --transition: 0.2s ease-out;
  --nav-h: 68px;
  --player-h: 76px;
}

/* --- Base --- */
button,
input[type="submit"],
input[type="button"],
input[type="reset"] {
  font-family: var(--ff-body);
}

/* Normalize plugin font fallbacks */
.learndash-wrapper,
.learndash-wrapper *,
.woocommerce,
.woocommerce *,
.wpProQuiz_content,
.wpProQuiz_content * {
  font-family: var(--ff-body);
}

body {
  font-family: var(--ff-body);
  background: var(--bg-base);
  color: var(--text-1);
  font-size: 15px;
  line-height: 1.6;
  min-height: 100vh;
  padding-bottom: var(--player-h);
  /* subtle noise grain */
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
}

/* =========================================================
   1. NAVIGATION
   ========================================================= */
.nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 900;
  height: var(--nav-h);
  display: flex;
  align-items: center;
  padding: 0 32px;
  gap: 24px;
  background: rgba(15, 23, 42, 0.7);
  backdrop-filter: blur(16px) saturate(180%);
  -webkit-backdrop-filter: blur(16px) saturate(180%);
  border-bottom: 1px solid var(--border);
  transition: background var(--transition), box-shadow var(--transition);
}

.nav.scrolled {
  background: rgba(15, 23, 42, 0.92);
  box-shadow: 0 4px 32px rgba(0,0,0,0.4);
}

/* Wordmark */
.nav-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  flex-shrink: 0;
  color: var(--text-1);
}

.nav-brand-logo {
  width: 36px;
  height: 36px;
  border-radius: var(--radius-sm);
  object-fit: cover;
}

.nav-brand-icon {
  color: var(--accent-teal);
  flex-shrink: 0;
}

.nav-brand-text {
  font-family: var(--ff-display-alt);
  font-size: 20px;
  font-weight: 700;
  color: var(--text-1);
  letter-spacing: -0.2px;
}

.nav-brand-text span {
  color: var(--accent-teal);
}

/* Center links */
.nav-links {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 1;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-links a {
  color: var(--text-2);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  padding: 6px 14px;
  border-radius: var(--radius-full);
  transition: color var(--transition), background var(--transition);
}

.nav-links a:hover {
  color: var(--text-1);
  background: rgba(255,255,255,0.06);
}

.nav-links a.active {
  color: var(--accent-teal);
}

/* Right actions */
.nav-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.nav-search-btn {
  background: none;
  border: none;
  color: var(--text-2);
  cursor: pointer;
  padding: 8px;
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  transition: color var(--transition), background var(--transition);
}

.nav-search-btn:hover {
  color: var(--text-1);
  background: rgba(255,255,255,0.06);
}

.btn-subscribe {
  background: var(--accent-teal);
  color: #0F172A;
  font-family: var(--ff-body);
  font-size: 13px;
  font-weight: 600;
  padding: 9px 20px;
  border-radius: var(--radius-full);
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: transform var(--transition), box-shadow var(--transition), background var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.btn-subscribe:hover {
  background: #00bfa0;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(0, 212, 170, 0.4);
}

/* =========================================================
   2. HERO — STACKED MODALITY PANELS
   ========================================================= */

@keyframes fadeSlideUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes cardStaggerIn {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* --- Unified Hero Section --- */
.hero {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-top: var(--nav-h);
  padding-bottom: 40px;
  background: linear-gradient(170deg, #0A111F 0%, #0F172A 40%, #111D32 100%);
  text-align: center;
  overflow: hidden;
}

.has-banner .hero {
  padding-top: calc(var(--nav-h) + 38px);
}

/* Decorative teal glow */
.hero::before {
  content: '';
  position: absolute;
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
  width: 600px;
  height: 400px;
  background: radial-gradient(ellipse, rgba(0, 212, 170, 0.08) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.hero-inner {
  position: relative;
  z-index: 1;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 32px 32px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* --- Hero text block --- */
.hero-text {
  max-width: 820px;
  margin: 0 auto 8px;
  animation: fadeSlideUp 0.7s ease both;
}

.hero-eyebrow {
  display: inline-block;
  font-family: var(--ff-mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent-teal);
  margin-bottom: 20px;
}

.hero-headline {
  font-family: var(--ff-display-alt);
  font-size: clamp(32px, 4.5vw, 52px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.5px;
  color: var(--text-1);
  margin-bottom: 8px;
}

.hero-sub {
  font-family: var(--ff-body);
  font-size: clamp(14px, 1.3vw, 16px);
  line-height: 1.5;
  color: var(--text-2);
  max-width: 520px;
  margin: 0 auto 16px;
}

/* Host announcement – non-intrusive card, bottom-right */
.host-announce-overlay {
  position: fixed;
  bottom: calc(var(--player-h) + 16px);
  right: 20px;
  z-index: 900;
  max-width: 360px;
  width: calc(100% - 40px);
  animation: slideInRight 0.5s ease 0.5s both;
}

.host-announce-modal {
  position: relative;
  padding: 20px 24px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-left: 4px solid var(--accent-teal);
  border-radius: var(--radius-md);
  text-align: left;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}

.host-announce-close {
  position: absolute;
  top: 8px;
  right: 12px;
  background: none;
  border: none;
  color: var(--text-3);
  font-size: 20px;
  cursor: pointer;
  line-height: 1;
  transition: color 0.2s;
}

.host-announce-close:hover {
  color: var(--text-1);
}

@keyframes slideInRight {
  from { opacity: 0; transform: translateX(40px); }
  to   { opacity: 1; transform: translateX(0); }
}

.hero-host-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.hero-host-photo {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--border-teal);
  flex-shrink: 0;
}

.hero-host-header .hero-host-eyebrow {
  margin-bottom: 2px;
}

.hero-host-header .hero-host-name {
  margin-bottom: 0;
}

.hero-host-eyebrow {
  display: inline-block;
  font-family: var(--ff-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent-teal);
  margin-bottom: 6px;
}

.hero-host-name {
  font-family: var(--ff-display);
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 800;
  color: var(--text-1);
  margin-bottom: 2px;
}

.hero-host-creds {
  font-family: var(--ff-mono);
  font-size: 11px;
  color: var(--text-3);
  letter-spacing: 0.03em;
  margin-bottom: 8px;
}

.hero-host-titles {
  font-family: var(--ff-body);
  font-size: 12px;
  color: var(--text-2);
  margin-bottom: 8px;
}

.hero-host-bio {
  font-family: var(--ff-body);
  font-size: 13px;
  line-height: 1.55;
  color: var(--text-2);
}

.hero-stats {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

.hero-stat {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--ff-body);
  font-size: 14px;
  color: var(--text-2);
  padding: 8px 20px;
  border-radius: var(--radius-full);
  border: 1px solid var(--border);
  background: var(--bg-card);
}

.hero-stat strong {
  font-family: var(--ff-display);
  font-weight: 700;
  color: var(--text-1);
}

/* --- Hero card grid --- */
.hero-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: stretch;
}

.hero-card-column {
  display: flex;
  flex-direction: column;
  animation: cardStaggerIn 0.6s ease both;
}

.hero-card-header {
  font-family: var(--ff-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-2);
  margin-bottom: 6px;
}

.hero-card-column .hero-card {
  flex: 1;
}

/* --- Individual card --- */
.hero-card {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform var(--transition), box-shadow var(--transition);
}

.hero-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}

/* Card thumbnail image */
.hero-card-img {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3.3;
  overflow: hidden;
  flex-shrink: 0;
}

.hero-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.hero-card:hover .hero-card-img img {
  transform: scale(1.05);
}

/* Meta row: modality tag + featured label */
.hero-card-meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.hero-card-meta-row .hero-card-mod {
  margin-bottom: 0;
}

/* Featured Episode label */
.hero-card-featured {
  font-family: var(--ff-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--panel-accent);
  background: var(--panel-glow);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 3px 10px;
  border-radius: var(--radius-full);
}

/* --- MRI: teal identity --- */
.hero-mri {
  --panel-accent: var(--accent-teal);
  --panel-glow: rgba(0, 212, 170, 0.15);
  background: linear-gradient(
    160deg,
    rgba(0, 40, 50, 0.92) 0%,
    rgba(15, 23, 42, 0.96) 100%
  );
  border: 1px solid rgba(0, 212, 170, 0.2);
}

/* --- CT·X-Ray: blue identity --- */
.hero-ct {
  --panel-accent: var(--accent-blue);
  --panel-glow: rgba(56, 189, 248, 0.12);
  background: linear-gradient(
    160deg,
    rgba(10, 30, 65, 0.92) 0%,
    rgba(15, 23, 50, 0.96) 100%
  );
  border: 1px solid rgba(56, 189, 248, 0.2);
}

/* --- Ultrasound: gold identity --- */
.hero-us {
  --panel-accent: var(--accent-gold);
  --panel-glow: rgba(245, 158, 11, 0.12);
  background: linear-gradient(
    160deg,
    rgba(50, 35, 10, 0.92) 0%,
    rgba(30, 23, 15, 0.96) 100%
  );
  border: 1px solid rgba(245, 158, 11, 0.2);
}

/* --- Card inner content --- */
.hero-card-body {
  position: relative;
  z-index: 1;
  padding: 28px 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 6px;
}

/* Modality tag — inline */
.hero-card-mod {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--ff-display);
  font-size: 13px;
  font-weight: 700;
  color: var(--panel-accent);
  margin-bottom: 16px;
  letter-spacing: 0.04em;
}

.mod-tag-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--panel-accent);
  flex-shrink: 0;
}

/* Title */
.hero-card-title {
  font-family: var(--ff-display-alt);
  font-size: clamp(18px, 1.8vw, 24px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.2px;
  color: var(--text-1);
  margin-bottom: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Guest name + credentials */
.hero-card-guest {
  font-family: var(--ff-body);
  font-size: 14px;
  color: var(--text-2);
  margin-bottom: 12px;
}

.hero-card-guest-cred {
  color: var(--text-3);
  font-size: 13px;
}

/* Claim Your Credits link on hero cards */
.hero-card-ce-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid rgba(245, 158, 11, 0.35);
  color: var(--accent-gold);
  font-family: var(--ff-mono);
  font-size: 10px;
  font-weight: 600;
  padding: 5px 10px;
  border-radius: var(--radius-full);
  text-decoration: none;
  white-space: nowrap;
  width: fit-content;
  margin-top: auto;
  transition: background var(--transition), transform var(--transition);
}

.hero-card-ce-btn:hover {
  background: rgba(245, 158, 11, 0.22);
  transform: translateY(-1px);
}

/* Coming soon message */
.hero-card-soon-msg {
  font-size: 13px;
  line-height: 1.6;
  color: var(--text-2);
  margin-bottom: 16px;
}

/* Actions row */
.hero-card-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: auto;
}

.hero-card-play {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--panel-accent);
  color: #0A111F;
  font-family: var(--ff-display);
  font-size: 13px;
  font-weight: 700;
  padding: 10px 24px;
  border-radius: var(--radius-full);
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: transform var(--transition), box-shadow var(--transition);
}

.hero-card-play:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.4);
}

.hero-card-play--soon {
  background: transparent;
  border: 1.5px solid var(--panel-accent);
  color: var(--panel-accent);
}

.hero-card-play--soon:hover {
  background: rgba(255, 255, 255, 0.05);
}

/* View Episode text link */
.hero-card-link {
  font-family: var(--ff-body);
  font-size: 13px;
  font-weight: 600;
  color: var(--text-2);
  text-decoration: none;
  transition: color var(--transition);
}

.hero-card-link:hover {
  color: var(--panel-accent);
}

/* Coming soon card slightly dimmed */
.hero-card--soon {
  opacity: 0.75;
}

.hero-card--soon:hover {
  opacity: 1;
}

.hero-card--soon .hero-card-title {
  color: var(--panel-accent);
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .hero-text,
  .hero-card,
  .hero-card-column {
    animation: none;
  }
}

/* =========================================================
   3. MODALITY FILTER BAR
   ========================================================= */
.filter-bar-sticky {
  position: sticky;
  top: var(--nav-h);
  z-index: 800;
  background: rgba(30, 41, 59, 0.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
  padding: 12px 48px;
}

.filter-bar-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.filter-pill {
  font-family: var(--ff-body);
  font-size: 13px;
  font-weight: 500;
  padding: 7px 18px;
  border-radius: var(--radius-full);
  border: 1.5px solid var(--border-teal);
  background: transparent;
  color: var(--accent-teal);
  cursor: pointer;
  transition: background var(--transition), color var(--transition), border-color var(--transition);
}

.filter-pill:hover {
  background: var(--accent-teal-dim);
}

.filter-pill.active {
  background: var(--accent-teal);
  color: #0A111F;
  border-color: var(--accent-teal);
  font-weight: 600;
}

/* =========================================================
   4. EPISODE GRID
   ========================================================= */
.episodes-wrap {
  background: var(--bg-card);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.episodes-section {
  max-width: 1280px;
  margin: 0 auto;
  padding: 56px 48px;
}

.section-header {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin-bottom: 36px;
}

.section-title {
  font-family: var(--ff-display);
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.5px;
  color: var(--text-1);
}

.section-count {
  font-family: var(--ff-mono);
  font-size: 13px;
  color: var(--text-3);
}

.episodes-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* Episode Card */
.ep-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 64px 24px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition);
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

/* Translucent post image background */
.ep-card.has-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--ep-bg);
  background-size: cover;
  background-position: center;
  opacity: 0.15;
  z-index: 0;
  transition: opacity var(--transition);
}

.ep-card.has-bg:hover::after {
  opacity: 0.25;
}

.ep-card.has-bg > *:not(.ep-modality) {
  position: relative;
  z-index: 1;
}

.ep-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--accent-teal), transparent);
  opacity: 0;
  transition: opacity var(--transition);
  z-index: 2;
}

.ep-card:hover {
  transform: translateY(-4px);
  border-color: var(--border-teal);
  box-shadow: var(--shadow-card), 0 0 0 1px var(--border-teal);
}

.ep-card:hover::before { opacity: 1; }

/* Card top row */
.ep-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.ep-avatar-wrap {
  position: relative;
  flex-shrink: 0;
}

.ep-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ff-display);
  font-weight: 700;
  font-size: 18px;
  color: white;
  border: 2px solid transparent;
  transition: border-color var(--transition);
}

.ep-card:hover .ep-avatar {
  border-color: var(--accent-teal);
}

/* Avatar color palette by initials */
.avatar-jm { background: linear-gradient(135deg, #1a4f6e, #00D4AA); }
.avatar-rg { background: linear-gradient(135deg, #312e81, #818cf8); }
.avatar-hr { background: linear-gradient(135deg, #7f1d1d, #f87171); }
.avatar-ai { background: linear-gradient(135deg, #065f46, #34d399); }
.avatar-ct { background: linear-gradient(135deg, #1e3a5f, #38BDF8); }
.avatar-xr { background: linear-gradient(135deg, #3b1a5c, #a855f7); }

/* CE Badge top-right */
.ep-ce-badge {
  font-family: var(--ff-mono);
  font-size: 10px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: var(--radius-full);
  background: rgba(245, 158, 11, 0.15);
  border: 1px solid rgba(245, 158, 11, 0.4);
  color: var(--accent-gold);
  white-space: nowrap;
  flex-shrink: 0;
}

/* EP number */
.ep-num {
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 600;
  color: var(--accent-teal);
  letter-spacing: 0.05em;
}

/* Modality tag — upper right on episode cards (matches hero cards) */
.ep-modality {
  position: absolute;
  top: 16px;
  right: 16px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--ff-display);
  font-size: 14px;
  font-weight: 700;
  color: var(--mod-accent, var(--accent-teal));
  background: rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 6px 14px;
  border-radius: var(--radius-full);
  z-index: 3;
  letter-spacing: 0.04em;
}

.ep-modality .modality-dot {
  width: 8px;
  height: 8px;
  background: var(--mod-accent, var(--accent-teal));
}

.modality-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}

.dot-mri   { background: var(--accent-teal); }
.dot-ct    { background: var(--accent-blue); }
.dot-xray  { background: #a855f7; }
.dot-us    { background: #f97316; }
.dot-safety{ background: var(--accent-gold); }

/* Episode title */
.ep-title {
  font-family: var(--ff-display-alt);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.2px;
  color: var(--text-1);
}

/* Guest info */
.ep-guest {
  font-size: 13px;
  color: var(--accent-blue);
  font-weight: 500;
}

/* Description */
.ep-desc {
  font-size: 13px;
  color: var(--text-2);
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Card bottom */
.ep-card-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.ep-duration {
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: var(--ff-mono);
  font-size: 12px;
  color: var(--text-3);
}

.ep-play-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--accent-teal);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0A111F;
  transition: transform var(--transition), box-shadow var(--transition);
  flex-shrink: 0;
}

.ep-play-btn:hover {
  transform: scale(1.12);
  box-shadow: 0 4px 16px rgba(0, 212, 170, 0.5);
}

/* Claim Credits button on episode cards */
.ep-ce-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid rgba(245, 158, 11, 0.35);
  color: var(--accent-gold);
  font-family: var(--ff-mono);
  font-size: 10px;
  font-weight: 600;
  padding: 5px 10px;
  border-radius: var(--radius-full);
  text-decoration: none;
  white-space: nowrap;
  transition: background var(--transition), transform var(--transition);
}

.ep-ce-btn:hover {
  background: rgba(245, 158, 11, 0.22);
  transform: translateY(-1px);
}

/* Hidden state for filter */
.ep-card.hidden,
.ep-card.ep-hidden {
  display: none;
}

.episodes-empty {
  text-align: center;
  padding: 60px 24px;
}

.load-more-btn {
  background: transparent;
  color: var(--accent-teal);
  font-family: var(--ff-body);
  font-size: 14px;
  font-weight: 600;
  padding: 12px 32px;
  border: 1px solid var(--border-teal);
  border-radius: var(--radius-full);
  cursor: pointer;
  transition: background var(--transition), color var(--transition);
}

.load-more-btn:hover {
  background: var(--accent-teal);
  color: #0F172A;
}

/* =========================================================
   5. HOST BOOTH
   ========================================================= */
.host-section {
  background: var(--bg-studio);
  padding: 80px 48px;
  position: relative;
  overflow: hidden;
}

/* Watermark SVG pattern */
.host-section::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 500px;
  height: 500px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Ccircle cx='100' cy='100' r='80' fill='none' stroke='%2300D4AA' stroke-width='1' opacity='0.04'/%3E%3Ccircle cx='100' cy='100' r='60' fill='none' stroke='%2300D4AA' stroke-width='1' opacity='0.04'/%3E%3Ccircle cx='100' cy='100' r='40' fill='none' stroke='%2300D4AA' stroke-width='1' opacity='0.06'/%3E%3Cpath d='M85 60 L85 140 M100 50 L100 150 M115 60 L115 140 M70 75 L70 125 M130 75 L130 125' stroke='%2300D4AA' stroke-width='1.5' stroke-linecap='round' opacity='0.05'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  pointer-events: none;
  opacity: 0.6;
}

.host-section::after {
  content: '';
  position: absolute;
  bottom: -80px; left: -80px;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(0, 212, 170, 0.05) 0%, transparent 70%);
  pointer-events: none;
}

.host-inner {
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.host-section .section-title {
  margin-bottom: 12px;
}

.host-section-sub {
  color: var(--text-2);
  font-size: 15px;
  margin-bottom: 48px;
  max-width: 480px;
}

.hosts-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  max-width: 800px;
}

.host-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: border-color var(--transition), background var(--transition);
}

.host-card:hover {
  border-color: var(--border-teal);
  background: rgba(0, 212, 170, 0.04);
}

.host-avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ff-display);
  font-size: 26px;
  font-weight: 800;
  color: white;
  border: 2px solid var(--border-teal);
}

.host-avatar-bf { background: linear-gradient(135deg, #0f4c75, #1b6ca8); }
.host-avatar-kh { background: linear-gradient(135deg, #4a1454, #9c27b0); }

.host-name {
  font-family: var(--ff-display);
  font-size: 20px;
  font-weight: 700;
  color: var(--text-1);
}

.host-title {
  font-size: 12px;
  font-weight: 600;
  color: var(--accent-teal);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-family: var(--ff-mono);
}

.host-bio {
  font-size: 14px;
  color: var(--text-2);
  line-height: 1.65;
}

.host-socials {
  display: flex;
  gap: 8px;
  margin-top: 4px;
}

.host-social-link {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255,255,255,0.06);
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-3);
  text-decoration: none;
  font-size: 13px;
  transition: background var(--transition), color var(--transition);
}

.host-social-link:hover {
  background: var(--accent-teal-dim);
  color: var(--accent-teal);
  border-color: var(--border-teal);
}

/* =========================================================
   6. MODALITIES SECTION
   ========================================================= */
.modalities-wrap {
  background: var(--bg-card);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.modalities-section {
  max-width: 1280px;
  margin: 0 auto;
  padding: 72px 48px;
}

.modalities-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 36px;
}

.modality-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition);
}

.modality-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-card);
}

.modality-card.active {
  border-color: var(--border-teal);
  background: linear-gradient(160deg, rgba(0, 212, 170, 0.06), var(--bg-card));
}

.modality-card.active:hover {
  box-shadow: var(--shadow-glow);
}

.modality-icon {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 212, 170, 0.1);
  color: var(--accent-teal);
}

.modality-card:not(.active) .modality-icon {
  background: rgba(255,255,255,0.05);
  color: var(--text-3);
}

.modality-card-name {
  font-family: var(--ff-display);
  font-size: 18px;
  font-weight: 700;
  color: var(--text-1);
}

.modality-card-count {
  font-family: var(--ff-mono);
  font-size: 12px;
  color: var(--text-3);
}

.modality-card.active .modality-card-count {
  color: var(--accent-teal);
}

.modality-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: var(--radius-full);
  margin-top: auto;
}

.status-live {
  background: rgba(0, 212, 170, 0.15);
  border: 1px solid var(--border-teal);
  color: var(--accent-teal);
}

.status-soon {
  background: rgba(71, 85, 105, 0.3);
  border: 1px solid rgba(71,85,105,0.5);
  color: var(--text-3);
}

/* =========================================================
   7. SUBSCRIBE / PLATFORM CTA
   ========================================================= */
.subscribe-section {
  background: var(--bg-studio);
  padding: 80px 48px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.subscribe-section::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 800px;
  height: 400px;
  background: radial-gradient(ellipse, rgba(0, 212, 170, 0.08) 0%, rgba(56, 189, 248, 0.04) 40%, transparent 70%);
  pointer-events: none;
}

.subscribe-inner {
  position: relative;
  z-index: 1;
  max-width: 700px;
  margin: 0 auto;
}

.subscribe-eyebrow {
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 600;
  color: var(--accent-teal);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: 16px;
  display: block;
}

.subscribe-title {
  font-family: var(--ff-display);
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 800;
  letter-spacing: -1px;
  color: var(--text-1);
  margin-bottom: 16px;
  line-height: 1.1;
}

.subscribe-sub {
  color: var(--text-2);
  font-size: 16px;
  margin-bottom: 40px;
  line-height: 1.6;
}

.platform-buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.platform-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 13px 24px;
  border-radius: var(--radius-full);
  font-family: var(--ff-body);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border: 1.5px solid;
  transition: transform var(--transition), box-shadow var(--transition), background var(--transition);
  cursor: pointer;
}

.platform-btn:hover {
  transform: translateY(-2px);
}

.platform-btn-spotify {
  background: #1DB954;
  border-color: #1DB954;
  color: white;
}
.platform-btn-spotify:hover { box-shadow: 0 6px 24px rgba(29, 185, 84, 0.4); }

.platform-btn-apple {
  background: #FC3C44;
  border-color: #FC3C44;
  color: white;
}
.platform-btn-apple:hover { box-shadow: 0 6px 24px rgba(252, 60, 68, 0.4); }

.platform-btn-iheart {
  background: #C6002B;
  border-color: #C6002B;
  color: white;
}
.platform-btn-iheart:hover { box-shadow: 0 6px 24px rgba(198, 0, 43, 0.4); }

.platform-btn-android {
  background: #3DDC84;
  border-color: #3DDC84;
  color: #0A111F;
}
.platform-btn-android:hover { box-shadow: 0 6px 24px rgba(61, 220, 132, 0.4); }

.platform-btn-blubrry {
  background: #2D71E6;
  border-color: #2D71E6;
  color: white;
}
.platform-btn-blubrry:hover { box-shadow: 0 6px 24px rgba(45, 113, 230, 0.4); }

.platform-btn-email {
  background: transparent;
  border-color: var(--accent-teal);
  color: var(--accent-teal);
}
.platform-btn-email:hover {
  background: var(--accent-teal-dim);
  box-shadow: 0 6px 24px rgba(0, 212, 170, 0.2);
}

.platform-btn-tunein {
  background: #14D8CC;
  border-color: #14D8CC;
  color: #0A111F;
}
.platform-btn-tunein:hover { box-shadow: 0 6px 24px rgba(20, 216, 204, 0.4); }

.platform-btn-deezer {
  background: transparent;
  border-color: var(--border-teal);
  color: var(--accent-teal);
}
.platform-btn-deezer:hover {
  background: var(--accent-teal-dim);
  box-shadow: 0 6px 24px rgba(0, 212, 170, 0.2);
}

.platform-btn-rss {
  background: #F26522;
  border-color: #F26522;
  color: white;
}
.platform-btn-rss:hover { box-shadow: 0 6px 24px rgba(242, 101, 34, 0.4); }

/* =========================================================
   8. PERSISTENT BOTTOM AUDIO PLAYER
   ========================================================= */
.audio-player {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 1000;
  height: var(--player-h);
  background: var(--bg-player);
  border-top: 1px solid var(--border-teal);
  box-shadow: 0 -4px 32px rgba(0, 0, 0, 0.5), 0 -1px 0 rgba(0, 212, 170, 0.2);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 24px;
  gap: 24px;
}

.audio-player:not(.has-episode) .player-controls,
.audio-player:not(.has-episode) .player-right {
  opacity: 0.3;
  pointer-events: none;
}

/* Left: episode info */
.player-info {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.player-thumb {
  width: 46px;
  height: 46px;
  border-radius: var(--radius-sm);
  background: linear-gradient(135deg, #1a4f6e, #00D4AA);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ff-display);
  font-size: 14px;
  font-weight: 700;
  color: white;
  flex-shrink: 0;
}

.player-meta {
  min-width: 0;
}

.player-ep-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-1);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 260px;
}

.player-ep-guest {
  font-size: 11px;
  color: var(--text-3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Center: transport + progress */
.player-controls {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.transport {
  display: flex;
  align-items: center;
  gap: 16px;
}

.transport-btn {
  background: none;
  border: none;
  color: var(--text-2);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border-radius: var(--radius-full);
  transition: color var(--transition), transform var(--transition);
}

.transport-btn:hover {
  color: var(--text-1);
}

.transport-btn.skip:hover { transform: scale(1.1); }

.play-pause-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--accent-teal);
  color: #0A111F !important;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--transition), box-shadow var(--transition);
}

.play-pause-btn:hover {
  transform: scale(1.08);
  box-shadow: 0 4px 16px rgba(0, 212, 170, 0.4);
}

/* Progress bar */
.progress-track {
  width: 300px;
  height: 4px;
  background: rgba(255,255,255,0.1);
  border-radius: 2px;
  cursor: pointer;
  position: relative;
  overflow: visible;
}

.progress-fill {
  height: 100%;
  background: var(--accent-teal);
  border-radius: 2px;
  width: 100%;
  transform: scaleX(0.3);
  transform-origin: left;
  will-change: transform;
  position: relative;
}

.progress-fill::after {
  content: '';
  position: absolute;
  right: -5px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background: white;
  border-radius: 50%;
  opacity: 0;
  transition: opacity var(--transition);
}

.progress-track:hover .progress-fill::after {
  opacity: 1;
}

.progress-times {
  display: flex;
  justify-content: space-between;
  width: 300px;
  font-family: var(--ff-mono);
  font-size: 10px;
  color: var(--text-3);
  margin-top: 2px;
}

/* Right: volume + CE */
.player-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
}

.volume-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}

.volume-icon {
  color: var(--text-3);
  flex-shrink: 0;
}

.volume-slider {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 80px;
  height: 3px;
  background: rgba(255,255,255,0.15);
  border-radius: 2px;
  outline: none;
  cursor: pointer;
}

.volume-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 12px;
  height: 12px;
  background: var(--accent-teal);
  border-radius: 50%;
  cursor: pointer;
}

.volume-slider::-moz-range-track {
  background: rgba(255,255,255,0.15);
  height: 3px;
  border-radius: 2px;
  border: none;
}

.volume-slider::-moz-range-thumb {
  width: 12px;
  height: 12px;
  background: var(--accent-teal);
  border-radius: 50%;
  border: none;
  cursor: pointer;
}

.player-ce {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid rgba(245, 158, 11, 0.35);
  border-radius: var(--radius-full);
  padding: 5px 12px;
  text-decoration: none;
  font-size: 11px;
  font-weight: 600;
  color: var(--accent-gold);
  transition: background var(--transition);
  white-space: nowrap;
}

.player-ce:hover {
  background: rgba(245, 158, 11, 0.2);
}

/* =========================================================
   TOUCH TARGET COMPLIANCE (44px minimum)
   ========================================================= */

/* Host announcement close button */
.host-announce-close {
  min-width: 44px;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Filter pills */
.filter-pill {
  min-height: 44px;
  padding-top: 8px;
  padding-bottom: 8px;
}

/* Hero card play buttons */
.hero-card-play {
  min-height: 44px;
  padding-top: 10px;
  padding-bottom: 10px;
}

/* View Episode link */
.hero-card-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

/* Claim Your Credits badges */
.hero-card-ce-btn,
.ep-ce-btn {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding-top: 8px;
  padding-bottom: 8px;
}

/* Episode grid play button */
.ep-play-btn {
  min-width: 44px;
  min-height: 44px;
}

/* Banner close button */
.formerly-banner-close {
  min-width: 44px;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* =========================================================
   CE COURSES PAGE FILTER BAR
   ========================================================= */
.ce-filter-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

/* =========================================================
   REGISTRATION PAGE VALUE PROPOSITION
   ========================================================= */
.reg-value-prop {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-left: 4px solid var(--accent-teal);
  border-radius: var(--radius-md);
  padding: 24px 28px;
  margin-bottom: 32px;
}

.reg-value-title {
  font-family: var(--ff-display);
  font-size: 22px;
  font-weight: 700;
  color: var(--text-1);
  margin-bottom: 8px;
}

.reg-value-desc {
  font-size: 15px;
  color: var(--text-2);
  margin-bottom: 16px;
  line-height: 1.5;
}

.reg-value-features {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
}

.reg-feature {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--accent-teal);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1024px) {
  .episodes-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .modalities-grid {
    grid-template-columns: repeat(2, 2fr);
  }
}

@media (max-width: 768px) {
  .nav { padding: 0 16px; }
  .nav-links { display: none; }

  .hero-inner { padding: 48px 24px 40px; }
  .hero-text { margin-bottom: 32px; }
  .host-announce-overlay {
    right: 0;
    left: 0;
    bottom: var(--player-h);
    max-width: none;
    width: 100%;
    border-radius: 0;
  }
  .host-announce-modal {
    padding: 16px 18px;
    border-radius: 0;
    border-left: none;
    border-top: 2px solid var(--accent-teal);
  }

  .hero-grid { grid-template-columns: 1fr; gap: 20px; }

  .filter-bar-sticky { padding: 10px 16px; }

  .episodes-section,
  .modalities-section,
  .subscribe-section,
  .host-section { padding: 48px 24px; }

  .episodes-grid { grid-template-columns: 1fr; }
  .modalities-grid { grid-template-columns: repeat(2, 1fr); }
  .hosts-grid { grid-template-columns: 1fr; }

  .audio-player {
    grid-template-columns: 1fr auto;
    padding: 0 16px;
    gap: 12px;
  }

  .player-right { display: none; }

  .progress-track,
  .progress-times { width: 200px; }

  /* Hide floating social sidebar on mobile — links available in footer */
  .essb_fixed,
  .essb-fixed,
  [class*="essb_fixed"],
  [class*="essbfc"] {
    display: none !important;
  }
}

@media (max-width: 480px) {
  .nav-brand-text { font-size: 17px; }
  .hero-mod-title { font-size: 18px; }
  .hero-mod-card { min-height: 260px; }
  .platform-buttons { flex-direction: column; align-items: stretch; }
  .platform-btn { justify-content: center; }
  .modalities-grid { grid-template-columns: 1fr; }
  .progress-track, .progress-times { width: 150px; }
}

/* =========================================================
   UTILITY
   ========================================================= */
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}


/* =========================================================
   FORMERLY MRICAST BANNER
   ========================================================= */
.formerly-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: linear-gradient(90deg, rgba(0, 212, 170, 0.12), rgba(56, 189, 248, 0.08));
  border-bottom: 1px solid var(--border-teal);
  padding: 10px 24px;
  font-size: 13px;
  color: var(--text-2);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 950;
}

/* When banner is visible, push nav and hero down */
.has-banner .nav {
  top: 38px;
}

/* WordPress admin bar offset (32px desktop, 46px mobile) */
.admin-bar .nav {
  top: 32px;
}

.admin-bar .formerly-banner {
  top: 32px;
}

.admin-bar.has-banner .nav {
  top: 70px; /* 32px admin bar + 38px banner */
}

.admin-bar .hero {
  padding-top: calc(var(--nav-h) + 32px);
}

.admin-bar.has-banner .hero {
  padding-top: calc(var(--nav-h) + 32px + 38px);
}

.admin-bar .host-announce-overlay {
  bottom: calc(var(--player-h) + 16px);
}

.admin-bar .filter-bar-sticky {
  top: calc(var(--nav-h) + 32px);
}

.admin-bar.has-banner .filter-bar-sticky {
  top: calc(var(--nav-h) + 32px + 38px);
}

@media (max-width: 782px) {
  .admin-bar .nav { top: 46px; }
  .admin-bar .formerly-banner { top: 46px; }
  .admin-bar.has-banner .nav { top: 84px; /* 46px + 38px */ }
  .admin-bar .hero { padding-top: calc(var(--nav-h) + 46px); }
  .admin-bar.has-banner .hero { padding-top: calc(var(--nav-h) + 46px + 38px); }
  .admin-bar .filter-bar-sticky { top: calc(var(--nav-h) + 46px); }
  .admin-bar.has-banner .filter-bar-sticky { top: calc(var(--nav-h) + 46px + 38px); }
}


.formerly-banner strong {
  color: var(--accent-teal);
}

.formerly-banner-close {
  background: none;
  border: none;
  color: var(--text-3);
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  border-radius: var(--radius-full);
  transition: color var(--transition);
  flex-shrink: 0;
}

.formerly-banner-close:hover {
  color: var(--text-1);
}

/* =========================================================
   SINGLE POST / PAGE CONTENT STYLES
   ========================================================= */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4 {
  font-family: var(--ff-display);
  color: var(--text-1);
  margin: 1.5em 0 0.6em;
  line-height: 1.2;
  letter-spacing: -0.3px;
}

.entry-content p {
  margin-bottom: 1.2em;
}

.entry-content a {
  color: var(--accent-teal);
  text-decoration: underline;
  text-decoration-color: var(--border-teal);
  text-underline-offset: 3px;
}

.entry-content a:hover {
  color: #00bfa0;
}

.entry-content ul,
.entry-content ol {
  padding-left: 1.5em;
  margin-bottom: 1.2em;
}

.entry-content li {
  margin-bottom: 0.4em;
}

.entry-content blockquote {
  border-left: 3px solid var(--accent-teal);
  padding-left: 20px;
  margin: 1.5em 0;
  color: var(--text-2);
  font-style: italic;
}

.entry-content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-md);
}

/* =========================================================
   SINGLE POST LAYOUT
   ========================================================= */
.single-post-wrap {
  max-width: 900px;
  margin: 0 auto;
  padding: calc(var(--nav-h) + 48px) 48px calc(var(--player-h) + 48px);
}

.single-ep-header {
  margin-bottom: 40px;
}

.single-ep-meta-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.single-ep-badge {
  font-family: var(--ff-mono);
  font-size: 12px;
  font-weight: 600;
  color: var(--accent-teal);
  background: var(--accent-teal-dim);
  border: 1px solid var(--border-teal);
  border-radius: var(--radius-full);
  padding: 6px 12px;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
}

.single-ep-modality {
  font-family: var(--ff-mono);
  font-size: 12px;
  color: var(--text-3);
  text-transform: uppercase;
  letter-spacing: 0.07em;
}

.single-ep-ce-badge {
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 600;
  color: var(--accent-gold);
  background: rgba(245, 158, 11, 0.15);
  border: 1px solid rgba(245, 158, 11, 0.4);
  border-radius: var(--radius-full);
  padding: 6px 10px;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
}

.single-ep-title {
  font-family: var(--ff-display);
  font-size: clamp(24px, 3.5vw, 40px);
  font-weight: 800;
  letter-spacing: -1px;
  color: var(--text-1);
  line-height: 1.1;
  margin-bottom: 20px;
}

.single-ep-guest {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}

.single-ep-guest-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, #1a4f6e, #00D4AA);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ff-display);
  font-weight: 700;
  font-size: 14px;
  color: white;
  border: 2px solid var(--border-teal);
  flex-shrink: 0;
}

.single-ep-guest-name {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-1);
}

.single-ep-guest-cred {
  font-size: 12px;
  color: var(--accent-teal);
  font-family: var(--ff-mono);
}

.single-ep-info-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.single-ep-duration {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--text-2);
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--border);
  border-radius: var(--radius-full);
  padding: 6px 12px;
  min-height: 32px;
}

.single-ep-date {
  font-family: var(--ff-mono);
  font-size: 12px;
  color: var(--text-3);
}

.single-ep-image {
  margin-bottom: 40px;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--border);
  max-width: 360px;
}

.single-ep-image img {
  width: 100%;
  height: auto;
  display: block;
}

.single-ep-content {
  color: var(--text-2);
  font-size: 16px;
  line-height: 1.75;
}

.single-ep-back {
  margin-top: 56px;
  padding-top: 32px;
  border-top: 1px solid var(--border);
}

.single-ep-back a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--accent-teal);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  min-height: 44px;
  padding: 8px 0;
  transition: color var(--transition);
}

.single-ep-back a:hover {
  color: #00bfa0;
}

/* =========================================================
   PAGE LAYOUT
   ========================================================= */
.page-wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: calc(var(--nav-h) + 48px) 48px calc(var(--player-h) + 48px);
}

.page-wrap > header {
  margin-bottom: 40px;
}

.page-title {
  font-family: var(--ff-display);
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 800;
  letter-spacing: -1px;
  color: var(--text-1);
  line-height: 1.1;
}

.page-wrap .entry-content {
  color: var(--text-2);
  font-size: 16px;
  line-height: 1.75;
}

/* =========================================================
   404 PAGE
   ========================================================= */
.error-404-wrap {
  max-width: 700px;
  margin: 0 auto;
  padding: calc(var(--nav-h) + 80px) 48px calc(var(--player-h) + 48px);
  text-align: center;
}

.error-404-code {
  font-family: var(--ff-mono);
  font-size: 80px;
  font-weight: 700;
  color: var(--accent-teal);
  opacity: 0.4;
  line-height: 1;
  margin-bottom: 24px;
}

.error-404-title {
  font-family: var(--ff-display);
  font-size: 32px;
  font-weight: 800;
  color: var(--text-1);
  margin-bottom: 16px;
}

.error-404-text {
  color: var(--text-2);
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 40px;
}

.error-404-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--accent-teal);
  color: #0A111F;
  font-family: var(--ff-display);
  font-size: 15px;
  font-weight: 700;
  padding: 14px 28px;
  min-height: 44px;
  border-radius: var(--radius-full);
  text-decoration: none;
  transition: background var(--transition), transform var(--transition);
}

.error-404-btn:hover {
  background: #00bfa0;
  transform: translateY(-1px);
}

/* Responsive single/page layout */
@media (max-width: 768px) {
  .single-post-wrap {
    padding: calc(var(--nav-h) + 32px) 20px calc(var(--player-h) + 32px);
  }

  .page-wrap {
    padding: calc(var(--nav-h) + 32px) 20px calc(var(--player-h) + 32px);
  }

  .error-404-wrap {
    padding: calc(var(--nav-h) + 48px) 20px calc(var(--player-h) + 32px);
  }

  .single-ep-title {
    font-size: clamp(22px, 5vw, 32px);
  }
}

/* WordPress custom logo fix */
.custom-logo-link img {
  max-height: 40px;
  width: auto;
  border-radius: var(--radius-sm);
}

/* WP nav menu integration */
.nav-links li {
  position: relative;
  list-style: none;
}

.nav-links .current-menu-item > a,
.nav-links .current_page_item > a {
  color: var(--accent-teal);
}

/* Dropdown sub-menus */
.nav-links .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 180px;
  padding: 8px 0;
  margin: 0;
  background: rgba(15, 23, 42, 0.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: 0 8px 32px rgba(0,0,0,0.5);
  list-style: none;
  z-index: 910;
}

/* Invisible bridge to prevent hover gap */
.nav-links .menu-item-has-children > a {
  padding-bottom: 16px;
  margin-bottom: -10px;
}

.nav-links li:hover > .sub-menu,
.nav-links li:focus-within > .sub-menu {
  display: block;
}

.nav-links .sub-menu li {
  padding: 0;
}

.nav-links .sub-menu a {
  display: block;
  padding: 8px 16px;
  font-size: 13px;
  white-space: nowrap;
  border-radius: 0;
}

.nav-links .sub-menu a:hover {
  background: rgba(255,255,255,0.08);
}

/* Nested sub-menus (3rd level) */
.nav-links .sub-menu .sub-menu {
  top: -8px;
  left: 100%;
  transform: none;
  margin: 0;
}

/* Bridge for nested sub-menu items */
.nav-links .sub-menu .menu-item-has-children > a {
  padding-bottom: 8px;
  padding-right: 24px;
  margin-bottom: 0;
}

/* Dropdown indicator for parent items */
.nav-links .menu-item-has-children > a::after {
  content: '';
  display: inline-block;
  width: 4px;
  height: 4px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  margin-left: 5px;
  vertical-align: middle;
  opacity: 0.6;
}

/* =========================================================
   COURSE TABS
   ========================================================= */
.ic-tabs {
  margin-bottom: 40px;
}

.ic-tab-nav {
  display: flex;
  gap: 4px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.ic-tab-btn {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  color: var(--text-1);
  font-family: var(--ff-body);
  font-size: 14px;
  font-weight: 500;
  padding: 12px 20px;
  cursor: pointer;
  white-space: nowrap;
  transition: color var(--transition), border-color var(--transition);
}

.ic-tab-btn:hover {
  color: var(--text-2);
}

.ic-tab-btn.active {
  color: var(--accent-teal);
  border-bottom-color: var(--accent-teal);
}

.ic-tab-panel {
  display: none;
  padding: 28px 0;
  color: var(--text-2);
  font-size: 15px;
  line-height: 1.75;
}

.ic-tab-panel.active {
  display: block;
}

.ic-tab-panel p {
  margin-bottom: 16px;
}

.ic-tab-panel ul {
  margin: 0 0 16px 20px;
  padding: 0;
}

.ic-tab-panel li {
  margin-bottom: 10px;
  padding-left: 4px;
}

.ic-tab-panel li::marker {
  color: var(--accent-teal);
}

.ic-tab-panel strong {
  color: var(--text-1);
}

/* Host photo */
.host-avatar-photo {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--border-teal);
  display: block;
}

/* Single host grid override */
.hosts-grid.single-host {
  grid-template-columns: 1fr;
  max-width: 400px;
}

/* =========================================================
   LEARNDASH LD30 WRAPPER — DARK THEME OVERRIDES
   ========================================================= */

/* Main wrapper & content areas */
.learndash-wrapper,
.learndash-wrapper .ld-item-list,
.learndash-wrapper .ld-item-list .ld-item-list-item,
.learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-list-item-preview,
.learndash-wrapper .ld-section-heading,
.learndash-wrapper .ld-lesson-list,
.learndash-wrapper .ld-topic-list,
.learndash-wrapper .ld-table-list,
.learndash-wrapper .ld-quiz-list,
.learndash-wrapper .ld-course-status,
.learndash-wrapper .ld-progress,
.learndash-wrapper .ld-breadcrumbs {
  background: transparent !important;
  color: var(--text-2) !important;
}

/* List item borders */
.learndash-wrapper .ld-item-list .ld-item-list-item {
  border: 1px solid var(--border) !important;
  border-bottom: 1px solid var(--border) !important;
}

/* Tooltip dark theme */
.learndash-wrapper .ld-tooltip .ld-tooltip__text,
.learndash-wrapper .ld-tooltip-text,
#learndash-tooltips .ld-tooltip,
.learndash-wrapper [class*="tooltip"] {
  background: var(--bg-card) !important;
  color: var(--text-2) !important;
  border: 1px solid var(--border) !important;
}

/* Section headings */
.learndash-wrapper .ld-section-heading h2,
.learndash-wrapper .ld-lesson-section-heading {
  color: var(--text-1) !important;
  font-family: var(--ff-display);
}

/* Item titles and links */
.learndash-wrapper .ld-item-name,
.learndash-wrapper .ld-item-title,
.learndash-wrapper .ld-lesson-title,
.learndash-wrapper .ld-topic-title,
.learndash-wrapper a.ld-item-name,
.learndash-wrapper .ld-item-list .ld-item-list-item a.ld-item-name {
  color: var(--text-1) !important;
}

.learndash-wrapper .ld-item-list .ld-item-list-item a.ld-item-name:hover {
  color: var(--accent-teal) !important;
}

/* Status icons — lesson/topic items keep the circle */
.learndash-wrapper .ld-status-icon {
  background: var(--bg-card) !important;
  border: 2px solid var(--border) !important;
}

.learndash-wrapper .ld-status-icon.ld-status-complete {
  background: var(--accent-teal) !important;
  border-color: var(--accent-teal) !important;
}

.learndash-wrapper .ld-status-icon.ld-status-in-progress {
  border-color: var(--border) !important;
  border-left-color: var(--accent-teal) !important;
  border-top-color: var(--accent-teal) !important;
  background: transparent !important;
}

/* Quiz status icons — hide circle, show only the quiz icon */
.learndash-wrapper .ld-status-icon.ld-quiz-complete,
.learndash-wrapper .ld-status-icon.ld-quiz-incomplete,
.learndash-wrapper .ld-status-icon.ld-quiz-pending {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.learndash-wrapper .ld-status-icon.ld-quiz-complete .ld-icon {
  color: var(--accent-teal) !important;
}

.learndash-wrapper .ld-status-icon.ld-quiz-incomplete .ld-icon {
  color: var(--text-3) !important;
}

.learndash-wrapper .ld-status-icon.ld-quiz-pending .ld-icon {
  color: var(--accent-gold) !important;
}

/* Buttons — override black inline accent */
.learndash-wrapper .ld-button:not(.ld-button-transparent):not(.ld-button-reverse),
.learndash-wrapper .ld-expand-button,
.learndash-wrapper #btn-join,
.learndash-wrapper .btn-join,
.learndash-wrapper .wpProQuiz_content .wpProQuiz_button,
.learndash-wrapper .wpProQuiz_content .wpProQuiz_button2 {
  background-color: var(--accent-teal) !important;
  color: #0A111F !important;
  border-radius: var(--radius-full) !important;
  font-family: var(--ff-display) !important;
  font-weight: 700 !important;
}

.learndash-wrapper .ld-button:hover:not(.ld-button-transparent),
.learndash-wrapper .ld-expand-button:hover {
  opacity: 0.9 !important;
}

/* Mark Complete button — icon must be visible on teal bg */
.learndash-wrapper .learndash_mark_complete_button,
.learndash-wrapper #learndash_mark_complete_button {
  background-color: var(--accent-teal) !important;
  color: #0A111F !important;
}

.learndash-wrapper .learndash_mark_complete_button .ld-icon,
.learndash-wrapper #learndash_mark_complete_button .ld-icon,
.learndash-wrapper .ld-button .ld-icon,
.learndash-wrapper .btn-join .ld-icon,
.learndash-wrapper #btn-join .ld-icon {
  color: #0A111F !important;
}

/* Complete status icon (teal circle with white checkmark) */
.learndash-wrapper .ld-status-icon.ld-status-complete .ld-icon {
  color: white !important;
}

/* Course list — episode row hover: keep text visible on dark bg */
.learndash-wrapper .ld-item-list .ld-item-list-item a.ld-item-name:hover {
  color: var(--accent-teal) !important;
  background: transparent !important;
}

.learndash-wrapper .ld-item-list .ld-item-list-item a.ld-item-name:hover .ld-item-title,
.learndash-wrapper .ld-item-list .ld-item-list-item a.ld-item-name:hover .ld-item-title .ld-item-components {
  color: var(--text-2) !important;
}

/* Expanded panel — must be dark, not white */
.learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-list-item-expanded {
  background: var(--bg-card) !important;
}

.learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-list-item-expanded::before {
  background: var(--bg-card) !important;
}

.learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-list-item-expanded .ld-progress {
  background: var(--bg-base) !important;
}

.learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-list-item-expanded .ld-item-contents {
  background: var(--bg-card) !important;
  color: var(--text-2) !important;
}

/* Course navigation sidebar — lesson hover */
.learndash-wrapper .ld-course-navigation .ld-lesson-item-preview a:hover {
  color: var(--accent-teal) !important;
}

.learndash-wrapper .ld-table-list a.ld-table-list-item-preview:hover {
  color: var(--accent-teal) !important;
}

/* Transparent / reverse buttons */
.learndash-wrapper .ld-button.ld-button-transparent,
.learndash-wrapper .ld-button.ld-button-reverse {
  color: var(--accent-teal) !important;
  border-color: var(--accent-teal) !important;
}

/* Expand button arrow icon */
.learndash-wrapper .ld-expand-button .ld-icon {
  background-color: var(--accent-teal) !important;
  color: #0A111F !important;
}

/* Progress bar */
.learndash-wrapper .ld-progress .ld-progress-bar {
  background: var(--bg-card) !important;
}

.learndash-wrapper .ld-progress .ld-progress-bar .ld-progress-bar-percentage {
  background: var(--accent-teal) !important;
}

.learndash-wrapper .ld-progress .ld-progress-stats .ld-progress-percentage,
.learndash-wrapper .ld-progress .ld-progress-stats .ld-progress-steps {
  color: var(--text-2) !important;
}

/* Breadcrumbs */
.learndash-wrapper .ld-breadcrumbs a {
  color: var(--accent-teal) !important;
}

.learndash-wrapper .ld-breadcrumbs span {
  color: var(--text-3) !important;
}

/* Tabs */
.learndash-wrapper .ld-tabs .ld-tabs-navigation {
  border-bottom-color: var(--border) !important;
}

.learndash-wrapper .ld-tabs .ld-tabs-navigation .ld-tab {
  color: var(--text-3) !important;
}

.learndash-wrapper .ld-tabs .ld-tabs-navigation .ld-tab.ld-active {
  color: var(--accent-teal) !important;
}

.learndash-wrapper .ld-tabs .ld-tabs-navigation .ld-tab.ld-active:after {
  background: var(--accent-teal) !important;
}

.learndash-wrapper .ld-tabs .ld-tabs-content {
  background: transparent !important;
  color: var(--text-2) !important;
}

/* Tooltips */
.learndash-wrapper .ld-tooltip__text,
#learndash-tooltips .ld-tooltip {
  background: var(--bg-card) !important;
  color: var(--text-2) !important;
  border: 1px solid var(--border) !important;
}

/* Login / access denied messages */
.learndash-wrapper .ld-alert,
.learndash-wrapper .ld-login-modal {
  background: var(--bg-card) !important;
  color: var(--text-1) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
}

/* Login modal — invert: login side dark, register side teal */
.learndash-wrapper .ld-login-modal .ld-login-modal-login {
  background: var(--bg-base) !important;
}

.learndash-wrapper .ld-login-modal .ld-login-modal-login .ld-modal-heading {
  color: var(--accent-teal) !important;
}

.learndash-wrapper .ld-login-modal .ld-login-modal-login .ld-modal-text,
.learndash-wrapper .ld-login-modal .ld-login-modal-login label {
  color: var(--text-2) !important;
}

.learndash-wrapper .ld-login-modal .ld-login-modal-login input[type="text"],
.learndash-wrapper .ld-login-modal .ld-login-modal-login input[type="password"],
.learndash-wrapper .ld-login-modal .ld-login-modal-login input[type="email"] {
  background: var(--bg-raised) !important;
  color: var(--text-1) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
}

.learndash-wrapper .ld-login-modal .ld-login-modal-login input:focus {
  border-color: var(--accent-teal) !important;
  box-shadow: 0 0 0 3px var(--accent-teal-dim) !important;
}

.learndash-wrapper .ld-login-modal .ld-login-modal-login .ld-button {
  background: var(--accent-teal) !important;
  color: #0A111F !important;
}

.learndash-wrapper .ld-login-modal .ld-login-modal-login a {
  color: var(--text-2) !important;
}

.learndash-wrapper .ld-login-modal .ld-login-modal-login .login-remember label {
  color: var(--text-3) !important;
}

.learndash-wrapper .ld-login-modal .ld-login-modal-register {
  background: var(--accent-teal) !important;
  color: #0A111F !important;
}

.learndash-wrapper .ld-login-modal .ld-login-modal-register .ld-modal-heading {
  color: #0A111F !important;
}

.learndash-wrapper .ld-login-modal .ld-login-modal-register .ld-modal-text {
  color: rgba(10, 17, 31, 0.7) !important;
}

.learndash-wrapper .ld-login-modal .ld-login-modal-register .ld-button {
  background: #0A111F !important;
  color: var(--accent-teal) !important;
  border: 2px solid #0A111F !important;
}

.learndash-wrapper .ld-login-modal .ld-login-modal-register .ld-button:hover {
  box-shadow: 0 0 0 5px rgba(10, 17, 31, 0.3) !important;
}

/* Modal close button */
.learndash-wrapper .ld-login-modal .btn-ld-js-close,
.learndash-wrapper .ld-login-modal .ld-modal-closer {
  color: #0A111F !important;
}

.learndash-wrapper .ld-alert .ld-alert-icon {
  color: var(--accent-gold) !important;
}

/* Certificate earned banner */
.learndash-wrapper .ld-alert-success {
  background: var(--bg-card) !important;
  border-color: var(--accent-teal) !important;
  color: var(--text-1) !important;
}

.learndash-wrapper .ld-alert-success .ld-alert-icon {
  background-color: var(--accent-teal) !important;
  color: #0A111F !important;
}

.learndash-wrapper .ld-alert-success .ld-button,
.learndash-wrapper .ld-alert.ld-alert-success .ld-button,
.learndash-wrapper .ld-alert-success a.ld-button {
  background-color: var(--text-1) !important;
  color: #0A111F !important;
  font-weight: 700 !important;
}

.learndash-wrapper .ld-alert-success .ld-alert-icon.ld-icon-certificate {
  color: #0A111F !important;
}

/* Warning alerts */
.learndash-wrapper .ld-alert-warning {
  background: var(--bg-card) !important;
  border-color: var(--accent-gold) !important;
  color: var(--text-1) !important;
}

/* Focus mode sidebar */
.learndash-wrapper .ld-focus .ld-focus-sidebar {
  background: var(--bg-card) !important;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading {
  background: var(--accent-teal) !important;
  color: #0A111F !important;
}

/* Quiz styles */
.learndash-wrapper .wpProQuiz_content {
  background: transparent !important;
  color: var(--text-2) !important;
}

.learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem label {
  color: var(--text-1) !important;
  background: var(--bg-card) !important;
  border-color: var(--border) !important;
}

.learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem label:hover {
  border-color: var(--border-teal) !important;
}

.learndash-wrapper .wpProQuiz_content .wpProQuiz_question_text,
.learndash-wrapper .wpProQuiz_content .wpProQuiz_header {
  color: var(--text-1) !important;
}

/* Quiz response / hint messages */
.learndash-wrapper .wpProQuiz_content .wpProQuiz_response {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  color: var(--text-2) !important;
}

.learndash-wrapper .wpProQuiz_content .wpProQuiz_response p {
  color: var(--text-2) !important;
}

/* Quiz tip/hint box */
.learndash-wrapper .wpProQuiz_content .wpProQuiz_tipp > div {
  background: var(--bg-raised) !important;
  border: 1px solid var(--border) !important;
  color: var(--text-2) !important;
}

.learndash-wrapper .wpProQuiz_content .wpProQuiz_tipp > div h5 {
  color: var(--text-1) !important;
}

/* Quiz time limit bar */
.learndash-wrapper .wpProQuiz_content .wpProQuiz_time_limit {
  background: var(--bg-card) !important;
  color: var(--text-2) !important;
}

.learndash-wrapper .wpProQuiz_content .wpProQuiz_time_limit .wpProQuiz_progress {
  background: var(--accent-teal) !important;
}

/* Quiz info/start page */
.learndash-wrapper .wpProQuiz_content .wpProQuiz_text {
  color: var(--text-2) !important;
}

.learndash-wrapper .wpProQuiz_content .wpProQuiz_text p {
  color: var(--text-2) !important;
}

/* Quiz review summary box */
.learndash-wrapper .wpProQuiz_content .wpProQuiz_reviewDiv,
.learndash-wrapper .wpProQuiz_content .wpProQuiz_reviewSummary {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  color: var(--text-1) !important;
}

.learndash-wrapper .wpProQuiz_content .wpProQuiz_reviewDiv .wpProQuiz_reviewLegend,
.learndash-wrapper .wpProQuiz_content .wpProQuiz_reviewSummary .wpProQuiz_reviewLegend {
  color: var(--text-2) !important;
}

/* Review question number boxes */
.learndash-wrapper .wpProQuiz_content .wpProQuiz_box li {
  background: var(--bg-raised) !important;
  border-color: var(--border) !important;
  color: var(--text-1) !important;
}

.learndash-wrapper .wpProQuiz_content .wpProQuiz_box li.wpProQuiz_reviewQuestionSolved {
  background: rgba(0, 212, 170, 0.2) !important;
  border-color: var(--accent-teal) !important;
}

.learndash-wrapper .wpProQuiz_content .wpProQuiz_box li.wpProQuiz_reviewQuestionReview {
  background: rgba(245, 158, 11, 0.2) !important;
  border-color: var(--accent-gold) !important;
}

/* Quiz results page */
.learndash-wrapper .wpProQuiz_content .wpProQuiz_results {
  color: var(--text-1) !important;
}

.learndash-wrapper .wpProQuiz_content .wpProQuiz_results > div {
  color: var(--text-2) !important;
}

/* Quiz lock / registration required message */
.learndash-wrapper .wpProQuiz_content .wpProQuiz_lock,
.learndash-wrapper .wpProQuiz_content .wpProQuiz_startOnlyRegisteredUser {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  color: var(--text-2) !important;
}

/* Quiz info page header */
.learndash-wrapper .wpProQuiz_content .wpProQuiz_infopageHeader {
  color: var(--text-1) !important;
}

/* Quiz check/next/back buttons */
.learndash-wrapper .wpProQuiz_content .wpProQuiz_button,
.learndash-wrapper .wpProQuiz_content .wpProQuiz_button2,
.learndash-wrapper .wpProQuiz_content input[name="startQuiz"],
.learndash-wrapper .wpProQuiz_content .wpProQuiz_QuestionButton {
  background: var(--accent-teal) !important;
  color: #0A111F !important;
  border: none !important;
  border-radius: var(--radius-full) !important;
  font-family: var(--ff-body) !important;
  font-weight: 600 !important;
  min-height: 44px !important;
  padding: 10px 24px !important;
  margin-top: 16px !important;
  cursor: pointer !important;
}

.learndash-wrapper .wpProQuiz_content .wpProQuiz_button:hover,
.learndash-wrapper .wpProQuiz_content .wpProQuiz_button2:hover {
  opacity: 0.9 !important;
}

/* Course content list in single-sfwd-courses template */
.ld-course-list-content,
.ld-course-list-items {
  background: transparent !important;
}

/* =========================================================
   LEARNDASH / UNCANNY TOOLKIT COURSE GRID — DARK THEME
   ========================================================= */

/* Grid layout */
.uo-ultp-grid-container .uo-grid-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* Card wrapper */
.uo-ultp-grid-container .grid-course {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.uo-ultp-grid-container .uo-border {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition);
  height: 100%;
  display: flex;
  flex-direction: column;
}

.uo-ultp-grid-container .uo-border:hover {
  transform: translateY(-4px);
  border-color: var(--border-teal);
  box-shadow: var(--shadow-card), 0 0 0 1px var(--border-teal);
}

/* Featured image */
.uo-ultp-grid-container .featured-image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
}

.uo-ultp-grid-container .featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--transition);
}

.uo-ultp-grid-container .uo-border:hover .featured-image img {
  transform: scale(1.05);
}

/* Free ribbon */
.uo-ultp-grid-container #ribbon,
.uo-ultp-grid-container .price {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  background: var(--accent-teal);
  color: #0A111F;
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: var(--radius-full);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* Course info — force dark bg over plugin styles */
.uo-ultp-grid-container .course-info-holder,
.uo-ultp-grid-container .course-info-holder.bottom,
.uo-ultp-grid-container .uo-border,
.uo-ultp-grid-container .uo-border > a,
.uo-ultp-grid-container .uo-toolkit-grid__course-action {
  background: var(--bg-card) !important;
  color: var(--text-1) !important;
}

.uo-ultp-grid-container .course-info-holder {
  padding: 20px;
}

.uo-ultp-grid-container .course-info-holder.bottom {
  padding-top: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.uo-ultp-grid-container .course-title {
  font-family: var(--ff-display);
  font-size: 17px;
  font-weight: 700;
  color: var(--text-1) !important;
  line-height: 1.3;
  letter-spacing: -0.3px;
}

/* Override any plugin white backgrounds */
.uo-ultp-grid-container .uo-border *,
.uo-ultp-grid-container .grid-course * {
  color: inherit;
}

.uo-ultp-grid-container h4,
.uo-ultp-grid-container span,
.uo-ultp-grid-container dd {
  color: var(--text-2) !important;
}

/* "View Podcast Outline" text */
.uo-ultp-grid-container .view-course-outline {
  font-family: var(--ff-body);
  font-size: 13px;
  font-weight: 500;
  color: var(--accent-teal);
  margin: 0;
}

/* Progress bar */
.uo-ultp-grid-container .uo-course-progress {
  margin: 0 0 8px;
}

.uo-ultp-grid-container .course_progress {
  background: var(--accent-teal);
  height: 3px;
  border-radius: 2px;
}

/* Action button */
.uo-ultp-grid-container .uo-toolkit-grid__course-action {
  padding: 0 20px 20px;
  margin-top: auto;
}

.uo-ultp-grid-container .uo-toolkit-grid__course-action input[type="submit"] {
  width: 100%;
  background: var(--accent-teal);
  color: #0A111F;
  font-family: var(--ff-display);
  font-size: 14px;
  font-weight: 700;
  padding: 12px 24px;
  border-radius: var(--radius-full);
  border: none;
  cursor: pointer;
  transition: transform var(--transition), box-shadow var(--transition);
}

.uo-ultp-grid-container .uo-toolkit-grid__course-action input[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0, 212, 170, 0.4);
}

/* Links inside grid */
.uo-ultp-grid-container a {
  text-decoration: none;
  color: inherit;
}

/* "View More" link */
.uo-ultp-grid-container .uo-view-more-anchor {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--accent-teal);
  font-family: var(--ff-display);
  font-size: 15px;
  font-weight: 700;
  padding: 14px 28px;
  border: 1.5px solid var(--border-teal);
  border-radius: var(--radius-full);
  transition: background var(--transition), color var(--transition);
}

.uo-ultp-grid-container .uo-view-more-anchor:hover {
  background: var(--accent-teal);
  color: #0A111F;
}

/* Hide "View More" — show all courses directly */
.uo-ultp-grid-container .uo-view-more-holder {
  display: none !important;
}

/* Show all courses — no hidden section */
.uo-ultp-grid-container--all .uo-grid-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 24px;
}

/* Progress — force all text white on dark */
.uo-ultp-grid-container .uo-course-progress,
.uo-ultp-grid-container .uo-course-progress *,
.uo-ultp-grid-container dd.uo-course-progress,
.uo-ultp-grid-container .course_progress,
.uo-ultp-grid-container .course_progress *,
.uo-ultp-grid-container [class*="progress"],
.uo-ultp-grid-container [class*="progress"] *,
.uo-ultp-grid-container .uo-border dd,
.uo-ultp-grid-container .uo-border dd *,
.uo-ultp-grid-container .sending_progress_bar,
.uo-ultp-grid-container .course-info-holder.bottom * {
  color: var(--text-2) !important;
}

.uo-ultp-grid-container .course_progress {
  background: var(--accent-teal) !important;
}

.uo-ultp-grid-container .course-title {
  color: var(--text-1) !important;
}

/* Page heading for CE page */
.entry-content h2 {
  font-family: var(--ff-display);
  color: var(--text-1);
  margin-bottom: 32px;
}

/* Responsive */
@media (max-width: 1024px) {
  .uo-ultp-grid-container .uo-grid-wrapper,
  .uo-ultp-grid-container--all .uo-grid-wrapper.uo-show-all {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .uo-ultp-grid-container .uo-grid-wrapper,
  .uo-ultp-grid-container--all .uo-grid-wrapper.uo-show-all {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   DARK THEME — LOGIN / REGISTRATION FORM OVERRIDES
   (LearnDash, Uncanny Toolkit, WP default forms)
   ========================================================= */

/* --- Form input fields --- */
.learndash-wrapper input[type="text"],
.learndash-wrapper input[type="email"],
.learndash-wrapper input[type="password"],
.learndash-wrapper input[type="tel"],
.learndash-wrapper input[type="url"],
.learndash-wrapper input[type="number"],
.learndash-wrapper select,
.learndash-wrapper textarea,
.uo-toolkit-form input[type="text"],
.uo-toolkit-form input[type="email"],
.uo-toolkit-form input[type="password"],
.uo-toolkit-form select,
.uo-toolkit-form textarea,
#loginform input[type="text"],
#loginform input[type="password"],
#registerform input[type="text"],
#registerform input[type="email"],
#ult-login input.input,
#registerform input[type="text"],
#registerform input[type="email"],
#registerform input[type="password"],
.uo-login-form input[type="text"],
.uo-login-form input[type="email"],
.uo-login-form input[type="password"],
.uo-register-form input[type="text"],
.uo-register-form input[type="email"],
.uo-register-form input[type="password"],
.uo-reset-password input[type="text"],
.uo-reset-password input[type="email"],
.uo-reset-password input[type="password"] {
  background: var(--bg-raised) !important;
  color: var(--text-1) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  font-family: var(--ff-body) !important;
  font-size: 15px !important;
  padding: 12px 16px !important;
  transition: border-color var(--transition), box-shadow var(--transition);
}

.learndash-wrapper input[type="text"]:focus,
.learndash-wrapper input[type="email"]:focus,
.learndash-wrapper input[type="password"]:focus,
.uo-toolkit-form input:focus,
#ult-login input.input:focus,
#registerform input:focus,
.uo-login-form input:focus,
.uo-register-form input:focus,
.uo-reset-password input:focus,
#loginform input:focus,
#registerform input:focus {
  border-color: var(--accent-teal) !important;
  box-shadow: 0 0 0 3px var(--accent-teal-dim) !important;
  outline: none !important;
}

/* --- Form labels --- */
.learndash-wrapper label,
.uo-toolkit-form label,
#ult-login label,
#registerform label,
.uo-login-form label,
.uo-register-form label,
.uo-reset-password label,
#loginform label,
#registerform label {
  color: var(--text-2) !important;
  font-family: var(--ff-body) !important;
  font-size: 14px !important;
}

/* --- Submit / action buttons --- */
.learndash-wrapper input[type="submit"],
.uo-toolkit-form input[type="submit"],
#ult-login input[type="submit"],
#registerform input[type="submit"],
.uo-login-form input[type="submit"],
.uo-register-form input[type="submit"],
.uo-reset-password input[type="submit"],
#loginform input[type="submit"],
#registerform input[type="submit"],
#ult-login .uo-btn,
.uo-login-form .uo-btn,
.uo-register-form .uo-btn {
  background: var(--accent-teal) !important;
  color: #0A111F !important;
  font-family: var(--ff-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 12px 28px !important;
  border: none !important;
  border-radius: var(--radius-full) !important;
  cursor: pointer !important;
  transition: transform var(--transition), box-shadow var(--transition), background var(--transition);
}

.learndash-wrapper input[type="submit"]:hover,
.uo-toolkit-form input[type="submit"]:hover,
#ult-login input[type="submit"]:hover,
#registerform input[type="submit"]:hover,
.uo-login-form input[type="submit"]:hover,
.uo-register-form input[type="submit"]:hover,
.uo-reset-password input[type="submit"]:hover,
#loginform input[type="submit"]:hover,
#registerform input[type="submit"]:hover,
#ult-login .uo-btn:hover,
.uo-login-form .uo-btn:hover,
.uo-register-form .uo-btn:hover {
  background: #00bfa0 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(0, 212, 170, 0.4);
}

/* --- Secondary / outline buttons (Register link, etc.) --- */
#ult-login a[href*="register"],
.uo-login-form a[href*="register"],
#registerform a[href*="login"],
.uo-register-form a[href*="login"] {
  color: var(--accent-teal) !important;
  font-family: var(--ff-body) !important;
}

/* --- Forgot password link (V8 — was #333 on dark bg) --- */
.learndash-wrapper a.ld-forgot-password-link,
.learndash-wrapper .ld-forgot-password-link a,
#ult-login a[href*="reset"],
.uo-login-form a[href*="reset"],
a.ld-forgot-password-link {
  color: var(--text-2) !important;
  font-family: var(--ff-body) !important;
  text-decoration: underline;
  text-decoration-color: var(--border-teal);
  text-underline-offset: 3px;
}

.learndash-wrapper a.ld-forgot-password-link:hover,
#ult-login a[href*="reset"]:hover,
.uo-login-form a[href*="reset"]:hover,
a.ld-forgot-password-link:hover {
  color: var(--accent-teal) !important;
}

/* --- Form container backgrounds --- */
#ult-login,
#registerform,
.uo-login-form,
.uo-register-form,
.uo-reset-password {
  background: transparent !important;
  color: var(--text-2) !important;
}

/* --- "Remember Me" checkbox label --- */
#ult-login .forgetmenot label,
.uo-login-form .forgetmenot label,
#loginform .forgetmenot label {
  color: var(--text-3) !important;
}

/* --- "Show" password toggle button --- */
.wp-pwd {
  position: relative;
  display: flex;
  align-items: center;
}

.wp-pwd .button.wp-hide-pw,
button.wp-hide-pw {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent !important;
  color: var(--text-2) !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  padding: 8px !important;
  min-width: 44px;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.wp-pwd .button.wp-hide-pw:hover,
button.wp-hide-pw:hover {
  color: var(--text-1) !important;
  background: rgba(255,255,255,0.06) !important;
}

.wp-pwd input[type="password"],
.wp-pwd input[type="text"] {
  padding-right: 52px !important;
}

/* --- Uncanny Toolkit Register button override --- */
#registerform input[type="submit"][disabled],
.uo-register-form input[type="submit"][disabled] {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}

/* =========================================================
   EASY SOCIAL SHARE BUTTONS — A11Y FIX
   ========================================================= */
/* Social share sidebar links get basic focus styling */
.essb_links a:focus-visible {
  outline: 2px solid var(--accent-teal);
  outline-offset: 2px;
}

/* =========================================================
   LEARNDASH FOCUS MODE — DARK THEME
   ========================================================= */

/* Focus Mode wrapper — dark base */
.learndash-wrapper .ld-focus {
  background: var(--bg-base) !important;
  color: var(--text-2) !important;
}

/* --- Header bar --- */
.learndash-wrapper .ld-focus .ld-focus-header {
  background: var(--bg-studio) !important;
  border-bottom: 1px solid var(--border) !important;
}

.learndash-wrapper .ld-focus .ld-focus-header .ld-brand-logo {
  background-color: var(--bg-studio) !important;
}

.learndash-wrapper .ld-focus .ld-focus-header .ld-content-action,
.learndash-wrapper .ld-focus .ld-focus-header .ld-progress {
  border-right-color: var(--border) !important;
}

.learndash-wrapper .ld-focus .ld-focus-header .ld-content-action .learndash_timer,
.learndash-wrapper .ld-focus .ld-focus-header .ld-content-action #learndash_timer {
  background: var(--bg-studio) !important;
  color: var(--text-2) !important;
}

/* Mark Complete button in focus header */
.learndash-wrapper .ld-focus .ld-focus-header .sfwd-mark-complete .learndash_mark_complete_button,
.learndash-wrapper .ld-focus .ld-focus-header #sfwd-mark-complete .learndash_mark_complete_button,
.learndash-wrapper .ld-focus .ld-focus-header .sfwd-mark-complete #learndash_mark_complete_button,
.learndash-wrapper .ld-focus .ld-focus-header #sfwd-mark-complete #learndash_mark_complete_button {
  color: var(--accent-teal) !important;
}

.learndash-wrapper .ld-focus .ld-focus-header .sfwd-mark-complete:after,
.learndash-wrapper .ld-focus .ld-focus-header #sfwd-mark-complete:after {
  color: var(--accent-teal) !important;
}

/* Mobile nav hamburger bars */
.learndash-wrapper .ld-focus .ld-focus-header .ld-mobile-nav span {
  background-color: var(--text-2) !important;
}

/* --- Sidebar --- */
.learndash-wrapper .ld-focus .ld-focus-sidebar {
  background-color: var(--bg-card) !important;
  border-right: 1px solid var(--border) !important;
}

/* Sidebar trigger icon */
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-trigger .ld-icon {
  background: var(--accent-teal) !important;
  border-color: var(--bg-card) !important;
  color: #0A111F !important;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-trigger:hover .ld-icon,
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-trigger:focus .ld-icon {
  background: var(--bg-card) !important;
  border-color: var(--accent-teal) !important;
  color: var(--accent-teal) !important;
}

/* Course heading in sidebar */
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading {
  background: var(--bg-raised) !important;
  border-bottom-color: var(--border) !important;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading a,
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading .ld-focus-mode-course-heading-wrapper a {
  color: var(--text-1) !important;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading .ld-icon {
  color: var(--text-2) !important;
}

/* Lesson items in sidebar */
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item .ld-lesson-item-preview {
  color: var(--text-1) !important;
  background: var(--bg-card) !important;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item .ld-lesson-item-preview a {
  color: var(--text-1) !important;
}

/* Topic and quiz list items in sidebar */
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-table-list .ld-table-list-item,
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-table-list .ld-table-list-item a.ld-table-list-item-preview,
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-topic-list .ld-table-list-item,
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-topic-list .ld-table-list-item a {
  background: var(--bg-card) !important;
  color: var(--text-1) !important;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-table-list .ld-table-list-item a:hover {
  color: var(--accent-teal) !important;
}

/* Sidebar course heading — dark bg with visible text */
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading,
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-wrapper {
  background: var(--bg-card) !important;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item .ld-lesson-item-preview a:hover {
  color: var(--accent-teal) !important;
}

/* Topic list in sidebar */
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-topic-list.ld-table-list {
  background: var(--bg-base) !important;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-topic-list.ld-table-list::before,
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-topic-list.ld-table-list:before {
  background: var(--bg-base) !important;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-table-list-item a {
  color: var(--text-2) !important;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-table-list-item a:hover {
  color: var(--accent-teal) !important;
}

/* Section headings */
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item-section-heading .ld-lesson-section-heading {
  color: var(--text-3) !important;
}

/* Expanded lesson items */
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item-expanded {
  background: var(--bg-base) !important;
}

/* Pagination in sidebar */
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-pagination .ld-pages i,
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-pagination .ld-pages span {
  color: var(--text-3) !important;
}

/* --- Main content area --- */
.learndash-wrapper .ld-focus .ld-focus-main {
  background: var(--bg-base) !important;
  min-height: 100vh !important;
}

/* Ensure no white gaps below Focus Mode content */
.learndash-wrapper .ld-focus .ld-focus-main::after {
  content: '';
  display: block;
  background: var(--bg-base);
  height: 200px;
}

.learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content {
  color: var(--text-2) !important;
}

.learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content h1,
.learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content h2,
.learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content h3,
.learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content h4 {
  color: var(--text-1) !important;
  font-family: var(--ff-display);
}

.learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content p,
.learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content li {
  color: var(--text-2) !important;
}

.learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content a {
  color: var(--accent-teal) !important;
}

/* Focus content — comments section */
.learndash-wrapper .ld-focus .ld-focus-comments {
  background: var(--bg-card) !important;
  border-top: 1px solid var(--border) !important;
  color: var(--text-2) !important;
}

/* Focus Mode — quiz wrapper */
.learndash-wrapper .ld-focus .wpProQuiz_content {
  color: var(--text-2) !important;
}

.learndash-wrapper .ld-focus .wpProQuiz_content .wpProQuiz_questionList {
  color: var(--text-1) !important;
}

.learndash-wrapper .ld-focus .wpProQuiz_content .wpProQuiz_question {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  padding: 24px !important;
}

.learndash-wrapper .ld-focus .wpProQuiz_content .wpProQuiz_questionListItem label {
  color: var(--text-1) !important;
}

/* Focus Mode navigation arrows (prev/next) */
.learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content .ld-content-actions a {
  color: var(--accent-teal) !important;
}

/* Focus Mode — progress bar in header */
.learndash-wrapper .ld-focus .ld-focus-header .ld-progress .ld-progress-bar {
  background: var(--bg-card) !important;
}

.learndash-wrapper .ld-focus .ld-focus-header .ld-progress .ld-progress-bar .ld-progress-bar-percentage {
  background: var(--accent-teal) !important;
}

.learndash-wrapper .ld-focus .ld-focus-header .ld-progress .ld-progress-stats {
  color: var(--text-3) !important;
}

/* =========================================================
   MOBILE HAMBURGER MENU
   ========================================================= */

/* Hamburger button — hidden by default, shown on mobile */
.nav-hamburger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: none;
  border: none;
  border-radius: var(--radius-sm);
  color: var(--text-2);
  cursor: pointer;
  transition: color var(--transition), background var(--transition);
  -webkit-tap-highlight-color: transparent;
}

.nav-hamburger:hover {
  color: var(--text-1);
  background: rgba(255,255,255,0.06);
}

/* Mobile nav overlay */
.mobile-nav-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(15, 23, 42, 0.98);
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.mobile-nav-overlay.active {
  visibility: visible;
  opacity: 1;
}

/* Drawer panel */
.mobile-nav-drawer {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  max-width: 360px;
  height: 100%;
  background: var(--bg-base);
  padding: 24px;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.mobile-nav-overlay.active .mobile-nav-drawer {
  transform: translateX(0);
}

/* Close button */
.mobile-nav-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: none;
  border: none;
  border-radius: var(--radius-sm);
  color: var(--text-2);
  cursor: pointer;
  margin-left: auto;
  margin-bottom: 16px;
  transition: color var(--transition), background var(--transition);
}

.mobile-nav-close:hover {
  color: var(--text-1);
  background: rgba(255,255,255,0.06);
}

/* Navigation links */
.mobile-nav-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mobile-nav-links > li > a {
  display: flex;
  align-items: center;
  height: 48px;
  padding: 0 16px;
  font-family: var(--ff-display);
  font-size: 17px;
  font-weight: 500;
  color: var(--text-1);
  text-decoration: none;
  border-radius: var(--radius-sm);
  transition: background var(--transition), color var(--transition);
}

.mobile-nav-links > li > a:hover {
  background: rgba(255,255,255,0.06);
  color: var(--accent-teal);
}

/* Episode sub-group */
.mobile-nav-group {
  padding: 8px 0;
}

.mobile-nav-label {
  display: flex;
  align-items: center;
  height: 48px;
  padding: 0 16px;
  font-family: var(--ff-display);
  font-size: 17px;
  font-weight: 500;
  color: var(--text-2);
}

.mobile-nav-group ul {
  list-style: none;
  padding: 0 0 0 16px;
  margin: 0;
}

.mobile-nav-group ul li a {
  display: flex;
  align-items: center;
  height: 48px;
  padding: 0 16px;
  font-family: var(--ff-body);
  font-size: 15px;
  font-weight: 400;
  color: var(--text-2);
  text-decoration: none;
  border-radius: var(--radius-sm);
  transition: background var(--transition), color var(--transition);
}

.mobile-nav-group ul li a:hover {
  background: rgba(255,255,255,0.06);
  color: var(--accent-teal);
}

/* Subscribe button in drawer */
.mobile-nav-subscribe {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  height: 48px;
  margin-top: 24px;
  background: var(--accent-teal);
  color: #0F172A;
  font-family: var(--ff-body);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border-radius: var(--radius-full);
  transition: background var(--transition), transform var(--transition);
}

.mobile-nav-subscribe:hover {
  background: #00bfa0;
  transform: translateY(-1px);
}

/* Prevent body scroll when overlay is open */
body.mobile-nav-open {
  overflow: hidden;
}

@media (max-width: 768px) {
  .nav-hamburger { display: flex; }
  .btn-subscribe { display: none; }
}

/* =========================================================
   LEARNDASH PROFILE PAGE (My Account) — DARK THEME
   ========================================================= */

/* Profile card */
.learndash-wrapper .ld-profile-summary .ld-profile-card .ld-profile-avatar {
  border-color: rgba(255,255,255,0.12) !important;
}
.learndash-wrapper .ld-profile-summary .ld-profile-card a.ld-profile-edit-link {
  color: var(--accent-teal) !important;
}
.learndash-wrapper .ld-profile-summary .ld-profile-card a.ld-profile-edit-link:hover {
  color: #00bfa0 !important;
}
.learndash-wrapper .ld-profile-summary .ld-profile-card .ld-profile-heading {
  color: var(--text-1) !important;
}

/* Stats row */
.learndash-wrapper .ld-profile-summary .ld-profile-stats .ld-profile-stat {
  border-right-color: rgba(255,255,255,0.08) !important;
}
.learndash-wrapper .ld-profile-summary .ld-profile-stats .ld-profile-stat span {
  color: var(--text-2) !important;
}
.learndash-wrapper .ld-profile-summary .ld-profile-stats .ld-profile-stat strong {
  color: var(--text-1) !important;
}

/* Section heading */
.learndash-wrapper #ld-profile .ld-section-heading {
  color: var(--text-1) !important;
}

/* Search icon */
.learndash-wrapper #ld-profile button.ld-icon-search.ld-icon {
  color: var(--text-2) !important;
}
.learndash-wrapper #ld-profile button.ld-icon-search.ld-icon:hover {
  color: var(--accent-teal) !important;
}

/* Course list items on profile page */
.learndash-wrapper #ld-profile .ld-item-list-item {
  background: var(--bg-raised) !important;
  border-color: var(--border) !important;
}
.learndash-wrapper #ld-profile .ld-item-list-item .ld-item-name,
.learndash-wrapper #ld-profile .ld-item-list-item .ld-item-title {
  color: var(--text-1) !important;
}
.learndash-wrapper #ld-profile .ld-item-list-item .ld-item-components {
  color: var(--text-2) !important;
}

/* Status complete text color */
.learndash-wrapper .ld-status-complete {
  color: #0A111F !important;
}
.learndash-wrapper .ld-status-in-progress {
  color: #0A111F !important;
  background-color: var(--accent-teal) !important;
}
