/* ── COURSE HEADER ── */
.crs-hero { background:var(--bg2);border-bottom:1px solid var(--bdr);padding:28px 24px 24px; }
.crs-hero-in { max-width:1200px;margin:0 auto;padding:0 24px; }
.crs-breadcrumb { display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--txt3);margin-bottom:14px; }
.crs-breadcrumb a { color:var(--blue);text-decoration:none; }
.crs-breadcrumb a:hover { text-decoration:underline; }
.crs-breadcrumb-sep { color:var(--bdr2); }
.crs-hero-meta { display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap; }
.crs-tag { font-size:.65rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:3px 10px;border-radius:var(--md-sys-shape-corner-full);background:rgba(245,158,11,.1);color:#d97706; }
[data-theme="dark"] .crs-tag { background:rgba(245,158,11,.15);color:#fbbf24; }
.crs-count { font-size:.78rem;color:var(--txt3); }
.crs-hero h1 { font-size:clamp(1.2rem,2.5vw,1.6rem);font-weight:900;color:var(--txt);margin:0 0 8px;line-height:1.3; }
.crs-hero-desc { font-size:.88rem;color:var(--txt2);line-height:1.7;max-width:680px;margin:0; }

.crs-partner-strip{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--blue);border-radius:var(--r);padding:10px 16px;margin-top:16px;text-decoration:none;font-size:.82rem;width:fit-content;max-width:100%;transition:box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}
.crs-partner-strip:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}
.crs-partner-strip-ico{font-size:1rem;flex-shrink:0}
.crs-partner-strip strong{color:var(--txt);font-weight:800}
.crs-partner-strip .crs-partner-strip-sub{color:var(--txt2);font-weight:600}
.crs-partner-strip-arrow{color:var(--blue);font-weight:800;flex-shrink:0}
@media(max-width:640px){.crs-partner-strip{font-size:.78rem}}

/* ── MAIN LAYOUT ── */
.crs-body { max-width:1200px;margin:0 auto;padding:28px 24px 80px;display:grid;grid-template-columns:360px 1fr;gap:28px;align-items:start; }

/* ── PLAYER ── */
.crs-player-wrap { position:sticky;top:80px; }
.crs-player { background:#000;border-radius:var(--md-sys-shape-corner-medium);overflow:hidden;aspect-ratio:16/9;width:100%; }
.crs-player iframe { width:100%;height:100%;border:none;display:block; }
.crs-player iframe[hidden]{display:none}
/* click-to-load poster: the YouTube player (~1 MB) loads only on play */
.crs-yt-facade{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:#000;cursor:pointer}
.crs-yt-facade[hidden]{display:none}
.crs-yt-facade img{width:100%;height:100%;object-fit:cover;display:block}
.crs-yt-play{position:absolute;inset:0;margin:auto;width:68px;height:48px;border-radius:var(--md-sys-shape-corner-large);background:rgba(0,0,0,.72);transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}
.crs-yt-play::before{content:"";position:absolute;inset:0;margin:auto;width:0;height:0;border-style:solid;border-width:11px 0 11px 19px;border-color:transparent transparent transparent #fff;transform:translateX(2px)}
.crs-yt-facade:hover .crs-yt-play,.crs-yt-facade:focus-visible .crs-yt-play{background:#e00}
.crs-yt-facade:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
.crs-now-title { margin-top:14px;font-size:.95rem;font-weight:700;color:var(--txt);line-height:1.4; }
.crs-now-num { font-size:.78rem;color:var(--txt3);margin-top:4px; }
.crs-now-desc { margin-top:14px;padding:16px;background:var(--bg2);border:1px solid var(--bdr);border-radius:var(--md-sys-shape-corner-medium);font-size:.83rem;color:var(--txt2);line-height:1.75;white-space:pre-line; }
.crs-next-btn { margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px; }
.crs-btn-next { flex:1;background:var(--md-sys-color-primary-filled);color:#fff;border:none;border-radius:var(--r);padding:10px 20px;font-size:.85rem;font-weight:700;font-family:'Janna LT','Janna LT Fallback','Cairo',sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard); }
.crs-btn-next:hover { opacity:.88; }
.crs-btn-next:disabled { opacity:.35;cursor:default; }
.crs-btn-done { background:var(--bg2);border:1px solid var(--bdr);border-radius:var(--r);padding:10px 16px;font-size:.82rem;font-weight:600;font-family:'Janna LT','Janna LT Fallback','Cairo',sans-serif;color:var(--txt2);cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard); }
.crs-btn-done.done { background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.3);color:#16a34a; }
[data-theme="dark"] .crs-btn-done.done { background:rgba(34,197,94,.15);color:#4ade80; }

/* Progress bar */
.crs-progress-wrap { padding:12px 18px 10px;border-bottom:1px solid var(--bdr); }
.crs-progress-label { display:flex;justify-content:space-between;font-size:.72rem;color:var(--txt3);margin-bottom:6px; }
.crs-progress-label strong { color:var(--txt2); }
.crs-progress-bar { height:4px;background:var(--bdr2);border-radius:var(--md-sys-shape-corner-extra-small);overflow:hidden; }
.crs-progress-fill { height:100%;background:var(--blue);border-radius:var(--md-sys-shape-corner-extra-small);transition:width var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard); }

/* Checkmark */
.crs-lesson .crs-check { flex-shrink:0;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--bdr2);display:flex;align-items:center;justify-content:center;font-size:.55rem;color:transparent;margin-top:3px;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard); }
.crs-lesson.watched .crs-check { background:#16a34a;border-color:#16a34a;color:#fff; }

/* ── PLAYLIST ── */
.crs-playlist { background:var(--card);border:1px solid var(--bdr);border-radius:var(--rl);overflow:hidden;max-height:calc(100vh - 120px);overflow-y:auto;position:sticky;top:80px; }
.crs-playlist::-webkit-scrollbar { width:4px; }
.crs-playlist::-webkit-scrollbar-track { background:transparent;margin:12px 0; }
.crs-playlist::-webkit-scrollbar-thumb { background:var(--bdr2);border-radius:var(--md-sys-shape-corner-extra-small); }

.crs-pl-header { padding:16px 18px;border-bottom:1px solid var(--bdr);font-size:.8rem;font-weight:700;color:var(--txt);position:sticky;top:0;background:var(--card);z-index:2; }
.crs-pl-header span { color:var(--txt3);font-weight:400; }

.crs-group-title { padding:10px 18px 8px;font-size:.68rem;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--txt3);background:var(--bg2);border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);position:sticky;top:49px;z-index:1; }

.crs-lesson { display:flex;align-items:flex-start;gap:12px;padding:12px 18px;cursor:pointer;border-bottom:1px solid var(--bdr2);transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard); }
.crs-lesson:hover { background:var(--bg2); }
.crs-lesson.active { background:rgba(31,98,142,.07); }
[data-theme="dark"] .crs-lesson.active { background:rgba(74,159,212,.1); }
.crs-lesson-num { flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--bdr2);color:var(--txt3);font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px; }
.crs-lesson.active .crs-lesson-num { background:var(--md-sys-color-primary-filled);color:#fff; }
.crs-lesson-text { font-size:.82rem;color:var(--txt2);line-height:1.45;flex:1; }
.crs-lesson.active .crs-lesson-text { color:var(--txt);font-weight:600; }

/* ── MOBILE ── */
@media (max-width:860px) {
  .crs-body { grid-template-columns:1fr; }
  .crs-player-wrap, .crs-playlist { position:static;max-height:none; }
  .crs-playlist { max-height:480px;overflow-y:auto; }
}
