body {
    & .heart-icn {
        position: relative;

        &::after {
            position: relative;
            width: 0;
            height: 0;
            content: '';
            padding: 0.4em;
            vertical-align: super;
            display: inline-block;
            background-color: var(--primary-clr);
            mask: url(/wp-content/uploads/2026/07/heart-2.svg) center / contain no-repeat;
        }
    }

    & #main:has(.sc-ban, .sc-actus) {
        position: relative;

        & .sc__title-highlight-no-border {
            font-family: inherit;
        }

        & .container {
            margin-inline: auto;
            width: min(1410px, 90vw);
            padding-block: min(5em, 10vw);
        }

        & .cliping {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            clip-path: inset(0rem round 0rem);
            background-color: var(--primary-clr);

            & img {
                position: absolute;
                width: 100%;
                height: 100%;
                max-width: initial;
                object-fit: cover;

                &:is(.cliping.filter &) {
                    opacity: .6;
                    filter: brightness(.7);
                }
            }

            &~* {
                position: relative;
                z-index: 1;
                color: var(--full-white-clr);

                & * {
                    color: inherit
                }
            }
        }

        & .sc-ban {
            position: relative;

            & .container {
                & .text {
                    position: relative;
                    line-height: 1.4;
                    width: min(810px, 100%);
                    font-size: clamp(min(20px, 6vw), 2vw, 20px);

                    & h1 {
                        font-weight: 700;
                        text-transform: uppercase;
                        font-family: var(--font-family-title);
                        font-size: clamp(min(70px, 10vw), 5vw, 120px);
                        line-height: var(--lh-100);
                    }

                    @media screen and (width >=1200px) {
                        & {
                            /* padding-top: min(11em, 15vw); */
                            padding-top: min(8.5em, 12vw);
                        }
                    }
                }
            }
        }

        & .sc-actus {
            position: relative;

            & .container {
                & .row {
                    display: flex;
                    flex-wrap: wrap;
                    gap: min(1em, 5vw) 5%;

                    & .text {
                        position: relative;
                        line-height: 1.4;
                        flex: 1 1 max(min(300px, 80vw), 50%);
                        font-size: clamp(min(20px, 6vw), 2vw, 20px);
                        display: flex;
                        flex-direction: column;
                        gap: 40px;

                        & h1 {
                            position: relative;
                            font-weight: 700;
                            max-width: max-content;
                            text-transform: uppercase;
                            font-family: var(--font-family-title);
                            font-size: clamp(min(70px, 10vw), 5vw, 120px);
                            line-height: var(--lh-100);

                            @media screen and (width >=1200px) {
                                &:is(body.page-id-629 &)::after {
                                    position: absolute;
                                    content: '';
                                    width: 150px;
                                    height: 99px;
                                    display: block;
                                    left: 70%;
                                    bottom: 90%;
                                    background: url(/wp-content/uploads/2026/07/miam.svg) center/contain no-repeat;
                                }
                            }
                        }
                    }

                    &>.picture {
                        flex: 1 1 max(min(300px, 80vw), 30%);

                        @media screen and (width >=1200px) {
                            & {
                                margin-bottom: calc(min(15em, 30vw) * -1);
                            }
                        }
                    }

                    @media screen and (width >=1200px) {
                        & {
                            /* padding-top: min(11em, 15vw); */
                            padding-top: min(11em, 13vw);
                        }
                    }
                }
            }
        }

        & .sc-breadcrumb {
            & .container {
                padding-block: min(2em, 5vw);
            }
        }

        & .sc-custom {
            position: relative;
            font-size: clamp(min(18px, 4.4vw), 1.5vw, 18px);

            & .fl-row-full-width {

                /* forms */
                & .ginput_container_radio,
                & .ginput_container_checkbox {
                    &>div {
                        display: grid;
                        row-gap: .5em;
                    }
                }

                & .gform_wrapper.gravity-theme {
                    & .gf_step_active {
                        & .gf_step_number {
                            background: var(--secondary-clr);
                            color: var(--base-clr);
                            border-color: var(--secondary-clr);
                            font-weight: 700;
                        }
                    }
                }

                & input {
                    &:not(:is(.qty-value, [type="radio"], [type="checkbox"], [type="submit"], [type=image], [type=file])) {
                        width: 100%;
                        line-height: 1
                    }

                    &:is([type="submit"], [type="button"]) {
                        -webkit-appearance: none;
                        appearance: none;
                        max-width: max-content;
                        text-transform: uppercase;
                        color: var(--full-white-clr);
                        letter-spacing: var(--lsp-3);
                        border-radius: var(--radius-5);
                        background-color: var(--primary-clr);
                        border: 1px solid var(--primary-clr);
                        font-family: var(--font-family-title);
                        font-size: clamp(var(--fs-20), 1.8vw, var(--fs-25));
                        padding-right: 2em;
                        background-size: .8em;
                        background-repeat: no-repeat;
                        background-position: calc(100% - 0.4em) center;
                        background-image: url(/wp-content/uploads/2026/07/send.svg);

                        &:is([type="submit"]) {}
                    }

                    &:is([type="radio"], [type="checkbox"]) {
                        margin: 0;
                        padding: 0;
                        outline: none;
                        flex: 0 0 auto;
                        width: min(1.5rem, 6vw);
                        height: min(1.5rem, 6vw);
                        accent-color: var(--secondary-clr);
                        border-color: var(--secondary-clr);

                        &[type="checkbox"] {
                            box-shadow: inset 0 0 0 1px var(--secondary-clr)
                        }

                        &[type="radio"]:not(:checked) {
                            appearance: none;
                            border-radius: 2rem;
                            border: 1px solid var(--secondary-clr)
                        }
                    }

                    &[type="date"] {
                        position: relative;
                        -webkit-appearance: none;
                        -moz-appearance: none;
                        appearance: none
                    }

                    &.gform_button[type="submit"] {
                        border: none;
                        display: block;
                        line-height: 1;
                        overflow: hidden;
                        border-radius: 5px;
                        white-space: nowrap;
                        transition: all .3s;
                        text-transform: uppercase;
                        font-weight: var(--fw-700);
                        color: var(--full-white-clr);
                        background-color: var(--primary-clr);
                        border: 1px solid var(--primary-clr);
                        font-family: var(--font-family-title);
                        font-size: clamp(var(--fs-20), 1.8vw, var(--fs-25));
                        padding: min(0.5em, 3vw) min(2em, 10vw) min(0.5em, 3vw) min(.6875em, 5vw);

                        &:hover {
                            color: var(--base-clr);
                            background-color: var(--secondary-clr);
                            border: 1px solid var(--secondary-clr);
                        }

                        /* text-shadow: calc((var(--lg) - min(.6875em,5vw) * 2.25) * -1) 0 0 transparent; */
                    }
                }

                & input:not(:is(.qty-value, [type="radio"], [type="checkbox"], [type="button"], [type="submit"], [type="image"])),
                & select,
                & textarea {
                    font-weight: 400;
                    color: var(--base-clr);
                    outline: none !important;
                    box-shadow: none !important;
                    border-radius: 5px !important;
                    /* color: var(--secondary-clr); */
                    font-family: 'Poppins', sans-serif;
                    height: min(50px, 13vw) !important;
                    border: 1px solid #EBE3C6 !important;
                    background-color: var(--full-white-clr) !important;
                    font-size: clamp(min(16px, 4vw), 1vw, 16px) !important;
                    padding: min(0.7em, 2.5vw) min(1em, 5vw) !important;

                    &:is([multiple="multiple"]) {
                        height: auto
                    }

                    &:is([type="file" i]) {
                        line-height: 1.6;

                        &::-webkit-file-upload-button {
                            position: relative;
                            padding: 0;
                            border: none;
                            font: inherit;
                            background: transparent;
                        }
                    }

                    &::-webkit-input-placeholder {
                        text-align: left;
                        font-style: normal;
                        font-weight: inherit;
                        color: hsl(from var(--base-clr) h s l / .3)
                    }

                    &::-moz-placeholder {
                        text-align: left;
                        font-style: normal;
                        font-weight: inherit;
                        color: hsl(from var(--base-clr) h s l / .3)
                    }

                    &::-ms-input-placeholder {
                        text-align: left;
                        font-style: normal;
                        font-weight: inherit;
                        color: hsl(from var(--base-clr) h s l / .3)
                    }

                    &::placeholder {
                        text-align: left;
                        font-style: normal;
                        font-weight: inherit;
                        color: hsl(from var(--base-clr) h s l / .3)
                    }

                    &:is(textarea) {
                        width: 100%;
                        resize: none;
                        font-family: inherit;
                        color: var(--base-clr);
                        height: min(200px, 30vw) !important
                    }
                }

                & label.gform-field-label {
                    color: var(--base-clr);
                }

                & label:not([class]):has(>input[type="radio"]),
                .accept {
                    position: relative;
                    display: flex;
                    column-gap: min(1rem, 3vw)
                }

                & .accept {
                    font-weight: 400;
                    line-height: 1.5;
                    font-size: min(14px, 4vws)
                }

                & .gfield {

                    &> :is(label, legend) {
                        font-weight: 700;
                        font-size: clamp(min(18px, 4vw), 1.2vw, 18px);

                        & span {
                            font-weight: 400;
                            font-size: clamp(min(18px, 4vw), 1.2vw, 18px)
                        }
                    }
                }

                /* carrousel gallerie */
                & .pp-image-carousel-wrapper {
                    & .pp-image-carousel {
                        & .swiper-slide {
                            & a {
                                display: block;
                            }

                            & .pp-carousel-image-container {
                                position: relative;
                                width: 100%;

                                & figure {
                                    position: relative;
                                    width: 100%;
                                    height: auto;
                                    overflow: hidden;
                                    aspect-ratio: 1/1;

                                    & img {
                                        position: relative;
                                        width: 100%;
                                        height: 100%;
                                        object-fit: cover;
                                        max-width: initial;
                                    }
                                }
                            }
                        }
                    }
                }

                /* arrows and dots */
                & :is(.swiper-pagination-bullet, .bx-pager-link) {
                    width: min(2rem, 5vw);
                    height: 6px;
                    border-radius: 5px;
                    border: none;
                    outline: none;
                    display: inline-block;
                    background: #D8D8D8 !important;

                    &:is(.swiper-pagination-bullet-active, .active) {
                        background: var(--primary-clr) !important;
                    }
                }

                & .fl-post-carousel:has(.fl-post-carousel-post) {
                    display: flex;
                    flex-direction: column-reverse;

                    & .fl-post-carousel-navigation {
                        position: relative;
                        top: 0;
                        left: 0;
                        right: 0;
                        z-index: 2;
                        margin-top: 0;
                        display: flex;
                        column-gap: 0.6em;
                    }
                }

                & .bx-controls {
                    bottom: inherit;
                    top: calc(100% + 1em);
                }

                & :is(.pp-swiper-button, .fl-content-ui-button):not(.bx-pager-link, .fl-accordion-button-icon) {
                    width: 0;
                    height: 0;
                    border-radius: 5px;
                    padding: min(1.4rem, 5vw);
                    color: var(--full-white-clr);
                    background-color: var(--primary-clr);

                    &:is(.fl-content-ui-button) {
                        position: relative;
                    }

                    &:is(.pp-swiper-button) {
                        transform: inherit;

                        &:is(.swiper-button-prev) {
                            position: absolute;
                            top: 40%;
                            left: 1em;

                            @media screen and (width >=1700px) {
                                & {
                                    left: -2.5em;
                                }
                            }
                        }

                        &:is(.swiper-button-next) {
                            position: absolute;
                            top: 40%;
                            right: 1em;
                            left: initial;

                            @media screen and (width >=1700px) {
                                & {
                                    right: -2.5em;
                                }
                            }
                        }
                    }

                    &:is([class*="prev"]) {
                        rotate: -180deg;
                    }

                    & * {
                        display: none;
                    }

                    &::before {
                        position: absolute;
                        content: '';
                        inset: 30%;
                        background-color: currentColor;
                        -webkit-mask: url(/wp-content/uploads/2026/07/arrow.svg) center/contain no-repeat;
                        mask: url(/wp-content/uploads/2026/07/arrow.svg) center/contain no-repeat;
                    }
                }

                /* Carrousel for post */
                & .bx-viewport:has(.fl-post-carousel-wrapper) {
                    height: auto !important;
                    filter: drop-shadow(0px 0px 20px #00000013);
                }

                & .fl-post-carousel-wrapper {
                    display: flex;

                    & .fl-post-carousel-post {
                        position: relative;
                        border: none;
                        height: inherit;

                        & .fl-post-carousel-link {
                            position: relative;
                            width: 100%;
                            height: 100%;
                            outline: none;
                            background-color: var(--base-clr);

                            & figure {
                                width: 100%;
                                height: min(500px, 80vw);

                                & .fl-photo-content {
                                    position: relative;
                                    height: 100%;
                                    overflow: hidden;

                                    &::after {
                                        position: absolute;
                                        content: '';
                                        inset: 0;
                                        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 47.86%, rgba(0, 0, 0, 0.8) 96.67%);
                                    }

                                    & img {
                                        position: relative;
                                        width: 100%;
                                        height: 100%;
                                        object-fit: cover;
                                        max-width: initial;
                                    }
                                }
                            }

                            & .fl-post-carousel-ratio {
                                flex: 1 1 auto;
                                height: min(300px, 50vw);
                                margin-bottom: auto;
                            }

                            & .fl-post-carousel-text-wrap {
                                left: 0;
                                bottom: 0;
                                opacity: 1;
                                padding: 0;
                                top: initial;
                                height: max-content;

                                & .fl-post-carousel-text {
                                    position: relative;
                                    top: 0;
                                    left: 0;
                                    height: 100%;
                                    display: flex;
                                    row-gap: 0.7em;
                                    text-align: left;
                                    transition: all .3s;
                                    flex-direction: column;
                                    padding: min(1.3em, 5vw);
                                    transform: initial !important;
                                    justify-content: space-between;

                                    &:is(.fl-post-carousel-link:hover &) {
                                        background-color: var(--full-white-clr);
                                    }

                                    & .fl-post-carousel-title {
                                        margin: 0;
                                        line-height: 1;
                                        font-weight: 700;
                                        transition: all .3s;
                                        text-transform: uppercase;
                                        font-family: var(--font-family-title);
                                        font-size: clamp(min(25px, 6vw), 2vw, 38px);
                                        display: -webkit-box;
                                        -webkit-line-clamp: 2;
                                        line-clamp: 2;
                                        -webkit-box-orient: vertical;
                                        box-orient: vertical;
                                        overflow: hidden;

                                        &:not(:is(.fl-post-carousel-link:hover &)) {
                                            color: contrast-color(currentColor);
                                        }
                                    }

                                    & .fl-post-carousel-meta {
                                        position: relative;
                                        opacity: 0;
                                        display: grid;
                                        row-gap: .7em;
                                        margin-bottom: -2em;
                                        transition: all .3s;

                                        &:is(.fl-post-carousel-link:hover &) {
                                            opacity: 1;
                                            margin-bottom: 0em;
                                        }

                                        & .fl-post-carousel-date {
                                            display: flex;
                                            column-gap: .3em;
                                            align-items: center;
                                            font-size: clamp(min(16px, 3.8vw), 1vw, 16px);
                                            font-family: 'Poppins', sans-serif;

                                            &::before {
                                                position: relative;
                                                content: "";
                                                padding: .6em;
                                                background-color: currentColor;
                                                mask: url(/wp-content/uploads/2026/07/calendar.svg) center / contain no-repeat;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                &:is(.listing-articles) {
                    & .fl-post-grid {
                        display: grid;
                        gap: min(2em, 5vw);
                        width: 100% !important;
                        height: auto !important;
                        grid-template-columns: repeat(auto-fill, minmax(max(min(300px, 80vw), 30%), 1fr));

                        &::before,
                        &::after {
                            content: none;
                        }

                        & article {
                            position: relative !important;
                            margin: 0;
                            width: auto;
                            border: none;
                            display: flex;
                            top: 0 !important;
                            left: 0 !important;
                            flex-direction: column;
                            background-color: var(--full-white-clr);

                            &>*:not(:is(.fl-post-grid-image, .fl-post-grid-text)) {
                                display: none;
                            }

                            & .fl-post-grid-image {
                                height: min(450px, 80vw);

                                & a {
                                    position: relative;
                                    width: 100%;
                                    height: 100%;
                                    display: block;
                                    overflow: hidden;

                                    & img {
                                        object-fit: cover;
                                        transition: all .3s;
                                        width: 100% !important;
                                        height: 100% !important;

                                        &:is(article:hover &) {
                                            scale: 1.05;
                                            rotate: -2deg;
                                        }
                                    }
                                }
                            }

                            & .fl-post-grid-text {
                                flex: 1;
                                display: flex;
                                flex-direction: column;
                                justify-content: space-between;

                                & .fl-post-grid-title {
                                    position: relative;
                                    font-weight: 700;
                                    border-radius: 5px;
                                    padding: 11px 10px;
                                    margin-inline: auto;
                                    max-width: max-content;
                                    text-transform: uppercase;
                                    margin-top: -50px !important;
                                    font-family: var(--font-family-title);
                                    background-color: var(--full-white-clr);
                                    font-size: clamp(var(--fs-20), 2vw, var(--fs-30));

                                    &::before {
                                        position: absolute;
                                        content: '';
                                        width: 103px;
                                        height: 32px;
                                        bottom: 80%;
                                        left: -5%;
                                        background-color: var(--secondary-clr);
                                        mask: url(/wp-content/uploads/2026/07/deco.svg) center/contain no-repeat;
                                    }

                                    & a {
                                        font: inherit;
                                    }
                                }

                                & .fl-post-grid-content {
                                    &>p {
                                        position: relative;
                                        display: -webkit-box;
                                        -webkit-line-clamp: 2;
                                        -webkit-box-orient: vertical;
                                        transition: 0.3s;
                                        overflow: hidden;
                                    }

                                    & .fl-post-grid-more {
                                        padding: 10px;
                                        max-width: 100%;
                                        margin-top: 2em;
                                        width: max-content;
                                        display: inline-flex;
                                        font-size: var(--fs-16);
                                        color: var(--base-clr);
                                        transition: opacity .3s;
                                        font-weight: var(--fw-600);
                                        line-height: var(--lh-100);
                                        background-color: var(--secondary-clr);
                                        border-radius: var(--radius-5);
                                        font-family: var(--font-family-primary);

                                        &::before {
                                            position: absolute;
                                            content: "";
                                            left: 50%;
                                            width: 100%;
                                            height: 1px;
                                            bottom: 4.5em;
                                            translate: -50% 0;
                                            background-color: #E7DEBD;
                                        }
                                    }
                                }
                            }
                        }
                    }

                    @media screen and (width >=1200px) {
                        & {
                            padding-top: min(5em, 10vw);
                        }
                    }
                }

                &:is(.blocs-2-white) {
                    & .fl-col-group:has(> .fl-col) {
                        & .fl-col:has(.fl-module-photo) {
                            & :is(.fl-col-content, .fl-module-photo, .fl-photo-content, img) {
                                height: 100%;
                            }

                            & .fl-module-photo {
                                position: relative;

                                & .fl-photo-content {
                                    position: relative;
                                    overflow: hidden;

                                    & img {
                                        position: relative;
                                        width: 100%;
                                        object-fit: cover;
                                        max-width: initial;
                                    }
                                }

                                @media screen and (width >=1200px) {
                                    & {
                                        margin: 0;
                                        padding: 0 min(2em, 5vw);
                                    }
                                }
                            }
                        }

                        @media screen and (width >=1200px) {
                            & {
                                display: flex;
                                flex-wrap: wrap;
                            }
                        }
                    }
                }

                &:is(.accordion-scection) {
                    &>.fl-row-content-wrap {
                        background-image: url(/wp-content/uploads/2026/07/ble-cereal.svg);
                        background-repeat: no-repeat;
                        background-position: 14% 10%;
                        background-size: 130px;
                    }
                }

                &:is(.ban-image-white-text) {
                    & .fl-row-content-wrap {
                        & .fl-row-content {
                            & .fl-rich-text {
                                & *:not(:is([class*="sc__btn"])) {
                                    color: var(--full-white-clr);
                                }

                                & .sc__f-title {
                                    line-height: 1;
                                }
                            }

                            @media screen and (width >=1200px) {
                                & {
                                    padding-block: min(5em, 10vw);
                                }
                            }
                        }
                    }
                }

                &:is(.crop-section) {
                    position: relative;
                    isolation: isolate;

                    &::before {
                        position: absolute;
                        content: '';
                        inset: 0;
                        z-index: 0;
                        display: block;
                        pointer-events: none;
                        background-color: #dae7dc;
                        border: 3px solid var(--tertiary-clr);
                        /* clip-path: inset(0 round 0rem); */
                    }

                    @media screen and (width >=1200px) {
                        &::before {
                            inset: calc(min(1em, 5vw) - 3px);
                            /* clip-path: inset(calc(min(1em,5vw) - 3px) round 0rem); */
                        }
                    }

                    &::after {
                        content: none;
                    }

                    /* & .fl-row-content-wrap {
                        position: relative;
                        z-index: 3;
                        clip-path: inset(3px round 0rem);
                        @media screen and (width >= 1200px) {
                            & {
                                clip-path: inset(min(1em,5vw) round 0rem);
                            }
                        }
                    } */
                }

                /* text */
                & .fl-rich-text {
                    display: grid;
                    row-gap: min(1em, 5vw);

                    &>p:not([class]) {
                        font-size: inherit;
                    }

                    &>* {
                        margin: 0
                    }

                    &>ul:not([class]) {
                        display: grid;
                        row-gap: min(.6em, 5vw);

                        & :is(li, ul) {
                            margin: 0
                        }

                        &>li {
                            &::before {
                                border-color: var(--primary-clr);
                                background-color: var(--primary-clr);
                            }

                            & ul {
                                display: grid;
                                row-gap: min(.6em, 5vw);
                                margin-top: min(.6em, 5vw);

                                &>li {
                                    &::before {
                                        border-color: currentColor;
                                    }
                                }
                            }
                        }
                    }
                }

                & .grid-img {
                    & .fl-col-content:has(.fl-module-photo) {
                        display: grid;
                        grid-template-columns: repeat(25, 1fr);
                        grid-template-rows: repeat(25, 1fr);
                        grid-column-gap: 0px;
                        grid-row-gap: 0px;

                        &>.fl-module-photo {
                            position: relative;
                            height: auto;

                            &:is(:nth-child(1)) {
                                aspect-ratio: 1/1;
                                grid-area: 1 / 1 / 20 / 18;
                            }

                            &:is(:nth-child(2)) {
                                aspect-ratio: 1/1.3;
                                grid-area: 7 / 13 / 26 / 26;
                                box-shadow: -10px -10px 0px 0px #dae6dc;
                            }

                            & .fl-photo-content {
                                position: relative;
                                width: 100%;
                                height: 100%;
                                overflow: hidden;

                                & img {
                                    position: relative;
                                    width: 100%;
                                    height: 100%;
                                    object-fit: cover;
                                    max-width: initial;
                                }
                            }
                        }
                    }
                }

                & .text-bloc-white {
                    position: relative;
                    padding: min(2em, 5vw);
                    border-radius: min(10px, 5vw);
                    background-color: var(--full-white-clr);
                }

                /* accordion */
                & .fl-accordion-item {
                    position: relative;
                    display: grid;
                    margin-bottom: 1em;
                    border-radius: 5px;
                    transition: all .3s;
                    background-color: var(--full-white-clr);
                    border: 1px solid var(--full-white-clr);


                    & .fl-accordion-button {
                        /* padding: 0; */
                        padding: min(1rem, 3vw) min(1rem, 3vw) min(1rem, 3vw) min(2rem, 5vw);
                        display: flex;
                        cursor: pointer;
                        font-weight: 700;
                        color: #000000;
                        align-items: center;
                        column-gap: min(20px, 5vw);
                        justify-content: space-between;
                        font-family: 'Popins', sans-serif;
                        background: transparent !important;
                        font-size: clamp(min(20px, 5vw), 1.2vw, 20px);

                        & .fl-accordion-button-icon {
                            display: block;
                            flex: 0 0 auto;
                            aspect-ratio: 1/1;
                            transition: all .3s;
                            width: min(20px, 3vw);
                            opacity: 1 !important;
                        }
                    }

                    & .fl-accordion-content {
                        padding-inline: min(2rem, 5vw) min(1rem, 3vw);
                    }
                }

                /*  col-text-image */

                &:is(.col-text-image) {
                    & .fl-col-group:has(> .fl-col) {
                        & .fl-col:has(.fl-module-photo) {
                            & :is(.fl-col-content, .fl-module-photo, .fl-photo-content, img) {
                                height: 100%;
                            }

                            & .fl-module-photo {
                                position: relative;

                                &:not(.has-no-shadow) {
                                    box-shadow: -10px -10px 0px 0px var(--parchment-clr);
                                }

                                & .fl-photo-content {
                                    position: relative;
                                    overflow: hidden;

                                    & img {
                                        position: relative;
                                        width: 100%;
                                        object-fit: cover;
                                        max-width: initial;
                                    }
                                }
                            }
                        }

                        @media screen and (width >=1200px) {
                            & {
                                display: flex;
                                flex-wrap: wrap;
                            }
                        }
                    }

                }

                &:is(.content-grid-listing-articles) {
                    & .fl-col-group:has(>.fl-col) {
                        display: grid;
                        gap: min(2em, 5vw);
                        margin-inline: auto;
                        height: auto !important;
                        width: min(100%, 90vw) !important;
                        grid-template-columns: repeat(auto-fill, minmax(max(min(300px, 80vw), 30%), 1fr));

                        &::before,
                        &::after {
                            content: none;
                        }

                        & .fl-col {
                            float: none;
                            margin: 0;
                            width: auto !important;

                            & .fl-module-photo {
                                flex: 0 0 auto;
                                height: min(450px, 80vw);

                                & .fl-photo-content {
                                    overflow: hidden;
                                    width: 100%;
                                    height: min(450px, 80vw);

                                    & img {
                                        border-radius: 0;
                                        object-fit: cover;
                                        transition: all .3s;
                                        width: 100% !important;
                                        height: 100% !important;

                                        &:is(.fl-col:hover &) {
                                            scale: 1.05;
                                            rotate: -2deg;
                                        }
                                    }
                                }
                            }

                            & .fl-col-content {
                                height: 100%;

                                &>.fl-module {
                                    position: relative;
                                    gap: 5px;
                                    margin: 0;
                                    z-index: 1;
                                    padding: 0;
                                    height: 100%;
                                    display: flex;
                                    flex-direction: column;
                                    background: var(--full-white-clr);

                                    &::before,
                                    &::after {
                                        content: none;
                                    }

                                    & .fl-module-content {
                                        position: relative;
                                        margin: 0;
                                        height: 100%;
                                        overflow: visible;

                                        & .fl-callout {
                                            height: 100%;

                                            & .fl-callout-content {
                                                height: 100%;
                                                display: flex;
                                                flex-direction: column;

                                                & .fl-callout-title {
                                                    position: relative;
                                                    font-weight: 700;
                                                    max-width: max-content;
                                                    text-transform: uppercase;
                                                    font-family: var(--font-family-title);
                                                    background-color: var(--full-white-clr);
                                                    font-size: clamp(var(--fs-20), 2vw, var(--fs-30));
                                                    margin-top: -50px !important;
                                                    border-radius: 5px;
                                                    padding: 11px 10px;
                                                    margin-inline: auto;

                                                    & * {
                                                        font: inherit
                                                    }

                                                    &::before {
                                                        position: absolute;
                                                        content: '';
                                                        width: 103px;
                                                        height: 32px;
                                                        bottom: 80%;
                                                        left: -5%;
                                                        background-color: var(--secondary-clr);
                                                        mask: url(/wp-content/uploads/2026/07/deco.svg) center/contain no-repeat;
                                                    }
                                                }

                                                & .fl-callout-text-wrap {
                                                    position: relative;
                                                    flex: 1;
                                                    display: flex;
                                                    padding: 20px 0;
                                                    flex-direction: column;
                                                    justify-content: space-between;

                                                    & .fl-callout-text {
                                                        display: flex;
                                                        justify-content: center;
                                                        border-bottom: 1px solid #E7DEBD;

                                                        & p {
                                                            position: relative;
                                                            max-width: 90%;
                                                            display: -webkit-box;
                                                            -webkit-line-clamp: 2;
                                                            -webkit-box-orient: vertical;
                                                            transition: 0.3s;
                                                            overflow: hidden;
                                                            padding-bottom: 19px !important;
                                                        }

                                                    }

                                                    & .fl-callout-cta-link {
                                                        padding: 10px;
                                                        max-width: 100%;
                                                        margin-top: 1.4em;
                                                        width: max-content;
                                                        margin-inline: auto;
                                                        display: inline-flex;
                                                        font-size: var(--fs-16);
                                                        color: var(--base-clr);
                                                        transition: opacity .3s;
                                                        font-weight: var(--fw-600);
                                                        line-height: var(--lh-100);
                                                        background-color: var(--secondary-clr);
                                                        border-radius: var(--radius-5);
                                                        font-family: var(--font-family-primary);
                                                    }
                                                }
                                            }
                                        }
                                    }

                                    &>.fl-module {
                                        flex: 1;
                                        width: 100%;
                                        margin-inline: auto;
                                    }
                                }
                            }
                        }
                    }

                    @media screen and (width >=1200px) {
                        & .fl-row-content-wrap {
                            padding-top: min(5em, 10vw);
                        }
                    }
                }
            }
        }

        @media screen and (width >=1200px) {
            & {
                /* margin-top: -12em; */
                margin-top: -14em;
            }
        }
    }

    & .sc__s5-left {
        & .text {
            & ul {
                color: inherit;

                & * {
                    color: inherit;
                }
            }
        }
    }

    & .single-product {
        & .summary {
            & .woocommerce-product-details__short-description {
                * {
                    font: inherit;
                    color: inherit;
                }
            }
        }
    }

    & ul.products li.product .related-products__excerpt.sc__produc-excerpt strong {
        display: initial;
    }

    @media screen and (width >=1200px) {
        &:is(.single-product) {
            &.woocommerce {
                & .product {
                    & .title-product.mob {
                        display: none !important;
                    }
                }
            }
        }
    }

    @media screen and (width < 1200px) {
        &:is(.tax-product_cat) {
            .sc__archive-header {
                .sc__archive-header__image {
                    display: none;
                }
            }
        }

        .sc-actus {
            .container {
                .row {
                    &>.picture {
                        display: none;
                    }
                }
            }
        }

        #main:has(.sc-ban, .sc-actus) {
            .sc__page-header__image {
                display: none !important;
            }
        }

        &:is(.single-product) {
            &.woocommerce {
                & .product {
                    flex-wrap: wrap;

                    & .summary {
                        background-color: var(--full-white-clr);
                        padding-block-start: 20px !important;
                    }

                    & .woocommerce-product-gallery,
                    & .summary {
                        padding-inline: 1em;
                        flex: 1 1 max(min(300px, 80vw), 40%);

                        &:is(.woocommerce-product-gallery) {
                            margin-top: 0;

                            & .flex-viewport,
                            & .woocommerce-product-gallery__wrapper,
                            & .woocommerce-product-gallery__image {
                                height: min(400px, 70vw) !important;
                                overflow: hidden;

                                &>a {
                                    position: relative;
                                    display: block !important;

                                    & img {
                                        position: relative !important;
                                        object-fit: cover;
                                        height: 100% !important;
                                        width: 100% !important;
                                        max-height: initial !important;
                                        max-width: initial !important;
                                    }
                                }

                                &>img {
                                    display: none;
                                }
                            }

                            & ol.flex-control-nav.flex-control-thumbs {
                                position: relative;
                                width: 100vw;
                                display: flex;
                                margin-left: -1em;
                                flex-wrap: wrap;
                                text-align: center;
                                overflow-y: hidden;
                                overflow-x: scroll;
                                padding-inline: 1em;
                                scrollbar-width: none;
                                gap: min(0.5em, 5vw);
                                scroll-behavior: smooth;
                                scroll-snap-type: x mandatory;
                                scrollbar-color: transparent transparent;

                                & li {
                                    margin: 0;
                                    padding: 0;
                                    flex: 0 0 auto;
                                    width: min(110px, 28vw) !important;

                                    & img {
                                        opacity: 1;
                                        height: 100%;
                                        object-fit: cover;
                                    }
                                }
                            }
                        }
                    }

                    & .product_title.desk {
                        display: none !important;
                    }

                    & .woocommerce-variation-add-to-cart {
                        flex-wrap: wrap;
                        row-gap: min(1em, 5vw);
                    }

                    & .title-product.mob {
                        text-align: left;
                        color: var(--base-clr);
                        line-height: var(--lh-100);
                        font-weight: var(--fw-700);
                        text-transform: uppercase;
                        padding-inline: min(1rem, 1em);
                        font-family: var(--font-family-title);
                        margin-block: min(2em, 10vw) min(2em, 7vw);
                        font-size: clamp(min(60px, 15vw), 7vw, 100px);
                    }

                    & .custom-swatches {
                        gap: min(0.7em, 5vw);
                    }
                }

                & .related-recipes {
                    & .related-recipes__card {
                        flex-wrap: wrap;

                        &>* {
                            flex: 1 1 max(min(300px, 80vw), 100%);
                        }
                    }

                    & .related-recipes__title {
                        font-size: clamp(min(80px, 15vw), 7vw, 100px) !important;
                    }
                }

                & section.related.products {
                    &>h2 {
                        margin-bottom: min(2em, 5vw);
                        font-size: clamp(min(80px, 15vw), 7vw, 100px) !important
                    }

                    & .products {
                        & h2 {
                            font-size: clamp(min(20px, 7vw), 2vw, 30px) !important
                        }
                    }
                }
            }

            & ul.tabs.wc-tabs {
                display: none;
            }

            & .related-recipes {
                & .recipes-inner {
                    flex-wrap: wrap;
                    row-gap: min(2em, 10vw);

                    & .related-recipes__list,
                    & .related-recipes__intro {
                        flex: 1 1 max(min(300px, 80vw), 40%);
                    }

                    & .related-recipes__list {
                        display: flex;
                        flex-wrap: wrap;
                        justify-content: center;
                        flex-direction: inherit;
                        gap: min(2em, 10vw) min(1em, 5vw);
                    }
                }
            }

            & .related.products {
                & .products {
                    position: relative;
                    overflow: hidden;
                    width: min(1410px, 90vw);
                    margin-inline: auto;

                    display: flex;
                    flex-wrap: wrap;
                    justify-content: center;
                    flex-direction: inherit;
                    gap: min(2em, 10vw) min(1em, 5vw);

                    & .product {
                        max-width: 90vw;
                    }
                }
            }

            & .slick-slider {

                &>.slick-list {
                    order: 1;
                    flex: 1 1 100%;

                    & .slick-track {
                        display: flex;

                        &::before,
                        &::after {
                            content: none;
                        }

                        & .swiper-slide {
                            height: auto;
                        }
                    }
                }

                & .slick-arrow {
                    position: relative;
                    top: 0;
                    width: 0;
                    height: 0;
                    z-index: 1;
                    right: inherit;
                    left: inherit;
                    flex: 0 0 auto;
                    transform: inherit;
                    border-radius: 5px;
                    padding: min(1.4rem, 5vw);
                    color: var(--full-white-clr);
                    background-color: var(--primary-clr);

                    &:is(.slick-prev) {
                        order: 2;
                        rotate: -180deg;
                    }

                    &:is(.slick-next) {
                        order: 3;
                    }

                    &::before {
                        position: absolute;
                        content: '';
                        inset: 30%;
                        background-color: currentColor;
                        -webkit-mask: url(/wp-content/uploads/2026/07/arrow.svg) center/contain no-repeat;
                        mask: url(/wp-content/uploads/2026/07/arrow.svg) center/contain no-repeat;
                    }
                }
            }

            & .sc__prd-footer-bandeau {
                .sc__prd-footer-bandeau-inner {
                    display: flex;
                    flex-wrap: wrap;
                    row-gap: min(1em, 5vw);

                    & .sc__img-wrapper,
                    & .sc__content-text {
                        flex: 1 1 max(min(300px, 80vw), 40%);
                    }

                    & .sc__title {
                        font-size: clamp(min(60px, 10vw), 7vw, 100px) !important;
                    }
                }
            }

            & div#main {
                &::before {
                    width: 100%;
                }
            }

            & .sc__faq {
                & .sc__faq-content {
                    width: min(984px, 100%);
                }

                & .sc__faq-title {
                    display: block;
                    max-width: 90%;
                    margin-inline: auto;
                }
            }

            & .woocommerce-tabs {
                &>* {
                    &:is(.woocommerce-Tabs-panel) {
                        padding: min(2em, 5vw) !important;
                    }
                }
            }

            /* & .woocommerce-product-gallery {
                & .flex-viewport {
                    height: max-content;
                    & .flex-viewport {
                        height: max-content;
                        & .woocommerce-product-gallery__wrapper {
                            height: max-content;
                            & .woocommerce-product-gallery__image {
                                &:first-child {
                                    
                                }
                            }
                        }
                    }
                }
            } */
        }
    }
}