/* Navigation Responsiveness Fixes */

/* Critical Navigation Visibility Fix */
.navbar-nav .nav-link {
    color: #ffffff !important;
    font-weight: 600 !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-decoration: none !important;
    display: block !important;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
    color: #f8f9fa !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-radius: 0.25rem !important;
}

.navbar-nav .dropdown-toggle {
    color: #ffffff !important;
    font-weight: 600 !important;
}

.navbar-brand {
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* Force all navigation text to be visible */
.navbar-nav, .navbar-nav .nav-item, .navbar-nav .nav-link, .navbar-brand {
    opacity: 1 !important;
    visibility: visible !important;
    color: #ffffff !important;
}

/* Improve navbar collapse behavior on smaller screens */
@media (max-width: 991.98px) {
    .navbar-nav {
        padding-top: 0.5rem;
    }
    
    .navbar-nav .nav-link {
        padding: 0.5rem 1rem !important;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    
    .navbar-nav .nav-link:last-child {
        border-bottom: none;
    }
    
    .dropdown-menu {
        position: static !important;
        display: block;
        width: 100%;
        background-color: rgba(0,0,0,0.1);
        border: none;
        box-shadow: inset 0 1px 3px rgba(0,0,0,0.2);
        margin-top: 0;
    }
    
    .dropdown-menu .dropdown-item {
        padding-left: 2rem;
        color: #dee2e6;
    }
    
    .dropdown-menu .dropdown-header {
        padding-left: 2rem;
        color: #6c757d;
        font-weight: bold;
    }
}

/* Optimize navigation spacing for larger screens */
@media (min-width: 992px) {
    .navbar-nav .nav-link {
        white-space: nowrap;
        font-size: 0.9rem;
    }
    
    .navbar-nav .dropdown-menu {
        min-width: 250px;
    }
    
    /* Ensure dropdowns don't extend beyond viewport */
    .navbar-nav .dropdown-menu.dropdown-menu-end {
        right: 0;
        left: auto;
    }
}

/* Brand text responsive sizing */
.navbar-brand {
    font-size: 1.5rem !important;
}

@media (max-width: 768px) {
    .navbar-brand {
        font-size: 1.25rem !important;
    }
}

/* Improve dropdown visibility and interaction */
.dropdown-menu {
    border-radius: 0.375rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    z-index: 1050 !important;
    position: absolute !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.dropdown-header {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Ensure proper container spacing */
.container-fluid {
    padding-left: 1rem;
    padding-right: 1rem;
}

@media (max-width: 576px) {
    .container-fluid {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
}

/* Fix navigation overlap issues */
.navbar {
    z-index: 1030 !important;
    position: relative !important;
    margin-bottom: 2rem !important;
}

/* Add proper spacing for page content after navigation */
body {
    padding-top: 0 !important;
}

/* Force all page content below navigation */
.page-content-wrapper {
    margin-top: 3rem !important;
    padding-top: 2rem !important;
    clear: both !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Ensure main content doesn't overlap with fixed navigation */
.main-content,
.container,
.container-fluid {
    margin-top: 2rem !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Prevent dropdown menus from appearing behind other elements */
.dropdown-menu {
    z-index: 1050 !important;
    position: absolute !important;
}

/* Fix specific overlap on nearby search page */
.nearby-search-container {
    margin-top: 3rem !important;
    padding-top: 2rem !important;
    clear: both !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Ensure search forms don't overlap with navigation */
.search-container,
.form-container,
.search-form {
    margin-top: 2rem !important;
    clear: both !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Force navigation to stay in its own layer */
.navbar-nav {
    position: relative !important;
    z-index: 1030 !important;
}

/* Additional spacing for mobile devices */
@media (max-width: 768px) {
    .page-content-wrapper {
        margin-top: 4rem !important;
        padding-top: 2rem !important;
    }
    
    .nearby-search-container {
        margin-top: 4rem !important;
        padding-top: 2rem !important;
    }
}