/* ================================
   GLOBAL
================================ */
body {
    background:#000;
    color:#fff;
    margin:0;
    font-family:Arial, sans-serif;
}

a { 
    text-decoration:none; 
    color:inherit; 
}

/* ================================
   NAVBAR
================================ */
.navbar {
    background:#0a0a0a;
    padding:15px 20px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-bottom:1px solid #111;
    position:sticky;
    top:0;
    z-index:1000;
}

.nav-left {
    display:flex;
    align-items:center;
    gap:10px;
}

.nav-logo { 
    width:40px; 
    border-radius:5px; 
}

.nav-title { 
    font-size:20px; 
}

.desktop-menu { 
    display:flex; 
    gap:25px; 
}

.desktop-menu a {
    color:#ccc;
    font-size:16px;
    transition:0.25s ease;
}

.desktop-menu a:hover {
    color:#d400ff;
}

/* MOBILE MENU */
.mobile-menu-btn { 
    font-size:28px; 
    display:none; 
    color:#d400ff; 
}

.mobile-menu {
    display:none;
    background:#0a0a0a;
    padding:12px 20px;
    border-bottom:1px solid #111;
}

.mobile-menu a {
    display:block;
    padding:12px 0;
    color:#ccc;
}

.mobile-menu a:hover {
    color:#d400ff;
}

/* ================================
   PAGE HEADER
================================ */
.courses-header {
    text-align:center;
    padding:60px 20px 20px;
}

.courses-header h1 {
    font-size:44px;
    color:#d400ff;
    margin-bottom:10px;
}

.courses-header p {
    font-size:18px;
    color:#ccc;
}

/* ================================
   COURSES GRID
================================ */
.course-grid {
    max-width:1300px;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:25px;
    padding:40px;
}

.course-card {
    background:#111;
    padding:25px;
    border-radius:14px;
    border:1px solid #3b005c;
    box-shadow:0 0 25px rgba(178,102,255,0.25);
    transition:0.25s ease;
}

.course-card:hover {
    transform:translateY(-6px);
    box-shadow:0 0 40px rgba(230,99,255,0.45);
}

.course-card h2 {
    font-size:22px;
    color:#ff00ff;
    margin-bottom:12px;
}

.course-card p {
    font-size:16px;
    color:#ccc;
    line-height:1.5;
}

.open-btn {
    display:block;
    margin-top:18px;
    padding:12px;
    background:linear-gradient(90deg, #ff44ee, #b200ff);
    border-radius:8px;
    font-weight:bold;
    text-align:center;
    transition:0.25s;
}

.open-btn:hover {
    opacity:0.85;
}

/* ================================
   FOOTER (Loaded via footer.html)
================================ */
.footer {
    background:#0a0a0a;
    padding:50px 20px;
    border-top:1px solid #111;
}

.footer-grid {
    max-width:1200px;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:40px;
}

.footer-brand {
    font-size:26px;
    color:#d400ff;
}

.footer-tagline {
    color:#bbb;
    font-size:14px;
}

.footer-heading {
    color:#d400ff;
    margin-bottom:12px;
    font-size:18px;
}

.footer-col a {
    color:#ccc;
    margin:5px 0;
    display:block;
}

.footer-col a:hover {
    color:#ff00ff;
}

.footer-social {
    display:flex;
    gap:15px;
    margin-top:10px;
}

.footer-social a {
    font-size:20px;
    color:#d400ff;
}

.footer-copy {
    text-align:center;
    margin-top:35px;
    color:#777;
    font-size:14px;
}

/* ================================
   RESPONSIVE — TABLET
================================ */
@media(max-width:992px) {

    .desktop-menu { display:none; }
    .mobile-menu-btn { display:block; }

    .course-grid {
        grid-template-columns:repeat(2, 1fr);
        padding:20px;
    }
}

/* ================================
   RESPONSIVE — MOBILE
================================ */
@media(max-width:600px) {

    .courses-header h1 {
        font-size:34px;
    }

    .course-grid {
        grid-template-columns:1fr;
        padding:20px;
    }

    .footer-grid {
        grid-template-columns:1fr;
        text-align:center;
        gap:25px;
    }

    .footer-social {
        justify-content:center;
    }
}
