@font-face {
    font-family: "poppins_regular";
    src: url(../fonts/Poppins-Regular.ttf);
}

@font-face {
    font-family: "poppins_bold";
    src: url(../fonts/Poppins-Bold.ttf);
}

@font-face {
    font-family: "poppins_italic";
    src: url(../fonts/Poppins-Italic.ttf);
}

@font-face {
    font-family: "Loos_regular";
    src: url(../fonts/fonnts.com-Loos_Normal_Regular.otf);
}

@font-face {
    font-family: "Loos_bold";
    src: url(../fonts/fonnts.com-Loos_Normal_Bold.otf);
}

html, body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

* {
  box-sizing: border-box;
}

body {
  padding: 50px;
  padding-bottom: 0;
  padding-top: 0;
  .uk-container{
        all: unset;
    }
}

.uk-grid{
    margin: 0;
    padding: 0!important;
    > div{
        padding: 0!important;
        margin: 0!important;
    }
}
.uk-section{
    padding: 4vh!important;
}



.color{
    display: none!important;
}



::selection {
  background: var(--color-primary);
  color: white;
}


.contour_muted9{
    background-color: var(--muted7) !important;
    width: fit-content;
    padding: 0.25rem 0.5rem;
    border-radius: 30px;
    color: var(--primary6);
}

.contour_muted2{
    background-color: var(--muted2) !important;
    width: fit-content;
    padding: 0.25rem 0.5rem;
    border-radius: 30px;
    color: var(--primary6);
}

.contour_muted5{
    background-color: var(--muted5) !important;
    width: fit-content;
    padding: 0.25rem 0.5rem;
    border-radius: 30px;
    color: white;
}

.contour_muted7{
    background-color: var(--muted7) !important;
    width: fit-content;
    padding: 0.25rem 0.5rem;
    border-radius: 30px;
    color: var(--primary6);
}

.contour_secondary4{
    background-color: var(--secondary4) !important;
    width: fit-content;
    padding: 0.25rem 0.5rem;
    border-radius: 30px;
    color: white;
}

.contour_secondary3{
    background-color: var(--secondary3) !important;
    width: fit-content;
    padding: 0.25rem 0.5rem;
    border-radius: 30px;
    color: white;
}

.contour_secondary1{
    background-color: var(--color-secondary) !important;
    width: fit-content;
    padding: 0.25rem 0.5rem;
    border-radius: 30px;
    color: white;
}

.contour_primary7{
    background-color: var(--primary7) !important;
    width: fit-content;
    padding: 0.25rem 0.5rem;
    border-radius: 30px;
    color: white;
}

.contour_primary2{
    background-color: var(--primary2) !important;
    width: fit-content;
    padding: 0.25rem 0.5rem;
    border-radius: 30px;
    color: white;
}

.contour_blanc{
    background-color: white !important;
    width: fit-content;
    padding: 0.25rem 1rem;
    border-radius: 30px;
    color: var(--secondary3);
}

.contour_blanc_primary2{
    background-color: white !important;
    width: fit-content;
    padding: 0.25rem 0.5rem;
    border-radius: 30px;
    color: var(--primary2);
}

.contour_blanc_muted6{
    background-color: white !important;
    width: fit-content;
    padding: 0.25rem 0.5rem;
    border-radius: 30px;
    color: var(--muted6);
}


p, #text{
    font-family: "poppins_regular"!important;
    line-height: 1.4rem;
}

h1 {
  text-shadow: 4px 4px 3px rgba(0, 0, 0, 0.4);
}

h1, h2, h3, h4{
    font-family: "Loos_bold"!important;
}

h2, h3, h4{
    font-family: "Loos_bold"!important;
    text-transform: initial;
}

h3{
    font-family: "Loos_bold"!important;
    font-size: 2rem;
}

a{
    color: white;
    font-family: "poppins_bold"!important;
}


.hero_video{
    margin-top: 5vh;
    width: 100%;
    height: 70vh;
    overflow: hidden;
    padding-top: 0!important;
    padding-bottom: 0!important;
    border-radius: 50px;
    position: relative;
    .title{
        position: absolute;
        top: 10vh;
        left: 5vw;
        h1{
            font-family: "Loos_bold"!important;
            font-size: 5rem;
            margin-bottom: 1rem;
            color: white;
        }
        p{
            font-family: "Loos_regular"!important;
            font-size: 2rem;
            color: white;
        }
    }
    .uk-container{
        all: unset;
    }
    
    .img_contact_hero{
        position: absolute;
        bottom: 1vw;
        right: 1.5vw;
        width: 30vw;
        height: 26vh;
        z-index: 10;
    }
}

.hero_img{
    background-color: var(--primary3);
    background-image: url(/images/yootheme/pattern.png);
    background-size: 15vw;
    margin-top: 5vh;
    width: 100%;
    height: 45vh;
    overflow: hidden;
    padding-top: 0!important;
    padding-bottom: 0!important;
    border-radius: 50px;
    position: relative;
    img{
        position: absolute;
        right: 0;
        border-radius: 0px;
        height: 100%;
        width: 50%;
    }
    .title{
        position: absolute;
        top: 10vh;
        left: 5vw;
        h1{
            font-family: "Loos_bold"!important;
            font-size: 5rem;
            margin-bottom: 1rem;
            color: white;
        }
        p{
            font-family: "Loos_regular"!important;
            font-size: 2rem;
            color: white;
        }
    }
    .uk-container{
        all: unset;
    }
    .hero_contact{
        display: flex;
        position: absolute;
        bottom: 0;
        right: 0;
        background-image: url(/images/yootheme/fond_contact.png);
        background-color: transparent;
        background-size: cover;
        background-position: center;
        width: 35vw;
        height: 30vh;
        align-items: flex-end;
        justify-content: flex-end;
        padding-bottom: 1vw;
        padding-right: 2vw;
        img{
            position: relative!important;
            width: 10vw;
            margin-left: 6vw;
        }
        .text_contact {
            text-align: right;
            padding-bottom: 1vh;
            p{
                font-family: "Poppins_italic"!important;
                font-size: 0.9rem;
            }
        }
        .hero_cta p{
            font-family: "Loos_bold"!important;
            font-size: 1.2rem;
        }
    }
}

.img_contact_hero {
        position: absolute;
        bottom: 0;
        right: 0vw;
        width: 25vw;
        height: 26vh;
        z-index: 10;
        img{
            width: 100%!important;
        }
    }

.acces_rapide{
    padding-top: 15vh!important;

    .uk-container{

        .uk-grid{
            padding: 0!important;
        }

        .acces_row1 > div:nth-child(2),
        .acces_row1 > div:nth-child(3),
        .acces_row2 > div:nth-child(1),
        .acces_row2 > div:nth-child(2),
        .acces_row2 > div:nth-child(3){
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            position: relative;
            margin-right: 2vw!important;
            width: 30%;
            padding: 0!important;
            border: solid 2px var(--primary9);
            border-radius: 25px;
            min-height: 42vh;

            > .uk-margin:nth-child(1){
                border-bottom: solid 2px var(--primary9);
                border-top-left-radius: 23px;
                border-top-right-radius: 23px;
                position: relative;
                height: 20vh;

                img{
                    width: 50%;
                    height: auto;
                    position: absolute;
                    top: -5vh;
                    left: 50%;
                    transform: translateX(-50%);
                }
            }

            h3{
                margin-top: 0;
                padding-left: 2vw;
            }

            .uk-panel{
                padding-left: 1vw;
                padding-right: 2.5vw;
                padding-bottom: 1vh;

                .uk-grid> div:nth-child(2){
                    padding: 0;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    position: absolute;
                    bottom: 1vh;
                    right: -1vw;

                    img{
                        width: 3vw;
                        height: 3vw;
                    }
                }
            }
        }

        .acces_row1 > div:nth-child(2) > .uk-margin:nth-child(1),
        .acces_row1 > div:nth-child(3) > .uk-margin:nth-child(1){
            background-color: var(--secondary3);
        }

        .acces_row2 > div:nth-child(1) > .uk-margin:nth-child(1),
        .acces_row2 > div:nth-child(2) > .uk-margin:nth-child(1){
            background-color: var(--muted3);
        }

        .acces_row2 > div:nth-child(3) > .uk-margin:nth-child(1){
            background-color: var(--primary4);
        }

        .acces_row2{
            margin-top: 10vh;
        }
    }
}

/* TABLETTE : 2 cartes par ligne */
@media (max-width: 1024px){
    .acces_rapide{
        padding-top: 10vh!important;
    }

    .acces_rapide .uk-container{

        .acces_row1 > div:nth-child(2),
        .acces_row1 > div:nth-child(3),
        .acces_row2 > div:nth-child(1),
        .acces_row2 > div:nth-child(2),
        .acces_row2 > div:nth-child(3){
            width: 47%;
            margin-right: 3%!important;
            min-height: auto;
        }

        .acces_row1,
        .acces_row2{
            row-gap: 4vh;
        }

        .acces_row2{
            margin-top: 6vh;
        }

        .acces_row1 > div:nth-child(2) > .uk-margin:nth-child(1),
        .acces_row1 > div:nth-child(3) > .uk-margin:nth-child(1),
        .acces_row2 > div:nth-child(1) > .uk-margin:nth-child(1),
        .acces_row2 > div:nth-child(2) > .uk-margin:nth-child(1),
        .acces_row2 > div:nth-child(3) > .uk-margin:nth-child(1){
            height: 18vh;

            img{
                width: 45%;
                top: -4vh;
            }
        }

        .acces_row1 h3,
        .acces_row2 h3{
            padding-left: 3vw;
        }
    }
}

/* MOBILE : 1 carte par ligne */
@media (max-width: 768px){
    .acces_rapide{
        padding-top: 8vh!important;
    }

    .acces_rapide .uk-container{

        .acces_row1 > div:nth-child(2),
        .acces_row1 > div:nth-child(3),
        .acces_row2 > div:nth-child(1),
        .acces_row2 > div:nth-child(2),
        .acces_row2 > div:nth-child(3){
            width: 100%;
            margin-right: 0!important;
            margin-bottom: 4vh;
            min-height: auto;
        }

        .acces_row2{
            margin-top: 4vh;
        }

        .acces_row1 > div:nth-child(2) > .uk-margin:nth-child(1),
        .acces_row1 > div:nth-child(3) > .uk-margin:nth-child(1),
        .acces_row2 > div:nth-child(1) > .uk-margin:nth-child(1),
        .acces_row2 > div:nth-child(2) > .uk-margin:nth-child(1),
        .acces_row2 > div:nth-child(3) > .uk-margin:nth-child(1){
            height: 16vh;

            img{
                width: 40%;
                top: -3vh;
            }
        }

        .acces_row1 h3,
        .acces_row2 h3{
            padding-left: 5vw;
        }

        /* Bouton / pictogramme en bas à droite adapté mobile */
        .acces_row1 .uk-panel .uk-grid> div:nth-child(2),
        .acces_row2 .uk-panel .uk-grid> div:nth-child(2){
            position: static;
            margin-top: 2vh;
            justify-content: flex-start;

            img{
                width: 14vw;
                height: 14vw;
            }
        }

        .acces_row1 .uk-panel,
        .acces_row2 .uk-panel{
            padding-right: 5vw;
        }
    }
}



.direction{

    /* Colonne 3 du grid */
    .uk-container .uk-grid > div:nth-child(2){
        padding: 0!important;
        margin: 0!important;

        .uk-margin{
            width: 100%;
            height: 100%;
            margin-bottom: 5vh!important;
        }
    }

    /* Styles communs aux cartes direction */
    .adjointe,
    .RVS{
        position: relative;
        border: solid 2px var(--primary9);
        border-radius: 25px;

        .uk-margin{
            margin: 0!important;
        }

        img{
            width: 5vw;
            z-index: 5;
        }
    }

    /* Typo commune */
    .uk-grid > div:nth-child(1) > div{
        &.texte_direction{
            font-size: 0.95rem;
            padding: 1vw;
            margin: 0!important;
            line-height: 1.2rem;
            text-align: justify;
        }
    }

    .nom_direction{
        font-family: "Loos_bold"!important;
        font-size: 1.3rem;
        padding: 0;
        margin: 0;
    }

    .role_direction{
        font-family: "Poppins_italic"!important;
        font-size: 1rem;
        padding: 0;
        margin: 0;
    }

    /* Carte Adjointe */
    .adjointe{
        margin-left: 4vw;

        img{
            position: absolute;
            bottom: 0;
            left: -3vw;
        }

        .uk-grid > div:nth-child(1) > div:nth-child(2){
            font-size: 0.95rem;
            padding: 1.5vw;
            margin: 0!important;
            line-height: 1.2rem;
            text-align: justify;
        }

        .uk-grid > div:nth-child(1) > div:nth-child(3){
            padding: 0.5vw;
            margin: 0!important;
            background-color: var(--primary6);
            color: white;
            border-bottom-left-radius: 23px;
            border-bottom-right-radius: 23px;

            .nom_direction{
                padding-left: 3vw;
            }

            .role_direction{
                padding-left: 3vw;
            }
        }
    }

    /* Carte RVS */
    .RVS{
        margin-right: 4vw;

        img{
            position: absolute;
            top: 0;
            right: -3vw;
        }

        .uk-grid > div:nth-child(1) > div:nth-child(3){
            font-size: 0.95rem;
            padding: 1.5vw;
            margin: 0!important;
            line-height: 1.2rem;
            text-align: justify;
        }

        .uk-grid > div:nth-child(1) > div:nth-child(2){
            margin: 0!important;
            background-color: var(--primary6);
            color: white;
            border-top-left-radius: 23px;
            border-top-right-radius: 23px;
            padding: 0.5vw;
        }
    }
}

/* TABLETTE : on réduit les marges latérales et on grossit légèrement les visuels */
@media (max-width: 1024px){
    .direction{

        .adjointe{
            margin-left: 2vw;

            img{
                left: -2vw;
                width: 6vw;
            }

            .uk-grid > div:nth-child(1) > div:nth-child(3){
                .nom_direction,
                .role_direction{
                    padding-left: 2vw;
                }
            }
        }

        .RVS{
            margin-right: 2vw;

            img{
                right: -2vw;
                width: 6vw;
            }
        }

        .uk-grid > div:nth-child(1) > div:nth-child(2),
        .uk-grid > div:nth-child(1) > div:nth-child(3){
            font-size: 0.9rem;
            padding: 1.2vw;
        }
    }
}

/* MOBILE : cartes en full-width, icônes rapprochées, padding adapté */
@media (max-width: 768px){
    .direction{

        .uk-container .uk-grid > div:nth-child(3){
            padding: 0 4vw!important;

            .uk-margin{
                margin-bottom: 4vh!important;
            }
        }

        .adjointe,
        .RVS{
            margin-left: 0;
            margin-right: 0;
            margin-bottom: 4vh;

            img{
                width: 14vw;
            }
        }

        .adjointe{
            img{
                bottom: -1vh;
                left: -2vw;
            }

            .uk-grid > div:nth-child(1) > div:nth-child(3){
                padding: 2vw;

                .nom_direction,
                .role_direction{
                    padding-left: 0;
                }
            }
        }

        .RVS{
            img{
                top: -1vh;
                right: -2vw;
            }

            .uk-grid > div:nth-child(1) > div:nth-child(2){
                padding: 2vw;
            }
        }

        .uk-grid > div:nth-child(1) > div:nth-child(2),
        .uk-grid > div:nth-child(1) > div:nth-child(3){
            font-size: 0.9rem;
            line-height: 1.4rem;
        }
    }
}


.inscriptions_home .uk-container {
    display: flex;
}

.inscriptions_home .uk-container .uk-grid > div:nth-child(2) {
    padding-left: 3vw !important;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

@media (max-width: 959px) {
    .inscriptions_home .uk-container {
        flex-direction: column;
    }

    .inscriptions_home .uk-container .uk-grid > div:nth-child(2) {
        padding-left: 0 !important;
        margin-top: 30px;
        .uk-margin{
            display: flex;
            justify-content: center;
        }
    }
}


.en_savoir_plus .uk-container{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    .aller_plus_loin{
        background-color: var(--secondary3);
        color: white;
        padding: 1vw;
        border-radius: 50px;
        position: relative;
        padding-top: 5vh!important;
        padding-bottom: 10vh!important;
        width: 100%;
        h2{
            color: white;
        }
        .grande_etoile_marron{
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            right: 6vw;
            width: 6vw;
        }

        .petite_etoile_marron{
            position: absolute;
            top: 7vh;
            left: 13vw;
            width: 5vw;
        }

        .grosse_etoile_beige{
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            left: 6vw;
            width: 6vw;
        }

        .petite_etoile_beige{
            position: absolute;
            top: 7vh;
            right: 13vw;
            width: 5vw;
        }
    }

    .contact{
        cursor: pointer;
        position: absolute;
        top: 20vh;
        background-color: white;
        padding: 1vw!important;
        width: 60%;
        display: flex;
        align-content: center;
        justify-content: center;
        border: solid 6px var(--muted5);
        border-radius: 25px;
        p{
            margin-top: 2vh;
            font-family: "Poppins_bold"!important;
        }
        img{
            margin-left: 10vw;
        }
    }
}

.partenaires_gallerie {
  div {
    margin-top: 5vh;
    display: flex;
    flex-wrap: nowrap;           
    justify-content: center;
    align-items: center;
    gap: 20px;

    img {
      flex: 0 0 auto;       
      height: 15vh;
      width: auto;
      object-fit: contain;
      display: block;
    }
    @media (max-width: 640px) {
      flex-wrap: wrap;

      img {
        /* calc(50% - gap/2) : gap entre deux éléments = 20px, on retire 10px de chaque */
        flex: 0 0 calc(50% - 10px);
        height: auto;
        max-height: 12vh;
      }
    }
  }
}



.footer_primary{
    margin-top: 10vh;
    background-color: var(--primary3);
    background-image: url(/images/yootheme/pattern.png);
    background-size: 15vw;
    padding: 3vw;
    border-top-left-radius: 50px;
    border-top-right-radius: 50px;
    margin-left: -50px;
    margin-right: -50px;
    color: white;
    .logo_footer{
        width: 30vw!important;
    }
    img{
        margin-left: 5vw;
    }
    .uk-child-width-1-1{
        margin: 2vh;
    }
    a{
        color: white;
        text-decoration: none;
        font-family: "Poppins_regular"!important;
        font-size: 0.9rem;
        border: none;
        padding: 0!important;
        &:hover{
            text-decoration: underline;
            border: none;
        }
    }
}


/* PAGE LYCEE */

.nav_page {
    .uk-container {

        /* Desktop : 3 blocs */
        .uk-grid {
            display: flex;
            flex-wrap: wrap;
            gap: 2vw;
        }

        .uk-grid > * {
            width: 30%;
        }

        .btn_nav {
            cursor: pointer;
            border: 2px solid var(--primary2);
            padding: 1vw!important;
            border-radius: 25px;
            box-sizing: border-box;

            .title_nav p {
                font-family: "Poppins_regular";
                font-size: 1rem;
                margin: 0;
            }

            .uk-grid {
                gap: 1vw;
                display: flex;
                align-items: center;
            }

            .uk-grid > div:nth-child(1) {
                all: unset;
                border: 2px solid var(--primary2);
                border-radius: 15px;
                padding: 1vw;
                display: flex;
                align-items: center;
                justify-content: center;
                width: 5vw;
                height: 5vw;

                img {
                    width: 3vw;
                }
            }
        }
    }
}

.active {
    background-color: var(--primary2) !important;
    color: white !important;
    border: 2px solid var(--primary2) !important;

    .uk-grid > div:nth-child(1) {
        border-color: white!important;
    }

    .title_nav p {
        font-family: "Poppins_bold"!important;
    }
}
@media (max-width: 768px) {
    .nav_page .uk-container {

        .uk-grid {
            display: flex;
            flex-direction: column;
            gap: 2vh;
        }

        .uk-grid > * {
            width: 100%;
        }

        .btn_nav {
            padding: 1.2vh 3vw!important;   /* Très faible hauteur */
            border-radius: 15px;

            .uk-grid {
                gap: 2vw;
                display: flex;
                align-items: center;
                flex-direction: column;         /* icône + texte sur une ligne */
            }

            /* Icône minimaliste (plus de carré autour) */
            .uk-grid > div:nth-child(1) {
                border: none;
                padding: 0;
                width: auto;
                height: auto;
                padding: 1vh!important;
                img {
                    width: 7vw; /* icône petite mais lisible */
                }
            }

             p{
                display: none;
            }

            .title_nav p {
                display: block;
                font-size: 0.9rem;
                margin: 0;
                line-height: 1.1rem;
            }

           
        }
    }

    .active {
        transform: none;
        box-shadow: 3px 3px 4px rgba(22,40,64,0.25);
    }
}


.section_img_text .uk-container{
    .uk-grid > div:nth-child(2){
        padding-left: 3vw!important;
    }
    
}

.section_text_img .uk-container{
    .uk-grid > div:nth-child(2){
        padding-left: 3vw!important;
    }   
}

.section_text_img .uk-first-column{
        padding-right: 3vw!important;
}

.section_text_img > *:nth-child(1){
        display: flex;
        flex-direction: column;
        justify-content: center;
        
}

.section_img_text .uk-first-column{
        padding-right: 3vw!important;
}

.section_img_text > *:nth-child(2){
        display: flex;
        flex-direction: column;
        justify-content: center;
        
}

.histoire_lycee{
    p{
        font-size: 0.8rem;
    }
    .uk-grid > div:nth-child(1){
        padding-right: 1vw!important;
        .uk-panel .uk-grid > div:nth-child(1){
            padding: 1vw!important;
        }
        .uk-panel .uk-grid > div:nth-child(2){
            padding: 1vw!important;
        }
        .uk-panel .uk-grid > div:nth-child(3){
            padding: 1vw!important;
        } 
    }
    .uk-grid > div:nth-child(2){
        padding-right: 1vw!important;
        .uk-panel .uk-grid > div:nth-child(1){
            padding: 1vw!important;
        }
        .uk-panel .uk-grid > div:nth-child(2){
            padding: 1vw!important;
        }
        .uk-panel .uk-grid > div:nth-child(3){
            padding: 1vw!important;
        } 
    }
    
}

.reussite_lycee {

    .uk-container .uk-grid > div:nth-child(2) {

        /* Style des 4 blocs */
        .uk-panel .uk-grid > * {
            box-sizing: border-box;
            border: 1px solid var(--primary2);
            border-radius: 15px;
            padding: 1vw!important;
            margin-right: 1vw!important;
            max-width: 13vw; /* 4 blocs alignés desktop */

            img {
                width: 3vw;
            }

            /* Icône centrée */
            div:nth-child(1) {
                display: flex;
                align-items: center;
                justify-content: center;
            }

            h4 {
                font-size: 1.2rem;
                margin-top: 10px!important;
            }

            p {
                font-size: 1rem;
                margin-top: 0.5rem!important;
            }
        }
    }
}


/* ---------- TABLETTE (2 blocs par ligne) ---------- */
@media (max-width: 1024px) {
    .reussite_lycee .uk-container .uk-grid > div:nth-child(2) {

        .uk-panel .uk-grid > * {
            max-width: 48%; /* 2 blocs par ligne */
            margin-right: 2%!important;
            margin-bottom: 3vh;
            padding: 2vw!important;

            img {
                width: 6vw;
            }

            h4 {
                font-size: 1.1rem;
            }

            p {
                font-size: 0.95rem;
            }
        }
    }
}


/* ---------- MOBILE (toujours 2 blocs par ligne pour cohérence) ---------- */
@media (max-width: 768px) {
    .reussite_lycee .uk-container .uk-grid > div:nth-child(2) {

        .uk-panel .uk-grid > * {
            max-width: 48%; /* 2 par ligne aussi */
            margin-right: 2%!important;
            margin-bottom: 3vh;
            margin-top: 2%!important;
            padding: 4vw!important;

            img {
                width: 12vw;
            }

            h4 {
                font-size: 1.05rem;
            }

            p {
                font-size: 0.9rem;
            }
        }
    }
}



.slider{
    min-height: 50vh;
    perspective: 1000px;
    img {
        height: 50vh;
        width: auto;
        max-width: 100%;
        object-fit: cover;
        display: block;
        margin: 0 auto;
        transition: 0.5s ease-in-out;
        border-radius: 20px;
    }
}

.temoignage{
    display: none;
}

.environement .uk-container .uk-grid{
    background-color: var(--primary3);
    padding: 2vw!important;
    border-radius: 25px;
    .uk-grid{
        display: flex;
        flex-wrap: wrap;
        gap: 2vw;
        justify-content: center;
        .el-item{
            width: 25vw;
            background-color: white;
            padding: 1vw;
            border-radius: 15px;
            display: flex;
            align-items: center;
            justify-content: space-around;
            .el-content{
                margin: 0!important;
                display: flex;
                align-items: center;
                justify-content: center;
            }
        }
    }
}


.role_cle{
    padding: 0 4vw !important;
    background-image: url(/images/yootheme/fond_bleu.png);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: bottom;
    .uk-grid {
        display: flex;
        gap: 2vw;
    > *{
            width: 15vw!important;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: space-between;
            border: solid 2px var(--primary2);
            border-radius: 25px;
            margin-right: 3vw!important;
            margin-top: 10vh!important;
            margin-bottom: 10vh!important;
            background-color: white;
        }
        .uk-margin{
            width: 10vw;
            margin: 0!important;
        }
        .img_role{
            border-bottom: solid 2px var(--primary2);
            width: 100%;
            height: 18vh;
            position: relative;
            background-image: url(/images/yootheme/fond_role.png);
            background-position: center;
            border-radius: 20px;
            border-bottom-left-radius: 0;
            border-bottom-right-radius: 0;
            background-size: cover;
        }
        img{
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
        }
        .role{
            font-family: "Poppins_bold"!important;
            padding-top: 1vw!important;
        }
        .nom{
            padding-top: 1vw !important;
        }
        .btn_role{
            all: unset;
            padding: 1vw 0!important;

            a{
                all: unset;
                font-family: "Poppins_regular"!important;
                font-size: 0.8rem;
                color: black;
                padding: 0.5vw!important;
                border: solid 1px black;
                border-radius: 50px;
            }
        }
    }
}

/* important: le conteneur qui contient l image de la carte doit etre en relative */
.partner-map-stage{
  position: relative;
}

/* points */
.pm-pin{
  position: absolute;
  left: var(--x);
  top: var(--y);
  transform: translate(-50%, -50%);
  width: 16px;
  height: 16px;
  border-radius: 999px;
  border: 2px solid #fff;
  background: var(--primary7);
  box-shadow: 0 0 0 8px rgba(0,0,0,.18);
  cursor: pointer;
  z-index: 10;
}

.pm-pin.is-active{
  box-shadow: 0 0 0 10px rgba(0,0,0,.28);
}



.reseaux_etablissement{
    position: relative;
    
    .uk-container .uk-grid:nth-child(2) > div:nth-child(2){
        width: 25vw;
        height: fit-content;
        padding: 1vw!important;
        border: solid 2px black;
        border-radius: 25px;
        h4{
            font-size: 1.4rem;
        }
        p{
            font-family: "Loos_regular"!important;
            font-size: 1.2rem;
            margin-top: 0.5rem!important;
        }
        a{
            all: unset;
            display: flex;
            font-family: "Loos_regular"!important;
            font-size: 1rem;
            color: white;
            background-color: var(--primary7);
            padding: 0.5vw 2vw!important;
            border: solid 1px black;
            border-radius: 50px;
            width: auto;
        }
    }
    .point_partenaire{
        display: none;
    .uk-margin{
        width: 2vw;
    }
    .uk-margin:nth-of-type(1) {
        position: absolute;
        bottom: 24vh;
        left: 47vh;   
    }
    .uk-margin:nth-of-type(2) {
        position: absolute;
        bottom: 32vh;
        left: 10.5vw;   
    }
    .uk-margin:nth-of-type(3) {
        position: absolute;
        top: 25vh;
        right: 40.2vw;  
    }
    .uk-margin:nth-of-type(4) {
        position: absolute;
        top: 23vh;
        left: 37.3vw;
    }
    .uk-margin:nth-of-type(5) {
        position: absolute;
        bottom: 41vh;
        left: 29vw;  
    }
    .uk-margin:nth-of-type(6) {
        position: absolute;
        top: 17vh;
        left: 9vw;   
    }
    .uk-margin:nth-of-type(7) {
        position: absolute;
        top: 23vh;
        left: 23vw;  
        img{
            width: 3vw;
        }
    }
}
}


.partenaires{
    .uk-grid{
        display: flex;
        gap: 3vw;
    }
    .uk-grid > *{
        width: 47%;
        border: solid 2px black;
        border-radius: 50px;
        .el-item{
            display: flex;
            padding: 2vw!important;
            picture{
                width: 100%;
                margin-right: 2vw;
                display: flex;
                align-items: center;
                justify-content: center;
            }
            div{
                border-left: solid 2px black;
                padding-left: 2vw!important;
            }
        }
    }
}
    
.projet_pastorale{
    position: relative;
    height: 85vh;
}

.projet{
    position: absolute;
    border-radius: 20px;
    padding: 4vw!important;
    transition: top 0.5s ease, transform 0.5s ease, opacity 0.5s ease;
    h3{
        color: var(--muted3);
        .pastorale_sous_titre{
            color: var(--muted7);
            font-size: 1.2rem;
        }
    }
    .uk-first-column{
        padding-right: 2vw!important;
        p{
            background-color: white;
            padding: 1vw!important;
            border-radius: 15px;
            font-size: 0.9rem;
        }
    }
    > :nth-child(2){
        position: relative;
        .uk-margin{
            display: flex;
            justify-content: center;
            align-items: center;
        }
        > :nth-child(2){
            background-color: white;
            padding: 1vw!important;
            border-radius: 15px;
            display: flex;
            flex-direction: column;
            position: absolute;
            top: 0;
            left: 2vw;
            p{
                margin: 0!important;
                font-family: "Loos_bold"!important;
            }
            .pastorale_effectif{
                font-family: "Loos_bold"!important;
                font-size: 1.2rem;
                color: var(--primary2);
            }
        }

        > :nth-child(3){
            background-color: white;
            padding: 1vw!important;
            border-radius: 15px;
            display: flex;
            flex-direction: column;
            position: absolute;
            top: 10vh;
            left: 5vw;
            p{
                margin: 0!important;
                font-family: "Loos_bold"!important;
            }
        }

        > :nth-child(4){
            background-color: white;
            padding: 1vw!important;
            border-radius: 15px;
            width: 15vw;
            display: flex;
            flex-direction: column;
            position: absolute;
            bottom: 15vh;
            right: 3vw;
            p{
                margin: 0!important;
                font-family: "Loos_bold"!important;

            }
            .pastorale_mot{
                padding: 1vw!important;
                background-color: var(--primary3);
                border-radius: 50px;
                color: white;
                font-family: "Loos_bold"!important;
                font-size: 1rem;
                width: 100%;
                text-align: center;
                margin-bottom: 1vh!important;
            }
        }

    }
}

.sort {
  opacity: 0;
transition: transform 0.5s ease, opacity 0.5s ease;

}

.devant{
    background-color: var(--primary5);
    top: 20vh;
    z-index: 4;
    cursor: pointer!important;
    transform: scale(1) translateX(0);
    opacity: 1;
}

.milieu{
    background-color: var(--primary3);
    top: 7vh;
    z-index: 3;
    transform: scale(0.9) translateX(0);
    opacity: 1;
}

.derriere{
    background-color: var(--color-primary);
    top: 0vh;
    z-index: 2;
    transform: scale(0.8) translateX(0);
    opacity: 1;
}

.cacher{
    display: block; /* pour que la transition fonctionne */
    opacity: 0;
    transform: scale(0.7) translateX(0) translateX(0);
    z-index: 1;
}


/* Formations */

.clair{
    background-color: var(--secondary3)!important;
    background-image: url(/images/yootheme/pattern_clair.png);
}

.nav_formations .uk-container{
    .btn_nav{
        border: solid 2px var(--secondary3);
        .uk-grid > div:nth-child(1){
            border: solid 2px var(--secondary3);
        }
    }
}

.nav_formations .active{
    background-color: var(--secondary3) !important;
    color: white !important;
    border: solid 2px var(--primary5) !important;
    .uk-grid > div:nth-child(1){
        border: solid 2px var(--primary5) !important;
        background-color: white!important;
    }
}

.nav_activites {
  display: flex;
  justify-content: space-around;
  padding: 0.5vw;
  border: solid 1px black;
  border-radius: 25px;

  li {
    margin: 0 !important;
    padding: 0.5vw !important;
    border: solid 1px transparent;
    border-radius: 25px;
    transition: 0.3s ease-in-out;
    cursor: pointer;
    p{
        font-family: "Loos_bold"!important;
        margin: 0!important;
    }
  }

  li:hover {
    border: solid 1px black;
  }

  li[data-selected="true"] {
    background-color: var(--primary3);
    color: white;
  }
}

/* Vie des eleves */

.muted{
    background-color: var(--muted2)!important;
    background-image: url(/images/yootheme/pattern_muted.png);
    p, h1{
        color: var(--color-primary)!important;
    }
    h1{
        margin: -1vh!important;
    }
}

.nav_vie_eleve .uk-container{
    .btn_nav{
        border: solid 2px var(--muted2);
        .uk-grid > div:nth-child(1){
            border: solid 2px var(--muted3);
        }
    }
}

.nav_vie_eleve .active{
    background-color: var(--muted2) !important;
    color: black !important;
    border: solid 2px var(--muted2) !important;
    .uk-grid > div:nth-child(1){
        border: solid 2px var(--primary5) !important;
        background-color: var(--muted2)!important;
    }
}

.btn_beige a{
    background-color: var(--muted3)!important;
    color: black!important; 
    border: solid 2px var(--muted2)!important;
    transition: 0.3s ease-in-out;
}

.btn_beige a:hover{
    background-color: white!important;
}

.restauration_menu{
    display: flex;
    align-items: center;
}

.restauration_menu .uk-first-column .uk-panel .uk-grid{
    all: unset;
    display: flex;
    align-items: center;
    padding: 2vw 1vw!important;
    border: solid 1px black;
    border-radius: 25px;
    margin-right: 2vw!important;
    >:nth-child(1){
        all: unset;
        width: 5vw!important;
        img{
            width: 3vw;
        }
    }
    >:nth-child(2){
        all: unset;
        width: 8vw;
        margin-right: 2vw!important;
        p{
            font-family: "Loos_bold"!important;
        }
    }
    >:nth-child(3){
        all: unset;
        width: 1vw!important;
        margin-right: 1vw!important;
        .uk-divider-vertical {
            width: max-content;
            height: 50px;
            margin-left: auto;
            margin-right: auto;
            border-left: 2px solid #000000;
        }

    }
    >:nth-child(4){
        all: unset;
        width: 25vw!important;
    }
}

.reglements .uk-container{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    .aller_plus_loin{
        background-color: var(--muted3);
        color: white;
        padding: 1vw!important;
        border-radius: 50px;
        position: relative;
        padding-top: 5vh!important;
        padding-bottom: 10vh!important;
        width: 100%;
        h2{
            color: black;
        }
        p{
            color: black;
        }
        .grande_etoile_marron{
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            right: 6vw;
            width: 6vw;
        }

        .petite_etoile_marron{
            position: absolute;
            top: 7vh;
            left: 13vw;
            width: 5vw;
        }

        .grosse_etoile_beige{
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            left: 6vw;
            width: 6vw;
        }

        .petite_etoile_beige{
            position: absolute;
            top: 7vh;
            right: 13vw;
            width: 5vw;
        }
    }

    .contact{
        position: absolute;
        top: 25vh;
        background-color: white;
        width: 60%;
        display: flex;
        align-content: center;
        justify-content: center;
        border: solid 6px var(--muted5);
        border-radius: 25px;
        .uk-panel{
            display: flex;
            .uk-grid{
                display: flex;
                align-items: center;
                justify-content: center;
                margin-top: 0px;
                padding: 1vw!important;
            }
        }
        .uk-panel> div:nth-child(2){
                border-left: solid 6px var(--muted5);
                border-right: solid 6px var(--muted5);
            }
        p{
            font-family: "Poppins_bold"!important;
        }
    }

    .reglement{
        position: absolute;
        top: 25vh;
        background-color: white;
        width: 60%;
        display: flex;
        align-content: center;
        justify-content: center;
        border: solid 6px var(--muted5);
        border-radius: 25px;
        .uk-panel{
            display: flex;
            .uk-grid{
                display: flex;
                align-items: center;
                justify-content: center;
                margin-top: 0px;
                padding: 1vw!important;
            }
        }
        .uk-panel> div:nth-child(2){
                border-left: solid 6px var(--muted5);
                border-right: solid 6px var(--muted5);
            }
        p{
            font-family: "Poppins_bold"!important;
        }
    }
}

.slider_activites{
    margin-top: 15vh!important;
    display: flex;
    flex-wrap: nowrap;
}

.slider_activites > div:nth-child(1) {
    width: 5vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    cursor: pointer;
    .uk-margin picture img{
        width: 3vw!important;
    }
}

.slider_activites > div:nth-child(3) {
     width: 5vw !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  cursor: pointer;
    .uk-margin picture img{
        width: 3vw!important;
    }
}

.slider_activites > div:nth-child(2) {
    width: 80vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    align-items: center;
    height: 55vh;
    margin-bottom: 10vh!important;
    .activites{
        position: absolute;
        background-color: var(--muted2);
        display: flex;
        flex-direction: column;
        padding: 1vw!important;
        border-radius: 25px;
        width: 30vw;
        transition: transform 0.6s ease, z-index 0s 0.6s;
        .uk-margin{
            display: flex;
            justify-content: center;
        }
    }
    .front{
        z-index: 3;
        transform: rotate(15deg) translateX(10vw);
    }
    .middle{
        z-index: 2;
        transform: scale(0.9) translateX(0);
    }
    .back{
        z-index: 1;
        transform: scale(0.8) rotate(-15deg) translateX(-10vw);
    }
}

.eleves_besoins > div{
    width: 15vw;
    margin-right: 2vw!important;
    border: solid 1px var(--primary9);
    padding: 1vw!important;
    border-radius: 25px;
    .uk-margin{
        display: flex;
        justify-content: center;
        align-items: center;
        picture img{
            width: 4vw;
        }
    }
    h3{
        font-size: 1.2rem;
        text-align: center;
    }
    p{
        font-size: 0.9rem;
        text-align: center;
    }
    
}

.cdi_infos .uk-grid{
    display: flex;
    justify-content: left;
    >:nth-child(1){
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1vw!important;
        border-right: solid 2px var(--muted7);
    }
    p{
        margin-left: 2vw;
        width: 30vw;
    }
    
}

.nav_actu .uk-container{
    .btn_nav{
        border: solid 2px var(--muted7);
        padding: 1vw!important;
        border-radius: 15px;
        width: 20vw;
        .uk-grid > div:nth-child(1){
            border: solid 2px var(--muted7);
            width: 5vw!important;
            display: flex;
            flex-wrap: nowrap;
            align-items: center;
            justify-content: center;
            margin-right: 0.5vw!important;
            border-radius: 15px;
            img{
                width: 3vw;
            }
        }
    }
}

.nav_actu .active{
    background-color: var(--muted7) !important;
    color: var(--primary7) !important;
    border: solid 2px var(--muted7) !important;
    .uk-grid > div:nth-child(1){
        border: solid 2px var(--primary7) !important;
        background-color: white!important;
    }
}

/* =========================
   ACTU - VIGNETTES + FLECHE
   Ratio 291:164 + crop + overlay
   ========================= */

/* Base item */
.actu .el-item {
  position: relative;
  margin-right: 2vw !important;
}

/* ---------- CAS 1 : image dans <picture> ---------- */

/* picture devient la vignette (ratio + crop + radius) */
.actu .el-item > picture {
  position: relative;
  display: block;
  aspect-ratio: 291 / 164;
  overflow: hidden;
  border-radius: 15px;
}

/* image dans picture */
.actu .el-item > picture > img.el-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

/* ---------- CAS 2 : image directe <img class="el-image"> ---------- */

/* vignette image directe (ratio + crop + radius) */
.actu .el-item > img.el-image {
  display: block;
  width: 100%;
  aspect-ratio: 291 / 164;
  object-fit: cover;
  border-radius: 15px;
  height: auto; /* important : ne pas remplir la card */
}

/* ---------- TYPO / CTA (tes styles) ---------- */

.actu .el-item h3 {
  font-size: 1.5rem;
  margin-top: 0.5rem !important;
}

.actu .el-item a {
  all: unset;
  font-family: "Poppins_regular" !important;
  font-size: 1rem;
  color: black;
  padding: 0.5vw 1vw!important;
  border: solid 1px black;
  border-radius: 50px;
  width: fit-content;
  margin-top: 1vh !important;
  cursor: pointer;
  display: inline-block;
}


/* securite : si :has n'est pas supporte, on ne casse rien */
@supports not selector(a:has(> img)) {
  .actu .el-item a {
    /* rien ici, on laisse */
  }
}



.visibilité {
  display: block !important;
}

.non_visible {
  display: none !important;
}

.beige{
    background-color: var(--muted7);
    background-image: url(/images/yootheme/BC_beige.png);
}

.fonce{
    background-color: var(--primary7);
    background-image: url(/images/yootheme/BC_fonce.png);
}

.nav_inscriptions .uk-container{
    .btn_nav{
        border: solid 2px var(--primary7);
        .uk-grid > div:nth-child(1){
            border: solid 2px var(--primary7);
        }
    }
}

.nav_inscriptions .active{
    background-color: var(--primary7) !important;
    color: white !important;
    border: solid 2px var(--primary7) !important;
    .uk-grid > div:nth-child(1){
        border: solid 2px white !important;
        background-color: var(--primary7)!important;
    }
}

.etapes_inscriptions .uk-container{
    >:nth-child(1){
        background-color: #F8F9FD;
        padding: 2vw!important;
        border: solid 1px var(--primary7);
        border-radius: 38px;
        .uk-first-column{
            >:nth-child(1){
                width: fit-content;
                padding: 1vw!important;
                border: solid 1px var(--primary7);
                border-radius: 38px;
            }
        }
    }

    >:nth-child(2){
        display: flex;
        flex-wrap: nowrap;
        gap: 2vw;
        >:nth-child(1){
            margin-right: 1vw;
            background-color: #F8F9FD;
            padding: 2vw!important;
            border: solid 1px var(--primary7);
            border-radius: 38px;
            >:nth-child(1){
                >:nth-child(1){
                    width: fit-content;
                    padding: 1vw!important;
                    border: solid 1px var(--primary7);
                    border-radius: 38px;
                }
            }
        }
        >:nth-child(2){
            background-color: #F8F9FD;
            padding: 2vw!important;
            border: solid 1px var(--primary7);
            border-radius: 38px;
            >:nth-child(1){
                >:nth-child(1){
                    width: fit-content;
                    padding: 1vw!important;
                    border: solid 1px var(--primary7);
                    border-radius: 38px;
                }
            }
        }
    }

    >:nth-child(3){
        background-color: #F8F9FD;
        padding: 2vw!important;
        border: solid 1px var(--primary7);
        border-radius: 38px;
    }
}

.modalite_paiement{
    display: flex;
    flex-wrap: nowrap;
    gap: 2vw;
    >:nth-child(1), >:nth-child(2){
        padding: 1vw!important;
        border-right: solid 1px black;
        h3{
            font-size: 1.1rem!important;
        }
        .uk-panel .uk-grid{
           >:nth-child(1){
            width: 0!important;
           } 
           >:nth-child(2) .uk-panel p{
                font-size: 0.8rem;
           } 
        }
    }
    >:nth-child(3){
        h3{
            font-size: 1.1rem!important;
        }
        >:nth-child(3), >:nth-child(4){
            padding: 1vw;
            border: solid 1px black;
            border-radius: 10px;
            h4{
                padding-right: 0.5vw!important;
                border-right: solid 1px black;
            }
            .uk-panel{
                display: flex;
                align-items: center;
                justify-content: center;
                p{
                padding-left: 0.5vw!important;
                
                }
            }
        }

        >:nth-child(2){
            padding: 1vw;
            border: solid 1px black;
            border-radius: 10px;
            background-color: var(--primary7);
            color: white;
            h4{
                padding-right: 0.5vw!important;
                border-right: solid 1px white;
                color: white;
            }
            .uk-panel{
                display: flex;
                align-items: center;
                justify-content: center;
                p{
                padding-left: 0.5vw!important;
                
                }
            }
        }
    }
}

.facturation_supp{
    display: flex;
    flex-wrap: nowrap;
    gap: 1vw;
    >:nth-child(1), >:nth-child(2), >:nth-child(3), >:nth-child(4){
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding: 1vw!important;
        border: solid 1px black;
        border-radius: 25px;
        h3{
            font-size: 1.3rem;
        }
        p{
            font-size: 0.9rem!important;
        }
        .prix_facturation_supp{
            color: var(--primary3);
            font-weight: bold;
        }
    }
}


.bourses .uk-grid{
    margin-top: 10vh;
    display: flex;
    gap: 2vw;
    >:nth-child(1), >:nth-child(2), >:nth-child(3){
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 2vw!important;
        border: solid 1px black;
        border-radius: 30px;
        width: 20vw;
        >:nth-child(1){
            display: flex;
            justify-content: center;
            img{
                width: 5vw;
            }
        }
        h3{
            font-size: 1.5rem;
            text-align: center;
            width: 15vw;
            margin-top: 0!important;
        }
    }
}

.hero_contact{
    background-color: var(--secondary3);
    background-image: url(/images/yootheme/BC_clair.png);
    background-size: 10vw;
    margin-top: 5vh;
    width: 100%;
    height: 45vh;
    padding-top: 0!important;
    padding-bottom: 0!important;
    border-radius: 50px;
    position: relative;
    img{
        position: absolute;
        right: 5vw;
        border-radius: 20px;
        width: 25vw;
    }
    .title{
        position: absolute;
        top: 10vh;
        left: 5vw;
        h1{
            font-family: "Loos_bold"!important;
            font-size: 5rem;
            margin-bottom: 1rem;
            color: white;
        }
        p{
            font-family: "Loos_regular"!important;
            font-size: 2rem;
            color: white;
        }
    }
}

.nav_faq {
  display: flex;
  justify-content: space-around;
  padding: 0.5vw;
  border: solid 1px black;
  border-radius: 25px;

  li {
    margin: 0 !important;
    padding: 0.5vw !important;
    border: solid 1px transparent;
    border-radius: 25px;
    transition: 0.3s ease-in-out;
    cursor: pointer;
    p{
        font-family: "Loos_bold"!important;
        margin: 0!important;
    }
  }

  li:hover {
    border: solid 1px black;
    background-color: var(--primary3);
    color: white;
  }

  li[data-selected="true"] {
    background-color: var(--primary3);
    color: white;
  }
}


.faq .uk-container .uk-grid > div:nth-child(1){
    cursor: pointer;
    border: solid 1px var(--primary2);
    border-radius: 30px;
    padding: 1vw!important;
    background-color: #F7F7F7;
    .titre_faq{
        font-family: "Poppins_bold"!important;
        color: var(--primary2);
        margin-bottom: 1vh!important;
        .uk-grid{
            div:nth-child(1){
                border: none;
                h3{
                    font-size: 1.3rem;
                }
            }
            div:nth-child(2){
                display: flex;
                justify-content: flex-end;
                .uk-margin{
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    img{
                        width: 4vw;
                    }
                }
                
            }
        }
    }
    .text_faq{
        display: none;
        color: white;
        margin-bottom: 3vh!important;
        .uk-first-column{
            border: none;
        }
    }
}

.is-hidden {
  display: none;
}




.schema_formations .uk-container {

  .troisieme,
  .seconde_genetechno {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2vw!important;
    border-radius: 20px;
    color: white;
  }

  .troisieme { background-color: var(--secondary4); }
  .seconde_genetechno { background-color: var(--secondary5); }

  .forma_pro .uk-grid,
  .techno .uk-grid {
    display: flex;
    gap: 4vw;
    position: relative;
    flex-wrap: nowrap;
  }

  .forma_pro .uk-grid > div,
  .techno .uk-grid > div,
  .general {
    background-color: var(--secondary3);
    padding: 2vw!important;
    border-radius: 20px;
    color: white;
    writing-mode: vertical-lr;
    transform: rotate(180deg);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  /* Hauteurs desktop */
  .forma_pro .uk-grid > div { height: 80vh; }
  .techno .uk-grid > div,
  .general { height: 45vh; }

  .general {
    margin: 0!important;
    float: right;
    background-color: var(--primary3);
  }
}

.schema_formations .uk-container {

  .forma_pro .uk-grid > div,
  .techno .uk-grid > div,
  .general {
    width: 70px;          /* largeur bande */
    max-width: 70px;
    flex: 0 0 70px;       /* empêche l'étirement */
  }
}

/* =========================
   RESPONSIVE
   ========================= */

/* Tablette */
@media (max-width: 1024px) {
  .schema_formations .uk-container {

    .troisieme,
    .seconde_genetechno {
      padding: 16px!important;
    }

    .forma_pro .uk-grid,
    .techno .uk-grid {
      gap: 2vw;
    }

    .forma_pro .uk-grid > div,
    .techno .uk-grid > div,
    .general {
      padding: 14px!important;
      width: 64px;
      max-width: 64px;
      flex: 0 0 64px;
    }

    .forma_pro .uk-grid > div { height: 65vh; }
    .techno .uk-grid > div,
    .general { height: 38vh; }

    .general {
      float: none; /* evite les trous */
    }
  }
}

/* Mobile */
@media (max-width: 768px) {
  .schema_formations .uk-container {

    .troisieme,
    .seconde_genetechno {
      padding: 14px!important;
      border-radius: 16px;
    }

    .forma_pro .uk-grid,
    .techno .uk-grid {
      flex-wrap: wrap;
      gap: 12px;
    }

    /* bandes -> cartes lisibles */
    .forma_pro .uk-grid > div,
    .techno .uk-grid > div,
    .general {
      width: 100%;
      max-width: none;
      flex: 1 1 100%;

      height: auto;
      min-height: 72px;

      writing-mode: horizontal-tb;
      transform: none;

      padding: 16px!important;
      border-radius: 16px;
    }

    .general {
      float: none;
      margin-top: 12px!important;
    }
  }
}

/* Petit mobile */
@media (max-width: 550px) {
  .schema_formations .uk-container {
  .fleche_enlevable{
    display: none!important;
  }
  .fleche_techno{
    display: flex;
    justify-content: center;
}
    .forma_pro .uk-grid > div,
    .techno .uk-grid > div,
    .general {
      padding: 14px!important;
      min-height: 64px;
    }
  }
  .droite{
    display: none!important;
  }
  .gauche{
    display: none!important;
  }
}




@media screen and (max-width: 550px) {
    body{
        padding: 0!important;
        padding-left: 5vw!important;
        padding-right: 5vw!important;
    }

    h2{
        font-size: 2rem!important;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    h3{
        text-align: center!important;
    }

    p{
        font-size: 1rem!important;
        text-align: center;
    }

    /* =========================
   HERO VIDEO - OPTION 1
   Jamais coupée (contain)
   ========================= */

.hero_video{
  position: relative;

  /* full width meme dans un uk-container */
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  height: 60vh;
  overflow: hidden;

  border-radius: 0;

  /* fond propre si bandes */
  background: #000;
}

/* Media (video/img) : jamais coupé */
.hero_video video,
.hero_video img{
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;
    margin-left: 1%;
  object-fit: cover;        /* IMPORTANT: pas de coupe */
  object-position: right;

  z-index: 1;
}

/* Couche texte au-dessus */
.hero_video .title{
  position: absolute;
  inset: 0;
  z-index: 3;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  text-align: center;
  padding: 0 6vw;
}

/* Titres */
.hero_video .title h1{
  margin: 0!important;
  font-size: 2rem;
  color: #fff;
}

/* Tu cachais le p */
.hero_video .title p{
  display: none;
}

/* tu cachais l'image contact */
.hero_video .img_contact_hero{
  display: none;
}

/* Mobile: hauteur un peu reduite */
@media (max-width: 768px){
  .hero_video{
    height: 50vh;
  }

  .hero_video .title h1{
    font-size: 1.6rem;
  }
}


    .hero_img{
        width: 100vw;
        height: 30vh;
        margin-bottom: 5vh;
        margin-left: -5vw;
        margin-right: -5vw;
        border-radius: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        img{
            display: none;
        }
        .hero_contact{
                display: none!important;
        }
        .title{
            position: absolute;
            top: 25%;
            left: 50%;
            transform: translateX(-50%);
            h1{
                font-family: "Loos_bold"!important;
                font-size: 2.5rem;
                margin-bottom: 1rem;
                color: white;
                margin: 0!important;
                text-align: center;
            }
            p{
                font-family: "Loos_regular"!important;
                font-size: 1rem;
                color: white;
                text-align: center;
            }
        }
    }

    .actualites{
        margin-bottom: 5vh;
        .actu .uk-grid{
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 2vh!important;
        }
    }

    .en_savoir_plus{
        display: none!important;
    }


    .section_img_text{
        margin-top: 5vh!important;
        *:first-child{
            order: 2;
        }
        *:last-child{
            order: 1;
            h3{
                order: 1;
            }
            .uk-panel{
                order: 2;
                p{
                    margin-bottom: 2vh!important;
                }
            }
        }
    }

    .vie_envi{
        img{
            margin-top: 5vh;
            margin-bottom: 5vh;
        }
    }

    .internat{
        img{
            margin-top: 5vh;
            margin-bottom: 5vh;
        }
        *:first-child{
            order: 2;
        }
        *:last-child{
            order: 1;
            h3{
                order: 1;
            }
            .uk-panel{
                order: 2;
                p{
                    margin-bottom: 2vh!important;
                }
            }
        } 
    }

    .section_text_img{
        margin-bottom: 0!important;
    }

    .environement .uk-container{
        .uk-grid > *:first-child {
            border: solid 1px var(--primary2);
                border-radius: 55px;
                padding: 3vh!important;
                margin-right: 3vw!important;
                margin-bottom: 5vh!important;
            .uk-panel .uk-grid > *:first-child {
                padding: 1vw!important;
                border: none;
                margin-right: 1vw!important;
                margin-bottom: 0 !important;
                max-width: 10vw;
                display: flex;
                justify-content: center;
                align-items: center;
                img{
                    width: 5vh;
                }
            }

            .uk-panel .uk-grid {
                display: flex;
                flex-direction: column;
                align-items: center;
                > *:nth-child(2) {
                    background-color: white;
                    padding: 1vw!important;
                    border: none;
                    margin-right: 1vw!important;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    width: 50vw;
                    text-align: center;
                    p{
                        font-size: 1.2rem;
                        font-family: "Poppins_bold"!important;
                        color: var(--primary2);
                    }
                }
            }
        }

        .uk-grid > *:nth-child(2) {
            background-color: var(--primary2);
            width: 50%;
            padding: 3vh!important;
            border-radius: 30px;
            background-image: none;
            background-repeat: no-repeat;
            background-size: 18vw;
            background-position: bottom right;
            h3{
                color: white!important;
                font-size: 1.5rem!important;
            }
            .uk-margin .uk-grid {
                display: flex;
                flex-direction: column;
                gap: 2vh;
                    > * {
                    all: unset;
                    background-color: white;
                    color: var(--primary2);
                    padding: 1vw 1.5vw!important;
                    margin: 1vw!important;
                    border-radius: 15px;
                    .el-item{
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        gap: 1vw;
                        div{
                            margin: 0!important;
                            font-size: 0.8rem;
                        }
                    }
                }
            }
        }
    }

    .role_cle{
        background-image: none;
        background-repeat: no-repeat;
        background-size: 100%;
        background-position: bottom;
        margin-bottom: 5vh!important;
        .uk-grid {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            > *{
                width: 60vw!important;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: flex-end;
                border: solid 2px var(--primary2);
                border-radius: 25px;
                margin-right: 3vw!important;
                margin-top: 1vh!important;
                margin-bottom: 1vh!important;
                background-color: white;
            }
            .uk-margin{
                width: 50vw;
                text-align: center;
                margin: 0!important;
            }
            .img_role{
                border-bottom: solid 2px var(--primary2);
                width: 100%;
                height: 18vh;
                position: relative;
                background-image: url(/images/yootheme/fond_role.png);
                background-position: center;
                border-radius: 20px;
                border-bottom-left-radius: 0;
                border-bottom-right-radius: 0;
                background-size: 110%;
            }
            img{
                width: 35vw;
                position: absolute;
                bottom: 0;
                left: 50%;
                transform: translateX(-50%);
            }
            .role{
                font-family: "Poppins_bold"!important;
                padding-top: 1vw!important;
            }
            .nom{
                padding-top: 1vw !important;
            }
            .btn_role{
                all: unset;
                padding: 3vw 0!important;

                a{
                    all: unset;
                    font-family: "Poppins_regular"!important;
                    font-size: 0.8rem;
                    color: black;
                    padding: 1.5vw!important;
                    border: solid 1px black;
                    border-radius: 50px;
                }
        }
        }
    }

    .partenaires{
        .uk-grid{
            display: flex;
            gap: 3vw;
        }
        .uk-grid > *{
            width: 100%;
        }
    }

    .restauration_menu{
    display: flex;
    align-items: center;
}

.restauration_menu .uk-first-column .uk-panel .uk-grid{
    all: unset;
    display: flex;
    align-items: center;
    padding: 2vw 1vw!important;
    border: solid 1px black;
    border-radius: 25px;
    margin-right: 2vw!important;
    >:nth-child(1){
        all: unset;
        width: 15vw!important;
        img{
            width: 5vh;
        }
    }
    >:nth-child(2){
        all: unset;
        width: 20vw;
        margin-right: 2vw!important;
        p{
            font-family: "Loos_bold"!important;
        }
    }
    >:nth-child(3){
        all: unset;
        width: 1vw!important;
        margin-right: 4vw!important;
        .uk-divider-vertical {
            width: max-content;
            height: 50px;
            margin-left: auto;
            margin-right: auto;
            border-left: 2px solid #000000;
        }

    }
    >:nth-child(4){
        all: unset;
        width: 40vw!important;
    }
}

    .reglements {
        margin-bottom: 20vh;
    }
    .reglements .uk-container{
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        position: relative;
        .aller_plus_loin{
            background-color: var(--muted3);
            color: white;
            padding: 3vw!important;
            border-radius: 50px;
            position: relative;
            padding-top: 5vh!important;
            padding-bottom: 10vh!important;
            width: 100%;
            h2{
                color: black;
            }
            p{
                color: black;
            }
            .grande_etoile_marron{
                position: absolute;
                top: 75%;
                transform: translateY(-50%);
                right: 6vw;
                width: 6vw;
            }

            .petite_etoile_marron{
                position: absolute;
                top: 7vh;
                left: 5vw;
                width: 5vw;
            }

            .grosse_etoile_beige{
                position: absolute;
                top: 75%;
                transform: translateY(-50%);
                left: 6vw;
                width: 6vw;
            }

            .petite_etoile_beige{
                position: absolute;
                top: 7vh;
                right: 5vw;
                width: 5vw;
            }
        }

        .contact{
            position: absolute;
            top: 40vh;
            background-color: white;
            width: 100%;
            display: flex;
            align-content: center;
            justify-content: center;
            border: solid 6px var(--muted5);
            border-radius: 25px;
            .uk-panel{
                display: flex;
                .uk-grid{
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    margin-top: 0px;
                    padding: 1vw!important;
                    *:nth-child(1) .uk-margin{
                        display: flex;
                        justify-content: center;
                    }
                }
            }
            .uk-panel> div:nth-child(2){
                    border-left: solid 6px var(--muted5);
                    border-right: solid 6px var(--muted5);
                }
            p{
                font-family: "Poppins_bold"!important;
                font-size: 0.8rem;
                text-align: center;
            }
        }
    }

    .slider_activites{
        margin-top: 10vh!important;
        display: flex;
        flex-wrap: nowrap;
    }

    .slider_activites > div:nth-child(1) {
        width: 10vw;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        cursor: pointer;
        .uk-margin picture img{
            width: 10vw!important;
        }
    }

    .slider_activites > div:nth-child(3) {
        width: 10vw !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    cursor: pointer;
        .uk-margin picture img{
            width: 10vw!important;
        }
    }

    .slider_activites > div:nth-child(2) {
        width: 80vw;
        display: flex;
        flex-direction: column;
        justify-content: center;
        position: relative;
        align-items: center;
        height: 55vh;
        margin-bottom: 10vh!important;
        .activites{
            position: absolute;
            background-color: var(--muted2);
            display: flex;
            flex-direction: column;
            padding: 3vw!important;
            border-radius: 25px;
            width: 50vw;
            transition: transform 0.6s ease, z-index 0s 0.6s;
            h3{
                font-size: 1.2rem!important;
                text-align: center;
            }
            .uk-margin{
                display: flex;
                justify-content: center;
                font-size: 0.8rem;
                p{
                    text-align: center;
                    font-size: 0.8rem;
                }
            }
        }
        .front{
            z-index: 3;
            transform: rotate(10deg) translateX(10vw);
        }
        .middle{
            z-index: 2;
            transform: scale(0.9) translateX(0);
        }
        .back{
            z-index: 1;
            transform: scale(0.8) rotate(-10deg) translateX(-10vw);
        }
    }

    .eleves_besoins{
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        margin-top: 5vh!important;
        > div{
        width: 100%;
        margin-bottom: 2vh!important;
        border: solid 1px var(--primary9);
        padding: 1vw!important;
        border-radius: 25px;
        .uk-margin{
            display: flex;
            justify-content: center;
            align-items: center;
            picture img{
                width: 5vh;
            }
        }
        h3{
            font-size: 1.2rem;
            text-align: center;
            margin: 0!important;
        }
        p{
            font-size: 0.9rem;
            text-align: center;
        }
        
    }
    }

    .cdi_infos .uk-grid{
        display: flex;
        justify-content: left;
        margin-bottom: 5vh!important;
        >:nth-child(1){
            all: unset;
            width: 15% !important;
            border-right: solid 2px var(--muted7);
            display: flex;
            align-items: center;
        }
        >:nth-child(2){
            width: 80%;
            p{
                width: 100%;
            }
        }
        p{
            margin-left: 2vw;
            width: 30vw;
        }
        
    }

    .etapes_inscriptions .uk-container{
        >:nth-child(1){
            background-color: #F8F9FD;
            padding: 5vw!important;
            border: solid 1px var(--primary7);
            border-radius: 38px;
            .uk-first-column{
                >:nth-child(1){
                    width: fit-content;
                    padding: 3vw!important;
                    border: solid 1px var(--primary7);
                    border-radius: 38px;
                }
            }
        }

        >:nth-child(2){
            display: flex;
            flex-wrap: wrap;
            gap: 2vw;
            >:nth-child(1){
                margin-right: 1vw;
                background-color: #F8F9FD;
                padding: 5vw!important;
                border: solid 1px var(--primary7);
                border-radius: 38px;
                >:nth-child(1){
                    >:nth-child(1){
                        width: fit-content;
                        padding: 3vw!important;
                        border: solid 1px var(--primary7);
                        border-radius: 38px;
                    }
                }
            }
            >:nth-child(2){
                background-color: #F8F9FD;
                padding: 5vw!important;
                border: solid 1px var(--primary7);
                border-radius: 38px;
                >:nth-child(1){
                    >:nth-child(1){
                        width: fit-content;
                        padding: 3vw!important;
                        border: solid 1px var(--primary7);
                        border-radius: 38px;
                    }
                }
            }
        }

        >:nth-child(3){
            background-color: #F8F9FD;
            padding: 5vw!important;
            border: solid 1px var(--primary7);
            border-radius: 38px;
            .uk-first-column{
                >:nth-child(1){
                    width: fit-content;
                    padding: 3vw!important;
                    border: solid 1px var(--primary7);
                    border-radius: 38px;
                }
            }
        }
    }

    .bourses .uk-grid{
        flex-wrap: wrap;
        justify-content: center;
        gap: 3vh;
        >:nth-child(1), >:nth-child(2), >:nth-child(3){
            width: 80vw;
            >:nth-child(1){
                img{
                    width: 15vw;
                }
            }
            h3{
                width: 50vw;
            }
            p{
                text-align: center;
            }
        }
    }

    .tarifs_tableau {
        overflow-x: scroll; /* barre de scroll toujours visible */
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: auto; /* Firefox */
        scrollbar-color: #888 #f0f0f0; /* Couleur de la barre de scroll (facultatif) */
    }

        .tarifs_tableau picture {
        display: block;
        min-width: max-content;
    }

        .tarifs_tableau picture img {
        width: 200%;
        max-width: none;
        display: block;
}
    .modalite_paiement{
        display: flex;
        flex-wrap: wrap;
        gap: 2vw;
        margin-bottom: 5vh!important;
        >:nth-child(1), >:nth-child(2){
            padding: 1vw!important;
            border-right: none;
            width: 80vw;

            h3{
                font-size: 1.1rem!important;
                text-align: center;
                border-right: none;
            }
            .uk-panel .uk-grid{
            >:nth-child(1){
                width: 10vw !important;
                display: flex;
                justify-content: center;
            } 
            >:nth-child(2) .uk-panel p{
                    font-size: 0.8rem;
                    text-align: center;
            } 
            }
        }
        >:nth-child(3){
            width: 80vw;
            h3{
                font-size: 1.1rem!important;
                text-align: center;
            }
            >:nth-child(3), >:nth-child(4){
                padding: 1vw;
                border: solid 1px black;
                border-radius: 10px;
                h4{
                    padding-right: 0!important;
                    text-align: center;
                    border-right: none;
                    margin-bottom: 1vh!important;
                }
                .uk-panel{
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    p{
                    padding-left: 0.5vw!important;
                    
                    }
                }
            }

            >:nth-child(2){
                padding: 1vw;
                border: solid 1px black;
                border-radius: 10px;
                background-color: var(--primary7);
                color: white;
                h4{
                    padding-right: 0!important;
                    text-align: center;
                    border-right: none;
                    margin-bottom: 1vh!important;
                }
                .uk-panel{
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    p{
                    padding-left: 0.5vw!important;
                    
                    }
                }
            }
        }
    }

    .facturation_supp{
        display: flex;
        flex-wrap: wrap;
        gap: 5vw;
        >:nth-child(1), >:nth-child(2), >:nth-child(3), >:nth-child(4){
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            padding: 3vw!important;
            border: solid 1px black;
            border-radius: 25px;
            width: 80vw;
            h3{
                font-size: 1.3rem;
                margin: 0!important;
            }
            p{
                font-size: 0.9rem!important;
            }
            .prix_facturation_supp{
                color: var(--primary3);
                font-weight: bold;
            }
        }
    }

}

.section_pop_up{
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.6);
  z-index: 9999;

  opacity: 0;
  visibility: hidden;
  transition: opacity .35s ease, visibility .35s ease;
}

.section_pop_up.is-open{
  opacity: 1;
  visibility: visible;
}

.section_pop_up .pop_up{
  position: relative;
  background: #fff;
  padding: 2vw;
  border-radius: 25px;
  max-width: min(900px, 92vw);
  max-height: 90vh;
  overflow: auto;

  transform: scale(.92) translateY(18px);
  opacity: 0;
  transition: transform .35s ease, opacity .35s ease;
}

.section_pop_up.is-open .pop_up{
  transform: scale(1) translateY(0);
  opacity: 1;
    padding: 2vw!important;
}

body.no-scroll{
  overflow: hidden;
}

.popup-close{
  position: absolute;
  top: 14px;
  right: 16px;
  border: none;
  background: transparent;
  font-size: 34px;
  cursor: pointer;
  line-height: 1;
}


