/* AcademySoft SST Theme - Public UI */
:root{
  --brand:#0f172a; --brand-700:#1f2937; --brand-900:#0b1220;
  --bg:#f8fafc; --text:#0b1220; --muted:#64748b; --border:#e2e8f0;
  --surface:#ffffff; --surface-border:#cbd5e1; --text-strong:#0f172a; --text-muted-strong:#334155;
  --accent:#2563eb; --accent-700:#1d4ed8; --accent-900:#1e40af; --ring:#93c5fd;
  --success:#16a34a; --warning:#f59e0b; --danger:#ef4444;
}
html,body{background:var(--bg); color:var(--text);} 
body{font-family:"Inter","Segoe UI",Roboto,Arial,sans-serif;}
.container-wide{max-width:1080px; margin:0 auto;}

/* Navbar */
.ac-nav{background:var(--brand); color:#fff;}
.ac-nav .nav-wrap{display:flex;align-items:center;justify-content:space-between; padding:12px 16px;}
.ac-nav .brand{display:flex;align-items:center;gap:10px; font-weight:800; letter-spacing:.3px;}
.ac-nav .links a{color:#fff; font-weight:600; margin-left:12px;}
.ac-nav .links .btn{border-color:rgba(255,255,255,0.24); background:rgba(255,255,255,0.10); color:#fff; border-radius:8px; padding:6px 10px; box-shadow:none;}
.ac-nav .links .btn:hover{background:rgba(255,255,255,0.18); border-color:rgba(255,255,255,0.32);} 

/* Hero */
.hero{background:linear-gradient(90deg, var(--brand) 0%, var(--brand-700) 100%); color:#fff; padding:28px 16px;}
.hero h1{font-size:28px; font-weight:800; margin:0 0 8px 0;}
.hero p{font-size:14px; opacity:.95;}
.hero .search{display:flex;gap:8px; margin-top:12px;}
.hero .search input{flex:1; padding:10px 12px; border-radius:8px; border:1px solid rgba(255,255,255,.35); background:rgba(255,255,255,.15); color:#fff;}
.hero .search input::placeholder{color:#e2e8f0;}
.hero .search .btn{background:#fff; color:var(--brand-900); font-weight:700;}

/* Cards */
.grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px;}
.card{background:var(--surface); border:1px solid var(--surface-border); border-radius:12px; overflow:hidden; box-shadow:none;} 
.card .thumb{position:relative; height:140px; background:#e2e8f0;}
.card .thumb img{width:100%; height:100%; object-fit:cover;}
.card .thumb .badge-price{position:absolute; right:8px; top:8px; background:rgba(15,23,42,0.92); color:#fff; padding:5px 10px; border-radius:999px; font-size:13px;}
.card .body{padding:12px;}
.card .title{font-weight:600; font-size:18px; line-height:1.35; color:var(--text-strong); text-shadow:none;} 
.card .meta{display:flex; gap:12px; color:var(--text-muted-strong); font-size:13px; margin-top:8px; text-shadow:none;}
.card .msg{color:var(--text-strong); font-size:13px; line-height:1.5; margin-top:6px; text-shadow:none;}
.card .cta{display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:10px;}
.card .cta .btn{font-weight:700;}
.card .cta .btn-brand{background:var(--accent); color:#fff; border:1px solid var(--accent-700);} 
.card .cta .btn-brand:hover{background:var(--accent-700);} 

/* Progress */
.progress-slim{height:8px; background:#f1f5f9; border-radius:999px; overflow:hidden;}
.progress-slim .bar{height:8px; background:var(--brand);}
.badge{display:inline-flex; align-items:center; gap:6px; padding:4px 8px; border-radius:999px; font-size:12px;}
.badge-success{background:#dcfce7; color:#166534;}
.badge-warning{background:#fef3c7; color:#92400e;}

/* Lists & items */
.list-clean{list-style:none; padding:0; margin:0;}
.item-row{display:flex; align-items:center; gap:12px; padding:12px; background:#fff; border:1px solid var(--border); border-radius:12px;}
.item-row + .item-row{margin-top:10px;}

/* Buttons */
.btn{border-radius:8px; font-weight:600; padding:8px 12px; box-shadow:none; transition:background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;}
.btn-sm{padding:6px 10px; font-size:12px;}
.btn:focus{outline:2px solid var(--ring); outline-offset:2px;}
.btn[disabled], .btn.disabled{opacity:.6; cursor:not-allowed;}
.btn-brand{background:var(--accent); color:#fff; border:1px solid var(--accent-700);} 
.btn-brand:hover{background:var(--accent-700);} 
.btn-brand:focus{outline:2px solid var(--ring); outline-offset:2px;}
.btn-outline-brand{background:transparent; border:1px solid var(--accent); color:var(--accent);} 
.btn-outline-brand:hover{background:rgba(37,99,235,0.10);} 
.btn-light{background:#ffffff; border:1px solid #e5e7eb; color:var(--text-strong);} 
.btn-light:hover{background:#f8fafc;} 
.btn-outline-light{background:transparent; border:1px solid rgba(255,255,255,0.35); color:#fff; border-radius:8px; padding:6px 10px; box-shadow:none;}
.btn-outline-light:hover{background:rgba(255,255,255,0.12); border-color:rgba(255,255,255,0.45);} 

/* Course header */
.course-header{display:flex; gap:18px;}
.course-header .cover{flex:0 0 280px; border-radius:12px; overflow:hidden; background:#e2e8f0;}
.course-header .cover img{width:100%; height:100%; object-fit:cover;}
.course-header .info{flex:1;}
.stat-line{display:flex; gap:14px; color:var(--muted); font-size:12px; margin-top:6px;}
.sidebar{position:sticky; top:12px;}

/* Player */
.player-wrap{background:#000; border-radius:12px; overflow:hidden;}
.player-toolbar{display:flex; align-items:center; gap:6px; margin-top:8px;}
.msg{font-size:12px; color:var(--muted);} 

/* Forms */
.form-card{background:#fff; border:1px solid var(--border); border-radius:12px; padding:16px;}
.trust{display:flex; gap:12px; align-items:center; font-size:12px; color:var(--muted);} 

/* Footer */
.footer{margin-top:24px; padding:16px; color:var(--muted);}

/* Badges & labels */
.badge-free{background:var(--brand)!important; color:#fff!important}
.pill-brand{display:inline-block; background:#0f172a; color:#fff; padding:2px 8px; border-radius:999px; font-weight:700; font-size:12px; line-height:18px}

/* Admin Editor UI */
.admin-accordion{display:flex; flex-direction:column; gap:12px}
.module-card{border:1px solid var(--border); border-radius:12px; background:#fff; overflow:hidden}
.module-card .mod-head{display:flex; align-items:center; justify-content:space-between; padding:12px 16px; background:#f8fafc}
.module-card .mod-head .title{font-weight:800}
.module-card .mod-body{padding:12px 16px}
.lesson-row{display:flex; align-items:center; gap:10px; padding:8px 0; border-top:1px dashed #e2e8f0}
.lesson-row:first-child{border-top:none}
.chip{display:inline-flex; align-items:center; gap:6px; padding:3px 8px; border-radius:999px; font-size:12px; background:#eef2ff; color:#1f2937}
.chip-success{background:#dcfce7; color:#166534}
.chip-muted{background:#f1f5f9; color:#334155}
.actions{display:flex; gap:6px}
.btn-xxs{padding:3px 8px; font-size:12px; border-radius:8px}
.form-label{display:block; font-weight:600; font-size:12px; color:var(--muted); margin-bottom:4px}
.hidden{display:none}
