* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

body {
    background-color: #f5f5f5;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    margin: 0;
    color: #333;
}

.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 50px;
    background-color: white;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* Style pour le nouveau conteneur à droite */
.header-right {
    display: flex;
    align-items: center;
    gap: 25px;
    /* Crée un espace entre la barre de recherche et le bloc de connexion */
}

.logo img {
    height: 70px;
    padding-top: 20px;
}

.search-container {
    display: flex;
    align-items: center;
}

.search-box {
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-right: 10px;
    font-size: 14px;
}

.search-icon {
    font-size: 20px;
    color: #333;
    cursor: pointer;
}

.main-nav {
    display: flex;
    justify-content: right;
    background-color: white;
    padding: 5px 0;
}

.main-nav ul {
    display: flex;
    list-style: none;
}

.main-nav ul li {
    margin: 0 15px;
}

.main-nav ul li a {
    text-decoration: none;
    color: #333;
    font-weight: 500;
    padding: 5px 0;
    transition: color 0.3s;
    display: flex;
    align-items: center;
    /* Cette ligne est la clé, elle centre verticalement */
}

.home-icon {
    /* Le display: flex et align-items: center du parent 'a' s'en occupe */
    font-size: 18px;
    /* Légèrement augmenté pour mieux correspondre à la taille du texte */
}

/* La règle spécifique pour .main-nav ul li:first-child a a été supprimée. */

.main-nav ul li a:hover {
    color: #0066cc;
}

/* Nouveaux styles pour l'authentification */
.auth-status {
    display: flex;
    flex-direction: column; /* <<< LA CLÉ : Met les éléments en colonne */
    align-items: center;   /* Aligne les éléments à droite de leur conteneur */
    gap: 4px;                /* Réduit l'espace vertical entre le bouton et le nom */
}

.auth-status span {
    font-size: 12px;         /* Rend le texte du nom un peu plus petit */
    color: #555;            /* Une couleur un peu moins forte pour la subtilité */
    text-align: center;       /* S'assure que le texte reste aligné au centre */
}

/* Les styles du bouton n'ont pas besoin de changer */
.auth-status button {
    background-color: #0d47a1;
    color: white;
    padding: 8px 15px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s;
}

.auth-status button:hover {
    background-color: #0a3880;
}

.hidden-link {
    display: none !important;
    /* Cache les liens protégés */
}

.footer {
    text-align: center;
    font-size: 0.9em;
    line-height: 1.5em; /* Augmenté pour une meilleure lisibilité */
    color: #817979;
    width: 100%;
}
