body {
    height: 100%;
}

a {
    text-decoration:none;
    color:black;
}

ul {
    list-style:none;
}

nav {
    margin-bottom:20px;
    width:100%;
    position:sticky;
    left:0;
    top:10px;
    font-size: clamp(10px, 3vw, 25px);
}

nav ul {
    width:100%;
    display: flex;
    justify-content: space-evenly;
}

nav ul li a {
color: black;
text-decoration: none;}

.menu-deroulant ul {
    display:none;
    font-size:20px;
}

.menu-deroulant:hover {
        background-color: rgb(180 180 180);
}

.menu-deroulant:hover ul {
    display:block;
    z-index:1;
    position:absolute;
    background-color: rgb(200 200 200);
    width:auto;
}

.menu-deroulant:hover ul li:hover {
    background-color: rgb(0 0 0 /50%);
}

.galleries {
    display: grid;

    /* Hauteur disponible pour l'ensemble */
    /* height: 100vh; */

    /* Chaque gallery reçoit une fraction égale */
    grid-template-rows: repeat(2, minmax(0, 1fr));

    gap: 20px;
    /* Très important pour éviter que les enfants
       imposent une taille minimale au grid */
    min-height: 0;
}


.gallery {
    display: flex;

    /* Permet au contenu de rester dans la hauteur */
    min-height: 0;
    min-width: 0;
    gap:10px;

    /* overflow: hidden; */
}


.gallery > * {
    flex: 1 0 200px;
    min-width: 0;
    min-height: 0;

    /* padding: 20px; */
}


.row-title {
    flex: 0 0 auto;

    border: 20px solid pink;

    display: flex;
    align-items: center;
    justify-content: center;

    min-width: 60px;
}


.row-title h3 {
    writing-mode: sideways-lr;
}


.card {
    min-width: 0;
    min-height: 0;
}


.card a {
    display: flex;
    flex-direction: column;

    width: 100%;
    height: 100%;

    min-width: 0;
    min-height: 0;
}


.card a img {
    display: block;

    /*
     * L'image prend la hauteur disponible.
     * Sa largeur est calculée automatiquement
     * à partir de son ratio.
     */
    height: auto;
    /* width: 100%; */

    aspect-ratio: 4 / 3;
    object-fit: cover;
}


.description {
    text-align: center;
    align-content: center;
    min-width:300px;
}