/* Les zoom par section */
/* @media only screen and (min-width: 992px) { 
    .atelie_title.zoom {
    zoom: 0.8;
    }

    .atelie_geek.zoom {
    zoom: 0.8;
    }

    .atelie_info.zoom {
    zoom: 0.8;
    margin: 0 12em;
    }
} */

:root {
    --transition-time: 500ms;
    --card-size-desktop: 165px;
    --linear-gradient-bleue: linear-gradient(to left, var(--couleur-bleue), var(--couleur-blanc));
    --linear-gradient-jaune: linear-gradient(to left, var(--couleur-jaune), var(--couleur-blanc));
    --linear-gradient-rose: linear-gradient(to left, var(--couleur-rose), var(--couleur-blanc));
}

#app_atelier {
    margin-top: 5vw;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-auto-rows: minmax(100px, auto);
    grid-template-areas: "hero" "title" "info" "geek" "pov";

    @media only screen and (min-width: 768px) {
        margin-top: 150px;
    }

    /* Media - Bureau START*/
    @media only screen and (min-width: 992px) { 
        grid-template-areas: "hero" "title" "geek" "info" "pov";
    }
}
#app_atelier .pov_section {
    grid-area: pov;
}
/* Secondary Button - start */
.button-secondary{
    background: var(--couleur-noir);
    color: var(--couleur-blanc);

    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    font-size: 1em;
    line-height: 1.5;
    cursor: pointer;
    padding: .6em;
    border-radius: 999px;
    border:1px solid var(--couleur-bleue);
    text-decoration: none;

    & > span {
        padding-left: 1em;
    }

    & svg {
        padding: 0 1em;
        & path {
            stroke: var(--couleur-blanc);
        }
    }

    &:hover {
        background: radial-gradient(var(--couleur-blanc), var(--couleur-bleue) 160%);
        color: var(--couleur-noir);
   
        & path {
           stroke: var(--couleur-noir);
        }
    }
}
/* Secondary Button - End */

/* ----- HERO - START ----- */
.atelie_hero {
    grid-area: hero;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 7em;
    min-height: 25vw;

    & > img {
        min-width: 150px;
        width: 35vw;
    }

    .atelie_hero-heading {
        text-shadow: #000000 2px 2px;
        margin-right: 20vw;

        & span {
            display: block;
            text-align: center;
        }

        .heading__strong {
            text-transform: uppercase;
        }

        .heading__thin {
            font-size: .7em;
        }
    }

    /* Media - Bureau START*/
    @media only screen and (min-width: 992px) {

        justify-content: right;

        background: url("../../img/spirale-BNGJdjJ.webp");
        background-repeat: no-repeat;
        background-size: clamp(145px, 25vw, 100%) auto;
        background-position: 250px center;
        min-height: 25vw;

        & > img {
            display: none;
        }

        .atelie_hero-heading {
            margin-right: 12vw;
            line-height: 1;

            & span {
                text-align: right;
            }

            .heading__thin {
                font-size: 0.2em;
            }
        }
        
    }
    /* Media - Bureau END */
}
/* ----- HERO - END -----*/

/* ----- TITLE - START  ----- */
.atelie_title {
    grid-area: title;
    margin: 2em;
    text-align: center;

    & .sub-heading {
        font-family: var(--font-ultra-bold);
        font-size: 32px;
    }

    & .main-heading { 
        display: none;
    }

    & .content {
        margin: 4vw 0 0 0;
    }

    & > p {
        text-align: left;
    }

    /* .arrow_icon {
        display: none;
    } */

    /* Media - Bureau START*/
    @media only screen and (min-width: 992px) {

        display: flex;
        flex-direction: column;
        margin: 0;

        & .sub-heading {
            font-family: var(--font-ultra-bold);
            margin: 0;
            min-height: 15vw;
            display: flex;
            align-items: center;
            background: url("../../img/star_ship-jQneKSz.png");
            background-repeat: no-repeat;
            background-size: clamp(100px, 22vw, 100%) auto;
            background-position: 100% center;
            /* padding: 3vw 17vw 3vw 0; */
            font-size: 45px;
            line-height: 1.3;
        }

        & .content {
            order: -1;
            font-size: 25px;
        }

        & .main-heading {
            order: 3;
            display: flex;
            align-items: center;
            min-height: 10vw;
            background: url("../../img/ordinateur_atelier-_lQ1P9f.webp");
            background-repeat: no-repeat;
            background-position: 0 center;
            background-size: 25%;
            padding: 0 0 3vw 30%;
            font-size: 45px;
            text-align: left;
            text-transform: uppercase;
        }

        .section-selector {
            align-self: center;

            .arrow_icon {
                display: block;
                /* max-width: 60px; */
                align-self: center;
            }
        }      
    }
    /* Media - Bureau END */
}
/* ----- TITLE -END ----- */

/* ----- GEEK - START ----- */
.atelie_geek {
    grid-area: geek;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    .geek_desktop_info,
    .geek_slider-nav, 
    .section-selector {
        display: none;
    }

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

        .atelie_geek-header {
            font-size: 58px;
        }

        .geek_slider-wrapper {
            display: flex;
            width: 100%;
            justify-content: space-around;
            padding: 4em 0;
            margin: 4em 0;
            align-items: center;
        }

        .geek_slider {
            box-sizing: border-box;
            display: flex;
            flex-wrap: wrap;
            width: 34vw;
            height: 34vw;
            min-height: 600px;
            min-width: 600px;
            max-width: 720px;
            max-height: 720px;
            position: relative;

            transition: transform var(--transition-time) ease-in-out;

            .geek_slider-nav {
                --nav-size: 30%;
                background: url("../../img/imagemanette-KraKmOs.svg") no-repeat;
                background-size: 70%;
                background-position: center;
                position: absolute;
                width: var(--nav-size);
                height: var(--nav-size);
                top: calc(50% - (var(--nav-size) / 2));
                left: calc(50% - (var(--nav-size) / 2));
                margin: 0 auto;
                padding: 0;
                list-style: none;
                display: flex;
                justify-content: space-between;

                transition: transform var(--transition-time) ease-in-out;

                #rotateLeft,  
                #rotateRight {
                    background: none;
                    padding: 0;
                    border: none;
                    cursor: pointer;
                    
                    & img {
                        width: 55%;
                    }
                } 

                .nav-left {
                    align-self: flex-start;
                    transform: rotate(180deg);
                }

                .nav-right {
                    align-self: flex-end;
                }
            }
        }

        .geek_desktop_info {
            box-sizing: border-box;
            display: block;
            width: 20%;
            max-width: 400px;
            /* padding: 0 0 0 4%; */

            .geek_desktop_info-wrapper {
                border: solid 2px var(--couleur-bleue);
                border-radius: 3em;
                box-shadow: 0.3em 0.3em 0 0.3em var(--couleur-blanc);
                overflow: hidden;

                .desktop_info-title {
                    background: var(--linear-gradient-bleue);
                    color: var(--couleur-noir);
                    margin: 0;
                    padding: 1em;
                    font-size: 24px;

                    & > span {
                        display: block;
                        text-align: center;
                    }

                    .title__bold {
                        font-family: var(--font-ultra-bold);
                        white-space: nowrap;
                        overflow: hidden;
                        text-overflow: ellipsis;
                    }

                    .junior, .lycee {
                        font-size: 21px;
                    }

                    .title__thin {
                        font-family: var(--font-regular);
                        text-transform: uppercase;
                        font-size: .8em;
                    }
                }

                .desktop_info-content {
                    padding: 0 2em 2em 2em;

                    .content_sub-title {
                        font-size: 18px;
                    }

                    .geek_card-info__footer {
                        text-align: center;
                        margin-top: 2em;
                    }
                }
            }
        }

        .section-selector {
            display: block;
        }
    }   
}

.geek_card {
    position: relative;
    margin: 4em 0;

    & .geek_card-line__top {
        stroke: var(--couleur-bleue);
        position: absolute;
        top: -18px;
        left: -14vw;
        width: 100%;
    }

    & .geek_card-line__bottom {
        stroke: var(--couleur-bleue);
        position: absolute;
        transform: rotate(180deg);
        bottom: -18px;
        right: -14vw;
        width: 100%;
        pointer-events: none;
    }

    & .geek_card-wrapper {
        box-sizing: border-box;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        border: 1px solid var(--couleur-bleue);
        border-radius: 1.5em 1.5em 2.5em 2.5em;
        position: relative;
        min-width: 250px;
        min-height: 250px;
        width: 50vw;
        max-width: 600px;
        transition: box-shadow .5s;

        & > img {
            opacity: 1;
            max-height: 600px;
            transition: all .3s;
        }
    }

    & header {
        background: linear-gradient(to left, var(--couleur-bleue), var(--couleur-blanc));
        position: absolute;
        width: 100%;
        top: 0;
        left: 0;
        min-height: fit-content;
        height: 15vw;
        z-index: 1;
        
        .geek_card-title {
            margin: 0;
            padding: .7em 1em;
            font-size: 16px;
            line-height: 1.3;
            color: var(--couleur-noir);

            & span {
                display: block;
                text-align: center;
            }

            .title__bold {
                font-family: var(--font-ultra-bold);
            }
            .title__thin {
                font-weight: 100;
                text-transform: uppercase;
            }
        }
    }

    & footer {
        background-color: rgb(from var(--couleur-bleue) r g b / 20%);
        position: absolute;
        display: flex;
        align-items: center;
        justify-content: center;
        bottom: 0;
        width: 100%;
        height: 25%;
    }

    & .geek_card-info {
        max-height: 0px;
        opacity: 0;
    }

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

        position: absolute;
        margin: 0;

        transition: transform var(--transition-time) ease-in-out;

        & .geek_card-line__top {
            top: -20px;
            left: -60px;
            width: 250px;
            display: none;
        }

        & .geek_card-line__bottom {
            bottom: -20px;
            right: -60px;
            width: 250px;
            display: none;
        }

        & .geek_card-wrapper {
            min-width: var(--card-size-desktop);
            min-height: var(--card-size-desktop);
            width: var(--card-size-desktop);
            height: var(--card-size-desktop);
            transform: scale(.9);
            transition: all 0.5s ease-out;
        }

        & header {
          height: 20%;
          .geek_card-title {
            .title__bold {
                display: none;
                font-size: 14px; 
            }
            .title__thin{
                font-size: 14px;
                font-family: var(--font-bold);
            }
          }  
        }

        & footer {
            display: none;
        }

        &:nth-child(1) {
            top: -5%;
            left: calc(50% - (var(--card-size-desktop) / 2));
        }
    
        &:nth-child(2) {
            /* top: calc(27% - (var(--card-size-desktop) / 2));
            left: calc(99% - var(--card-size-desktop)); */
            top: calc(30% - (var(--card-size-desktop) / 2));
            left: calc(100% - var(--card-size-desktop));
        }
    
        &:nth-child(3) {
            top: calc(72% - (var(--card-size-desktop) / 2));
            left: calc(99% - var(--card-size-desktop));
        }
    
        &:nth-child(4) {
            top: calc(105% - var(--card-size-desktop));
            left: calc(50% - (var(--card-size-desktop) / 2));
        }
    
        &:nth-child(5) {
            /* top: calc(73% - (var(--card-size-desktop) / 2));
            left: 2%; */
            top: calc(70% - (var(--card-size-desktop) / 2));
            left: 0%;
        }
    
        &:nth-child(6) {
            top: calc(28% - (var(--card-size-desktop) / 2));
            left: 1%;
        }
    }
}

/* !!! Card Active State  Mobile*/
.card_active {

    & .geek_card-line__bottom {
        bottom: -20px;
        right: calc(-16vw + 2px);
    }

    & .geek_card-wrapper {
        border-width: 3px;
        box-shadow: 8px 8px var(--couleur-blanc);
        transition: box-shadow .5s;

        & > img {
            max-height: 1px;
            opacity: 0; 

            transition: all .3s;
        }
    }

    & footer {
        display: none;
    }

    & .geek_card-info {
        display: block;
        background-color: var(--couleur-noir);
        padding: 1em;
        margin-top: 14vw;
        /* prop to animate */
        opacity: 1;
        max-height: 99999px;

        & .geek_card-close {
            float: right;
            margin-top: -3px;
            margin-right: -10px;
            background: none;
            border: none;
            max-width: 44px;
            max-height: 44px;
        }

        & .geek_card-info__footer {
            display:flex;
            justify-content: center;
            margin: 5vw 0;
        }
    }
}

/* Desktop */
@media only screen and (min-width: 992px) {
    .geek_card.desktop_card_active {

        & > .geek_card-line__top {
            display: block;
        }

        & > .geek_card-line__bottom {
            display: block;
        }

        & .geek_card-wrapper {
            box-shadow: 0 0 72px 0 rgb(from var(--couleur-blanc) r g b / 70%);
            transform: scale(1.1);
            transition: all 0.5s ease-in;
        }

    }
}

/* !!! Card color change */
.geek_card:nth-child(2n) {

    & header {
        background: linear-gradient(to left, var(--couleur-rose), var(--couleur-blanc));
    }
    
    & .geek_card-line__top {
        stroke: var(--couleur-rose);
    }
    & .geek_card-line__bottom {
        stroke: var(--couleur-rose);
    }

    & .geek_card-wrapper {
        border-color: var(--couleur-rose);
    }

    & footer {
        background-color: rgb(from var(--couleur-rose) r g b / 20%);
    }

    & .button-secondary {
        border-color: var(--couleur-rose);
    }

    & .button-secondary:hover  {
        background: radial-gradient(var(--couleur-blanc), var(--couleur-rose) 160%);
    }
}

.geek_card:nth-child(3n) {

    & header {
        background: linear-gradient(to left, var(--couleur-jaune), var(--couleur-blanc));
    }
    
    & .geek_card-line__top {
        stroke: var(--couleur-jaune);
    }
    & .geek_card-line__bottom {
        stroke: var(--couleur-jaune);
    }

    & .geek_card-wrapper {
        border-color: var(--couleur-jaune);
    }

    & footer {
        background-color: rgb(from var(--couleur-jaune) r g b / 20%);
    }

    & .button-secondary {
        border-color: var(--couleur-jaune);
    }

    & .button-secondary:hover  {
        background: radial-gradient(var(--couleur-blanc), var(--couleur-jaune) 160%);
    }
}

/* ----- GEEK - END ----- */

/* ----- INFO - START ----- */
.atelie_info {
    grid-area: info;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;

    .atelie_info-heading {
        display: none;
    }
    
    .atelie_info-list {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        grid-gap: 18px;
        margin: 3vw;
    
        .info_item-icon {
            min-width: 86px;
            width: auto;
            max-width: 150px;
        }

        .info_item-heading {
            display: none;
        }
    }

    .button-main, 
    .section-selector {
        display: none;
    }


    /* Media - Bureau START*/
    @media only screen and (min-width: 992px) {

        .atelie_info-heading {
            display: block;
            font-size: 56px;
            font-family: var(--font-ultra-bold);
        }

        .atelie_info-list {
            grid-gap: 36px;
            margin: 6em 0;
            width: 80%;

            .atelie_info-item {
                border: solid 3px var(--couleur-blanc);
                border-radius: 2vw;
                padding: 2em 0;
            }

            .info_item-heading {
                display: block;
                font-family: var(--font-ultra-bold);
                font-size: 24px;
            }

        }

        & .button-main {
            display: inline-flex;
            font-size: 36px;
        }

        & .section-selector {
            display: block;
            margin-top: 6vw;
        }

    }
}
/* ----- INFO - END ----- */

/* ----- POV - START ----- */

.atelier_pov {
    grid-area: pov;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 2em;

    .atelier_pov-heading {
        font-family: var(--font-ultra-bold);
        &  > span {
            display: block;
            text-align: center;
        }

        span:first-child {
            text-transform: uppercase;
        }
        
    }

    .atelier_pov-wrapper {
        display: flex;
        flex-direction: column;
    }

    .atelier_pov-item {
        --box-shadow-offset: 10px;
        --couleur-bleue-clair: #B7EBF1;
        --couleur-gris: #9AAEB0;
        --couleur-gris-claire:  #D0D9DB;
        --gradient-linear: linear-gradient(to left, var(--couleur-bleue-clair),var(--couleur-gris-claire));

        background: var(--gradient-linear);
        color: var(--couleur-noir);
        border: solid 2px var(--couleur-gris); 
        padding: 1em;
        border-radius: 1em;
        margin: 2.5em 10px;
        box-shadow: 0 0 0 10px var(--couleur-noir), 0 0 0 11px var(--couleur-bleue);
        position: relative;

        & > img {
            position: absolute;
            border: solid 1px var(--couleur-bleue);
            border-radius: .5em;
            background: var(--gradient-linear);
            width: 15%;
            top:-30px;
            max-width: 45px;

        }

        & > p {
            font-family: var(--font-bold);
            line-height: 1.2;
            padding-left: 4em;
        }

        &::before {
            content: " ";
            position: absolute;
            bottom: -4em;
            left: 2em;
            border-left: solid var(--couleur-bleue) 1px;
            border-top: solid var(--couleur-bleue) 1px;
            border-radius: 1em 0 0 0;
            display: block;
            width: 60%;
            height: 2em;
            z-index: -1;
        }

        &::after {
            content: " ";
            position: absolute;
            border-right: solid var(--couleur-bleue) 1px;
            border-bottom: solid var(--couleur-bleue) 1px;
            border-radius: 0 0 1em 0;
            display: block;
            width: 60%;
            height: 2em;
            right: 2em;
            bottom: -2em;
            z-index: -1;
        }

        &:last-of-type {
            &::after {
                display: none;
            }

            &::before {
                display: none;
            }
        }
    }

    /* Media - Bureau START*/
    @media only screen and (min-width: 992px) {

        background-image: url("../../img/pov_bureau_bg-BFAdXsf.webp"), url("../../img/pov_bg_micro-aM6SQWX.webp");
        background-position: bottom center, right top;
        background-repeat: no-repeat, no-repeat;
        background-size: 50vw, auto;
        padding-bottom: 5vw;

        .atelier_pov-heading {
            font-size: 64px;

            &>span {
                display: inline;
            }
        }

        .atelier_pov-wrapper {
            display: grid;
            width: 100%;
            grid-template-columns: 1fr 1fr;
            grid-gap: 2vw;
            margin-bottom: 15vw;
        }

        .atelier_pov-item {
            box-sizing: border-box;
            background-image: url("../../img/pov_pop_left-CeSyF-r.webp");
            background-repeat: no-repeat;
            background-size: clamp(70%, 70%, 100%) auto;
            background-position: right top;
            text-align: right;
            border: none;
            box-shadow: none;
            border-radius: 0;
            display: flex;
            max-width: 450px;
            min-height: 190px;
            align-items: center;
            justify-content: space-between;
            justify-self: flex-end;

            &::before {
                display: none;
            }

            &::after {
                display: none;
            }

            & > img { 
                background: none;
                border: none;
                position: initial;
                max-width: fit-content;;
                width: 18%;
                align-self: flex-end;
            }

            & > p {
                margin: 0;
                margin-top: 5px;
                padding: 0;
                font-size: 14px;
                max-width: 50%;
                align-self: flex-start;
            }
        }

        .atelier_pov-item:nth-child(4n-3),
        .atelier_pov-item:nth-child(4n-2) {
            flex-direction: row-reverse;
            justify-self: flex-start;
            background-image: url("../../img/pov_pop_right-a-2Sof-.webp");
            background-position: left top;
            text-align: left;

            & > p {
                margin-top: 25px;
            }

        }

        & > .button-main {
            font-size: 1.5em;
        }
    }
}

/* ----- POV - END ----- */