:root {
    --bleu-roi : #4169E1;
    --bleu-clair : #DFF2FF;
}

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

body {
    font-family: 'Lexend', sans-serif;
    margin: 0;
    padding: 0;
}

/* Conteneur principal de la page */
.wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

nav {
    position: fixed;
    width: 100%;
    display: flex;
    align-items: center;
    padding: 15px 25px;
    background: var(--bleu-roi);
    /*box-shadow: inset 0px -1px 0px #faed9c;*/
    z-index: 1000;
    top: 0;
}
.nav-icon {
    display: flex;
    align-items: center;
    margin-right: 20px;
}

.nav-icon span {
    font-family: Roboto Flex, sans-serif;
    font-size: 32px;
    margin-left: 6px;
    font-weight: 550;
    padding : 20px;
    color : #DFF2FF;/* couleur de relax math*/
}

.nav-icon img {
    width: 70px;
}

.hamburger {
    display: none;
}

.navlinks-container a {
    margin: 5px;
    font-size: 24px;
    text-decoration: none; /* Sinon une ligne apparait en dessous */
    position: relative;
    display: inline-block;
    color: #DFF2FF;/* couleur des onglets */
    padding: 5px 10px; /* Pour un peu d'espace autour du texte */
    transition: color 0.3s ease;
}

.navlinks-container a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px; /* Place la ligne en dessous */
    width: 88%;
    height: 3px; /* Épaisseur de la ligne */
    background: linear-gradient(90deg,var(--bleu-roi),  var(--bleu-clair)); /* Dégradé */
    transform: scaleX(1); /* Ligne visible même sans survol */
    transform-origin: left;
    transition: transform 0.4s ease;
}

.navlinks-container a:hover {
    background: var(--bleu-roi); /* Couleur de texte survol */
    color: #ffffff; /* Change la couleur survol */
    box-shadow: 5px 4px 10px rgba(0, 0, 0, 0.2);
    border-radius: 25px;
}

/* CSS après clique sur S'inscrire et Se connecter */
.navlinks-container a:active {
    background: var(--bleu-roi); /* Couleur plus foncée pour clic */
    color: #ffffff; /* Contraste élevé pour le texte */
    box-shadow: inset 3px 3px 8px rgba(0, 0, 0, 0.3);
    border-radius: 30px;
    transform: scale(0.95); /*effet de pour simuler un clic */
    transition: transform 0.1s ease-out, background-color 0.2s ease-out;
}

.navlinks-container a:hover::after {
    transform: scaleX(1.1); /* agrandi la ligne au survol */
}

.nav-authentication {
    margin-left: auto;
}

.sign-btns button {
    color: #DFF2FF;
    background: linear-gradient(90deg, var(--bleu-roi) 70%, var(--bleu-clair ) 100%); /* Dégradé harmonieux */
    font-family: 'Lexend', sans-serif;
    font-size: 18px;
    font-weight: 550;
    padding: 10px 20px;
    margin: 0 10px;
    border: none;
    border-radius: 15px; /* Coins arrondis pour un aspect moderne */
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15); /* Douce ombre */
}

.sign-btns button:hover {
    background: var(--bleu-roi); /* Couleur de survol */
    color:#ffffff ; /* Change la couleur au survol */
    box-shadow: 2px 4px 10px rgba(0, 0, 0, 0.2);
    border-radius: 15px;
    background: linear-gradient(90deg, var(--bleu-roi) 70%, var(--bleu-clair ) 100%); /* Dégradé harmonieux */
    transition: background-color 0.3s ease-out, color 0.3s ease-out;
}

.sign-btns button:active {
    background: var(--bleu-roi); /* Couleur plus foncée pour indiquer un clic */
    color: #ffffff; /* Couleur texte après clique */
    box-shadow: inset 3px 3px 8px rgba(0, 0, 0, 0.3); /* Ombre intérieure pour clique */
    border-radius: 15px; /* Arrondi encore plus prononcé */
    transform: scale(0.95); /*effet de réduction pour simuler un clic */
    transition: transform 0.1s ease-out, background-color 0.2s ease-out;
}

.sign-btns a {
    text-decoration: none;
    color: var(--bleu-clair);
}

.user-toggler {
    display: none;
}

.banniere_haute {
    padding-bottom: 20px;
}

.banniere_haute img {
    width: 100%;
    max-height: 250px; /* Hauteur réduite */
    object-fit: cover; /* Garde les proportions en rognant */
    object-position: bottom; /* Rogne le haut de l'image */
    overflow: hidden;
}

@media (max-width: 925px) {
    nav {
        padding: 15px 20px;
        position: fixed;
        z-index: 1000;
        top: 0;
    }

    /* nav */
    .nav-icon {
        order: 2;
        margin: 0 auto;
    }

    .nav-icon span {
        font-size: 22px;
    }
    .main-navlinks {
        order: 1;
        width: auto;
    }

    /* hamburger */
    .hamburger {
        width: 20px;
        height: 20px;
        cursor: pointer;
        border: none;
        display: flex;
        background: var(--bleu-roi);
        align-items: center;
        position: relative;
    }

    .hamburger span {
        display: block;
        width: 100%;
        height: 2px;
        background: var(--bleu-clair);
        position: absolute;
        pointer-events: none;
        transition: opacity 0.3s 0.15s ease-out;
    }
    .hamburger span:nth-child(1),
    .hamburger span:nth-child(3) {
        transition: transform 0.3s ease-out;
    }

    .hamburger span:nth-child(1) {
        transform: translateY(7px);
    }
    .hamburger span:nth-child(3) {
        transform: translateY(-7px);
    }

    .hamburger.open span:nth-child(1) {
        transform: translate(0) rotate(135deg);
    }
    .hamburger.open span:nth-child(2) {
        opacity: 0;
        transition: opacity 0s ease-out;
    }
    .hamburger.open span:nth-child(3) {
        transform: translate(0) rotate(-135deg);
    }

    .navlinks-container {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        position: absolute;
        background: var(--bleu-roi);
        top: 100%;
        left: 0;
        transform: translate(-100%);
        height: 110vh;
        padding: 15px 50px 15px 20px;
        /*border-right: 1px solid #c5c5c6;*/
    }
    .open {
        transform: translate(0%);
    }

    .navlinks-container a {
        color: var(--bleu-clair);
        font-size: 18px;
        margin: 10px 0;
    }

    .nav-authentication {
        order: 3;
        margin-left: 0;
    }
    .sign-btns {
        display: none;
    }

    .user-toggler {
        display: block;
        cursor: pointer;
        border: none;
    }

    .user-toggler img {
        width: 20px;
    }
    .banniere_haute img {
        width: 100%;
        max-height: 200px; /* Hauteur réduite */
        object-fit: cover; /* Garde les proportions en rognant */
        object-position: bottom; /* Rogne le haut de l'image */
        overflow: hidden;
    }
    .banniere_bas img {
        width: 100%;
        height: 100%; /* Hauteur réduite */
        object-fit: cover; /* Garde les proportions en rognant */
        object-position: top; /* Rogne le bas de l'image */
        overflow: hidden;
    }
}
/* Ajuste l'affichage sur les appareils mobiles */
@media (max-width: 768px) {
    select {
        font-size: 14px;
        padding: 8px 12px;
    }
}

.footer-content {
    text-align: center;
    font-size: 14px;
    color: var(--bleu-clair);
    /*padding: 10px 0;*/
    background-color: var(--bleu-roi);
}