/* ==========================================================================
   Navbar  — element-scoped styles for the top navigation bar
   --------------------------------------------------------------------------
   Everything that styles the navbar lives here: the top bar, brand wordmark,
   nav links + active underline, the server/community/user dropdowns, the
   member search box and the notifications panel (desktop + mobile).

   Shared theme tokens (the --qr-* colour variables) are defined in qubitrp.css
   and consumed below. Loaded AFTER main.css and the inline <style> block in
   layouts/app.blade.php, so these rules override the framework defaults.

   Structure:
     1. Base styles migrated from the old inline <style> block (recoloured to
        the new accent theme).
     2. Theme overrides layered on top (top bar look, links, wordmark, etc.).
   ========================================================================== */

/* =====================================================================
   1. BASE  (migrated from inline <style>, recoloured to the accent theme)
   ===================================================================== */

        /* User Dropdown Menu Styles */
        .user-dropdown-menu {
            background: #12181f;
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 12px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
            padding: 0;
            overflow: hidden;
            min-width: 280px;
            margin-top: -2px !important;
        }
        
        /* Fix pour le hover du dropdown */
        .nav-item.dropdown:hover .dropdown-menu {
            display: block;
            margin-top: -2px !important;
        }
        
        /* Zone invisible pour maintenir le hover */
        .nav-item.dropdown::after {
            content: '';
            position: absolute;
            height: 10px;
            width: 100%;
            top: 100%;
            left: 0;
        }
        
        
        .user-dropdown-header {
            background: linear-gradient(135deg, rgba(43, 189, 246, 0.1) 0%, rgba(95, 208, 251, 0.05) 100%);
            padding: 20px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }
        
        .user-dropdown-info {
            display: flex;
            align-items: center;
            gap: 15px;
        }
        
        .user-dropdown-avatar {
            width: 50px;
            height: 50px;
            border-radius: 12px;
            border: 3px solid var(--primary-orange);
            box-shadow: 0 4px 15px rgba(43, 189, 246, 0.3);
        }
        
        .user-dropdown-details {
            flex: 1;
        }
        
        .user-dropdown-name {
            color: #ffffff;
            font-weight: 700;
            font-size: 1.1rem;
            margin-bottom: 2px;
        }
        
        .user-dropdown-status {
            color: rgba(255, 255, 255, 0.7);
            font-size: 0.85rem;
            display: flex;
            align-items: center;
            gap: 5px;
        }
        
        .user-dropdown-menu .dropdown-item {
            color: rgba(255, 255, 255, 0.8);
            padding: 12px 20px;
            transition: all 0.3s ease;
            border: none;
            display: flex;
            align-items: center;
            gap: 12px;
            font-weight: 500;
        }
        
        .user-dropdown-menu .dropdown-item:hover {
            background: rgba(43, 189, 246, 0.1);
            color: #ffffff;
            transform: translateX(5px);
        }
        
        .user-dropdown-menu .dropdown-item i {
            width: 20px;
            text-align: center;
            color: var(--primary-orange);
        }
        
        .user-dropdown-menu .dropdown-divider {
            margin: 0;
            border-color: rgba(255, 255, 255, 0.1);
        }
        
        .user-dropdown-menu .dropdown-item.text-danger {
            color: #ef4444 !important;
        }
        
        .user-dropdown-menu .dropdown-item.text-danger:hover {
            background: rgba(239, 68, 68, 0.1);
        }
        
        .user-dropdown-menu .dropdown-item.text-danger i {
            color: #ef4444;
        }

        /* Toggle switch pour les effets saisonniers */
        .toggle-switch-small {
            position: relative;
            display: inline-block;
            width: 44px;
            height: 24px;
        }

        .toggle-switch-small input {
            opacity: 0;
            width: 0;
            height: 0;
        }

        .toggle-slider-small {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: rgba(255, 255, 255, 0.1);
            transition: .4s;
            border-radius: 24px;
            border: 1px solid rgba(255, 255, 255, 0.2);
        }

        .toggle-slider-small:before {
            position: absolute;
            content: "";
            height: 18px;
            width: 18px;
            left: 2px;
            bottom: 2px;
            background-color: white;
            transition: .4s;
            border-radius: 50%;
        }

        .toggle-switch-small input:checked + .toggle-slider-small {
            background-color: var(--primary-orange);
            border-color: var(--primary-orange);
        }

        .toggle-switch-small input:checked + .toggle-slider-small:before {
            transform: translateX(20px);
        }
        
        /* LeafCoins buy button animation */
        .btn-buy-leafcoins:hover {
            background: linear-gradient(135deg, rgba(255, 215, 0, 0.25) 0%, rgba(184, 134, 11, 0.25) 100%) !important;
            border-color: rgba(255, 215, 0, 0.5) !important;
            transform: translateY(-1px);
            box-shadow: 0 4px 12px rgba(255, 215, 0, 0.2);
            text-decoration: none !important;
            color: #FFD700 !important;
        }
        
        .btn-buy-leafcoins:active {
            transform: translateY(0);
            box-shadow: 0 2px 6px rgba(255, 215, 0, 0.15);
        }
        
        /* Profile link in dropdown */
        .user-dropdown-profile {
            background: rgba(43, 189, 246, 0.05);
            border-top: 1px solid rgba(255, 255, 255, 0.1);
        }
        
        .user-dropdown-profile .dropdown-item {
            font-weight: 600;
        }
        
        /* Badge for role */
        .user-role-badge {
            color: white;
            padding: 3px 10px;
            border-radius: 12px;
            font-size: 0.75rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            display: inline-flex;
            align-items: center;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
        }
        
        /* User Search Styles */
        .user-search-container {
            position: absolute;
            right: 0;
            top: 100%;
            z-index: 1000;
            min-width: 300px;
        }
        
        .user-search-input {
            background: #12181f;
            border: 1px solid rgba(255, 255, 255, 0.1);
            color: #ffffff;
            border-radius: 8px;
            padding: 8px 12px;
            font-size: 0.9rem;
        }
        
        .user-search-input:focus {
            background: #12181f;
            border-color: var(--primary-orange);
            color: #ffffff;
            box-shadow: 0 0 0 0.2rem rgba(43, 189, 246, 0.25);
        }
        
        .user-search-input::placeholder {
            color: rgba(255, 255, 255, 0.5);
        }
        
        .user-search-results {
            background: #12181f;
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 8px;
            margin-top: 5px;
            max-height: 300px;
            overflow-y: auto;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
            display: block;
            position: relative;
            z-index: 1001;
        }
        
        .user-search-results:empty {
            display: none;
        }
        
        .search-result-item {
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            transition: background-color 0.2s ease;
        }
        
        .search-result-item:last-child {
            border-bottom: none;
        }
        
        .search-result-item:hover,
        .search-result-item.highlighted {
            background: rgba(43, 189, 246, 0.1);
        }
        
        .search-result-item a {
            padding: 12px 15px;
            color: rgba(255, 255, 255, 0.8);
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            gap: 12px;
        }
        
        .search-result-item a:hover {
            background: rgba(43, 189, 246, 0.1);
            color: #ffffff;
        }
        
        .search-result-avatar {
            width: 32px;
            height: 32px;
            border-radius: 8px;
            border: 2px solid var(--primary-orange);
        }
        
        .search-result-info {
            flex: 1;
        }
        
        .search-result-name {
            font-weight: 600;
            font-size: 0.9rem;
            margin-bottom: 2px;
        }
        
        .search-result-role {
            font-size: 0.75rem;
            color: rgba(255, 255, 255, 0.6);
        }
        
        .search-result-flag {
            width: 16px;
            height: 12px;
            border-radius: 2px;
        }
        
        .search-no-results,
        .search-loading {
            padding: 15px;
            text-align: center;
            color: rgba(255, 255, 255, 0.6);
            font-size: 0.9rem;
        }
        
        .search-loading {
            color: var(--primary-orange);
        }
        
        /* Highlighting des résultats de recherche */
        .search-result-name mark {
            background: rgba(43, 189, 246, 0.3);
            color: var(--primary-orange);
            padding: 0 2px;
            border-radius: 2px;
        }
        
        /* Animation pour le spinner */
        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }
        
        .fa-spin {
            animation: spin 1s linear infinite;
        }
        
        /* Navigation améliorée */
        .navbar {
            background: rgba(16, 21, 38, 0.98) !important;
            backdrop-filter: blur(10px);
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
            padding: 1.3rem 0;
            transition: all 0.3s ease;
            position: fixed;
            top: 0;
            width: 100%;
            z-index: 1000;
        }
        
        .navbar.scrolled {
            padding: 0.6rem 0;
            background: rgba(16, 21, 38, 0.99) !important;
            box-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
        }
        
        .navbar-brand img {
            height: 60px;
            transition: all 0.3s ease;
        }
        
        .navbar.scrolled .navbar-brand img {
            height: 60px;
        }
        
        /* Ajustement du contenu principal pour le header fixe */
        #page-container {
            padding-top: 95px;
        }
        
        .navbar-nav {
            gap: 5px;
            transition: all 0.3s ease;
        }
        
        .navbar.scrolled .navbar-nav .nav-link {
            padding: 6px 10px !important;
            font-size: 0.9rem;
        }
        
        .navbar-nav .nav-link {
            color: rgba(255, 255, 255, 0.85) !important;
            padding: 8px 12px !important;
            transition: all 0.3s ease;
            font-weight: 500;
            font-size: 0.95rem;
            display: flex;
            align-items: center;
            gap: 6px;
            border-radius: 8px;
        }
        
        .navbar-nav .nav-link i {
            font-size: 0.9rem;
            transition: all 0.3s ease;
        }
        
        .navbar.scrolled .navbar-nav .nav-link i {
            font-size: 0.85rem;
        }
        
        /* Animation du container principal */
        .navbar .container {
            transition: all 0.3s ease;
        }
        
        /* Avatar utilisateur rétrécit aussi */
        .navbar .nav-link img.rounded-circle {
            transition: all 0.3s ease;
        }
        
        .navbar.scrolled .nav-link img.rounded-circle {
            width: 30px !important;
            height: 30px !important;
        }
        
        .navbar-nav .nav-link:hover {
            background: rgba(43, 189, 246, 0.1);
            color: var(--primary-orange) !important;
        }
        
        .navbar-nav .nav-link.active {
            background: rgba(43, 189, 246, 0.15);
            color: var(--primary-orange) !important;
        }
        
        /* Dropdown menus principaux */
        .navbar .dropdown-menu:not(.notification-dropdown) {
            background: rgba(17, 22, 28, 0.98);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 12px;
            margin-top: 8px;
            padding: 8px;
            min-width: 220px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
            opacity: 0;
            visibility: hidden;
            transform: translateY(-10px);
            transition: all 0.3s ease;
            display: none;
        }
        
        
        /* Styles spécifiques pour le dropdown de notifications */
        .notification-dropdown {
            background: rgba(17, 22, 28, 0.98) !important;
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.1) !important;
            border-radius: 12px !important;
            margin-top: 8px;
            padding: 0 !important;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
            width: 380px;
            max-height: 400px;
            overflow-y: auto;
        }
        
        /* Header des notifications */
        .notification-header {
            padding: 15px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
            display: flex;
            justify-content: space-between;
            align-items: center;
            background: rgba(0, 0, 0, 0.2);
        }
        
        .notification-header h6 {
            margin: 0;
            color: white;
            font-size: 14px;
            font-weight: 600;
        }
        
        /* Liste des notifications */
        .notification-list {
            max-height: 350px;
            overflow-y: auto;
        }
        
        /* Item de notification */
        .notification-item {
            padding: 12px 15px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            transition: background 0.2s;
            cursor: pointer;
        }
        
        .notification-item:hover {
            background: rgba(255, 255, 255, 0.05);
        }
        
        .notification-item.unread {
            background: rgba(43, 189, 246, 0.1);
            border-left: 3px solid var(--primary-orange);
        }
        
        /* Badge de notification */
        .notification-badge {
            position: absolute;
            top: 5px;
            right: 5px;
            background: var(--primary-orange);
            color: white;
            border-radius: 50%;
            padding: 2px 6px;
            font-size: 11px;
            font-weight: bold;
            min-width: 18px;
            text-align: center;
        }
        
        /* Afficher les dropdowns au survol (sauf notifications) */
        .navbar .dropdown:hover .dropdown-menu:not(.notification-dropdown) {
            display: block;
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }
        
        /* Afficher les dropdowns quand ouverts par clic (pour mobile) */
        .navbar .dropdown.open .dropdown-menu {
            display: block !important;
            opacity: 1 !important;
            visibility: visible !important;
            transform: translateY(0) !important;
        }
        
        
        
        .navbar .dropdown-item {
            color: rgba(255, 255, 255, 0.85);
            padding: 10px 15px;
            transition: all 0.3s ease;
            font-size: 0.95rem;
            display: flex;
            align-items: center;
            gap: 10px;
            border-radius: 8px;
            margin-bottom: 2px;
        }
        
        .navbar .dropdown-item i {
            width: 20px;
            text-align: center;
            color: rgba(255, 255, 255, 0.5);
        }
        
        .navbar .dropdown-item:hover {
            background: rgba(43, 189, 246, 0.15);
            color: var(--primary-orange);
        }
        
        .navbar .dropdown-item:hover i {
            color: var(--primary-orange);
        }
        
        .navbar .dropdown-item.active {
            background: rgba(43, 189, 246, 0.2);
            color: var(--primary-orange);
        }
        
        .navbar .dropdown-item.active i {
            color: var(--primary-orange);
        }
        
        
        /* Highlight pour Boutique et Dons */
        .navbar-nav .nav-link[href*="shop"] {
            position: relative;
        }
        
        .navbar-nav .nav-link[href*="shop"]:hover {
            color: #2ecc71 !important;
            background: rgba(46, 204, 113, 0.1);
        }
        
        .navbar-nav .nav-link[href*="donations"] {
            position: relative;
        }
        
        .navbar-nav .nav-link[href*="donations"]:hover {
            color: #f39c12 !important;
            background: rgba(243, 156, 18, 0.1);
        }

        /* Navigation mobile simple et propre */
        @media (max-width: 991px) {
            /* Container scrollable pour le menu mobile */
            .navbar-collapse {
                max-height: calc(100vh - 80px);
                overflow-y: auto;
                overflow-x: hidden;
            }
            
            .navbar-nav {
                padding: 15px 0;
                gap: 0;
            }
            
            /* Liens de navigation principaux */
            .navbar-nav .nav-link {
                padding: 15px 20px !important;
                border-radius: 0;
                display: block;
                width: 100%;
                position: relative;
                background: transparent;
                transition: background 0.3s ease;
            }
            
            /* Effet au tap */
            .navbar-nav .nav-link:active {
                background: rgba(43, 189, 246, 0.1);
            }
            
            /* Liens dropdown - approche simple mais robuste */
            .navbar-nav .dropdown .nav-link {
                padding: 15px 20px !important;
                text-align: left !important;
                position: relative !important;
                display: block !important;
            }
            
            /* Flèche pour les dropdowns - position absolue mais avec spécificité max */
            .navbar-nav .dropdown .nav-link::after {
                content: "▼" !important;
                position: absolute !important;
                right: 15px !important;
                top: 50% !important;
                transform: translateY(-50%) !important;
                font-size: 12px !important;
                color: var(--primary-orange) !important;
                transition: transform 0.3s ease !important;
                z-index: 10 !important;
            }
            
            /* Règle ULTRA spécifique pour les liens actifs - force la position */
            @media (max-width: 991px) {
                .navbar-nav .nav-item.dropdown .nav-link.active {
                    position: relative !important;
                    display: block !important;
                    text-align: left !important;
                    padding-right: 40px !important;
                }
                
                .navbar-nav .nav-item.dropdown .nav-link.active::after {
                    content: "▼" !important;
                    position: absolute !important;
                    right: 15px !important;
                    top: 50% !important;
                    transform: translateY(-50%) !important;
                    font-size: 12px !important;
                    color: var(--primary-orange) !important;
                    transition: transform 0.3s ease !important;
                    z-index: 999 !important;
                    display: block !important;
                    float: none !important;
                    margin: 0 !important;
                    left: auto !important;
                    width: auto !important;
                    height: auto !important;
                }
            }
            
            /* Flèche quand menu ouvert */
            .navbar-nav .dropdown.open .nav-link::after {
                transform: translateY(-50%) rotate(180deg) !important;
            }
            
            /* Flèche quand menu ouvert pour les liens actifs */
            .navbar-nav .nav-item.dropdown.open .nav-link.active::after {
                transform: translateY(-50%) rotate(180deg) !important;
            }
            
            /* Menus dropdown - CACHÉS par défaut sur mobile aussi (sauf notifications) */
            .navbar .dropdown-menu:not(.notification-dropdown) {
                display: none !important;
                position: static !important;
                width: 100% !important;
                margin: 0 !important;
                padding: 0 !important;
                background: rgba(14, 18, 22, 0.95) !important;
                border: none !important;
                border-radius: 0 !important;
                box-shadow: inset 0 2px 5px rgba(0,0,0,0.2) !important;
                opacity: 1 !important;
                visibility: visible !important;
                transform: none !important;
            }
            
            /* Dropdown des notifications sur mobile */
            .notification-dropdown {
                position: fixed !important;
                top: 60px !important;
                left: 10px !important;
                right: 10px !important;
                width: auto !important;
                max-width: 100% !important;
            }
            
            /* Items des menus dropdown */
            .navbar .dropdown-menu .dropdown-item {
                display: block;
                padding: 12px 40px !important;
                color: rgba(255, 255, 255, 0.8) !important;
                background: none !important;
                border: none !important;
                border-left: 3px solid transparent !important;
                text-decoration: none;
                transition: all 0.3s ease;
            }
            
            .navbar .dropdown-menu .dropdown-item:hover,
            .navbar .dropdown-menu .dropdown-item:focus,
            .navbar .dropdown-menu .dropdown-item:active {
                background: rgba(43, 189, 246, 0.1) !important;
                border-left-color: var(--primary-orange) !important;
                color: white !important;
                transform: translateX(5px);
            }
            
            /* Menu utilisateur */
            .user-dropdown-menu {
                position: static !important;
                transform: none !important;
                box-shadow: none !important;
                border-radius: 0 !important;
                margin: 0 !important;
                width: 100% !important;
            }
            
            .user-dropdown-header {
                padding: 15px 20px;
            }
            
            /* Garder le comportement de clic sur mobile (pas de hover) */
            .navbar .dropdown:hover .dropdown-menu:not(.notification-dropdown) {
                display: none !important;
            }
            
            /* Forcer l'affichage quand ouvert manuellement sur mobile */
            .navbar .dropdown.open .dropdown-menu {
                display: block !important;
            }
            
            /* Pas de flèche Bootstrap */
            .navbar .dropdown-toggle::after {
                display: none;
            }
        }

/* =====================================================================
   2. THEME OVERRIDES  (top bar, wordmark, links, active underline, …)
   ===================================================================== */

/* ------------------------------------------------------------------ Top bar */
.navbar {
    background: linear-gradient(90deg, var(--qr-bar-bg-1) 0%, var(--qr-bar-bg-2) 60%, var(--qr-bar-bg-2) 100%) !important;
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--qr-border) !important;
    box-shadow: inset 0 -1px 0 rgba(43, 189, 246, 0.08),
                0 4px 24px rgba(0, 0, 0, 0.45);
    padding: 0.55rem 0 !important;
}

.navbar.scrolled {
    padding: 0.45rem 0 !important;
    background: linear-gradient(90deg, #12161b 0%, #0e1216 60%, #0e1216 100%) !important;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.55);
}

/* Header is now slimmer than the original 95px */
#page-container {
    padding-top: 78px;
}

/* --------------------------------------------------------- Brand / wordmark */
.navbar-brand {
    display: flex !important;
    align-items: center;
    gap: 12px;
    padding: 0;
}

/* Logo-only brand: keep the original height, let the width scale with it */
.navbar-brand img,
.navbar.scrolled .navbar-brand img {
    height: 40px !important;
    width: auto !important;
    object-fit: contain;
}

/* --------------------------------------------------------------- Nav links */
.navbar-nav {
    gap: 2px !important;
    align-items: center;
}

.navbar-nav .nav-link {
    color: var(--qr-link) !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    padding: 10px 14px !important;
    border-radius: 8px;
    position: relative;
}

/* Keep the horizontal padding constant so the active underline (inset 14px)
   always spans the full text width, even in the shrunk .scrolled state. */
.navbar.scrolled .navbar-nav .nav-link {
    padding: 7px 14px !important;
}

/* The reference bar shows text-only links, so hide the FontAwesome glyphs on
   top-level items (dropdown items below keep their icons). */
.navbar-nav > .nav-item > .nav-link > i,
.navbar-nav > .nav-item > .nav-link .fas,
.navbar-nav > .nav-item > .nav-link .fab {
    display: none !important;
}

.navbar-nav .nav-link:hover {
    color: var(--qr-link-hover) !important;
    background: transparent !important;
}

/* Active item: white text + accent underline bar (no pill background) */
.navbar-nav .nav-link.active {
    color: var(--qr-link-hover) !important;
    background: transparent !important;
}

.navbar-nav .nav-link.active::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    /* main.css sets width:20px + transform:translateX(-50%) on this pseudo –
       override both so the left/right insets define the full-width bar */
    width: auto !important;
    transform: none !important;
    bottom: 2px;
    height: 2px;
    border-radius: 2px;
    background: var(--qr-green) !important;
    box-shadow: 0 0 8px rgba(43, 189, 246, 0.7) !important;
}

/* Keep the shop / donation hover accents on-theme */
.navbar-nav .nav-link[href*="shop"]:hover,
.navbar-nav .nav-link[href*="donations"]:hover {
    color: var(--qr-green-bright) !important;
    background: var(--qr-green-soft) !important;
}

/* --------------------------------------------------------------- Dropdowns */
.navbar .dropdown-menu:not(.notification-dropdown) {
    background: rgba(11, 16, 22, 0.98) !important;
    border: 1px solid var(--qr-border) !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.6) !important;
}

.navbar .dropdown-item:hover,
.navbar .dropdown-item.active {
    background: var(--qr-green-soft) !important;
    color: var(--qr-green-bright) !important;
}

.navbar .dropdown-item:hover i,
.navbar .dropdown-item.active i {
    color: var(--qr-green-bright) !important;
}

/* ------------------------------------------------------------- User / right */
/* Avatar with accent ring, matching the reference */
.navbar .nav-link img.rounded-circle {
    border: 2px solid var(--qr-green) !important;
    box-shadow: 0 0 10px rgba(43, 189, 246, 0.4);
}

/* Username text shown next to the avatar */
.qr-username {
    color: #eaf6ff;
    font-weight: 600;
    font-size: 0.9rem;
    margin-left: 8px;
    white-space: nowrap;
}

/* Notification bell + search: muted grey, accent on hover */
.navbar .btn-link.text-light {
    color: var(--qr-link) !important;
    transition: color 0.2s ease;
}

.navbar .btn-link.text-light:hover {
    color: var(--qr-green-bright) !important;
}

.notification-badge {
    background: var(--qr-green) !important;
    color: #03212e !important;
    box-shadow: 0 0 8px rgba(43, 189, 246, 0.6);
}

/* Login button (logged-out state) → accent pill instead of orange */
.navbar .btn-orange {
    background: linear-gradient(135deg, var(--qr-green) 0%, var(--qr-green-bright) 100%) !important;
    border: none !important;
    color: #03212e !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.navbar .btn-orange:hover {
    filter: brightness(1.08);
    box-shadow: 0 4px 16px rgba(43, 189, 246, 0.4);
}

/* ------------------------------------------------------------------ Mobile */
@media (max-width: 991.98px) {
    .navbar-nav .nav-link.active::after { display: none; }
    .navbar-nav .nav-link {
        letter-spacing: 0.4px;
    }
}
