/* ========================================
   HEADER GRADIENT - Navbar & Topbar
   ======================================== */

/* Apply solid color to the navbar background */
.nav-bar .bg-primary {
    background: #30385f !important;
}

/* Single fixed wrapper - topbar + navbar as one unit */
.header-fixed-wrapper {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 1002 !important;
}

/* Topbar - fixed by default (fallback if wrapper absent), relative inside wrapper */
.topbar-wrapper {
    background: #ffffff !important;
    border-bottom: 1px solid #e0e0e0 !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 1001 !important;
}
.header-fixed-wrapper .topbar-wrapper {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    z-index: auto !important;
}

/* Navbar - fixed by default (fallback), relative inside wrapper */
.container-fluid.nav-bar {
    position: fixed !important;
    top: 45px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 1000 !important;
}
.header-fixed-wrapper .container-fluid.nav-bar {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    z-index: auto !important;
}

/* Mobile fallback top adjustments */
@media (max-width: 991px) {
    .container-fluid.nav-bar { top: 38px !important; }
    .header-fixed-wrapper .container-fluid.nav-bar { top: auto !important; }
}
@media (max-width: 575px) {
    .container-fluid.nav-bar { top: 36px !important; }
    .header-fixed-wrapper .container-fluid.nav-bar { top: auto !important; }
}

/* Make entire navbar uniform solid color */
.nav-bar {
    background: #30385f !important;
}

/* Add padding to body to prevent content hiding under fixed header */
body {
    padding-top: 110px !important;
}

/* Ensure scroll targets land below the fixed header */
html {
    scroll-padding-top: 110px;
    scroll-behavior: smooth;
}

/* Ensure nav links are visible */
.nav-bar .navbar .navbar-nav .nav-link {
    color: #ffffff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* Hover / active nav links */
.nav-bar .navbar-nav .nav-link:hover,
.nav-bar .navbar-nav .nav-link.active {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border-radius: 0 !important;
}

/* Mobile toggle button */
.navbar-toggler {
    border-color: rgba(255, 255, 255, 0.5) !important;
}

.navbar-toggler .fa-bars {
    color: #ffffff !important;
}

/* Logo section background */
.nav-bar .row.gx-0 {
    background: #30385f !important;
}

/* Zebronics-style navbar */
.nav-bar .navbar {
    padding: 15px 0 !important;
}

/* Navigation links */
.nav-bar .navbar-nav .nav-link {
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    font-family: 'Open Sans', 'Roboto', sans-serif !important;
    padding: 12px 20px !important;
    text-transform: capitalize !important;
    transition: all 0.3s ease !important;
    text-shadow: none !important;
}

/* Override background and shadow on navbar elements */
.nav-bar .navbar-light,
.nav-bar .navbar {
    background: transparent !important;
    box-shadow: none !important;
}

/* ========================================
   MOBILE (< 992px)
   ======================================== */
@media (max-width: 991px) {
    /* Override Bootstrap px-5 (48px) on navbar row — prevents horizontal overflow */
    .nav-bar .row.gx-0 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    /* Compact navbar */
    .nav-bar .navbar {
        padding: 6px 0 !important;
    }

    .nav-bar .navbar-collapse {
        background: #30385f !important;
        padding: 5px 15px 12px !important;
        border-top: 1px solid rgba(255, 255, 255, 0.15);
    }

    .nav-bar .navbar-collapse .nav-link {
        padding: 10px 15px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }

    .nav-bar .navbar-collapse .nav-link:last-child {
        border-bottom: none;
    }
}
