/* ========================================
   NAVBAR STYLES PROPRES - VERSION CLEAN
   ======================================== */

/* Navbar de base */
.main-header.navbar {
    height: 4rem !important;
    min-height: 4rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 1rem !important;
    background-color: #ffffff !important;
    border-bottom: 1px solid #dee2e6 !important;
    position: relative !important;
    z-index: 1030 !important;
    transition: margin-left 0.3s ease-in-out !important;
}

body:not(.sidebar-collapse) .main-header.navbar {
    margin-left: 250px !important; 
}

.sidebar-collapse .main-header.navbar {
    margin-left: 4.6rem !important;
}

/* Sur mobile, pas de décalage */
@media (max-width: 767.98px) {
    .main-header.navbar {
        margin-left: 0 !important;
    }
}

/* ========================================
   FIL D'ARIANE (GAUCHE)
   ======================================== */

.main-header.navbar .navbar-nav:first-child {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.main-header.navbar .navbar-nav:first-child .nav-item {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
}

.main-header.navbar .navbar-nav:first-child .nav-link {
    display: flex !important;
    align-items: center !important;
    padding: 0.5rem 0.75rem !important;
    color: #495057 !important;
    background-color: transparent !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.main-header.navbar .navbar-nav:first-child .nav-link:hover {
    background-color: #f8f9fa !important;
    color: #007bff !important;
}

/* ========================================
   ZONE DE RECHERCHE (CENTRE) - ALIGNEMENT CORRIGÉ
   ======================================== */

.navbar-nav.flex-grow-1.justify-content-center {
    flex-grow: 1 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    max-width: 500px !important;
    margin: 0 auto !important;
}

.navbar-nav.flex-grow-1.justify-content-center .nav-item.search-container {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
}

.search-input-group {
    display: flex !important;
    align-items: stretch !important; /* Étirer pour même hauteur exacte */
    width: 100% !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.search-input-group input {
    height: 36px !important;
    border-radius: 20px 0 0 20px !important;
    border: 1px solid #ddd !important;
    flex: 1 !important;
    padding: 6px 15px !important;
    font-size: 14px !important;
    margin: 0 !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
    border-right: none !important; /* Supprimer la bordure droite pour éviter le double */
}

.search-input-group button {
    height: 36px !important;
    width: 40px !important;
    border-radius: 0 20px 20px 0 !important;
    border: 1px solid #ddd !important;
    border-left: 1px solid #ddd !important; /* Assurer la bordure gauche */
    margin: 0 !important;
    padding: 0 !important;
    background-color: #f8f9fa !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    overflow: hidden !important; /* Empêcher l'icône de dépasser */
    max-height: 36px !important; /* Forcer la hauteur maximale */
}

.search-input-group button i {
    font-size: 12px !important;
    color: #6c757d !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 12px !important; /* Même taille que font-size */
    display: block !important;
    max-height: 12px !important; /* Limiter la hauteur de l'icône */
}

/* SURCHARGE DES STYLES INLINE - Forcer l'alignement */
#global-search-input {
    height: 36px !important;
    border-radius: 20px 0 0 20px !important;
    border: 1px solid #ddd !important;
    border-right: none !important; /* Supprimer la bordure droite */
    flex: 1 !important;
    padding: 6px 15px !important;
    font-size: 14px !important;
    margin: 0 !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
}

#global-search-btn {
    height: 36px !important;
    width: 40px !important;
    border-radius: 0 20px 20px 0 !important;
    border: 1px solid #ddd !important;
    border-left: 1px solid #ddd !important; /* Assurer la bordure gauche */
    margin: 0 !important;
    padding: 0 !important;
    background-color: #f8f9fa !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    overflow: hidden !important; /* Empêcher l'icône de dépasser */
    max-height: 36px !important; /* Forcer la hauteur maximale */
}

#global-search-btn i {
    font-size: 12px !important;
    color: #6c757d !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 12px !important; /* Même taille que font-size */
    display: block !important;
    max-height: 12px !important; /* Limiter la hauteur de l'icône */
}

/* Correction spécifique pour l'alignement du groupe */
.input-group.search-input-group {
    display: flex !important;
    align-items: stretch !important; /* Étirer pour même hauteur exacte */
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.input-group.search-input-group > * {
    margin: 0 !important;
    float: none !important;
}

/* ========================================
   NOTIFICATIONS (DROITE)
   ======================================== */

.main-header.navbar .navbar-nav.ml-auto {
    display: flex !important;
    align-items: center !important;
    margin-left: auto !important;
    flex-shrink: 0 !important;
    gap: 0.25rem !important;
}

.main-header.navbar .navbar-nav.ml-auto .nav-item {
    display: flex !important;
    align-items: center !important;
    position: relative !important;
}

.main-header.navbar .navbar-nav.ml-auto .nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0.5rem !important;
    color: #495057 !important;
    background-color: transparent !important;
    border-radius: 4px !important;
    transition: all 0.3s ease !important;
    position: relative !important;
}

.main-header.navbar .navbar-nav.ml-auto .nav-link:hover {
    background-color: #f8f9fa !important;
    color: #007bff !important;
}

.main-header.navbar .navbar-nav.ml-auto .nav-link i {
    font-size: 1rem !important;
    color: inherit !important;
}

/* Badges des notifications */
.main-header.navbar .navbar-nav.ml-auto .badge {
    position: absolute !important;
    top: 0.2rem !important;
    right: 0.2rem !important;
    font-size: 0.7rem !important;
    padding: 0.2em 0.4em !important;
    z-index: 10 !important;
}

.badge.badge-success {
    background-color: #28a745 !important;
    color: white !important;
}

.badge.badge-danger {
    background-color: #dc3545 !important;
    color: white !important;
}

.badge.badge-warning {
    background-color: #ffc107 !important;
    color: #212529 !important;
}

/* Dropdowns des notifications */
.main-header.navbar .navbar-nav.ml-auto .dropdown-menu {
    right: 0 !important;
    left: auto !important;
    min-width: 300px !important;
    max-width: 400px !important;
    border: 1px solid #dee2e6 !important;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.main-header.navbar .navbar-nav.ml-auto .dropdown-header {
    font-weight: bold !important;
    font-size: 0.9rem !important;
    padding: 0.75rem 1rem !important;
    background-color: #f8f9fa !important;
}

/* ========================================
   RESPONSIVE
   ======================================== */

@media (max-width: 768px) {
    .navbar-nav.flex-grow-1.justify-content-center {
        max-width: 300px !important;
    }
    
    .main-header.navbar .navbar-nav.ml-auto .nav-link {
        width: 35px !important;
        height: 35px !important;
        padding: 0.25rem !important;
    }
    
    .main-header.navbar .navbar-nav.ml-auto .nav-link i {
        font-size: 0.9rem !important;
    }
    
    .main-header.navbar .navbar-nav.ml-auto .badge {
        font-size: 0.6rem !important;
        padding: 0.1em 0.3em !important;
    }
    
    .main-header.navbar .navbar-nav.ml-auto .dropdown-menu {
        min-width: 250px !important;
        max-width: 300px !important;
    }
}

@media (max-width: 480px) {
    .navbar-nav.flex-grow-1.justify-content-center {
        max-width: 200px !important;
    }
    
    .search-input-group input {
        font-size: 12px !important;
        padding: 4px 10px !important;
    }
}