/* TheКоломыцев — Академия (LMS). Наследует токены main.css (:root). */

/* ---------- Каталог ---------- */
.lms-catalog__title{font-family:var(--mono);font-weight:900;font-size:clamp(30px,5vw,52px);line-height:1.04;margin:0 0 16px;}
.lms-catalog__lead{color:var(--text-2);max-width:640px;font-size:18px;line-height:1.6;margin:0 0 10px;}
.lms-catalog__mine{margin:0 0 34px;font-family:var(--mono);font-weight:700;}
.lms-catalog__mine a{color:var(--accent);}

.lms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:34px;}
@media(max-width:960px){.lms-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.lms-grid{grid-template-columns:1fr;}}

.lms-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:18px;overflow:hidden;transition:.2s ease;color:var(--text);}
.lms-card:hover{border-color:var(--accent);transform:translateY(-4px);color:var(--text);}
.lms-card__media{position:relative;aspect-ratio:16/9;background:var(--bg-svc);overflow:hidden;}
.lms-card__media img{width:100%;height:100%;object-fit:cover;}
.lms-card__ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#161b26,#0d1119);}
.lms-card__ph span{font-family:var(--mono);font-weight:900;font-size:60px;color:var(--accent);opacity:.55;}
.lms-card__body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1;}
.lms-card__cat{font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);}
.lms-card__title{font-family:var(--mono);font-weight:800;font-size:20px;line-height:1.2;}
.lms-card__excerpt{color:var(--muted);font-size:14px;line-height:1.55;flex:1;}
.lms-card__foot{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:13px;color:var(--dim);}
.lms-card__price{font-family:var(--mono);font-weight:800;color:var(--text);font-size:15px;}

/* ---------- Бейджи доступа ---------- */
.lms-badge{position:absolute;top:12px;left:12px;font-family:var(--mono);font-weight:800;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:6px 11px;border-radius:999px;backdrop-filter:blur(6px);}
.lms-badge--free{background:rgba(46,204,113,.16);color:#5ee0a0;border:1px solid rgba(94,224,160,.4);}
.lms-badge--paid{background:rgba(255,46,126,.16);color:var(--accent-hover);border:1px solid rgba(255,92,153,.45);}
.lms-badge--private{background:rgba(255,255,255,.1);color:var(--text-2);border:1px solid var(--border-strong);}

/* ---------- Прогресс ---------- */
.lms-progress{height:6px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin:8px 0;}
.lms-progress__bar{height:100%;background:var(--accent);border-radius:999px;transition:width .3s ease;}

/* ---------- Курс: лендинг ---------- */
.lms-course__grid{display:grid;grid-template-columns:1fr 360px;gap:44px;align-items:start;}
@media(max-width:900px){.lms-course__grid{grid-template-columns:1fr;}}
.lms-course__title{font-family:var(--mono);font-weight:900;font-size:clamp(28px,4.4vw,46px);line-height:1.06;margin:0 0 20px;}
.lms-course__desc{color:var(--text-2);font-size:17px;line-height:1.7;}
.lms-course__curriculum{margin-top:40px;}
.lms-course__curriculum h2{font-family:var(--mono);font-weight:800;font-size:24px;margin:0 0 18px;}
.lms-curr__mod{font-family:var(--mono);font-weight:800;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:22px 0 10px;}
.lms-curr__list{list-style:none;margin:0;padding:0;}
.lms-curr__item{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;margin-bottom:8px;background:var(--card);}
.lms-curr__item a{color:var(--text);font-weight:600;flex:1;}
.lms-curr__item a:hover{color:var(--accent);}
.lms-curr__item>span:first-child{flex:1;color:var(--muted);}
.lms-curr__item.is-lock{opacity:.7;}
.lms-curr__free{font-family:var(--mono);font-weight:800;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#5ee0a0;border:1px solid rgba(94,224,160,.4);border-radius:999px;padding:3px 8px;}
.lms-curr__dur{color:var(--dim);font-size:13px;font-family:var(--mono);}
.lms-curr__lock{color:var(--dim);}

/* ---------- Курс: buybox ---------- */
.lms-course__aside{position:sticky;top:96px;}
.lms-buybox{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:22px;}
.lms-buybox__media{border-radius:12px;overflow:hidden;margin:-2px 0 16px;aspect-ratio:16/9;}
.lms-buybox__media img{width:100%;height:100%;object-fit:cover;}
.lms-buybox__price{font-family:var(--mono);font-weight:900;font-size:32px;margin-bottom:4px;}
.lms-buybox__meta{color:var(--muted);font-size:14px;margin-bottom:18px;}
.lms-buybox__btn{display:block;text-align:center;width:100%;margin-top:8px;}
.lms-buybox__hint{color:var(--text-2);font-size:14px;line-height:1.55;margin:0 0 12px;}

/* ---------- Плеер урока ---------- */
.lms-player{display:grid;grid-template-columns:320px 1fr;gap:0;min-height:70vh;border-top:1px solid var(--border);}
@media(max-width:900px){.lms-player{grid-template-columns:1fr;}}
.lms-player__side{background:var(--bg-svc);border-right:1px solid var(--border);padding:26px 20px;}
@media(max-width:900px){.lms-player__side{border-right:none;border-bottom:1px solid var(--border);}}
.lms-side__title{font-family:var(--mono);font-weight:800;font-size:17px;line-height:1.25;margin-bottom:12px;}
.lms-side__pct{color:var(--muted);font-size:12px;font-family:var(--mono);margin:-2px 0 18px;}
.lms-side__mod{font-family:var(--mono);font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:18px 0 8px;}
.lms-side__list{list-style:none;margin:0;padding:0;}
.lms-side__item a,.lms-side__locked{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:var(--text-2);font-size:14px;line-height:1.35;}
.lms-side__item a:hover{background:rgba(255,255,255,.04);color:var(--text);}
.lms-side__item.is-active a{background:rgba(255,46,126,.12);color:#fff;}
.lms-side__mark{width:16px;height:16px;border-radius:50%;border:2px solid var(--dim);flex:none;}
.lms-side__item.is-done .lms-side__mark{background:var(--accent);border-color:var(--accent);}
.lms-side__name{flex:1;}
.lms-side__dur{color:var(--dim);font-size:12px;font-family:var(--mono);}
.lms-side__locked{color:var(--dim);cursor:not-allowed;}

.lms-player__main{padding:30px 44px 60px;max-width:900px;}
@media(max-width:640px){.lms-player__main{padding:22px 20px 44px;}}
.lms-video{border-radius:14px;overflow:hidden;background:#000;aspect-ratio:16/9;}
.lms-video video{width:100%;height:100%;display:block;background:#000;}
.lms-video--empty{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;background:var(--bg-svc);color:var(--muted);border:1px dashed var(--field-border);}
.lms-lesson__title{font-family:var(--mono);font-weight:800;font-size:clamp(22px,3vw,30px);margin:24px 0 16px;}
.lms-lesson__actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px;}
.lms-lesson__body{color:var(--text-2);font-size:16px;line-height:1.7;}

/* ---------- Уведомления ---------- */
.lms-note{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:10px;padding:14px 16px;color:var(--text-2);font-size:14px;margin:14px 0;}
.lms-note a{color:var(--accent);font-weight:700;}
.lms-note--ok{border-left-color:#5ee0a0;}
.lms-note--err{border-left-color:#ff6b6b;}

/* ---------- Форма входа/регистрации ---------- */
.lms-auth{margin-top:8px;}
.lms-auth__tabs{display:flex;gap:6px;margin-bottom:14px;background:rgba(255,255,255,.05);padding:4px;border-radius:10px;}
.lms-auth__tab{flex:1;background:none;border:none;cursor:pointer;padding:9px;border-radius:7px;font-family:var(--mono);font-weight:700;font-size:13px;color:var(--muted);}
.lms-auth__tab.is-active{background:var(--accent);color:var(--bg);}
.lms-auth__form{display:flex;flex-direction:column;gap:10px;}
.lms-auth__form input{background:var(--bg);border:1px solid var(--field-border);border-radius:10px;padding:12px 14px;color:var(--text);font-family:var(--sans);font-size:15px;}
.lms-auth__form input:focus{outline:none;border-color:var(--accent);}
.lms-auth__form .btn{width:100%;margin-top:4px;}
.lms-auth__msg{font-size:13px;min-height:16px;}
.lms-auth__msg.is-err{color:#ff6b6b;}
.lms-auth__msg.is-ok{color:#5ee0a0;}

/* ---------- Дашборд / пусто ---------- */
.lms-dash__title{font-family:var(--mono);font-weight:900;font-size:clamp(28px,4.5vw,46px);margin:0 0 12px;}
.lms-dash__lead{color:var(--text-2);font-size:17px;margin:0 0 24px;}
.lms-dash__lead a{color:var(--accent);}
.lms-dash__auth{max-width:420px;}
.lms-empty{color:var(--muted);font-size:16px;padding:20px 0;}

/* ===== Светлая тема: правки для захардкоженных мест LMS ===== */
:root[data-theme="light"] .lms-progress{background:rgba(6,40,30,.10);}
:root[data-theme="light"] .lms-badge--private{background:rgba(6,40,30,.06);color:var(--text-2);border-color:var(--border-strong);}
:root[data-theme="light"] .lms-badge--paid{background:rgba(16,185,129,.14);color:var(--accent-dark);border-color:rgba(16,185,129,.4);}
:root[data-theme="light"] .lms-card__ph{background:linear-gradient(135deg,#EAF3EF,#DCEAE4);}
:root[data-theme="light"] .lms-auth__tabs{background:rgba(6,40,30,.05);}
:root[data-theme="light"] .lms-side__item a:hover{background:rgba(6,40,30,.04);color:var(--text);}
:root[data-theme="light"] .lms-side__item.is-active a{background:rgba(16,185,129,.14);color:var(--accent-dark);}
:root[data-theme="light"] .lms-catalog__mine a,
:root[data-theme="light"] .lms-dash__lead a{color:var(--accent-dark);}

/* =====================================================================
 *  Витрина Академии (archive)
 * ===================================================================== */
.lms-hero{position:relative;padding:96px 0 70px;overflow:hidden;}
.lms-hero__glow{position:absolute;top:-180px;right:-140px;width:640px;height:640px;border-radius:50%;background:radial-gradient(circle, rgba(255,46,126,0.18), transparent 62%);pointer-events:none;}
:root[data-theme="light"] .lms-hero__glow{background:radial-gradient(circle, rgba(16,185,129,0.16), transparent 62%);}
.lms-hero__title{font-family:var(--mono);font-weight:900;font-size:clamp(40px,6.5vw,84px);line-height:.98;letter-spacing:-0.04em;margin:0 0 22px;}
.lms-hero__sub{font-size:19px;line-height:1.6;color:var(--text-2);max-width:620px;margin:0 0 32px;}
.lms-hero__cta{display:flex;gap:14px;flex-wrap:wrap;}
.lms-stats{display:flex;gap:56px;margin-top:56px;flex-wrap:wrap;}
.lms-stat__num{font-family:var(--mono);font-weight:900;font-size:42px;letter-spacing:-0.03em;color:var(--accent);line-height:1;}
.lms-stat__lbl{color:var(--muted);font-size:14px;margin-top:6px;}

.lms-benefits{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-svc);}
.lms-benefits .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding-top:44px;padding-bottom:44px;}
@media(max-width:760px){.lms-benefits .wrap{grid-template-columns:1fr;gap:26px;}}
.lms-ben__ic{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--bg);font-size:20px;margin-bottom:14px;}
.lms-ben__t{font-family:var(--mono);font-weight:800;font-size:19px;margin-bottom:8px;}
.lms-ben__d{color:var(--muted);font-size:15px;line-height:1.55;}

.lms-cats{display:flex;gap:10px;flex-wrap:wrap;margin:-14px 0 30px;}
.lms-cat{font-family:var(--mono);font-weight:700;font-size:13px;padding:9px 16px;border-radius:999px;border:1px solid var(--border-strong);color:var(--text-2);}
.lms-cat:hover,.lms-cat.is-active{background:var(--accent);color:var(--bg);border-color:var(--accent);}

.lms-cta-bar{background:var(--accent);color:var(--bg);margin-top:0;}
.lms-cta-bar__inner{max-width:var(--wrap);margin:0 auto;padding:64px 40px;display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;}
.lms-cta-bar__title{font-family:var(--mono);font-weight:900;font-size:clamp(26px,3.2vw,42px);letter-spacing:-0.03em;margin:0;}
@media(max-width:760px){.lms-cta-bar__inner{padding:44px 22px;}}

/* Встроенный плеер (YouTube) */
.lms-video--embed{position:relative;width:100%;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000;}
.lms-video--embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
