/* ==========================================================================
   ZoomFlightz - Minimal, Uncluttered Navigation Bar Styles (navbar.css)
   ========================================================================== */

/* Navbar Container */
.custom-navbar {
    background-color: var(--color-bg-surface);
    border-bottom: 1px solid var(--color-border-default);
    padding: 0.75rem 0;
    transition: var(--transition-smooth);
    z-index: 1030;
}

.custom-navbar.navbar-scrolled {
    border-bottom-color: var(--color-border-strong);
    box-shadow: var(--shadow-sm);
}

/* Brand Identity */
.navbar-brand {
    font-weight: 700;
    font-size: 1.4rem;
    letter-spacing: -0.4px;
    color: var(--color-text-primary);
    transition: color 0.2s ease;
    text-decoration: none;
}

.brand-icon-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background-color: var(--color-primary);
    color: var(--color-text-white);
    border-radius: var(--radius-sm);
}

.brand-icon {
    width: 20px;
    height: 20px;
}

.brand-highlight {
    color: var(--color-primary);
}

.brand-domain {
    font-size: 0.9rem;
    color: var(--color-accent);
    font-weight: 700;
}

/* Single Flights Action Button */
.nav-flight-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    background-color: var(--color-bg-body);
    color: var(--color-text-secondary);
    border: 1px solid var(--color-border-default);
    border-radius: var(--radius-full);
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.38rem 0.95rem;
    transition: var(--transition-smooth);
}

.nav-flight-btn:hover {
    background-color: var(--color-bg-subtle);
    border-color: var(--color-border-strong);
    color: var(--color-primary);
}

.nav-flight-btn.active {
    background-color: var(--color-primary-subtle);
    border-color: var(--color-primary-subtle-border);
    color: var(--color-primary-hover);
}

/* 24/7 Call Center Pill Badge */
.nav-call-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background-color: var(--color-success-subtle);
    border: 1.5px solid var(--color-success);
    border-radius: var(--radius-full);
    padding: 0.35rem 0.9rem 0.35rem 0.4rem;
    transition: var(--transition-smooth);
}

.nav-call-badge:hover {
    background-color: var(--color-success-border);
    border-color: var(--color-success-hover);
}

.call-avatar-ring {
    width: 30px;
    height: 30px;
    background-color: var(--color-success);
    color: var(--color-text-white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.call-icon {
    width: 15px;
    height: 15px;
}

.call-text-group {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.call-subtitle {
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.call-number {
    font-size: 0.92rem;
    font-weight: 800;
    color: var(--color-success-hover);
    letter-spacing: 0.2px;
}

/* Nav Action Links (Support & My Bookings) */
.nav-action-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--color-text-secondary);
    padding: 0.4rem 0.65rem;
    border-radius: var(--radius-sm);
    font-size: 0.88rem;
    font-weight: 600;
    transition: var(--transition-smooth);
}

.nav-action-link:hover {
    color: var(--color-primary);
    background-color: var(--color-bg-subtle);
}

.nav-action-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid var(--color-border-default);
    background-color: var(--color-bg-body);
    color: var(--color-primary);
    transition: var(--transition-smooth);
}

.nav-action-link:hover .nav-action-icon {
    background-color: var(--color-primary-subtle);
    border-color: var(--color-primary-subtle-border);
    color: var(--color-primary-hover);
}

/* Lucide Hamburger & Cross Toggler */
.custom-lucide-toggler {
    display: none;
    background: transparent;
    border-radius: var(--radius-sm);
    color: var(--color-text-secondary);
    transition: var(--transition-smooth);
}

.custom-lucide-toggler:focus {
    outline: none;
    box-shadow: none;
}

.custom-lucide-toggler:hover {
    background-color: var(--color-bg-subtle);
    color: var(--color-text-primary);
}

/* Default state (collapsed): show menu hamburger, hide cross */
.custom-lucide-toggler .nav-menu-icon,
.custom-lucide-toggler.collapsed .nav-menu-icon {
    display: inline-block !important;
    width: 24px;
    height: 24px;
}

.custom-lucide-toggler .nav-close-icon,
.custom-lucide-toggler.collapsed .nav-close-icon {
    display: none !important;
    width: 24px;
    height: 24px;
}

/* Expanded state: hide menu hamburger, show cross */
.custom-lucide-toggler[aria-expanded="true"] .nav-menu-icon,
.custom-lucide-toggler:not(.collapsed) .nav-menu-icon {
    display: none !important;
}

.custom-lucide-toggler[aria-expanded="true"] .nav-close-icon,
.custom-lucide-toggler:not(.collapsed) .nav-close-icon {
    display: inline-block !important;
}

/* Responsive Navigation Breakpoints */
@media (max-width: 991.98px) {
    .custom-lucide-toggler {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .custom-navbar .navbar-collapse {
        background-color: var(--color-bg-surface);
        padding: 1rem;
        border-radius: var(--radius-md);
        margin-top: 0.75rem;
        border: 1px solid var(--color-border-default);
        box-shadow: var(--shadow-md);
    }

    .nav-call-badge {
        justify-content: center;
        width: 100%;
        margin: 0.25rem 0;
    }

    .nav-action-link {
        justify-content: center;
        width: 100%;
        background-color: var(--color-bg-body);
        border: 1px solid var(--color-border-subtle);
        margin-bottom: 0.25rem;
    }
}

@media (max-width: 575.98px) {
    .brand-text {
        font-size: 1.2rem;
    }
}
