/* General header styles */
.header {
    background-color: black;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 60px;
    padding: 0 15px; /* Réduction des marges pour un meilleur alignement */
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

body {
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
    padding-top: 60px; /* Ajout d'un padding pour éviter que le contenu ne soit masqué par le header */
}

.logo {
    width: 100px; /* Réduction de la taille du logo pour les petits écrans */
    height: auto;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.logo:hover {
    transform: scale(1.1);
}

.title {
    color: #dfd085;
    font-size: 1.8rem; /* Réduction de la taille de la police pour les petits écrans */
    font-family: 'Dancing Script', cursive;
    margin-left: 10px;
}

.navbar {
    display: flex;
    list-style-type: none;
    padding: 0;
    margin: 0;
    gap: 15px; /* Réduction de l'espacement entre les liens */
}

.nav-item {
    margin: 0;
}

.nav-link {
    color: #dfd085;
    text-decoration: none;
    padding: 8px 12px; /* Réduction des marges internes */
    border-radius: 25px;
    transition: all 0.3s ease;
    font-weight: 600;
    font-size: 0.9rem; /* Réduction de la taille de la police */
}

.nav-link:hover {
    background-color: rgba(223, 208, 133, 0.2);
    color: yellow;
    transform: translateY(-3px);
    box-shadow: 0 4px 6px rgba(223, 208, 133, 0.3);
}

.nav-link.active {
    background-color: rgba(223, 208, 133, 0.3);
    color: yellow;
    font-weight: bold;
    border-bottom: 2px solid yellow;
}

/* Responsive header styles */
    .menu-icon {
        display: block;
        position: static;      /* <-- PAS absolute */    /* pousse à droite sans déborder */
        margin-right: 0;
        font-size: 2rem;
        cursor: pointer;
        color: #dfd085;
        background: transparent;
        border: none;
        padding: 6px 10px;     /* padding raisonnable */
        z-index: 1001;
        max-width: 40px;       /* limite la largeur du bouton */
        box-sizing: border-box;
    }
#menu-toggle {
    display: none; /* cache la checkbox visuelle */
}

/* style par défaut (desktop) */
.menu-icon {
    display: none;
}
nav {
    display: block;
}

/* mobile: masquer le nav et afficher le hamburger */
@media (max-width: 768px) {
    .menu-icon {
        display: inline-block;
        cursor: pointer;
        margin-right: 30px; /* repousse le hamburger à gauche */
    }

    nav {
        display: none; /* masqué tant que non coché */
        position: absolute;
        top: 64px; /* ajuster selon la hauteur du header */
        left: 0;
        right: 0;
        background: rgb(0, 0, 0);
        z-index: 1000;
        box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    }

    .navbar {
        display: flex;
        flex-direction: column;
        padding: 8px 12px;
        margin: 0;
        list-style: none;
    }

    .nav-item {
        margin: 6px 0;
    }

    /* Affiche le nav quand la checkbox est cochée */
    #menu-toggle:checked + .menu-icon + nav {
        display: block;
        
    }
    .logo {
        min-width: 100px; /* Réduction de la taille du logo pour les petits écrans */
    }
}

@media (max-width: 480px) {
    .title {
        font-size: 1.2rem; /* Réduction supplémentaire pour très petits écrans */
    }

    .nav-link {
        font-size: 0.85rem; /* Réduction de la taille de la police pour les liens */
    }
    .header {
        padding: 8px 10px; /* Réduction supplémentaire des marges pour les très petits écrans */
    }
}