:root{
  --mx-border: rgba(15,23,42,.10);
  --mx-ink:#0f172a;
  --mx-muted:#64748b;
  --mx-surface: rgba(255,255,255,.88);
  --mx-shadow-sm: 0 1px 2px rgba(2,6,23,.06), 0 1px 1px rgba(2,6,23,.04);
  --mx-shadow-md: 0 10px 30px rgba(2,6,23,.10);
  --mx-radius-lg: 18px;
  --mx-pill: 999px;
}

.mxpecb-shell{max-width:1040px;margin:0 auto;padding:0 16px}

/* --- Authorized Partner badge (PECB) --- */
.mxpecb-partner{display:inline-flex;align-items:center;gap:10px;margin:0 0 14px}
.mxpecb-partner__logo{height:34px;width:auto;max-width:240px;object-fit:contain;display:block;filter:drop-shadow(0 2px 8px rgba(2,6,23,.18))}
.mxpecb-partner__text{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.82);padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06)}

.mxpecb-hero .mxpecb-partner__text{color:rgba(255,255,255,.86)}

/* Course hero (SaaS uplift, brochure-like cleanliness) */
.mxpecb-courseHero{margin:18px 0 22px;border-radius:24px;overflow:hidden;background:
  radial-gradient(900px 420px at 15% 0%, rgba(79,70,229,.18), transparent 58%),
  radial-gradient(900px 420px at 80% 0%, rgba(124,58,237,.12), transparent 58%),
  linear-gradient(180deg, rgba(248,250,252,1), rgba(255,255,255,1));
  border:1px solid var(--mx-border);box-shadow:var(--mx-shadow-sm)
}
.mxpecb-courseHero__inner{padding:22px 20px}
.mxpecb-courseHero__title{margin:0 0 10px;font-size:32px;line-height:1.15;color:var(--mx-ink)}
.mxpecb-courseHero__desc{margin:0 0 14px;color:rgba(15,23,42,.80);max-width:80ch;line-height:1.55}
.mxpecb-course .mxpecb-partner__text{color:rgba(15,23,42,.78);border-color:rgba(15,23,42,.14);background:rgba(15,23,42,.04)}

/* Reduce "crowded" feeling: consistent spacing + readable type */
.mxpecb-course h2{margin:22px 0 10px;font-size:20px;line-height:1.25;color:var(--mx-ink)}
.mxpecb-course ul{margin:0 0 8px;padding-left:20px}
.mxpecb-course li{margin:8px 0;line-height:1.55;color:rgba(15,23,42,.86)}
.mxpecb-hero{
  padding: 56px 0;
  color:#fff;
  background:
    radial-gradient(900px 420px at 15% 0%, rgba(79,70,229,.45), transparent 55%),
    radial-gradient(900px 420px at 80% 0%, rgba(124,58,237,.28), transparent 55%),
    linear-gradient(180deg, #0b1020, #0b1020);
}
.mxpecb-sub{opacity:.95;font-weight:800}
.mxpecb-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0 10px}

.mx-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:var(--mx-pill);
  font-weight:800;text-decoration:none;border:1px solid transparent;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.mx-btn-primary{
  background: linear-gradient(135deg, #111827, #0b1020);
  color:#fff;
  box-shadow: var(--mx-shadow-sm);
}
.mx-btn-primary:hover{ transform: translateY(-1px); box-shadow: var(--mx-shadow-md); 
  color: #fff !important;
}
.mx-btn-ghost{
  background: rgba(255,255,255,.65);
  border-color: var(--mx-border);
  color: rgba(15,23,42,.90);
}
.mx-btn-ghost:hover{ transform: translateY(-1px); background:#fff; box-shadow: var(--mx-shadow-sm); }

.mxpecb-disclaimer{
  margin-top:12px;padding:14px;border-radius:14px;
  background: rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  font-size:14px;
}

.mxpecb-split{display:grid;gap:16px;grid-template-columns:1fr;margin:22px auto}
@media(min-width:900px){.mxpecb-split{grid-template-columns:1fr 1fr}}
.mxpecb-card{
  background: var(--mx-surface);
  border:1px solid var(--mx-border);
  border-radius: var(--mx-radius-lg);
  padding:18px;
  box-shadow: var(--mx-shadow-sm);
}
.mxpecb-card:hover{ box-shadow: var(--mx-shadow-md); }

.mxpecb-grid{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:900px){.mxpecb-grid{grid-template-columns:1fr 1fr 1fr}}
.mxpecb-tile{
  background: var(--mx-surface);
  border:1px solid var(--mx-border);
  border-radius: var(--mx-radius-lg);
  padding:18px;
  box-shadow: var(--mx-shadow-sm);
}
.mxpecb-tile:hover{ box-shadow: var(--mx-shadow-md); }
.mxpecb-actions{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap}

.mxpecb-course{padding:26px 0}
.mxpecb-muted{color: var(--mx-muted)}
.mxpecb-faq{
  background: var(--mx-surface);
  border:1px solid var(--mx-border);
  border-radius: 14px;
  padding:12px 14px;
  margin:10px 0;
  box-shadow: var(--mx-shadow-sm);
}
.mxpecb-faq summary{cursor:pointer;font-weight:800}
.mxpecb-faq-a{padding-top:8px;color:#334155}


/* --- MentoroidX Home + Catalog (restored) --- */
.mxhome-shell{max-width:1100px;margin:0 auto;padding:24px 16px}
.mxhome-hero{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;align-items:stretch;margin:10px 0 26px}
.mxhome-hero__copy h1{font-size:38px;line-height:1.1;margin:0 0 10px}
.mxhome-hero__copy p{font-size:16px;line-height:1.55;color:rgba(15,23,42,.85);margin:0 0 16px}
.mxhome-hero__cta{display:flex;flex-wrap:wrap;gap:10px}
.mxbtn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:10px 14px;text-decoration:none;border:1px solid var(--mx-border);font-weight:600}
.mxbtn-primary{background:var(--mx-accent);color:white;border-color:rgba(2,6,23,.08)}
.mxbtn-ghost{background:white;color:var(--mx-ink)}
.mxhome-hero__panel .mxhome-panel__card{border:1px solid var(--mx-border);border-radius:16px;padding:14px;background:linear-gradient(180deg,#fff,#f8fafc)}
.mxhome-panel__kpi{display:flex;justify-content:space-between;align-items:baseline}
.mxhome-panel__kpi strong{font-size:22px}
.mxhome-panel__bar{height:10px;border-radius:999px;background:rgba(15,23,42,.08);margin:10px 0}
.mxhome-panel__mini{font-size:12px;color:rgba(15,23,42,.75)}
.mxhome-section{margin-top:26px}
.mxhome-section h2{font-size:24px;line-height:1.2;margin:0 0 16px}
.mxhome-steps{padding-left:18px}
.mxhome-steps li{margin:10px 0;line-height:1.5}
.mxhome-paths,.mxhome-diff,.mxcat-providers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mxcard{border:1px solid var(--mx-border);border-radius:16px;padding:14px;background:#fff;box-shadow:var(--mx-shadow)}
.mxcard h3{margin:0 0 6px}
.mxcard p{margin:0 0 10px;color:rgba(15,23,42,.82);line-height:1.5}
.mxhome-transparency ul{margin:10px 0 0;padding-left:18px}
.mxcat-shell{max-width:1100px;margin:0 auto;padding:24px 16px}
.mxcat-shell h1{font-size:34px;margin:0 0 6px}
.mxcat-shell p{margin:0 0 14px;color:rgba(15,23,42,.82)}
.mxcat-provider__head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.mxcat-provider__desc{margin-top:8px}
.mxcat-table{width:100%;border-collapse:collapse}
.mxcat-table th,.mxcat-table td{padding:10px;border-top:1px solid var(--mx-border);text-align:left;font-size:14px}
.mxcat-table th{color:rgba(15,23,42,.8);font-weight:700}
.mxcat-error{max-width:900px;margin:20px auto;padding:14px;border:1px solid rgba(239,68,68,.35);background:rgba(239,68,68,.06);border-radius:14px}
@media (max-width:900px){
  .mxhome-hero{grid-template-columns:1fr}
  .mxhome-paths,.mxhome-diff,.mxcat-providers{grid-template-columns:1fr}
  .mxhome-hero__copy h1{font-size:30px}
}



/* --- Home SaaS polish uplift --- */
.mxhome-heroCard{
  background: radial-gradient(1200px 600px at 20% 0%, rgba(99,102,241,.45), transparent 60%),
              radial-gradient(900px 500px at 95% 40%, rgba(16,185,129,.20), transparent 55%),
              linear-gradient(180deg, #0b1024 0%, #0a122b 60%, #081024 100%);
  border-radius: 28px;
  padding: 46px 44px;
  box-shadow: 0 22px 60px rgba(2,6,23,.28);
  border: 1px solid rgba(255,255,255,.10);
}


/* Hero buttons on dark card */
.mxhome-heroCard .mxbtn-ghost{
  background: transparent;
  color: #ffffff;
  border-color: rgba(255,255,255,.22);
}
.mxhome-heroCard .mxbtn-ghost:hover{
  border-color: rgba(255,255,255,.38);
  background: rgba(255,255,255,.06);
}
.mxhome-heroCard .mxbtn-primary:hover{
  filter: brightness(1.05);
}
.mxhome-heroCard .mxhome-hero{margin:0}
.mxhome-heroCard .mxhome-hero__copy h1{color:#fff}
.mxhome-heroCard .mxhome-hero__copy p{color:rgba(255,255,255,.82)}
.mxhome-heroCard .mxhome-hero__cta .mxbtn-ghost{border-color:rgba(255,255,255,.18);color:#fff}
.mxhome-heroCard .mxhome-hero__cta .mxbtn-ghost:hover{background:rgba(255,255,255,.08)}
.mxhome-heroCard .mxhome-panel__card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.mxhome-heroCard .mxhome-panel__label,.mxhome-heroCard .mxhome-panel__mini{color:rgba(255,255,255,.78)}
.mxhome-heroCard .mxhome-panel__title{color:#fff;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.mxhome-panel__kpiRow{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:10px}
.mxhome-panel__kpiBlock .mxhome-panel__value{font-size:28px;font-weight:800;color:#fff;line-height:1}
.mxhome-panel__badge{font-size:12px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);color:#fff;white-space:nowrap}
.mxhome-panel__bar{height:10px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden;margin:12px 0}
.mxhome-panel__bar span{display:block;height:100%;background:linear-gradient(90deg, rgba(99,102,241,.95), rgba(16,185,129,.85))}
.mxhome-panel__grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:8px}
.mxhome-panel__valueSm{font-size:14px;font-weight:700;color:#fff}

/* Readiness report card */
.mxhome-panel__title{font-size:11px;letter-spacing:.08em;font-weight:800;color:rgba(255,255,255,.78);margin-bottom:8px}
.mxhome-panel__card{color:#fff}
.mxhome-panel__label{font-size:11px;color:rgba(255,255,255,.65)}
.mxhome-panel__value{font-size:28px;font-weight:800;line-height:1}
.mxhome-panel__of{font-size:12px;font-weight:700;color:rgba(255,255,255,.6);margin-left:4px}
.mxhome-panel__badge--warn{background:rgba(245,158,11,.18);border:1px solid rgba(245,158,11,.35);color:rgba(255,255,255,.92)}
.mxhome-panel__subkpi{display:flex;justify-content:space-between;gap:10px;margin:8px 0 10px}
.mxhome-panel__muted{color:rgba(255,255,255,.6);font-size:11px}
.mxhome-panel__bar{background:rgba(255,255,255,.12)}
.mxhome-panel__bar span{display:block;height:100%;background:linear-gradient(90deg,rgba(99,102,241,.95),rgba(34,211,238,.95));border-radius:999px}

/* Align Success Path buttons */
.mxhome-paths .mxcard{display:flex;flex-direction:column;min-height:170px}
.mxhome-paths .mxcard .mxbtn{margin-top:auto;align-self:flex-start}

@media (max-width: 880px){
  .mxhome-hero{grid-template-columns:1fr;gap:14px}
  .mxhome-paths,.mxhome-diff,.mxcat-providers{grid-template-columns:1fr;gap:14px}
}


/* Provider page */
.mxprov{max-width:var(--mx-max,1100px);margin:0 auto;padding:24px 16px}
.mxprov__hero{background:linear-gradient(135deg, rgba(16,24,40,.92), rgba(17,38,74,.92));color:#fff;border-radius:16px;padding:22px 18px;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.mxprov__title{margin:0;font-size:30px;line-height:1.15}
.mxprov__desc{margin:10px 0 0;opacity:.92;max-width:70ch}
.mxprov__ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.mxprov__card{margin-top:18px;background:#fff;border:1px solid rgba(15,23,42,.10);border-radius:16px;padding:18px}
.mxprov__h2{margin:0 0 12px;font-size:20px}
.mxprov__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mxprov__course{border:1px solid rgba(15,23,42,.10);border-radius:14px;padding:14px;background:linear-gradient(180deg,#fff,#fbfdff)}
.mxprov__courseTitle{font-weight:700}
.mxprov__meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.mxbadge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:12px;background:rgba(59,130,246,.12);color:#1d4ed8;border:1px solid rgba(59,130,246,.22)}
.mxbadge--muted{background:rgba(15,23,42,.06);color:#334155;border-color:rgba(15,23,42,.10)}
.mxprov__link{display:inline-block;margin-top:10px;color:#2563eb;text-decoration:underline;font-size:13px}
.mxprov__note{margin-top:14px;padding:12px 14px;border-radius:14px;background:rgba(15,23,42,.04);border:1px solid rgba(15,23,42,.08)}
@media (max-width: 980px){.mxprov__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 640px){.mxprov__grid{grid-template-columns:1fr}.mxprov__title{font-size:26px}}

/* Bonus pack visual: keep it neat, non-dominant, centered */
.mxpecb-bonus-visual{
  display:flex;
  justify-content:center;
  align-items:center;
  padding: 10px;
  background: #fff;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.08);
}
.mxpecb-bonus-visual img{
  width: min(560px, 100%);
  height: auto;
  max-height: 520px;
  object-fit: contain;
  display:block;
}

/* Inline bonus image inside MentoroidX learner support section */
.mxpecb-bonus-inline{
  display:grid;
  grid-template-columns: 1fr 360px;
  gap: 16px;
  align-items: start;
  margin-top: 8px;
}
@media (max-width: 980px){
  .mxpecb-bonus-inline{ grid-template-columns: 1fr; }
}
.mxpecb-bonus-inline__right{
  display:flex;
  justify-content:center;
  align-items:flex-start;
}
.mxpecb-bonus-inline__right img{
  width: 100%;
  max-width: 360px;
  height: auto;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.08);
  background:#fff;
}

.mxpecb-legal-inline{ font-size:12px; color:rgba(15,23,42,.7); }
.mxpecb-legal-inline a{ color:rgba(15,23,42,.85); text-decoration:none; font-weight:700; }
.mxpecb-legal-inline a:hover{ text-decoration:underline; }
.mxpecb-legal-sep{ margin:0 6px; opacity:.6; }
.mxpecb-legal h2{ margin-top:18px; }
.mxpecb-legal ul{ padding-left:18px; }

/* === Trainer Gallery (surgical) === */

/* Trainer Gallery (Learner Portal) — surgical presentation only */
.mx-trainer-gallery.mx-card {
  /* keep card look but reduce “heavy” feel */
  padding: 14px !important;
}
.mx-trainer-gallery__img { display:block; width:100%; max-width:720px; height:auto; margin:0 auto; }
@media (max-width: 768px) {
  .mx-trainer-gallery__img { display:block; width:100%; max-width:720px; height:auto; margin:0 auto; }
}


.mx-trainer-gallery { margin: 0 0 14px 0; }


/* --- PECB: How it works tidy spacing (surgical) --- */
.mxpecb-howto ol,
.mxpecb-howto ul,
.mxpecb-howto .mx-steps {
  margin-top: 10px;
}
.mxpecb-howto ol li,
.mxpecb-howto ul li,
.mxpecb-howto .mx-steps li {
  margin: 10px 0;
  line-height: 1.5;
}
@media (max-width: 768px){
  .mxpecb-howto ol li,
  .mxpecb-howto ul li,
  .mxpecb-howto .mx-steps li { margin: 12px 0; }
}

/* --- PECB hero typography fit --- */
.mxpecb-hero h1,
.mxpecb-hero .mxpecb-hero__title {
  font-size: clamp(28px, 4.2vw, 44px);
  line-height: 1.12;
}
.mxpecb-hero__kicker {
  display: block;
  font-size: clamp(14px, 2.2vw, 18px);
  line-height: 1.2;
  margin-top: 6px;
  opacity: 0.95;
}


/* --- PECB collapsible: How it works --- */
.mxpecb-details {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.06);
  padding: 14px 16px;
  margin-top: 14px;
}
.mxpecb-details__summary {
  cursor: pointer;
  font-weight: 700;
  font-size: 18px;
  list-style: none;
  user-select: none;
}
.mxpecb-details__summary::-webkit-details-marker { display: none; }
.mxpecb-details__summary:after {
  content: "▾";
  float: right;
  opacity: 0.7;
}
details[open] > .mxpecb-details__summary:after { content: "▴"; }

.mxpecb-details__body { margin-top: 10px; }

/* Keep steps readable (no steps removed) */
.mxpecb-howto-details ol { margin: 8px 0 0 20px; padding: 0; }
.mxpecb-howto-details ol li { margin: 10px 0; line-height: 1.55; }

/* Bonus star banner */
.mxpecb-bonus-star{
  display: inline-block;
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(255,215,0,0.22), rgba(255,255,255,0.9));
  border: 1px solid rgba(255,215,0,0.35);
  font-weight: 700;
  text-decoration: none;
  color: inherit;
}
.mxpecb-bonus-star:hover{ transform: translateY(-1px); box-shadow: 0 10px 18px rgba(0,0,0,0.08); }

.mx-btn.mx-btn-primary:hover,
.mx-btn.mx-btn-primary:focus {
  color: #fff !important;
}

/* --- Robust: keep Buy button text visible on hover --- */
a.mx-btn-primary:hover,
a.mx-btn-primary:focus,
button.mx-btn-primary:hover,
button.mx-btn-primary:focus,
.mxpecb-cta-row a:hover,
.mxpecb-cta-row a:focus,
.mxpecb-cta-row .mx-btn:hover,
.mxpecb-cta-row .mx-btn:focus,
.mxpecb-cta-row .mx-btn-primary:hover,
.mxpecb-cta-row .mx-btn-primary:focus {
  color: #fff !important;
}

/* If theme flips background to white on hover, force background back to primary */
.mxpecb-cta-row .mx-btn-primary:hover,
.mxpecb-cta-row .mx-btn-primary:focus,
.mxpecb-cta-row a.mx-btn-primary:hover,
.mxpecb-cta-row a.mx-btn-primary:focus {
  background-color: #0b1220 !important;
  border-color: #0b1220 !important;
}

@media (max-width:600px){ .mx-trainer-gallery__img { max-width: 100%; } }

@media (max-width:600px){ .mx-trainer-gallery.mx-card--padded { padding: 10px !important; } }


/* --- Mobile fit: prevent trainer visual overflow --- */
.mx-trainer-gallery,
.mx-trainer-gallery picture,
.mx-trainer-gallery img {
  max-width: 100% !important;
}
.mx-trainer-gallery picture { display:block; }
.mx-trainer-gallery__img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain;
}
.mx-card.mx-trainer-gallery { overflow: hidden; }




/* --- Mobile menu collapse (header) --- */
@media (max-width: 820px){
  .mx-header__inner { flex-wrap: wrap; }
  .mx-mobile-nav-toggle{
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    border-radius: 999px;
    padding: 10px 14px;
    border: 1px solid rgba(0,0,0,0.12);
    background: rgba(255,255,255,0.9);
    cursor: pointer;
    margin-left: auto;
  }
  .mx-mobile-nav-toggle__icon{ font-size: 18px; line-height: 1; }
  .mx-mobile-nav-toggle__text{ font-weight: 700; }

  /* Collapse links by default (force override) */
  .mx-header__cta.mx-toplinks{
    display: none !important;
    width: 100% !important;
    margin-top: 10px !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
  }
  .mx-header__cta.mx-toplinks.mx-toplinks--open{
    display: flex !important;
  }

  .mx-header__cta.mx-toplinks a.mx-toplink{
    flex: 1 1 auto;
    text-align: center;
    padding: 10px 12px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,0.10);
    background: rgba(255,255,255,0.85);
  }
}

/* reinstate-howto-card: make How it works look like prior full card */
.mxpecb-shell .mxpecb-details.mxpecb-howto-details{
  padding: 16px 18px !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 22px rgba(0,0,0,0.08) !important;
}
.mxpecb-shell .mxpecb-details__summary{
  font-size: 16px !important;
}

/* howto-pill-fix: keep summary inside the card */
.mxpecb-details.mxpecb-howto-details { display:block; width:100%; }
.mxpecb-details__summary { display:block; }

/* howto-summary-size: match Delivered by section label */
.mxpecb-details__summary{
  font-size: 16px !important;
  font-weight: 700 !important;
}

/* howto-card-fix: keep summary inside card and match Delivered label size */
.mxpecb-card--howto .mxpecb-details { box-shadow: none !important; padding: 0 !important; margin-top: 0 !important; }
.mxpecb-card--howto .mxpecb-details__summary { font-size: 16px !important; font-weight: 700 !important; padding: 0 !important; }
.mxpecb-card--howto .mxpecb-details__body { margin-top: 10px; }
