:root {
    --menu-width: 300px; /* Largeur du menu */
    --redline-coef: 1.1; /* Multiplicateur de longueur */
}

#menu-toggle {
    position: fixed;
    top: 40px;
    left: 40px; /* Offset parent */
    padding: 10px; /* Offset parent */
    z-index: 100;
    background: none;
    border: none;
    cursor: pointer;
    overflow: visible; /* La ligne doit dépasser */
}

.red-line {
    display: block;
    /* GÉOMÉTRIE CORRECTE : menu-width * coef */
    width: calc(var(--menu-width) * var(--redline-coef));
    height: 4px;
    background-color: var(--color-primary);

    /* Retrait de l'animation CSS qui entre en conflit avec GSAP */
    /* animation: pulse-opacity 2s infinite ease-in-out; */

    /* Le pivot est géré dynamiquement par JS à présent */
}

/* @keyframes pulse-opacity (removed for GSAP conflict) */

#main-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: var(--menu-width);
    height: 100vh;
    background-color: var(--color-bg);
    transform: translateX(-100%); /* Caché à gauche */
    z-index: 120;
    padding: 100px 40px; /* Padding interne pour le contenu */
    box-shadow: 10px 0 30px rgba(0, 0, 0, 0.05);
}

#menu-close {
    position: absolute;
    top: 30px;
    right: 30px;
    background: none;
    border: none;
    color: var(--color-primary);
    cursor: pointer;
    font-size: 1.5rem;
    opacity: 0; /* Caché au départ, géré par GSAP */
    transition: transform 0.2s ease;
}

#menu-close:hover {
    transform: scale(1.1); /* Grossit le bouton de 10% au survol */
}
#main-nav ul {
    list-style: none;
    padding: 0;
    text-align: right; /* Alignement des items demandé */
}

#main-nav li {
    margin-bottom: 1.5rem;
    opacity: 0; /* Caché pour GSAP stagger */
    transform: translateX(-20px);
}

#main-nav a {
    text-decoration: none;
    /* On utilise la variable qui s'adapte au mode sombre */
    color: var(--color-text);
    /* Attention : dans ton main.css la variable est --font-mono */
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 200;
}

/* smartphone */
@media (max-width: 768px) {
    :root {
        /* Le menu prend toute la largeur sur petit écran */
        --menu-width: 100vw;
    }

    #main-nav {
        /* On réduit les marges internes pour laisser plus de place au texte */
        padding: 80px 20px;
    }

    #menu-close {
        /* On replace la croix de fermeture pour qu'elle reste accessible */
        top: 20px;
        right: 20px;
        font-size: 2.5rem;
    }

    #main-nav a {
        /* Augmentation de la taille de police pour une meilleure lisibilité */
        font-size: 2.8rem;
    }

    #main-nav li {
        /* On aère un peu plus pour faciliter le clic au doigt (touch target) */
        margin-bottom: 2.5rem;
    }
}
