/* Navigation Vertical Scroll Fix - AGGRESSIVE APPROACH */

/* Force no scrollbars on body and html when dropdown is active */
html {
    overflow-x: hidden !important;
}

body {
    overflow-x: hidden !important;
}

/* Completely prevent navbar scrollbars */
#header, #header * {
    overflow: visible !important;
}

/* Force navbar to never show vertical scroll */
#header.header {
    overflow: visible !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
}

.navmenu {
    overflow: visible !important;
    height: auto !important;
}

/* Prevent any scrollbars in navigation */
.navmenu, .navmenu ul, .navmenu li {
    overflow: visible !important;
}

/* Dropdown positioning fixes */
.navmenu ul li.dropdown {
    position: relative !important;
    overflow: visible !important;
}

.navmenu ul li.dropdown ul {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    z-index: 99999 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    max-height: 60vh !important;
    width: auto !important;
    min-width: 200px !important;
    max-width: 350px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    border-radius: 4px !important;
    margin-top: 0 !important;
    padding: 0 !important;
}

/* Nuclear option - hide all scrollbars in header area */
#header::-webkit-scrollbar,
.navmenu::-webkit-scrollbar,
.navmenu ul::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

#header,
.navmenu,
.navmenu ul {
    -ms-overflow-style: none !important;
    scrollbar-width: none !important;
}

/* Specific fix for membership request dropdown */
.navmenu ul li.dropdown:has(span:contains("Membership Request")) ul,
.navmenu ul li.dropdown a[href*="membership-request"] + ul,
.navmenu ul li.dropdown a[href*="pending-membership"] + ul {
    max-height: 50vh !important;
    overflow-y: auto !important;
    position: absolute !important;
    z-index: 99999 !important;
}

/* Prevent unnecessary vertical scrolling in navigation */
@media (max-width: 1199px) {
    /* Mobile Navigation Fixes */
    .navmenu ul {
        max-height: calc(100vh - 120px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }
    
    /* Dropdown menu fixes */
    .navmenu .dropdown ul {
        max-height: none !important;
        overflow: visible !important;
    }
    
    /* Prevent body scroll when mobile nav is open */
    .mobile-nav-active {
        overflow: hidden !important;
        height: 100vh !important;
    }
    
    /* Fix for nested dropdowns */
    .navmenu .dropdown .dropdown ul {
        max-height: 300px !important;
        overflow-y: auto !important;
    }
}

/* Desktop Navigation Fixes */
@media (min-width: 1200px) {
    /* Ensure dropdown menus don't cause page scroll */
    .navmenu .dropdown ul {
        max-height: 70vh !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        position: absolute !important;
        z-index: 9999 !important;
    }
    
    /* Fix for very long dropdown menus */
    .navmenu .dropdown ul li {
        white-space: nowrap !important;
    }
    
    /* Prevent horizontal overflow */
    .navmenu .dropdown ul {
        min-width: 200px !important;
        max-width: 300px !important;
    }
    
    /* Specific fix for membership request dropdown */
    .navmenu .dropdown:has(span:contains("Membership Request")) ul {
        max-height: 60vh !important;
        overflow-y: auto !important;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
    }
}

/* Prevent navbar from expanding vertically */
#header.header {
    overflow: visible !important;
}

.navmenu {
    overflow: visible !important;
}

/* Ensure dropdowns don't affect navbar height */
.navmenu ul li.dropdown {
    position: relative !important;
}

.navmenu ul li.dropdown ul {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    z-index: 9999 !important;
}

/* Super Admin Specific Fixes */
.navmenu ul li.dropdown ul {
    scrollbar-width: thin !important;
    scrollbar-color: rgba(255, 255, 255, 0.3) transparent !important;
}

/* Custom scrollbar for webkit browsers */
.navmenu ul li.dropdown ul::-webkit-scrollbar {
    width: 6px !important;
}

.navmenu ul li.dropdown ul::-webkit-scrollbar-track {
    background: transparent !important;
}

.navmenu ul li.dropdown ul::-webkit-scrollbar-thumb {
    background-color: rgba(255, 255, 255, 0.3) !important;
    border-radius: 3px !important;
}

.navmenu ul li.dropdown ul::-webkit-scrollbar-thumb:hover {
    background-color: rgba(255, 255, 255, 0.5) !important;
}

/* Notification fixes */
.notification-item {
    overflow: visible !important;
}

/* Button fixes for accountant dropdown forms */
.memberShipType {
    background: transparent !important;
    border: none !important;
    width: 100% !important;
    text-align: left !important;
    padding: 10px 20px !important;
    transition: background-color 0.3s ease !important;
}

.memberShipType:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: var(--nav-dropdown-hover-color) !important;
}

/* Fix for long menu items */
@media (max-width: 1199px) {
    .navmenu a {
        word-wrap: break-word !important;
        white-space: normal !important;
        line-height: 1.4 !important;
    }
}

/* Prevent page jumping when navigation opens */
html, body {
    scroll-behavior: smooth !important;
}

/* Fix for dropdown positioning */
@media (min-width: 1200px) {
    .navmenu .dropdown ul {
        transform: translateY(0) !important;
        will-change: transform, opacity !important;
    }
}