@layer init, third-party, variables, reset, core, structure, components, utility;

@font-face {    
    font-family: 'Oswald';
    src: url('../fonts/Oswald-Variable.woff2') format('woff2');
    font-weight: 300 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Oswald-fallback";
    src: local("Arial");
    size-adjust: 80%;
    ascent-override: 147%;
    descent-override: 36%;
    line-gap-override: normal;
}

@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter-Variable.woff2') format('woff2');
    font-weight: 300 700;
    font-style: normal;
    font-display: optional;
}

@font-face {
    font-family: "Inter-fallback";
    src: local("Arial");
    size-adjust: 101%;
    ascent-override: normal;
    descent-override: 20%;
    line-gap-override: normal;
}

@font-face {
	font-family: 'inodia-icons';
	src: url('../fonts/inodia-icons.woff2');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

@layer utility {

    .sr-only,
    .bouton.icon span span {
        position: absolute;
        inset: -10000em auto auto auto;
        inline-size: 1px;
        block-size: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0,0,0,0);
        border: 0;
    }

    .skip-link {
        --_btn-color: var(--alert-info-color);
        background: var(--_btn-color);
        color: var(--background-color);
        inline-size: 100%;
        text-decoration: underline;
        padding-block: var(--spacing-4xs);
        padding-inline: var(--spacing-3xs);
        position: absolute;
        inset-block-start: 0;
        inset-inline-start: 0;
        z-index: 50000;
    }

    .skip-link::after {
        display: none;
    }

    .skip-link:not(:focus-visible) {
        translate: 0 -150%;
    }

    .form-wrapper:has(input)::before {
        font-size: var(--text-size-small);
        opacity: 0;
    }

    form:not(.login-form) .form-wrapper:has(input:user-valid, input:user-invalid)::before {
        opacity: 1;
    }

    form:not(.login-form) .form-wrapper:has(input:user-valid)::before {
        content: "\e90b";
        color: var(--alert-success-color);
    }

    form:not(.login-form) .form-wrapper:has(input:user-invalid)::before {
        content: "\e90a";
        color: var(--alert-danger-color);
    }

    form:not(.login-form) .form-wrapper input:user-valid {
        border-color: var(--alert-success-color);
    }

    .form-control.is-invalid,
    form:not(.login-form) .form-wrapper input:user-invalid {
        border-color: var(--alert-danger-color);
    }

    form:not(.login-form) .form-wrapper input:user-valid:focus {
        --_input-focus-shadow-color: oklch(from var(--alert-success-color) l c h / .1);
    }

    .form-control.is-invalid:focus,
    form:not(.login-form) .form-wrapper input:user-invalid:focus {
        --_input-focus-shadow-color: oklch(from var(--alert-danger-color) l c h / .1);
    }

    :is(.alert, .wpcf7-response-output) {
        background: oklch(from var(--_alert-color) l c h / .1);
        border: var(--border-width) solid oklch(from var(--_alert-color) l c h / .15);
        border-radius: clamp(0rem, var(--border-radius) / 2, .5rem);
        color: var(--_alert-color);
        outline-color: var(--_alert-color);
        padding-block: var(--spacing-2xs);
        padding-inline: calc(var(--spacing-2xs) * 2);
    }

    :is(.alert, .wpcf7-response-output),
    :is(.alert, .wpcf7-response-output) * {
        font: var(--text-weight-medium) var(--text-size-small)/1.3 var(--font-text);
    }

    :is(.alert, .wpcf7-response-output) * {
        color: inherit;
    }

    .alert-danger {
        --_alert-color: var(--alert-danger-color);
    }

    .alert-warning {
        --_alert-color: var(--alert-warning-color);
    }

    .alert-success {
        --_alert-color: var(--alert-success-color);
    }

    .alert-info {
        --_alert-color: var(--alert-info-color);
    }

    .alert a:not(:hover, :active) {
        text-decoration: underline;
    }

    @media only screen and (hover: hover) and (pointer: fine) {
        
        .alert a:hover {
            color: var(--text-color);
        }

        .alert a:active {
            color: var(--title-color);
        }
    }

    @media only screen and (hover: none) and (pointer: coarse) {

        .alert a:active {
            color: var(--text-color);
        }
    }
    
    :is(.bouton:disabled, input[type=submit][disabled="disabled"].bouton),
    :is(.bouton:disabled, input[type=submit][disabled="disabled"].bouton):is(:hover, :active) {
        background: var(--shadow-color);
        border-color: transparent;
        color: var(--muted-color);
        cursor: not-allowed;
    }

    .wpcf7-not-valid-tip {
        color: var(--alert-danger-color);
    }

    .wpcf7-display-none {
        display: none;
    }

    @container viewport (70rem < inline-size) {

        .show-inodia-tablet {
            display: none;
        }
    }

    @container viewport (inline-size <= 70rem) {

        .hide-inodia-tablet {
            display: none;
        }
    }

    @container viewport (45rem < inline-size) {
        
        .show-inodia-mobile {
            display: none;
        }
    }

    @container viewport (inline-size <= 45rem) {

        .hide-inodia-mobile {
            display: none;
        }
    }

    @container viewport (inline-size <= 36rem) {
        
        .alert {
            padding-inline: var(--spacing-xs);
        }
    }

    @container viewport (inline-size <= 30rem) {

        .alert:not(:last-child) {
            margin-block-end: var(--spacing-2xs);
        }
        
        .alert, 
        .alert :is(a, p, li, span) {
            font-size: var(--text-size-small);
        }
    }
}

@layer init {

    *, ::after, ::before {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
    }
}

@layer third-party {

    [hidden] {
        display: none !important;
    }
    @-webkit-keyframes spinner-border {
        to {
            transform: rotate(1turn);
        }
    }
    @keyframes spinner-border {
        to {
            transform: rotate(1turn);
        }
    }
    .spinner-border {
        -webkit-animation: spinner-border .75s linear infinite;
        animation: spinner-border .75s linear infinite;
        border: .25em solid;
        border-radius: 50%;
        border-inline-end: .25em solid transparent;
        display: inline-block;
        block-size: 2rem;
        vertical-align: text-bottom;
        inline-size: 2rem;
    }
    .spinner-border-sm {
        border-width: .2em;
        block-size: 1rem;
        inline-size: 1rem;
    }
    @-webkit-keyframes spinner-grow {
        0% {
            transform: scale(0);
        }
        50% {
            opacity: 1;
            transform: none;
        }
    }
    @keyframes spinner-grow {
        0% {
            transform: scale(0);
        }
        50% {
            opacity: 1;
            transform: none;
        }
    }
    .spinner-grow {
        -webkit-animation: spinner-grow .75s linear infinite;
        animation: spinner-grow .75s linear infinite;
        background-color: currentColor;
        border-radius: 50%;
        display: inline-block;
        block-size: 2rem;
        opacity: 0;
        vertical-align: text-bottom;
        inline-size: 2rem;
    }
    .spinner-grow-sm {
        block-size: 1rem;
        inline-size: 1rem;
    }
    @media (prefers-reduced-motion: reduce) {
        :is(.spinner-border, .spinner-grow) {
            -webkit-animation-duration: 1.5s;
            animation-duration: 1.5s;
        }
    }
    .visible {
        visibility: visible !important;
    }
    .invisible {
        visibility: hidden !important;
    }
    :is(.swiper, .swiper-inodia) {
        margin-inline: auto;
        overflow: hidden;
        position: relative;
        z-index: 1;
    }
    .swiper-wrapper {
        box-sizing: content-box;
        display: flex;
        inline-size: 100%;
        block-size: 100%;
        position: relative;
        transition-property: transform;
        z-index: 1;
    }
    .swiper-android .swiper-slide,
    .swiper-wrapper {
        transform: translateZ(0);
    }
    .swiper-pointer-events {
        touch-action: pan-y;
    }
    .swiper-pointer-events.swiper-vertical {
        touch-action: pan-x;
    }
    .swiper-slide {
        flex-shrink: 0;
        block-size: 100%;
        position: relative;
        transition-property: transform;
        inline-size: 100%;
    }
    .swiper-backface-hidden .swiper-slide {
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        transform: translateZ(0);
    }
    .swiper-button-lock {
        display: none;
    }
    .swiper-pagination {
        text-align: center;
        transform: translateZ(0);
        transition: opacity .3s;
    }
    .swiper-pagination.swiper-pagination-hidden {
        opacity: 0;
    }
    .swiper-pagination-bullet {
        border-radius: 50%;
        display: inline-block;
        block-size: .5rem;
        inline-size: .5rem;
    }
    .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
        opacity: .2;
    }
    .swiper-pagination-bullet:only-child {
        display: none !important;
    }
    :where(.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets) {
        inset-inline-end: .5rem;
        inset-block-start: 50%;
        transform: translate3d(0, -50%, 0);
    }
    :where(.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets) .swiper-pagination-bullet {
        display: block;
    }
    :is(.swiper-pagination-lock, .dropdown-menu, .modal) {
        display: none;
    }
    :is(.cart-loader, .page-loader) {
        background: oklch(from var(--background-color) l c h / .5);
        display: none;
        align-items: center;
        justify-content: center;
        inset: 0;
    }
    .cart-loader {
        position: absolute;
        z-index: 10;
    }
    .page-loader {
        position: fixed;
        z-index: 1001;
    }
    .cart-loading .cart-loader,
    .page-loader-active .page-loader {
        display: flex;
    }
    .modal-open .modal {
        overflow-x: hidden;
        overflow-y: auto;
    }
    .modal {
        block-size: 100%;
        inline-size: 100%;
        overflow: hidden;
        position: fixed;
        inset-block-start: 0;
        inset-inline-start: 0;
        z-index: 2050;
    }
    .modal-dialog {
        pointer-events: none;
        position: relative;
        inline-size: auto;
    }
    .modal.fade .modal-dialog {
        transform: translateY(-50px);
        transition: transform .3s ease-out;
    }
    @media (prefers-reduced-motion: reduce) {
        .modal.fade .modal-dialog {
            transition: none;
        }
    }
    .modal.show .modal-dialog {
        transform: none;
    }
    .modal-content {
        display: flex;
        flex-direction: column;
        pointer-events: auto;
        position: relative;
        inline-size: 100%;
    }
    .modal-backdrop {
        block-size: 100vh;
        inset-inline-start: 0;
        position: fixed;
        inset-block-start: 0;
        inline-size: 100vw;
        z-index: 2040;
    }
    .modal-backdrop.fade {
        opacity: 0;
    }
    .modal-header {
        padding: 1rem;
    }
    .modal-body {
        flex: 1 1 auto;
        padding: 1rem;
        position: relative;
    }
    .modal-footer {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }
    .modal-fullscreen {
        padding: 0 !important;
    }
    .modal-fullscreen .modal-dialog {
        block-size: 100%;
        margin: 0;
        max-inline-size: none;
        inline-size: 100vw;
    }
    .modal-fullscreen .modal-content {
        border: 0;
        border-radius: 0;
        block-size: 100%;
    }
    .modal-fullscreen .modal-body {
        overflow-y: auto;
    }
    .modal .modal-dialog-aside {
        block-size: 100%;
        margin: 0;
        transform: translate(0);
        transition: transform .3s ease-in-out;
        inline-size: 100%;
    }
    .modal .modal-dialog-aside .modal-content {
        border: 0;
        border-radius: 0;
        block-size: inherit;
    }
    .modal .modal-dialog-aside .modal-content .modal-body {
        overflow-y: auto;
    }
    .modal.fixed-right .modal-dialog-aside {
        margin-inline-start: auto;
        transform: translateX(100%);
    }
    .modal.fixed-left .modal-dialog-aside {
        margin-inline-end: auto;
        transform: translateX(-100%);
    }
    .modal.show .modal-dialog-aside {
        transform: translateX(0);
    }
}

@layer reset {
    
    @view-transition {
        navigation: auto;
    }

    ::-webkit-scrollbar {
        background: var(--background-color);
        inline-size: 8px;
        block-size: 8px;
    }

    ::-webkit-scrollbar-thumb {
        background: var(--primary-color);
        border-radius: calc(var(--border-radius) / 4);
    }

    ::selection {
        background: var(--primary-hover-color);
        color: var(--background-color);
    }

    html:has(body.light-scheme-color),
    body:is(.light-scheme-color:not(.dark-default), .dark-scheme-color:not(.light-default)) .clair,
    body.dark-scheme-color.light-default .fonce {
        color-scheme: light;
    }

    html:has(body.dark-scheme-color),    
    body:is(.dark-scheme-color:not(.light-default), .light-scheme-color:not(.dark-default)) .fonce,    
    body.light-scheme-color.dark-default .clair {    
        color-scheme: dark;
    }

    html {
        block-size: auto;
        min-block-size: fill-available;
        min-block-size: -webkit-fill-available;
        scroll-padding: var(--spacing-lg);
        container: viewport / inline-size;
        scrollbar-gutter: stable;
    }
    
    @media (prefers-reduced-motion: no-preference) {

        html {
            scroll-behavior: smooth;
        }
    }

    @-moz-document url-prefix() {
        
        html {
            scrollbar-color: var(--primary-color) var(--background-color);
            scrollbar-width: thin;
        }
    }

    body {
        text-wrap: pretty;
        inline-size: 100%;
        block-size: auto;
        max-inline-size: 100%;
        min-block-size: 100vh;
        min-block-size: fill-available;
        min-block-size: -webkit-fill-available;
        position: relative;
        margin: 0;
    }

    .wrapper-body {
        display: flex;
        flex-flow: column;
        min-block-size: 100vh;
        overflow: clip;
    }
    
    main {
        flex-grow: 1;
    }

    :is(p, li, dt, dd, span, small, strong, address) {
        color: var(--text-color);
        font-family: var(--font-text);
    }

    :is(p, li, span, strong) {
        line-height: var(--line-height);
    }

    :is(p, li, dt, span, small, address) {
        font-weight: var(--text-weight-normal);
        letter-spacing: var(--letter-spacing);
        hanging-punctuation: first last;
    }
    
    .elementor-blockquote__content {
        font-weight: var(--text-weight-normal);
        font-style: italic;
        margin-block-start: 0;
    }

    .elementor-testimonial-content {
        color: var(--text-color);
        font: italic var(--text-weight-normal) var(--text-size-big)/1.3 var(--font-text);
        text-wrap: balance;
    }

    .elementor-testimonial-name {
        color: var(--title-color);
        font: var(--text-weight-medium) var(--text-size-normal)/1 var(--font-title);
        text-transform: uppercase;
    }
    
    :is(b, dd, strong) {
        color: var(--strong-color);
        font-weight: var(--text-weight-bold);
    }

    p:not(:last-child, .h2, .h3, .h4, .label, .no-margin, :has(+ .modal)) {
        margin-block-end: var(--spacing-xs);
    }

    :where(p:not(.h2, .h3, .h4, .label), .alert):last-child {
        margin-block-end: 0;
    }

    p.rgpd {
        font-size: var(--text-size-small);
        margin-block-end: var(--spacing-md);
    }
    
    small {
        color: var(--muted-color);
        font-size: var(--text-size-small);
        line-height: 1.3;
    }

    sup {
        color: var(--alert-danger-color);
        font: inherit;
        position: static;
        vertical-align: super;
    }

    hr {
        border-block-start: var(--border-width) solid var(--outline-color);
        margin-block: var(--spacing-sm);
    }

    li {
        list-style: none;
    }
    
    button {
        all: unset;    
        box-sizing: border-box;
        text-align: center;
    }

    :is(a, input, button, select, textarea) {
        outline: none;
        transition: var(--transition-default);
    }

    :is(a, button, select, input[type=submit], input[type=radio], input[type=file]),
    .elementor-widget-form .elementor-field-type-checkbox,
    .elementor-widget-form .elementor-field-type-checkbox label {
        appearance: none;
        cursor: pointer;
        touch-action: manipulation;
    }

    a {
        text-decoration: none;
    }

    a[href^="tel:"] {
        white-space: nowrap;
    }

    iframe {
        border: none;
    }
    
    address {
        font-style: normal;
        line-height: 1.3;
    }

    :is(a, button, input[type=submit]):focus-visible,
    .custom-radio:has(input:focus-visible),
    .custom-checkbox input[type=checkbox]:focus-visible + span {
        outline: var(--outline-width) solid var(--secondary-color);
        outline-offset: calc(var(--outline-width) * 2);
    }

    :is(a, button, input[type=submit]):focus:not(:focus-visible) {
        outline: none;
    }
    
    :is(a, button) > i,
    :is(a, button) > span {
        color: inherit;
    }

    input[type=file]:focus {
        border: none;
    }

    input[type=search]::-webkit-search-decoration,
    input[type=search]::-webkit-search-cancel-button,
    input[type=search]::-webkit-search-results-button,
    input[type=search]::-webkit-search-results-decoration,
    input[type=number]::-webkit-inner-spin-button {
        appearance: none;
    }
    
    :is(input, textarea):focus {
        box-shadow: none;
        outline: none;
    }

    :is(input, textarea)::placeholder {
        color: var(--muted-color);
    }

    textarea {
        resize: vertical;
        overscroll-behavior: contain;
    }    

    :is(.elementor-field-type-checkbox, .elementor-field-type-radio) .elementor-field-subgroup {
        display: flex;
        flex-flow: row wrap;
        gap: calc(var(--spacing-2xs) * 2) var(--spacing-2xs);
    }
    
    :is(.elementor-field-type-checkbox, .elementor-field-type-radio) .elementor-field-option {
        display: table;
    }

    :is(.label-hide, .grecaptcha-badge) {
        display: none;
    }

    .label-hide-radio {
        display: none !important;
    }
    
    label.radio-inline {
        display: flex;
        align-items: center;
        gap: var(--spacing-3xs);
    }

    label.radio-inline .custom-radio + small {
        color: var(--text-color);
        font-weight: var(--text-weight-medium);
    }

    :is(.custom-radio, .custom-checkbox) {
        position: relative;
    }

    :is(.custom-radio, .custom-checkbox) small {
        color: var(--text-color);
    }
    
    :where(.custom-radio, .custom-radio > span) { 
        border-radius: 50%;       
        inline-size: var(--text-size-normal);
        block-size: var(--text-size-normal);
    }

    .custom-radio {
        border: var(--border-width) solid var(--border-color);
        inline-size: 1rem;
        block-size: 1rem;
        transition: all .15s ease-in-out;
    }

    .custom-radio::before,
    .custom-radio > * {
        inline-size: calc(100% + (var(--border-width) * 2));
        block-size: calc(100% + (var(--border-width) * 2));
        position: absolute;
        inset: 50% 0 0 50%;
        translate: -50% -50%;
    }

    .custom-radio > * {
        opacity: 0;
    }

    .custom-radio::before {
        content: "";
        border: .25rem solid transparent;
        border-radius: 100%;
        display: flex;
        transition: all .15s ease-in-out;
    }

    .custom-radio:has(input[type=radio]:checked),
    .custom-radio:has(input[type=radio]:checked)::before {
        border-color: var(--primary-color);
        opacity: 1;
    }

    .custom-checkbox {
        line-height: 1;
    }

    .custom-checkbox input[type=checkbox] + span {
        transition: var(--transition-default);
    }

    .custom-checkbox input[type=checkbox]:focus:not(:focus-visible) + span {
        box-shadow: 0 0 0 1px var(--shadow-color);
    }

    .custom-checkbox input[type=checkbox]:checked:focus:not(:focus-visible) + span {
        box-shadow: 0 0 0 2px oklch(from var(--primary-color) l c h / .15);
    }

    .custom-checkbox small em:not(:empty) {
        display: table;
        margin-block-start: var(--spacing-3xs);
    }

    .custom-checkbox small br {
        display: none;
    }
    
    .custom-checkbox :where(input[type=checkbox], input[type=checkbox] + span) {
        aspect-ratio: 1;
        inline-size: auto;
        block-size: var(--text-size-normal);
    }

    .custom-checkbox input[type=checkbox] {
        opacity: 0;
        position: absolute;
    }

    .custom-checkbox input[type=checkbox] + span {        
        border: var(--border-width) solid var(--muted-color);
        border-radius: clamp(0rem, var(--border-radius) / 2, .25rem);
        line-height: 1;
        position: relative;
        inset-block-start: calc(var(--text-size-normal) / 5);
        margin-block-start: calc((var(--text-size-normal) / 5) * -1);
    }

    .custom-checkbox span em {
        color: var(--border-color);
        font-weight: var(--text-weight-normal);
    }

    .custom-checkbox input[type=checkbox] + span .checkbox-checked {
        background: var(--primary-color);
        color: var(--light-color);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: .5rem;
        inline-size: 100%;
        block-size: 100%;
        opacity: 0;
        position: absolute;
        inset-block-start: 0;
        inset-inline-start: 0;
        transition: all .15s ease-in-out;
    }    

    .custom-checkbox input[type=checkbox]:checked + span {
        border-color: var(--primary-color);
    }

    .custom-checkbox input[type=checkbox]:checked + span .checkbox-checked {
        opacity: 1;
    }

    .custom-checkbox input[type=checkbox][disabled]:checked + span {
        border-color: var(--border-color);
    }

    .custom-checkbox input[type=checkbox][disabled] + span .checkbox-checked {
        background: var(--border-color);
        color: var(--background-color);
    }

    thead .custom-checkbox input[type=checkbox] + span {
        inset: initial;
    }

    :is(picture, figure) {
        display: flex;
    }

    img {
        font-style: italic;
        block-size: auto;
        max-inline-size: 100%;
        vertical-align: middle;
    }
        
    dt + dd {
        margin-block: var(--spacing-3xs) 0;
    }

    dd + dt {
        margin-block: var(--spacing-md) 0;
    }

    .inodia-icons,
    .inodia-icons :is(a, span),
    .bouton.icon a > span {
        font: var(--font-icon);
        letter-spacing: 0;
    }
    
    [popover] {
        border: none;
        margin: auto;
    }

    [popover]:not(:popover-open, dialog[open]) {
        display: none;
    }
    
    dialog {
        border: none;
        max-inline-size: initial;
        max-block-size: initial;
    }

    html:has(dialog[open], .modal-open, .mobile-filters-open) {
        overflow: hidden;
    }

    @-moz-document url-prefix() {
    
        body.modal-open .modal {
            scrollbar-color: transparent transparent;
        }
    }

    body.modal-open .modal::-webkit-scrollbar {
        background: transparent;
    }

    body.modal-open .modal::-webkit-scrollbar-thumb {
        background: transparent;
    }

    .page-loader {
        z-index: 2001;
    }

    .elementor-container {
        max-width: initial;
    }

    .elementor-row {
        width: auto;
    }

    :is(.elementor-element-populated, .elementor-button),
    .elementor-widget-product-carousel .elementor-carousel-wrapper {
        padding: 0;
    }

    .elementor-button {
        border-radius: 0;
        fill: initial;
    }

    .elementor-button-text {
        order: initial;
    }

    :where(.elementor-element-edit-mode, #elementor-add-new-section) li {
        padding-inline-start: 0 !important;
    }

    .elementor-select-wrapper .select-caret-down-wrapper,
    :where(.elementor-element-edit-mode, #elementor-add-new-section) li::before,
    :is(.swiper-button-prev, .swiper-button-next, .elementor-text-editor)::after,
    :is(.product-description-short, .product-description-long) :is(br, *:empty),
    :is(.elementor-tab-content, .elementor-toggle-content, .elementor-accordion-content, .elementor-widget-text-editor) :is(br, *:empty),
    .elementor-widget-blockquote .elementor-blockquote::before,
    .elementor-widget-testimonial-carousel .elementor-swiper-button {
        display: none;
    }

    :where(.elementor-widget-wrap, .elementor-widget-wrap > .elementor-element) {
        width: auto;
        inline-size: 100%;
    }

    .elementor-widget:not(:last-child) {
        margin: 0;
    }

    .elementor-widget-image {
        text-align: left;
    }     

    .elementor-testimonial-content {
        margin-block-end: var(--spacing-xs);
    }

    .elementor-social-icons-wrapper {
        display: flex;
        flex-flow: row wrap;
        align-items: center;
        gap: var(--spacing-xs);
    }

    .elementor-social-icon {
        background: transparent;
        border-radius: 0;
        font-size: inherit;
        padding: 0;
        margin: 0;
    }

    .elementor-icon i:before {
        font: var(--font-icon);
        font-size: var(--h4-font-size);
        position: static;
    }

    :is(.elementor-top-section, .elementor-column)[data-settings='{"background_background":"classic"}'] > div {
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
    }

    .elementor-top-section[data-settings='{"background_background":"classic"}']:not(:has(.fond)) {
        border-image: fill 0 linear-gradient(oklch(from var(--dark-color) l c h / .5), oklch(from var(--dark-color) l c h / .5));
    }

    .page-product :where(.product-description-short, .product-description-long),
    .page-product :where(.product-description-short, .product-description-long) :where(p, li, span, strong),
    .elementor :where(.elementor-tab-content, .elementor-toggle-content, .elementor-accordion-content, .elementor-widget-text-editor),
    .elementor :where(.elementor-tab-content, .elementor-toggle-content, .elementor-accordion-content, .elementor-widget-text-editor) :where(p, li, span, strong) {
        background: transparent !important;
        color: var(--text-color) !important;
        font: var(--text-weight-normal) var(--text-size-normal)/var(--line-height) var(--font-text) !important;
        letter-spacing: var(--letter-spacing) !important;
        text-align: left !important;
        text-decoration: none !important;
    }

    .page-product :where(.product-description-short, .product-description-long).text-big,
    .page-product :where(.product-description-short, .product-description-long).text-big :is(p, li, span, strong),
    .elementor :is(.elementor-tab-content, .elementor-toggle-content, .elementor-accordion-content, .elementor-widget-text-editor).text-big,
    .elementor :is(.elementor-tab-content, .elementor-toggle-content, .elementor-accordion-content, .elementor-widget-text-editor).text-big :is(p, li, span, strong) {
        font-size: var(--text-size-big) !important;
    }

    .page-product :is(.product-description-short, .product-description-long) strong,
    .elementor :is(.elementor-tab-content, .elementor-toggle-content, .elementor-accordion-content, .elementor-widget-text-editor) strong {
        color: var(--strong-color) !important;
        font-weight: var(--text-weight-bold) !important;
    }

    .page-product :is(.product-description-short, .product-description-long) a *,
    .elementor :is(.elementor-tab-content, .elementor-toggle-content, .elementor-accordion-content, .elementor-widget-text-editor) a * {
        color: inherit !important;
    }

    .elementor-pagination-position-inside .swiper-pagination-bullets {
        position: absolute;
        bottom: var(--spacing-xs);
        z-index: 1;
    }

    .elementor-pagination-position-inside .swiper-pagination-bullet {
        background: var(--light-color);
    }

    .elementor-widget-product-carousel .products-list__block {
        flex: initial;
        max-inline-size: initial;
        margin: 0;
    }

    .elementor-icon :is(i, svg) {
        width: auto;
        height: auto;
        fill: transparent;
    }

    .search-form,
    .featured-products .wrapper-slider {
        position: relative;
    }
    
    main .product-slider {
        display: flex;
        flex-flow: column;
        margin-inline: calc(var(--spacing-2xs) * -1);
    }

    main :is(.swiper, .swiper-inodia):not(.swiper-initialized) {
        display: flex;
        overflow: hidden;
    }

    main :is(.swiper, .swiper-inodia):not(.swiper-initialized, .homeslider) .swiper-slide {
        display: flex;
        flex: 0 0 auto;
        inline-size: calc(100% / var(--_nb-slide-item));
    }

    main .swiper-pagination {        
        display: flex;
        justify-content: center;
        gap: var(--spacing-2xs);
        inline-size: 100%;
        width: auto;
        position: static;
        margin-block-start: var(--spacing-xl);
    }

    main .swiper-pagination-bullet {
        background: var(--title-color);
        width: auto;
        height: auto;
        block-size: .5rem;
        inline-size: .5rem;
        margin: 0;
    }

    main .swiper-pagination-bullets:has(.swiper-pagination-bullet-active:only-child) {
        display: none;
    }

    main :is(.swiper-button-prev, .swiper-button-next) {
        color: var(--title-color);
    }

    @container viewport (70rem < inline-size) {
        
        .right .elementor-widget-container {
            align-items: flex-end;
        }

        .right :is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, p, strong),
        .right:is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, p, strong),
        .right:is(.h1, .h2, .h3, .h4) .elementor-heading-title {
            align-items: flex-end;
            text-align: right !important;
            text-wrap: balance;
        }    

        .right.bouton,
        .right .bouton {
            display: flex;
            justify-content: flex-end;
        }
    }

    @container viewport (inline-size <= 30rem) {
        
        .label-hide {
            display: block;
        }

        .label-hide + div :is(input, textarea)::placeholder,
        .elementor-widget-form .elementor-field-group :is(input, textarea)::placeholder {
            color: transparent;
        }
        
        .elementor-widget-heading .elementor-heading-title br {
            display: none;
        }
    }
}

@layer structure {

    .page-sidebar-left.hide-col,
    body:not(.page-customer-account, .page-addresses) main .block-myaccount-infos {
        display: none;
    }

    .header + .notifications {
        margin-block-start: var(--spacing-2xl);
    }

    .page-content > .notifications {
        margin-block-end: var(--spacing-lg);
    }

    main header.page-header + .notifications {
        margin-block-start: 0;
    }

    body:not(.page-index) main {
        margin-block-start: var(--spacing-lg);
    }

    .header-absolute:not(.header-absolute-home) + main,
    .page-index .header-absolute-home + main {
        margin-block-start: calc((var(--logo-height) + (var(--padding-header) * 2)) * -1);
    }

    figcaption:not(.homeslider__caption),
    .center :is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, p, strong),
    .center:is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, p, strong),
    .center:is(.h1, .h2, .h3, .h4) .elementor-heading-title {
        align-items: center;
        text-align: center;
        margin-inline: auto;    
        text-wrap: balance;
    }
    
    :is(.center, .right).h2 .elementor-heading-title {
        position: relative;
    }

    :is(.center, .right) .elementor-widget-container {
        display: flex;
        flex-flow: column;
    }

    .center .elementor-widget-container {
        align-items: center;
    }

    body:where(.page-search, .layout-left-column:has(.page-sidebar-left:not(.not-found))) .product-miniatures__list {
        margin-block-start: var(--spacing-md);
    }

    main [class*="-miniatures__list"] {    
        display: grid;
        gap: var(--items-gap);
        position: relative;
    }

    main .product-miniatures__list {
        grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--product-min-size)), 1fr));
    }

    main .post-miniatures__list {
        grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--post-min-size)), 1fr));
        gap: var(--items-gap-posts);
    }

    :is(.category-id-14, .category-id-parent-14) .product-miniatures__list {
        grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--product-controler-min-size)), 1fr));
    }

    main .address-miniatures__list {
        grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--items-min-size)), 1fr));
    }

    .post-miniatures__list:not(:first-child) {
        margin-block-start: var(--spacing-xl);
    }

    .container,
    .page-product :is(.fiche-produit, .product-details) > .container,
    :is(.ino-section-boxed, .elementor-section-boxed) > :is(.ino-container, .elementor-container),
    .no-main-container :where(main > .breadcrumb, .page-header) {
        inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
        margin-inline: auto;
    }

    :is(.ino-section-boxed, .elementor-section-boxed).container-medium > :is(.ino-container, .elementor-container) {
        inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size-medium));
    }

    :is(.ino-section-boxed, .elementor-section-boxed).container-small > :is(.ino-container, .elementor-container) {
        inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size-small));
    }

    :is(.ino-row, .elementor-row),
    .container .container:not(.ino-modal-container),
    .page-content > .notifications > .container,
    .elementor-section-boxed > .elementor-container :is(.container, .elementor-container),
    :where(.checkout-modal, .content-wrapper.left-column, .elementor-section-boxed > .elementor-container) .elementor-section-boxed > .elementor-container {
        inline-size: 100%;
    }

    :is(.page-pagenotfound, .page-product, .product-list) .page-not-found {
        inline-size: min(40rem, 100%);
        margin-inline: auto;
    }

    .user-form {
        inline-size: min(50rem, 100%);
    }

    .user-form:not(.left) {
        margin-inline: auto;
    }

    .ino-top-section .ino-row,
    .elementor-top-section .elementor-row {
        display: flex;
        flex-flow: row;
        gap: calc(var(--spacing-4xl) * .66) var(--columns-gap);
    }

    .ino-top-section.full .ino-row,
    .elementor-section.full .elementor-row {
        gap: 0;
    }

    :is(.elementor-top-section, .ino-top-section).fond.block:not(.full) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape),
    :is(.elementor-top-section, .ino-top-section).fond.block:not(.elementor-section-full_width) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
        border-radius: clamp(0rem, var(--border-radius), clamp(4rem, 3rem + 5vw, 8rem));
        overflow: hidden;
    }

    .ino-txt-img .ino-col-text,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)) > .elementor-column-wrap > .elementor-widget-wrap,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)) > .elementor-column-wrap > .elementor-widget-wrap {
        display: flex;
        flex-flow: column;
        justify-content: center;
    }

    .ino-txt-img .ino-col-img :is(figure, picture, img),
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-column:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child) :is(.elementor-column-wrap, .elementor-widget-wrap, .elementor-widget-image, .elementor-widget-image-carousel, .elementor-widget-container, .elementor-image, .swiper, .swiper-wrapper, .swiper-slide, figure, picture, .elementor-image > a, img),
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) .elementor-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) :is(.elementor-column-wrap, .elementor-widget-wrap, .elementor-widget-image, .elementor-widget-image-carousel, .elementor-widget-container, .elementor-image, .swiper, .swiper-wrapper, .swiper-slide, figure, picture, .elementor-image > a, img) {
        inline-size: 100%;
        block-size: 100%;
    }

    iframe,
    .ino-txt-img:not(.full) .ino-col-img:not(.contain) img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):not(.full) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child:not(.contain)) img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child):not(.full) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child:not(.contain)) img {
        border-radius: var(--border-radius);
    }

    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) .elementor-widget-image:only-child) .elementor-top-column:has(.elementor-widget-image:only-child) picture,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) .elementor-widget-image:first-child + .bouton.icon:last-child) .elementor-top-column:has(.elementor-widget-image:first-child + .bouton.icon:last-child) picture {
        position: relative;
        z-index: 1;
    }

    .ino-txt-img .ino-col-img:not(.contain) img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child) img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) img {
        object-fit: cover;
    }

    .ino-txt-img.full .ino-col-img img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full .elementor-top-column:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child) img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child) .elementor-widget-image.contain img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) .elementor-widget-image.contain img {
        border-radius: 0;
    }

    .ino-txt-img .ino-col-img.contain img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) .elementor-widget-image:only-child) .elementor-top-column:has(.elementor-widget-image:only-child) .elementor-widget-image.contain img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) .elementor-widget-image:first-child + .bouton.icon:last-child) .elementor-top-column:has(.elementor-widget-image:first-child + .bouton.icon:last-child) .elementor-widget-image.contain img {
        object-fit: contain;
        z-index: 1;
    }

    .ino-txt-img .ino-col-img.bottom-right img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) .elementor-widget-image:only-child) .elementor-top-column:has(.elementor-widget-image:only-child) .elementor-widget-image.bottom-right img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) .elementor-widget-image:first-child + .bouton.icon:last-child) .elementor-top-column:has(.elementor-widget-image:first-child + .bouton.icon:last-child) .elementor-widget-image.bottom-right img {
        object-position: bottom right;
    }

    .ino-txt-img .ino-col-img.right img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) .elementor-widget-image:only-child) .elementor-top-column:has(.elementor-widget-image:only-child) .elementor-widget-image.right img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) .elementor-widget-image:first-child + .bouton.icon:last-child) .elementor-top-column:has(.elementor-widget-image:first-child + .bouton.icon:last-child) .elementor-widget-image.right img {
        object-position: right;
    }

    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) .elementor-widget-image:first-child + .bouton.icon:last-child) .elementor-top-column:has(.elementor-widget-image:first-child + .bouton.icon:last-child) .bouton.icon {
        color-scheme: dark;
        display: table;
        inline-size: auto;
        block-size: auto;
        position: absolute;
        inset-block-start: 50%;
        inset-inline-start: 50%;
        translate: -50% -50%;
    }

    :where(main > .elementor:not(:first-child), .footer),
    :is(.elementor-top-section, .ino-top-section):not(.no-margin, :first-child),
    :is(.elementor + .featured-products, .ybc-blog-wrapper-blog-list > .elementor),
    .product-list-footer .elementor-top-section:first-child {
        margin-block-start: var(--spacing-4xl);
    }

    .section-partenaires,
    :is(.elementor-top-section, .ino-top-section).fond:not(.block, .full) {
        padding-block: var(--spacing-3xl);
    }

    :is(.elementor-top-section, .ino-top-section).fond:not(.block):last-child {
        margin-block-end: 0;
    }

    :is(.elementor-top-section, .ino-top-section).fond.block:not(.full) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
        position: relative;
        padding: var(--spacing-3xl);
    }

    :is(.elementor-top-section, .ino-top-section) :is(.elementor-inner-section, .ino-inner-section):first-child,
    :is(.elementor-top-section, .ino-top-section) :is(.elementor-inner-section, .ino-inner-section).titre + :is(.elementor-inner-section, .ino-inner-section),
    :is(.elementor-top-section, .ino-top-section):is(.fond:not(.block), .supp) + :is(.elementor-top-section, .ino-top-section):is(.fond:not(.block), .supp) {
        margin-block-start: 0;
    }

    :is(.elementor-top-section, .ino-top-section).fond.noir:not(.block) + :is(.elementor-top-section, .ino-top-section).fond.noir:not(.block),
    :is(.elementor-top-section, .ino-top-section).fond.gris:not(.block) + :is(.elementor-top-section, .ino-top-section).fond.gris:not(.block),
    :is(.elementor-top-section, .ino-top-section).fond.blanc:not(.block) + :is(.elementor-top-section, .ino-top-section).fond.blanc:not(.block),
    :is(.elementor-top-section, .ino-top-section).fond.dark-blue:not(.block) + :is(.elementor-top-section, .ino-top-section).fond.dark-blue:not(.block),
    :is(.elementor-top-section, .ino-top-section).fond.light-blue:not(.block) + :is(.elementor-top-section, .ino-top-section).fond.light-blue:not(.block) {
        padding-block-start: 0;
    }

    .elementor-top-section :is(.elementor-inner-section, .elementor-widget-text-editor) + .elementor-inner-section:not(.boutons) {
        margin-block-start: var(--spacing-xl);
    }

    :is(.elementor-column, .ino-column).fond {
        border-radius: var(--border-radius);
    }

    :is(.elementor-column, .ino-column).fond > .elementor-column-wrap {
        padding: var(--spacing-xl);
    }

    .center .elementor-widget-wrap {
        display: flex;
        flex-flow: column;
        align-items: center;
    }

    .elementor-widget + :is(.boutons, .elementor-widget-form, .elementor-widget-text-editor),
    :is(.elementor-widget-text-editor, .elementor-widget-accordion) + .elementor-widget,
    .elementor-widget-shortcode + .elementor-widget-button {
        margin-block-start: calc(var(--spacing-4xl) / 3);
    }

    :is(.elementor-widget-button, .elementor-widget-text-editor) + .elementor-widget-image,
    .elementor-widget-text-editor + .elementor-widget-hotspot {
        margin-block-start: calc(var(--spacing-4xl) / 1.5);
    }

    .elementor-widget-image + .elementor-widget-text-editor {
        margin-block-start: calc(var(--spacing-4xl) / 4);
    }

    .elementor-widget-heading + .elementor-widget-heading {
        margin-block-start: var(--spacing-xs);
    }

    .section-titre + .elementor-top-section {
        margin-block-start: var(--spacing-lg);
    }

    .elementor-widget + .elementor-widget.no-margin {
        margin-block-start: 0;
    }

    .ino-top-section .ino-column {
        position: relative;
    }

    .ino-top-section .ino-col-txt {
        display: flex;
        flex-flow: column;
        align-items: flex-start;
        justify-content: center;
    }

    .ino-top-section .ino-col-25 {
        inline-size: 25%;
    }

    .ino-top-section .ino-col-20 {
        inline-size: 20%;
    }

    .ino-top-section:not(.section-custom-controller) .ino-col-img {
        aspect-ratio: 3 / 2;
        overflow: hidden;
    }
    
    .ino-grid > div:not(.elementor-element-overlay) > div {
        display: grid;
    }

    main .ino-grid > div:not(.elementor-element-overlay) > div > :is(div, section) {
        inline-size: 100%;
        margin: 0 !important;
    }

    .ino-grid .ino-col-full {
        grid-column: 1 / -1;
    }

    @container viewport (70rem < inline-size) {
        
        .ino-top-section .ino-col-66 {
            inline-size: 66.666%;
        }

        .ino-top-section .ino-col-50 {
            inline-size: 50%;
        }

        .ino-top-section .ino-col-33 {
            inline-size: 33.333%;
        }
        
        :is(.ino-txt-img > .ino-container > .ino-row, .inner-txt-img > .elementor-container > .elementor-row),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) > .elementor-container > .elementor-row,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) > .elementor-container > .elementor-row {
            align-items: stretch;
        }
        
        .ino-txt-img .ino-col-img > *:not(.ino-modal),
        .inner-txt-img .elementor-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) > .elementor-column-wrap > .elementor-widget-wrap,
        .elementor-top-section:not(.section-custom):has(.elementor-top-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) > .elementor-column-wrap > .elementor-widget-wrap:not(.ui-sortable),
        .elementor-top-section:not(.section-custom):has(.elementor-top-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) > .elementor-column-wrap > .elementor-widget-wrap:not(.ui-sortable) {
            position: absolute;
        }
        
        .ino-txt-img:not(.full) .ino-col-txt > div,
        .elementor-top-section:not(.section-custom, .section-custom-ps5):has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:not(:has(.elementor-widget:only-child)) > .elementor-column-wrap > .elementor-widget-wrap,
        .elementor-top-section:not(.section-custom, .section-custom-ps5):has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) .elementor-top-column:not(:has(.elementor-widget:first-child + .bouton.icon:last-child)) > .elementor-column-wrap > .elementor-widget-wrap {
            padding-block: var(--spacing-3xl);
        }
        
        .ino-txt-img.full:not(.block, .supp) .ino-col-txt > div,
        .elementor-top-section:not(.section-custom, .section-custom-ps5):has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full:not(.block, .supp) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)) > .elementor-column-wrap > .elementor-widget-wrap,
        .elementor-top-section:not(.section-custom, .section-custom-ps5):has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full:not(.block, .supp) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)) > .elementor-column-wrap > .elementor-widget-wrap {
            padding-block: var(--spacing-2xl);
        }
        
        .ino-section-full_width.ino-txt-img.full:not(.block) > .ino-container > .ino-row,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) > .elementor-container > .elementor-row,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block) > .elementor-container > .elementor-row {
            display: grid;
            grid-template-columns: 1fr repeat(6, calc(min(var(--wrapper-size-mobile), var(--wrapper-size)) / 6)) 1fr;
        }
        
        .ino-section-full_width.ino-txt-img.full:not(.block) > .ino-container > .ino-row > div,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column {
            inline-size: 100%;
        }
        
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column:is(.elementor-col-33, [data-col="33"]):has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column:is(.elementor-col-33, [data-col="33"]):has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child):first-child {
            grid-column: 1 / 4;
        }

        .section-partenaires .elementor-top-column:is(.elementor-col-33, [data-col="33"]),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column:is(.elementor-col-33, [data-col="33"]):not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)):first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column:is(.elementor-col-33, [data-col="33"]):not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)):first-child {
            grid-column: 2 / 4;
        }
        
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column:is(.elementor-col-33, [data-col="33"]):has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):last-child {
            grid-column: 6 / 9;
        }
            
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column:is(.elementor-col-33, [data-col="33"]):not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)):last-child {
            grid-column: 6 / 8;
        }

        .ino-section-full_width.ino-txt-img.full:not(.block, .supp) .ino-col-img:first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column:is(.elementor-col-50, [data-col="50"]):has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column:is(.elementor-col-50, [data-col="50"]):has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child):first-child {
            grid-column: 1 / 5;
        }

        .ino-section-full_width.ino-txt-img.full:not(.block) .ino-col-txt:first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column:is(.elementor-col-50, [data-col="50"]):not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)):first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column:is(.elementor-col-50, [data-col="50"]):not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)):first-child {
            grid-column: 2 / 5;
        }
        
        .ino-section-full_width.ino-txt-img.full:not(.block, .supp) .ino-col-img:last-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column:is(.elementor-col-50, [data-col="50"]):has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):last-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column:is(.elementor-col-50, [data-col="50"]):has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child):last-child {
            grid-column: 5 / 9;
        }
            
        .ino-section-full_width.ino-txt-img.full:not(.block) .ino-col-txt:last-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column:is(.elementor-col-50, [data-col="50"]):not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)):last-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column:is(.elementor-col-50, [data-col="50"]):not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)):last-child {
            grid-column: 5 / 8;
        }
        
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column:is(.elementor-col-66, [data-col="66"]):has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column:is(.elementor-col-66, [data-col="66"]):has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child):first-child {
            grid-column: 1 / 6;
        }
            
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column:is(.elementor-col-66, [data-col="66"]):not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)):first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column:is(.elementor-col-66, [data-col="66"]):not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)):first-child {
            grid-column: 2 / 6;
        }
        
        .section-partenaires .elementor-top-column:is(.elementor-col-66, [data-col="66"]),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column:is(.elementor-col-66, [data-col="66"]):has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):last-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column:is(.elementor-col-66, [data-col="66"]):has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child):last-child {
            grid-column: 4 / 9;
        }
            
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column:is(.elementor-col-66, [data-col="66"]):not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)):last-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column:is(.elementor-col-66, [data-col="66"]):not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)):last-child {
            grid-column: 4 / 8;
        }
        
        .ino-section-full_width.ino-txt-img.full.supp:not(.block) .ino-col-txt, 
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.supp.elementor-section-full_width:not(.block) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)), 
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.supp.elementor-section-full_width:not(.block) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)) {
            position: relative;
            z-index: 1;
        }
        
        .ino-section-full_width.ino-txt-img.full.supp:not(.block) .ino-col-img,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.supp.elementor-section-full_width:not(.block) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.supp.elementor-section-full_width:not(.block) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) {
            position: absolute;
            inset: 0;
            z-index: 0;
        }
        
        .ino-section-full_width.ino-txt-img.full:not(.block, .supp) .ino-col-txt:first-child > div,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)):first-child > .elementor-column-wrap > .elementor-widget-wrap,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)):first-child > .elementor-column-wrap > .elementor-widget-wrap {
            padding-inline-end: var(--spacing-2xl);
        }
        
        .ino-section-full_width.ino-txt-img.full:not(.block, .supp) .ino-col-txt:last-child > div,
        .elementor-top-section:not(.section-custom-ps5):has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)):last-child > .elementor-column-wrap > .elementor-widget-wrap,
        .elementor-top-section:not(.section-custom-ps5):has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)):last-child > .elementor-column-wrap > .elementor-widget-wrap {
            padding-inline-start: var(--spacing-2xl);
        }
        
        .ino-txt-img.full.block .ino-col-txt > div,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.block .elementor-top-column:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)) > .elementor-column-wrap > .elementor-widget-wrap,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.block .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)) > .elementor-column-wrap > .elementor-widget-wrap {
            padding: var(--spacing-2xl);
        }

        .ino-txt-img.full.supp .ino-col-txt,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.supp .elementor-top-column:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)) {
            border-radius: clamp(0rem, var(--border-radius), clamp(2rem, 1.5rem + 2.5vw, 4rem));
            overflow: hidden;
        }
        
        .ino-txt-img.full.supp .ino-col-txt > div,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.supp .elementor-top-column:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)) > .elementor-column-wrap > .elementor-widget-wrap,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.supp .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)) > .elementor-column-wrap > .elementor-widget-wrap {
            padding: var(--spacing-xl);
        }

        .elementor-top-section.supp > .elementor-container > .elementor-row {
            padding-block: var(--spacing-3xl);
        }
    }

    @container viewport (inline-size <= 70rem) {

        :is(.ino-top-section, .inner-txt-img) .ino-row,
        :is(.elementor-top-section, .inner-txt-img) .elementor-row {
            flex-flow: column;
        }
        
        .elementor-top-section .elementor-row > .elementor-column {
            width: auto;
            inline-size: 100%;
        }
        
        .ino-txt-img .ino-col-txt,
        .inner-txt-img .elementor-column:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)),
        .section-contact .elementor-row > .block-formulaire {
            order: 1;
        }
        
        .ino-txt-img .ino-col-img,
        .inner-txt-img .elementor-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child),
        .section-contact .elementor-row > .block-infos {
            order: 2;
        }
        
        .ino-txt-img.full.block .ino-col-txt,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.block .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.block .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)) {
            padding: var(--spacing-2xl);
        }
        
        .ino-txt-img.full:not(.block) .ino-col-txt,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full:not(.block) .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full:not(.block) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)) {
            padding-block: var(--spacing-2xl);
        }

        .ino-txt-img.full:not(.block) .ino-col-txt,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full:not(.block) .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)) > .elementor-column-wrap > .elementor-widget-wrap,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full:not(.block) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)) > .elementor-column-wrap > .elementor-widget-wrap {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }
        
        iframe, 
        .ino-txt-img:not(.full) .ino-col-img:not(.contain) img,
        .inner-txt-img .elementor-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child:not(.contain)) img,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):not(.full) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child:not(.contain)) img,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child):not(.full) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child:not(.contain)) img {
            border-radius: clamp(0rem, var(--border-radius), clamp(2rem, 1rem + 5vw, 6rem));
        }
    }

    @container viewport (inline-size <= 36rem) {

        .center.desktop :is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, p, strong),
        .center.desktop:is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, p, strong),
        .center.desktop:is(.h1, .h2, .h3, .h4) .elementor-heading-title {
            align-items: flex-start !important;
            text-align: left;
            text-wrap: pretty;
        }

        .center.desktop .elementor-widget-container {
            align-items: flex-start;
        }

        .center.desktop .wrap-bouton,
        .wrap-bouton.center.desktop {
            justify-content: flex-start;
        }
    } 

    @container viewport (inline-size <= 30rem) {

        :is(.elementor-top-section, .ino-top-section).fond.block:not(.full) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
            padding-inline: 0;
        }
        
        :is(.elementor-top-section, .ino-top-section).fond.block:not(.full) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) > div {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }
        
        :is(.elementor-top-section, .ino-top-section):is(.fond, .supp) + :is(.elementor-top-section, .ino-top-section):is(.fond, .supp) {
            margin-block-start: 0;
        }
        
        :is(.elementor-top-section, .ino-top-section):is(.fond, .supp) {
            margin-block-end: 0;
        }

        :is(.elementor-top-section, .ino-top-section).fond.block:not(.elementor-section-full_width) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
            border-radius: 0;
        }

        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).block > .elementor-container,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).block > .elementor-container {
            inline-size: 100%;
            max-inline-size: initial;
        }
        
        .ino-txt-img.full.block .ino-col-txt,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.block .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child).full.block .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child)) {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
            padding-inline: 0;
        }
    } 
}

@layer core {

    html {
        background: var(--dark-color);
    }

    body {
        background: var(--background-color);
        color: var(--title-color);
        font: var(--text-weight-normal) var(--text-size-normal)/1 var(--font-text);
        accent-color: var(--primary-color);
        caret-color: var(--primary-color);
    }

    :is(h1, .h1:not(.elementor-widget-heading)),
    .elementor-widget-heading.h1 .elementor-heading-title {
        color: var(--title-color);
        display: block;
        font: var(--text-weight-bold) var(--h1-font-size)/1.1 var(--font-title);
        letter-spacing: -.04em;
        text-transform: uppercase;
    }

    :is(h1, .h1:not(.elementor-widget-heading)).gradient,
    :is(h2, .h2:not(.elementor-widget-heading)) .gradient,
    .elementor-widget-heading.h1.gradient .elementor-heading-title {
        background: linear-gradient(251deg, var(--secondary-color) 25.31%, var(--primary-color) 102.87%);
        background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    :is(h1:not(.h2, .h3, .h4, .elementor-heading-title, .no-margin), .h1:not(.elementor-widget-heading)) {
        margin-block-end: var(--spacing-xl);
    }

    :is(h2, .h2:not(.elementor-widget-heading)),
    .elementor-widget-heading.h2 .elementor-heading-title {
        color: var(--title-color);
        display: flex;
        flex-flow: column;
        align-items: flex-start;
        font: var(--text-weight-normal) var(--h2-font-size)/1.1 var(--font-title);
        letter-spacing: -.02em;
        text-transform: uppercase;
    }

    :is(h2, .h2:not(.elementor-widget-heading)) span,
    .elementor-widget-heading.h2 .elementor-heading-title span {
        font: inherit;
    }

    :is(h2:not(.h1, .h3, .h4, .elementor-heading-title), .h2:not(.elementor-widget-heading, .no-margin)) {
        margin-block-end: var(--spacing-lg);
    }

    :is(h3, .h3:not(.elementor-widget-heading)), 
    .elementor-widget-heading.h3 .elementor-heading-title { 
        color: var(--title-color);
        font: var(--text-weight-bold) var(--h3-font-size)/1.1 var(--font-text);
        letter-spacing: -.01em;
        text-transform: initial;
    }

    :is(h3:not(.h1, .h2, .h4, .elementor-heading-title), .h3:not(.elementor-widget-heading, .no-margin)) {
        margin-block-end: var(--spacing-md);
    }

    :is(h4, .h4:not(.elementor-widget-heading)), 
    .elementor-widget-heading.h4 .elementor-heading-title { 
        color: var(--title-color);
        font: 400 var(--h4-font-size)/1.1 var(--font-text);
        letter-spacing: .01em;
        text-transform: uppercase;
    }

    :is(h4:not(.h1, .h2, .h3, .elementor-heading-title), .h4:not(.elementor-widget-heading, .no-margin, .modal-title)) {
        margin-block-end: var(--spacing-sm);
    }

    a {
        color: var(--secondary-color);
    }

    a.primary {
        color: var(--primary-color);
        outline-color: var(--primary-color);
    }

    .elementor-social-icon,
    :is(a, button).link-dark {
        color: var(--title-color);
    }

    .elementor-social-icon,
    :is(a, button).link-dark:focus-visible,
    .custom-radio:has(input:not(:checked):focus-visible),
    .custom-checkbox input[type=checkbox]:not(:checked):focus-visible + span,
    :is(.header-top__block--logo > a, .logo-footer, .btn-password):focus-visible,
    .elementor-widget-accordion :is(.elementor-tab-title:focus-visible > a, .elementor-tab-title > a:focus-visible) {
        outline-color: var(--title-color);
    }

    @media only screen and (hover: hover) and (pointer: fine) {
        
        a:hover {
            color: var(--secondary-hover-color);
        }

        a:active {
            color: var(--secondary-active-color);
        }

        :is(a, button).primary:hover {
            color: var(--primary-hover-color);
        }

        :is(a, button).primary:active {
            color: var(--primary-active-color);
        }

        .elementor-social-icon:hover,
        :is(a, button).link-dark:hover {
            color: var(--secondary-color);
        }

        .elementor-social-icon:active,
        :is(a, button).link-dark:active {
            color: var(--secondary-hover-color);
        }
    }

    @media only screen and (hover: none) and (pointer: coarse) {

        a:active {
            color: var(--secondary-hover-color);
        }

        :is(a, button).primary:active {
            color: var(--primary-hover-color);
        }
        
        .elementor-social-icon:active,
        :is(a, button).link-dark:active {
            color: var(--secondary-color);
        }
    }

    .custom-link {
        display: inline-flex;
        align-items: center;
        gap: 2ch;
    }

    .account-link {
        font: var(--text-weight-normal) var(--text-size-small)/1.3 var(--font-text);
    }

    .account-link i {
        font-size: .5rem;
    }
    
    :where(.elementor-tab-content, .elementor-widget-text-editor, p.rgpd, .custom-checkbox, .product-description-short) a:not(:hover, :active) {
        text-decoration: underline;
    }

    :where(label, .label, input[type="file" i]):not(.radio-inline) {
        display: inline-flex;
        align-items: baseline;
        gap: var(--spacing-2xs) 1.5ch;
    }

    :where(label, .label, input[type="file" i]):not(.radio-inline, .custom-checkbox) {
        color: var(--title-color);
        font: var(--text-weight-medium) var(--text-size-small)/1.1 var(--font-text);
        letter-spacing: var(--letter-spacing);        
        text-align: left;
        margin-block-end: var(--spacing-3xs);
    }

    :is(.custom-checkbox, .custom-checkbox-color) label {
        margin: 0;
    }

    :where(.label, label) em {
        color: var(--muted-color);
    }

    .separator {
        border-color: var(--outline-color);
    }

    .form-wrapper {
        inline-size: 100%;
        position: relative;
    }

    .form-wrapper:has(select)::after,
    .form-wrapper:has(input)::before {
        pointer-events: none;
        position: absolute;
        inset-block-start: 50%;
        inset-inline-end: calc(var(--spacing-2xs) * 2);
        translate: 0 -50% 0;
        transition: var(--transition-default);
    }

    .form-wrapper:has(select)::after {
        content: "\e900";
        font-size: .5rem;
    }

    :where(select, textarea, .form-control, form.search-form input[type=search]) {
        background: transparent;
        border: var(--border-width) solid var(--border-color);
        border-radius: var(--border-radius);
        color: var(--text-color);
        font: normal var(--text-weight-normal) var(--text-size-normal) /1 var(--font-text);
        letter-spacing: var(--letter-spacing);
        text-overflow: ellipsis;
        inline-size: 100%;
        block-size: auto;
    }

    :where(textarea, .form-control:not(input[type=search], .input-custom-qty)) {
        padding-block: var(--spacing-2xs);
        padding-inline: calc(var(--spacing-2xs) * 2);
    }

    .qty > .input-custom-qty {
        padding: var(--spacing-xs);
    }

    .form-control.promo-input {
        font-size: var(--text-size-small);
        block-size: auto;
    }

    textarea {
        line-height: 1.3;
    }

    .search-form input[type=search] {
        padding-block: var(--spacing-2xs);
        padding-inline: calc(var(--spacing-2xs) * 4) calc(var(--spacing-2xs) * 2);
    }

    .search-form .search-form__form-group > i.search {
        color: var(--muted-color);
        font-size: 1.25rem;
        pointer-events: none;
        position: absolute;
        inset-block-start: 50%;
        inset-inline-start: var(--spacing-xs);
        translate: 0 -50%;
    }

    select {
        color: var(--title-color);
        padding-block: var(--spacing-2xs);
        padding-inline: calc(var(--spacing-2xs) * 2) calc(var(--spacing-2xs) * 4);
    }

    select option {
        background: var(--background-color);
    }

    :is(select, textarea, .promo-input, .form-control):hover,
    .search-form input[type=search]:hover {
        border-color: var(--border-hover-color);
        color: var(--strong-color);
    }

    :is(select, textarea, .promo-input, .form-control):focus,
    .search-form input[type=search]:focus {
        --_input-focus-shadow-color: oklch(from var(--border-focus-color) l c h / .1);
        border-color: var(--border-focus-color);
        box-shadow: 0 0 0 2px var(--_input-focus-shadow-color);
        color: var(--title-color);
    }

    .form-group {
        margin-block-end: 0;
    }

    :is(.form-group, .field-password-policy):not(:first-child),
    .form-group:not(.checkbox) + .checkbox {
        margin-block-start: var(--spacing-md);
    }

    input[type=hidden]:first-child + :is(.form-group, .field-password-policy) {
        margin-block-start: 0;
    }

    .form-group.checkbox + .checkbox {
        margin-block-start: var(--spacing-2xs);
    }

    label:is(.radio-inline, .custom-checkbox),
    .custom-checkbox :is(label:not(.disabled), input:not([disabled])),
    .product-variants .attribute-radio label {
        cursor: pointer;
    }

    .custom-checkbox :is(label.disabled, input[disabled]) {
        cursor: not-allowed;
    }

    :is(.input-group-append, .input-group-prepend) {
        display: flex;
    }

    .input-group .input-group-append {
        position: relative;
        margin-inline-start: calc(var(--border-width) * -1);
    }

    .input-group:has(.input-group-append) input:not([type=submit]) {
        border-radius: var(--border-radius) 0 0 var(--border-radius);
    }

    .input-group .input-group-append:is(.bouton, .btn-password) {
        border-radius: 0 var(--border-radius) var(--border-radius) 0 !important;
    }

    .form-text {
        margin-block-start: var(--spacing-3xs);
    }

    main .search-modal-btn-open {
        display: none;
    } 
    
    figcaption {        
        font: var(--text-weight-medium) var(--text-size-small)/1.3 var(--font-text);
        letter-spacing: var(--letter-spacing);
    }

    .missing-img {
        filter: invert(1) !important;
        mix-blend-mode: difference;
    }

    main .custom:is(ul, ol),
    .section-features-desc .product-description :is(ul, ol),
    main :is(.elementor, .product-description-short, .product-description-long) :is(ul, ol) {
        padding: 0;
    }

    main .custom:is(ul, ol):not(:last-child),
    .section-features-desc .product-description :is(ul, ol):not(:last-child),
    main :is(.elementor, .product-description-short, .product-description-long) :is(ul:not(:last-child, .swiper-wrapper), ol:not(:last-child)) {
        margin-block-end: calc(var(--spacing-2xs) * 2);
    }

    main .custom:is(ul, ol) li:not(:last-child),
    .section-features-desc .product-description :is(ul, ol) li:not(:last-child),
    main :is(.elementor, .product-description-short, .product-description-long) :is(ul:not(.swiper-wrapper), ol) li:not(:last-child) {
        margin-block-end: var(--spacing-3xs);
    }

    main .custom:is(ul, ol) li:last-child,
    .section-features-desc .product-description :is(ul, ol) li:last-child,
    main :is(.elementor, .product-description-short, .product-description-long) :is(ul, ol, li):last-child {
        margin-block-end: 0;
    }

    main ol.custom li,    
    .section-features-desc .product-description ol li,
    main :is(.elementor, .product-description-short, .product-description-long) ol li {
        list-style-position: inside;
    }

    main ul.custom li,
    .section-features-desc .product-description ul li,
    main :is(.elementor, .product-description-short, .product-description-long) ul:not(.product-flags, .elementor-editor-element-settings, .slick-dots, .swiper-wrapper) li {
        padding-inline-start: 2ch;
        position: relative;
    }

    main ul.custom li::before,
    .section-features-desc .product-description ul li::before,
    main :is(.elementor, .product-description-short, .product-description-long) ul:not(.product-flags, .elementor-editor-element-settings, .slick-dots, .swiper-wrapper) li::before {
        content: "-";
        font-size: inherit;
        line-height: inherit;
        position: absolute;
        inset-inline-start: 0;
    }

    table {
        border-collapse: collapse;
    }

    .table {
        inline-size: 100%;
        margin-block-end: 0;
    }

    .table :is(th, td) {
        text-align: inherit;
        padding: var(--spacing-2xs);
    }

    .table:not(.table-striped) :is(th, td) {
        border-block-start: var(--border-width) solid var(--border-color);
    }

    .table .thead-default,
    .table .thead-default th {
        background: var(--title-color);
        color: var(--background-color);
        font: var(--text-weight-bold) var(--text-size-small)/1 var(--font-text);
    }

    .table-bordered, 
    .table-bordered td, 
    .table-bordered .thead-default th {
        border-color: var(--shadow-color);
    }

    .table-striped {
        border-radius: clamp(0rem, var(--border-radius), 1rem);
        overflow: hidden;
    }

    .table-striped tbody tr:nth-of-type(odd) {
        background: var(--background-grey);
    }

    .table :is(td.number, th.number) {
        text-align: right;
    }

    .table :is(.head-checkbox, .product-line__cell--checkbox) {
        text-align: center;
        vertical-align: middle;
    }

    .table :is(.head-checkbox, .product-line__cell--checkbox) > .custom-checkbox {
        margin-inline: auto;
    }

    .alert:not(:last-child) {
        margin-block-end: var(--spacing-xs);
    }

    .badge {
        border-radius: clamp(0rem, var(--border-radius) / 2, .25rem);
        display: inline-flex;
        align-items: center;
        line-height: 1.3;
        white-space: initial;
        text-align: left;
        margin: 0;
        padding-block: var(--spacing-4xs);
        padding-inline: var(--spacing-3xs);
    }

    :is(.badge-order-1, .badge-order-10, .badge-order-12, .badge-order-13, .badge-order-14, .badge-order-15, .badge-order-16, .badge-order-19, .badge-return-1) {
        background: var(--status-waiting);
        color: var(--title-color);
    }

    :is(.badge-order-2, .badge-order-9, .badge-order-11, .badge-order-17, .badge-return-2) {
        background: var(--status-accepted);
        color: var(--background-color);
    }

    :is(.badge-order-3, .badge-order-18, .badge-return-3) {
        background: var(--status-processing);
        color: var(--light-color);
    }

    .badge-order-4 {
        background: var(--status-sent);
        color: var(--light-color);
    }

    :is(.badge-order-5, .badge-order-7, .badge-return-5) {
        background: var(--status-success);
        color: var(--background-color);
    }

    :is(.badge-order-6, .badge-order-8, .badge-return-4) {
        background: var(--status-error);
        color: var(--background-color);
    }
    
    :is(.elementor-widget-image, .elementor-widget-image-carousel) figure {
        position: relative;
    }

    :is(.elementor-widget-image, .elementor-widget-image-carousel) figcaption {
        inline-size: var(--wrapper-size-mobile);
        position: absolute;
        inset-block-end: var(--spacing-xs);
        inset-inline-start: 50%;
        translate: -50%;
    }

    .elementor-widget-accordion .elementor-accordion-item {
        border: none;
    }

    .elementor-widget-accordion :is(.elementor-tab-title, .elementor-tab-content) {
        border-block-start: none;
    }

    .elementor-widget-accordion .elementor-accordion-item:not(:last-child) :is(.elementor-tab-title, .elementor-tab-content) {
        border-block-end: var(--border-width) solid var(--shadow-color);
    }

    .elementor-widget-accordion .elementor-accordion-item:first-child .elementor-tab-title {
        padding-block-start: 0;
    }

    .elementor-widget-accordion .elementor-accordion-item:last-child .elementor-tab-title {
        padding-block-end: 0;
    }

    .elementor-widget-accordion .elementor-tab-title {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 3ch;
        padding: var(--spacing-sm);
    }

    .elementor-widget-accordion .elementor-tab-title a {
        color: var(--title-color);
        font: var(--text-weight-bold) var(--text-size-big)/1.3 var(--font-text);
    }

    .elementor-widget-accordion .elementor-tab-title .elementor-accordion-title {
        order: 1;
    }

    .elementor-widget-accordion .elementor-tab-title .elementor-accordion-icon {
        float: none;
        inline-size: auto;
        order: 2;
    }

    .elementor-widget-accordion .elementor-tab-title .elementor-accordion-icon,
    .elementor-widget-accordion .elementor-tab-title .elementor-accordion-icon span {
        line-height: 1;
    }

    .elementor-widget-accordion .elementor-tab-content {
        padding-block: var(--spacing-sm) var(--spacing-lg);
        padding-inline: var(--spacing-sm);
    }

    .elementor-widget-accordion .elementor-accordion-icon i::before {
        color: var(--title-color);
        font: var(--font-icon);
        font-size: .5rem;
        letter-spacing: 0;
        transition: var(--transition-default);
    }

    .elementor-widget-accordion .elementor-accordion-icon-closed::before {
        content: "\e900";
    }

    .elementor-widget-accordion .elementor-accordion-icon-opened::before {
        content: "\e901";
    }

    @media only screen and (hover: hover) and (pointer: fine) {
        
        .elementor-widget-accordion .elementor-tab-title:hover > a,
        .elementor-widget-accordion .elementor-tab-title:hover .elementor-accordion-icon i::before {
            color: var(--secondary-color);
        }

        .elementor-widget-accordion .elementor-tab-title:active > a,
        .elementor-widget-accordion .elementor-tab-title:active .elementor-accordion-icon i::before {
            color: var(--secondary-hover-color);
        }
    }

    @media only screen and (hover: none) and (pointer: coarse) {
        
        .elementor-widget-accordion .elementor-tab-title:active > a,
        .elementor-widget-accordion .elementor-tab-title:active .elementor-accordion-icon i::before {
            color: var(--secondary-color);
        }
    }

    .product-flags {
        display: flex;
        flex-flow: column;
        align-items: flex-end;
        gap: var(--spacing-4xs);
        inline-size: 100%;
        pointer-events: none;
        padding: var(--spacing-2xs);
        position: absolute;
        inset-block-start: 0;
        inset-inline-end: 0;
        z-index: 2;
    }

    .product-flags__flag {
        background: var(--title-color); 
        border-radius: calc(var(--border-radius) / 2);
        color: var(--background-color);
        font: var(--text-weight-bold) var(--text-size-small)/var(--line-height) var(--font-text);
        padding-block: var(--spacing-4xs);
        padding-inline: var(--spacing-2xs);
    }

    .product-flags__flag--discount {
        background: var(--secondary-color);
    }

    @container viewport (80rem < inline-size <= 90rem) {
        
        main :is(.swiper.slideperview-5, .swiper-inodia.slideperview-5):not(.swiper-initialized) .swiper-slide {
            --_nb-slide-item: 4;
        }
    }

    @container viewport (45rem < inline-size <= 80rem) {

        main :is(.swiper.slideperview-5, .swiper.slideperview-4, .swiper-inodia.slideperview-5, .swiper-inodia.slideperview-4):not(.swiper-initialized) .swiper-slide {
            --_nb-slide-item: 3;
        }
    }

    @container viewport (inline-size <= 45rem) {

        main :is(.swiper, .swiper-inodia):not(.swiper-initialized, .slideperview-1) .swiper-slide {
            --_nb-slide-item: 2;
        }        
    }

    @container viewport (inline-size <= 24rem) {
            
        .elementor-widget-accordion :is(.elementor-tab-title, .elementor-tab-content) {
            padding-inline: 0;
        }
    }
}

@layer components {

    .fond:is(.noir, .blanc):not(.block),
    .fond:is(.noir, .blanc).block > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
        background: var(--background-color);
    }

    .fond.gris:not(.block),
    .fond.gris.block > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
        background: var(--background-grey);
    }

    .fond.dark-blue:not(.block),
    .fond.dark-blue.block > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
        background: color-mix(in srgb, var(--background-color), var(--primary-color) 10%);
    }

    .fond.light-blue:not(.block),
    .fond.light-blue.block > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
        background: oklch(from var(--secondary-color) l c h / .2);
    }

    .light-scheme-color:not(.light-default) :where(.fond.blanc:not(.block), .fond.block.blanc > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)),
    .light-scheme-color.light-default :where(.fond.noir:not(.block), .fond.block.noir > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)),
    .dark-scheme-color:not(.dark-default) :where(.fond.noir:not(.block), .fond.block.noir > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)),
    .dark-scheme-color.dark-default :where(.fond.blanc:not(.block), .fond.block.blanc > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)) {
        color-scheme: dark;
    }

    .dark-scheme-color:not(.dark-default) :where(.fond.noir:not(.block), .fond.block.noir > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)),
    .dark-scheme-color.dark-default :where(.fond.blanc:not(.block), .fond.block.blanc > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)),
    .light-scheme-color:not(.light-default) :where(.fond.noir:not(.block), .fond.block.noir > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)),
    .light-scheme-color.light-default :where(.fond.blanc:not(.block), .fond.block.blanc > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)) {
        color-scheme: light;
    }

    :is(.elementor-widget-image, .elementor-widget-image-carousel) figcaption {
        background: oklch(from var(--dark-color) l c h / .25);
        border-radius: var(--border-radius);
        color: var(--light-color);
        inline-size: var(--wrapper-size-mobile);
        padding: var(--spacing-3xs);
    }

    .elementor-testimonial-wrapper {
        text-align: left;
    }

    .elementor-widget-testimonial-carousel .elementor-main-swiper {
        inline-size: 100%;
    }

    .elementor-widget-testimonial-carousel .swiper-slide {
        padding: 0;
    }

    .elementor-widget-testimonial-carousel :is(.elementor-testimonial__text, .elementor-testimonial__name) {
        color: var(--title-color);
        font: var(--text-weight-bold) var(--text-size-normal)/1.3 var(--font-text);
    }

    .elementor-widget-testimonial-carousel .elementor-testimonial__title {
        font: var(--text-weight-normal) var(--text-size-small)/1.3 var(--font-text);
        margin-block-start: var(--spacing-4xs);
    }

    .elementor-widget-heading:not(.h3, .h4, .center, .right, .inodia-icons):has(h2) {    
        display: flex;
        flex-flow: column;
        align-items: flex-start;
    }

    .center .elementor-widget-heading:not(.h3, .h4, .center, .right, .inodia-icons):has(h2) {
        align-items: center;
    }

    :is(.elementor-widget + .quote, .elementor-widget-heading + .elementor-widget-product-carousel),
    :is(.elementor-widget-heading.h1, .elementor-widget-heading.h2, .elementor-widget-heading:not(.h3, .h4):has(h1, h2)) + :is(.elementor-widget:not(.elementor-widget-heading), .elementor-inner-section) {
        margin-block-start: var(--spacing-lg);
    }

    :is(.elementor-widget-heading.h3, .elementor-widget-heading:not(.h1, .h2, .h4):has(h3)) + :is(.elementor-widget:not(.elementor-widget-heading), .elementor-inner-section) {
        margin-block-start: var(--spacing-md);
    }

    :is(.elementor-widget-heading.h4, .elementor-widget-heading:not(.h1, .h2, .h3):has(h4)) + :is(.elementor-widget:not(.elementor-widget-heading), .elementor-inner-section) {
        margin-block-start: var(--spacing-sm);
    }

    .elementor-inner-section + .elementor-widget,
    .elementor-widget:not(.elementor-widget-menu-anchor, .elementor-widget-heading) + :is(.elementor-widget-heading.h2, .elementor-widget-heading:not(.h3, .h4):has(h2)) {
        margin-block-start: calc(var(--spacing-lg) * 2);
    }

    .elementor-widget:not(.elementor-widget-menu-anchor, .elementor-widget-heading) + :is(.elementor-widget-heading.h3, .elementor-widget-heading:not(.h2, .h4):has(h3)) {
        margin-block-start: calc(var(--spacing-md) * 2);
    }

    .elementor-widget:not(.elementor-widget-menu-anchor, .elementor-widget-heading) + :is(.elementor-widget-heading.h4, .elementor-widget-heading:not(.h2, .h3):has(h4)) {
        margin-block-start: calc(var(--spacing-sm) * 2);
    }

    .elementor-widget-image + .elementor-widget-heading {
        margin-block-start: var(--spacing-3xl);
    }
    
    .card {
        background: var(--background-color);
        border-radius: clamp(0rem, var(--border-radius), clamp(2rem, 1.75rem + 1.25vw, 3rem));
    }

    .card__item {
        border-radius: clamp(0rem, var(--border-radius), clamp(1.5rem, 1.375rem + .625vw, 2rem));
        container: card__item / inline-size;
        display: flex;
        flex-flow: column;
        overflow: hidden;
    }

    .card__header {
        padding-block: var(--spacing-md) 0;
        padding-inline: var(--spacing-md);
    }

    .card__body {
        flex-grow: 1;
        padding-block: var(--spacing-xs) var(--spacing-md);
        padding-inline: var(--spacing-md);
    }

    ul.card__body {
        display: flex;
        flex-flow: column;
        gap: var(--spacing-3xs);
    }

    .card__footer {
        background: var(--background-color);
        border-radius: 0 0 clamp(0rem, var(--border-radius), clamp(1.5rem, 1.375rem + .625vw, 2rem)) clamp(0rem, var(--border-radius), clamp(1.5rem, 1.375rem + .625vw, 2rem));
        display: flex;
        align-items: stretch;
        justify-content: center;
        gap: var(--spacing-xs);
        padding: var(--spacing-2xs);
    }

    .card__footer .separator {
        background: var(--outline-color);
        display: flex;
        inline-size: var(--border-width);
        block-size: 100%;
    }

    .card__footer a {
        display: inline-flex;
        align-items: center;
        gap: 1ch;
        font: var(--text-weight-medium) var(--text-size-small)/1.1 var(--font-text);
    }

    .card__footer a i {
        font-size: var(--text-size-small);
    }

    @container card__item (inline-size < 16rem) {
        
        .card__item .card__header {
            font-size: var(--text-size-normal);
            padding-block: var(--spacing-sm) 0;
            padding-inline: var(--spacing-sm);
        }
        
        .card__item .card__body {
            padding-block: var(--spacing-xs) var(--spacing-sm);
            padding-inline: var(--spacing-sm);
        }
        
        .card__item ul.card__body {
            gap: var(--spacing-4xs);
        }

        .card__item ul.card__body li {
            display: flex;
            flex-flow: row wrap;
            align-items: baseline;
            gap: var(--spacing-3xs);
            line-height: 1.3;
        }
        
        .card__item address,
        .card__item .card__body :is(li, strong) {
            font-size: var(--text-size-small);
        }
        
        .card__item .card__footer {
            gap: var(--spacing-2xs);
            padding: var(--spacing-3xs);
        }
        
        .card__item .card__footer a {
            font-size: .5rem;
            gap: var(--spacing-4xs);
        }
    }
    
    .breadcrumb {
        margin-block-end: var(--spacing-md);
    }

    .breadcrumb ol {
        display: flex;
        gap: var(--spacing-3xs) 1ch;
    }

    .breadcrumb li {
        display: inline-flex;
        align-items: baseline;
        gap: 1ch;
        line-height: 1.1;
    }

    .breadcrumb li:not(:first-child)::before {
        content: ">";
        color: var(--title-color);
        font-size: var(--text-size-small);
        padding: 0;
    }

    .breadcrumb a {
        display: flex;
    }

    .breadcrumb span {
        font: var(--text-weight-normal) var(--text-size-small)/1.3 var(--font-text);
        white-space: nowrap;
        text-overflow: ellipsis;
        overflow: hidden;
    }

    .breadcrumb a span {
        max-inline-size: 12ch;
    }

    .breadcrumb li > span {
        color: var(--title-color);
        font-weight: var(--text-weight-medium);
        max-inline-size: 24ch;
    }

    .boutons:has(> .bouton),
    .boutons .elementor-widget-wrap {
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        gap: var(--spacing-2xs);
    }

    .wrap-bouton {
        display: flex;
    }

    .wrap-bouton.center,
    .center .wrap-bouton,
    .center .boutons .elementor-widget-wrap {
        justify-content: center;
    }

    .boutons .bouton {
        display: table;
        inline-size: auto;
        margin: 0;
    }

    .center .bouton,
    .bouton.center {
        display: flex;
        justify-content: center;
    }

    .bouton:not(div),
    .bouton :is(a, button, [type=submit], .wpcf7-submit) {
        color: var(--_btn-text-color);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 1.5ch;
        outline-color: var(--_btn-color);
    }

    .bouton:not(.link, div),
    .bouton:not(.link) :is(a, button, [type=submit], .wpcf7-submit) {
        background: var(--_btn-color);
        border: var(--border-width) solid transparent;
        border-radius: var(--border-radius);
        text-align: center;
        padding-block: var(--spacing-xs);
        padding-inline: calc(var(--spacing-xs) * 2);
    }

    .bouton.wpcf7-submit,
    .bouton:not(.elementor-element, .icon),
    .bouton:not(.icon) span {
        font: 400 .875rem/1.1 var(--font-title);
        letter-spacing: .1em;
        text-transform: uppercase;
    }

    .bouton span {
        color: inherit;
        display: inline-flex;
        gap: var(--spacing-2xs);
        text-align: center;
    }

    .bouton.download:not(div)::before,
    .bouton.download :is(a, button, [type=submit]) > span::before {
        font: var(--font-icon);
    }


    .bouton.contour:not(:hover, :active, div),
    .bouton.contour :is(a, button, [type=submit]):not(:hover, :active),
    .bouton.link:not(div),
    .bouton.link :is(a, button, [type=submit]) {
        background: transparent;
        border-color: var(--_btn-color);
        --_btn-text-color: var(--_btn-color);
    }

    .bouton.primary:not(div),
    .bouton.primary :is(a, button, [type=submit]) {
        --_btn-color: var(--primary-color);
        --_btn-text-color: var(--light-color);
    }

    .bouton.secondary:not(div),
    .bouton.secondary :is(a, button, [type=submit]) {
        --_btn-color: var(--secondary-color);
        --_btn-text-color: var(--dark-color);
    }

    .bouton.dark:not(div),
    .bouton.dark :is(a, button, [type=submit]) {
        --_btn-color: var(--title-color);
        --_btn-text-color: var(--background-color);
    }

    @media only screen and (hover: hover) and (pointer: fine) {

        .bouton.primary:not(.contour, div):hover,
        .bouton.primary:not(.contour) :is(a, button, [type=submit]):hover,
        .bouton.primary.contour:not(div):active,
        .bouton.primary.contour :is(a, button, [type=submit]):active {
            --_btn-color: var(--primary-hover-color);
        }

        .bouton.primary:not(.contour, div):active,
        .bouton.primary:not(.contour) :is(a, button, [type=submit]):active {
            --_btn-color: var(--primary-active-color);
        }

        .bouton.secondary:not(.contour, div):hover,
        .bouton.secondary:not(.contour) :is(a, button, [type=submit]):hover,
        .bouton.secondary.contour:not(div):active,
        .bouton.secondary.contour :is(a, button, [type=submit]):active {
            --_btn-color: var(--secondary-hover-color);
        }

        .bouton.secondary:not(.contour, div):active,
        .bouton.secondary:not(.contour) :is(a, button, [type=submit]):active {
            --_btn-color: var(--secondary-active-color);
        }

        .bouton.dark:not(.contour, div):hover,
        .bouton.dark:not(.contour) :is(a, button, [type=submit]):hover,
        .bouton.dark.contour:not(div):active,
        .bouton.dark.contour :is(a, button, [type=submit]):active {
            --_btn-color: var(--strong-color);
        }

        .bouton.dark:not(.contour, div):active,
        .bouton.dark:not(.contour) :is(a, button, [type=submit]):active {
            --_btn-color: var(--text-color);
        }
    }

    @media only screen and (hover: none) and (pointer: coarse) {
        
        .bouton.primary:not(.contour, div):active,
        .bouton.primary:not(.contour) :is(a, button, [type=submit]):active {
            --_btn-color: var(--primary-hover-color);
        }

        .bouton.primary.contour:not(div):active,
        .bouton.primary.contour :is(a, button, [type=submit]):active {
            --_btn-color: var(--primary-color);
        }

        .bouton.secondary:not(.contour, div):active,
        .bouton.secondary:not(.contour) :is(a, button, [type=submit]):active {
            --_btn-color: var(--secondary-hover-color);
        }

        .bouton.secondary.contour:not(div):active,
        .bouton.secondary.contour :is(a, button, [type=submit]):active {
            --_btn-color: var(--secondary-color);
        }

        .bouton.dark:not(.contour, div):active,
        .bouton.dark:not(.contour) :is(a, button, [type=submit]):active {
            --_btn-color: var(--strong-color);
        }

        .bouton.dark.contour:not(div):active,
        .bouton.dark.contour :is(a, button, [type=submit]):active {
            --_btn-color: var(--title-color);
        }
    }

    .bouton.link:not(div),
    .bouton.link :is(a, button, [type=submit]) {
        color: var(--_btn-color);
        text-align: right;
    }

    .bouton:is(.link, .arrow):not(div)::after,
    .bouton:is(.link, .arrow) :is(a, button, [type=submit])::after {
        content: "\e91f";
        color: inherit;
        font: var(--font-icon);
        font-size: var(--text-size-small);
        letter-spacing: 0;
    }

    .bouton.link:not(div)::after,
    .bouton.link :is(a, button, [type=submit])::after {
        transition: translate .5s cubic-bezier(0.8, -0.4, 0.5, 1);
    }

    @media (prefers-reduced-motion: no-preference) {

        .bouton.link:not(div):hover::after,
        .bouton.link :is(a, button, [type=submit]):hover::after {
            translate: .25rem;
        }

        .bouton.link:not(div):active::after,
        .bouton.link :is(a, button, [type=submit]):active::after {
            translate: .5rem;
        }
    }

    .bouton.icon .elementor-button-wrapper {
        display: table;
    }

    .bouton.icon:not(div),
    .bouton.icon :is(a, button, [type=submit]) {
        aspect-ratio: 1;
        border-radius: 50%;
        padding: var(--spacing-sm);
    }

    .bouton.icon :is(a, button, [type=submit]) > span {
        --_icon-size: var(--h4-font-size);
        font-size: var(--_icon-size);
        aspect-ratio: 1;
        inline-size: auto;
        block-size: var(--_icon-size);
    }

    @media (prefers-reduced-motion: no-preference) {

        @media only screen and (hover: hover) and (pointer: fine) {

            .bouton.icon.icon-play a:hover {
                scale: 1.05;
            }

            .bouton.icon.icon-play a:active {
                scale: 1.1;
            }
        }

        @media only screen and (hover: none) and (pointer: coarse) {

            .bouton.icon.icon-play a:active {
                scale: 1.05;
            }
        }
    }

    .modal-backdrop {
        background: radial-gradient(oklch(from var(--dark-color) l c h / .5), 25%, var(--dark-color));
    }

    .modal-backdrop.show {
        opacity: .66;
    }

    .modal-content {
        background: var(--background-color);
    }

    .modal:not(.modal-fullscreen) .modal-content {
        border-radius: clamp(0rem, var(--border-radius), 2rem);
        box-shadow: 0 8px 64px -32px var(--shadow-secondary-color);
    }

    .modal-header,
    .header-top__block--cart .blockcart__dropdown .cart-dropdown__title {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: calc(var(--spacing-2xs) * 2);
    }

    .pagination .page-list :is(li, a, li.disabled > span) {
        line-height: 1;
    }

    .modal-header .modal-title {
        color: var(--title-color);
        font: var(--text-weight-bold) var(--text-size-big)/1 var(--font-text);
    }

    .modal-header .close span {
        font-size: var(--text-size-normal);
    }

    .modal:not(.js-product-images-modal, .modal-fullscreen) .modal-header + .modal-body {
        border-block-start: var(--border-width) solid var(--shadow-color); 
    }

    .modal:not(.js-product-images-modal, .modal-fullscreen) .modal-content .modal-body:has(+ .modal-footer) {
        border-block-end: var(--border-width) solid var(--shadow-color); 
    }

    :is(.modal-body, .cart-summary) .cart-products {
        display: grid;
        grid-template-columns: 72px minmax(0, 1fr);
        gap: var(--spacing-xs);
    }

    .modal-content .cart-products {
        padding: var(--spacing-xs);
        margin-block-end: var(--spacing-xs);
    }

    .modal-content .cart-products .product-name {
        color: var(--title-color);
        display: table;
        font: var(--font-product-title);
        letter-spacing: var(--product-title-letter-spacing);
        text-transform: var(--product-title-transform);
    }

    .modal-content .cart-products .price {
        font-size: var(--text-size-small);
    }

    .modal-content .modal-footer {
        justify-content: center;
        padding: var(--spacing-xs);
    }

    .modal-content .modal-btn {
        display: flex;
        inline-size: 100%;
    }
    
    .pagination {
        display: flex;
        flex-flow: column;
        align-items: center;
        gap: var(--spacing-md);
        margin-block-start: var(--spacing-xl);
        position: relative;
    }

    .pagination > p,
    .products-selection .showing {
        color: var(--muted-color);
    }

    .pagination p {
        font: var(--text-weight-normal) var(--text-size-small)/1.1 var(--font-text);
        letter-spacing: var(--letter-spacing);
        text-align: center;
    }

    .pagination .page-list {
        display: flex;
        flex-flow: row wrap;
        align-items: baseline;
        justify-content: center;
        gap: var(--spacing-2xs) calc(var(--spacing-2xs) * 2);
    }

    .pagination .page-list :is(a, li.disabled > span)  {
        display: inline-flex;
        align-items: center;
        gap: var(--spacing-2xs);
    }

    .pagination .page-list li.disabled > span {
        color: var(--title-color);
    }

    .pagination .page-list li:not(.disabled) a:not(.previous, .next) {
        letter-spacing: 0;
    }

    .pagination .page-list i {
        font-size: var(--text-size-small);
    }

    .pagination .page-list li.current a {
        background: var(--primary-color);
        border-radius: var(--border-radius);
        color: var(--light-color);
        padding: var(--spacing-3xs) var(--spacing-2xs);
    }
    
    .js-search-result .search-result {
        max-block-size: 20rem;
        overflow: auto;
        overscroll-behavior: contain;
        padding: var(--spacing-xs);
    }

    @-moz-document url-prefix() {
        
        .js-search-result .search-result {
            scrollbar-color: var(--shadow-color) var(--background-color);
            scrollbar-width: thin;
        }
    }

    .js-search-result .search-result__products {
        display: flex;
        flex-flow: column;
        gap: var(--spacing-sm);
    }

    .js-search-result .search-result__products:not(:last-child) {
        margin-block-end: var(--spacing-sm);
    }

    .js-search-result .product-miniature--smaller .product-miniature__desc {
        display: flex;
        flex-flow: column;
        gap: var(--spacing-3xs);
    }

    .js-search-result .product-miniature--smaller .product-miniature__title p {
        color: inherit;
        font: inherit;
        margin: 0;
    }

    .product-miniature--smaller {
        display: grid;
        grid-template-columns: 48px auto;
        grid-template-rows: auto 1fr;
        gap: var(--spacing-3xs);
    }

    .product-table .product-line__cell--img img,
    .product-miniature--smaller .product-miniature__thumb {
        border-radius: clamp(0rem, var(--border-radius), .5rem);
    }

    .product-miniature--smaller .product-miniature__thumb {
        grid-row: 1 / 3;
    }

    .product-miniature--smaller :is(.product-miniature__pricing, .price) {
        flex-grow: initial;
    }

    .js-search-result .search-result__bottom {
        position: sticky;
        inset-block-end: var(--spacing-3xs);
        inset-inline-start: 0;
        z-index: 1;
    }

    .js-search-result .search-result__bottom .bouton {
        inline-size: 100%;
        font-size: var(--text-size-small);
        padding-block: var(--spacing-3xs);
        padding-inline: var(--spacing-xs);
    }

    .featured-products .product-slider__item,
    .elementor-widget-product-carousel .swiper-slide {
        block-size: auto;
        overflow: initial;
        padding-inline: var(--spacing-2xs);
    }

    .featured-products .product-slider .swiper-slide .product-miniature,
    .elementor-widget-product-carousel .products-list__block {
        inline-size: 100%;
    }

    main :is(.product-slider__item, .products-list__block) {
        container: product / inline-size;
        position: relative;
    }

    :is([class*="-miniature "],[class$="-miniature"]):not(.product-miniature--smaller) {
        display: flex;
        flex-flow: column;
        align-items: flex-start;
        block-size: 100%;
    }

    .product-miniature:not(.product-miniature--smaller) {
        background: linear-gradient(180deg, var(--background-color) 55.81%, color-mix(in srgb, var(--background-color), var(--title-color) 10%) 100%);
        border-radius: var(--border-radius);
        overflow: hidden;
    }

    body:is(.category-id-14, .category-id-parent-14) .product-miniatures__list :is([class*="-miniature "],[class$="-miniature"]):not(.product-miniature--smaller) {
        position: relative;
        z-index: 1;
    }
    
    .product-miniature:not(.product-miniature--smaller) .product-miniature__pricing {
        display: flex;
        flex-flow: row wrap;
        align-items: flex-end;
        justify-content: flex-end;
        flex-grow: 1;
        gap: var(--spacing-4xs) var(--spacing-3xs);
    }

    @container product (28rem < inline-size) {

        .product-controller:not(.product-miniature--smaller) {
            background: var(--background-color);
            display: grid;
            grid-template-columns: 3fr 2fr;
        }

        .product-controller:not(.product-miniature--smaller) .product-miniature__desc {
            block-size: 100%;
            padding-block: var(--spacing-xl) var(--spacing-md);
            padding-inline: var(--spacing-sm);
        }

        .product-controller:not(.product-miniature--smaller) .product-miniature-description {
            -webkit-line-clamp: 4;
        }

        .product-controller:not(.product-miniature--smaller) .product-miniature__actions {
            margin-block-start: var(--spacing-2xs);
        }
    }

    @container product (inline-size <= 14rem) {
        
        .product-miniature:not(.product-miniature--smaller) {
            gap: var(--spacing-2xs);
        }
        
        .product-miniature:not(.product-miniature--smaller) :is(.product-miniature__title, .price, .from-price, .bouton) {
            font-size: var(--text-size-small);
        }
        
        .product-miniature:not(.product-miniature--smaller) :is(.product-flags__flag, .bandeau) {
            padding-block: var(--spacing-4xs);
            padding-inline: var(--spacing-3xs);
        }
        
        .product-miniature:not(.product-miniature--smaller) .product-flags {
            padding: var(--spacing-3xs);
        }
        
        .product-miniature:not(.product-miniature--smaller) .product-flags__flag {
            line-height: 1.3;
        }

        main .product-miniature .product-miniature__desc {
            padding: var(--spacing-2xs);
        }
        
        .product-miniature:not(.product-miniature--smaller) .bouton {
            padding: var(--spacing-2xs);
        }
        
        .product-miniature:not(.product-miniature--smaller) .product-miniature__pricing {
            flex-flow: column;
            align-items: flex-start;
        }
        
        .product-miniature.center:not(.product-miniature--smaller) .product-miniature__pricing {
            align-items: center;
        }
    }

    .product-miniature.center:not(.product-miniature--smaller) {
        align-items: center;
    }

    .cart-products__thumb,
    :is([class*="-miniature "],[class$="-miniature"]) [class*="-miniature__thumb"] {
        inline-size: 100%;
        block-size: auto;
        overflow: hidden;
        position: relative;
    }

    :is(.cart-products__thumb, .product-miniature__thumb) {
        aspect-ratio: var(--product-img-ratio);
    }

    :is([class*="-miniature "],[class$="-miniature"]) [class*="-miniature__thumb"] :is(picture, img, svg),
    :is(.cart-products, .cart-dropdown__products) .cart-products__thumb :is(picture, img) {
        inline-size: 100%;
        block-size: 100%;
    }

    :is([class*="-miniature "],[class$="-miniature"]) [class*="-miniature__thumb"] :is(img, svg),
    .header-top__block--cart .blockcart__dropdown .cart-products__thumb img {
        object-fit: cover;
        position: absolute;
        transition: scale .75s linear(0, 0.402 7.4%, 0.711 15.3%, 0.929 23.7%, 1.008 28.2%, 1.067 33%, 1.099 36.9%, 1.12 41%, 1.13 45.4%, 1.13 50.1%, 1.111 58.5%, 1.019 83.2%, 1.004 91.3%, 1);
    }

    @media only screen and (hover: hover) and (pointer: fine) {
        
        :is([class*="-miniature "],[class$="-miniature"]) [class*="-miniature__thumb"]:hover :is(img, svg),
        .header-top__block--cart .blockcart__dropdown .cart-products__thumb:hover img {
            scale: 1.033;
        }
    }

    :is([class*="-miniature "],[class$="-miniature"]) [class*="-miniature__thumb"]:active :is(img, svg),
    .header-top__block--cart .blockcart__dropdown .cart-products__thumb:active img {
        scale: 1.05;
    }

    :is([class*="-miniature "],[class$="-miniature"]).unavailable [class*="-miniature__thumb"] :is(img, svg) {
        filter: grayscale(1);
    }

    .product-miniature__thumb .bandeau {
        background: var(--alert-danger-color);
        color: var(--light-color);
        font: var(--text-weight-bold) var(--text-size-small)/1.3 var(--font-text);
        text-align: center;
        inline-size: 100%;
        margin: 0;
        pointer-events: none;
        padding-block: var(--spacing-4xs);
        padding-inline: var(--spacing-xs);
        position: absolute;
        inset-block-end: 0;
        inset-inline-start: 0;
    }

    main :is([class*="-miniature__desc "],[class$="-miniature__desc"]) {
        display: flex;
        flex-flow: column;
        align-items: flex-start;
        flex-grow: 1;
        gap: var(--spacing-2xs);
        inline-size: 100%;
        padding: var(--spacing-xs) var(--spacing-sm);
    }

    main .product-miniature-description {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
        font-size: var(--text-size-small);
    }

    main :is([class*="-miniature "],[class$="-miniature"]) a[class*="-miniature__title"],
    main :is([class*="-miniature "],[class$="-miniature"]) a[class*="-miniature__title"] p {
        max-inline-size: 100%;
    }

    main :is([class*="-miniature "],[class$="-miniature"]) a[class*="-miniature__title"]:not(.post-miniature__title) {
        display: inline-flex;
        font: var(--font-product-title);
        letter-spacing: var(--product-title-letter-spacing);
        text-transform: var(--product-title-transform);
    }

    main :is([class*="-miniature "],[class$="-miniature"]) a[class*="-miniature__title"] p {
        color: inherit;
        font: inherit;
        letter-spacing: inherit;
        text-transform: inherit;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .product-miniature :is(.product-miniature__actions, .bouton) {
        inline-size: 100%;
    }

    .post-miniature {
        gap: var(--spacing-lg)
    }

    .post-miniature__thumb {
        border-radius: var(--border-radius);
        aspect-ratio: 402 / 464;
    }

    .post-miniature__title {
        font: var(--text-weight-medium) var(--h4-font-size)/1.1 var(--font-text);
        letter-spacing: .01em;
        text-transform: uppercase;
    }

    .post-miniature__desc {
        padding: 0 !important;
    }

    .post-miniature-description {
        color: var(--text-color);
        font: italic var(--text-weight-normal) var(--text-size-big)/1.3 var(--font-text);
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
    }

    .post-miniature__actions {
        margin-block-start: var(--spacing-xs);
    }

    .post-miniature__actions .post-button {
        border-block-end: var(--border-width) solid var(--border-color);
        font: var(--text-weight-bold) var(--text-size-normal)/1.1 var(--font-text);
        letter-spacing: .1em;
        text-transform: uppercase;
        padding-block-end: var(--spacing-3xs);
    }

    .post-miniature__actions .post-button::after {
        content: "";
        background: linear-gradient(90deg, var(--shadow-color), var(--secondary-color), var(--shadow-color));
        display: flex;
        inline-size: auto;
        block-size: var(--border-width);
        opacity: 0;
        margin-block-start: var(--spacing-3xs);
        transition: var(--transition-default);
    }

    
    @media only screen and (hover: hover) and (pointer: fine) {
        
        .post-miniature__actions .post-button:hover {
            border-color: transparent;
        }

        .post-miniature__actions .post-button:active {
            border-color: var(--secondary-hover-color);
        }

        .post-miniature__actions .post-button:hover::after {
            opacity: 1;
        }

        .post-miniature__actions .post-button:active::after {
            opacity: 0;
        }
    }

    @media only screen and (hover: none) and (pointer: coarse) {

        .post-miniature__actions .post-button:active {
            border-color: transparent;
        }

        .post-miniature__actions .post-button:active::after {
            opacity: 1;
        }
    }

    :is(.blockcart__dropdown, .cart-summary-products) .cart-products__thumb {
        border-radius: clamp(0rem, var(--border-radius), .5rem);
    }

    .wrapper-slider + .featured-products__footer {
        display: flex;
        margin-block-start: var(--spacing-lg);
    }

    .featured-products__footer.center {
        justify-content: center;
    }

    .featured-products__footer.right {
        justify-content: flex-end;
    }

    .prices:has(+ .attributes) {
        margin-block-end: var(--spacing-2xs);
    }

    :is(.price:not(.h3), .from-price) {
        color: var(--title-color);
        font: var(--font-product-price);
        letter-spacing: var(--product-price-letter-spacing);
    }

    .price:is(.price--regular, .unit-price-cart) {
        color: var(--muted-color);
        font-weight: var(--text-weight-normal);
    }

    .price.price--regular {
        text-decoration: line-through;
    }

    .attributes :is(li, span) {
        line-height: 1.3;
    }

    .attributes span {
        font-size: var(--text-size-small);
    }

    .attributes .value {
        color: var(--strong-color);
        font-weight: var(--text-weight-medium);
    }

    :is(.bootstrap-touchspin:has(.input-custom-qty), .qty > .input-custom-qty) {
        border: var(--border-width) solid var(--border-color);
        border-radius: clamp(0rem, var(--border-radius), .75rem);
        align-items: center;
        transition: var(--transition-default);
    }

    @media only screen and (hover: hover) and (pointer: fine) {

        :is(.bootstrap-touchspin:has(.input-custom-qty), .qty > .input-custom-qty):hover {
            border-color: var(--border-hover-color);
        }
    }

    .bootstrap-touchspin:has(.input-custom-qty:focus) {
        border-color: var(--secondary-color);
        box-shadow: 0 0 4px oklch(from var(--secondary-color) l c h / .3);
    }

    .input-custom-qty {    
        background: transparent;
        border: none;
        box-shadow: none;        
        color: var(--title-color);
        text-align: center;
    }

    .bootstrap-touchspin .input-group-btn {
        block-size: 100%;
    }

    .bootstrap-touchspin .btn-touchspin {
        background: transparent;
        border: none;
        border-radius: var(--border-radius);
        color: var(--title-color);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        inline-size: 100%;
        block-size: 100%;
        padding: 0;
    }

    .bootstrap-touchspin .btn-touchspin::before {
        font: var(--text-weight-medium) var(--text-size-normal)/1 var(--font-title);
        letter-spacing: .1em;
    }

    .bootstrap-touchspin .bootstrap-touchspin-up::before {
        content: "+";
    }

    .bootstrap-touchspin .bootstrap-touchspin-down::before {
        content: "-";
    }

    @media only screen and (hover: hover) and (pointer: fine) {
        
        .bootstrap-touchspin .btn:hover {
            color: var(--secondary-color);
        }
        
        .bootstrap-touchspin .btn:active {
            color: var(--secondary-hover-color);
        }
    }

    @media only screen and (hover: none) and (pointer: coarse) {
        
        .bootstrap-touchspin .btn:active {
            color: var(--secondary-color);
        }
    }

    main .post-slider {
        display: flex;
        flex-flow: column;
        margin-inline: calc(var(--spacing-xs) * -1);
    }

    main :is(.post-slider__item, .posts-list__block) {
        container: blog-post / inline-size;
        position: relative;
    }

    .slider-posts-blog .post-slider__item {
        block-size: auto;
        overflow: initial;
        padding-inline: var(--spacing-xs);
    }


    @container blog-post (inline-size <= 24rem) {
                
        .post-miniature {
            gap: var(--spacing-md);
        }

        .post-miniature-description {
            font-size: var(--text-size-normal);
        }

        .post-miniature__actions .post-button {
            font-size: var(--text-size-small);
        }
    }

    @container blog-post (inline-size <= 16rem) {

        .post-miniature-description {
            font-size: var(--text-size-small);
        }
    }  
    
    .back-to-top {
        border-radius: var(--border-radius) !important;
        padding: var(--spacing-2xs) !important;
        position: fixed;
        inset-block-end: var(--spacing-md);
        inset-inline-end: var(--spacing-md);
        transition: var(--transition-default), opacity .15s ease-in-out;
        z-index: 50;
    }

    .back-to-top i {
        font-size: .5rem;
    }

    .back-to-top.hide {
        opacity: 0;
        pointer-events: none;
    }

    .header-banner .messages-banner {
        display: grid;
        grid-template-columns: minmax(0,1fr);
    }

    .header-banner .message-banner {
        display: flex;
        flex-flow: row wrap;
        align-items: baseline;
        justify-content: center;
        grid-row-start: 1;
        grid-column-start: 1;
        inline-size: 100%;
        text-align: center;
        position: static;
        animation-timing-function: ease-in-out;
        animation-iteration-count: infinite;
    }

    .header-banner .message-banner > * {
        margin-block: var(--spacing-4xs);
        margin-inline: var(--spacing-3xs);
    }

    .header-banner .banner-title + .banner-description {
        margin-block-start: var(--spacing-3xs);
    }

    .header-banner :is(p, span, a) {
        font: var(--text-weight-normal) var(--text-size-small)/1.3 var(--font-text);
        text-align: center;
        text-wrap: balance;
    }

    .header-banner a {
        position: relative;
        white-space: pre;
    }

    .header-banner a::before {
        content: "";
        display: block;
        inline-size: 100%;
        block-size: var(--border-width);
        position: absolute;
        inset-block: auto 0;
        inset-inline: 0;
        opacity: 1;
        transition: width .3s cubic-bezier(0.51, 0.18, 0, 0.88) .15s;
    }

    @media only screen and (hover: hover) and (pointer: fine) {
        
        .header-banner a:is(:hover, :focus-visible)::before {
            inline-size: 0;
            inset-inline-start: initial;
        }
    }
    
    .header-banner .message-banner-wrapper {
        background: oklch(from var(--primary-color) l c h / .2);
        padding-block: var(--spacing-3xs);
    }

    .header-banner .banner-title {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .header-banner .banner-title .title {
        color: var(--title-color);
    }

    .header-banner .banner-title .material-icons {
        display: none;
    }

    .header {
        container: main-nav / inline-size;
        position: relative;
        z-index: 50;
    }

    .header:not(.header-absolute) .header-wrapper {
        background: var(--background-color);
    }

    .header .header-nav {
        padding-block: var(--padding-header);
        position: relative;
    }

    .header-absolute:not(.header-absolute-home) .header-nav,
    .page-index .header-absolute-home .header-nav {
        color-scheme: dark;
    }

    .header .header-nav > .container {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        gap: 5%;
    }

    .header .header-top__block--logo a {
        aspect-ratio: var(--logo-ratio);
        inline-size: auto;
        block-size: var(--logo-height);
    }

    .header .header-top__block--logo img {
        inline-size: 100%;
        block-size: 100%;
    }

    .header .header-top__block--eshop {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: var(--spacing-sm);
    }

    .header :is(.header-top__block, .blockcart) > :is(a, button):not(.bouton) {
        display: flex;
        position: relative;
    }

    .header :is(.header-top__block, .blockcart) > :is(a, button):not(.bouton) .header-top__icon {
        font-size: 1.5rem;
    }

    .header .header-top__block--cart .header-top__badge {
        background: transparent;
        color: var(--dark-color);
        display: flex;
        inline-size: auto;
        block-size: auto;
        font: var(--text-weight-bold) .5rem/1 var(--font-text);
        letter-spacing: var(--letter-spacing);
        padding: var(--spacing-4xs);
        position: absolute;
        inset-block-start: 0;
        inset-inline-end: 0;
        translate: 20% -25%;
        z-index: 1;
    }

    .header .header-top__block--cart .header-top__badge::before {
        content: "";
        background: var(--secondary-color);
        border-radius: 100%;
        aspect-ratio: 1; 
        inline-size: 100%;
        block-size: auto;
        line-height: 1;
        position: absolute;
        inset-block: 50% 0;
        inset-inline: 0 50%;
        translate: 0 -50%;
        z-index: -1;
    }

    .header .blockcart__dropdown {
        background: var(--background-color);
        border-radius: clamp(0rem, var(--border-radius), 2rem);
        box-shadow: 0 2px 14px var(--shadow-secondary-color);
        inline-size: 20rem;
        overflow: hidden;
        z-index: 1000;
    }

    .header .blockcart__dropdown.show {
        display: block;
    }

    .header .cart-dropdown__content {
        padding: var(--spacing-sm);
    }

    .header .cart-dropdown__title {
        color: var(--title-color);
        font: var(--text-weight-bold) var(--text-size-normal)/1 var(--font-text);
        margin-block-end: var(--spacing-sm);
    }

    .header .cart-dropdown__close {
        display: flex;
        font-size: var(--text-size-normal);
        line-height: 1;
    }

    .header .cart-dropdown__products {
        border: none;
        max-block-size: 15rem;
        overflow: auto;
        overscroll-behavior: contain;
        padding-block: var(--spacing-3xs);
        padding-inline: var(--spacing-3xs) 0;
    }

    @-moz-document url-prefix() {
        
        .header .cart-dropdown__products {
            scrollbar-color: var(--shadow-color) var(--background-color);
            scrollbar-width: thin;
        }
    }
 
    textarea::-webkit-scrollbar,
    .js-search-result .search-result::-webkit-scrollbar,
    .header .cart-dropdown__products::-webkit-scrollbar {
        inline-size: 4px;
    }

    textarea::-webkit-scrollbar-thumb,
    .header .cart-dropdown__products::-webkit-scrollbar-thumb,
    .js-search-result .search-result::-webkit-scrollbar-thumb {
        background: var(--shadow-color);
    }

    .header .cart-dropdown__products .cart-products {
        display: grid;
        grid-template-columns: 64px minmax(0, 1fr) auto;
        align-items: flex-start;
        gap: var(--spacing-2xs);
        padding-block-end: var(--spacing-xs);
    }

    .header .cart-dropdown__products .cart-products:not(:first-child) {
        border-block-start: var(--border-width) solid var(--shadow-color);
        padding-block-start: var(--spacing-xs);
    }

    .header .cart-dropdown__products .cart-products__title {
        font: var(--font-product-title);
        font-size: var(--text-size-small);
        letter-spacing: var(--product-title-letter-spacing);
        text-transform: var(--product-title-transform);
    }

    .header .cart-dropdown__products .cart-products__title {
        display: inline-flex;
    }

    .header .cart-dropdown__products .price,
    .product-miniature--smaller .product-miniature__pricing {
        display: flex;
        flex-flow: column;
        gap: var(--spacing-4xs);
    }

    .header .cart-dropdown__products .price {
        margin-block-start: var(--spacing-3xs);
    }

    .header .cart-dropdown__products .price,
    .product-miniature--smaller .product-miniature__pricing .price,
    .page-checkout .cart-grid-right .cart-products__desc .price {
        display: flex;
        font-size: var(--text-size-small);
        text-align: left;
    }

    .header .cart-dropdown__products .price:has(+ ul) {
        margin-block-end: var(--spacing-2xs);
    }

    .header .cart-dropdown__products .price + ul li {
        display: flex;
        flex-flow: row wrap;
    }

    .header .cart-dropdown__products .price + ul li:not(:first-child) {
        margin-block-start: var(--spacing-4xs);
    }

    .header .cart-dropdown__products + .cart-total {
        margin-block: calc(var(--spacing-2xs) * 2) var(--spacing-2xs);
    }

    .header-top__block--cart .wrapper-boutons {
        display: flex;
        flex-flow: column;
        gap: var(--spacing-4xs);
    }

    .header-top__block--cart .wrapper-boutons .bouton {
        font-size: var(--text-size-small);
        inline-size: 100%;
    }

    .header .level-1 {
        display: flex;
        align-items: stretch;
        gap: var(--spacing-lg);
    }

    .header .ino-nav li {
        line-height: 1;
    }

    .header :is(.ino-nav-menu-item-1, .ino-nav-item-link-1) {
        display: flex;
        align-items: center;
        gap: 1ch;
    }

    .header .ino-nav-item-link-1 {
        font: var(--text-weight-bold) var(--text-size-normal)/1 var(--font-text);
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .header .ino-nav :is(a:not([href]), a[href="#"]) {
        cursor: default;
    }

    .header .ino-nav-item-link-1 i {
        font-size: var(--text-size-small);
    }

    .header .desktop-search-from {
        display: none;
    }
    
    .ino-modal {
        background: var(--background-color);
        display: flex;
        flex-flow: column;
        inline-size: 100%;
        block-size: 100%;
        transition: opacity .15s linear;
    }
    
    .ino-modal.halo-after {
        overflow: clip;
    }
    
    .ino-modal:not([open]) {
        opacity: 0;
        visibility: hidden;
    }

    .ino-modal-wrapper {
        display: flex;
        flex-flow: column;
        flex-grow: 1;
        inline-size: 100%;
        block-size: auto;
        overflow: auto;
        overscroll-behavior: contain;
    }
        
    @-moz-document url-prefix() {

        .ino-modal-wrapper {
            scrollbar-color: transparent transparent;
        }
    }
    
    .ino-modal-wrapper::-webkit-scrollbar {
        background: transparent;
    }

    .ino-modal-wrapper::-webkit-scrollbar-thumb {
        background: transparent;
    }        
    
    .ino-modal-container {
        display: flex;
        flex-grow: 1;
        align-items: safe center;
        block-size: auto;
        position: relative;
        transition: translate .3s ease-out;
    }
    
    .ino-modal-container:not(.ino-configurator) {
        padding-block: 6rem;
    }
    
    @media (prefers-reduced-motion: no-preference) {

        .ino-modal:not([open]) .ino-modal-container {                
            translate: 0 -50px;
        }
    }
    
    .ino-modal-close {
        display: flex;
        font-size: var(--text-size-normal);
        text-shadow: none;
        opacity: 1;
        position: absolute;
        inset-block-start: calc(var(--padding-header) + (var(--logo-height) / 2) - var(--banner-height));
        inset-inline-end: 0;
        translate: -25% -50%;
    }

    .ino-modal-search form {
        inline-size: min(100%, 45rem);
        margin-inline: auto;
    }
    
    .header .search-toggler,
    .header .header-top__block--menu-toggle > .header-link {
        border: none;
        box-shadow: none;
        font-size: 1.5rem;
    }

    @container main-nav (85rem < inline-size) {

        .show-inodia-menu {
            display: none !important;
        }
        
        .header :is(.header-wrapper, .header-nav) {
            pointer-events: none;
        }
        
        .header .header-banner,
        .header :where(.header-top__block:not(.header-top__block--eshop), .ino-nav-menu-item-1) {
            pointer-events: initial;
        }
        
        .header .header-top__block--search {
            display: flex;
        }
        
        .header .search-modal-btn-open {
            display: flex !important;
        }
        
        .header .cat-manettes::after {
            content: "";
            background: var(--primary-color);
            display: flex;
            inline-size: min(3rem,100%);
            block-size: calc(var(--border-width) * 2);
            position: absolute;
            inset-block-end: calc(var(--spacing-2xs) * -1);
            inset-inline-start: 50%;
            translate: -50%;
        }

        .header .ino-nav-menu-item-1.ino-nav-menu-default:has(.ino-nav-sub-menu-wrapper) {
            position: relative;
        }
        
        .header .ino-nav-item-link-1.hassubmenu::after {
            content: "\e900";
            color: inherit;
            font: var(--font-icon);
            font-size: .5rem;
            letter-spacing: 0;
        }
        
        .header .ino-nav-menu-item-1 > .ino-nav-sub-menu-wrapper {
            display: table;
            opacity: 0;
            visibility: hidden;
            position: absolute;
            translate: 0 100%;
            transition: var(--transition-default);
            z-index: -1;
        }
        
        .header .ino-nav-menu-item-1:not(.ino-nav-menu-full-width) > .ino-nav-sub-menu-wrapper {
            border-radius: 0 0 clamp(0rem, var(--border-radius), clamp(1.5rem, 1.375rem + .625vw, 2rem)) clamp(0rem, var(--border-radius), clamp(1.5rem, 1.375rem + .625vw, 2rem));
            inline-size: calc(100% + (var(--spacing-sm) * 2));
            inset-block-end: 50%;
            inset-inline-start: calc(var(--spacing-sm) * -1);
        }
        
        .header .ino-nav-menu-item-1.ino-nav-menu-full-width > .ino-nav-sub-menu-wrapper {
            inline-size: 100%;
            inset-block-end: 50%;
            inset-inline-start: 0;
            padding-block: calc(((var(--logo-height) / 2) + var(--padding-header)) + var(--spacing-xl)) var(--spacing-xl);
        }
        
        .header:not(.header-absolute) .ino-nav-menu-item-1 > .ino-nav-sub-menu-wrapper,
        body:not(.page-index) .header-absolute-home .ino-nav-menu-item-1 > .ino-nav-sub-menu-wrapper {
            background: var(--background-color);
            box-shadow: 0 16px 24px -16px var(--shadow-secondary-color);
        }
        
        .header:not(.header-absolute) .ino-nav-menu-item-1:not(.ino-nav-menu-full-width) > .ino-nav-sub-menu-wrapper,
        body:not(.page-index) .header-absolute-home .ino-nav-menu-item-1:not(.ino-nav-menu-full-width) > .ino-nav-sub-menu-wrapper {
            padding-block: calc(((var(--logo-height) / 2) + var(--padding-header)) + var(--spacing-sm)) var(--spacing-sm);
            padding-inline: var(--spacing-sm);
        }

        .header-absolute:not(.header-absolute-home) .ino-nav-menu-item-1:not(.ino-nav-menu-full-width) > .ino-nav-sub-menu-wrapper,
        .page-index .header-absolute-home .ino-nav-menu-item-1:not(.ino-nav-menu-full-width) > .ino-nav-sub-menu-wrapper {
            padding-block: calc(var(--spacing-sm) * 2) var(--spacing-sm);
            padding-inline: var(--spacing-sm);
        }
        
        .header .ino-nav-menu-item-1:hover > .ino-nav-sub-menu-wrapper,
        .header .ino-nav-menu-item-1 > .ino-nav-sub-menu-wrapper:focus-within,
        .header .ino-nav-menu-item-1 > :where(.hassubmenu:focus-visible, .ino-nav-wrapper-link:has(a.hassubmenu:focus-visible)) ~ .ino-nav-sub-menu-wrapper {
            opacity: 1;
            visibility: visible;
        }
        
        .header .ino-nav-menu-item-1.ino-nav-menu-full-width .ino-nav-sub-menu.level-2 {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            align-items: flex-start;
            gap: var(--spacing-xl) 6%;
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }
        
        .header .ino-nav-menu-full-width :is(.ino-nav-menu-item-2, .ino-nav-sub-menu.level-3) {
            display: flex;
            flex-flow: column;
            align-items: flex-start;
        }
        
        .header .ino-nav-menu-full-width .ino-nav-menu-item-2 {
            gap: var(--spacing-sm);
        }
        
        .header .ino-nav-menu-full-width .ino-nav-sub-menu.level-3 {
            gap: var(--spacing-xs);
        }

        .header .ino-nav-menu-item-1:not(.ino-nav-menu-full-width) .ino-nav-menu-item-2:not(:first-child) {
            margin-block-start: var(--spacing-xs);
        }
        
        .header .ino-nav-menu-item-1.ino-nav-menu-full-width .ino-nav-item-link-2 {
            font: var(--text-weight-bold) var(--h4-font-size)/1 var(--font-text);
        }
        
        .header .ino-nav-menu-default .ino-nav-sub-menu a,
        .header .ino-nav-menu-full-width .ino-nav-item-link-3 {
            font: var(--text-weight-medium) var(--text-size-normal)/1 var(--font-text);
        }
    }

    @container main-nav (inline-size <= 85rem) {

        .hide-inodia-menu {
            display: none !important;
        }
        
        .ino-nav-mobile-menu :is(ul, li) {
            display: flex;
            flex-flow: column;
            line-height: 1;
        }
        
        .ino-nav-mobile-menu li > :where(a[aria-expanded="false"], .ino-nav-wrapper-link:has(button[aria-expanded="false"])) ~ .ino-nav-sub-menu-wrapper {
            display: none;
        }

        .ino-nav-mobile-menu.center {
            justify-content: center;
        }
        
        .ino-nav-mobile-menu.center :is(ul, li) {
            align-items: center;
        }
        
        .ino-nav-mobile-menu.center a {
            text-align: center;
        }
        
        .ino-nav-mobile-menu .level-1 {
            gap: var(--spacing-xl);
        }
        
        .ino-nav-mobile-menu .level-2 {
            gap: var(--spacing-md);
        }
        
        .ino-nav-mobile-menu .level-3 {
            gap: var(--spacing-sm);
        }
        
        .ino-nav-mobile-menu .ino-nav-menu-item-1 {
            gap: var(--spacing-md) var(--spacing-2xs);
        }
        
        .ino-nav-mobile-menu .ino-nav-menu-item-2 {
            gap: var(--spacing-sm) var(--spacing-2xs);
        }
        
        .ino-nav-mobile-menu .ino-nav-menu-item-3 {
            gap: var(--spacing-xs) var(--spacing-2xs);
        }
        
        .ino-nav-mobile-menu .ino-nav-menu-item-1:not(:last-child) > :where(a.hassubmenu[href="#"], .ino-nav-sub-menu-wrapper) > .ino-nav-sub-menu {
            margin-block-end: var(--spacing-sm);
        }
        
        .ino-nav-mobile-menu .ino-nav-menu-item-2:not(:last-child) > :where(a.hassubmenu[href="#"], .ino-nav-sub-menu-wrapper) > .ino-nav-sub-menu {
            margin-block-end: var(--spacing-2xs);
        }
        
        .ino-nav-mobile-menu :is(a.hassubmenu[href="#"], .ino-nav-wrapper-link) {
            display: flex;
            align-items: center;
            gap: 1.5ch;
        }
        
        .ino-nav-mobile-menu a.hassubmenu[href="#"]::after {
            content: "\e900";
            font: var(--font-icon);
            letter-spacing: 0;
        }
        
        .ino-nav-mobile-menu .ino-nav-item-link-1::after,
        .ino-nav-mobile-menu .ino-nav-menu-item-1 > .ino-nav-wrapper-link > button i {
            font-size: .5rem;
        }
        
        .ino-nav-mobile-menu .ino-nav-item-link-2::after,
        .ino-nav-mobile-menu .ino-nav-menu-item-2 > .ino-nav-wrapper-link > button i {
            font-size: .25rem;
        }
        
        .ino-nav-mobile-menu a[aria-expanded="true"]::after,
        .ino-nav-mobile-menu button[aria-expanded="true"] i {
            display: block;
            rotate: 180deg;
        }
        
        .ino-nav-mobile-menu .ino-nav-item-link-1 {
            font: var(--text-weight-bold) var(--h4-font-size)/1.1 var(--font-text);
        }
        
        .ino-nav-mobile-menu .ino-nav-item-link-2 {
            color: var(--strong-color);
            font: var(--text-weight-medium) var(--text-size-big)/1.1 var(--font-text);
        }
        
        .ino-nav-mobile-menu .ino-nav-item-link-3 {
            color: var(--text-color);
            font: var(--text-weight-normal) var(--text-size-normal)/1.1 var(--font-text);
        }
        
        .header .header-nav > .container {
            gap: var(--spacing-sm); 
        }
        
        .header .header-top__block--eshop {
            justify-content: flex-end;
        }
    }

    .sur-footer {
        display: flex;
        flex-flow: column;
    }

    .sur-footer .appel-contact .elementor-heading-title {
        color: var(--secondary-color);
        font: var(--text-weight-bold) var(--h3-font-size)/1.1 var(--font-text);
        letter-spacing: .01em;
    }

    .sur-footer .appel-contact .elementor-widget-text-editor {
        margin-block-start: var(--spacing-sm);
    }

    .blockreassurance {
        padding-block: var(--spacing-2xl);
        position: relative;
    }

    .blockreassurance .container {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
        gap: var(--spacing-xl) 5%;
    }

    .blockreassurance .reassurance {
        display: flex;
        flex-flow: column;
        gap: var(--spacing-3xs);
    }

    .blockreassurance p {
        line-height: 1.3;
    }

    .blockreassurance .block-title {
        color: var(--title-color);
        display: flex;
        flex-flow: column;
        align-items: center;
        gap: var(--spacing-sm);
        font: var(--text-weight-medium) var(--text-size-normal)/1.1 var(--font-title);
        text-transform: uppercase;
    }

    .blockreassurance .block-title::before {
        color: var(--secondary-color);
        font: var(--font-icon);
        font-size: var(--h3-font-size);
        letter-spacing: 0;
    }

    .blockreassurance .reassurance:nth-child(1) .block-title::before {
        content: "\e922";
    }

    .blockreassurance .reassurance:nth-child(2) .block-title::before {
        content: "\e923";
    }

    .blockreassurance .reassurance:nth-child(3) .block-title::before {
        content: "\e924";
    }

    .blockreassurance .reassurance:nth-child(4) .block-title::before {
        content: "\e90f";
    }

    .blockreassurance .reassurance:nth-child(5) .block-title::before {
        content: "\e925";
    }

    .footer .elementor-row:has(.elementor-top-column.newsletter) {
        gap: calc(var(--spacing-4xl) * .66) var(--spacing-sm);
    }

    .footer .inner-text-img .elementor-row {
        gap: calc(var(--spacing-4xl) * .66) var(--spacing-2xs);
    }

    .block-newsletter :is(.sur-titre, .title) {
        color: var(--title-color);
    }

    .block-newsletter .sur-titre {
        font: var(--text-weight-bold) var(--text-size-big)/1.3 var(--font-text);
    }

    .block-newsletter .title {
        font: var(--text-weight-normal) var(--h3-font-size)/1.3 var(--font-text);
        letter-spacing: -.01em;
        margin-block-end: var(--spacing-2xs);
        text-transform: uppercase;
    }

    .block-newsletter form {
        inline-size: 100%;
    }

    .block-newsletter .champ + .messages {
        margin-block-start: var(--spacing-xs);
    }

    .block-newsletter input[type=email] {
        border-inline-end: none;
    }

    .footer-container {
        background: var(--background-color);
        display: flex;
        flex-flow: column;
        margin-block-start: 0;
        padding: 0;
    }

    .footer-links {
        border-block-start: var(--border-width) solid var(--primary-color);
        display: grid;
        align-items: flex-start;
        gap: var(--spacing-3xl) 8%;
        padding-block: var(--spacing-2xl);
    }

    .footer-container .col-links-logo {
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: center;
        gap: var(--spacing-lg);
    }

    .footer-container .col-links-logo img {
        aspect-ratio: var(--logo-ratio);
        inline-size: auto;
        block-size: var(--spacing-2xl);
    }

    .footer-container .col-links-logo > p {
        grid-column: 1 / -1;
        inline-size: min(48rem, 100%);
    }

    .footer-container :where(.col-links:not(.col-links-logo), .coordonnees-socials) {
        display: flex;
        flex-flow: column;
        align-items: flex-start;
        gap: var(--spacing-md);
    }

    .footer-container :is(.block-social, .social-list) {
        display: flex;
        align-items: center;
        gap: var(--spacing-sm);
    }

    .footer-container .block-social {
        flex-flow: row-reverse;
        justify-content: flex-end;
    }

    .footer-container .social-link {
        display: flex;
    }

    .footer-container .social-link i::before {
        color: inherit;
        font-size: var(--h4-font-size);
    }

    .footer-links .title {
        color: var(--title-color);
        font: var(--text-weight-bold) var(--text-size-normal)/1.3 var(--font-text);
        text-transform: uppercase;
        margin-block-end: var(--spacing-md);
    }

    .footer-links ul:not(.social-list) {
        display: flex;
        flex-flow: column;
        align-items: flex-start;
        gap: var(--spacing-sm);
    }

    .footer-links :where(li:not(.social-item), a:not(.social-link)) {
        display: flex;
        line-height: 1.3;
    }

    .footer-links a:not(.social-link):not(:hover, :active) {
        color: var(--text-color);
    }

    .post-footer {
        padding-block: var(--spacing-xs);
    }

    .post-footer :is(p, a) {
        font: var(--text-weight-normal) var(--text-size-small)/2.5 var(--font-text);
        letter-spacing: var(--letter-spacing);
        text-align: center;
    }

    .post-footer :is(p, a:not(:hover, :active)) {
        color: var(--muted-color);
    }

    .page-index .page-home > *:not(:first-child) {
        margin-block-start: var(--spacing-4xl);
    }

    .homeslider {
        block-size: clamp(32rem, 25.488rem + 32.558vw, 60rem);
    }

    .homeslider {
        background: var(--background-color);
        color-scheme: dark;
        display: flex;
        flex-flow: column;
    }

    .homeslider__slide :is(figure, picture, img) {
        inline-size: 100%;
        block-size: 100%;
    }

    .homeslider__slide figure {
        position: relative;
    }
    
    .homeslider__caption {
        position: absolute;
        inset-block-start: 50%;
        inset-inline-start: 50%;
        translate: -50% -50%;
    }

    .homeslider__slide img {
        object-fit: cover;
    }

    .homeslider__caption > * {        
        inline-size: min(18rem,100%);
    }

    .homeslider__desc :is(p, span, strong) {
        font-size: var(--text-size-normal);
    }

    .homeslider__desc :is(p, span) {
        color: var(--text-color);
    }

    .homeslider__desc strong {
        color: var(--strong-color);
    }

    .homeslider__desc + .bouton {
        margin-block-start: var(--spacing-md);
    }

    .homeslider .direction {
        display: flex;
        align-items: center;
        justify-content: space-between;
        inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
        pointer-events: none;
        position: absolute;
        inset: 50% auto auto 50%;
        translate: -50% -50%;
        z-index: 1;
    }

    .homeslider .direction .homeslider__arrow {
        pointer-events: initial;
        inset-block-start: 0;
    }

    .homeslider .direction .homeslider__arrow--prev {
        inset-inline-start: 0;
    }

    .homeslider .direction .homeslider__arrow--next {
        inset-inline-end: 0;
    }

    .homeslider .direction .homeslider__arrow :is(span, i) {
        color: inherit;
        font-size: 1.5rem;
    }

    .homeslider .swiper-pagination {
        position: absolute;
        inset-inline-start: 50%;
        inset-block-end: var(--spacing-lg);
        translate: -50%;
    }

    .section-intro-partner .elementor-widget-image::before,
    .section-manettes-custom .inner-txt-img .elementor-widget-image::before {
        content: "";
        background: var(--target);
        background-size: contain !important;
        display: flex;
        aspect-ratio: 1;
        block-size: auto;
        mix-blend-mode: lighten;
        position: absolute;
        inset-block-start: 0;
    }

    .section-manettes-custom .inner-txt-img .elementor-widget-image::before {
        inline-size: 41%;
        inset-inline-end: 0;
        translate: -25% 89%;
    }

    .section-intro-partner .elementor-widget-image::before {
        inline-size: 41%;
        inset-inline-start: 0;
        translate: -67% 35%;
    }

    .section-devenir-partenaire img,
    .section-manettes-custom .inner-txt-img img {
        mix-blend-mode: lighten;
    }

    .section-manettes-custom .inner-txt-img img {
        opacity: .69;
    }
    
    .section-video-wg .elementor-top-column > .elementor-column-wrap {
        border-radius: var(--border-radius);
        box-shadow: 0 .25rem 4rem 0 oklch(from var(--primary-color) l c h / .4);
        color-scheme: dark;
        aspect-ratio: 16 / 6 auto;
        min-block-size: 32rem;
        padding: var(--spacing-3xl);
        z-index: 1;
    }

    .elementor-widget-testimonial,
    .section-video-wg .elementor-widget-heading {
        border-inline-start: calc(var(--border-width) * 6) solid var(--primary-color);
        padding-inline-start: max(4%, var(--spacing-sm));
    }

    .section-video-wg .elementor-widget-heading {
        max-inline-size: 60ch;
    }

    .section-about:not(:first-child) {
        margin-block-start: calc(var(--spacing-4xl) * 1.5);
    }

    .section-about::before {
        content: "";
        background: var(--wg);
        background-size: contain !important;
        display: flex;
        aspect-ratio: 960 / 115;
        inline-size: 112%;
        block-size: auto;
        pointer-events: none;
        position: absolute;
        inset-block-start: calc(var(--spacing-4xl) / -1.25);
        inset-inline-start: 50%;
        translate: -50%;
    }

    .section-about .h1 {
        inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
        pointer-events: none;
        position: absolute;
        inset-block-start: 0;
        inset-inline-start: 50%;
        translate: -50% -18%;
        z-index: 2;
    }

    .section-about .h1 .elementor-heading-title {
        display: table-caption;
    }

    .section-about :where(.elementor-col-66.elementor-top-column, .elementor-col-66.elementor-top-column > .elementor-column-wrap, .elementor-col-66.elementor-top-column > .elementor-column-wrap > .elementor-widget-wrap) {
        position: static;
    }
    
    .section-about .elementor-top-column:is(.elementor-col-66, [data-col="66"]) :is(.elementor-column-wrap, .elementor-widget-wrap, .elementor-widget-image-carousel, .elementor-widget-container, .swiper, .swiper-wrapper, .swiper-slide, figure, picture, img) {
        inline-size: 100%;
        block-size: 100%;
    }

    .section-about .elementor-widget-image-carousel {
        margin: 0 !important;
    }

    .section-about .elementor-widget-image-carousel .swiper {
        padding: 0;
    }

    .section-about img {
        border-radius: var(--border-radius);
        object-fit: cover;
    }
    
    .section-about .h1 .elementor-heading-title {
        position: relative;
    }

    .section-about .h1 .elementor-heading-title::after {
        content: "";
        background: var(--primary-color);
        clip-path: var(--graphic-elem);
        display: flex;
        aspect-ratio: 273 / 96;
        inline-size: 50%;
        block-size: auto;
        position: absolute;
        inset-block-end: 0;
        inset-inline-end: 0;
        translate: 0% 170%;
    }

    .section-manettes-custom .manette-custom {
        container: manette-custom / inline-size;
    }

    .section-manettes-custom .manettes-custom .elementor-row {
        gap: var(--spacing-sm);
    }

    .section-manettes-custom .manette-custom :is(.elementor-widget-wrap, .elementor-icon-box-wrapper) {
        display: flex;
        flex-flow: column;
        align-items: center;
    }
    
    .section-manettes-custom .manette-custom .elementor-widget-wrap,
    .section-manettes-custom .manette-custom .elementor-icon-box-title span,
    .section-manettes-custom .manette-custom .elementor-icon-box-title span::before,
    .section-manettes-custom .manette-custom .elementor-icon-box-title span::after {
        transition: var(--transition-default);
    }

    .section-manettes-custom .manette-custom .elementor-widget-wrap {
        background: var(--background-color);
        border: var(--border-width) solid transparent;
        border-radius: var(--border-radius);
        gap: var(--spacing-md);
        padding: var(--spacing-xl);
    }

    @container manette-custom (inline-size <= 20rem) {

        .section-manettes-custom .manette-custom .elementor-widget-wrap {
            padding: var(--spacing-md);
        }
    }

    .section-manettes-custom .manette-custom .elementor-icon-box-wrapper {
        gap: var(--spacing-lg);
    }

    .section-manettes-custom .manette-custom .elementor-icon-box-icon {
        margin: 0;
    }

    .section-manettes-custom .manette-custom .elementor-icon {
        aspect-ratio: 260 / 177;
        inline-size: 100%;
        block-size: auto;
    }

    .section-manettes-custom .manette-custom svg {
        inline-size: 100%;
        block-size: 100%;
    }

    .section-manettes-custom .manette-custom svg path[fill] {
        fill: var(--title-color);
    }

    .section-manettes-custom .manette-custom .elementor-icon-box-title {
        color: var(--title-color);
        display: flex;
        flex-flow: column;
        align-items: center;
        font: 400 var(--h4-font-size) / 1.1 var(--font-text);
        text-transform: uppercase;
    }

    .section-manettes-custom .manette-custom .elementor-icon-box-title span {
        color: var(--primary-color);
        flex-flow: row;
        justify-content: center;
        gap: var(--spacing-md);
        inline-size: 100%;
        margin: 0;
    }

    .section-manettes-custom .manette-custom .elementor-icon-box-title span::before,
    .section-manettes-custom .manette-custom .elementor-icon-box-title span::after {
        content: "";
        background: var(--primary-color);
        display: flex;
        inline-size: min(var(--spacing-xl), 100%);
        block-size: calc(var(--border-width) * 2);
        mask: linear-gradient(270deg, transparent 0%, #000 100%);
    }

    .section-manettes-custom .manette-custom .elementor-icon-box-title span::before {
        rotate: 180deg;
    }

    @keyframes z-index-hack {
        0%, 100% { z-index: 2; }
    }

    @media only screen and (hover: hover) and (pointer: fine) {
        
        .section-manettes-custom .manette-custom .elementor-widget-wrap {
            position: relative;
            z-index: 1;
        }

        .section-manettes-custom .manette-custom:not(:hover) .elementor-widget-wrap {
            animation: z-index-hack .3s;
        }

        .section-manettes-custom .manette-custom:hover .elementor-widget-wrap {
            background: oklch(from var(--primary-color) l c h / .1);
            border-color: var(--primary-color);
            box-shadow: 0 0 var(--spacing-xl) 0 oklch(from var(--primary-color) l c h / .6);
            z-index: 2;
        }

        .section-manettes-custom .manette-custom:hover .elementor-icon-box-title span {
            color: var(--secondary-color);
        }

        .section-manettes-custom .manette-custom:hover .elementor-icon-box-title span::before,
        .section-manettes-custom .manette-custom:hover .elementor-icon-box-title span::after {
            background: var(--secondary-color);
        }
    }

    .section-custom-ps5 .elementor-top-column.elementor-col-66 img {
        mix-blend-mode: screen;
        object-position: center left;
    }

    :is(.section-cards, .section-engagements) > div:not(.elementor-element-overlay) > div {
        gap: var(--spacing-sm);
    }

    :is(.section-cards, .section-engagements) :is(.elementor-column, .ino-column).fond {
        container: col-cards / inline-size;
    }

    @container col-cards (inline-size <= 28rem) {

        :is(.section-cards, .section-engagements) :is(.elementor-column, .ino-column).fond > .elementor-column-wrap {
            padding: var(--spacing-lg);
        }
    }

    .section-partenaires .post-slider {
        overflow: visible;
        margin-block-end: var(--border-width);
    }

    .featured-products {
        position: relative;
    }

    .halo-before::before,
    .halo-after::after,
    .section-intro-partner .elementor-row::before,
    .page-cms > .elementor .elementor-top-section:first-child::before,
    .page-cms > .elementor .elementor-top-section:first-child::after,
    .section-wg-options .wg-option:is(:nth-child(6n - 3), :nth-child(5n))::before,
    body:is(.category-id-14, .category-id-parent-14) :where([class*="-miniatures__list"], .products-list__block:nth-child(6n - 3))::before,
    .page-category:has(.page-sidebar-left:not(.hide-col)) :where([class*="-miniatures__list"], .products-list__block:nth-child(8n))::before {
        content: "";
        border-radius: 100%;
        display: flex;
        aspect-ratio: 1;
        block-size: auto;
        opacity: .5;
        mix-blend-mode: screen;
        pointer-events: none;
        position: absolute;
    }

    .halo-before-primary::before,
    .halo-after-primary::after,
    .page-cms > .elementor .elementor-top-section:first-child::before,
    .section-wg-options .wg-option:is(:nth-child(6n - 3), :nth-child(5n))::before,
    .page-category:has(.page-sidebar-left:not(.hide-col)) :where([class*="-miniatures__list"], .products-list__block:nth-child(4n))::before {
        background: radial-gradient(50% 50% at 50% 50%, var(--primary-color) 0%, oklch(from var(--title-color) l c h / 0%) 100%);
    }

    .halo-before-secondary::before,
    .halo-after-secondary::after,
    .section-intro-partner .elementor-row::before,
    .page-cms > .elementor .elementor-top-section:first-child::after,
    body:is(.category-id-14, .category-id-parent-14) :where([class*="-miniatures__list"], .products-list__block:nth-child(6n - 3))::before {
        background: radial-gradient(50% 50% at 50% 50%, var(--secondary-color) 0%, oklch(from var(--title-color) l c h / 0%) 100%);
    }
    
    :is(.section-video-wg, .manettes-custom, .blockreassurance)::before,
    .page-cms > .elementor .elementor-top-section:first-child::after,
    .section-video-wg::after {
        opacity: .4;
    }

    :is(.section-cards, .section-engagements)::before,
    :is(.section-cards, .section-engagements)::after {
        inline-size: 37.25%;
    }

    :is(.section-cards, .section-engagements)::before {
        inset-block-start: 0;
        inset-inline-start: 0;
        translate: -40% -40%;
    }

    :is(.section-cards, .section-engagements)::after {
        inset-block-end: 0;
        inset-inline-end: 0;
        translate: -45% 40%;
    }

    .section-custom-ps5 .halo-before::before {
        inline-size: 57.5%;
        inset-block-start: 50%;
        inset-inline-end: 0;
        translate: 17% -50%;
    }

    .section-techno-wg .halo-before::before {
        inline-size: 73%;
        opacity: .6;
        inset-block-end: 0;
        inset-inline-start: 0;
        translate: -25% 20%;
    }

    .section-schemas .halo-before::before {
        inline-size: 56%;
        opacity: .4;
    }

    .section-schemas .elementor-top-column:first-child:before {
        inset-block-start: 0;
        inset-inline-end: 0;
        translate: 40% -13%;
    }

    .section-schemas .elementor-top-column:last-child:before {
        inset-block-end: 50%;
        inset-inline-start: 0;
        translate: -37% 52%;
    }

    .section-schemas .elementor-top-column:first-child::after {
        inline-size: 77%;
        inset-block-end: 50%;
        inset-inline-end: 0;
        translate: 39.5% 46%;
    }

    .js-product-images:not(:has(.missing-img)),
    .section-techno-wg .elementor-widget-image img,
    .cms-id-14 .txt-img.dark-blue .halo-after .elementor-widget-image,
    .page-category:has(.page-sidebar-left:not(.hide-col)) main .products-list__block:first-child {
        position: relative;
        z-index: 1;
    }

    .featured-products::before,
    .featured-products::after {
        inline-size: 40%;
        inset-block-start: 0;
    }

    .featured-products::before {
        inset-inline-start: 0;
        translate: -15% -15%;
    }

    .featured-products::after {
        inset-inline-end: 0;
        translate: 15% 15%;
    }

    .featured-products > .container::after {
        inline-size: 31%;
        inset-block-end: 0;
        inset-inline-start: 50%;
        translate: -50% 0;
    }

    .blockreassurance::before {
        inline-size: 20%;
        inset-block-start: 50%;
        inset-inline-start: 50%;
        translate: -100% -50%;
    }
    
    .ino-modal::before {
        inline-size: 34%;
        inset-block-start: 0;
        inset-inline-end: 0;
        translate: -30% -70%;
    }
    
    .ino-modal::after {
        inline-size: 68%;
        opacity: .4;
        inset-block-end: 0;
        inset-inline-start: 0;
        translate: -27% 70%;
    }

    .page-category:has(.page-sidebar-left:not(.hide-col)) [class*="-miniatures__list"]::before {
        inline-size: 57.75%;
        inset-block-start: 0;
        inset-inline-start: 0;
        translate: -60% -50%;
    }

    .product-block-img,
    .page-category:has(.page-sidebar-left:not(.hide-col)) .products-list__block:nth-child(8n) {
        position: relative;
    }

    .page-category:has(.page-sidebar-left:not(.hide-col)) .products-list__block:nth-child(8n)::before {
        inline-size: 226%;
        inset-block-start: 0;
        inset-inline-end: 0;
        translate: 47% -53%;
    }

    .pagination .halo-before::before {
        inline-size: 36%;
        inset-block-start: 0;
        inset-inline-start: 0;
        translate: 75% -64%;
    }

    .product-block-img::before {
        inline-size: 61.25%;
        inset-block-start: 0;
        inset-inline-start: 0;
        translate: 10% 5%;
    }

    .product-block-img::after {
        inline-size: 83.25%;
        inset-block-start: 0;
        inset-inline-end: 0;
        translate: 39% -11%;
    }

    .manettes-custom::before {
        inline-size: 55%;
        inset-block-end: 0;
        inset-inline-start: 0;
        translate: 9% -18.5%;
    }

    .section-about .halo-before::before {
        inline-size: 57.25%;
        inset-block-start: 0;
        inset-inline-end: 0;
        translate: 40% -15%;
    }

    .section-about .halo-after::after {
        inline-size: 91.75%;
        inset-block-end: 0;
        inset-inline-end: 0;
        translate: 4% 25%;
    }

    .section-manettes-custom .inner-txt-img::before {
        inline-size: 55.5%;
        inset-block-start: 50%;
        inset-inline-start: 0;
        translate: -73% -60%;
    }

    .section-manettes-custom .inner-txt-img .elementor-widget-image::after {
        inline-size: 153%;
        inset-block-end: 0;
        inset-inline-end: 0;
        translate: 24% 22%;
    }

    .section-intro-partner .elementor-row::before {
        inline-size: 55.5%;
        inset-block-start: 50%;
        inset-inline-end: 0;
        translate: 73% -60%;
    }

    .section-intro-partner .elementor-widget-image::after {
        inline-size: 153%;
        inset-block-end: 0;
        inset-inline-start: 0;
        translate: -24% 22%;
    }

    .section-video-wg::before {
        inline-size: 34%;
        inset-block-end: 0;
        inset-inline-start: 0;
        translate: -27% 11%;
    }

    .section-video-wg::after {
        inline-size: 32%;
        inset-block-start: 0;
        inset-inline-end: 0;
        translate: 40% 4%;
    }

    .section-partenaires .elementor-top-column:is(.elementor-col-33, [data-col="33"])::after {
        inline-size: 111%;
        inset-block-start: 0;
        inset-inline-end: 0;
        translate: 29% -10%;
    }

    .section-partenaires .elementor-top-column:is(.elementor-col-66, [data-col="66"])::before {
        inline-size: 75.33%;
        inset-block-end: 0;
        inset-inline-start: 0;
        translate: -34% 11%;
    }

    body:is(.category-id-14, .category-id-parent-14) [class*="-miniatures__list"]::before {
        inline-size: 40.5%;
        inset-block-start: 0;
        inset-inline-start: 50%;
        translate: -50% -12%;
        opacity: .4;
    }

    body:is(.category-id-14, .category-id-parent-14) .products-list__block:nth-child(6n - 3)::before {
        inline-size: 82%;
        inset-block-start: 0;
        inset-inline-start: 0;
        translate: -47% -25%;
        opacity: .4;
    }
    
    .page-cms > .elementor .elementor-top-section:first-child::before {
        inline-size: 33%;
        inset-block-start: 0;
        inset-inline-end: 0;
        translate: 60% 10%;
    }
    
    .page-cms > .elementor .elementor-top-section:first-child::after {
        inline-size: 20%;
        inset-block-start: 0;
        inset-inline-end: 0;
        translate: 10% -10%;
    }
    
    .page-cms > .elementor .elementor-top-section:first-child::after {
        inline-size: 20%;
        inset-block-start: 0;
        inset-inline-end: 0;
        translate: 10% -10%;
    }
    
    .cms-id-14 .txt-img.dark-blue .halo-after::after {
        inline-size: 70%;
        inset-block-end: 0;
        inset-inline-end: 0;
        translate: 50% 30%;
    }
    
    .section-wg-options .wg-option:nth-child(6n - 3)::before {
        inline-size: 160%;
        inset-block-start: 0;
        inset-inline-end: 0;
        translate: 30% -17%;
    }

    .section-wg-options .wg-option:nth-child(5n)::before {
        inline-size: 140%;
        inset-block-end: 0;
        inset-inline-start: 0;
        translate: -50% -40%;
    }

    .section-info-partner .halo-before::before {
        inline-size: 50%;
        inset-block-end: 0;
        inset-inline-start: 0;
        translate: -23% -2%;
    }

    .section-info-partner .halo-after::after {
        inline-size: 66%;
        inset-block-start: 0;
        inset-inline-end: 0;
        translate: 20% -5%;
    }

    .card__item .card__header,
    .search-filters__header,
    .section-contact .block-infos .elementor-widget-heading p {
        color: var(--title-color);
        font: var(--text-weight-medium) var(--text-size-normal)/1.1 var(--font-title);
        letter-spacing: .1em;
        text-transform: uppercase;
    }

    .page-product .product-variants ul,
    .search-filters__block .colors {
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
    }

    .page-product .product-variants .radio-colors,
    .search-filters__block .colors {
        gap: var(--spacing-2xs);
    }

    .page-product .product-variants ul:not(.radio-colors) {
        gap: var(--spacing-4xs);
    }

    .search-filters__block .custom-checkbox-color label,
    .search-filters__block .custom-control-input-color,
    .page-product .product-variants .radio-colors :is(label, span) {
        border-radius: 100%;
    }

    .search-filters__block .custom-control-input-color,
    .page-product .product-variants .control-input-color {
        background-size: cover;
        border: var(--border-width) solid var(--shadow-color);
        display: table;
        inline-size: 2rem;
        block-size: 2rem;
        overflow: hidden;
        position: relative;
        inset: auto;
    }

    .cart-summary-line {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: var(--spacing-xs);
    }

    .cart-summary-line:not(:first-child, .cart-total) {
        margin-block-start: var(--spacing-2xs);
    }

    .cart-summary-line.cart-total:not(:first-child) {
        margin-block-start: var(--spacing-sm);
    }

    .cart-summary-line span {
        line-height: 1;
    }

    .cart-summary-line :is(.label, .value) {
        font-size: var(--text-size-small);
        letter-spacing: var(--letter-spacing);
        margin: 0;
    }

    .cart-summary-line.cart-total :is(.label, .value) {
        font-size: var(--text-size-normal);
    }

    .cart-summary-line .label {
        color: var(--text-color);
        font-weight: var(--text-weight-normal);
    }

    .cart-summary-line .value,
    .cart-summary-line.cart-total .label {
        color: var(--title-color);
        font-weight: var(--text-weight-bold);
    }

    .cart-summary-line .value {
        text-align: right;
    }

    .product-table .product-line__title {
        color: var(--title-color);    
        font: var(--font-product-title);
        letter-spacing: var(--product-title-letter-spacing);
        text-transform: var(--product-title-transform);
    }

    .product-table .product-line__cell--img {
        inline-size: 5.5rem;
    }

    .product-table .product-line__cell .number {
        white-space: nowrap;
    }

    :is(form, .forgotten-password) .form-footer {
        margin-block-start: var(--spacing-md);
    }

    .forgot-password,
    .page-authentication p + .bouton {
        margin-block-start: var(--spacing-sm);
    }

    .form-group {
        display: flex;
        flex-flow: row wrap;
    }

    .form-group.radio-buttons {
        gap: var(--spacing-xs);
    }

    :where(.input-group, .input-group.password) {
        display: grid;
        grid-template-columns: 1fr auto;
        inline-size: 100%;
    }

    :where(.input-group, .input-group.password) input {
        block-size: 100%;
    }

    .input-group.password :where(small, .help-block) {
        grid-column: 1 / -1;
    }

    .input-group .form-text + .help-block {
        margin-block-start: var(--spacing-2xs);
    }

    .input-group .btn-password {
        background: var(--title-color);
        border: var(--border-width) solid transparent;
        color: var(--background-color);
        align-items: center;
        justify-content: center;
        padding-inline: var(--spacing-2xs);
    }

    @media only screen and (hover: hover) and (pointer: fine) {
        
        .input-group .btn-password:hover {
            background: var(--strong-color);
        }

        .input-group .btn-password:active {
            background: var(--text-color);
        }
    }

    @media only screen and (hover: none) and (pointer: coarse) {
        
        .input-group .btn-password:active {
            background: var(--strong-color);
        }
    }

    .input-group .btn-password i {
        color: inherit;
        font-size: 1.25rem;
    }

    .section-engagements .elementor-top-column:first-child {
        grid-column: 1 / -1;
    }

    .section-engagements .elementor-widget-heading {
        display: flex;
        flex-flow: column;
        align-items: flex-start;
        gap: var(--spacing-xs);
    }

    .section-engagements .elementor-heading-title,
    .section-engagements .elementor-widget-heading::before {
        color: var(--title-color);
    }

    .section-engagements .elementor-widget-heading::before {
        font-size: var(--h3-font-size);
    }

    .section-wg-options .elementor-top-column > .elementor-column-wrap > .elementor-widget-wrap {
        --_nb-options-col: 3;
        grid-template-columns: repeat(var(--_nb-options-col), minmax(0, 1fr));
        gap: var(--spacing-md);
    }

    .section-wg-options .wg-option {
        border-radius: var(--border-radius);
        container: wg-option / inline-size;
    }

    .section-wg-options .wg-option .elementor-container {
        --_padding-desc-option: var(--spacing-lg);
        border-radius: var(--border-radius);
        overflow: hidden;
    }

    .section-wg-options .wg-option img {
        aspect-ratio: 1;
        inline-size: 100%;
        block-size: auto;
    }

    .section-wg-options .wg-option .elementor-widget-image + .elementor-widget {
        padding-block-start: var(--_padding-desc-option);
        margin: 0 !important;
    }

    .section-wg-options .wg-option .elementor-widget-image ~ .elementor-widget {
        padding-inline: var(--_padding-desc-option);
    }

    .section-wg-options .wg-option .elementor-widget:last-child {
        padding-block-end: var(--_padding-desc-option);
    }

     @container wg-option (inline-size <= 24rem) {
        
        .section-wg-options .wg-option .elementor-container {
            --_padding-desc-option: var(--spacing-md);
        }
     }

     .section-info-partner .elementor-widget-image {
        overflow: hidden;
        position: relative;
        z-index: 1;
     }

    .cms-id-10 .wpcf7.hook {
        inline-size: min(100%, 50rem);
    }

    body:not(.cms-id-10) .wpcf7.hook {
        margin-inline: auto;
    }

    .wpcf7.hook .form-champs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: var(--spacing-sm) var(--items-margin);
        margin-block-start: var(--spacing-md);
    }

    .wpcf7.hook .form-champ.full {
        grid-column: 1 / -1;
    }

    .wpcf7.hook .form-champ :where(label, label > span) {
        display: flex;
        flex-flow: column;
        inline-size: 100%;
        gap: var(--spacing-3xs);
    }

    .wpcf7.hook .form-champ label {
        flex-flow: column;
        gap: var(--spacing-3xs);
        margin: 0;
    }

    .wpcf7.hook .form-champ.upload input {
        appearance: none;
        border: var(--border-width) solid;
        font-size: var(--text-size-small);
        min-block-size: initial;
        margin: 0;
        padding-block: var(--spacing-xs);
        padding-inline: calc(var(--spacing-2xs) * 2);
    }

    .wpcf7.hook .form-champ.upload input::-webkit-file-upload-button {
        display: none;
    }

    .wpcf7.hook .form-champ.upload .bouton {
        border: var(--border-width) solid var(--title-color);
        padding-block: var(--spacing-2xs);
        padding-inline: calc(var(--spacing-2xs) * 2);
    }

    .wpcf7.hook .form-champ.upload .bouton i {
        font-size: var(--text-size-small);
    }

    .wpcf7.hook .form-champ.upload .bouton span {
        color: inherit;
        font: inherit var(--text-size-small)/inherit inherit;
        letter-spacing: inherit;
        margin-inline-start: var(--spacing-3xs);
    }

    .wpcf7.hook :is(br, .ajax-loader) {
        display: none;
    }

    .wpcf7.hook p.rgpd {
        line-height: 1.3;
        text-align: left;
        margin-block: var(--spacing-xs) calc(var(--spacing-2xs) * 2);
    }

    .wpcf7.hook .wpcf7-checkbox {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--spacing-3xs) var(--spacing-md);
    }

    .wpcf7.hook .wpcf7-checkbox label {
        flex-flow: row nowrap;
        align-items: center;
    }

    .wpcf7-response-output {
        margin-block-start: var(--spacing-xs);
    }

    .section-contact .block-infos :is(.elementor-widget-heading + .elementor-widget-text-editor, .elementor-widget-text-editor + .elementor-widget-heading) {
        margin-block-start: var(--spacing-sm);
    }

    .section-contact .block-infos .elementor-widget-text-editor + .elementor-widget-heading {
        border-block-start: var(--border-width) solid var(--shadow-color);
        padding-block-start: var(--spacing-lg);
    }

    .section-infos-contact .elementor-inner-section {
        margin: 0;
    }

    .section-infos-contact .phone {
        display: flex;
        align-items: center;
        gap: var(--spacing-sm);
    }

    .section-infos-contact .phone p {
        color: var(--title-color);
    }

    .section-infos-contact .phone :is(p, a) {
        font: var(--text-weight-bold) var(--text-size-big)/1.1 var(--font-text);
    }

    .elementor-widget-google_maps iframe {
        min-block-size: 40rem;
    }

    
    @container viewport (90rem < inline-size) {
        
        .footer-links {
            grid-template-columns: 1fr auto auto auto;
        }

        .section-about .elementor-top-column:is(.elementor-col-66, [data-col="66"]) {
            grid-column: 1 / 9;
        }

        .section-about .elementor-top-column:is(.elementor-col-33, [data-col="33"]) {
            grid-column: 10 / -2;
        }

        .section-partenaires .elementor-top-column:is(.elementor-col-66, [data-col="66"]) .elementor-widget-wrap {
            grid-column: 1 / -3;
        }
    }

    @container viewport (inline-size <= 90rem) {
        
        .footer-container .col-links-logo {
            grid-column: 1 / -1;
        }        
    }

    @container viewport (80rem < inline-size) {
        
        :is(.page-cart, .page-checkout) .cart-grid {
            grid-template-columns: minmax(0,1fr) minmax(var(--sidebar-width), .25fr);
        }

        .section-engagements > div > div {
            grid-template-columns: repeat(4, minmax(0,1fr));
        }
    }

    @container viewport (inline-size <= 80rem) {

        .cart-grid-right {
            inline-size: 100%;
            max-inline-size: 25rem;
            margin-inline: auto;
        }
    }

    @container viewport (70rem < inline-size) {
        
        .header .header-top__block--menu-toggle .mobile-search {
            display: none;
        }

        .cart-grid-right {
            position: sticky;
            inset-block-start: var(--spacing-lg);
            block-size: fit-content;
        }
        
        :is(.page-cart, .page-checkout) .cart-grid,
        .section-contact > .elementor-container > .elementor-row,
        :where(body.layout-left-column, body.layout-right-column, body:has(.content-has-sidebar)) main > .container {
            display: grid;
            column-gap: var(--columns-gap);
        }
        
        .section-contact > .elementor-container > .elementor-row,
        :where(body.layout-left-column:not(:has(.page-sidebar-left.hide-col)), body:has(.content-has-sidebar)) main > .container {
            grid-template-columns: minmax(var(--sidebar-width), .25fr) minmax(0,1fr);
        }
        
        body.layout-right-column main > .container {
            grid-template-columns: minmax(0,1fr) minmax(var(--sidebar-width), .25fr);
        }
        
        :where(body.layout-left-column:not(:has(.page-sidebar-left.hide-col)), body.layout-right-column, body:has(.content-has-sidebar)) main > .container > .breadcrumb {
            grid-column: 1 / 3;
        }
        
        .section-contact .block-infos > .elementor-column-wrap,
        :where(body.layout-left-column, body:has(.content-has-sidebar)) .page-sidebar-left :is(.search-filters, .customer-links) {
            max-block-size: calc(100vh - var(--spacing-lg));
            overflow-y: auto;
            overscroll-behavior: contain;
            padding-block-end: var(--spacing-lg);
            position: sticky;
            inset-block-start: var(--spacing-lg);
            z-index: 49;
        }
            
        @-moz-document url-prefix() {

            .section-contact .block-infos > .elementor-column-wrap,
            :where(body.layout-left-column, body:has(.content-has-sidebar)) .page-sidebar-left :is(.search-filters, .customer-links) {
                scrollbar-color: transparent transparent;
            }
        }
        
        .section-contact .block-infos > .elementor-column-wrap::-webkit-scrollbar,
        :where(body.layout-left-column, body:has(.content-has-sidebar)) .page-sidebar-left :is(.search-filters, .customer-links)::-webkit-scrollbar {
            background: transparent;
        }

        .section-contact .block-infos > .elementor-column-wrap::-webkit-scrollbar-thumb,
        :where(body.layout-left-column, body:has(.content-has-sidebar)) .page-sidebar-left :is(.search-filters, .customer-links)::-webkit-scrollbar-thumb {
            background: transparent;
        }

        .section-manettes-custom .inner-txt-img {
            inline-size: min(var(--wrapper-size-mobile), 70rem);
            margin-inline: auto;
        }
        
        .section-manettes-custom .inner-txt-img .elementor-row {
            column-gap: 0;
        }

        .section-intro-partner .elementor-column-wrap:has(.elementor-widget-heading),
        .section-manettes-custom .inner-txt-img .elementor-column-wrap:has(.elementor-widget-heading),
        .section-partenaires .elementor-top-column:is(.elementor-col-33, [data-col="33"]) .elementor-column-wrap:has(.elementor-widget-heading) {
            display: flex;
            flex-flow: column;
            gap: var(--spacing-md);
        }

        .section-intro-partner .elementor-column-wrap:has(.elementor-widget-heading)::before,
        .section-manettes-custom .inner-txt-img .elementor-column-wrap:has(.elementor-widget-heading)::before,
        .section-partenaires .elementor-top-column:is(.elementor-col-33, [data-col="33"]) .elementor-column-wrap:has(.elementor-widget-heading)::before {
            content: "";
            background: var(--primary-color);
            clip-path: var(--graphic-elem);
            display: flex;
            aspect-ratio: 273 / 96;
            inline-size: 49%;
            block-size: auto;
        }

        .section-intro-partner .elementor-top-column:first-child .elementor-column-wrap:has(.elementor-widget-heading)::before,
        .section-manettes-custom .inner-txt-img .elementor-inner-column:first-child .elementor-column-wrap:has(.elementor-widget-heading)::before {
            translate: 8%;
        }

        .section-intro-partner .elementor-top-column:last-child .elementor-column-wrap:has(.elementor-widget-heading)::before,
        .section-manettes-custom .inner-txt-img .elementor-inner-column:last-child .elementor-column-wrap:has(.elementor-widget-heading)::before,
        .section-partenaires .elementor-top-column:is(.elementor-col-33, [data-col="33"]):last-child .elementor-column-wrap:has(.elementor-widget-heading)::before {
            translate: 68%;
            scale: -1 1;
        }

        .section-partenaires .elementor-top-column:is(.elementor-col-33, [data-col="33"]):first-child .elementor-column-wrap:has(.elementor-widget-heading)::before {
            translate: 33%;
        }
        
        .section-intro-partner .elementor-top-column:not(:has(.elementor-widget-image:only-child)) .elementor-widget-wrap,
        .section-manettes-custom .inner-txt-img .elementor-inner-column:not(:has(.elementor-widget-image:only-child)) .elementor-widget-wrap {
            padding-block: var(--spacing-sm);
        }
        
        .section-intro-partner .elementor-top-column:not(:has(.elementor-widget-image:only-child)):first-child .elementor-widget-wrap,
        .section-manettes-custom .inner-txt-img .elementor-inner-column:not(:has(.elementor-widget-image:only-child)):first-child .elementor-widget-wrap {
            border-inline-end: calc(var(--border-width) * 4) solid var(--primary-color);
            padding-inline-end: 12%;
        }
        
        .section-intro-partner .elementor-top-column:not(:has(.elementor-widget-image:only-child)):last-child .elementor-widget-wrap,
        .section-manettes-custom .inner-txt-img .elementor-inner-column:not(:has(.elementor-widget-image:only-child)):last-child .elementor-widget-wrap {
            border-inline-start: calc(var(--border-width) * 4) solid var(--primary-color);
            padding-inline-start: 12%;
        }
        

        .section-intro-partner .elementor-top-column:not(:has(.elementor-widget-image:only-child)),
        .section-manettes-custom .inner-txt-img .elementor-inner-column:not(:has(.elementor-widget-image:only-child)) {
            padding-block: var(--spacing-2xl) var(--spacing-lg);
        }

        .section-intro-partner h1,
        .section-manettes-custom .inner-txt-img h2 {
            max-inline-size: 32rem;
        }        

        .section-intro-partner:first-child {
            margin-block-start: var(--spacing-xl);
        }

        :is(.section-about, .section-partenaires) > .elementor-container > .elementor-row {
            --_nb-columns: 12;
            grid-template-columns: 1fr repeat(var(--_nb-columns), calc(min(var(--wrapper-size-mobile), var(--wrapper-size)) / var(--_nb-columns))) 1fr;
        }

        .section-about .elementor-top-column:is(.elementor-col-33, [data-col="33"]) > .elementor-column-wrap {
            padding-block: var(--spacing-xl);
        }
    
        .section-custom-ps5 .elementor-top-column:is(.elementor-col-33, [data-col="33"]) {
            container: custom-ps5-txt / inline-size;
        }

        @container custom-ps5-txt (inline-size <= 32rem) {

            .section-custom-ps5 .h1 .elementor-heading-title {
                font-size: calc(var(--h1-font-size) / 1.5);
            }
        }
        
        .section-custom-ps5 .elementor-top-column.elementor-col-33::before {
            content: "";
            background: var(--primary-color);
            display: flex;
            inline-size: calc(var(--border-width) * 6);
            block-size: 100%;
            position: absolute;
            inset-block-start: 0;
            inset-inline-start: -10%;
        }

        .section-cards:has(.elementor-col-33) > div > div {
            grid-template-columns: repeat(3, minmax(0,1fr));
        }

        .section-schemas .elementor-top-column:first-child {
            padding-block-end: var(--spacing-2xl);
        }

        .section-schemas .elementor-top-column:last-child {
            padding-block-start: var(--spacing-2xl);
        }

        .section-partenaires :where(.elementor-top-column:is(.elementor-col-66, [data-col="66"]), .elementor-top-column:is(.elementor-col-66, [data-col="66"]) > .elementor-column-wrap) {
            display: grid;
            grid-template-columns: subgrid;
        }

        .section-partenaires .elementor-top-column:is(.elementor-col-66, [data-col="66"]) {
            grid-column: 7 / -1;
        }

        .section-partenaires .elementor-top-column:is(.elementor-col-66, [data-col="66"]) .elementor-column-wrap {
            grid-column: 1 / -1;
            overflow: hidden;
        }

        .section-partenaires .elementor-top-column:is(.elementor-col-33, [data-col="33"]) {
            grid-column: 2 / 6;
        }

        .section-partenaires .elementor-top-column:not(:has(.elementor-widget-ps-widget-module)) .elementor-widget-wrap {
            inline-size: min(20rem, 100%);
            margin-inline: auto;
        }

        .section-partenaires .swiper-pagination {
            display: none;
        }

        .section-contact :is(.block-infos, .block-formulaire) {
            inline-size: auto;
            margin: 0;
        }
        
        .section-contact .block-infos {
            display: table;
        }
    }

    @container viewport (70rem < inline-size <= 90rem) {

        .section-about .elementor-top-column:is(.elementor-col-66, [data-col="66"]) {
            grid-column: 1 / 8;
        }

        .section-about .elementor-top-column:is(.elementor-col-33, [data-col="33"]) {
            grid-column: 9 / -2;
        }

        .section-partenaires .elementor-top-column:is(.elementor-col-66, [data-col="66"]) .elementor-widget-wrap {
            grid-column: 1 / -2;
        }
        
    }

    @container viewport (inline-size <= 70rem) {

        .cart-grid-right {
            margin-block-start: var(--spacing-4xl);
        }
        
        .header .desktop-search-from {
            display: none;
        }
        
        .header-top__block--search .search-toggler {
            padding: 0;
        }      
        
        .footer .elementor-top-section > .elementor-container {
            inline-size: 100%;
        }

        .footer .newsletter {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }
        
        .footer .appel-contact .elementor-widget-image {
            max-block-size: 16rem;
        }

        .footer .elementor-row:has(.elementor-top-column.newsletter) {
            flex-flow: column-reverse;
        }

        .section-video-wg .elementor-top-column > .elementor-column-wrap {
            padding: var(--spacing-xl);
        }

        .section-about > .elementor-container > .elementor-row {
            display: flex;
            gap: calc(var(--spacing-4xl) * .66) var(--columns-gap);
        }

        .section-about .elementor-top-column .elementor-widget-image-carousel {
            aspect-ratio: 16 / 9;
        }

        .section-about .elementor-top-column:not(:has(.elementor-widget-image-carousel)) > .elementor-column-wrap {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }

        .section-partenaires > .elementor-container {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }

        .section-partenaires > .elementor-container > .elementor-row {
            display: flex;
            gap: calc(var(--spacing-4xl) * .66) var(--columns-gap);
        }

        .section-wg-options .elementor-top-column > .elementor-column-wrap > .elementor-widget-wrap {
            --_nb-options-col: 2;
        }
    }

    @container viewport (60rem < inline-size) {

        .js-search-result {
            background: var(--background-color);
            border-radius: 0 0 clamp(0rem, var(--border-radius), 2rem) clamp(0rem, var(--border-radius), 2rem);
            border: var(--border-width) solid var(--border-color);
            border-block-start: none;
            margin-block: calc(var(--border-width)* -1) 0;
            margin-inline: 0;
            overflow: hidden;
            position: absolute;
            inset-block-end: 50%;
            inset-inline-start: 0;
            inline-size: 100%;
            translate: 0 100%;
            padding-block-start: var(--spacing-sm);
            z-index: -1;
        }
    }

    @container viewport (inline-size <= 60rem) {

        .featured-products__navigation {
            display: none;
        }
    }

    @container viewport (45rem < inline-size) {

        .modal-dialog {
            max-inline-size: 40rem;
            margin-block: var(--spacing-md);
            margin-inline: auto;
        } 

        .homeslider .swiper-pagination {
            flex-flow: column;
            align-items: flex-end;
            gap: var(--spacing-md);
            pointer-events: none;
            position: absolute;
            left: initial;
            bottom: initial;
            inset-block-start: 40%;
            inset-inline-end: 50%;
            margin: 0;
            translate: 50% -50%;
        }

        .homeslider .swiper-pagination-bullet {
            background: transparent;
            border-radius: 0;
            counter-increment: nb-homeslide;
            display: flex;
            align-items: baseline;
            gap: var(--spacing-sm);
            inline-size: auto;
            block-size: auto;
            line-height: 1;
            opacity: 1;
        }

        .homeslider__caption {
            inset-block-start: 40%;
        }

        .homeslider .swiper-pagination-bullet::before,
        .homeslider .swiper-pagination-bullet::after {
            transition: var(--transition-default);
        }

        .homeslider .swiper-pagination-bullet::before {
            content: "";
            background: var(--secondary-color);
            inline-size: var(--spacing-xs);
            block-size: var(--border-width);
        }

        .homeslider .swiper-pagination-bullet::after {
            content: counter(nb-homeslide, decimal-leading-zero);
            color: var(--secondary-color);
            font: var(--text-weight-medium) var(--text-size-normal)/1.1 var(--font-title);
        }

        .homeslider .swiper-pagination-bullet-active::before {
            background: var(--strong-color);
            inline-size: calc(var(--spacing-xs) * 4);
        }

        .homeslider .swiper-pagination-bullet-active::after {
            color: var(--strong-color);
        }

        .section-mea .elementor-widget-ps-widget-module + .elementor-widget-heading {
            color-scheme: dark;
            position: relative;
            margin-block-start: calc(var(--spacing-4xl) * -2);
            z-index: 1;
        }
        
        .section-video-wg .bouton.icon {
            flex-flow: column;
            margin: 0 !important;
            position: absolute;
            inset: 50% 0 0 50%;
            translate: -50% -50%;
        }

        .section-infos-contact .wrapper-infos-contact > .elementor-column-wrap > .elementor-widget-wrap {
            display: grid;
        }
    }

    @container viewport (45rem < inline-size <= 70rem) {
        
        .section-cards > div > div {
            grid-template-columns: repeat(2, minmax(0,1fr));
        }

        .section-cards .elementor-top-column:nth-child(odd):last-child {
            grid-column: 1 / -1;
        }

        .section-manettes-custom .manettes-custom .elementor-row {
            display: grid;
            grid-template-columns: repeat(2, minmax(0,1fr));
        }

        .section-manettes-custom .manette-custom .elementor-widget-wrap {
            padding: var(--spacing-md);
        }
    }

    @container viewport (45rem < inline-size <= 80rem) {
        
        .section-engagements > div > div {
            grid-template-columns: repeat(2, minmax(0,1fr));
        }
    }

    @container viewport (45rem < inline-size <= 90rem) {

        .footer-links {
            grid-template-columns: repeat(3, minmax(0,1fr));
        }
    }
    
    @container viewport (inline-size <= 45rem) {

        .modal-dialog {
            margin: var(--spacing-3xs);
        }

        .wpcf7.hook .form-champ.upload .bouton {
            letter-spacing: 0;
            padding-block: var(--spacing-3xs);
            padding-inline: var(--spacing-xs);
        }
        
        .wpcf7.hook .form-champ.upload .bouton span {
            display: none;
        }

        main .product-slider {
            overflow: initial;
        }

        .featured-products .product-slider .featured-products__slider {
            display: flex;
            align-items: stretch;
        }

        .featured-products .product-slider .swiper-slide,
        .elementor-top-section:has(.elementor-widget-product-carousel) .elementor-widget-product-carousel .swiper-slide {
            display: flex;
            block-size: auto;
            padding-inline: var(--spacing-xs);
        }
            
        @media (prefers-reduced-motion: no-preference) {

            .header {
                transition: all .75s cubic-bezier(0.85, 0.09, 0.15, 0.91);
            }
        }
        
        .header.show {
            inline-size: 100%;
            position: sticky;
            inset-block-start: var(--header-height);
            inset-inline-start: 0;
            z-index: 2000;
        }
        
        .header.sticky.show {
            inset-block-start: var(--banner-height);
            inset-inline-start: 0;
        }
        
        .header-absolute.show {
            background: var(--background-color);
        }
        
        .header.hide {
            translate: initial;
        }
        
        body:has(.header.sticky.show) .ino-modal .ino-modal-close {
            inset-block-start: calc(var(--padding-header) + (var(--logo-height) / 2));
            inset-inline-end: 0;
        }
            	
        .mobile-bottom-menu {
            background: var(--background-grey);
            display: flex;
            align-items: stretch;
            justify-content: center;
            inline-size: 100%;
            padding-block: var(--spacing-4xs);
            padding-inline: var(--spacing-3xs);
            position: fixed;
            inset-block-end: 0;
            inset-inline-start: 0;
            z-index: 2000;
            transition: all .75s cubic-bezier(0.85, 0.09, 0.15, 0.91);
            transition-delay: .3s;
        }

        @media (prefers-reduced-motion: no-preference) {

            .mobile-bottom-menu {
                translate: 0 100%;
            }
        }
        
        .mobile-bottom-menu.show,
        .mobile-bottom-menu:has(a:focus-visible),
        .mobile-bottom-menu:has(.header-top__block--cart.product-in-cart) {
            translate: initial;
        }
        
        .mobile-bottom-menu > div {
            padding-block: 0;
            padding-inline: var(--spacing-md);
        }
        
        .mobile-bottom-menu > div:not(:last-child) {
            border-inline-end: var(--border-width) solid var(--outline-color);
        }
        
        .mobile-bottom-menu :is(.links, .header-top__block--user, .header-top__block--cart) a {
            background: transparent;
            display: flex;
            padding-block: var(--spacing-4xs);
            padding-inline: var(--spacing-md);
            position: relative;
        }
            
        .mobile-bottom-menu :is(a, button) i {
            font-size: 1.25rem;
        }

        .header :is(.header-top__block--user, .header-top__block--cart),
        .mobile-bottom-menu .blockcart > *:not(.cart-mobile) {
            display: none;
        }
        
        .mobile-bottom-menu .header-top__block--cart .header-top__icon-container {
            position: relative;
        }
        
        .mobile-bottom-menu .header-top__block--cart .header-top__badge {
            background: transparent;
            color: var(--light-color);
            display: flex;
            inline-size: auto;
            block-size: auto;
            font: var(--text-weight-bold) .5rem/1 var(--font-text);
            padding: var(--spacing-4xs);
            position: absolute;
            inset-block-start: 0;
            inset-inline-end: var(--spacing-md);
            translate: 40% 0;
            z-index: 1;
        }
        
        .mobile-bottom-menu .header-top__block--cart .header-top__badge::before {
            content: "";
            background: var(--primary-color);
            border-radius: 50%;
            display: table;
            aspect-ratio: 1;
            inline-size: 100%;
            block-size: auto;
            min-inline-size: var(--spacing-2xs);
            min-block-size: var(--spacing-2xs);
            line-height: 1;
            position: absolute;
            inset: 50% auto auto 50%;
            translate: -50% -50%;
            z-index: -1;
        }
        
        .product-table.table-bordered {
            border: none;
        }
        
        .product-table.table-bordered .product-line:not(:first-child) {
            padding-block-start: var(--spacing-md);
        }

        :is(.blockreassurance > .container, .footer-links) {
            grid-template-columns: repeat(2, minmax(0,1fr));
        }

        .post-footer {
            padding-block: var(--spacing-sm) var(--spacing-2xl);
        }        
        
        .homeslider__slide figure img {
            opacity: .33;
        }

        .section-video-wg .elementor-top-column > .elementor-column-wrap {
            min-block-size: 20rem;
        }

        .section-video-wg .elementor-widget-wrap {
            flex-flow: column;
        }

        .section-video-wg .bouton.icon {
            flex-grow: 1;
            align-items: center;
        }

        .section-wg-options .elementor-top-column > .elementor-column-wrap > .elementor-widget-wrap {
            --_nb-options-col: 1;
        }

        .section-infos-contact .elementor-inner-section:not(:first-child) {
            margin-block-start: var(--spacing-sm);
        }
    }

    @container viewport (36rem < inline-size) {

        .modal-content .modal-btn {
            flex-flow: row wrap;
            justify-content: flex-end;
            gap: var(--spacing-2xs);
        }
    }
    
    @container viewport (36rem < inline-size <= 70rem) {
        
        .footer .appel-contact .elementor-row {
            display: grid;
            grid-template-columns: 1fr repeat(6, calc(min(var(--wrapper-size-mobile), var(--wrapper-size)) / 6)) 1fr;
            gap: 0;
        }

        .footer .appel-contact .elementor-col-66 {
            grid-column: 2 / 6;
            padding-inline-end: 5%;
        }

        .footer .appel-contact .elementor-col-33 {
            grid-column: 6 / 9;
        }
    }

    @container viewport (inline-size <= 36rem) {
        
        .modal-content .modal-btn {
            flex-flow: column;
            align-items: center;
            gap: var(--spacing-3xs);
            max-inline-size: fit-content;
            margin: 0;
        }

        .modal-content .modal-btn > * {
            inline-size: 100%;
        }

        .wpcf7.hook .form-champs {
            grid-template-columns: minmax(0, 1fr);
        }

        .slider-posts-blog .post-slider__item,
        .featured-products .product-slider .swiper-slide,
        .elementor-top-section:has(.elementor-widget-product-carousel) .elementor-widget-product-carousel .swiper-slide {
            padding-inline: var(--spacing-3xs);
        }

        .header-banner .banner-title .title {
            font-size: var(--text-size-small);
        }
        
        .footer .appel-contact .elementor-col-66 {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }

        .post-footer {
            padding-block-start: 0;
        }
    }

    @container viewport (30rem < inline-size) {    

        .bouton:not(.link, .icon, .input-group-append, div),
        .bouton:not(.link, .icon, .input-group-append) :is(a, button, [type=submit]) {
            min-inline-size: 9rem;
        }

        .input-group-append .bouton:not(.link, .icon) {
            min-inline-size: initial;
        }
    }

    @container viewport (30rem < inline-size <= 45rem) {    
           
        .card__items,
        .checkout-addresses-step .address-selector,
        .layout-left-column .page-sidebar-left + .content-wrapper .adresses-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0,1fr));
            gap: var(--items-gap);    
            margin-block-start: var(--spacing-md);
        }
    }

    @container viewport (inline-size <= 30rem) {
        
        .custom-checkbox small {
            inset: initial;
        }

        :is(textarea, .form-control:not(.input-custom-qty), .input-group-append.bouton) {
            padding-block: var(--spacing-2xs);
            padding-inline: var(--spacing-xs);
        }
        
        .form-wrapper:has(select)::after {
            inset-inline-end: var(--spacing-xs);
        }
        
        select {
            padding-block: var(--spacing-2xs);
            padding-inline: var(--spacing-xs) calc(var(--spacing-xs) * 3);
        }
        
        form.search-form input[type=search] {
            padding-block: var(--spacing-2xs);
            padding-inline: calc(var(--spacing-xs) * 3) var(--spacing-xs);
        }
        
        .boutons .bouton,
        .bouton:not(.icon),
        .bouton:not(.icon) :is(a, .elementor-button-wrapper) {
            inline-size: 100%;
        }
        
        .bouton:not(div, .input-group-append),        
        .bouton :is(a, button, [type=submit], .wpcf7-submit):not(.input-group-append) {
            padding: var(--spacing-xs);
        }
        
        .boutons .contour.bouton {
            order: 1;
        }
        
        .boutons .bouton:not(.contour) {
            order: 2;
        }

        .modal-content .modal-btn {
            max-inline-size: initial;
        }
        
        .card__items {
            display: grid;
            gap: var(--items-gap);
        }
        
        .input-group:has(.input-group-append):not(.bootstrap-touchspin) input:not([type=password]),
        .input-group .input-group-append .bouton {
            font-size: var(--text-size-small);
        }
            
        :is(.elementor-top-section, .ino-top-section).fond.block:not(.full) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
            padding-inline: 0;
        }
        
        :is(.elementor-top-section, .ino-top-section).fond.block:not(.full) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) > div {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }
        
        :is(.elementor-top-section, .ino-top-section):is(.fond, .supp) + :is(.elementor-top-section, .ino-top-section):is(.fond, .supp) {
            margin-block-start: 0;
        }
        
        :is(.elementor-top-section, .ino-top-section):is(.fond, .supp) {
            margin-block-end: 0;
        }    
        
        :is(.elementor-top-section, .ino-top-section).fond.block:not(.elementor-section-full_width) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
            border-radius: 0;
        }

        .header .header-top__block--eshop {
            gap: var(--spacing-sm);
        }
        
        .header .header-top__block > :is(a, button):not(.bouton) .header-top__icon {
            font-size: 1.25rem;
        }
        
        .mobile-bottom-menu > div {
            display: flex;
            flex-grow: 1;
            justify-content: center;
            padding: 0;
        }
        
        .mobile-bottom-menu :is(.links, .header-top__block--user, .header-top__block--cart) a {
            padding-block: var(--spacing-4xs);
            padding-inline: var(--spacing-xs);
        }
        
        .mobile-bottom-menu .header-top__block--cart .header-top__badge {
            inset-block-start: 0;
            inset-inline-end: var(--spacing-xs);
        }

        .footer .newsletter {
            inline-size: 100%;
        }
        
        .footer .newsletter > .elementor-column-wrap {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
            padding-inline: 0;
        }

        .blockreassurance :where(p, .block-title) {
            font-size: var(--text-size-small);
        }

        :is(.footer-links, .footer-links > .col-links-logo) {
            grid-template-columns: repeat(1, minmax(0,1fr));
        }
        
        .footer-container :where(.col-links:not(.col-links-logo), .social-list) {
            align-items: safe center;
        }

        .footer-container :is(.title, a:not(.social-link)),
        .footer-container .col-links-logo :is(p, strong) {
            text-align: center;
        }
        
        .footer-container .block-social {
            align-items: center;
            justify-content: center;
            inline-size: 100%;
        }
        
        .footer-container .col-links-logo {
            display: flex;
        }
        
        .footer-container :is(ul:not(.social-list), .col-links-logo) {
            flex-flow: column;
            align-items: center;
        }
        
        .footer-container .title::after {
            margin-inline: auto;
        }
    }

    @container viewport (24rem < inline-size) {    
        
        .qty > .input-custom-qty,
        .bootstrap-touchspin:has(.input-custom-qty) {
            block-size: 100%;
        }
        
        .bootstrap-touchspin:has(.input-custom-qty) {
            grid-template-columns: auto 1fr auto;
        }

        .bootstrap-touchspin:has(.input-custom-qty) .input-group-btn button {
            padding-block: var(--spacing-2xs);
            padding-inline: var(--spacing-xs);
        }
        
        .section-infos-contact .phone::before {
            content: "\e916";
            color: var(--title-color);
            font: var(--font-icon);
            font-size: var(--h2-font-size);
            letter-spacing: 0;
        }
    }

    @container viewport (inline-size <= 24rem) {        
                
        :is(.bootstrap-touchspin:has(.input-custom-qty), .qty > .input-custom-qty) {
            block-size: 100%;
            max-inline-size: 4rem;
            padding: var(--spacing-2xs);
        }

        .bootstrap-touchspin .input-group-btn {
            display: none;
        }
        
        .pagination .page-list {
            gap: var(--spacing-3xs);
        }
        
        .pagination .page-list :is(a, li.disabled > span) {
            font-size: var(--text-size-small);
            gap: var(--spacing-3xs);
        }
        
        .pagination .page-list a:not(.previous, .next) {
            padding-block: var(--spacing-4xs);
            padding-inline: var(--spacing-3xs);
        }
        
        .pagination .page-list a:is(.previous, .next) {
            padding-block: var(--spacing-4xs);
            padding-inline: var(--spacing-2xs);
        }
        
        .pagination .page-list i {
            font-size: .5rem;
        }
        
        .address .address__footer i {
            font-size: var(--text-size-small);
        }
        
        .featured-products .product-slider .swiper-slide,
        .elementor-top-section:has(.elementor-widget-product-carousel) .elementor-widget-product-carousel .swiper-slide {
            padding-inline: var(--spacing-4xs);
        }

        .modal-content :is(.cart-products, .cart-products__desc) {
            display: flex;
            flex-flow: column;
            align-items: center;
        }
        
        .modal-content .cart-products {
            padding: 0;
            margin-block-end: var(--spacing-md);
        }
        
        .cart-products__thumb {
            inline-size: auto;
        }
        
        .modal-content .cart-products__desc {
            inline-size: 100%;
        }
        
        .modal-content .cart-products :is(.product-name, .price) {
            text-align: center;
        }    
        
        .section-infos-contact .phone a {
            font-size: var(--text-size-normal);
        }
    }
}

.agJsWidget {
    display: none !important;
}