/*
   Theme Name: Lamelle 2
   Theme URI: http://jiyong.eu
   Author: Jiyong
   Author URI: http://jiyong.eu
   Version: 2.0.00
   Description: Themes lamelle sombre.
   */

/* trirong-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Trirong';
    font-style: normal;
    font-weight: 400;
    src: url('assets/polices/trirong-v17-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* trirong-italic - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Trirong';
    font-style: italic;
    font-weight: 400;
    src: url('assets/polices/trirong-v17-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* trirong-800 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Trirong';
    font-style: normal;
    font-weight: 800;
    src: url('assets/polices/trirong-v17-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* trirong-900 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Trirong';
    font-style: normal;
    font-weight: 900;
    src: url('assets/polices/trirong-v17-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-serif-4-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Serif 4';
    font-style: normal;
    font-weight: 400;
    src: url('assets/polices/source-serif-4-v14-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-serif-4-italic - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Serif 4';
    font-style: italic;
    font-weight: 400;
    src: url('assets/polices/source-serif-4-v14-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-serif-4-600 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Serif 4';
    font-style: normal;
    font-weight: 600;
    src: url('assets/polices/source-serif-4-v14-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-serif-4-600italic - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Serif 4';
    font-style: italic;
    font-weight: 600;
    src: url('assets/polices/source-serif-4-v14-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-serif-4-900 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Serif 4';
    font-style: normal;
    font-weight: 900;
    src: url('assets/polices/source-serif-4-v14-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

@font-face {
    font-family: "ji";
    src: url("assets/polices/ji.woff2?v02") format("woff2"),
    url("assets/polices/ji.ttf?v02") format("truetype"),
    url("assets/polices/ji.woff?v02") format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

:root{
    --surface: #0D1132;
    --on-surface: #F3F3F4;
    --on-surface-mid: #AEAFBA;
    --on-surface-low: #5D6076;

    --primary:#f26c64;
    --on-primary: #0D1132;

    --alert-box-success: #16A34A;
    --alert-box-error: #DC2626;

    --space-01: 4px;
    --space-02: 8px;
    --space-03: 16px;
    --space-04: 24px;
    --space-05: 32px;
    --space-06: 40px;
    --space-07: 48px;
    --space-08: 64px;
    --space-09: 72px;
    --space-10: 80px;
    --space-11: 144px;

    --radius-little:8px;
    --radius-middle:16px;
    --radius-large:24px;
    --radius-full:40px;

    --font-titles:Trirong, serif;
    --font-button:Trirong, serif;
    --font-commun:"Source Serif 4", serif;
    --font-icon:"ji";

    --font-size-little:12px;
    --line-height-littles:20px;

    --font-size-default:16px;
    --line-height-default:24px;

    --font-size-title-01:64px;
    --line-height-title-01:72px;

    --font-size-title-02:40px;
    --line-height-title-02:48px;

    --font-size-title-03:32px;
    --line-height-title-03:40px;

    --font-size-title-04:24px;
    --line-height-title-04:32px;

    --primary-button-surface:#0D1132;
    --primary-button-on-surface: #F3F3F4;
    --primary-button-stroke: #F3F3F4;

    --nav-column:1 / -1;

    --regular-animation: all 0.3s ease-out;

    --separator: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1856 3%22%3E%3Cpath fill=%22white%22 d=%22M0 .5h76.375v2H0zM77.375 0h76.375v3H77.375zM154.75 .5h76.375v2H154.75zM232.125 .5h76.375v2H232.125zM309.5 0h76.375v3H309.5zM386.875 1h76.375v1H386.875zM464.25 .5h76.375v2H464.25zM541.625 1h76.375v1H541.625zM619 0h76.375v3H619zM696.375 1h76.375v1H696.375zM773.75 0h76.375v3H773.75zM851.125 .5h76.375v2H851.125zM928.5 0h76.375v3H928.5zM1005.88 .5h76.375v2H1005.88zM1083.25 .5h76.375v2H1083.25zM1160.62 1h76.375v1H1160.62zM1238 0h76.375v3H1238zM1315.38 1h76.375v1H1315.38zM1392.75 1h76.375v1H1392.75zM1470.12 1h76.375v1H1470.12zM1547.5 0h76.375v3H1547.5zM1624.88 .5h76.375v2H1624.88zM1702.25 0h76.375v3H1702.25zM1779.62 1h76.375v1H1779.62z%22/%3E%3C/svg%3E");
    --trait: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'  height='6' fill='none' viewBox='0 0 12 6'%3E%3Cpath fill='%23000' d='M.247 1.563C.15 1.5.084 1.517 0 1.596c.022.046.034.11.071.128.188.098.217.261.218.45.004.176.087.26.258.313.055.018.115.04.156.078q.24.216.47.442c.35.344.673.715 1.077 1 .11.076.203.176.298.268.324.31.662.595 1.055.813.08.042.15.095.234.13.055.025.127.053.184.04.157-.035.245.028.33.156.068.1.17.204.28.24.177.06.326.125.436.283.061.088.133.082.2-.007a.35.35 0 0 1 .21-.149c.034-.008.082-.027.096-.054.094-.176.282-.216.436-.29.2-.093.405-.169.644-.146.199.017.407-.015.609-.047l.014-.002c.215-.033.444-.082.59-.24.154-.168.35-.248.53-.36.064-.038.133-.07.189-.116.456-.372.871-.786 1.276-1.21.069-.07.096-.177.148-.266.034-.063.064-.133.116-.18.076-.07.165-.126.254-.18.104-.062.148-.128.148-.265 0-.19.022-.392.271-.474.136-.044.29-.138.351-.255.089-.165.213-.255.362-.342q.124-.072.229-.173c.077-.074.136-.17.079-.28-.05-.093-.036-.165.03-.242.027-.032.036-.08.048-.123.028-.114.052-.229.085-.342.046-.152.008-.206-.157-.192q-.704.055-1.403.117c-.089.008-.172.043-.259.065-.1.026-.197.06-.299.074-.133.02-.268.018-.4.038-.07.013-.158.034-.2.082-.14.16-.325.21-.52.232-.486.059-.975.104-1.464.16-.19.02-.38.052-.575.077-.35.044-.7.084-1.057.005a.82.82 0 0 0-.699.151c-.084.065-.213.085-.327.103h-.005c-.158.026-.322.033-.485.045-.042.002-.097.014-.128-.006-.153-.097-.31-.083-.475-.034-.055.017-.117.007-.175.007-.185-.005-.373-.016-.558-.016-.066 0-.148.007-.191.046-.151.136-.315.146-.497.088-.027-.009-.06-.005-.09-.005a1.6 1.6 0 0 0-.736.159l-.003.001c-.141.068-.278.133-.44.04-.08-.044-.157.001-.217.07-.144.155-.209.171-.375.062'/%3E%3C/svg%3E");
}

*{
    padding:0;
    margin:0;
    box-sizing: border-box;
}

html{
    font-size: 16px;
}

body{
    background: var(--surface);
    color: var(--on-surface);
    font-size: var(--font-size-default);
    line-height: var(--line-height-default);
    font-family: var(--font-commun);
}

a{
    text-decoration: none;
}

p a{
    text-decoration: underline;
    color: var(--primary);
}

ul{
    list-style: none;

    &.list-item{
        list-style-type:square;
        list-style-position: inside;
        margin-bottom: var(--space-03);
    }
}

button{
    background: none;
}

:focus-visible {
    outline: 1px dotted var(--primary);
    outline-offset: 4px;
}

::selection{
    background-color: var(--on-surface);
    color:var(--surface);
}

.container{
    display: grid;
    grid-template-columns: repeat(var(--grid-nb-column), 1fr);
    padding:var(--grid-margin);
    gap:var(--grid-gutter);
    color:var(--on-surface);
}

.cover{
    height: 600px;
    width: 100%;
    position: relative;
    border-radius: 0 0 var(--radius-large) 0;
    overflow: hidden;


    & .headline-page{
        grid-column: var(--wrapper-column);
        color:var(--primary);
        display: flex;
        flex-direction: row;
        align-items: center;
        align-self: center;
    }

    & .headline-home{
        justify-content: center;
        position: relative;
        z-index: 5;

        & .logo{
            position: absolute;
            height: 180px;
            width: 151px;
            inset: 0;
            margin:auto;
            z-index: -1;

            & svg{
                position: absolute;
                width: 100%;
                height: 100%;
                display: block;
                fill: var(--on-surface);
            }
        }
    }

}

header{
    z-index: 999;
    position: fixed;
    left: 0;
    right: 0;

       & .menu-content{
        grid-column: var(--wrapper-column);
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;

        & a{
            font-family: var(--font-titles);
            padding:var(--space-04) var(--space-04);
            display: flex;
            color:var(--on-surface);
            width: 100%;
            justify-content: center;
            position: relative;

            &::after{
                content: "";
                mask-image: var(--trait);
                mask-size: contain;
                mask-repeat: no-repeat;
                mask-position: center;
                background-color: var(--primary);
                width: 0px;
                height: 6px;
                position: absolute;
                bottom: 11px;
                left: 0;
                right: 0;
                margin: auto;
                overflow: hidden;
                transition: var(--regular-animation);
            }

            &:hover::after{
                width: 12px;
            }

        }

        & .current-menu-item > a{
            font-weight: bold;

            &::after{
                width: 12px;
            }
        }
    }

    & .button-back{
        justify-self: start;
    }

    & .button-menu{
        justify-self: end;
        grid-column: -2;
    }
}

/* Titres */

.headline-large{
    font-family: var(--font-titles);
    font-size: var(--font-size-title-01) ;
    line-height:var(--line-height-title-01);
}

.title-large, .bodytitle-01{
    font-family: var(--font-titles);
    font-size: var(--font-size-title-02) ;
    line-height:var(--line-height-title-02);
    font-weight: 900;
}

.title-medium, .bodytitle-04{
    font-family: var(--font-titles);
    font-size: var(--font-size-title-03) ;
    line-height:var(--line-height-title-03);
}

.title-little, .folio-carousel-text-panel h3{
    font-family: var(--font-titles);
    font-size: var(--font-size-title-04) ;
    line-height:var(--line-height-title-04);
    font-weight: 600;
}

.subtitle{
    font-family: var(--font-titles);
    font-size: var(--font-size-default);
    line-height: var(--line-height-default);
    color: var(--on-surface-low);
    display: flex;
    flex-direction: row;
}

.title-group{
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: var(--space-01);
    font-family: var(--font-titles);
}

/* Gestion espaces */

p + p{
    margin-top: var(--space-04);
}

.bodytitle-01 + p, .title-large +p{
    margin-top:var(--space-03);
}

.bodytitle-04 + p, .title-medium +p{
    margin-top:var(--space-02);
}

p + .bodytitle-04{
    margin-top:var(--space-04);
}


/* Button */

.button{
    padding: var(--space-02) var(--space-03);
    font-family: var(--font-button);
    display: flex;
    position: relative;
    border-radius: var(--radius-full);
    align-items: center;
    text-align: center;
    justify-content: center;
    align-self: flex-start;
    gap:var(--space-02);
    cursor: pointer;
    height: 70px;

    &.primary{
        background-color:var(--primary-button-surface);
        color: var(--primary-button-on-surface);
        border: 1px solid var(--primary-button-stroke);
        transition: var(--regular-animation);

        &:hover{
            background-color: var(--primary-button-on-surface);
            color: var(--primary-button-surface);
            transition: var(--regular-animation);
        }
    }

    &.icon-before::before{
        font-family: var(--font-icon);
        height: 24px;
        width: 24px;
        font-size:1.5rem;
        transition: var(--regular-animation);
        display: flex;
    }

    &.icon-after::after{
        font-family: var(--font-icon);
        height: 24px;
        width: 24px;
        font-size:1.5rem;
        transition: var(--regular-animation);
        display: flex;
    }

    &.icon-only{
        width: 70px;
        height: 70px;
        align-self: auto;
        flex: 0 0 auto;

        &::after{
            font-family: var(--font-icon);
            position: absolute;
            height: 24px;
            width: 24px;
            font-size:1.5rem;
            transition: var(--regular-animation);
        }

        &[data-tooltip]::before{
            content: attr(data-tooltip);
            position: absolute;
            white-space: nowrap;
            pointer-events: none;
            background: var(--primary);
            color:var(--on-primary);
            border-radius:var(--radius-little);
            padding: var(--space-02);
            top:0;
            opacity: 0;
            display: flex;
            z-index: 5;
            transition: var(--regular-animation);
        }

        &:hover::before{
            opacity: 1;
            transform: translateY(calc(-100% - 16px));
            transition: var(--regular-animation);
        }
    }
}

/* filter-btn */

.portfolio-filters {
    display: flex;
    flex-direction: row;
    gap: var(--space-03);


    .filter-btn {
        padding: var(--space-02) var(--space-03);
        font-family: var(--font-button);
        display: flex;
        position: relative;
        border-radius: var(--radius-full);
        align-items: center;
        text-align: center;
        justify-content: center;
        align-self: flex-start;
        gap: var(--space-03);
        cursor: pointer;
        height: 70px;
        background-color:var(--primary-button-surface);
        color: var(--primary-button-on-surface);
        border: 1px solid var(--primary-button-stroke);

        &:hover::before{
            border: 4px solid var(--primary-button-surface);
            transition: var(--regular-animation);
        }

        &::before{
            content: "";
            box-sizing: border-box;
            height:24px;
            width:24px;
            border-radius: var(--radius-full);
            background-color: var(--primary-button-on-surface);
            border: 0px solid var(--primary-button-surface);
            outline: 1px solid var(--on-surface-low);
            transition: var(--regular-animation);
        }

        &.is-active{
            background-color: var(--primary-button-on-surface);
            color:var(--primary-button-surface);
        }

        &.is-active::before{
            border: 6px solid var(--primary-button-surface);
            transition: var(--regular-animation);
        }

    }
}

.radio-list {
    display: flex;
    flex-direction: row;
    gap: var(--space-03);

    & .radio-option{
        padding: var(--space-02) var(--space-03);
        font-family: var(--font-button);
        display: flex;
        position: relative;
        border-radius: var(--radius-full);
        align-items: center;
        text-align: center;
        justify-content: center;
        align-self: flex-start;
        gap: var(--space-03);
        cursor: pointer;
        height: 70px;
        background-color:var(--primary-button-surface);
        color: var(--primary-button-on-surface);
        border: 1px solid var(--primary-button-stroke);
        transition: var(--regular-animation);

        &:has(input[type="radio"]:checked){
            background-color: var(--primary-button-on-surface);
            color:var(--primary-button-surface);
            transition: var(--regular-animation);
        }

        input[type="radio"]{
            appearance: none;
            box-sizing: border-box;
            height:24px;
            width:24px;
            background-color: var(--primary-button-on-surface);
            border: 0px solid var(--primary-button-surface);
            outline: 1px solid var(--on-surface-low);
            border-radius: var(--radius-full);
            transition: var(--regular-animation);

            &:checked{
                border: 6px solid var(--primary-button-surface);
                background-color: var(--primary-button-on-surface);
                color:var(--primary-button-surface);
            }

            &:hover{
                border: 6px solid var(--primary-button-surface);
                transition: var(--regular-animation);
            }
        }

    }
}

/* Icones */

.icon-right::before{
    content:"";
}

.icon-back{
    &.icon-only::after{
        content: "";
    }

    &.icon-before::before{
        content: "";
    }
}

.icon-next::after{
    content:"";
}

.icon-prev::after{
    content:"";
}

.icon-bluesky::after{
    content:""
}

.icon-pixelfed::after{
    content:""
}

.icon-linkedin::after{
    content:""
}

.icon-instagram::after{
    content:""
}

.icon-contact::after{
    content:""
}

/* Lamelle sur la couverture */

.img-cover{
    position: absolute;
    inset: 0;
    z-index: -1;
    display: flex;
    justify-content: center;
    align-items: center;

    & .lamelle {
        flex: 1 1 0;
        height: 100%;
        background-repeat: no-repeat;
        opacity: 0;
        transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.4s;
        --start-offset: 100%;
    }

    & .lamelle.from-bottom {
        transform: translateY(100%);
    }

    & .lamelle.from-top{
        transform: translateY(-100%);
    }

    & .lamelle.visible {
        transform: translateY(0);
        opacity: 1;
    }

    & .img-cover-mask{
        position: absolute;
        inset: 0;
        display: flex;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
}

/* colonage */

main{
    margin: var(--main-space) auto;
}

.wrapper-container{
    display: grid;
    grid-column: var(--wrapper-column);
}

/* photo home*/

.index-editorial-content{
    display: flex;
    flex-direction: column;
    gap: var(--space-05);

    & > div{
        display: flex;
        flex-direction: column;
        flex: 1;
        gap: var(--space-03);
    }

    & figure.img-profile {
        display: flex;
        flex-shrink: 1;
        border-radius: var(--radius-large);
        overflow: hidden;

        & img{
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }
}

.random-work {
    display: flex;
    flex-direction: column;
    gap: var(--space-03);

    & .description-work {
        display: flex;
        flex-direction: row;
        color: var(--on-surface-mid);
    }

    & .home-work {
        display: flex;
        flex-direction: column;
        gap: var(--space-03);

        & .group-buttons {
            display: flex;
            flex-direction: row;
            flex-wrap: nowrap;
            gap: var(--space-03);

            & > a:nth-child(1) {
                flex: 0 0 auto;
            }

            & > a:nth-child(2) {
                flex: 1;
            }
        }

        & .portfolio-thumbnail {
            display: flex;
            border-radius: var(--radius-large);
            overflow: hidden;
            width: 100%;
            height: 500px;
            align-items: center;
            justify-content: center;
            position: relative;

            & img {
                display: block;
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
        }

        & p {
            color: var(--on-surface-mid);
        }
    }
}

/* folio list */

.folio-list{
    grid-column: var(--wrapper-column);
    display: grid;
    grid-template-columns: var(--folio-grid-template-column);
    gap: var(--folio-gap);
    padding-bottom: var(--folio-gap);


    & .folio-item{
        display: flex;
        width: 100%;
        flex-direction: column;
        gap: var(--space-03);
        position: relative;

        & .folio-thumbnail{
            width: 100%;
            height: 500px;
            overflow: hidden;
            border-radius: var(--radius-large);
            position: relative;

            & img{
                display: block;
                height: 100%;
                width: 100%;
                object-fit: cover;
            }
        }

        & a{
            color:var(--on-surface);
        }

        & .folio-info{
            display: flex;
            flex-direction: column;
            gap: var(--space-02);

            & .folio-line-01{
                display: flex;
                flex-direction: row;
                gap: var(--space-03);
                color: var(--on-surface-mid);

                ul{
                    display: flex;
                    flex-direction: row;
                    flex-wrap: wrap;
                    gap: var(--space-02);
                }
            }

            & .folio-line-02{
                display: flex;
                flex-direction: row;
                gap: var(--space-03);
                color: var(--on-surface-low);

                ul{
                    display: flex;
                    flex-direction: row;
                    flex-wrap: wrap;
                    gap: var(--space-02);
                }
            }
        }
    }

}

.folio-item:hover .folio-filter{
    opacity: 1;
    transition: all .55s cubic-bezier(.22,.85,.25,1);
}

.folio-filter{
    position: absolute;
    inset: 0;
    display: block;
    opacity: 1;

    & .folio-filter-content{
        display: flex;
        position: absolute;
        inset: 0;
        align-items: center;
        justify-content: center;
        z-index: 44;
        flex-direction: column-reverse;
        gap: var(--space-05);
        opacity: 0;
        transition: opacity 0.3s;
        color: var(--on-surface);

            &.is-visible{
                opacity: 1;
            }

        &::before{
            content: "";
            font-family: var(--font-icon);
            height: 64px;
            width: 64px;
            font-size:64px;
        }
    }

    & .lamelle{
        position:absolute;
        top:0;
        bottom:0;
        background: rgb(from var(--surface) r g b / 90%);
        transform: translateY(var(--start-offset, 100%));
        transition: transform .55s cubic-bezier(.22,.85,.25,1);
        will-change: transform;
    }

    & .lamelle.from-bottom{
        transform: translateY(var(--start-offset, 105%));
    }
    & .lamelle.from-top{
        transform: translateY(var(--start-offset, -105%));
    }
    & .lamelle.visible{
        transform: translateY(0);
    }
}

/* portfolio-single */

.portfolio-single{
    row-gap: var(--space-10);
}

/* Information sheet */

.information-sheet{
    grid-column: var(--wrapper-column);
    display: flex;
    flex-direction: column;

    & .information-sheet-content{
        display: flex;
        flex-direction: column;
        gap: var(--space-06);

        & li{
            display: grid;
            grid-template-columns: var(--folio-grid-template-column);
            gap: var(--folio-gap);
        }
    }
}

/* Chapo */

.chapo{
    grid-column: var(--wrapper-column);
    columns: var(--chapo-columns);
    column-gap: var(--folio-gap);

    & > *{
        break-inside: avoid;
        margin-bottom: var(--space-04);
    }

    & .group-link{
        grid-column: 1 / -1;
        display: flex;
        flex-direction: column;
        gap: var(--space-03);
        margin:var(--space-04) 0;
        column-span: all;


        & a{
            color: var(--on-surface-mid);
            font-style: italic;
            display: inline-flex;
            align-self: flex-start;
            flex-direction: row;
            gap: var(--space-03);

            &::before{
                content:"";
                font-family: var(--font-icon);
                font-size:1rem;
                font-style: normal;
            }
        }

    }

}

/* Portfolio enfants */

.related-works{
    grid-column: var(--wrapper-column);
    display: flex;
    flex-direction: column;
    gap:var(--space-06);

    & .list-related-works{
        display: flex;
        flex-direction: column;
        gap: var(--space-05);

        & a{
            color: var(--on-surface);
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: space-between;
            gap: var(--space-05);
            align-self: stretch;
            transition: var(--regular-animation);

            &:hover{
                padding-left: var(--space-05);
                transition: var(--regular-animation);
            }
        }


        & .title-group{
            display: flex;
            flex: 1 1 auto;
        }
    }
}

.portfolio-container{
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: subgrid;
    row-gap: var(--folio-gap);

    & .full-wrap{
        grid-column: 1 / -1;
    }

    & .middle-wrap, & .middle-width{
        grid-column:var(--wrapper-column);
        row-gap: var(--space-06);
        display: grid;
        grid-template-columns: subgrid;

        & > h1, & > h2, & > h3, & > h4{
            grid-column: 1 / -1;
        }

        & .column-left img, & .column-right img{
            max-width: 100%;
        }

        & .column-left{
            grid-column: var(--column-egal-left);
        }

        & .column-right{
            grid-column: var(--column-egal-right);
        }

        &.egal-column{
            & .column-left{
                grid-column: var(--column-egal-left);
            }

            & .column-right{
                grid-column: var(--column-egal-right);
            }
        }

        &.left-main{

            & .column-left{
                grid-column: var(--column-left-main-left);
            }

            & .column-right{
                grid-column: var(--column-left-main-right);
            }

        }

        &.right-main{

            & .column-left{
                grid-column: var(--column-right-main-left);
            }

            & .column-right{
                grid-column:var(--column-right-main-right);
            }
        }
    }

    .vertical-center{
        align-items: center;
        justify-content: center;
    }
}

.img-full{
    grid-column: 1 / -1;
    max-height: 800px;
    overflow: hidden;
    border-radius: var(--radius-large);

    & img{
        object-fit: cover;
        width: 100%;
        height: 100%;
        transition: var(--regular-animation);
    }

    &:hover img{
        transform:scale(1.10);
        transition: var(--regular-animation);
    }
}

.img-interface{
    grid-column: 1 / -1;

    & img{
        object-fit: cover;
        width: 100%;
        height: 100%;
        transition: var(--regular-animation);
    }

}

/* Icon list */

.icon-list{
    grid-column: 1 / -1;
    grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));
    display: grid;
    gap:var(--grid-gutter);

    & li{
        display: flex;
        flex-direction: column;
        text-align: center;
        justify-content: center;
        gap: var(--space-02);

        & *{
            max-width: 100%;
            margin: auto;
        }
    }

    & span, & figcaption{
        font-size: var(--font-size-little);
    }
}

.list-image{
    grid-column: 1 / -1;
    grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));
    display: grid;
    gap:var(--grid-gutter);

    & li, & figure{
        flex-direction: column;
        text-align: center;
        justify-content: center;
        gap: var(--space-03);

        & > *{
            max-width: 100%;
            margin: auto;
            justify-content: center;
        }
    }
}

.mobile-list + .mobile-list{
    margin-top: var(--space-06);
}

.mobile-list{
    grid-column: 1 / -1;
    grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
    display: grid;
    gap:var(--grid-gutter);

    & li, & figure{
        flex-direction: column;
        text-align: center;
        justify-content: center;
        gap: var(--space-03);

        & > *{
            max-width: 100%;
            margin: auto;
            justify-content: center;
        }
    }
}


/*Personae list */

.list-personae{
    grid-column: 1 / -1;
    display: flex;
    flex-direction: row;
    gap: var(--space-05);
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
    scroll-snap-stop: always;
    align-items: flex-start;
    -webkit-overflow-scrolling: touch;
    scroll-padding-inline: var(--grid-margin);

    & figure{
        max-width: 450px;
        flex: 0 0 auto;
        scroll-snap-align: start;

        & img{
            max-width: 100%;
        }
    }
}

/* List color */


.list-colors{
    grid-column: 1 / -1;
    display: flex;
    flex-direction: row;
    gap:var(--space-05);
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
    scroll-snap-stop: always;
    align-items: flex-start;
    -webkit-overflow-scrolling: touch;
    scroll-padding-inline: 32px;

    & figure{
        max-width: 600px;
        flex: 0 0 auto;
        scroll-snap-align: start;

        & img{
            max-width: 100%;
        }
    }
}


/* Carousel */

.carousel-mobile .folio-carousel-track, .carousel-mobile figure{
    height: 450px;
}

.folio-carousel{
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: subgrid;
    gap: 0 var(--grid-gap, 16px);
    position: relative;

    & .folio-carousel-text-nav {
        border-radius: var(--radius-middle);
        position: relative;
        display: flex;
        flex-direction: column;
        gap: var(--space-04);
        z-index: 5;
        align-self: center;
        transition: var(--regular-animation);
        background: rgb(from var(--surface) r g b / 90%);
        backdrop-filter: blur(5px);

        & .folio-carousel-text-panel {
            display: flex;
            flex-direction: column;
            z-index: 4;
            gap: var(--space-03);
            transition: var(--regular-animation);
        }

        & .folio-carousel-nav{
            display: flex;
            flex-direction: row;
            gap: var(--space-03);
        }
    }

    & .folio-carousel-text{
        display: flex;
        flex-direction: column;
        gap: var(--space-03);
        display: none;

        & h3, & p{
            margin: 0;
        }
    }

    & .folio-carousel-track-wrapper{
        grid-column: 1 / -1;
        grid-row: 1;
        display: grid;
        grid-template-columns: subgrid;
        gap: 0 var(--grid-gap, 16px);
        overflow: hidden;
        margin-inline: calc(-1 * var(--grid-margin));
        padding-inline:var(--grid-margin);

        & .folio-carousel-track{
            grid-column: 1 / -1;
            display: grid;
            grid-template-columns: subgrid;
            gap: var(--space-04) var(--grid-gap, 16px);
            margin: 0;
            padding: 0;
            position: relative;

            & .folio-carousel-item{
                position: absolute;
                width: calc(2 * (100% / 12) + var(--grid-gap, 16px));
                transition: left 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.5s ease;

                & .folio-carousel-item-text{
                    display: none;
                }

                & figure{
                    overflow: hidden;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    padding:0;
                    margin:0;

                    & img{
                        display: block;
                        max-height: 100%;
                        max-width: 100%;
                        width: auto;
                        height: auto;

                    }
                }
            }

        }

   }

    .folio-carousel-dots {
        grid-column: 1 / -1;
        grid-row: 2;
        display: flex;
        height: 32px;
        gap: var(--space-02);
        justify-content: center;
        align-items: center;

        & .folio-carousel-dot{
            width: 8px;
            height: 8px;
            border-radius: var(--radius-full);
            background: var(--on-surface-mid);
            border: none;
            padding: 0;
            cursor: pointer;
            transition: var(--regular-animation);
        }

        & .folio-carousel-dot:hover{
            height: 32px;
            width: 32px;
        }

        & .folio-carousel-dot.active{
            opacity: 1;
            background: var(--on-surface);
            width:32px;
        }

        & .folio-carousel-dot.active:hover{
            height: 8px;
            min-width: 32px;
        }

    }
}

/* Separateur */

hr{
    grid-column: 1 / -1;
    display: block;
    background: var(--on-surface-mid);
    height: 3px;
    width: 100%;
    max-width: 600px;
    margin: auto;
    mask: var(--separator);
}

/* Toggle */

.interface-switch{
    display: flex;
    flex-direction: column;
    grid-column: 1 / -1 ;
    gap: 16px;
    align-items: center;
}

.interface-device{
    width: 100%;
    aspect-ratio: 16 / 9;
}

.interface-images {
    width: 100%;
}

.interface-img{
    opacity: 0;
    transition: all 0.5s;
    height: 0;
    overflow: hidden;
    text-align: center;
}

.interface-img.active {
    opacity: 1;
    height: auto;
    transition: all 0.5s;
}

.interface-img img{
    max-width: 100%;
    height: auto;
    object-fit: contain;
}



.commandes-toggle {
    text-align: center;
    border-radius: var(--radius-full);

    & .content-label{
        display: none;
    }

    & .toggle {
        position: relative;
        display: inline-block;
        width: 60px;
        height: 24px;
        border-radius: var(--radius-full);

        & input {
            opacity: 0;
            width: 0;
            height: 0;

            &:checked + .slider::before {
                transform: translateX(26px);
                background-color: var(--on-surface);
            }
        }
    }

    & .slider {
        position: absolute;
        cursor: pointer;
        inset: 0;
        background: var(--surface);
        transition: 0.4s;
        border-radius: var(--radius-full);

        &::before {
            position: absolute;
            content: "";
            inset: 3px;
            height: 18px;
            width: 26px;
            background-color:var(--on-surface-low);
            transition: 0.4s;
            border-radius: var(--radius-full);
        }
    }

    & input:checked + .slider {
        background-color: var(--surface);
    }
}

/* */

.about-container {
    row-gap: var(--about-gap);
}

.about-list{
    grid-column: 1 / -1;
    grid-column: var(--wrapper-column);
    display: grid;
    grid-template-columns: subgrid;
    row-gap:var(--space-05);

    & .title-group{
        grid-column: 1 / -1;
    }

    .about-list-container{
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: subgrid;
        row-gap:var(--space-06);
    }

    & .about-list-item{
        grid-column: 1 / -1;
        grid-template-columns: subgrid;
        display: grid;

        & .about-date{
          grid-column: var(--about-date-template-column);
        }

        & .about-loisir-type{
            color: var(--on-surface-mid);
        }
    }

    & .about-item-content{
        grid-column: var(--about-item-content-template-column);

        & .about-item-compagny{
            display: flex;
            flex-direction: row;
            flex-wrap: nowrap;
            gap: var(--space-03);

            & .about-compagny{
                color: var(--on-surface-mid);
            }

            & .about-localisation{
                color: var(--on-surface-low);
            }
        }
    }

    & .about-description{
        color: var(--on-surface-mid);
    }
}



/* Footer */

footer{
    position: relative;

    & .branding{
        grid-column: var(--branding-column);
        display: flex;
        flex-direction: row;
        gap: var(--space-03);
    }

    & .logo{
        height: 70px;
        width: 70px;
        fill: var(--on-surface);
        display: flex;
        align-items: center;
        justify-content: center;

        & svg{
            width: 38px;
        }

        &::before{
            content: '';
            grid-column: 1 / -1;
            display: block;
            left:var(--grid-margin);
            right:var(--grid-margin);
            background: var(--on-surface-mid);
            position: absolute;
            height: 3px;
            top:0;
            margin: auto;
            mask: var(--separator);}
    }

    & .social-list{
        display: flex;
        align-items: end;
        justify-content: end;
        flex-direction: row;
        gap: var(--space-03);
        grid-column: var(--social-column);
        flex-wrap: wrap;

        & li:last-child a::before{
            right: -8px;
        }
    }
}

/*pages */

.page-container{

    row-gap: var(--folio-gap);

    .contact-form{
        display: grid;
        grid-template-columns: subgrid;
        grid-column: var(--wrapper-column);
        row-gap: var(--space-06);

        & form{
            grid-column: 1 / -1;
            display: grid;
            grid-template-columns: subgrid;
            row-gap: var(--space-06);
        }

        & .alert-box{
            grid-column: 1 / -1;
            padding:var(--space-03);
            border-radius: var(--radius-middle);
            opacity: 0;
            height: 0;
            transition: var(--regular-animation);
            display: none;

            &.visible{
                opacity: 1;
                height: auto;
                transition: var(--regular-animation);
            }

            &.alert-box-success{
                border: 2px solid var(--alert-box-success);
                background: rgb(from var(--alert-box-success) r g b / 25%);
            }

            &.alert-box-error{
                border: 2px solid var(--alert-box-error);
                background: rgb(from var(--alert-box-error) r g b / 25%);
            }

            & .message{
                display: flex;
                flex-direction: column;
                gap:var(--space-02);
            }
        }

        .contact-duo{
            display: grid;
            grid-column: 1 / -1;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            column-gap: var(--space-04);
            align-items: flex-end;

            & .contact-group{
                grid-column: auto;
            }
       }

        .contact-group{
            grid-column: 1 / -1;
            display: flex;
            flex-direction: column;
            align-self: auto;
            gap: var(--space-02);
        }

       & input[type="text"], & input[type="email"], & textarea{
            border-radius: var(--radius-little);
            font-family: var(--font-commun);
            font-size: var(--font-size-default);
            line-height: var(--line-height-default);
            background: var(--on-surface);
            border:1px solid var(--on-surface-mid);
            outline:0px solid var(--on-surface);
            outline-offset: 1px;
            padding: var(--space-02);

            &:focus{
                outline:2px solid var(--on-surface);
                outline-offset: -2px;
            }

            &.invalid{
                outline:2px solid var(--alert-box-error);
                outline-offset: -2px;
            }

            .contact-group:has(.field-error:not([disabled])) &{
                border-radius: var(--radius-little) var(--radius-little) 0 0;
            }
        }

        .char-count{
            color:var(--on-surface-low);
        }

        textarea{
            height: 300px;
        }

        .field-error{
            color: var(--alert-box-error);
            padding:var(--space-02);
            background: rgb(from var(--alert-box-error) r g b / 25%);
            border-radius: 0 0 var(--radius-little) var(--radius-little);
            display: flex;
            position: relative;
            transform:translateY(0);
            flex-direction: column;
            overflow: hidden;
            height: auto;
            transition: var(--regular-animation);
            opacity: 1;

            &[disabled]{
                height: 0;
                transition: var(--regular-animation);
                transform:translateY(-16px);
                opacity: 0;
            }
        }

        .button-send-message{
            position:relative;
            display: flex;
            justify-self: start; /* ou center / end selon l'alignement voulu */
            width: fit-content;
            grid-column: 1 / -1;
            min-width: 218px;

            .content-button{
                display: flex;
                flex-direction: row;
                flex-wrap: nowrap;
                align-self: auto;
                transform:translateY(0);
                opacity: 1;
                visibility: visible;

                .loading &{
                    opacity: 0;
                    visibility: hidden;
                }
            }

            .content-spinner{
                position: absolute;
                inset:0;
                width: 32px;
                height: 32px;
                border-radius: 50%;
                border: 4px solid transparent;
                border-top-color: currentColor;
                animation: spin 1s linear infinite;
                margin: auto;
                opacity: 0;
                visibility: hidden;

                .loading &{
                    opacity: 1;
                    visibility: visible;
                }
            }

        }
    }
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* Jump barre */

.jump-barre {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;

    & a{
        position: absolute;
        left: -9999px;
        padding: 8px 12px;
        background: var(--surface);
        color:var(--on-surface);
        border: 2px dotted var(--primary);
        text-wrap: nowrap;

        &:focus {
            left: 0;
            top: 0;
        }

    }
}

:focus-visible {
    outline: 3px dotted var(--primary);
    outline-offset: 4px;
}

/* Monkey Factory */

.nemo {
    --mf-illu-primary-color: #4e86ea;
    --mf-illu-secondary-color: #e75c0b;
    --mf-illu-third-color: #EABFB2;
    --mf-illu-fourth-color: #DBA89C;
    --mf-illu-fifth-color: #D39890;
    --mf-illu-sixth-color: #161723;
    --mf-illu-seventh-color: #1f2130;
    --mf-illu-heigth-color: #435370;
    --mf-illu-ninth-color: #a36957;
    --mf-illu-tenth-color: #fff;
    --mf-illu-eleventh-color: #282c33;
    --mf-illu-twelfth-color: #e75c0b;
    --mf-illu-shadow: #ba3502;

    --mf-bat-primary: #f6f8fc;
    --mf-bat-secondary: #9bb1e2;
    --mf-bat-third: #bccbec;
    --mf-bat-fourth: #6988c7;
    --mf-bat-fifth: #6988c7;

    & .icon-list {
        grid-template-columns: repeat(auto-fit, minmax(58px, 1fr));
        gap:var(--space-07);

        & span {
            display: none;
        }

        & svg {
            fill:#f6f8fc;
            align-self: start;
        }

        & li{
            border-radius: var(--radius-full);
            padding: var(--space-03);
            width: 64px;
            height: 64px;
        }

        & li:nth-of-type(7n+8) {
            background-color: #fa8642;

            & svg{
                fill: #0b0c0e;
            }
        }

        & li:nth-of-type(9n+4) {
            opacity: 0.7;
            background-color: transparent;

            & svg{
                fill:#f6f8fc;
            }
        }
    }
}

.version-verte{
    --mf-illu-primary-color:#00884b;
    --mf-illu-secondary-color:#EFCF18;
    --mf-illu-third-color:#7a5353;
    --mf-illu-fourth-color:#765151;
    --mf-illu-fifth-color:#6D4444;
    --mf-illu-sixth-color:#1D0E08;
    --mf-illu-seventh-color:#21130e;
    --mf-illu-heigth-color:#2f1b14;
    --mf-illu-ninth-color:#653a3a;
    --mf-illu-tenth-color:#fff;
    --mf-illu-eleventh-color:#1e1e1e;
    --mf-illu-twelfth-color:#00884b;
    --mf-illu-shadow:#067243;

    --mf-bat-primary:#f9f4de;
    --mf-bat-secondary:#e5e0c6;
    --mf-bat-third:#d3cfb9;
    --mf-bat-fourth:#d4cfc7;
    --mf-bat-fifth:#d4cfc7;
}

.version-magenta{
    --mf-illu-primary-color:#c93a8b;
    --mf-illu-secondary-color:#60a7ac;
    --mf-illu-third-color:#EABFB2;
    --mf-illu-fourth-color:#DBA89C;
    --mf-illu-fifth-color:#D39890;
    --mf-illu-sixth-color:#161723;
    --mf-illu-seventh-color:#1f2130;
    --mf-illu-heigth-color:#435370;
    --mf-illu-ninth-color:#a36957;
    --mf-illu-tenth-color:#fff;
    --mf-illu-eleventh-color:#2f1727;
    --mf-illu-twelfth-color:#c93a8b;

    --mf-illu-shadow:#A63476;

    --mf-bat-primary:#f8f8f8;
    --mf-bat-secondary:#e9e9e9;
    --mf-bat-third:#e9e9e9;
    --mf-bat-fourth:#c4c4c4;
    --mf-bat-fifth:#c4c4c4;
}

.version-noire{
    --mf-illu-primary-color:#578005;
    --mf-illu-secondary-color:#222027;
    --mf-illu-third-color:#EABFB2;
    --mf-illu-fourth-color:#DBA89C;
    --mf-illu-fifth-color:#D39890;
    --mf-illu-sixth-color:#161723;
    --mf-illu-seventh-color:#1f2130;
    --mf-illu-heigth-color:#435370;
    --mf-illu-ninth-color:#a36957;
    --mf-illu-tenth-color:#fff;
    --mf-illu-eleventh-color:#262626;
    --mf-illu-twelfth-color:#578005;

    --mf-illu-shadow:#466800;

    --mf-bat-primary:#62635e;
    --mf-bat-secondary:#4b4d4a;
    --mf-bat-third:#353636;
    --mf-bat-fourth:#1e2022;
    --mf-bat-fifth:#1e2022;
}

.theme-switcher{
    display: flex;
    flex-direction: row;
    gap:var(--space-03);
    grid-column: 1 / -1;

    & .button{
        padding:0 var(--space-03);
    }
}

.mf-bat-primary {
    fill: var(--mf-bat-primary);
}

.mf-bat-secondary {
    fill: var(--mf-bat-secondary);
}

.mf-bat-third {
    fill: var(--mf-bat-third);
}

.mf-bat-fourth {
    fill: var(--mf-bat-fourth)
}

.mf-bat-fifth {
    fill: var(--mf-bat-fifth);
    fill-opacity:0.1;
}

.mf-illu-primary-color {
    fill: var(--mf-illu-primary-color);
}

.mf-illu-secondary-color {
    fill: var(--mf-illu-secondary-color);
}

.mf-illu-third-color{
    fill:var(--mf-illu-third-color);
}

.mf-illu-fourth-color{
    fill:var(--mf-illu-fourth-color);
}

.mf-illu-fifth-color{
    fill:var(--mf-illu-fifth-color);
}

.mf-illu-sixth-color{
    fill:var(--mf-illu-sixth-color);
}

.mf-illu-seventh-color{
    fill:var(--mf-illu-seventh-color);
}

.mf-illu-height-color{
    fill:var(--mf-illu-heigth-color);
}

.mf-illu-ninth-color{
    fill:var(--mf-illu-ninth-color);
}

.mf-illu-tenth-color{
    fill:var(--mf-illu-tenth-color);
}

.mf-illu-eleventh-color{
    fill:var(--mf-illu-eleventh-color);
}

.mf-illu-twelfth-color{
    fill:var(--mf-illu-twelfth-color);
}

.mf-illu-shadow-color{
    fill:var(--mf-illu-shadow);
}


.expert{

    & .icon-list{
        grid-template-columns: repeat(auto-fit, minmax(58px, 1fr));
        gap:var(--space-06);

        & li{
            border-radius: var(--radius-little);
            padding: var(--space-02);
            width: 58px;
            height: 58px;
            background: var(--on-surface);
        }

        & img{
            width: 58px;
            height: 58px;
        }

        & li:nth-of-type(5n+4){
            background: #D4D6F1;
        }

        & li:nth-of-type(9n+8){
            background: var(--on-surface);

            & img{
                opacity: 0.7;
            }
        }

    }

    & .list-image figure {
        width:100% !important;
    }

}

.prvi-ds .icon-list li, .expert .icon-list li{
    grid-column: span 1;
}

.prvi-ds{
    & .commandes-toggle{
        position: fixed;
        bottom: 16px;
        margin: auto;
        left:50%;
        transform: translateX(-50%);
    }

    & .portfolio-filters{
        grid-column: 1 / -1;
    }

    & .icon-list{
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;

        & span{
            display: none;
        }

        & img{
            width: 48px;
            padding:8px;
            max-width: 124px;
        }

        & li{
            background: var(--on-surface);

            &:nth-of-type(7n+8){
                background-color: #D3D2EE;
            }

            &li:nth-of-type(5n+4){
                opacity: 0.7;
                background-color:transparent;
            }
        }

        &.icon-weight{
            display: none;
        }

        &.is-visible{
            display: flex;
        }
    }

}

.objectifjustice{

    & .icon-list {
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
        gap: var(--space-08);

        & li{
            padding: var(--space-03);

            & svg{
                fill:#61adff;
                max-width: 80px;
            }

            & span{
                display: flex;
                flex-wrap: wrap;
                font-size: 0.8rem;
            }
        }
    }
}

.neon{
    --neon-blue: #4cc9ff;
    --neon-yellow: #ffe66d;
    --neon-green: #7cff6b;
    --neon-magenta: #ff4fd8;
    --neon-color: var(--neon-blue);

    & .blue{
        background: var(--neon-blue);
    }

    & .yellow {
        background: var(--neon-yellow);
    }

    & .green {
        background: var(--neon-green);
    }

    & .magenta {
        background: var(--neon-magenta);
    }

    & .icon-list {
        grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
        gap: var(--space-10);

        & li figure {
            display: flex;
            flex-direction: column;
            gap: var(--space-03);
        }

        & li svg {
            fill: var(--neon-color);
            filter: drop-shadow(0 0 1px var(--neon-color)) drop-shadow(0 0 3px var(--neon-color)) drop-shadow(0 0 8px color-mix(in srgb, var(--neon-color), transparent 90%));
            max-width: 96px;
            max-height: 96px;
        }
    }

    & .barre-couleur {
        grid-column: var(--wrapper-column);
        position: sticky;
        display: flex;
        flex-direction: row;
        bottom: 0;
        z-index: 86;
        justify-content: center;
        gap: var(--space-03);
        text-align: center;
        padding: var(--space-02);

        & button {
            height: 45px;
            width: 45px;
            padding: var(--space-01);
            cursor: pointer;
            border-radius: 45px;
            overflow: hidden;
            text-indent: 150%;
            border: none;


            &.selected{
                border:1px solid var(--on-surface);
                box-shadow:0px 0px 0px 2px var(--surface) inset;
                cursor: inherit ;
            }
        }


    }
}


.stamp-icon{
    padding:var(--space-08);

    & .red-list li svg path {
        fill: #700103;
    }
}

@media screen and (min-width: 991px) {

    :root {
        --grid-nb-column: 12;
        --grid-margin: 32px;
        --grid-gutter: 16px;
        --grid-gap: 16px;

        --folio-gap: 140px;
        --folio-grid-template-column: repeat(2, minmax(0, 1fr)) ;
        --folio-item-margin-bottom:calc(-1 * var(--folio-gap));
        --chapo-columns:2;

        --about-gap: 140px;
        --about-date-template-column:1 / span 2;
        --about-item-content-template-column:4 / -1;

        --wrapper-column: 3 / span 8;
        --branding-column: 1 / 5;
        --social-column: 7 / -1;

        --main-space: 180px;

        --column-left-main-left:1 / span 4;
        --column-left-main-right:6 / -1;

        --column-right-main-left:1 / span 3;
        --column-right-main-right:5 / -1;

        --column-egal-left: 1 / span 4;
        --column-egal-right:  5 / -1;
    }

    .wrapper-container {
        grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
        gap: var(--space-11);
    }

    & nav {
        grid-column: 2 / -2;
        z-index: 1;
        display: flex;
        align-items: center;
        justify-content: center;

        & .menu-content{
            background: rgb(from var(--surface) r g b / 75%);
            border-radius: var(--radius-full);
            backdrop-filter: blur(5px);
            padding:0 var(--space-03);
        }
    }

    .button-menu {
        display: none;
    }

    .folio-list {
        & .folio-item:nth-of-type(even) {
            transform: translateY(var(--folio-gap));
        }
    }


    /* Folio Carousel*/

    .folio-carousel{
        & .folio-carousel-text-nav{
            grid-column: 3 / span 3;
            grid-row: 1;
            padding: var(--space-06);
        }
    }
}

@media screen and (min-width:601px) and (max-width: 990px){
    :root{
        --grid-nb-column:8;
        --grid-margin:32px;
        --grid-gutter:16px;
        --grid-gap: 16px;

        --folio-gap: 88px;
        --folio-grid-template-column: repeat(2, minmax(0, 1fr)) ;
        --folio-item-margin-bottom:- var(--folio-gap);
        --chapo-columns:2;

        --about-gap: 88px;
        --about-date-template-column:1 / span 2;
        --about-item-content-template-column:4 / -1;

        --wrapper-column: 1 / -1;
        --branding-column: 1 / 4;
        --social-column: 4 / -1;

        --main-space:128px;

        --column-left-main-left:1 / span 4;
        --column-left-main-right:5 / -1;

        --column-right-main-left:1 / span 4;
        --column-right-main-right:5 / -1;

        --column-egal-left: 1 / span 4;
        --column-egal-right:  5 / -1;
    }

    .wrapper-container{
        grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
        gap:var(--space-08);
    }

    .folio-list {
        & .folio-item:nth-of-type(even) {
            transform: translateY(var(--folio-gap));
        }
    }
}

@media screen and (max-width: 600px){

    :root{
        --grid-nb-column:4;
        --grid-margin:32px;
        --grid-gutter:16px;
        --grid-gap: 16px;

        --folio-gap: 40px;
        --folio-grid-template-column: 1fr ;
        --folio-item-margin-bottom:0;
        --chapo-columns:1;

        --about-gap: 40px;
        --about-date-template-column:1 / -1;
        --about-item-content-template-column:1 / -1;

        --wrapper-column: 1 / -1;
        --branding-column: 1 / -1;
        --social-column: 1 / -1;

        --main-space:80px;

        --column-left-main-left:1 / -1;
        --column-left-main-right:1 / -1;

        --column-right-main-left:1 / -1;
        --column-right-main-right:1 / -1;

        --column-egal-left: 1 / -1;
        --column-egal-right:  1 / -1;
    }

    .wrapper-container{
        grid-template-columns: subgrid;
        gap:var(--space-05);
    }

    .index-editorial-content{
        grid-column: 1 / -1;
    }

    .random-work {
        grid-column: 1 / -1;

        & .home-work {
            & .group-buttons {
                flex-direction: column;
                flex-wrap: wrap;

                & .button{
                    align-self: stretch;
                }

                & > a:nth-child(2){
                    flex: 0 0 auto;
                }
            }
        }
    }

    .folio-list {
        & .folio-item:nth-of-type(even) {
            transform: inherit;
        }
    }

    .radio-list {
        flex-direction: column;

        & .radio-option{
            align-self: auto;
            justify-content: left;
        }
    }

    .information-sheet .information-sheet-content li {
        gap: var(--space-01);
        color: var(--on-surface-mid);

        & .label{
            color:var(--on-surface);
        }
    }

    footer{
        & .social-list{
            justify-content: space-between;
        }
    }
}

@media screen and (max-width: 990px){

    .button-menu{
        height: 70px;
        display: flex;
        z-index: 99;
    }

    body:has(.menu-open){
        overflow:hidden;
    }

    nav{
        position: absolute;
        inset: 0;
        margin: auto;
        display: flex;
        align-items: center;
        justify-self: stretch;
        z-index: -1;

        & .menu-content{
            display: flex;
            flex-direction: column;
            align-items: center;
            width: 100%;
            transform: translateY(-100dvh);
            overflow: hidden;
            transition: all 0.2s;

            & li{
                display: flex;
                flex-direction: row;
                width: 100%;
                text-align: center;
            }
        }
    }

    .menu-open nav{
        z-index: 98;
    }

    header.menu-open{
        height: 100dvh;
        transition: all 0.2s;

        & .menu-content{
            height: 100dvh;
            transform: translateY(0dvh);
            transition: all 0.2s;
            background: rgb(from var(--surface) r g b / 90%);
            backdrop-filter: blur(5px);
        }
    }

    .related-works .list-related-works a > div:last-child::before{
        right: 0px;
    }

/* Folio Carousel*/

    .folio-carousel{
        & .folio-carousel-text-nav{
            grid-column: 1 / -1;
            grid-row: inherit;
        }
    }

}