/* ==========================================================================
   The Unboxed Academy — Masteriyo brand styling (v3)
   Loaded site-wide; scoped with :has() + Masteriyo classes so it ONLY affects
   Masteriyo screens (course pages, lesson player, student dashboard).
   Order matters: broad text rule first, then buttons / muted / accent override it.
   ========================================================================== */
:root{--uba-bg:#0B0E13;--uba-panel:#12161E;--uba-line:rgba(255,255,255,.09);--uba-line2:rgba(255,255,255,.14);--uba-text:#EAF0F7;--uba-muted:#98A2B3;--uba-dim:#6B7688;--uba-accent:#1E9BFF;--uba-grad:linear-gradient(135deg,#3AAEFF,#1478F5);--uba-ink:#04121f;--uba-field:#0D1117}

/* ---- dark page shell (only on Masteriyo pages) ---- */
body:has([class*="masteriyo-"]){background:var(--uba-bg)!important;color:var(--uba-text)!important}

/* ---- Astra header + footer: background ---- */
body:has([class*="masteriyo-"]) .site-header,
body:has([class*="masteriyo-"]) .ast-primary-header-bar,
body:has([class*="masteriyo-"]) .main-header-bar,
body:has([class*="masteriyo-"]) .site-footer,
body:has([class*="masteriyo-"]) .ast-small-footer{background:var(--uba-bg)!important;border-color:var(--uba-line)!important}

/* ---- Astra header text ---- */
body:has([class*="masteriyo-"]) .site-header a,
body:has([class*="masteriyo-"]) .site-header .menu-link,
body:has([class*="masteriyo-"]) .site-title a,
body:has([class*="masteriyo-"]) .ast-site-title-wrap a,
body:has([class*="masteriyo-"]) .ast-builder-menu .menu-link{color:var(--uba-text)!important}

/* ---- Astra footer text ---- */
body:has([class*="masteriyo-"]) .site-footer,
body:has([class*="masteriyo-"]) .site-footer *{color:var(--uba-muted)!important}
body:has([class*="masteriyo-"]) .site-footer a{color:var(--uba-accent)!important}

/* ---- Masteriyo content: force readable text (broad, first) ---- */
body:has([class*="masteriyo-"]) [class*="masteriyo-"] h1,
body:has([class*="masteriyo-"]) [class*="masteriyo-"] h2,
body:has([class*="masteriyo-"]) [class*="masteriyo-"] h3,
body:has([class*="masteriyo-"]) [class*="masteriyo-"] h4,
body:has([class*="masteriyo-"]) [class*="masteriyo-"] p,
body:has([class*="masteriyo-"]) [class*="masteriyo-"] a,
body:has([class*="masteriyo-"]) [class*="masteriyo-"] span,
body:has([class*="masteriyo-"]) [class*="masteriyo-"] li,
body:has([class*="masteriyo-"]) [class*="masteriyo-"] td,
body:has([class*="masteriyo-"]) [class*="masteriyo-"] th,
body:has([class*="masteriyo-"]) [class*="masteriyo-"] label,
body:has([class*="masteriyo-"]) [class*="masteriyo-"] div,
h1[class*="masteriyo-"],h2[class*="masteriyo-"],h3[class*="masteriyo-"]{color:var(--uba-text)!important}
body:has([class*="masteriyo-"]) [class*="masteriyo-"] h1,
body:has([class*="masteriyo-"]) [class*="masteriyo-"] h2,
body:has([class*="masteriyo-"]) [class*="masteriyo-"] h3{font-family:'Space Grotesk',sans-serif!important;letter-spacing:-.01em}

/* ---- panels / cards / sidebar ---- */
body:has([class*="masteriyo-"]) [class*="masteriyo-"][class*="sidebar"],
body:has([class*="masteriyo-"]) [class*="masteriyo-"][class*="card"],
body:has([class*="masteriyo-"]) [class*="masteriyo-"][class*="stat"],
body:has([class*="masteriyo-"]) [class*="masteriyo-"][class*="widget"],
body:has([class*="masteriyo-"]) .masteriyo-account--content{
  background:var(--uba-panel)!important;border:1px solid var(--uba-line)!important;border-radius:14px!important;
}

/* ---- tables (order history etc.) ---- */
body:has([class*="masteriyo-"]) table{background:var(--uba-panel)!important;border:1px solid var(--uba-line)!important;border-radius:12px!important;overflow:hidden}
body:has([class*="masteriyo-"]) table th{color:var(--uba-dim)!important;border-color:var(--uba-line)!important}
body:has([class*="masteriyo-"]) table td{border-color:var(--uba-line)!important}

/* ---- form fields ---- */
body:has([class*="masteriyo-"]) input,
body:has([class*="masteriyo-"]) select,
body:has([class*="masteriyo-"]) textarea{background:var(--uba-field)!important;border:1px solid var(--uba-line2)!important;color:var(--uba-text)!important;border-radius:10px!important}
body:has([class*="masteriyo-"]) ::placeholder{color:var(--uba-dim)!important}

/* ---- muted labels (after broad text rule) ---- */
body:has([class*="masteriyo-"]) .masteriyo-text-muted,
body:has([class*="masteriyo-"]) [class*="masteriyo-"] small{color:var(--uba-muted)!important}

/* ---- buttons (after text rule so button text stays ink) ---- */
body:has([class*="masteriyo-"]) .masteriyo-btn,
body:has([class*="masteriyo-"]) .masteriyo-btn--primary,
body:has([class*="masteriyo-"]) button.masteriyo-btn,
body:has([class*="masteriyo-"]) a.masteriyo-btn,
body:has([class*="masteriyo-"]) [class*="masteriyo-"][class*="enroll"] a{
  background:var(--uba-grad)!important;color:var(--uba-ink)!important;border:0!important;border-radius:11px!important;
  font-family:'Space Grotesk',sans-serif!important;font-weight:600!important;box-shadow:0 10px 26px rgba(30,155,255,.32)!important;
}
body:has([class*="masteriyo-"]) .masteriyo-btn--outline,
body:has([class*="masteriyo-"]) .masteriyo-btn--secondary{background:rgba(255,255,255,.08)!important;color:var(--uba-text)!important;border:1px solid var(--uba-line2)!important}

/* ---- active nav item accent (after broad text rule) ---- */
body:has([class*="masteriyo-"]) [class*="nav"] a.active,
body:has([class*="masteriyo-"]) [class*="nav"] li.active a,
body:has([class*="masteriyo-"]) [class*="nav"] .active,
body:has([class*="masteriyo-"]) [class*="masteriyo-"] a[aria-current]{background:rgba(30,155,255,.14)!important;color:var(--uba-accent)!important;border-radius:10px}

/* ---- stat-card icon tiles + progress ---- */
body:has([class*="masteriyo-"]) [class*="stat"] [class*="icon"]{background:rgba(30,155,255,.12)!important;color:var(--uba-accent)!important;border-radius:10px}
body:has([class*="masteriyo-"]) [class*="progress"]{background:rgba(255,255,255,.08)!important}
body:has([class*="masteriyo-"]) [class*="progress"] > *{background:var(--uba-grad)!important}
