/* ============================================================
   SOIC Online Platform - Main Stylesheet
   هوية بصرية سينمائية: أسود/كحلي داكن + ذهبي، بخط عربي واضح
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;800&display=swap');

:root {
    --bg-primary: #0c0c0d;
    --bg-secondary: #16171a;
    --bg-card: #1e2024;
    --border-color: #2a2c31;
    --gold: #c9a24b;
    --gold-light: #e3c473;
    --text-light: #f5f5f3;
    --text-muted: #a1a1a8;
    --success: #3ba55c;
    --danger: #e05353;
    --radius: 10px;
    --shadow: 0 6px 24px rgba(0,0,0,.35);
}

* { margin:0; padding:0; box-sizing:border-box; }

body {
    font-family: 'Cairo', sans-serif;
    background: var(--bg-primary);
    color: var(--text-light);
    direction: rtl;
    text-align: right;
    line-height: 1.7;
}

a { text-decoration:none; color:inherit; }
ul { list-style:none; }
img { max-width:100%; display:block; }
button { font-family:'Cairo', sans-serif; cursor:pointer; }

.container { max-width:1200px; margin:0 auto; padding:0 20px; }

/* ---------- Buttons ---------- */
.btn {
    display:inline-block;
    padding:12px 28px;
    border-radius:6px;
    font-weight:700;
    font-size:15px;
    border:2px solid transparent;
    transition:.25s;
}
.btn-gold { background:var(--gold); color:#0c0c0d; }
.btn-gold:hover { background:var(--gold-light); }
.btn-outline { border-color:var(--gold); color:var(--gold); background:transparent; }
.btn-outline:hover { background:var(--gold); color:#0c0c0d; }
.btn-block { width:100%; text-align:center; }
.btn-sm { padding:8px 16px; font-size:13px; }
.btn-danger { background:var(--danger); color:#fff; }

/* ---------- Navbar ---------- */
.navbar {
    background:rgba(12,12,13,.95);
    border-bottom:1px solid var(--border-color);
    position:sticky; top:0; z-index:100;
    backdrop-filter:blur(6px);
}
.navbar .container { display:flex; align-items:center; justify-content:space-between; height:72px; }
.navbar .logo { font-size:22px; font-weight:800; color:var(--gold); letter-spacing:1px; }
.navbar .logo span { color:var(--text-light); }
.nav-links { display:flex; gap:28px; }
.nav-links a { font-weight:600; font-size:15px; color:var(--text-muted); transition:.2s; }
.nav-links a:hover, .nav-links a.active { color:var(--gold); }
.nav-actions { display:flex; gap:12px; align-items:center; }

/* ---------- Hero ---------- */
.hero {
    padding:90px 0 70px;
    text-align:center;
    background:radial-gradient(ellipse at top, #1a1a1e 0%, #0c0c0d 70%);
    border-bottom:1px solid var(--border-color);
}
.hero .eyebrow { color:var(--gold); font-weight:700; letter-spacing:2px; font-size:13px; margin-bottom:14px; }
.hero h1 { font-size:44px; font-weight:800; max-width:750px; margin:0 auto 20px; }
.hero h1 .accent { color:var(--gold); }
.hero p { color:var(--text-muted); max-width:600px; margin:0 auto 30px; font-size:17px; }

/* ---------- Cards / Courses ---------- */
.section { padding:70px 0; }
.section-title { font-size:30px; font-weight:800; margin-bottom:8px; }
.section-sub { color:var(--text-muted); margin-bottom:40px; }

.grid { display:grid; gap:24px; }
.grid-3 { grid-template-columns:repeat(3,1fr); }
.grid-4 { grid-template-columns:repeat(4,1fr); }

.card {
    background:var(--bg-card);
    border:1px solid var(--border-color);
    border-radius:var(--radius);
    overflow:hidden;
    transition:.25s;
}
.card:hover { transform:translateY(-4px); border-color:var(--gold); box-shadow:var(--shadow); }
.card-thumb { aspect-ratio:16/10; background:#2a2c31 center/cover; position:relative; }
.card-body { padding:20px; }
.card-badge { display:inline-block; background:rgba(201,162,75,.15); color:var(--gold); font-size:12px; font-weight:700; padding:4px 10px; border-radius:20px; margin-bottom:10px; }
.card h3 { font-size:18px; margin-bottom:8px; }
.card p { color:var(--text-muted); font-size:14px; margin-bottom:14px; }
.card-meta { display:flex; justify-content:space-between; font-size:13px; color:var(--text-muted); border-top:1px solid var(--border-color); padding-top:14px; }
.card-price { color:var(--gold); font-weight:800; font-size:16px; }

/* ---------- Forms ---------- */
.auth-wrap { max-width:440px; margin:70px auto; background:var(--bg-card); border:1px solid var(--border-color); border-radius:var(--radius); padding:40px; }
.auth-wrap h2 { text-align:center; margin-bottom:8px; font-size:24px; }
.auth-wrap .sub { text-align:center; color:var(--text-muted); margin-bottom:30px; font-size:14px; }
.form-group { margin-bottom:18px; }
.form-group label { display:block; margin-bottom:8px; font-size:14px; font-weight:600; color:var(--text-muted); }
.form-control {
    width:100%; padding:12px 14px; background:var(--bg-secondary);
    border:1px solid var(--border-color); border-radius:6px; color:var(--text-light); font-size:15px;
    font-family:'Cairo',sans-serif;
}
.form-control:focus { outline:none; border-color:var(--gold); }
.form-note { text-align:center; margin-top:20px; font-size:14px; color:var(--text-muted); }
.form-note a { color:var(--gold); font-weight:700; }

.alert { padding:12px 16px; border-radius:6px; margin-bottom:18px; font-size:14px; }
.alert-success { background:rgba(59,165,92,.15); color:#5fce80; border:1px solid rgba(59,165,92,.3); }
.alert-error { background:rgba(224,83,83,.15); color:#ff7b7b; border:1px solid rgba(224,83,83,.3); }

/* ---------- Dashboard layout ---------- */
.dash-layout { display:flex; min-height:100vh; }
.dash-sidebar {
    width:260px; background:var(--bg-secondary); border-left:1px solid var(--border-color);
    padding:26px 0; position:sticky; top:0; height:100vh; overflow-y:auto;
}
.dash-sidebar .brand { padding:0 24px 26px; font-size:20px; font-weight:800; color:var(--gold); border-bottom:1px solid var(--border-color); margin-bottom:20px; }
.dash-sidebar .brand span { color:var(--text-light); }
.dash-nav a { display:flex; align-items:center; gap:10px; padding:13px 24px; color:var(--text-muted); font-weight:600; font-size:14px; border-right:3px solid transparent; }
.dash-nav a:hover, .dash-nav a.active { color:var(--gold); background:rgba(201,162,75,.08); border-right-color:var(--gold); }
.dash-main { flex:1; padding:34px; }
.dash-topbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:30px; }
.dash-topbar h1 { font-size:24px; font-weight:800; }
.dash-user { display:flex; align-items:center; gap:10px; font-size:14px; color:var(--text-muted); }

.stat-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-bottom:34px; }
.stat-card { background:var(--bg-card); border:1px solid var(--border-color); border-radius:var(--radius); padding:22px; }
.stat-card .num { font-size:28px; font-weight:800; color:var(--gold); }
.stat-card .label { color:var(--text-muted); font-size:13px; margin-top:6px; }

.table-wrap { background:var(--bg-card); border:1px solid var(--border-color); border-radius:var(--radius); overflow:hidden; }
table { width:100%; border-collapse:collapse; }
th, td { padding:14px 18px; text-align:right; font-size:14px; border-bottom:1px solid var(--border-color); }
th { color:var(--text-muted); font-weight:700; background:var(--bg-secondary); }
tr:last-child td { border-bottom:none; }

.progress-bar { background:var(--bg-secondary); border-radius:20px; height:8px; overflow:hidden; }
.progress-bar span { display:block; height:100%; background:var(--gold); }

.badge { display:inline-block; padding:4px 12px; border-radius:20px; font-size:12px; font-weight:700; }
.badge-success { background:rgba(59,165,92,.15); color:#5fce80; }
.badge-warning { background:rgba(201,162,75,.15); color:var(--gold); }
.badge-danger { background:rgba(224,83,83,.15); color:#ff7b7b; }

/* ---------- Footer ---------- */
footer { background:var(--bg-secondary); border-top:1px solid var(--border-color); padding:50px 0 20px; margin-top:60px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px; margin-bottom:30px; }
footer h4 { margin-bottom:16px; font-size:16px; }
footer p, footer a { color:var(--text-muted); font-size:14px; }
footer ul li { margin-bottom:10px; }
.footer-bottom { text-align:center; padding-top:20px; border-top:1px solid var(--border-color); color:var(--text-muted); font-size:13px; }

/* ---------- Responsive ---------- */
@media (max-width:900px) {
    .grid-3, .grid-4 { grid-template-columns:repeat(2,1fr); }
    .nav-links { display:none; }
    .dash-sidebar { position:fixed; right:-260px; z-index:200; transition:.3s; }
    .dash-sidebar.open { right:0; }
    .stat-cards { grid-template-columns:repeat(2,1fr); }
    .footer-grid { grid-template-columns:1fr; }
}
@media (max-width:600px) {
    .grid-3, .grid-4 { grid-template-columns:1fr; }
    .hero h1 { font-size:30px; }
    .stat-cards { grid-template-columns:1fr; }
}
