/* Styles généraux pour le corps */
/* body {
    margin: 0;
    font-family: Arial, sans-serif;
    background-color: #f4f4f4;
} */

/* --- Header --- */
.header {
    background-color: white;
    color: brown;
    padding: 15px 20px;
    display: flex;
    justify-content: space-between; /* Pour espacer logo et burger/nav */
    align-items: center;
    position: relative; /* Nécessaire pour positionner le menu absolu */
}

.header .logo {
    color: brown;
    text-decoration: none;
    font-size: 1.5em;
    font-weight: bold;
}

/* --- Icône Burger --- */
.menu-toggle {
    display: none; /* Cache la case à cocher par défaut */
}

.burger-icon {
    display: flex; /* Pour aligner les barres */
    flex-direction: column; /* Pour empiler les barres verticalement */
    justify-content: space-between; /* Espacement entre les barres */
    width: 30px;
    height: 20px; /* Hauteur totale de l'icône burger */
    cursor: pointer;
    z-index: 1001; /* S'assure que l'icône est au-dessus du menu */
    padding-right: 10%;
}

.burger-icon .bar {
    width: 100%;
    height: 3px;
    background-color: brown;
    border-radius: 5px;
    transition: all 0.3s ease; /* Pour les animations de transformation */
}

/* --- Menu de navigation (Mobile) --- */
.nav {
    position: absolute; /* Pour le positionner par rapport au header */
    top: 100%; /* Juste en dessous du header */
    left: 0;
    width: 100%;
    background-color: white;
    max-height: 0; /* Menu caché par défaut */
    overflow: hidden; /* Cache le contenu qui dépasse */
    transition: max-height 0.4s ease-out; /* Animation d'ouverture/fermeture */
    z-index: 1000; /* Assure que le menu est au-dessus du reste du contenu */
}

.nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
    
}

.nav ul li a {
    display: block;
    padding: 15px 20px;
    color: brown;
    text-decoration: none;
    border-bottom: 1px solid white;
    transition: background-color 0.3s ease;
    font-size: 70%;
}

.nav ul li:last-child a {
    border-bottom: none; /* Pas de bordure sur le dernier élément */
}

.nav ul li a:hover {
    background-color: white;
}

/* --- La magie du CSS : Quand la checkbox est cochée --- */
/* Le sélecteur `~` (général sibling combinator) sélectionne
   un élément qui suit le premier élément, au même niveau. */
.menu-toggle:checked ~ .nav {
    max-height: 300px; /* Ou une valeur suffisamment grande pour contenir le menu */
}

/* Animation de l'icône burger quand le menu est ouvert */
.menu-toggle:checked ~ .burger-icon .bar:nth-child(1) {
    transform: translateY(8px) rotate(45deg); /* Barre du haut */
}

.menu-toggle:checked ~ .burger-icon .bar:nth-child(2) {
    opacity: 0; /* Barre du milieu disparaît */
}

.menu-toggle:checked ~ .burger-icon .bar:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg); /* Barre du bas */
}

/* --- Media Queries pour les écrans plus grands --- */
@media (min-width: 811px) { /* 801 Par exemple, pour les tablettes et ordinateurs */
    .burger-icon,
    .menu-toggle {
        display: none; /* Cache le burger et la checkbox sur les grands écrans */
    }

    .nav {
        position: static; /* Le menu reprend son flux normal */
        max-height: none; /* Annule le max-height pour l'affichage */
        background-color: transparent; /* Pas de fond */
        overflow: visible; /* Tout le contenu est visible */
        width: auto; /* Largeur automatique */
    }

    .nav ul {
        display: flex; /* Les éléments du menu sont alignés horizontalement */
    }

    .nav ul li a {
        padding: 10px 15px; /* Ajuste le padding */
        border-bottom: none; /* Pas de bordure sur les grands écrans */
        color: brown; /* Couleur des liens */
    }

    .nav ul li a:hover {
        background-color: transparent; /* Pas de fond au survol */
        text-decoration: underline; /* Souligne au survol */
    }
}