/* =========================================================
   CERFBOX - ATELIERS & LOCAUX INDUSTRIELS
   ========================================================= */

.workshops-section {

    width: calc(100% - 5vw);
    margin: 2.2vw auto 0;

    padding:
            2vw 0;

    background: var(--color-white);
}

.workshops-inner {
    width: 100%;

    display: grid;

    grid-template-columns:
        30% 70%;

    column-gap: 7vw;

    align-items: start;
}

.workshops-visual {
    width: 100%;
}

.workshops-main-wrap {
    position: relative;

    width: 100%;


    overflow: visible;
}

.workshops-main-image {
    position: relative;

    z-index: 2;

    display: block;

    width: 100%;
    height: auto;

    aspect-ratio: 333 / 224;

    object-fit: cover;
    object-position: center;
}

.workshops-corner {
    position: absolute;

    z-index: 1;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    pointer-events: none;
}

.workshops-corner::before {
    content: "";

    position: absolute;


    bottom: 100%;
    left: -1.5vw;

    width: 15vw;
    height: 1.5vw;

    background: linear-gradient(
            to right,

            var(--color-yellow-pale) 0%,
            var(--color-yellow-pale) 51%,

            var(--color-white) 51%,
            var(--color-white) 53%,

            var(--color-yellow) 53%,
            var(--color-yellow) 100%
    );


    clip-path: polygon(
            0 0,
            100% 0,
            91% 100%,
            9% 100%
    );
}

.workshops-corner::after {
    content: "";

    position: absolute;


    top: -1.5vw;
    right: 100%;

    width: 1.5vw;
    height: 15vw;

    background: linear-gradient(
            to bottom,

            var(--color-yellow-pale) 0%,
            var(--color-yellow-pale) 51%,

            var(--color-white) 51%,
            var(--color-white) 53%,

            var(--color-yellow) 53%,
            var(--color-yellow) 100%
    );


    clip-path: polygon(
            0 0,
            100% 9%,
            100% 91%,
            0 100%
    );
}

.workshops-small-grid {
    margin-top: 1.4vw;

    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 1.4vw;
}

.workshops-small-image {
    width: 100%;
    height: auto;

    aspect-ratio: 160 / 185;

    object-fit: cover;
    object-position: center;
}

.workshops-content {
    padding-top: 4.5vw;
}

.workshops-content h2 {
    margin: 0;

    color: var(--color-black);

    font-family: var(--font-title);

    font-weight: var(--weight-semibold);

    line-height: 1.15;

    letter-spacing: -0.07vw;
}

.workshops-tag {
    width: fit-content;

    margin-top: 1.6vw;

    padding:
            0.85vw
            1.1vw;

    background: var(--color-grey-hover);
    color: var(--color-black);

    font-family: var(--font-text);

    font-size: 1.2vw;
    font-weight: var(--weight-bold);

    line-height: 1;
}

.workshops-text {
    margin-top: 4.2vw;

    max-width: 94%;
    text-wrap: balance;
}

.workshops-text p {
    margin:
            0
            0
            2vw;

    color: var(--color-text);

    font-family: var(--font-text);

    font-weight: var(--weight-regular);

    line-height: 1.14;
}

.workshops-text p:last-child {
    margin-bottom: 0;
}

.workshops-text strong {
    color: var(--color-black);

    font-weight: var(--weight-bold);
}


.workshops-main-wrap {
    position: relative;
    width: 100%;
    overflow: visible;
}

.workshops-corner-svg {
    position: absolute;

    z-index: 1;

    top: -1.35vw;
    left: -1.35vw;

    width: 15vw;
    height: 15vw;

    pointer-events: none;
}

.workshops-main-image {
    position: relative;

    z-index: 2;

    display: block;

    width: 100%;
    height: auto;

    aspect-ratio: 333 / 224;

    object-fit: cover;
    object-position: center;
}

/* =========================================================
   BUILDING GALLERY
   ========================================================= */

.building-gallery {
    width: 100%;

    padding:
            1.2vw
            2.7vw
            2.2vw;

    background: var(--color-white);
}


/* =========================================================
   INNER
   ========================================================= */

.building-gallery-inner {
    width: 100%;

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 4.2vw;

    align-items: stretch;
}


/* =========================================================
   ITEM
   ========================================================= */

.building-gallery-item {
    position: relative;

    width: 100%;

    aspect-ratio: 1.52 / 1;

    overflow: visible;
}


/* =========================================================
   IMAGE
   ========================================================= */

.building-gallery-item img {
    position: relative;

    z-index: 2;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;
}


/* =========================================================
   FIRST IMAGE DECORATION
   ========================================================= */

.building-gallery-item-featured {
    position: relative;
}

.building-gallery-decoration {
    position: absolute;

    z-index: 1;

    left: -0.65vw;
    bottom: -0.65vw;

    width: 7.5vw;
    height: 7.5vw;

    pointer-events: none;
}


/* Bande verticale */

.building-gallery-decoration::before {
    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    width: 0.65vw;
    height: 100%;

    background: var(--color-yellow);
}


/* Bande horizontale */

.building-gallery-decoration::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    width: 100%;
    height: 0.65vw;

    background: var(--color-yellow);
}


/* =========================================================
   DESKTOP MEDIUM
   ========================================================= */

@media (max-width: 1100px) and (min-width: 851px) {

    .building-gallery {
        padding:
                14px
                28px
                28px;
    }

    .building-gallery-inner {
        gap: 30px;
    }

    .building-gallery-decoration {
        left: -7px;
        bottom: -7px;

        width: 80px;
        height: 80px;
    }

    .building-gallery-decoration::before {
        width: 7px;
    }

    .building-gallery-decoration::after {
        height: 7px;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 850px) {

    .building-gallery {
        padding:
                20px
                24px
                35px;
    }

    .building-gallery-inner {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 24px;
    }

    .building-gallery-item:last-child {
        grid-column: 1 / -1;

        width: calc(50% - 12px);

        margin: 0 auto;
    }

    .building-gallery-decoration {
        left: -7px;
        bottom: -7px;

        width: 75px;
        height: 75px;
    }

    .building-gallery-decoration::before {
        width: 7px;
    }

    .building-gallery-decoration::after {
        height: 7px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .building-gallery {
        padding:
                15px
                18px
                30px;
    }

    .building-gallery-inner {
        grid-template-columns: 1fr;

        gap: 22px;
    }

    .building-gallery-item,
    .building-gallery-item:last-child {
        grid-column: auto;

        width: 100%;

        margin: 0;
    }

    .building-gallery-decoration {
        left: -6px;
        bottom: -6px;

        width: 65px;
        height: 65px;
    }

    .building-gallery-decoration::before {
        width: 6px;
    }

    .building-gallery-decoration::after {
        height: 6px;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 390px) {

    .building-gallery {
        padding:
                12px
                15px
                25px;
    }

    .building-gallery-inner {
        gap: 18px;
    }
}