/* ============================================================
   ZAZTEK LMS — styles. Extends the site's design tokens
   (loaded AFTER css/style.css so it inherits --primary, --secondary,
   fonts Sora/DM Sans, .container, .btn, .card, etc.)
   ============================================================ */

.lms-hero{background:linear-gradient(135deg,var(--secondary),var(--secondary-light));color:#fff;padding:3.5rem 0 3rem;position:relative;overflow:hidden}
.lms-hero h1{color:#fff;font-size:2.2rem;margin-bottom:.5rem}
.lms-hero p{color:rgba(255,255,255,.85);max-width:560px}
.lms-search{display:flex;gap:.6rem;margin-top:1.5rem;max-width:560px}
.lms-search input{flex:1;padding:.8rem 1rem;border-radius:.6rem;border:none;font-family:var(--font);font-size:.95rem}

/* category chips */
.lms-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0}
.lms-chip{padding:.45rem 1rem;border-radius:999px;border:1.5px solid var(--border);background:#fff;color:var(--muted-fg);font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s;font-family:var(--font)}
.lms-chip:hover{border-color:var(--primary);color:var(--primary)}
.lms-chip.active{background:var(--secondary);color:#fff;border-color:var(--secondary)}

/* filters bar */
.lms-filters{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:1.5rem}
.lms-filters select{padding:.55rem .8rem;border:1.5px solid var(--border);border-radius:.5rem;font-family:var(--font);font-size:.88rem;color:var(--fg)}

/* course grid + cards */
.lms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.lms-course{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:all .3s;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.lms-course:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,31,63,.12);border-color:rgba(255,0,0,.2)}
.lms-course-thumb{aspect-ratio:16/9;background:linear-gradient(135deg,var(--secondary),var(--secondary-light));display:flex;align-items:center;justify-content:center;font-size:2.4rem;color:#fff;position:relative;overflow:hidden}
.lms-course-thumb img{width:100%;height:100%;object-fit:cover}
.lms-course-body{padding:1.1rem 1.2rem;flex:1;display:flex;flex-direction:column}
.lms-course .cat{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--primary)}
.lms-course h3{font-size:1.02rem;margin:.3rem 0 .4rem;line-height:1.3}
.lms-course .sum{font-size:.85rem;color:var(--muted-fg);line-height:1.5;flex:1}
.lms-course .meta{display:flex;gap:.8rem;flex-wrap:wrap;font-size:.78rem;color:var(--muted-fg);margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--border)}
.lms-badge{display:inline-block;font-size:.68rem;font-weight:700;padding:.15rem .55rem;border-radius:999px;background:var(--muted);color:var(--secondary)}

/* progress bar */
.lms-progress{background:var(--border);border-radius:999px;height:8px;overflow:hidden;margin-top:.4rem}
.lms-progress > div{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--primary-dark));transition:width .4s}

/* course detail */
.lms-cd-hero{background:linear-gradient(135deg,var(--secondary),var(--secondary-light));color:#fff;padding:2.5rem 0}
.lms-cd-hero h1{color:#fff;font-size:2rem;max-width:760px}
.lms-cd-grid{display:grid;grid-template-columns:1fr 340px;gap:2.5rem;align-items:start;margin-top:2rem}
.lms-cd-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;position:sticky;top:90px;box-shadow:0 8px 30px rgba(0,31,63,.08)}
.lms-syllabus .mod{border:1px solid var(--border);border-radius:.6rem;margin-bottom:.6rem;overflow:hidden}
.lms-syllabus .mod-h{background:var(--muted);padding:.8rem 1rem;font-weight:700;font-family:var(--font-heading);font-size:.95rem}
.lms-syllabus .les{display:flex;align-items:center;gap:.6rem;padding:.65rem 1rem;border-top:1px solid var(--border);font-size:.9rem}
.lms-syllabus .les .ico{color:var(--primary)}

/* lesson player */
.lms-player{display:grid;grid-template-columns:300px 1fr;min-height:calc(100vh - 70px)}
.lms-sidebar{background:#fff;border-right:1px solid var(--border);overflow-y:auto;max-height:calc(100vh - 70px);position:sticky;top:70px}
.lms-sidebar .s-head{padding:1rem 1.1rem;border-bottom:1px solid var(--border)}
.lms-sidebar .s-mod{padding:.7rem 1.1rem;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-fg);background:var(--muted)}
.lms-sidebar .s-les{display:flex;align-items:flex-start;gap:.55rem;padding:.7rem 1.1rem;font-size:.88rem;cursor:pointer;border-bottom:1px solid var(--border);color:var(--fg);text-decoration:none}
.lms-sidebar .s-les:hover{background:var(--muted)}
.lms-sidebar .s-les.active{background:rgba(255,0,0,.06);border-left:3px solid var(--primary)}
.lms-sidebar .s-les .tick{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;margin-top:1px;font-size:11px;display:flex;align-items:center;justify-content:center;color:#fff}
.lms-sidebar .s-les.done .tick{background:#16a34a;border-color:#16a34a}
.lms-main{padding:1.5rem 2rem;max-width:900px}
.lms-video{aspect-ratio:16/9;width:100%;background:#000;border-radius:.6rem;overflow:hidden;margin-bottom:1.2rem}
.lms-video iframe{width:100%;height:100%;border:0}
.lms-tabs{display:flex;gap:.4rem;border-bottom:1px solid var(--border);margin-bottom:1rem;flex-wrap:wrap}
.lms-tab{padding:.6rem 1rem;cursor:pointer;font-weight:600;font-size:.9rem;color:var(--muted-fg);border-bottom:2px solid transparent}
.lms-tab.active{color:var(--primary);border-bottom-color:var(--primary)}
.lms-tabpane{display:none;line-height:1.7}
.lms-tabpane.active{display:block}
.lms-lesson-nav{display:flex;justify-content:space-between;gap:1rem;margin:1.5rem 0;flex-wrap:wrap}

/* dashboard */
.lms-dash-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}
.lms-stat{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem}
.lms-stat .v{font-family:var(--font-heading);font-weight:800;font-size:1.8rem;color:var(--secondary);line-height:1}
.lms-stat .l{font-size:.78rem;color:var(--muted-fg);margin-top:.3rem}
.lms-streak .v{color:var(--primary)}
.lms-week{display:flex;gap:.4rem;align-items:flex-end;height:80px;margin-top:.5rem}
.lms-week .bar{flex:1;background:var(--muted);border-radius:4px 4px 0 0;position:relative;min-height:4px;transition:height .4s}
.lms-week .bar.on{background:linear-gradient(var(--primary),var(--primary-dark))}
.lms-section-title{font-family:var(--font-heading);font-weight:700;font-size:1.2rem;margin:2rem 0 1rem}

/* auth pages */
.lms-auth{max-width:420px;margin:3rem auto;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:2rem;box-shadow:0 12px 40px rgba(0,31,63,.08)}
.lms-auth h1{font-size:1.5rem;margin-bottom:.3rem}
.lms-field{margin-bottom:1rem}
.lms-field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem}
.lms-field input{width:100%;padding:.7rem .9rem;border:1.5px solid var(--border);border-radius:.5rem;font-family:var(--font);font-size:.95rem}
.lms-field input:focus{outline:none;border-color:var(--primary)}
.lms-msg{padding:.7rem 1rem;border-radius:.5rem;font-size:.88rem;margin-bottom:1rem;display:none}
.lms-msg.err{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;display:block}
.lms-msg.ok{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;display:block}

/* skeleton loader */
.lms-skel{background:linear-gradient(90deg,#eee 25%,#f5f5f5 50%,#eee 75%);background-size:200% 100%;animation:lmsShimmer 1.3s infinite;border-radius:.5rem}
@keyframes lmsShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* empty state */
.lms-empty{text-align:center;padding:3rem 1rem;color:var(--muted-fg)}

@media(max-width:980px){
  .lms-grid{grid-template-columns:repeat(2,1fr)}
  .lms-cd-grid{grid-template-columns:1fr}
  .lms-cd-card{position:static}
  .lms-dash-grid{grid-template-columns:repeat(2,1fr)}
  .lms-player{grid-template-columns:1fr}
  .lms-sidebar{position:static;max-height:none;border-right:none;border-bottom:1px solid var(--border)}
}
@media(max-width:560px){
  .lms-grid{grid-template-columns:1fr}
  .lms-main{padding:1.2rem}
}
