/* ============================================================
   EduInstitute Pro - Responsive Styles
   ============================================================ */

@media (max-width: 1199px) {
    .hero { padding: 4.2rem 0 4.8rem; }
    .admin-sidebar { width: 230px; flex: 0 0 230px; }
}

@media (max-width: 991px) {
    .main-navbar .navbar-nav .nav-link { padding: 0.4rem 0; }
    .main-navbar .navbar-nav .nav-link.active::after { display: none; }
    .btn-nav-cta { margin-top: 0.4rem; display: inline-block; }
    .hero { text-align: center; }
    .hero-subtitle { margin-left: auto; margin-right: auto; }
    .hero-actions, .hero-trust { justify-content: center; }
    .hero-visual { max-width: 380px; margin: 2rem auto 0; }
    .float-card-top { left: 4%; }
    .float-card-bottom { right: 2%; }
    .admin-sidebar {
        position: fixed; left: -280px; top: 0; z-index: 1050;
        width: 258px; flex: none;
        transition: left .3s; height: 100vh;
        box-shadow: 0 0 40px rgba(15,23,42,0.35);
    }
    .admin-sidebar.show { left: 0; }
    .admin-overlay {
        display: block;
        position: fixed; inset: 0; background: rgba(15,23,42,0.5);
        z-index: 1040; opacity: 0; visibility: hidden;
        transition: opacity .3s;
    }
    .admin-overlay.show { opacity: 1; visibility: visible; }
    .cta-box { padding: 2.2rem 1.6rem; }
    .cta-box .text-lg-end { text-align: left !important; }
}

@media (max-width: 767px) {
    .hero { padding: 3.4rem 0 3.8rem; }
    .hero-title { font-size: 2.1rem; }
    .stat-box { padding: 0.8rem 0; }
    .stat-box h2 { font-size: 1.9rem; }
    .course-card-img { height: 160px; }
    .filter-panel { padding: 1.2rem !important; }
    .page-banner { padding: 2.4rem 0; }
    .float-card-top { left: 0; }
    .float-card-bottom { right: 0; }
    .footer-heading { margin-top: 1rem; }
}

@media (max-width: 575px) {
    .brand-name { font-size: 0.95rem; }
    .brand-logo { height: 40px; }
    .hero-title { font-size: 1.9rem; }
    .hero-actions .btn { width: 100%; }
    .section { padding: 3.2rem 0; }
    .error-wrap { padding: 1.5rem; }
    .admin-topbar h5 { font-size: 1rem; }
    .stat-card h3 { font-size: 1.2rem; }
}