@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');



* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    height: 100%;
    font-family: 'poppins', sans-serif;
    font-weight: 600;
    margin: 0;
    padding: 0;
}

.index {
    background-image: url("./img/copeaux.webp");
    width: 100vw;
    display: flex;
    flex-direction: column;
    background-size: cover;
    background-repeat: no-repeat;
    height: 100%;
}


header {
    height: 6.5%;
    width: 100%;
    display: flex;
    background-color: white;
    margin-bottom: 1vh;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    /* plus grand que le menu pour rester visible */
}

header>a {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    text-decoration: none;
    font-size: 1.6vh;
    height: 130%;
    width: 100vw;

}

header img {
    height: 50px;
    padding: 2px;
}

#titre {
    letter-spacing: 1vw;
    color: #f1de31;
    font-weight: bold;
    font-size: clamp(45px, 4.3vw, 150px);
    display: block;
    /* ← AJOUTER */
    margin: 0 auto;
    /* ← CHANGER */
    padding-top: 8vh;
    text-align: center;
    margin-bottom: 2vw;
}

h1 {
    color: #009a44;
    letter-spacing: 1vw;
    display: flex;
    justify-content: center;
    font-size: 2.6vh;
    font-family: 'Bebas Neue', sans-serif;
}

h3 {
    color: rgb(0, 0, 0);
    font-size: 60px;
    padding-top: 4vh;
    padding-bottom: 2vh;
}


#menu-burger {
    font-size: 2.5em;
    color: black;
    cursor: pointer;
    padding-right: 23px;
}

#menu-burger::active {
    color: #f1de31;
}

.nav-liens,
.nav-liens-qui {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    top: 10vh;
    z-index: 999;
    right: 0;
    width: 100vw;
    height: 100%;
    background-color: #f1de31;
    justify-content: center;
    font-family: "Poppins", sans-serif;
    line-height: 3.5;

    opacity: 0;
    visibility: hidden;
    top: 52px;
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out, visibility 0s linear 0.3s;
}



.nav-liens.active,
.nav-liens-qui.active {
    z-index: 1;
    opacity: 1;
    visibility: visible;
    transform: translateX(0%);
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;

}


.nav-liens img,
.nav-liens-qui img {
    max-width: 60px;
    max-height: 60px;
    padding-left: 30px;
}

.nav-liens li,
.nav-liens-qui li {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1vw;
    padding: 8vw;
    max-height: 15vh;
}


.nav-liens a,
.nav-liens-qui a {
    text-decoration: none;
    color: black;
    font-size: 20px;
}


.palmares a,
.qui-sommes-nous a,
.contact a,
.photos a,
.manifestations a,
.membres a {
    text-decoration: none;
    color: white;
    font-size: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;

}

.grille-nav a.manifestations {
    justify-content: center;
    align-items: center;
    text-align: center;
}

.palmares,
.qui-sommes-nous,
.contact,
.photos,
.manifestations,
.membres {
    /*Pour que les pictogrammes soient en bas à droite de mes rectangles*/
    background-repeat: no-repeat;
    background-size: 15%;
    background-position: bottom right;
}

/* Regroupement par couleurs */
.qui-sommes-nous,
.manifestations {
    background-color: #009a44;
    text-align: center;

}

.palmares,
.contact {
    background-color: #f1de31;
}

.membres,
.photos {
    background-color: #481653;
}

/* Regroupement par colonne*/
.palmares,
.membres,
.qui-sommes-nous {
    grid-column: 1;

}

.contact,
.photos,
.manifestations {
    grid-column: 2;

}

.qui-sommes-nous {
    background-image: url(./img/pictogrammes_blancs/foule.svg);


}

.palmares {
    background-image: url(./img/pictogrammes_blancs/trophee.svg);
}

.contact {
    background-image: url(./img/pictogrammes_blancs/mail.svg);
}

.membres {
    background-image: url(./img/pictogrammes_blancs/membre.svg);
}

.manifestations {
    background-image: url(./img/pictogrammes_blancs/date.svg);
}

.photos {
    background-image: url(./img/pictogrammes_blancs/photo.svg);
}

.grille-nav {
    display: grid;
    width: 100vw;
    height: min(86vh, calc(100vh - 50px));
    min-height: 50px;
    justify-content: center;
    align-items: center;
    margin-top: 7vh;
}

.grille-nav a {
    height: 12vh;
    width: 45vw;
    border-radius: 1.5vh;
    border: none;
    cursor: pointer;
    text-decoration: none;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}


footer {
    background-color: white;
    display: grid;
    grid-template-columns: 1fr 1fr;
    font-size: 10vh;
    height: 7.5%;
    align-items: center;
}


footer i {
    font-size: 27px;
}

footer a {
    color: #481653;
    text-decoration: none;
    display: grid;
    grid-column: 2;
    flex-direction: column;
    font-size: clamp(17px, 3vw, 32px);
    padding-left: 2vw;
    padding-top: 0.7vw;
    font-family: 'Bebas Neue', sans-serif;
    letter-spacing: 0.2em;
}

.reseaux-sociaux-liens {
    display: flex;
    height: 100%;
    justify-content: flex-end;
    padding-right: 1vw;
    align-items: center;
}

.footer-copyright {
    background-color: #dac71c;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    padding: 0.5vw 0;
    grid-column: 1 / -1;
}

.footer-copyright p {
    text-align: center;
    margin-top: 2vw;
}

.footer-copyright img {
    height: 2.4vw;
}

/*Galerie photos*/

.galerie-photos {
    flex-grow: 1;
    height: fit-content;
    overflow-y: auto;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 3vh;
}

.galerie-photos img {
    width: 90vw;
    height: auto;
    margin-bottom: 2vh;
    object-fit: contain;
    border: none;
}

.galerie {
    display: flex;
    flex-direction: column;
    height: 100vh;
    /* toute la hauteur de l'écran */
    background-image: url(./img/tournesol.webp);
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;

}

#galerie-presentation {
    background-color: #00000033;
    color: white;
    margin: 2vh;
    font-size: 1.5vh;
    font-weight: 200;
    padding: 1vh;
    border-radius: 10px;
    opacity: 80%;
    text-align: center;
}


#lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.85);
    display: none;
    /* affiché via JS */
    justify-content: center;
    align-items: center;
    cursor: zoom-out;
    z-index: 9999;
    /* s'assurer qu'il soit au-dessus de tout */
}

#lightbox img {
    max-width: 95vw;
    max-height: 95vh;
    width: auto !important;
    /* force la largeur automatique */
    height: auto !important;
    /* force la hauteur automatique */
    object-fit: contain;
    /* image entière visible */
    border-radius: 10px;
}

.filter-buttons {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 2vh;
    flex-wrap: wrap;
}

.filter-buttons button {
    padding: 10px 22px;
    border: none;
    border-radius: 30px;
    background-color: #f1de31;
    /* couleur principale */
    color: #481653;
    /* texte */
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.filter-buttons button:hover {
    background-color: #009a44;
    /* couleur au survol */
    color: #f1de31;
    /* texte clair au survol */
    transform: translateY(-3px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25);
}

.filter-buttons button:active {
    transform: translateY(0);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
}

.filter-buttons button.active {
    background-color: #481653;
    /* couleur bouton actif */
    color: #f1de31;
    /* texte bouton actif */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
}


/*Qui sommes-nous? */
.page-qui {
    background-image: url(./img/tournesol.webp);
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;

    width: 100%;
    min-height: 100svh;
    /* au moins l’écran */
    display: flex;
    flex-direction: column;
    align-items: center;
}




.presentation {
    color: #ffffff;
    margin: 0 auto;
    /* 👈 centre le bloc lui-même */
    width: 90vw;
    margin-top: 5vw;
    display: flex;
    justify-content: center;
    align-items: center;

    font-weight: 300;
    font-size: clamp(1rem, 2.5vh, 1.6rem);
    padding: 20px;
    border-radius: 20px;
    background-color: rgba(0, 0, 0, 0.273);
    margin-bottom: 4vw;
}


.photo-jeunesse {
    display: flex;
    justify-content: center;
}

.photo-jeunesse img {
    width: 90vw;
    height: auto;
    border-radius: 2vw;
    margin-top: 3%;
    object-fit: contain;
}


.cta {
    width: 90vw;
    margin-top: 4vh;
    display: flex;
    flex-direction: column;
    justify-self: center;
    align-self: center;
}

.cta1 p,
.cta2 p {
    display: flex;
    justify-content: center;
    text-align: center;
    font-family: 'poppins', sans-serif;
    font-weight: 700;
    font-size: 1.9vh;
    padding-bottom: 10px;

}

.cta1,
.cta2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;


}

.cta1 a,
.cta2 a {
    text-decoration: none;
    color: #481653;
    background-color: #f1de31;
    font-size: 20px;
    font-weight: 700;
    border: none;
    border-radius: 20px;
    align-self: center;
    padding: 2%;
    margin-bottom: 5vh;
    display: flex;
    text-align: center;
}

/*Palmarès*/
.page-palmares {
    background-image: url(./img/savigny19.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
    width: 100vw;
    height: 100vh;
    overflow: auto;
    display: flex;
    flex-direction: column;
    justify-self: center;
    align-self: center;
}

.ligne-temps {
    display: flex;
    flex-direction: column;
    position: relative;
    width: 90vw;
    margin: auto;
    padding: 2rem 0;
    gap: 2rem;
}

.ligne-temps::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    background: #ffffff;
    transform: translateX(-50%);
}

.contenant {
    width: 45%;
    padding: 1rem;
    border-radius: 10px;
    color: white;
    position: relative;
    /*Pour les points qui relient à la ligne du milieu */
}

.contenant h3 {
    margin-top: 0;
}

.contenant:nth-child(odd) {
    align-self: flex-start;
    text-align: end;
}

.contenant:nth-child(even) {
    align-self: flex-end;
}

.contenant::before {
    content: "";
    position: absolute;
    top: 1rem;
    width: 10px;
    height: 10px;
    background: #ffffff;
    border-radius: 50%;
    border: 3px solid white;
    box-shadow: 0 0 0 2px #86898c;
}

.contenant:nth-child(odd)::before {
    right: -1.5rem;
}

.contenant:nth-child(even)::before {
    left: -1.5rem;
}

.palmares-explication {
    color: white;
    padding: 30px 15px 30px 15px;
    font-size: 20px;
    text-align: center;
    background-color: rgba(0, 0, 0, 0.31);
    width: 90vw;
    display: flex;
    align-self: center;
    border-radius: 20px;
}


/*Manifestations 2025*/
.page-manifestations {
    background-image: url("./img/copeaux.webp");
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
    width: 100vw;
    height: 100vh;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.galerie-photos-manif {
    flex-grow: 1;
    overflow-y: auto;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    justify-self: center;
    margin-bottom: 3vh;
    align-items: center;
}


.galerie-photos-manif img {
    width: 90vw;
    height: auto;
    margin-bottom: 2vh;
    object-fit: contain;
    border: none;

}

.galerie-photos-manif p {
    font-size: 4vh;
    color: white;
}

#lightbox {
    position: fixed;
    /* Obligé pour que le zoom de ma photo soit plein centre*/
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.85);
    display: none;
    justify-content: center;
    align-items: center;
    cursor: zoom-out;
}

#lightbox img {
    max-width: 95vw;
    max-height: 95vh;
    border-radius: 10px;
}


.flyer p {
    text-align: center;

}

.descriptif {
    color: white;
    font-weight: 200;
    margin-bottom: 10vw;
    text-align: center;
    background-color: rgba(0, 0, 0, 0.456);
    padding: 3vw;
    height: 100%;
}

/*Membres */
.page-membres {
    background-image: url(./img/susu.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
    width: 100%;
    height: 100vh;
    overflow: auto;
}

.cartes-membres {
    gap: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2rem;
    width: 90vw;
    margin: 0 auto;
}

.cartes {
    height: 560px;
    position: relative;
}

.carte-avant img {
    width: 100%;
    height: 89%;
    object-fit: cover;
    object-position: center;
    border-radius: 8px;
    display: block;

}

.cartes .carte-avant,
.cartes .carte-arriere {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.8s;
    text-align: center;
    color: white;

}

.cartes .carte-avant {
    background: #481653;
    z-index: 2;
    transform: rotateY(0deg);
}

.cartes-membres h2 {
    font-size: 12px;

}

.cartes-membres h3 {
    color: white;
}

.cartes .carte-arriere {
    background: #481653;
    transform: rotateY(180deg);
    z-index: 1;
    padding: 40px;
}

.carte-arriere h2 {
    font-size: 4vh;
}

.carte-arriere h3 {
    margin-bottom: 1.3vh;
}

.carte-arriere i {
    font-size: 2.3vh;
}

.carte-avant p {
    font-size: 3vh;
}

.cartes.retourne .carte-avant {
    transform: rotateY(180deg);
    z-index: 1;
}

.cartes.retourne .carte-arriere {
    transform: rotateY(360deg);
    z-index: 2;
}

/*Contact */
.page-contact {
    background-image: url(./img/tournesol.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
    padding-bottom: 3vh;

}

.page-contact h2 {
    color: white;
    text-align: center;
    margin: 5vw auto;
}

h3 {
    color: white;
    font-size: 4vh;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;

}

.comite {
    background-color: rgba(0, 154, 68, 0.8);
    color: white;
    font-weight: 400;
    width: 90%;
    padding: 10px;
    text-align: center;
    display: flex;
    flex-direction: column;
    display: block;
    margin: 5vw auto;
    border-radius: 10px;
    box-sizing: border-box;
}

.comite a {
    color: white;
    text-decoration: none;
}

.comite a:hover {
    text-decoration: underline;
}

.categorie {
    font-weight: bold;
    margin-top: 2vh;
}

h4 {
    font-size: 6.5vw;
}

iframe {
    border-radius: 15px;
    height: 70vh;
    width: 90vw;

    display: block;
    /* ← AJOUTER */
    margin: 0 auto;
    /* ← CHANGER */
}


.sponsors {
    background-color: rgba(255, 255, 255, 0.7);
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
    width: 90vw;
    box-sizing: border-box;
    /* SUPPRIMER justify-self: center; */
    border-radius: 10px;
    height: auto;
    padding: 10px 20px;
    flex-wrap: nowrap;
    margin: 0 auto;
    /* ← AJOUTER pour centrer */
    max-width: 1200px;
    /* ← AJOUTER optionnel pour limiter la largeur */
}

.sponsors img {
    height: clamp(24px, 4vw, 60px);
    width: auto;
    object-fit: contain;
}


@media only screen and (min-width: 640px) {


    header {
        background-color: transparent;
        height: 9.5%;
        margin-top: 10px;
    }

    .header-qui {
        height: 10%;
        background-color: #f1de31;
        width: 100vw;
        margin-top: 0;
        padding: 0;
    }

    header img {
        height: 15vw;
        max-height: 100px;
    }

    header a {
        padding-left: 2px;
    }

    .header-qui a {
        width: 100%;
        justify-content: flex-start;
        text-align: start;
        display: flex;
    }

    .header-qui img {
        height: 5vw;
        padding-left: 10px;
    }

    #menu-burger {
        display: none;
    }

    h1 {
        font-size: clamp(5vh, 3vw, 10vh);
        letter-spacing: 1vw;
        color: white;
        font-weight: 400;
        height: 8vh;

    }

    #titre {
        letter-spacing: 1vw;
        font-size: clamp(6vw, 1.75vw, 15vw);
        margin-bottom: 6vh;
        height: 10vh;
        padding-top: 12vh;
        padding-bottom: 4vh;
        text-align: center;
        display: block;
        /* ← AJOUTER */
        margin: 0 auto;
        /* ← CHANGER */
        margin-bottom: 7%;
    }

    .nav-liens.active {
        visibility: hidden;
    }


    .nav-liens-qui {
        visibility: visible;
        opacity: 100%;
        background-color: transparent;
        justify-content: space-between;
        align-items: center;
        flex-direction: row;
        display: flex;
        height: 19px;
        width: 93vw;
        margin-top: 1vw;
        padding-right: 20px;
        line-height: 1.2;

    }

    .nav-liens-qui a {
        font-size: clamp(13px, 1.7vw, 20px);
        justify-content: space-between;
        display: flex;
        flex-direction: row;
        width: 100%;
    }

    .nav-liens-qui a.active {
        font-size: clamp(12px, 1.95vw, 20px);
        border-bottom: 3px solid #009a44;
        font-weight: bold;
        color: #481653;
    }

    .nav-liens-qui a:hover {
        font-size: clamp(12px, 1.75vw, 22px);
        color: #481653;
        cursor: pointer;

    }

    .nav-liens-qui img {
        display: none;
    }

    .nav-liens-qui li {
        display: flex;
        flex-direction: row;
        padding: 2px;


    }


    .grille-nav {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(2, 1fr);
        justify-items: center;
        align-items: center;
        flex-grow: 1;
        /*centré par rapport à la page*/

    }


    .grille-nav a {
        width: 30vw;
        height: 20vh;
        font-size: clamp(20px, 2.5vw, 30px);
    }

    .palmares,
    .qui-sommes-nous,
    .contact,
    .photos,
    .manifestations,
    .membres {
        /*Pour que les pictogrammes soient plus grands au départ que la version mobile*/
        font-weight: 600;
        background-size: 15%;

    }

    /*Regroupement par couleurs*/
    .qui-sommes-nous,
    .contact {
        background-color: #009a44;
    }

    .photos,
    .manifestations {
        background-color: #f1de31;
    }

    .photos {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
    }

    .palmares {
        grid-column: 3 / 3;
        grid-row: 1 / 2;
        background-color: #481653;
    }

    .manifestations {
        grid-column: 1 / 2;
        grid-row: 2 / 2;

    }

    .membres {
        grid-column: 2 / 3;
        grid-row: 2 / 2;
    }

    .contact {
        grid-column: 3 / 3;
        grid-row: 2 / 2;

    }

    .qui-sommes-nous:hover {
        background-image: url(./img/pictogrammes_pleins/foule.svg);
    }

    .photos:hover {
        background-image: url(./img/pictogrammes_pleins/galerie.svg);
    }

    .palmares:hover {
        background-image: url(./img/pictogrammes_pleins/palmares.svg);
    }

    .manifestations:hover {
        background-image: url(./img/pictogrammes_pleins/dates.svg);
    }

    .membres:hover {
        background-image: url(./img/pictogrammes_pleins/membres.svg);
    }

    .contact:hover {
        background-image: url(./img/pictogrammes_pleins/contact.svg);
    }


    footer {
        background-color: transparent;
    }

    .footer-qui {
        background-color: #f1de31;
        height: 11vh;
        width: 100%;

    }

    footer :hover {
        color: #f1de31;
    }

    .footer-qui :hover {
        color: #009a44;

    }

    footer a {
        color: rgb(255, 255, 255);
        font-size: clamp(14px, 2.5vw, 25px);
        line-height: 1;
    }

    .footer-qui a {
        color: rgb(0, 0, 0);
    }

    footer a :hover {
        color: #f1de31;
    }

    footer i {
        font-size: clamp(20px, 3vw, 32px);

    }

    .reseaux-sociaux-liens a {
        display: flex;
        justify-content: end;
        align-items: center;
    }


    /*Galerie photo*/
    .galerie-photos {
        overflow-x: auto;
        overflow-y: hidden;
        flex-direction: row;
    }

    .galerie-photos img {
        height: 100%;
        width: auto;
        margin-right: 2vh;
        flex-shrink: 0;
    }

    .galerie i {
        display: none;
    }


    /*Page Qui sommes-nous? */


    .cta1 a:hover,
    .cta2 a:hover {
        color: #f1de31;
        background-color: #481653;
    }

    /*Contact*/
    .infos {
        display: flex;
        flex-direction: row;
        align-items: stretch;
        gap: 20px;
        width: 90%;
        margin: 0 auto;
        justify-self: center;
        align-self: center;
        margin-bottom: 7vh;
    }

    .comite {}

    /*Manifestations 2025 */
    .galerie-photos-manif {
        display: flex;
        flex-direction: row;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-behavior: smooth;
        width: 90%;
        /* conteneur responsive */
        margin: 0 auto 3vh auto;
        padding-bottom: 10px;
        /* espace pour scrollbar */
        box-sizing: border-box;
    }

    .galerie-photos-manif>* {
        flex: 0 0 80%;
        /* largeur relative au conteneur, pas à la viewport */
        max-width: 400px;
        /* optionnel pour limiter sur grands écrans */
        margin-right: 20px;
        /* espacement fixe */
        box-sizing: border-box;
    }

    .galerie-photos-manif>*:last-child {
        margin-right: 0;
        /* pas de marge après le dernier élément */
    }

    .galerie-photos-manif img {
        width: 100%;
        /* s’adapte à l’élément parent */
        height: auto;
        display: block;
        object-fit: contain;
    }


    .flyer {
        flex: 0 0 auto;
        width: auto;
        height: 50vh;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        scroll-snap-align: start;
        text-align: center;
    }

    .flyer img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }


    .nom-prenom {
        width: 90vw;
        display: flex;
        flex-direction: row;
        gap: 2vw;
    }

    input#nom,
    input#prenom {
        width: 44vw;
    }

    .message textarea {
        height: 15vh;
    }

    /* Membres */
    .cartes-membres {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 20px;
        width: 90vw;
        max-width: 1400px;
        margin: 0 auto;
    }

    .cartes {
        height: 49vh;
        width: 100%;
        aspect-ratio: 3 / 4;
    }


    .cartes:hover .carte-avant {
        transform: rotateY(180deg);
    }

    .cartes:hover .carte-arriere {
        transform: rotateY(360deg);
    }

    .carte-arriere p {
        font-size: 1.4vh;
        text-align: start;
        margin-top: 10%
    }


}