/* Health Calculator Navigation Styling */
/* Modern green theme navigation for health calculator pages */

/* Main navigation container */
nav {
    background: linear-gradient(135deg, #16a34a, #15803d) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 12px rgba(22, 163, 74, 0.15) !important;
    margin-bottom: 2rem !important;
    overflow: hidden !important;
}

nav > div {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 1.5rem !important;
}

/* Brand/logo styling */
nav > div > a {
    color: white !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    padding: 1rem 0 !important;
    display: inline-block !important;
}

/* Main menu container */
nav > div > div > ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    align-items: center !important;
}

nav > div > div > ul > li {
    position: relative !important;
}

/* Main menu items */
nav > div > div > ul > li > a {
    color: white !important;
    padding: 1rem 1.25rem !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
    border-radius: 8px !important;
    margin: 0 0.25rem !important;
    display: block !important;
}

nav > div > div > ul > li > a:hover {
    background: rgba(255, 255, 255, 0.15) !important;
    transform: translateY(-1px) !important;
}

/* Dropdown menu containers */
nav > div > div > ul > li > ul {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    background: white !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15) !important;
    min-width: 220px !important;
    padding: 0.75rem 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-10px) !important;
    transition: all 0.3s ease !important;
    z-index: 1000 !important;
    border: 1px solid #e5e7eb !important;
}

nav > div > div > ul > li:hover > ul {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

/* Dropdown menu items */
nav > div > div > ul > li > ul > li > a {
    color: #374151 !important;
    padding: 0.75rem 1.25rem !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
    border-radius: 0 !important;
    margin: 0 !important;
}

nav > div > div > ul > li > ul > li > a:hover {
    background: #f3f4f6 !important;
    color: #16a34a !important;
    padding-left: 1.5rem !important;
}

/* Override default blue theme */
nav.bg-blue-600, 
nav.bg-blue-600 *,
nav[class*="bg-blue"] {
    background-color: transparent !important;
}

nav.bg-blue-600 .group-hover\:block,
nav[class*="bg-blue"] .group-hover\:block {
    background-color: transparent !important;
}

nav.bg-blue-600 a:hover,
nav[class*="bg-blue"] a:hover {
    background-color: transparent !important;
}

/* Mobile responsive navigation */
@media (max-width: 768px) {
    nav > div > div > ul {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    
    nav > div > div > ul > li > ul {
        position: static !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        box-shadow: none !important;
        background: rgba(255, 255, 255, 0.1) !important;
        margin-left: 1rem !important;
        border-radius: 8px !important;
    }
    
    nav > div > div > ul > li > ul > li > a {
        color: rgba(255, 255, 255, 0.9) !important;
    }
    
    nav > div > div > ul > li > ul > li > a:hover {
        background: rgba(255, 255, 255, 0.2) !important;
        color: white !important;
    }
}

/* Additional mobile menu toggle if needed */
@media (max-width: 640px) {
    nav > div {
        padding: 0 1rem !important;
    }
    
    nav > div > a {
        font-size: 1.125rem !important;
        padding: 0.75rem 0 !important;
    }
    
    nav > div > div > ul > li > a {
        padding: 0.75rem 1rem !important;
        margin: 0 0.125rem !important;
        font-size: 0.9rem !important;
    }
}
