/* Navigation Menu Fixes - تحسينات قائمة التنقل */

/* Override any conflicting styles */
.site-header .nav-menu,
.main-nav .nav-menu {
    display: flex !important;
    align-items: center !important;
}

.site-header .nav-list,
.main-nav .nav-list {
    display: flex !important;
    align-items: center !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Main Navigation Menu - Desktop Optimized */
.nav-menu {
    display: flex !important;
    align-items: center !important;
    gap: 25px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Navigation Links - Desktop Optimized */
.nav-link {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 12px 18px !important;
    color: var(--text-color, #111111) !important;
    border-radius: var(--border-radius, 8px) !important;
    font-weight: 500 !important;
    transition: var(--transition-fast, 0.2s ease) !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    font-size: var(--font-size-base, 1rem) !important;
}

.nav-link:hover,
.nav-link.active {
    background: var(--primary-color, #e30613);
    color: var(--secondary-color, #ffffff);
}

/* Navigation List - Desktop Optimized */
.nav-list {
    display: flex !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    align-items: center !important;
}

/* Navigation Content - Desktop Layout */
.nav-content {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: var(--container-max-width, 1200px) !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

/* Logo Link */
.logo-link {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}

/* Mobile Menu Toggle - Updated to match actual HTML class */
.mobile-menu-btn {
    display: none;
    flex-direction: column;
    gap: 4px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
}

/* CRITICAL: Force mobile menu button visibility on mobile screens */
@media screen and (max-width: 768px) {
    .mobile-menu-btn {
        display: flex !important;
    }
}

/* Responsive Navigation - Force Mobile Menu Display */
@media (max-width: 768px) {
    /* Hide desktop navigation completely */
    .nav-menu {
        display: none !important;
        visibility: hidden !important;
    }

    .search-form {
        display: none !important;
        visibility: hidden !important;
    }

    /* Force mobile menu button to show */
    .mobile-menu-btn {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        z-index: 1001 !important;
    }
}

/* Enhanced Navigation Styles - Desktop Focus */
.main-nav {
    padding: 15px 0 !important;
    background: var(--secondary-color, #ffffff) !important;
    box-shadow: var(--shadow, 0 2px 8px rgba(0, 0, 0, 0.1)) !important;
}

/* Desktop-Specific Navigation Improvements - Only apply on desktop */
@media (min-width: 769px) {
    .nav-menu {
        display: flex !important;
        align-items: center !important;
        gap: 0 !important;
        margin-left: auto !important;
        margin-right: 20px !important;
        flex-shrink: 0 !important;
    }

    .nav-list {
        display: flex !important;
        align-items: center !important;
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Hide mobile menu button on desktop */
    .mobile-menu-btn {
        display: none !important;
    }

    .nav-link {
        margin: 0 8px !important;
        padding: 12px 16px !important;
        border-radius: 8px !important;
        font-size: 1rem !important;
        font-weight: 500 !important;
        transition: all 0.3s ease !important;
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        white-space: nowrap !important;
    }

    .nav-link:hover {
        background: var(--primary-color, #e30613) !important;
        color: var(--secondary-color, #ffffff) !important;
        transform: translateY(-1px) !important;
    }

    .nav-link.active {
        background: var(--primary-color, #e30613) !important;
        color: var(--secondary-color, #ffffff) !important;
    }

    /* Ensure proper spacing between logo and menu */
    .logo {
        flex-shrink: 0 !important;
        margin-left: 0 !important;
    }

    /* Search form positioning */
    .search-form {
        margin-left: 20px !important;
        flex-shrink: 0 !important;
    }
}

/* Navigation Icons */
.nav-link i {
    font-size: 1rem;
    color: inherit;
}

/* Active Navigation State */
.nav-link.active i {
    color: var(--secondary-color, #ffffff);
}

/* Navigation Hover Effects */
.nav-link:hover {
    transform: translateY(-1px);
}

/* Navigation Focus States */
.nav-link:focus {
    outline: 2px solid var(--primary-color, #e30613);
    outline-offset: 2px;
}

/* Navigation Accessibility */
.nav-link:focus-visible {
    outline: 2px solid var(--primary-color, #e30613);
    outline-offset: 2px;
}

/* Navigation Dropdown Support (if needed) */
.nav-item {
    position: relative;
}

.nav-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    background: var(--secondary-color, #ffffff);
    box-shadow: var(--shadow-lg, 0 4px 16px rgba(0, 0, 0, 0.15));
    border-radius: var(--border-radius, 8px);
    padding: 10px 0;
    min-width: 200px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 1000;
}

.nav-item:hover .nav-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.nav-dropdown .nav-link {
    padding: 10px 20px;
    border-radius: 0;
    width: 100%;
    justify-content: flex-start;
}

.nav-dropdown .nav-link:hover {
    background: var(--background-light, #f5f5f5);
    color: var(--primary-color, #e30613);
    transform: none;
}

/* Navigation Brand/Logo */
.logo-text {
    font-size: var(--font-size-xl, 1.25rem);
    font-weight: 700;
    color: var(--primary-color, #e30613);
}

.logo-img {
    height: 50px;
    width: auto;
}

/* Search Form in Navigation */
.search-form {
    display: flex;
    align-items: center;
    background: var(--background-light, #f5f5f5);
    border-radius: var(--border-radius-lg, 12px);
    overflow: hidden;
    border: 2px solid transparent;
    transition: var(--transition-fast, 0.2s ease);
}

.search-form:focus-within {
    border-color: var(--primary-color, #e30613);
}

.search-input {
    border: none;
    background: none;
    width: 200px;
    padding: 10px 15px;
    outline: none;
    font-family: inherit;
}

.search-btn {
    background: var(--primary-color, #e30613);
    color: var(--secondary-color, #ffffff);
    border: none;
    cursor: pointer;
    padding: 10px 15px;
    transition: var(--transition-fast, 0.2s ease);
}

.search-btn:hover {
    background: var(--primary-dark, #b8050f);
}

/* Mobile Navigation Improvements */
@media (max-width: 768px) {
    .main-nav {
        padding: 10px 0;
    }

    .logo-img {
        height: 40px;
    }

    .nav-content {
        gap: 10px;
        justify-content: space-between !important;
    }

    /* Ensure mobile menu button is visible */
    .mobile-menu-btn {
        display: flex !important;
        order: 3;
    }

    /* Hide desktop navigation on mobile */
    .nav-menu,
    .search-form {
        display: none !important;
    }

    /* Mobile menu elements should not be affected by navigation fixes */
    .mobile-overlay,
    .mobile-sidebar {
        display: block !important;
    }
}

@media (max-width: 576px) {
    .main-nav {
        padding: 8px 0;
    }

    .logo-img {
        height: 35px;
    }

    .logo-text {
        font-size: var(--font-size-lg, 1.125rem);
    }
}

/* CRITICAL: Mobile Menu Override - Force mobile menu to work */
@media screen and (max-width: 768px) {
    /* FORCE HIDE desktop navigation */
    .main-nav .nav-menu,
    .nav-menu,
    .nav-list,
    .search-form,
    .search-box {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }

    /* FORCE SHOW mobile menu button */
    .mobile-menu-btn {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        z-index: 1001 !important;
        background: transparent !important;
        border: none !important;
        cursor: pointer !important;
        padding: 8px !important;
        width: 45px !important;
        height: 45px !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        order: 999 !important;
        margin-left: auto !important;
    }

    /* Mobile menu hamburger bars */
    .mobile-menu-btn .menu-bar {
        display: block !important;
        width: 25px !important;
        height: 3px !important;
        background: #111 !important;
        margin: 3px 0 !important;
        transition: all 0.3s ease !important;
        border-radius: 2px !important;
    }

    /* Mobile menu overlay and sidebar must be functional */
    .mobile-overlay {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100vh !important;
        background: rgba(0, 0, 0, 0.6) !important;
        z-index: 998 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: all 0.3s ease !important;
        display: block !important;
    }

    .mobile-overlay.active {
        opacity: 1 !important;
        visibility: visible !important;
    }

    .mobile-sidebar {
        position: fixed !important;
        top: 0 !important;
        right: -350px !important;
        width: 320px !important;
        height: 100vh !important;
        background: #fff !important;
        z-index: 999 !important;
        transition: all 0.3s ease !important;
        display: block !important;
        box-shadow: -2px 0 20px rgba(0, 0, 0, 0.15) !important;
        overflow-y: auto !important;
    }

    .mobile-sidebar.active {
        right: 0 !important;
    }

    /* Ensure nav content layout works on mobile */
    .nav-content {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
        padding: 0 20px !important;
    }

    /* Logo should stay visible */
    .logo {
        display: flex !important;
        order: 1 !important;
    }
}
