/* Mobile Menu Full Screen & Fixed Controls */
@media (max-width: 991px) {
    .navbar-collapse {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background-color: var(--primary-color);
        z-index: 3000;
        padding: 5rem 1.5rem 2rem;
        overflow-y: auto;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-20px);
        transition: all 0.3s ease-in-out;
        display: block !important;
    }

    .navbar-collapse.show {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .navbar-toggler {
        position: fixed !important;
        top: 15px !important;
        left: 15px !important;
        z-index: 3100 !important;
        background-color: var(--primary-color) !important;
        border: none !important;
        padding: 8px 10px !important;
        border-radius: 4px !important;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3) !important;
    }

    /* Hide toggle when menu is open (UX improvement as Close X is available) */
    body.menu-open .navbar-toggler {
        display: none !important;
    }

    /* Hide the standard navbar blue bar content when mobile menu is open to keep it clean */
    body.menu-open .navbar>.container {
        visibility: hidden;
    }

    .mobile-menu-header {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding: 1rem 1.5rem;
        z-index: 3100;
    }

    .mobile-menu-header .btn-close {
        font-size: 1.25rem;
        opacity: 1;
        background-color: rgba(255, 255, 255, 0.1);
        border-radius: 50%;
        padding: 1rem;
    }

    .navbar-collapse .nav-link {
        font-size: 1.2rem !important;
        padding: 1rem 0 !important;
        text-align: center !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
        color: white !important;
    }

    /* Social Icons in Mobile Menu */
    .mobile-social-icons {
        margin-top: 2rem;
        padding-top: 1.5rem;
        border-top: 1px solid rgba(255, 255, 255, 0.2);
        display: flex;
        justify-content: center;
        gap: 1.5rem;
    }

    .mobile-social-icons a {
        color: white;
        font-size: 1.5rem;
        opacity: 0.8;
        transition: opacity 0.3s;
    }

    .mobile-social-icons a:hover {
        opacity: 1;
    }

    .mobile-top-links {
        margin-top: 2rem;
        text-align: center;
    }

    .mobile-top-links a {
        display: block;
        color: rgba(255, 255, 255, 0.9);
        text-decoration: none;
        margin-bottom: 0.8rem;
        font-size: 0.95rem;
    }
}

/* Single Line Desktop Layout Fix for Tablets/Laptops */
@media (min-width: 992px) and (max-width: 1250px) {
    .navbar-nav .nav-link {
        padding-left: 0.4rem !important;
        padding-right: 0.4rem !important;
        font-size: 0.8rem !important;
    }
}

@media (min-width: 1251px) and (max-width: 1450px) {
    .navbar-nav .nav-link {
        padding-left: 0.6rem !important;
        padding-right: 0.6rem !important;
        font-size: 0.9rem !important;
    }
}

/* Hero Carousel Responsive Heights */
@media (max-width: 1200px) {
    #heroCarousel .carousel-item {
        height: 500px;
    }
}

@media (max-width: 992px) {
    #heroCarousel .carousel-item {
        height: 400px;
    }
}

/* =================================================
   Responsive Adjustments
   ================================================= */
/* For tablets and smaller devices */
@media (max-width: 768px) {
    .header-title {
        font-size: 1.4rem;
        /* Reduce header title font size */
    }

    .logo-img {
        max-height: 80px;
        /* Adjust logo size */
    }

    .naac-logo-img {
        max-height: 70px;
        /* Adjust NAAC logo size */
    }

    .page-header {
        padding: 40px 0;
        /* Reduce padding on page headers */
        margin-bottom: 20px;
    }

    .page-header h1 {
        font-size: 2rem;
        /* Reduce heading size in page headers */
    }

    #heroCarousel .carousel-item {
        height: 300px;
    }
}

@media (max-width: 576px) {
    #heroCarousel .carousel-item {
        height: 250px;
    }
}