﻿/* =========================
   CLASSIC MENU TEMPLATE - Enhanced
   Professional, clean design
========================= */

.navbar-custom {
    background: var(--menu-bg, #ffffff) !important;
    box-shadow: var(--menu-shadow, 0 4px 20px rgba(0, 0, 0, 0.08)) !important;
    padding: 0.5rem 0;
    border-bottom: 3px solid var(--menu-border, #0d6efd);
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
}

    .navbar-custom.scrolled {
        box-shadow: 0 6px 30px rgba(0, 0, 0, 0.12);
        padding: 0.3rem 0;
    }

    .navbar-custom .navbar-nav {
        gap: 0.2rem;
    }

    .navbar-custom .nav-link {
        color: var(--menu-text, #333) !important;
        font-weight: 600;
        font-size: 0.95rem;
        padding: 0.75rem 1.25rem !important;
        margin: 0 0.15rem;
        border-radius: 8px;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        position: relative;
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

        .navbar-custom .nav-link::before {
            content: '';
            position: absolute;
            bottom: 0;
            left: 50%;
            width: 0;
            height: 3px;
            background: var(--menu-accent, #0d6efd);
            border-radius: 3px 3px 0 0;
            transform: translateX(-50%);
            transition: width 0.3s ease;
        }

        .navbar-custom .nav-link:hover,
        .navbar-custom .nav-link.active {
            color: var(--menu-hover, #0d6efd) !important;
            background: rgba(var(--menu-accent-rgb, 13, 110, 253), 0.08);
            transform: translateY(-1px);
        }

            .navbar-custom .nav-link.active::before,
            .navbar-custom .nav-link:hover::before {
                width: 70%;
            }

        .navbar-custom .nav-link i {
            font-size: 1.1rem;
            transition: transform 0.3s ease;
        }

        .navbar-custom .nav-link:hover i {
            transform: scale(1.1);
        }

    /* Dropdown Styles */
    .navbar-custom .dropdown-menu {
        background: var(--dropdown-bg, #ffffff) !important;
        border: 1px solid var(--dropdown-border, rgba(0, 0, 0, 0.1)) !important;
        border-radius: 12px !important;
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15) !important;
        padding: 0.5rem 0;
        margin-top: 0.5rem !important;
        min-width: 220px;
        animation: fadeInDown 0.3s ease;
        border: none !important;
    }

    .navbar-custom .dropdown-item {
        color: var(--dropdown-text, #333) !important;
        font-weight: 500;
        padding: 0.7rem 1.5rem !important;
        margin: 0.2rem 0.5rem;
        border-radius: 8px;
        transition: all 0.2s ease;
        display: flex;
        align-items: center;
        gap: 0.75rem;
    }

        .navbar-custom .dropdown-item:hover,
        .navbar-custom .dropdown-item:focus {
            background: var(--dropdown-hover, rgba(13, 110, 253, 0.1)) !important;
            color: var(--dropdown-hover-text, #0d6efd) !important;
            transform: translateX(5px);
            padding-left: 1.75rem !important;
        }

        .navbar-custom .dropdown-item i {
            font-size: 1rem;
            width: 20px;
            text-align: center;
            opacity: 0.7;
        }

        .navbar-custom .dropdown-item:hover i {
            opacity: 1;
            transform: scale(1.1);
        }

    /* Dropdown Caret */
    .navbar-custom .dropdown-toggle::after {
        margin-left: 0.5rem;
        vertical-align: middle;
        transition: transform 0.3s ease;
        border-top: 0.3em solid;
        border-right: 0.3em solid transparent;
        border-left: 0.3em solid transparent;
    }

    .navbar-custom .dropdown:hover .dropdown-toggle::after {
        transform: rotate(180deg);
    }

    /* Mobile Toggler */
    .navbar-custom .navbar-toggler {
        border: 2px solid var(--menu-accent, #0d6efd);
        border-radius: 8px;
        padding: 0.5rem 0.75rem;
        transition: all 0.3s ease;
    }

        .navbar-custom .navbar-toggler:hover {
            background: var(--menu-accent, #0d6efd);
            transform: rotate(90deg);
        }

            .navbar-custom .navbar-toggler:hover .navbar-toggler-icon {
                background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='white' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
            }

    .navbar-custom .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%230d6efd' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
        transition: all 0.3s ease;
    }

/* Mobile Menu */
@media (max-width: 991.98px) {
    .navbar-custom {
        padding: 0.5rem 1rem;
    }

        .navbar-custom .navbar-collapse {
            background: var(--mobile-menu-bg, #ffffff);
            border-radius: 12px;
            margin-top: 0.5rem;
            padding: 1rem;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
            border: 1px solid rgba(0, 0, 0, 0.08);
        }

        .navbar-custom .nav-link {
            margin: 0.25rem 0;
            padding: 0.85rem 1rem !important;
            border-radius: 8px;
            border-left: 4px solid transparent;
        }

            .navbar-custom .nav-link.active {
                border-left-color: var(--menu-accent, #0d6efd);
                background: rgba(var(--menu-accent-rgb, 13, 110, 253), 0.1);
            }

        .navbar-custom .dropdown-menu {
            box-shadow: none;
            border: 1px solid rgba(0, 0, 0, 0.05) !important;
            margin: 0.5rem 0;
            padding: 0.5rem 0;
            background: rgba(0, 0, 0, 0.02) !important;
        }

        .navbar-custom .dropdown-item {
            padding: 0.6rem 1.5rem !important;
            margin: 0.15rem 0;
        }
}

/* Animation */
@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* RTL Support */
[dir="rtl"] .navbar-custom .dropdown-menu {
    text-align: right;
}

[dir="rtl"] .navbar-custom .dropdown-item:hover {
    transform: translateX(-5px);
}
