/* ==========================================================================
   Package L — The Institute's public catalogue: /courses, /courses/{slug},
   /courses/programmes/{slug}, and the course/programme cards on /institute.
   Horizon tokens only; no gold. Shared page parts come from 08-pages.css
   (.pg-ico .pg-stretch .pg-with-aside .pg-panel .pg-facts .pg-head).
   ========================================================================== */

/* ---- Hero breadcrumb links inside an eyebrow (older markup) ------------- */
.pagehero .eyebrow a{color:inherit;text-decoration:none}
.pagehero .eyebrow a:hover{color:#fff}

/* ---- Grids --------------------------------------------------------------- */
.acad-grid{margin-top:0}
.acad-grid + .acad-grid{margin-top:clamp(18px,2.4vw,28px)}
.acad-stage-lead{margin-top:10px}

/* ---- Course card --------------------------------------------------------- */
.acad-card{position:relative;display:flex;flex-direction:column;border-radius:var(--kgf-radius-lg);transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease}
.acad-card .card-body{display:flex;flex-direction:column;gap:12px;height:100%}
.acad-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.acad-card-top .pill{margin:0}
.acad-card h3{margin:0;font-size:1.3rem;line-height:1.25}
.acad-card p{margin:0}
.acad-facts{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--kgf-slate-500);font-size:.86rem;font-weight:600}
.acad-facts li{display:inline-flex;align-items:center;gap:7px}
.acad-facts svg{flex:none;width:16px;height:16px;color:var(--kgf-blue-500)}
.acad-foot{margin-top:auto;padding-top:16px;border-top:1px solid var(--kgf-line)}

/* ---- Programme card (wide, icon-led) ------------------------------------- */
.acad-program .card-body{flex-direction:row;align-items:flex-start;gap:20px}
.acad-program .acad-program-body{display:flex;flex-direction:column;gap:12px;flex:1;min-width:0;align-self:stretch}
.acad-program .pill{align-self:flex-start;margin:0}
.acad-program::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--kgf-horizon);border-radius:var(--kgf-radius-lg) var(--kgf-radius-lg) 0 0}
@media (max-width:560px){.acad-program .card-body{flex-direction:column;gap:14px}}

/* ---- Enrol band actions -------------------------------------------------- */
.acad-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch;max-width:420px}
.acad-actions .btn{justify-content:center;text-align:center}

/* ---- Detail pages (course / programme) ----------------------------------- */
.acad-main > h2{margin:12px 0 16px}
.acad-main > h2:first-child{margin-top:0}
.acad-main > * + .eyebrow{margin-top:clamp(44px,5vw,60px)}
.acad-main > .eyebrow + .acad-section-head{margin-top:12px}
.acad-main .pg-prose{max-width:none}
.acad-section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 20px;margin-bottom:18px}
.acad-section-head h2{margin:0}
.acad-section-head span{color:var(--kgf-slate-500);font-size:.92rem;font-weight:600}
.acad-empty-line{padding:22px 24px;border:1px dashed var(--kgf-slate-300);border-radius:var(--kgf-radius-lg);background:var(--kgf-mist);color:var(--kgf-slate-500)}

/* Syllabus (lessons) */
.acad-lessons{margin:0;padding:0;list-style:none;counter-reset:l;border:1px solid var(--kgf-line);border-radius:var(--kgf-radius-lg);background:#fff;box-shadow:var(--kgf-shadow-sm);overflow:hidden}
.acad-lessons li{counter-increment:l;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:6px 16px;padding:16px 22px;border-bottom:1px solid var(--kgf-line)}
.acad-lessons li:last-child{border-bottom:0}
.acad-lessons li::before{content:counter(l,decimal-leading-zero);font-family:var(--kgf-font-display);font-size:1.25rem;font-weight:500;color:var(--kgf-blue-600);line-height:1}
.acad-lesson-title{font-weight:700;color:var(--kgf-navy-900);line-height:1.4}
.acad-lesson-meta{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;color:var(--kgf-slate-500);font-size:.84rem;font-weight:600}
.acad-lesson-kind{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--kgf-radius-pill);background:var(--kgf-blue-50);color:var(--kgf-blue-700);font-size:.76rem;font-weight:700}
.acad-lesson-kind svg{width:14px;height:14px}
@media (max-width:600px){
  .acad-lessons li{grid-template-columns:34px minmax(0,1fr);padding:14px 16px}
  .acad-lesson-meta{grid-column:2;justify-content:flex-start}
}

/* Requirements checklist */
.acad-checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.acad-checks li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start;color:var(--kgf-slate-700);line-height:1.55}
.acad-checks li > span:first-child{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--kgf-success-bg);color:var(--kgf-success);border:1px solid var(--kgf-success-line)}
.acad-checks svg{width:15px;height:15px}

/* Programme: ordered course sequence */
.acad-sequence{list-style:none;margin:0;padding:0;counter-reset:c;display:grid;gap:14px}
.acad-sequence > li{counter-increment:c;position:relative}
.acad-sequence .card-body{display:grid;grid-template-columns:52px minmax(0,1fr);gap:4px 18px;align-items:start}
.acad-sequence .card-body::before{content:counter(c);grid-column:1;grid-row:1 / span 5;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#fff;border:2px solid var(--kgf-blue-600);color:var(--kgf-blue-700);font-weight:800}
.acad-sequence h3{margin:0;font-size:1.2rem}
.acad-sequence p{margin:0}
.acad-sequence .card-body > *{grid-column:2}
.acad-sequence .pg-kicker{margin:0}
.acad-sequence .acad-facts{margin-top:8px;align-items:center}
.acad-seq-more{margin-left:auto}
@media (max-width:560px){.acad-sequence .card-body{grid-template-columns:40px minmax(0,1fr);gap:4px 14px}.acad-sequence .card-body::before{width:38px;height:38px}.acad-seq-more{margin-left:0}}

/* Aside panels */
.acad-aside .pg-panel .eyebrow{margin-bottom:12px}
.acad-aside .pg-facts{margin-bottom:22px}
.acad-aside .pg-facts a{color:var(--kgf-blue-600)}
.acad-part{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.acad-part a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:10px 14px;border:1px solid var(--kgf-line);border-radius:var(--kgf-radius);color:var(--kgf-navy-900)!important;font-weight:700;text-decoration:none!important;transition:border-color .15s ease,background .15s ease}
.acad-part a:hover{border-color:var(--kgf-blue-300);background:var(--kgf-blue-50)}
.acad-part svg{flex:none;color:var(--kgf-blue-600)}
.acad-note{margin:14px 0 0;color:var(--kgf-slate-500);font-size:.88rem;line-height:1.55}
.acad-note a{color:var(--kgf-blue-600)}

@media (max-width:600px){
  .acad-actions{max-width:none}
}
