/* Live catalogue presentation. Course data and accordion behavior are unchanged. */
:root,[data-theme="light"]{--course-ink:var(--ink);--course-muted:var(--muted);--course-line:var(--line);--course-soft:#f1f4f9;--course-brand:var(--brand);--course-green:#16734f}
[data-theme="dark"]{--course-ink:var(--ink);--course-muted:var(--muted);--course-line:var(--line);--course-soft:#0e182a;--course-brand:var(--brand);--course-green:#20764f}
.course-page-hero{position:relative;overflow:hidden;padding:72px 0 68px;background:radial-gradient(ellipse at 92% 12%,#e7edfa 0,transparent 48%),radial-gradient(ellipse at 0 92%,#fff0f4 0,transparent 45%),linear-gradient(120deg,#fff,#f4f7fc);border-bottom:1px solid var(--line)}
.course-page-hero:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;background-image:radial-gradient(#8f9eb540 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(90deg,transparent 55%,#000);-webkit-mask-image:linear-gradient(90deg,transparent 55%,#000)}
.course-page-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:65px;align-items:center}
.course-kicker,.course-section-heading>div>span,.course-help-band span{font-size:11px;letter-spacing:1.25px;font-weight:750;color:var(--course-brand);line-height:1.6}
.course-page-hero h1{font-size:clamp(38px,5vw,64px);font-weight:800;line-height:1.16;letter-spacing:-2.4px;margin:18px 0 24px;color:var(--course-ink)}
.course-page-hero h1 span{font-family:inherit;font-weight:800;font-style:normal;color:var(--course-brand)}
.course-page-hero p{max-width:650px;font-size:16px;line-height:1.85;color:var(--body)}
.course-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.course-hero-panel{position:relative;overflow:hidden;padding:34px;border:1px solid var(--line);border-top:4px solid var(--brand-fill);border-radius:22px;background:var(--card);box-shadow:var(--shadow-lg)}
.course-hero-panel:after{content:"";position:absolute;right:-65px;top:-55px;width:185px;height:185px;border:28px solid var(--brand-light);border-radius:50%;pointer-events:none;opacity:.7}
.course-hero-panel>span{position:relative;z-index:1;font-size:11px;letter-spacing:1.15px;color:var(--muted);font-weight:750}
.course-hero-panel>strong{position:relative;z-index:1;display:block;font-size:80px;font-weight:800;letter-spacing:-4px;line-height:1;color:var(--course-brand);margin:22px 0 18px;font-variant-numeric:tabular-nums}
.course-hero-panel>p{position:relative;z-index:1;font-size:14px;line-height:1.8}
.course-hero-pulse{position:relative;z-index:1;display:flex;align-items:center;gap:9px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:var(--body);line-height:1.6}
.course-hero-pulse i,.course-live-status i{display:inline-block;width:8px;height:8px;flex:none;border-radius:50%;background:#258455;box-shadow:0 0 0 4px #25845515;animation:none}
.course-catalogue-section{background:var(--bg);scroll-margin-top:calc(var(--header-h) + 20px)}
.course-section-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:28px}
.course-section-heading h2{font-size:clamp(28px,3vw,38px);font-weight:750;letter-spacing:-.025em;margin:9px 0 8px;color:var(--course-ink)}
.course-section-heading p{margin:0;color:var(--body);font-size:14px;line-height:1.8;max-width:620px}
.course-live-status{display:flex;align-items:center;gap:9px;padding:11px 14px;border:1px solid #cfe4d8;background:#f0faf4;border-radius:100px;font-size:11px;color:#21613f;white-space:nowrap;line-height:1.6}
.course-live-status.error{background:#fff0f3;border-color:#edc2ca;color:#92243e}
.course-live-status.error i{background:#b63654;box-shadow:none}
.course-list{display:grid;gap:13px}
.course-item{--accent:#8c2344;border:1px solid var(--course-line);border-left:4px solid var(--accent);border-radius:16px;background:var(--card);box-shadow:var(--shadow);overflow:hidden;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.course-item:hover{transform:translateY(-2px);border-top-color:var(--brand-edge);border-right-color:var(--brand-edge);border-bottom-color:var(--brand-edge);box-shadow:var(--shadow-lg)}
.course-item.open{border-top-color:var(--brand-edge);border-right-color:var(--brand-edge);border-bottom-color:var(--brand-edge);box-shadow:var(--shadow-lg)}
.course-summary{display:grid;grid-template-columns:auto minmax(0,1.35fr) minmax(110px,.5fr) minmax(125px,.5fr) auto;gap:18px;align-items:center;width:100%;padding:21px 22px;border:0;background:transparent;text-align:left;color:var(--ink);cursor:pointer}
.course-summary:focus-visible{outline-offset:-4px;border-radius:12px}
.course-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--accent) 10%,var(--card));color:var(--accent);font-size:25px}
.course-name{min-width:0}
.course-name strong{display:block;font-size:16px;font-weight:700;line-height:1.5;color:var(--course-ink);margin-bottom:5px}
.course-name small{display:block;font-size:12px;color:var(--course-muted);line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.course-meta{display:flex;flex-direction:column;gap:5px;margin:0}
.course-meta span{font-size:10px;letter-spacing:.8px;font-weight:750;color:var(--muted)}
.course-meta strong{font-size:13px;color:var(--ink);line-height:1.5}
.course-chevron{width:36px;height:36px;flex:none;border-radius:10px;display:grid;place-items:center;background:var(--surface);color:var(--ink);font-size:18px;transition:transform .22s ease,background .18s ease}
.course-summary[aria-expanded=true] .course-chevron{transform:rotate(180deg);background:var(--brand-light);color:var(--brand)}
.course-detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.2,.8,.2,1);background:var(--course-soft)}
.course-item.open .course-detail{grid-template-rows:1fr}
.course-detail-inner{min-height:0;overflow:hidden}
.course-detail-content{display:grid;grid-template-columns:1fr 1.1fr;gap:32px;padding:24px 25px 26px 94px;border-top:1px solid var(--line)}
.course-description{font-size:14px;line-height:1.8;color:var(--body)}
.course-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
.course-fact{padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--card)}
.course-fact span{display:block;font-size:10px;letter-spacing:.7px;font-weight:750;color:var(--muted)}
.course-fact strong{display:block;margin-top:6px;font-size:13px;line-height:1.55;color:var(--ink);overflow-wrap:anywhere}
.course-subjects h4{margin:0 0 13px;font-size:12px;letter-spacing:.7px;line-height:1.6;color:var(--ink)}
.course-subject-chips{display:flex;gap:8px;flex-wrap:wrap}
.course-subject-chips span{padding:8px 11px;border:1px solid var(--line);background:var(--card);border-radius:8px;font-size:12px;line-height:1.5;color:var(--body)}
.course-subject-empty{font-size:13px;color:var(--muted);line-height:1.7}
.course-inquiry{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:12px 16px;min-height:44px;border-radius:10px;background:var(--course-green);color:#fff;font-size:12px;font-weight:700;line-height:1.6;transition:background .18s ease}
.course-inquiry:hover{background:#115b3e;color:#fff}
.course-full-catalogue{margin-top:40px;padding-top:36px;border-top:1px solid var(--course-line);animation:catalogueIn .3s ease both;scroll-margin-top:calc(var(--header-h) + 24px)}
.course-tools{display:grid;grid-template-columns:minmax(270px,1.5fr) 1fr 1fr auto;gap:12px;padding:18px;border-radius:16px;background:var(--surface);border:1px solid var(--line);margin-bottom:20px}
.course-search{display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:10px;min-height:50px}
.course-search input{width:100%;min-width:0;border:0;outline:0;padding:13px 0;background:transparent;font:inherit;font-size:14px;color:var(--ink)}
.course-filter{display:flex;flex-direction:column;gap:5px;padding:8px 12px;border:1px solid var(--line);background:var(--card);border-radius:10px;min-height:50px}
.course-filter span{font-size:10px;letter-spacing:.7px;font-weight:750;color:var(--muted)}
.course-filter select{min-width:0;width:100%;border:0;outline:0;background:transparent;font:inherit;font-size:13px;color:var(--ink);cursor:pointer}
.course-filter option{background:var(--card);color:var(--ink)}
.course-search:focus-within,.course-filter:focus-within{outline:2px solid var(--brand-edge);outline-offset:2px}
.course-clear{border:1px solid #1a2740;border-radius:10px;padding:0 18px;min-height:50px;background:#1a2740;color:#fff;font:inherit;font-size:12px;font-weight:650;cursor:pointer;transition:background .18s ease,border-color .18s ease}
.course-clear:hover{background:#31435f;border-color:#31435f}
.course-result-line{display:flex;justify-content:space-between;gap:15px;margin:0 3px 16px;font-size:12px;line-height:1.6;color:var(--muted)}
.course-result-line strong{color:var(--ink)}
.course-empty{text-align:center;padding:55px 20px;border:1px dashed var(--line);border-radius:16px;background:var(--card);color:var(--body)}
.course-empty span{font-size:30px;color:var(--brand)}
.course-empty h3{margin:14px 0 8px;color:var(--ink)}
.course-empty p{font-size:14px;line-height:1.8}
.course-help-band{padding:58px 0;background:radial-gradient(ellipse at 90% 0,#36456866,transparent 50%),linear-gradient(115deg,#101b30,#213149);color:#fff;border-top:1px solid #2b3a52}
.course-help-band .container{display:flex;align-items:center;justify-content:space-between;gap:35px}
.course-help-band span{color:#f4a4b7}
.course-help-band h2{font-size:clamp(26px,3vw,34px);letter-spacing:-.025em;margin:10px 0;color:#fff;line-height:1.3}
.course-help-band p{margin:0;color:#c4cede;font-size:14px;line-height:1.8}
.course-help-band .btn{white-space:nowrap;background:#fff;color:#16263f;border-color:#fff}
.course-help-band .btn:hover{background:#fff0f4;color:#75213e;border-color:#fff0f4}
[data-theme="dark"] .course-page-hero{background:radial-gradient(ellipse at 92% 12%,#22365966 0,transparent 48%),radial-gradient(ellipse at 0 92%,#602c4540 0,transparent 45%),linear-gradient(120deg,#0b1424,#111b2f)}
[data-theme="dark"] .course-page-hero:before{background-image:radial-gradient(#7791ba40 1px,transparent 1px);opacity:.36}
[data-theme="dark"] .course-hero-panel{background:#152138;border-color:#354866;border-top-color:#cc6b89}
[data-theme="dark"] .course-live-status{background:#17362b;border-color:#326a4b;color:#b4ebcc}
[data-theme="dark"] .course-live-status.error{background:#3d2230;border-color:#b65c73;color:#ffb5bd}
[data-theme="dark"] .course-icon{color:color-mix(in srgb,var(--accent) 50%,#fff);background:color-mix(in srgb,var(--accent) 22%,var(--card))}
[data-theme="dark"] .course-inquiry:hover{background:#298859}
[data-theme="dark"] .course-clear{background:#263a59;border-color:#415879;color:#f8fafc}
[data-theme="dark"] .course-clear:hover{background:#314b70;border-color:#59739a}
[data-theme="dark"] .course-help-band{background:radial-gradient(ellipse at 90% 0,#22365940,transparent 50%),linear-gradient(115deg,#0b1424,#17253c)}
@keyframes catalogueIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:900px){.course-page-hero-grid{grid-template-columns:1fr;gap:34px}.course-hero-panel{max-width:500px}.course-summary{grid-template-columns:auto minmax(0,1fr) auto}.course-summary>.course-meta{display:none}.course-detail-content{padding-left:25px}.course-tools{grid-template-columns:1fr 1fr}.course-search{grid-column:1/-1}.course-help-band .container{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.course-page-hero{padding:46px 0 48px}.course-page-hero h1{font-size:clamp(34px,8.7vw,46px);letter-spacing:-1.5px;line-height:1.17}.course-page-hero p{font-size:15px}.course-page-hero-grid{gap:28px}.course-hero-panel{padding:26px}.course-hero-panel>strong{font-size:64px}.course-hero-actions{flex-direction:column;align-items:stretch;margin-top:26px}.course-hero-actions>.btn{justify-content:center;white-space:normal}.course-section-heading{align-items:flex-start;flex-direction:column;gap:18px}.course-live-status{white-space:normal}.course-summary{padding:17px 14px;gap:12px}.course-icon{width:42px;height:42px;font-size:21px;border-radius:12px}.course-name strong{font-size:14px}.course-name small{font-size:11px}.course-chevron{width:30px;height:30px;border-radius:8px}.course-detail-content{grid-template-columns:1fr;gap:24px;padding:20px 15px}.course-fact{padding:11px}.course-fact strong{font-size:12px}.course-description{font-size:13px}.course-subject-chips span{font-size:11px}.course-tools{grid-template-columns:1fr;padding:14px}.course-search{grid-column:auto}.course-result-line{flex-direction:column;gap:4px}.course-help-band{padding:46px 0}.course-help-band .btn{white-space:normal;width:100%;justify-content:center}.course-full-catalogue{margin-top:32px;padding-top:28px}}
@media(prefers-reduced-motion:reduce){.course-item,.course-detail,.course-chevron,.course-full-catalogue,.course-inquiry,.course-clear{animation:none!important;transition:none!important}.course-item:hover{transform:none}}
