/*
 * xtraLesson Core 0.15.2 — Learner Journey Corrections
 * Shared learner design tokens and conservative Tutor LMS presentation layer.
 * Business logic remains in Core; Tutor LMS continues to own learning runtime.
 */
:root{
  --xl-navy:#082957;
  --xl-navy-deep:#071e3d;
  --xl-blue:#0877ff;
  --xl-blue-dark:#0758b7;
  --xl-text:#09244a;
  --xl-muted:#5e718a;
  --xl-canvas:#f4f7fb;
  --xl-surface:#fff;
  --xl-line:#d9e3f0;
  --xl-soft:#f8fbff;
  --xl-radius-sm:10px;
  --xl-radius:18px;
  --xl-radius-lg:28px;
  --xl-shadow:0 8px 24px rgba(8,41,87,.08);
  --xl-shadow-lg:0 18px 52px rgba(8,41,87,.10);
  --xl-content:1180px;
  --xl-shell:1360px;
}

body.xl-learner-surface{
  color:var(--xl-text);
  background:#fff;
  font-family:Inter,Arial,Helvetica,sans-serif;
  line-height:1.55;
}
body.xl-learner-surface *{box-sizing:border-box}
body.xl-learner-surface a{text-underline-offset:3px}
body.xl-learner-surface a:focus-visible,
body.xl-learner-surface button:focus-visible,
body.xl-learner-surface input:focus-visible,
body.xl-learner-surface select:focus-visible,
body.xl-learner-surface textarea:focus-visible{
  outline:3px solid rgba(8,119,255,.30);
  outline-offset:3px;
}

/* Unified application width on Core-owned learner pages. */
body.xl-learner-surface .xl-dashboard,
body.xl-learner-surface .xl-academy-catalogue,
body.xl-learner-surface .xl-academy-detail,
body.xl-learner-surface .xl-explore-learning,
body.xl-learner-surface .xl-learning-paths-header,
body.xl-learner-surface .xl-learning-path-detail{
  width:min(var(--xl-content),calc(100% - 40px));
  max-width:none;
  margin-inline:auto;
}
body.xl-learner-surface .xl-form{
  width:min(680px,calc(100% - 40px));
  max-width:none;
  margin-inline:auto;
}

/* Shared type and controls. */
body.xl-learner-surface .xl-eyebrow{
  color:var(--xl-blue);
  font-size:.77rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
body.xl-learner-surface .xl-muted{color:var(--xl-muted)}
body.xl-learner-surface .xl-button{
  min-height:42px;
  padding:10px 17px;
  border:1px solid var(--xl-blue);
  border-radius:var(--xl-radius-sm);
  background:var(--xl-blue);
  color:#fff!important;
  font-weight:750;
  line-height:1.2;
  box-shadow:none;
  transition:transform .15s ease,filter .15s ease,border-color .15s ease,background .15s ease;
}
body.xl-learner-surface .xl-button:hover{filter:brightness(.97);transform:translateY(-1px)}
body.xl-learner-surface .xl-button-secondary{
  background:#fff;
  color:var(--xl-blue-dark)!important;
  border-color:#bdd8fa;
}
body.xl-learner-surface .xl-button-secondary:hover{background:#f7fbff;border-color:#8abcf6}
body.xl-learner-surface .xl-form input,
body.xl-learner-surface .xl-form select,
body.xl-learner-surface .xl-form textarea,
body.xl-learner-surface .xl-explore-form input,
body.xl-learner-surface .xl-explore-form select{
  min-height:44px;
  border:1px solid #c9d7e8;
  border-radius:var(--xl-radius-sm);
  background:#fff;
  color:var(--xl-text);
  padding:10px 12px;
  font:inherit;
}

/* Shared cards match xtralesson-web card geometry. */
body.xl-learner-surface .xl-card,
body.xl-learner-surface .xl-learning-item,
body.xl-learner-surface .xl-path-progress-panel,
body.xl-learner-surface .xl-recommendations,
body.xl-learner-surface .xl-explore-form,
body.xl-learner-surface .xl-notice{
  border:1px solid var(--xl-line);
  border-radius:var(--xl-radius);
  background:var(--xl-surface);
  box-shadow:var(--xl-shadow);
}
body.xl-learner-surface .xl-card{padding:0;overflow:hidden}
body.xl-learner-surface .xl-card-image{background:linear-gradient(135deg,var(--xl-navy),var(--xl-blue))}
body.xl-learner-surface .xl-card-image img{width:100%;height:100%;object-fit:cover}
body.xl-learner-surface .xl-media-card-body,
body.xl-learner-surface .xl-course-card-body{padding:20px}
body.xl-learner-surface .xl-card h3,
body.xl-learner-surface .xl-card h4,
body.xl-learner-surface .xl-learning-item h4{color:var(--xl-text)}
body.xl-learner-surface .xl-access-badge{
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border:1px solid #cfe1fb;
  border-radius:999px;
  background:#eef6ff;
  color:#0c4d93;
  font-size:.74rem;
  font-weight:750;
}
body.xl-learner-surface .xl-state-open_access .xl-access-badge{background:#eef6ff;color:#0c4d93;border-color:#cfe1fb}
body.xl-learner-surface .xl-state-premium .xl-access-badge,
body.xl-learner-surface .xl-state-institutional .xl-access-badge,
body.xl-learner-surface .xl-state-sponsored_required .xl-access-badge{background:#f7f8fa;color:#4e6178;border-color:#dfe5ec}
body.xl-learner-surface .xl-state-coming_soon .xl-access-badge{background:#eef8ff;color:#075985;border-color:#cfe8f8}

/* My Learning becomes the learner application home rather than a generic WP page. */
body.xl-learner-section-my-learning .xl-dashboard{padding:28px 0 72px}
body.xl-learner-section-my-learning .xl-dashboard-header{
  position:relative;
  overflow:hidden;
  padding:38px 42px;
  margin:0 0 32px;
  border-radius:var(--xl-radius-lg);
  background:linear-gradient(118deg,var(--xl-navy-deep) 0%,#0b3f80 70%,var(--xl-blue) 135%);
  color:#fff;
  box-shadow:var(--xl-shadow-lg);
}
body.xl-learner-section-my-learning .xl-dashboard-header:after{
  content:"";
  position:absolute;
  width:250px;
  height:250px;
  right:-90px;
  top:-130px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
}
body.xl-learner-section-my-learning .xl-dashboard-header .xl-eyebrow{color:#a9d7ff;margin:0 0 8px}
body.xl-learner-section-my-learning .xl-dashboard-header h2{
  color:#fff;
  margin:0;
  font-size:clamp(2rem,4vw,3.45rem);
  line-height:1.02;
  letter-spacing:-.035em;
}
body.xl-learner-surface .xl-dashboard section{margin:42px 0}
body.xl-learner-surface .xl-dashboard section>h3,
body.xl-learner-surface .xl-explore-learning section>h3{
  color:var(--xl-navy);
  font-size:clamp(1.35rem,2.3vw,1.8rem);
  line-height:1.15;
  margin:0 0 16px;
}
body.xl-learner-surface .xl-learning-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
body.xl-learner-surface .xl-learning-item{overflow:hidden;padding:0}
body.xl-learner-surface .xl-progress{background:#e6edf6;height:7px}
body.xl-learner-surface .xl-progress span{background:var(--xl-blue)}

/* Unified learner application header.
 * On learner surfaces Core owns the learner navigation; Astra/Elementor primary
 * navigation is suppressed so the learner never sees two competing menus.
 */
body.xl-learner-surface #masthead,
body.xl-learner-surface .site-header,
body.xl-learner-surface .ast-primary-header-bar,
body.xl-learner-surface .main-header-bar,
body.xl-learner-surface .elementor-location-header{
  display:none!important;
}
.xl-learner-header{
  width:100%;
  position:relative;
  z-index:50;
  background:#fff;
  border-bottom:1px solid var(--xl-line);
  box-shadow:0 2px 12px rgba(8,41,87,.035);
}
.xl-learner-header-inner{
  width:min(var(--xl-shell),calc(100% - 40px));
  min-height:72px;
  margin-inline:auto;
  display:flex;
  align-items:center;
  gap:28px;
}
.xl-learner-brand{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  color:var(--xl-navy);
  text-decoration:none;
  font-size:1.55rem;
  font-weight:850;
  letter-spacing:-.035em;
  white-space:nowrap;
}
.xl-learner-brand img{
  display:block;
  width:auto;
  max-width:190px;
  max-height:38px;
  object-fit:contain;
}
.xl-learner-nav{
  min-width:0;
  flex:1 1 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.xl-learner-nav-primary,
.xl-learner-nav-utility{
  display:flex;
  align-items:center;
  gap:6px;
}
.xl-learner-nav-primary{min-width:0}
.xl-learner-nav-utility{flex:0 0 auto}
.xl-learner-nav-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:8px 12px;
  border-radius:10px;
  color:var(--xl-text);
  text-decoration:none;
  font-weight:720;
  white-space:nowrap;
}
.xl-learner-nav-link:hover{color:var(--xl-blue);background:#f7fbff}
.xl-learner-nav-link.is-active{background:#eef6ff;color:#0758b7}
.xl-learner-nav-register{
  background:var(--xl-blue);
  color:#fff!important;
  border:1px solid var(--xl-blue);
}
.xl-learner-nav-register:hover{background:var(--xl-blue-dark);color:#fff!important}
.xl-learner-nav-sign-out{
  color:#5b6575;
  font-weight:700;
}
.xl-learner-nav-sign-out:hover{
  color:#a12622;
  background:#fff4f3;
}

/* Public-site-equivalent filters on the Tutor course catalogue. */
.xl-course-archive-discovery{
  width:min(var(--xl-content),calc(100% - 40px));
  margin:32px auto 18px;
}
.xl-course-archive-intro{margin-bottom:18px}
.xl-course-archive-intro h1{
  margin:.2rem 0 .55rem;
  color:var(--xl-navy);
  font-size:clamp(2rem,3.2vw,3rem);
  line-height:1.05;
  letter-spacing:-.03em;
}
.xl-course-archive-filters{
  display:grid;
  grid-template-columns:2fr repeat(5,minmax(130px,1fr));
  gap:14px;
  padding:20px;
  border:1px solid var(--xl-line);
  border-radius:18px;
  background:#f8fbff;
  box-shadow:0 8px 24px rgba(8,41,87,.035);
}
.xl-course-filter-field{display:grid;gap:6px;min-width:0}
.xl-course-filter-field label{
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
  color:var(--xl-muted);
}
.xl-course-filter-field input,
.xl-course-filter-field select{
  width:100%;
  min-height:44px;
  border:1px solid #cbd9ea;
  border-radius:10px;
  background:#fff;
  color:var(--xl-text);
  padding:9px 11px;
  font:inherit;
}
.xl-course-filter-field input:focus,
.xl-course-filter-field select:focus{
  outline:3px solid rgba(8,119,255,.15);
  border-color:#7eb6f4;
}
.xl-course-filter-field select:disabled{background:#eef2f6;color:#8493a5}
.xl-course-filter-actions{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:12px;
}
.xl-course-filter-clear{
  color:#0758b7;
  text-decoration:none;
  font-weight:750;
}
.xl-course-filter-count{margin:14px 2px 0;color:var(--xl-muted)}
.xl-course-filter-count strong{color:var(--xl-navy)}

/* Lightweight learner-only filtering for Tutor's enrolled-course dashboard.
 * This filters the already-rendered cards client-side; Tutor remains the source
 * of truth for enrolment, progress, wishlist and quiz attempts.
 */
.xl-tutor-course-filter{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(220px,1.5fr) minmax(170px,.8fr) minmax(160px,.7fr);
  gap:10px;
  align-items:end;
  margin:0 0 18px;
  padding:14px;
  border:1px solid rgba(127,127,127,.24);
  border-radius:14px;
  background:rgba(127,127,127,.08);
  color:inherit;
}
.xl-tutor-course-filter-field{display:grid;gap:5px;min-width:0}
.xl-tutor-course-filter-field label{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  opacity:.72;
}
.xl-tutor-course-filter input,
.xl-tutor-course-filter select{
  width:100%;
  min-height:38px;
  padding:7px 10px;
  border:1px solid rgba(127,127,127,.32);
  border-radius:9px;
  background:rgba(255,255,255,.06);
  color:inherit;
  font:inherit;
}
.xl-tutor-course-filter option{color:#111827;background:#fff}
.xl-tutor-course-filter-count{
  grid-column:1/-1;
  margin:0;
  font-size:.86rem;
  opacity:.75;
}
.xl-tutor-course-filter-empty{
  margin:10px 0 0;
  padding:14px;
  border:1px dashed rgba(127,127,127,.35);
  border-radius:12px;
  text-align:center;
  opacity:.78;
}
/* Discovery pages use the same section/list visual language as xtralesson-web. */
body.xl-learner-section-explore .xl-explore-learning,
body.xl-learner-section-academies .xl-academy-detail,
body.xl-learner-section-learning-paths .xl-learning-path-detail{padding-top:24px;padding-bottom:72px}
body.xl-learner-surface .xl-explore-header h2,
body.xl-learner-surface .xl-learning-paths-header h2,
body.xl-learner-surface .xl-academy-detail-header h2{
  color:var(--xl-navy);
  font-size:clamp(2.2rem,4.5vw,4rem);
  line-height:1;
  letter-spacing:-.04em;
}
body.xl-learner-surface .xl-explore-form{background:var(--xl-soft);padding:20px}
body.xl-learner-surface .xl-discovery-nav{
  background:#f7faff;
  border-color:var(--xl-line);
  border-radius:12px;
}
body.xl-learner-surface .xl-discovery-nav a{color:#334f70;border-radius:9px}
body.xl-learner-surface .xl-discovery-nav a.is-active{background:var(--xl-navy);color:#fff}
body.xl-learner-surface .xl-pillar-filter a{border-color:var(--xl-line);color:#24486f}
body.xl-learner-surface .xl-pillar-filter a.is-active{background:var(--xl-navy);border-color:var(--xl-navy);color:#fff}

/* Form surfaces are intentionally simple and product-like. */
body.xl-learner-section-register .xl-form,
body.xl-learner-section-onboarding .xl-form{
  margin-top:40px;
  margin-bottom:72px;
  padding:28px;
  border:1px solid var(--xl-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 36px rgba(8,41,87,.07);
}

/* Tutor LMS compatibility layer: visual system only, no curriculum/runtime changes. */
body.xl-learner-tutor .tutor-wrap,
body.xl-learner-tutor .tutor-container,
body.xl-learner-tutor .tutor-course-details-page{
  font-family:Inter,Arial,Helvetica,sans-serif;
  color:var(--xl-text);
}
body.xl-learner-tutor .tutor-container,
body.xl-learner-tutor .tutor-course-details-page{
  max-width:var(--xl-content);
}
body.xl-learner-tutor .tutor-btn,
body.xl-learner-tutor a.tutor-btn,
body.xl-learner-tutor button.tutor-btn{
  border-radius:var(--xl-radius-sm);
  font-weight:750;
  min-height:42px;
}
body.xl-learner-tutor .tutor-btn-primary,
body.xl-learner-tutor .tutor-btn:not(.tutor-btn-outline-primary):not(.tutor-btn-outline-secondary){
  background:var(--xl-blue);
  border-color:var(--xl-blue);
  color:#fff;
}
body.xl-learner-tutor .tutor-btn-outline-primary{
  color:var(--xl-blue-dark);
  border-color:#bdd8fa;
  background:#fff;
}
body.xl-learner-tutor .tutor-card,
body.xl-learner-tutor .tutor-course-card,
body.xl-learner-tutor .tutor-course-details-widget,
body.xl-learner-tutor .tutor-course-single-sidebar-wrapper{
  border-color:var(--xl-line);
  border-radius:var(--xl-radius);
  box-shadow:var(--xl-shadow);
}
body.xl-learner-tutor .tutor-course-details-title,
body.xl-learner-tutor .tutor-dashboard-content h1,
body.xl-learner-tutor .tutor-dashboard-content h2,
body.xl-learner-tutor .tutor-dashboard-content h3{
  color:var(--xl-navy);
}
body.xl-learner-tutor .tutor-course-details-title{
  letter-spacing:-.025em;
  line-height:1.08;
}
body.xl-learner-tutor .tutor-course-content-list,
body.xl-learner-tutor .tutor-course-topic{
  border-color:var(--xl-line);
  border-radius:14px;
}
body.xl-learner-tutor .tutor-dashboard .tutor-dashboard-left-menu{
  border-radius:var(--xl-radius);
  overflow:hidden;
}
body.xl-learner-tutor .tutor-dashboard .tutor-dashboard-menu-item-link{
  border-radius:9px;
  color:#27496c;
  font-weight:650;
}
body.xl-learner-tutor .tutor-dashboard .tutor-dashboard-menu-item.active .tutor-dashboard-menu-item-link,
body.xl-learner-tutor .tutor-dashboard .tutor-dashboard-menu-item-link:hover{
  background:#eef6ff;
  color:var(--xl-blue-dark);
}
body.xl-learner-section-learning .tutor-course-single-content-wrapper{
  background:#fff;
}
body.xl-learner-section-learning .tutor-course-single-sidebar-wrapper{
  background:#f8fbff;
}
body.xl-learner-section-learning .tutor-course-single-content-wrapper .tutor-course-topic-single-header,
body.xl-learner-section-learning .tutor-course-single-sidebar-title{
  border-color:var(--xl-line);
}
body.xl-learner-tutor .tutor-progress-bar-wrap .tutor-progress-value,
body.xl-learner-tutor .tutor-progress-bar .tutor-progress-value{
  background:var(--xl-blue);
}

/* RTL uses logical properties throughout; only directional alignment is explicit. */
body.rtl.xl-learner-surface .xl-dashboard-header{text-align:right}

@media(max-width:980px){
  body.xl-learner-surface .xl-learning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .xl-learner-header-inner{gap:16px;align-items:flex-start;padding:12px 0}
  .xl-learner-nav{align-items:flex-start;overflow-x:auto;scrollbar-width:thin}
  .xl-learner-nav-primary,.xl-learner-nav-utility{gap:4px}
  .xl-course-archive-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .xl-course-filter-search{grid-column:span 2}
  .xl-tutor-course-filter{grid-template-columns:1fr 1fr}
  .xl-tutor-course-filter-field:first-child{grid-column:1/-1}
}
@media(max-width:640px){
  body.xl-learner-surface .xl-dashboard,
  body.xl-learner-surface .xl-academy-catalogue,
  body.xl-learner-surface .xl-academy-detail,
  body.xl-learner-surface .xl-explore-learning,
  body.xl-learner-surface .xl-learning-paths-header,
  body.xl-learner-surface .xl-learning-path-detail{
    width:min(100% - 24px,var(--xl-content));
  }
  body.xl-learner-surface .xl-form{width:min(100% - 24px,680px)}
  body.xl-learner-section-my-learning .xl-dashboard{padding-top:18px}
  body.xl-learner-section-my-learning .xl-dashboard-header{padding:28px 24px;border-radius:22px;margin-bottom:26px}
  body.xl-learner-surface .xl-dashboard section{margin:34px 0}
  body.xl-learner-surface .xl-learning-grid{grid-template-columns:1fr}
  .xl-learner-header-inner{
    width:min(100% - 24px,var(--xl-shell));
    min-height:0;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    padding:12px 0;
  }
  .xl-learner-brand{font-size:1.35rem}
  .xl-learner-brand img{max-height:32px}
  .xl-learner-nav{width:100%;overflow-x:auto;padding-bottom:2px}
  .xl-learner-nav-primary,.xl-learner-nav-utility{gap:3px}
  .xl-learner-nav-link{font-size:.88rem;padding:7px 9px;min-height:36px}
  .xl-course-archive-discovery{width:min(100% - 24px,var(--xl-content));margin-top:22px}
  .xl-course-archive-filters{grid-template-columns:1fr;padding:16px}
  .xl-course-filter-search,.xl-course-filter-actions{grid-column:auto}
  .xl-course-filter-actions{align-items:stretch;flex-direction:column}
  .xl-course-filter-actions .xl-button{width:100%}
  .xl-tutor-course-filter{grid-template-columns:1fr}
  .xl-tutor-course-filter-field:first-child{grid-column:auto}
  body.xl-learner-section-register .xl-form,
  body.xl-learner-section-onboarding .xl-form{padding:22px 18px;margin-top:22px}
}

@media(prefers-reduced-motion:reduce){
  body.xl-learner-surface *,body.xl-learner-surface *:before,body.xl-learner-surface *:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}



/* 0.15.2 learner journey corrections. */
.xl-screen-reader-text{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.xl-learner-nav-toggle{
  display:none;
  width:42px;
  height:42px;
  padding:0;
  align-items:center;
  justify-content:center;
  border:1px solid var(--xl-line);
  border-radius:10px;
  background:#fff;
  color:var(--xl-navy);
  cursor:pointer;
}
.xl-nav-toggle-lines{
  display:grid;
  gap:4px;
  width:20px;
}
.xl-nav-toggle-lines span{
  display:block;
  width:100%;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transition:transform .18s ease,opacity .18s ease;
}
.xl-learner-header.is-open .xl-nav-toggle-lines span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.xl-learner-header.is-open .xl-nav-toggle-lines span:nth-child(2){opacity:0}
.xl-learner-header.is-open .xl-nav-toggle-lines span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* Tutor's lesson/quiz workspace is intentionally distraction-free. */
body.xl-learner-section-learning .xl-learner-header{display:none!important}

/* Course discovery: one full-width search row, then five balanced filters. */
.xl-course-archive-filters{
  grid-template-columns:repeat(5,minmax(0,1fr));
  align-items:end;
}
.xl-course-filter-search{grid-column:1/-1}
.xl-course-filter-actions{grid-column:1/-1}

@media(max-width:1100px){
  .xl-course-archive-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .xl-course-filter-search,.xl-course-filter-actions{grid-column:1/-1}
}

@media(max-width:760px){
  .xl-learner-header-inner{
    width:min(var(--xl-shell),calc(100% - 28px));
    min-height:64px;
    padding:10px 0;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:10px 14px;
  }
  .xl-learner-brand{font-size:1.35rem;min-width:0}
  .xl-learner-brand img{max-width:160px;max-height:34px}
  .xl-learner-nav-toggle{display:inline-flex;justify-self:end}
  .xl-learner-nav{
    grid-column:1/-1;
    width:100%;
    display:none;
    overflow:visible;
    padding:8px 0 2px;
    border-top:1px solid var(--xl-line);
    flex-direction:column;
    align-items:stretch;
    gap:8px;
  }
  .xl-learner-header.is-open .xl-learner-nav{display:flex}
  .xl-learner-nav-primary,
  .xl-learner-nav-utility{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:3px;
  }
  .xl-learner-nav-utility{
    padding-top:8px;
    border-top:1px solid var(--xl-line);
  }
  .xl-learner-nav-link{
    width:100%;
    min-height:42px;
    justify-content:flex-start;
    padding:9px 11px;
    font-size:.95rem;
    white-space:normal;
  }
  .xl-course-archive-discovery{width:min(100% - 24px,var(--xl-content));margin-top:22px}
  .xl-course-archive-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:12px}
  .xl-course-filter-search,.xl-course-filter-actions{grid-column:1/-1}
}

@media(max-width:520px){
  .xl-course-archive-filters{grid-template-columns:1fr}
  .xl-course-filter-search,.xl-course-filter-actions{grid-column:1}
  .xl-course-filter-actions{align-items:stretch;flex-direction:column}
  .xl-course-filter-actions .xl-button,
  .xl-course-filter-actions .xl-course-filter-clear{width:100%;text-align:center;justify-content:center}
}

/* 0.15.3 — My Learning Experience */
body.xl-learner-section-my-learning .xl-dashboard-header{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr);
  gap:32px;
  align-items:end;
}
body.xl-learner-section-my-learning .xl-dashboard-intro{
  max-width:720px;
  margin:14px 0 0;
  color:#d9e9fb;
  font-size:1.02rem;
  line-height:1.65;
}
.xl-learning-summary{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.xl-learning-summary>div{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  background:rgba(255,255,255,.09);
  backdrop-filter:blur(4px);
}
.xl-learning-summary strong{font-size:1.45rem;line-height:1;color:#fff}
.xl-learning-summary span{font-size:.8rem;color:#d8e8fa}
body.xl-learner-surface .xl-dashboard .xl-dashboard-section{margin:46px 0}
.xl-section-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}
.xl-section-heading .xl-eyebrow{margin:0 0 5px;color:#3976b7}
body.xl-learner-surface .xl-dashboard .xl-section-heading h3{margin:0}
.xl-text-link{font-weight:750;text-decoration:none;color:var(--xl-blue);white-space:nowrap}
.xl-text-link:hover{text-decoration:underline}
.xl-continue-card{
  display:grid;
  grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);
  min-height:300px;
  overflow:hidden;
  border:1px solid var(--xl-line);
  border-radius:var(--xl-radius-lg);
  background:#fff;
  box-shadow:var(--xl-shadow-md);
}
.xl-continue-card .xl-continue-card-image{height:100%;min-height:300px;border-radius:0}
.xl-continue-card .xl-continue-card-image img{width:100%;height:100%;object-fit:cover}
.xl-continue-card-body{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:34px 38px}
.xl-continue-card-body h4{margin:7px 0 10px;font-size:clamp(1.5rem,2.4vw,2.15rem);line-height:1.15;color:var(--xl-navy)}
.xl-course-meta{margin:0;color:#3f638d;font-size:.82rem;font-weight:700}
.xl-continue-overview{margin:0 0 18px;line-height:1.65}
.xl-progress-large{width:100%;height:9px!important;margin:8px 0 7px!important}
.xl-progress-row{width:100%;display:flex;justify-content:space-between;gap:12px;color:#63758b;font-size:.83rem}
.xl-progress-row strong{color:var(--xl-navy)}
.xl-last-activity{margin:9px 0 18px;color:#72849a;font-size:.8rem}
.xl-continue-empty{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;background:#f8fbff}
.xl-continue-empty p{margin:.35rem 0 0;color:#64748b}
.xl-my-courses-toolbar{
  display:grid;
  grid-template-columns:minmax(0,1.8fr) minmax(180px,.7fr) auto;
  align-items:end;
  gap:14px;
  margin:0 0 18px;
  padding:16px;
  border:1px solid var(--xl-line);
  border-radius:14px;
  background:#f8fbff;
}
.xl-my-courses-toolbar label{display:grid;gap:6px;font-weight:700;color:var(--xl-navy);font-size:.82rem}
.xl-my-courses-toolbar input,.xl-my-courses-toolbar select{
  width:100%;min-height:44px;padding:9px 12px;border:1px solid #cdd9e8;border-radius:10px;background:#fff;color:var(--xl-navy)
}
.xl-my-courses-count{margin:0 0 11px;color:#65788e;font-size:.82rem;white-space:nowrap}
.xl-my-courses-grid .xl-learning-course-card{min-height:100%}
.xl-course-card-topline{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.xl-status-badge{display:inline-flex;align-items:center;min-height:26px;padding:3px 8px;border-radius:999px;border:1px solid #d7e1ec;background:#f7f9fc;color:#53677f;font-size:.72rem;font-weight:750}
.xl-status-in_progress{background:#eef6ff;border-color:#cfe1fb;color:#0c4d93}
.xl-status-completed{background:#ecfdf3;border-color:#ccebd9;color:#17603a}
.xl-status-not_started{background:#f7f8fa;color:#53677f}
.xl-course-code{font-size:.72rem;font-weight:750;color:#60758e}
.xl-course-card-meta{min-height:2.5em;margin:.2rem 0 .65rem;font-size:.83rem;line-height:1.45}
.xl-my-courses-empty{margin-top:14px}
.xl-achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.xl-achievement-grid article{display:flex;flex-direction:column;gap:4px;padding:22px;border:1px solid var(--xl-line);border-radius:16px;background:#fff;box-shadow:var(--xl-shadow-sm)}
.xl-achievement-grid strong{font-size:2rem;line-height:1;color:var(--xl-blue)}
.xl-achievement-grid span{color:#5e7188;font-size:.88rem}
.xl-achievement-skills{margin-top:18px}
.xl-achievements-section .xl-actions{margin-top:18px}

.xl-access-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.xl-access-summary-card{display:flex;flex-direction:column;gap:8px;min-width:0;padding:20px;border:1px solid var(--xl-line);border-radius:16px;background:#fff;box-shadow:var(--xl-shadow-sm)}
.xl-access-summary-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}
.xl-access-summary-topline .xl-status-badge{white-space:normal;line-height:1.3}
.xl-access-summary-code{flex:0 0 auto;padding:3px 6px;border:1px solid #dbe4ee;border-radius:7px;background:#f8fafc;color:#50657e;font-size:.7rem;overflow-wrap:anywhere}
body.xl-learner-surface .xl-access-summary-card h4{margin:4px 0 0;color:var(--xl-navy);font-size:1.05rem;line-height:1.35}
.xl-access-summary-card p{margin:0;color:#5e7188;line-height:1.5}
.xl-access-summary-validity{margin-top:auto!important;padding-top:4px;font-size:.82rem;font-weight:700;color:#315f91!important}
.xl-learning-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.xl-learning-context-grid>div{padding:20px;border:1px solid var(--xl-line);border-radius:14px;background:#fff}
.xl-preferences-panel{margin:40px 0 72px;border:1px solid var(--xl-line);border-radius:14px;background:#fff;overflow:hidden}
.xl-preferences-panel summary{cursor:pointer;padding:17px 20px;font-weight:750;color:var(--xl-navy);background:#f8fbff}
.xl-preferences-panel-body{padding:20px}
.xl-preferences-panel .xl-form{margin:0;max-width:none;width:100%}

@media(max-width:900px){
  body.xl-learner-section-my-learning .xl-dashboard-header{grid-template-columns:1fr}
  .xl-access-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .xl-learning-summary{max-width:560px}
  .xl-continue-card{grid-template-columns:1fr}
  .xl-continue-card .xl-continue-card-image{min-height:220px;height:220px}
  .xl-my-courses-toolbar{grid-template-columns:1fr 1fr}
  .xl-my-courses-count{grid-column:1/-1;margin:0}
}
@media(max-width:640px){
  .xl-learning-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .xl-learning-summary>div{padding:12px}
  .xl-section-heading{align-items:flex-start;flex-direction:column;gap:8px}
  .xl-continue-card-body{padding:24px 20px}
  .xl-my-courses-toolbar{grid-template-columns:1fr;padding:13px}
  .xl-my-courses-count{grid-column:auto}
  .xl-achievement-grid,.xl-learning-context-grid,.xl-access-summary-grid{grid-template-columns:1fr}
  .xl-continue-empty{align-items:flex-start;flex-direction:column}
}

/* 0.15.4 — Academy, Course & Learning Path Experience */
.xl-learner-brand{gap:9px}
.xl-learner-brand img{max-width:215px;max-height:54px}
.xl-learner-brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--xl-blue);color:#fff;font-weight:900;font-size:1.15rem;letter-spacing:0}
.xl-learner-brand-text{color:var(--xl-navy);font-size:1.48rem;font-weight:850;letter-spacing:-.035em}
.xl-learner-nav-public{margin-inline-start:6px;min-height:42px!important;padding:9px 15px!important;border:1px solid #bfd7f4;background:#fff;color:var(--xl-blue-dark)!important;font-weight:800}
.xl-learner-nav-public:hover{border-color:#87b7ef;background:#f6faff;color:var(--xl-blue-dark)!important}

/* Academy detail now follows the same editorial/resource hierarchy as xtralesson.com. */
.xl-academy-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:46px;align-items:center;margin:20px 0 22px;padding:30px 0}
.xl-academy-hero-copy h2{margin:.35rem 0 .8rem;color:var(--xl-navy);font-size:clamp(2.5rem,4.4vw,4.2rem);line-height:1.02;letter-spacing:-.042em;text-wrap:balance}
.xl-academy-hero-copy .xl-eyebrow{margin:16px 0 0}
.xl-academy-hero-copy .xl-academy-description{max-width:760px;color:var(--xl-muted);font-size:1.05rem;line-height:1.7}
.xl-academy-hero-media{aspect-ratio:16/10;border-radius:24px;overflow:hidden;background:linear-gradient(135deg,var(--xl-navy),var(--xl-blue));box-shadow:var(--xl-shadow-lg)}
.xl-academy-hero-media img{display:block;width:100%;height:100%;object-fit:cover}
.xl-academy-hero-media-video{aspect-ratio:16/9;background:#000}
.xl-academy-hero-media-video video,.xl-academy-hero-media-video iframe{display:block;width:100%;height:100%;border:0;background:#000}
.xl-academy-hero-media-video video{object-fit:contain}
.xl-resource-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 42px;padding:14px 18px;border:1px solid var(--xl-line);border-radius:18px;background:#f8fbff}
.xl-resource-stats>div{padding:10px 18px;border-inline-end:1px solid var(--xl-line);min-width:0}
.xl-resource-stats>div:last-child{border-inline-end:0}
.xl-resource-stats span{display:block;margin-bottom:4px;color:var(--xl-muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.xl-resource-stats strong{display:block;color:var(--xl-navy);font-size:1.05rem;overflow-wrap:anywhere}
.xl-academy-learning{padding-top:8px}
.xl-academy-course-heading{margin-top:36px!important;margin-bottom:18px!important}

/* Youth has exactly seven top-level pillars. The SMB specialist academies are nested beneath P4. */
.xl-youth-pillar-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.xl-youth-pillar-card{display:flex;flex-direction:column;gap:5px;min-height:108px;padding:16px;border:1px solid var(--xl-line);border-radius:14px;background:#fff;color:var(--xl-navy);text-decoration:none;box-shadow:0 5px 18px rgba(8,41,87,.035)}
.xl-youth-pillar-card span{color:var(--xl-blue);font-size:.7rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.xl-youth-pillar-card strong{font-size:.93rem;line-height:1.35}
.xl-youth-pillar-card:hover{border-color:#9ec8f8;background:#f9fcff}
.xl-youth-pillar-card.is-active{border-color:var(--xl-navy);background:var(--xl-navy);color:#fff}
.xl-youth-pillar-card.is-active span{color:#9fd0ff}
.xl-youth-specialist-wrap{margin:12px 0 28px;padding:18px;border:1px solid #d6e5f6;border-radius:16px;background:#f7fbff}
.xl-youth-specialist-label{margin:0 0 10px;color:var(--xl-navy);font-size:.82rem;font-weight:800}
.xl-youth-specialist-nav{display:flex;flex-wrap:wrap;gap:8px}
.xl-youth-specialist-nav a{display:inline-flex;align-items:center;min-height:38px;padding:7px 11px;border:1px solid #c8daef;border-radius:999px;background:#fff;color:#244d7b;text-decoration:none;font-size:.82rem;font-weight:750}
.xl-youth-specialist-nav a.is-active{background:var(--xl-blue);border-color:var(--xl-blue);color:#fff}

/* Canonical xtraLesson context strip on Tutor's course-detail page. */
.xl-course-context{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0 2px;padding:14px 16px;border:1px solid var(--xl-line);border-radius:14px;background:#f8fbff}
.xl-course-context-primary,.xl-course-context-secondary{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.xl-course-context-primary>a,.xl-course-context-primary>span:not(.xl-course-code){color:#31577f;text-decoration:none;font-size:.84rem;font-weight:700}
.xl-course-context-primary>a:hover{text-decoration:underline}
.xl-course-context-primary>a:before,.xl-course-context-primary>span:not(.xl-course-code):before{content:'·';margin-inline-end:12px;color:#9aabc0}
.xl-course-context .xl-course-code{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e9f3ff;color:#0758b7;font-size:.73rem;font-weight:850}
.xl-course-context-progress{color:#65788e;font-size:.82rem;white-space:nowrap}
.xl-course-context-progress strong{color:var(--xl-navy)}

/* Learning Path detail is a journey, not just a list of courses. */
.xl-learning-path-detail-header{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;padding:28px;border:1px solid var(--xl-line);border-radius:22px;background:linear-gradient(180deg,#fbfdff,#f5f9fe);box-shadow:var(--xl-shadow);margin-bottom:28px}
.xl-learning-path-detail-header h2{color:var(--xl-navy);font-size:clamp(2.35rem,4vw,3.8rem);line-height:1.03;letter-spacing:-.04em;text-wrap:balance}
.xl-learning-path-detail-header .xl-learning-path-description{max-width:800px;font-size:1.03rem;line-height:1.65}
.xl-path-primary-action{margin-top:18px}
.xl-learning-path-sequence{counter-reset:xl-path-step;gap:14px}
.xl-learning-path-step{border:1px solid var(--xl-line);border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(8,41,87,.035)}
.xl-path-step-progress{max-width:420px;margin-top:10px}
.xl-path-step-progress small{display:block;margin-top:5px;color:var(--xl-muted);font-size:.78rem}

@media(max-width:980px){
  .xl-academy-hero{grid-template-columns:1fr;gap:24px}
  .xl-academy-hero-media{max-width:680px}
  .xl-resource-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .xl-resource-stats>div:nth-child(2){border-inline-end:0}
  .xl-resource-stats>div:nth-child(-n+2){border-bottom:1px solid var(--xl-line)}
  .xl-youth-pillar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .xl-course-context{align-items:flex-start;flex-direction:column}
}
@media(max-width:760px){
  .xl-learner-brand img{max-width:185px;max-height:46px}
  .xl-learner-nav-public{margin-inline-start:0;width:100%;justify-content:center!important;margin-top:3px}
}
@media(max-width:640px){
  .xl-academy-hero{margin-top:8px;padding:18px 0}
  .xl-academy-hero-copy h2{font-size:clamp(2.35rem,11vw,3.15rem)}
  .xl-academy-hero-media{border-radius:18px}
  .xl-resource-stats{grid-template-columns:1fr;padding:8px 12px}
  .xl-resource-stats>div,.xl-resource-stats>div:nth-child(2){border-inline-end:0;border-bottom:1px solid var(--xl-line);padding:10px 6px}
  .xl-resource-stats>div:last-child{border-bottom:0}
  .xl-youth-pillar-nav{grid-template-columns:1fr}
  .xl-youth-pillar-card{min-height:auto}
  .xl-youth-specialist-nav{flex-direction:column;align-items:stretch}
  .xl-youth-specialist-nav a{border-radius:10px}
  .xl-course-context{margin-top:16px;padding:12px}
  .xl-learning-path-detail-header{padding:20px 18px;border-radius:18px}
}
.xl-youth-pillar-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}.xl-youth-pillar-tools a{display:inline-flex;align-items:center;min-height:38px;padding:7px 12px;border:1px solid #c8daef;border-radius:999px;background:#fff;color:#244d7b;text-decoration:none;font-size:.82rem;font-weight:800}.xl-youth-pillar-tools a.is-active{background:var(--xl-navy);border-color:var(--xl-navy);color:#fff}.xl-youth-pillar-tools span{color:var(--xl-muted);font-size:.8rem;font-weight:750}

/* 0.15.5 — Learning Workspace & Assessment UX + academy selector + official brand asset. */

/* Official xtraLesson logo supplied with Core. The source artwork includes the tagline,
 * so the learner shell gives it slightly more horizontal room than a plain wordmark. */
.xl-learner-brand img{
  max-width:230px;
  max-height:53px;
  width:auto;
  height:auto;
}

/* Academy structure becomes a compact selector instead of a dense card wall. */
.xl-academy-structure-heading{margin-bottom:14px!important}
.xl-academy-structure-heading .xl-muted{margin:.35rem 0 0;max-width:640px}
.xl-academy-structure-selector{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:14px 18px;
  margin:0 0 24px;
  padding:18px;
  border:1px solid var(--xl-line);
  border-radius:16px;
  background:#f8fbff;
  box-shadow:0 5px 18px rgba(8,41,87,.035);
}
.xl-youth-structure-selector.has-specialist{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
}
.xl-academy-selector-field{
  display:grid;
  gap:7px;
  min-width:0;
  margin:0;
}
.xl-academy-selector-field>span{
  color:var(--xl-navy);
  font-size:.77rem;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.xl-academy-selector-field select{
  width:100%;
  min-height:46px;
  padding:9px 38px 9px 12px;
  border:1px solid #c9d7e8;
  border-radius:11px;
  background:#fff;
  color:var(--xl-navy);
  font:inherit;
  font-weight:650;
}
.xl-academy-selector-field select:focus{
  outline:3px solid rgba(8,119,255,.16);
  outline-offset:1px;
  border-color:#78aef0;
}
.xl-academy-selector-meta{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:46px;
}
.xl-academy-selector-meta>span{
  color:var(--xl-muted);
  font-size:.82rem;
  font-weight:750;
  white-space:nowrap;
}
.xl-academy-selector-meta .xl-button{min-height:46px;white-space:nowrap}
.xl-academy-selector-note{
  margin:-12px 0 28px;
  padding-inline:4px;
  color:var(--xl-muted);
  font-size:.84rem;
  line-height:1.55;
}

/* 0.15.5.1 hotfix: Tutor learning workspace presentation rules from 0.15.5 were
 * rolled back because they interfered with Tutor LMS 4 native viewport/scroll geometry
 * on narrower screens. Tutor fully owns the learning workspace layout again. */
@media(max-width:980px){
  .xl-youth-structure-selector.has-specialist{
    grid-template-columns:1fr 1fr;
  }
  .xl-youth-structure-selector.has-specialist .xl-academy-selector-meta{
    grid-column:1/-1;
  }
}
@media(max-width:760px){
  .xl-learner-brand img{max-width:180px;max-height:42px}
  .xl-academy-structure-selector,
  .xl-youth-structure-selector.has-specialist{
    grid-template-columns:1fr;
    gap:12px;
    padding:15px;
  }
  .xl-youth-structure-selector.has-specialist .xl-academy-selector-meta{
    grid-column:auto;
  }
  .xl-academy-selector-meta{
    justify-content:space-between;
    flex-wrap:wrap;
  }
  .xl-academy-selector-meta .xl-button{
    width:100%;
  }
  .xl-academy-selector-note{margin-top:-10px}
}

/* 0.15.6 — focused identity, authentication and onboarding surfaces. */
body.xl-learner-section-sign-in,
body.xl-learner-section-password-reset,
body.xl-learner-section-register,
body.xl-learner-section-onboarding{
  min-height:100vh;
  background:linear-gradient(180deg,#f7faff 0%,#eef4fb 100%);
}
body.xl-learner-section-sign-in .site-content,
body.xl-learner-section-password-reset .site-content,
body.xl-learner-section-register .site-content,
body.xl-learner-section-onboarding .site-content{
  min-height:calc(100vh - 32px);
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:56px 20px 80px;
}
.xl-auth-card{
  width:min(100%,520px);
  margin:0 auto;
  padding:34px;
  border:1px solid var(--xl-line);
  border-radius:24px;
  background:#fff;
  box-shadow:var(--xl-shadow-lg);
}
.xl-auth-card .xl-form{width:100%;margin:24px 0 0;max-width:none}
.xl-auth-heading h1{margin:7px 0 10px;color:var(--xl-navy);font-size:clamp(2rem,5vw,2.8rem);line-height:1.05;letter-spacing:-.035em}
.xl-auth-heading p{margin:0;color:var(--xl-muted);font-size:1rem}
.xl-auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 18px;margin-top:20px;padding-top:18px;border-top:1px solid var(--xl-line);color:var(--xl-muted);font-size:.93rem}
.xl-auth-links a{font-weight:750;color:var(--xl-blue-dark)}
body.xl-learner-surface .xl-button-block{display:flex;width:100%;justify-content:center}
.xl-tutor-auth-actions{display:grid;gap:10px}

@media (max-width:640px){
  body.xl-learner-section-sign-in .site-content,
  body.xl-learner-section-password-reset .site-content,
  body.xl-learner-section-register .site-content,
  body.xl-learner-section-onboarding .site-content{padding:28px 12px 52px}
  .xl-auth-card{padding:24px 18px;border-radius:18px}
  .xl-auth-links{display:grid}
}
.xl-auth-brand{display:block;margin:0 0 22px;text-align:left}
.xl-auth-brand img{display:block;width:auto;max-width:min(100%,260px);max-height:60px;object-fit:contain;object-position:left center}
.rtl .xl-auth-brand img{object-position:right center;margin-left:auto}

/* 0.15.6.2 — Learner Header Responsive Hotfix
 * The official logo + full learner navigation + Sign Out + public-site CTA can
 * exceed the available width on common laptop/desktop viewports. Switch to the
 * already-accessible hamburger navigation before links can collide. */
@media(max-width:1640px){
  .xl-learner-header-inner{
    width:min(var(--xl-shell),calc(100% - 32px));
    min-height:64px;
    padding:10px 0;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:10px 14px;
  }
  .xl-learner-brand{min-width:0}
  .xl-learner-brand img{max-width:205px;max-height:47px}
  .xl-learner-nav-toggle{display:inline-flex;justify-self:end}
  .xl-learner-nav{
    grid-column:1/-1;
    width:100%;
    display:none;
    overflow:visible;
    padding:8px 0 2px;
    border-top:1px solid var(--xl-line);
    flex-direction:column;
    align-items:stretch;
    gap:8px;
  }
  .xl-learner-header.is-open .xl-learner-nav{display:flex}
  .xl-learner-nav-primary,
  .xl-learner-nav-utility{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:3px;
  }
  .xl-learner-nav-utility{
    padding-top:8px;
    border-top:1px solid var(--xl-line);
  }
  .xl-learner-nav-link{
    width:100%;
    min-height:42px;
    justify-content:flex-start;
    padding:9px 11px;
    white-space:normal;
  }
  .xl-learner-nav-public{
    margin-inline-start:0;
    width:100%;
    justify-content:center!important;
    margin-top:3px;
  }
}
@media(max-width:760px){
  .xl-learner-header-inner{width:min(var(--xl-shell),calc(100% - 24px))}
  .xl-learner-brand img{max-width:185px;max-height:44px}
}

/* 0.15.6.4 — canonical public-site legal links used during account setup. */
.xl-legal-links{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--xl-line);font-size:.88rem;color:var(--xl-muted)}
.xl-legal-links span{font-weight:700;color:var(--xl-text)}
.xl-legal-links a{font-weight:700;color:var(--xl-blue-dark);text-underline-offset:2px}
@media (max-width:640px){.xl-legal-links{display:grid;grid-template-columns:1fr 1fr}.xl-legal-links span{grid-column:1/-1}}


/* 0.15.7 — Mobile, Arabic/RTL, accessibility and performance hardening. */
.xl-skip-link{
  position:fixed;
  inset-block-start:8px;
  inset-inline-start:8px;
  z-index:100000;
  transform:translateY(-180%);
  padding:10px 14px;
  border:2px solid currentColor;
  border-radius:10px;
  background:#fff;
  color:var(--xl-navy)!important;
  font-weight:800;
  text-decoration:none;
  box-shadow:var(--xl-shadow);
}
.xl-skip-link:focus{transform:translateY(0)}

body.xl-learner-surface img,
body.xl-learner-surface video,
body.xl-learner-surface canvas,
body.xl-learner-surface svg{max-width:100%;height:auto}
body.xl-learner-surface iframe{max-width:100%}
body.xl-learner-surface audio{max-width:100%}
body.xl-learner-surface h1,
body.xl-learner-surface h2,
body.xl-learner-surface h3,
body.xl-learner-surface h4,
body.xl-learner-surface p,
body.xl-learner-surface a,
body.xl-learner-surface code{overflow-wrap:anywhere}

body.xl-learner-surface .xl-button,
body.xl-learner-surface .xl-learner-nav-toggle,
body.xl-learner-surface .xl-learner-nav-link,
body.xl-learner-surface input,
body.xl-learner-surface select,
body.xl-learner-surface textarea{min-block-size:44px}

body.rtl.xl-learner-surface{font-family:Tahoma,"Segoe UI",Arial,sans-serif}
body.rtl.xl-learner-surface .xl-eyebrow{letter-spacing:0;text-transform:none}
body.rtl.xl-learner-surface .xl-back-arrow{display:inline-block;transform:rotate(180deg)}
body.rtl.xl-learner-surface .xl-learning-path-step,
body.rtl.xl-learner-surface .xl-course-card-body,
body.rtl.xl-learner-surface .xl-media-card-body,
body.rtl.xl-learner-surface .xl-academy-detail,
body.rtl.xl-learner-surface .xl-learning-path-detail{text-align:start}
body.rtl.xl-learner-surface input[type="email"],
body.rtl.xl-learner-surface input[type="url"],
body.rtl.xl-learner-surface code,
body.rtl.xl-learner-surface .xl-path-meta-item{unicode-bidi:isolate}

@media(max-width:480px){
  body.xl-learner-surface .xl-dashboard,
  body.xl-learner-surface .xl-academy-catalogue,
  body.xl-learner-surface .xl-academy-detail,
  body.xl-learner-surface .xl-explore-learning,
  body.xl-learner-surface .xl-learning-paths-header,
  body.xl-learner-surface .xl-learning-path-detail,
  body.xl-learner-surface .xl-course-archive-discovery{
    width:min(100% - 20px,var(--xl-content));
  }
  body.xl-learner-surface .xl-form{width:min(100% - 20px,680px)}
  .xl-learner-header-inner{width:min(100% - 20px,var(--xl-shell))}
  .xl-learning-path-detail-header{padding:20px}
  .xl-learning-path-step{padding:12px}
  .xl-card-image,.xl-learning-path-hero-image,.xl-academy-hero-media{border-radius:16px}
}

@media(prefers-contrast:more){
  body.xl-learner-surface{--xl-line:#8393a8;--xl-muted:#40536b}
  body.xl-learner-surface .xl-button-secondary{border-color:currentColor}
  body.xl-learner-surface a:focus-visible,
  body.xl-learner-surface button:focus-visible,
  body.xl-learner-surface input:focus-visible,
  body.xl-learner-surface select:focus-visible,
  body.xl-learner-surface textarea:focus-visible{outline-width:4px;outline-color:currentColor}
}

@media(forced-colors:active){
  body.xl-learner-surface .xl-card,
  body.xl-learner-surface .xl-learning-item,
  body.xl-learner-surface .xl-path-progress-panel,
  body.xl-learner-surface .xl-notice{box-shadow:none;border:1px solid CanvasText}
  body.xl-learner-surface .xl-button{forced-color-adjust:auto}
}


/* 0.15.8.2 — Learning Path course-card mobile regression fix.
 * Keep the accepted desktop component untouched; at phone widths use a
 * deterministic two-column card so legacy/general card rules cannot squeeze
 * the course body or drop the thumbnail/action out of sequence. */
@media(max-width:640px){
  body.xl-learner-surface .xl-learning-path-step{
    display:grid!important;
    grid-template-columns:84px minmax(0,1fr)!important;
    grid-template-areas:
      "top top"
      "image body"
      "action action"!important;
    column-gap:12px!important;
    row-gap:10px!important;
    align-items:start!important;
    width:100%;
    min-width:0;
    padding:12px!important;
    box-sizing:border-box;
  }
  body.xl-learner-surface .xl-learning-path-step .xl-path-step-topline{
    grid-area:top!important;
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
    width:100%;
    min-width:0;
    margin:0!important;
  }
  body.xl-learner-surface .xl-learning-path-step .xl-path-step-number{
    width:34px!important;
    height:34px!important;
    margin:0!important;
    flex:none!important;
    font-size:.95rem;
  }
  body.xl-learner-surface .xl-learning-path-step .xl-path-step-topline .xl-eyebrow{
    min-width:0;
    margin:0!important;
    font-size:.76rem;
    line-height:1.3;
    letter-spacing:.07em;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  body.xl-learner-surface .xl-learning-path-step .xl-path-step-image{
    grid-area:image!important;
    grid-column:1!important;
    grid-row:2!important;
    display:block!important;
    width:84px!important;
    min-width:84px!important;
    max-width:84px!important;
    aspect-ratio:4/3!important;
    align-self:start!important;
    margin:0!important;
    border-radius:10px;
    overflow:hidden;
  }
  body.xl-learner-surface .xl-learning-path-step .xl-path-step-image img{
    display:block;
    width:100%!important;
    height:100%!important;
    object-fit:cover;
  }
  body.xl-learner-surface .xl-learning-path-step .xl-path-step-body{
    grid-area:body!important;
    grid-column:2!important;
    grid-row:2!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    align-self:start!important;
  }
  body.xl-learner-surface .xl-learning-path-step .xl-path-step-body h4{
    width:100%;
    min-width:0;
    max-width:100%;
    margin:0 0 5px!important;
    font-size:1.02rem;
    line-height:1.28;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    hyphens:none;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  body.xl-learner-surface .xl-learning-path-step .xl-path-step-body>.xl-muted{
    margin:0!important;
    font-size:.86rem;
    line-height:1.35;
  }
  body.xl-learner-surface .xl-learning-path-step .xl-path-step-progress{
    width:100%!important;
    max-width:none!important;
    margin:8px 0 0!important;
  }
  body.xl-learner-surface .xl-learning-path-step .xl-path-step-action{
    grid-area:action!important;
    grid-column:1/-1!important;
    grid-row:3!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }
  body.xl-learner-surface .xl-learning-path-step .xl-path-step-action .xl-button{
    width:auto!important;
    max-width:100%;
    min-width:132px;
    min-height:44px;
    margin:0!important;
    padding:.6rem .8rem;
    white-space:nowrap;
  }
  body.xl-learner-surface .xl-learning-path-step .xl-path-step-action .xl-access-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    max-width:100%;
    min-height:32px;
    margin:0!important;
    text-align:center;
    white-space:normal;
  }
}

/* 0.16.1 / 0.16.1.1 — Learner Profile & Account Settings */
body.xl-learner-section-my-learning .xl-account-identity{
  position:relative;
  z-index:1;
  margin:14px 0 0;
  color:#d9e9fb;
  font-size:.9rem;
}
body.xl-learner-section-my-learning .xl-account-identity a{color:#fff;font-weight:800}
.xl-account-settings-section{
  scroll-margin-top:24px;
  margin-top:52px;
  padding-top:28px;
  border-top:1px solid var(--xl-line);
}
.xl-account-section-intro{margin:7px 0 0;max-width:720px}
.xl-account-settings-list{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  max-width:920px;
}
.xl-account-card{
  min-width:0;
  padding:0;
  border:1px solid var(--xl-line);
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 24px rgba(17,47,83,.06);
  overflow:hidden;
}
.xl-account-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px;
  cursor:pointer;
  list-style:none;
  user-select:none;
}
.xl-account-summary::-webkit-details-marker{display:none}
.xl-account-summary::marker{display:none;content:""}
.xl-account-summary>span:first-child{display:grid;gap:3px;min-width:0}
.xl-account-summary strong{color:var(--xl-navy);font-size:1rem}
.xl-account-summary small{color:var(--xl-muted);font-size:.84rem;line-height:1.4;font-weight:500}
.xl-account-summary:hover{background:#f8fbff}
.xl-account-summary:focus-visible{outline:3px solid rgba(20,108,230,.24);outline-offset:-3px}
.xl-account-chevron{
  flex:0 0 auto;
  width:10px;
  height:10px;
  margin-right:4px;
  border-right:2px solid var(--xl-blue-dark);
  border-bottom:2px solid var(--xl-blue-dark);
  transform:rotate(45deg);
  transition:transform .18s ease;
}
.xl-account-disclosure[open] .xl-account-summary{background:#f8fbff}
.xl-account-disclosure[open] .xl-account-chevron{transform:rotate(225deg)}
.xl-account-disclosure-body{
  padding:20px 18px 18px;
  border-top:1px solid #edf1f6;
}
body.xl-learner-surface .xl-account-card .xl-form{width:100%;max-width:none;margin:0}
body.xl-learner-surface .xl-account-card .xl-form label{display:grid;gap:6px;margin:0 0 13px;color:var(--xl-navy);font-size:.82rem;font-weight:750}
body.xl-learner-surface .xl-account-card .xl-form label small{color:var(--xl-muted);font-weight:500}
body.xl-learner-surface .xl-account-card input[readonly]{background:#f7f9fc;color:#52677f}
.xl-form-help{margin:4px 0 14px;color:var(--xl-muted);font-size:.8rem;line-height:1.5}
.xl-form-message{min-height:1.35em;margin:10px 0;font-size:.82rem;font-weight:700}
.xl-form-message.is-success{color:#17603a}
.xl-form-message.is-error{color:#9f1239}
.xl-account-reset{margin-top:20px;padding-top:16px;border-top:1px solid var(--xl-line)}
.xl-account-reset p{margin:0 0 4px;color:var(--xl-muted);font-size:.82rem}
.xl-text-button{padding:0;border:0;background:transparent;color:var(--xl-blue-dark);font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.xl-text-button:disabled{opacity:.6;cursor:wait}
.xl-account-membership-group+.xl-account-membership-group{margin-top:18px}
.xl-account-membership-group>strong{display:block;margin-bottom:7px;color:var(--xl-navy)}
.xl-account-membership-group .xl-simple-list{list-style:none;margin:0;padding:0}
.xl-account-membership-group .xl-simple-list li{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #edf1f6}
.xl-account-membership-group .xl-simple-list li:last-child{border-bottom:0}
.xl-account-membership-group .xl-simple-list small{color:var(--xl-muted);white-space:nowrap}
.xl-account-preferences-card .xl-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}

@media(max-width:640px){
  .xl-account-settings-section{margin-top:38px;padding-top:22px}
  .xl-account-summary{padding:15px 16px}
  .xl-account-disclosure-body{padding:18px 16px 16px}
  .xl-account-preferences-card .xl-grid-2,.xl-account-profile-form .xl-grid-2{grid-template-columns:1fr}
  .xl-account-membership-group .xl-simple-list li{flex-direction:column;gap:2px}
}

/* 0.16.1.2 — learner profile photo personalisation */
body.xl-learner-section-my-learning .xl-dashboard-welcome{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:22px;
  min-width:0;
}
body.xl-learner-section-my-learning .xl-dashboard-welcome-copy{min-width:0}
.xl-profile-avatar{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  overflow:hidden;
  border-radius:50%;
  font-weight:850;
  line-height:1;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.xl-profile-avatar img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.xl-profile-avatar-hero{
  width:72px;
  height:72px;
  border:2px solid rgba(255,255,255,.58);
  background:rgba(255,255,255,.14);
  color:#fff;
  box-shadow:0 10px 28px rgba(0,0,0,.16);
  font-size:1.18rem;
}
.xl-profile-photo-editor{
  display:flex;
  align-items:center;
  gap:18px;
  margin:0 0 22px;
  padding:16px;
  border:1px solid var(--xl-line);
  border-radius:14px;
  background:#f8fbff;
}
.xl-profile-avatar-editor{
  width:76px;
  height:76px;
  border:1px solid #cfe1fb;
  background:#eaf3ff;
  color:var(--xl-navy);
  font-size:1.2rem;
}
.xl-profile-photo-controls{min-width:0;flex:1 1 auto}
.xl-profile-photo-controls>strong{display:block;margin:0 0 2px;color:var(--xl-navy)}
.xl-profile-photo-controls .xl-form-help{margin:0 0 10px}
.xl-profile-photo-form{margin:0!important;max-width:none!important;width:100%!important;padding:0!important;background:transparent!important;box-shadow:none!important;border:0!important}
.xl-profile-photo-form input[type="file"]{
  display:block;
  width:100%;
  max-width:420px;
  margin:0 0 10px;
  color:var(--xl-text);
  font-size:.85rem;
}
.xl-profile-photo-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.xl-profile-photo-actions .xl-button{width:auto!important;margin:0!important}
.xl-profile-photo-actions .xl-text-button{min-height:40px}
.xl-profile-photo-form .xl-form-message{margin-bottom:0}

@media(max-width:640px){
  body.xl-learner-section-my-learning .xl-dashboard-welcome{align-items:flex-start;gap:14px}
  .xl-profile-avatar-hero{width:56px;height:56px;font-size:.96rem}
  .xl-profile-photo-editor{align-items:flex-start;gap:14px;padding:14px}
  .xl-profile-avatar-editor{width:64px;height:64px;font-size:1rem}
  .xl-profile-photo-actions{align-items:stretch;flex-direction:column}
  .xl-profile-photo-actions .xl-button,.xl-profile-photo-actions .xl-text-button{width:100%!important;text-align:center}
}


/* 0.17.0.1 — learner certificate visibility */
body.xl-learner-section-my-learning .xl-certificates-section{scroll-margin-top:96px}
body.xl-learner-section-my-learning .xl-certificate-card .xl-actions{align-items:center;flex-wrap:wrap}
@media (min-width:1180px){
  body.xl-learner-section-my-learning .xl-learning-summary{grid-template-columns:repeat(5,minmax(0,1fr));max-width:none}
  body.xl-learner-section-my-learning .xl-dashboard-header{grid-template-columns:minmax(0,1.15fr) minmax(500px,1fr)}
}


/* 0.17.0.2 — My Learning refinement + Tutor video play-control regression */
body.xl-learner-section-my-learning .xl-dashboard-utility-links{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin:5px 0 0;
  color:#b9d8f7;
  font-size:.88rem;
}
body.xl-learner-section-my-learning .xl-dashboard-utility-links a{color:#fff;font-weight:800;text-decoration-thickness:1px}
body.xl-learner-section-my-learning .xl-learning-summary>.xl-learning-summary-item{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:14px 15px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  background:rgba(255,255,255,.09);
  backdrop-filter:blur(4px);
  min-width:0;
}
body.xl-learner-section-my-learning .xl-learning-summary>a.xl-learning-summary-item{
  color:#fff;
  text-decoration:none;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
body.xl-learner-section-my-learning .xl-learning-summary>a.xl-learning-summary-item:hover{
  background:rgba(255,255,255,.15);
  border-color:rgba(255,255,255,.30);
  transform:translateY(-1px);
}
body.xl-learner-section-my-learning .xl-learning-summary>a.xl-learning-summary-item:focus-visible{outline-color:#fff}
body.xl-learner-section-my-learning .xl-certificates-page{padding-top:18px}
body.xl-learner-section-my-learning .xl-certificates-page>.xl-section-heading{margin-top:24px}

@media (min-width:901px){
  body.xl-learner-section-my-learning .xl-learning-summary span{
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
    font-size:.76rem;
  }
}
@media (min-width:1180px){
  body.xl-learner-section-my-learning .xl-dashboard-header{grid-template-columns:minmax(0,1fr) minmax(570px,.96fr)}
  body.xl-learner-section-my-learning .xl-learning-summary{grid-template-columns:repeat(5,minmax(0,1fr));max-width:none;gap:9px}
}
@media (max-width:640px){
  body.xl-learner-section-my-learning .xl-learning-summary>.xl-learning-summary-item{padding:12px}
  body.xl-learner-section-my-learning .xl-dashboard-utility-links{font-size:.84rem}
}



/* 0.17.0.4 — six-metric My Learning summary + Tutor video overlay cleanup */
@media (min-width:901px){
  body.xl-learner-section-my-learning .xl-dashboard-header{
    grid-template-columns:minmax(0,1fr) minmax(500px,.9fr);
    align-items:center;
  }
  body.xl-learner-section-my-learning .xl-learning-summary{
    grid-template-columns:repeat(3,minmax(0,1fr));
    max-width:620px;
    gap:10px;
  }
}
@media (min-width:1180px){
  body.xl-learner-section-my-learning .xl-dashboard-header{
    grid-template-columns:minmax(0,1.08fr) minmax(560px,.92fr);
  }
  body.xl-learner-section-my-learning .xl-learning-summary{
    grid-template-columns:repeat(3,minmax(0,1fr));
    max-width:620px;
    gap:10px;
  }
}
@media (max-width:640px){
  body.xl-learner-section-my-learning .xl-learning-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Tutor/Plyr already exposes a normal play control in the bottom control bar.
   Suppress the centre overlay button on xtraLesson learner surfaces so it cannot
   occupy the visual centre, retain focus styling after interaction, or create a
   large active blue control on narrow/mobile layouts. Playback remains native. */
body.xl-learner-tutor .plyr__control--overlaid{
  display:none!important;
}


/* 0.27.3 — Learning Path grid discipline + unified xtraLesson footer */
body.xl-learner-surface .xl-learning-path-catalogue{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px;
}

/* Core owns learner-shell presentation. Suppress Astra/Elementor theme footers
   on learner surfaces so the public and learner experiences do not compete. */
body.xl-learner-surface #colophon,
body.xl-learner-surface footer.site-footer,
body.xl-learner-surface .site-footer:not(.xl-learner-footer),
body.xl-learner-surface .ast-footer-overlay,
body.xl-learner-surface .site-primary-footer-wrap,
body.xl-learner-surface .site-above-footer-wrap,
body.xl-learner-surface .site-below-footer-wrap,
body.xl-learner-surface .elementor-location-footer{
  display:none!important;
}
.xl-learner-footer{
  display:block!important;
  width:100%;
  margin:56px 0 0;
  background:var(--xl-navy-deep);
  color:#dce8f6;
  font-family:Inter,Arial,Helvetica,sans-serif;
}
.xl-learner-footer *{box-sizing:border-box}
.xl-learner-footer-grid{
  width:min(var(--xl-content),calc(100% - 40px));
  margin-inline:auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:34px;
  padding:52px 0 44px;
}
.xl-learner-footer-column h2{
  margin:0 0 14px;
  color:#fff;
  font-size:1rem;
  line-height:1.25;
  font-weight:800;
  letter-spacing:0;
}
.xl-learner-footer-column ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.xl-learner-footer-column li{margin:0;padding:0}
.xl-learner-footer-column a{
  color:#dce8f6!important;
  text-decoration:none;
  font-size:.96rem!important;
  line-height:1.45!important;
  font-weight:500;
  letter-spacing:normal!important;
  text-transform:none!important;
}
.xl-learner-footer-column a:hover,.xl-learner-footer-column a:focus-visible{color:#fff!important;text-decoration:underline}
.xl-learner-footer-bottom{
  width:min(var(--xl-content),calc(100% - 40px));
  margin-inline:auto;
  padding:20px 0 26px;
  border-top:1px solid rgba(255,255,255,.13);
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#aac0da;
  font-size:.88rem;
  line-height:1.45;
}
@media(max-width:980px){
  body.xl-learner-surface .xl-learning-path-catalogue{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .xl-learner-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  body.xl-learner-surface .xl-learning-path-catalogue{grid-template-columns:1fr!important}
  .xl-learner-footer{margin-top:42px}
  .xl-learner-footer-grid{width:min(100% - 24px,var(--xl-content));grid-template-columns:1fr 1fr;gap:28px 20px;padding:40px 0 34px}
  .xl-learner-footer-bottom{width:min(100% - 24px,var(--xl-content));flex-direction:column;padding-bottom:24px}
}


/* 0.27.4 — Discovery UX & learner 404 hardening. */
body.xl-learner-surface .xl-explore-form{
  width:100%;
  max-width:none;
  margin:0 0 26px;
  padding:18px;
}
body.xl-learner-surface .xl-explore-filter-grid{
  display:grid;
  grid-template-columns:minmax(220px,1.65fr) repeat(5,minmax(130px,1fr));
  gap:12px;
  align-items:end;
}
body.xl-learner-surface .xl-explore-filter-grid label,
body.xl-learner-surface .xl-path-category-select label{
  display:grid;
  gap:6px;
  margin:0;
  color:var(--xl-navy);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.035em;
}
body.xl-learner-surface .xl-explore-filter-grid input,
body.xl-learner-surface .xl-explore-filter-grid select,
body.xl-learner-surface .xl-path-category-select select{
  width:100%;
  min-width:0;
}
body.xl-learner-surface .xl-explore-actions{margin-top:12px}
body.xl-learner-surface .xl-path-category-select{
  display:flex;
  align-items:end;
  gap:10px;
  max-width:460px;
  margin:0 0 24px;
}
body.xl-learner-surface .xl-path-category-select label{flex:1}
body.xl-learner-surface .xl-path-category-select select{
  min-height:44px;
  border:1px solid #c9d7e8;
  border-radius:var(--xl-radius-sm);
  background:#fff;
  color:var(--xl-text);
  padding:10px 12px;
  font:inherit;
}
body.xl-learner-surface .xl-skills-section{margin:26px 0}
body.xl-learner-surface .xl-skills-disclosure{
  border:1px solid var(--xl-line);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--xl-shadow);
  overflow:hidden;
}
body.xl-learner-surface .xl-skills-disclosure summary{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 52px 18px 20px;
  cursor:pointer;
  list-style:none;
  color:var(--xl-navy);
  font-size:1.05rem;
  font-weight:800;
}
body.xl-learner-surface .xl-skills-disclosure summary::-webkit-details-marker{display:none}
body.xl-learner-surface .xl-skills-disclosure summary::after{
  content:'⌄';
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-54%);
  color:var(--xl-blue);
  font-size:1.45rem;
  line-height:1;
}
body.xl-learner-surface .xl-skills-disclosure[open] summary::after{content:'⌃'}
body.xl-learner-surface .xl-skills-disclosure summary small{color:var(--xl-muted);font-size:.8rem;font-weight:650}
body.xl-learner-surface .xl-skills-disclosure .xl-skill-result-grid{padding:0 18px 18px}
body.xl-learner-surface a.xl-skill-result{text-decoration:none;color:var(--xl-navy);transition:border-color .15s ease,transform .15s ease}
body.xl-learner-surface a.xl-skill-result:hover{border-color:#8abcf6;transform:translateY(-1px)}
body.xl-learner-surface .xl-learner-not-found{
  width:min(820px,calc(100% - 40px));
  margin:0 auto;
  padding:90px 0 110px;
  text-align:center;
}
body.xl-learner-surface .xl-learner-not-found h1{
  margin:8px 0 18px;
  color:var(--xl-navy);
  font-size:clamp(2.4rem,6vw,4.8rem);
  line-height:1.02;
  letter-spacing:-.045em;
}
body.xl-learner-surface .xl-learner-not-found>p:not(.xl-eyebrow){max-width:640px;margin:0 auto;color:var(--xl-muted);font-size:1.05rem;line-height:1.7}
body.xl-learner-surface .xl-learner-not-found .xl-actions{justify-content:center;margin-top:30px}
@media(max-width:1120px){
  body.xl-learner-surface .xl-explore-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.xl-learner-surface .xl-explore-search{grid-column:span 2}
}
@media(max-width:720px){
  body.xl-learner-surface .xl-explore-filter-grid{grid-template-columns:1fr}
  body.xl-learner-surface .xl-explore-search{grid-column:auto}
  body.xl-learner-surface .xl-path-category-select{max-width:none;align-items:stretch;flex-direction:column}
  body.xl-learner-surface .xl-skills-disclosure summary{align-items:flex-start;flex-direction:column;gap:4px}
  body.xl-learner-surface .xl-learner-not-found{padding:64px 0 80px}
}
