/* Base partagee des boutons (BoutonFondTransparent, BoutonGradientViolet, BoutonDiscord) */

.bouton {
    /* Les boutons de navigation sont des liens <a> : affichage en ligne flexible explicite */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    text-decoration: none;
    user-select: none;
    position: relative;
    overflow: hidden;
    /* Cree un stacking context local pour que les z-index p/img/::before soient previsibles */
    isolation: isolate;
    border: none;
    cursor: pointer;
    border-radius: var(--rayon-bordure-pilule);
    width: auto;
    font-weight: var(--poids-police-texte);
    font-family: var(--police-texte);
    font-style: var(--font-style-texte);
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.bouton p {
    margin: 0;
    font-size: var(--taille-texte-boutons);
    /* Reste au-dessus du shimmer ::before */
    position: relative;
    z-index: 1;
}

.bouton img {
    width: auto;
    object-fit: cover;
    height: calc(var(--taille-texte-boutons) * 1.5);
    margin-right: 0.7rem;
    /* Reste au-dessus du shimmer ::before */
    position: relative;
    z-index: 1;
}

/* Shimmer de base (blanc) — utilisé par les variantes sombres / transparentes */
.bouton::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    background-color: white;
    opacity: 0.3;
    z-index: 0;
    border-radius: inherit;
    transition: width 0.27s ease-in-out;
}

.bouton:hover::before {
    width: 100%;
}

/* Supprime le saut de layout du au changement de font-weight */
.bouton:hover {
    transform: scale(1.04);
}
