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

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

@font-face {
    font-family: 'Adjusted Arial Fallback';
    src: local(Arial);
    size-adjust: 101%;
    ascent-override: 99%;
    descent-override: 18%;
    line-gap-override: 3%;
}

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

@layer variables {

    :root {
        color-scheme: light dark;
        
        --border-radius: 2rem;
        --border-radius-small: 1rem;
        --border-radius-field: .75rem;
        --radius-combinaison: var(--border-radius) var(--border-radius-small) var(--border-radius) var(--border-radius-small);
        --radius-combinaison-small: var(--border-radius-small) calc(var(--border-radius-small) / 2) var(--border-radius-small) calc(var(--border-radius-small) / 2);
        --border-width: 2px;
        --outline-width: 2px;
        
        --wrapper-size: 106rem;
        --wrapper-size-medium: 80rem;
        --wrapper-size-small: 60rem;
        --wrapper-size-mobile: 90%;
        --sidebar-width: 18rem;
        --items-margin: clamp(.5rem, .151rem + 1.744vw, 2rem);
        --items-gap: calc(var(--items-margin) * 3) var(--items-margin);
        --items-min-size: 18rem;
        --product-min-size: var(--items-min-size);
        --post-min-size: 28rem;
        
        --logo-ratio: 205 / 80;
        --logo-height: clamp(2.5rem, 1.919rem + 2.907vw, 5rem);
        --padding-header: clamp(.5rem, .384rem + .581vw, 1rem);
        
        --dark-color: oklch(22.997% .00375 106.805);
        --light-color: oklch(97.556% .01752 120.859);
        
        --primary-color: oklch(74.383% .16088 125.444);
        --primary-hover-color: light-dark(oklch(44.733% .09223 124.866), oklch(82.366% .12611 123.549));
        --primary-active-color: light-dark(oklch(24.139% .04255 124.805), oklch(89.548% .0746 121.905));
        
        --secondary-color: oklch(74.504% .16739 64.78);
        --secondary-hover-color: light-dark(oklch(50.661% .11213 66.734), oklch(84.31% .13607 75.166));
        --secondary-active-color: light-dark(oklch(30.224% .06469 72.012), oklch(91.156% .07723 77.357));
        
        --alert-danger-color: light-dark(oklch(58.59% .21458 24.279), oklch(70.919% .13936 17.357));
        --alert-warning-color: light-dark(oklch(70.663% .14467 47.21), oklch(77.434% .10618 48.969));
        --alert-success-color: light-dark(oklch(69.389% .13104 154.452), oklch(82.307% .1478 154.918));
        --alert-info-color: light-dark(oklch(62.31% .1881 259.83), oklch(80.61% .08979 260.028));
        
        --status-waiting: var(--shadow-color);
        --status-accepted: var(--title-color);
        --status-processing: var(--primary-color);
        --status-sent: var(--secondary-color);
        --status-success: var(--alert-success-color);
        --status-error: var(--alert-danger-color);
        
        --background-color: light-dark(var(--light-color), var(--dark-color));
        --background-grey: color-mix(in oklab, var(--background-color), var(--primary-color) 5%);
        
        --border-color: var(--muted-color);
        --border-hover-color: var(--text-color);
        --border-focus-color: var(--primary-color);
        
        --title-color: light-dark(var(--dark-color), var(--light-color));
        --strong-color: oklch(from var(--title-color) l c h / .85);
        --text-color: oklch(from var(--title-color) l c h / .75);
        --muted-color: oklch(from var(--title-color) l c h / .6);
        --outline-color: oklch(from var(--title-color) l c h / .3);
        --shadow-color: light-dark(oklch(from var(--title-color) l c h / .15), oklch(from var(--secondary-color) l c h / .15));
        
        --font-title: 'Commissioner-Variable', 'Adjusted Arial Fallback';
        --font-text: var(--font-title);
        --font-icon: normal 400 var(--text-size-normal)/1 "inodia-icons";
        --line-height: 1.618;
        --letter-spacing: 0;
                
        --text-size-h1: clamp(2.49rem, 2.61vi + 1.97rem, 4.73rem);
        --text-size-h2: clamp(2.07rem, 1.72vi + 1.73rem, 3.55rem);
        --text-size-h3: clamp(1.73rem, 1.09vi + 1.51rem, 2.66rem);
        --text-size-h4: clamp(1.44rem, .65vi + 1.31rem, 2rem);
        --text-size-big: clamp(1.2rem, .35vi + 1.13rem, 1.5rem);
        --text-size-normal: clamp(1rem, .15vi + .97rem, 1.13rem);
        --text-size-small: clamp(.83rem, .01vi + .83rem, .84rem);
        
        --text-weight-normal: 300;
        --text-weight-medium: 500;
        --text-weight-bold: 700;
        
        --spacing-4xs: .25rem;
        --spacing-3xs: .5rem;
        --spacing-2xs: .75rem;
        --spacing-xs: 1rem;
        --spacing-sm: clamp(1rem, .884rem + .581vw, 1.5rem);
        --spacing-md: clamp(1.5rem, 1.384rem + .581vw, 2rem);
        --spacing-lg: clamp(2rem, 1.767rem + 1.163vw, 3rem);
        --spacing-xl: clamp(2.5rem, 2.151rem + 1.744vw, 4rem);
        --spacing-2xl: clamp(3rem, 2.302rem + 3.488vw, 6rem);
        --spacing-3xl: clamp(4rem, 3.07rem + 4.651vw, 8rem);
        --spacing-4xl: clamp(5rem, 3.837rem + 5.814vw, 10rem);
        --columns-gap: 9%;
        
        --transition-default: all .3s ease-in-out, outline .1s ease-in-out;
        
        --product-img-ratio: 1;
        --product-title-family: var(--font-title);
        --product-title-size: var(--text-size-normal);
        --product-title-weight: var(--text-weight-bold);
        --product-title-line-height: 1.1;
        --product-title-letter-spacing: var(--letter-spacing);
        --product-title-transform: uppercase;
        --font-product-title: var(--product-title-weight) var(--product-title-size)/var(--product-title-line-height) var(--product-title-family);
        
        --product-price-family: var(--font-title);
        --product-price-size: var(--text-size-big);
        --product-price-weight: var(--text-weight-bold);
        --product-price-line-height: 1;
        --product-price-letter-spacing: -.015em;
        --font-product-price: var(--product-price-weight) var(--product-price-size)/var(--product-price-line-height) var(--product-price-family);
    }
        
    @media (prefers-contrast: more) {
        
        :root {
            --border-color: var(--title-color);
            --border-hover-color: var(--title-color);
            --strong-color: var(--title-color);
            --text-color: var(--title-color);
            --muted-color: var(--title-color);
            --outline-color: var(--title-color);
        }
    }
    
    .inodia-icons.plant-leave:before {
        content: "\e936" / "";
    }
    .inodia-icons.plant-sun:before {
        content: "\e935" / "";
    }
    .inodia-icons.plant-temp:before {
        content: "\e934" / "";
    }
    .inodia-icons.plant-size:before {
        content: "\e933" / "";
    }
    .inodia-icons.plant-soil:before {
        content: "\e932" / "";
    }
    .inodia-icons.award:before {
        content: "\e931" / "";
    }
    .inodia-icons.calendar:before {
        content: "\e930" / "";
    }
    .inodia-icons.card:before {
        content: "\e92f" / "";
    }
    .inodia-icons.gift:before {
        content: "\e92e" / "";
    }
    .inodia-icons.info:before {
        content: "\e92d" / "";
    }
    .inodia-icons.dark_mode:before {
        content: "\e92c" / "";
    }
    .inodia-icons.leave:before {
        content: "\e92b" / "";
    }
    .inodia-icons.light_mode:before {
        content: "\e92a" / "";
    }
    .inodia-icons.locker:before {
        content: "\e929" / "";
    }
    .inodia-icons.long_arrow_left:before {
        content: "\e928" / "";
    }
    .bouton-icon.icon-long_arrow_right a > span:before,
    .inodia-icons.long_arrow_right:before {
        content: "\e927" / "";
    }
    .inodia-icons.minus:before {
        content: "\e926" / "";
    }
    .inodia-icons.plant:before {
        content: "\e925" / "";
    }
    .inodia-icons.play:before {
        content: "\e924" / "";
    }
    .inodia-icons.size:before {
        content: "\e923" / "";
    }
    .inodia-icons.store:before {
        content: "\e922" / "";
    }
    .inodia-icons.tree:before {
        content: "\e921" / "";
    }
    .inodia-icons.temp:before {
        content: "\e920" / "";
    }
    .inodia-icons.youtube:before {
        content: "\e91f" / "";
    }
    .inodia-icons.linkedin:before {
        content: "\e91e" / "";
    }
    .inodia-icons.instagram:before {
        content: "\e91d" / "";
    }
    .inodia-icons.facebook:before {
        content: "\e91c" / "";
    }
    .inodia-icons.trash:before {
        content: "\e91b" / "";
    }
    .inodia-icons.burger:before {
        content: "\e91a" / "";
    }
    .inodia-icons.chat:before {
        content: "\e919" / "";
    }
    .inodia-icons.bell:before {
        content: "\e918" / "";
    }
    .inodia-icons.home:before {
        content: "\e917" / "";
    }
    .inodia-icons.phone:before {
        content: "\e916" / "";
    }
    .inodia-icons.mail:before {
        content: "\e915" / "";
    }
    .inodia-icons.clock:before {
        content: "\e914" / "";
    }
    .inodia-icons.download:before {
        content: "\e913" / "";
    }
    .inodia-icons.pin:before {
        content: "\e912" / "";
    }
    .inodia-icons.ticket:before {
        content: "\e911" / "";
    }
    .inodia-icons.discount:before {
        content: "\e910" / "";
    }
    .inodia-icons.package:before {
        content: "\e90f" / "";
    }
    .inodia-icons.rgpd:before {
        content: "\e90e" / "";
    }
    .inodia-icons.plus:before {
        content: "\e90d" / "";
    }
    .inodia-icons.edit:before {
        content: "\e90c" / "";
    }
    .inodia-icons.checkmark:before {
        content: "\e90b" / "";
    }
    .inodia-icons.cross:before {
        content: "\e90a" / "";
    }
    .inodia-icons.upload:before {
        content: "\e909" / "";
    }
    .inodia-icons.hide:before {
        content: "\e908" / "";
    }
    .inodia-icons.show:before {
        content: "\e907" / "";
    }
    .inodia-icons.search:before {
        content: "\e906" / "";
    }
    .inodia-icons.profile:before {
        content: "\e905" / "";
    }
    .inodia-icons.cart:before {
        content: "\e904" / "";
    }
    .inodia-icons.arrow_left:before {
        content: "\e903" / "";
    }
    .inodia-icons.arrow_right:before {
        content: "\e902" / "";
    }
    details[open] summary::after,
    .inodia-icons.arrow_up:before {
        content: "\e901" / "";
    }
    details:not([open]) summary::after,
    .inodia-icons.arrow_down:before {
        content: "\e900" / "";
    }

    @media screen and (width <= 36rem) {

        :root {
            --radius-combinaison: var(--radius-combinaison-small);
        }
    }
}

@layer utility {

    .sr-only,
    .bouton-icon span span {
        border: 0;
        clip: inset(50%);
        inline-size: 1px;
        block-size: 1px;
        margin: -1px;
        padding: 0;
        white-space: nowrap;
        overflow: hidden;
        position: absolute;
    }

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

    .skip-link::after,
    :is([hidden], .wpcf7-display-none, .adveg-grecaptcha-legal) {
        display: none;
    }

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

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

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

    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 / 10%);
    }

    .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 / 10%);
    }

    :is(.alert, .wpcf7-response-output) {
        background: oklch(from var(--_alert-color) l c h / 10%);
        border: var(--border-width) solid oklch(from var(--_alert-color) l c h / 15%);
        border-radius: var(--border-radius-field);
        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;
    }

    :is(.alert-danger, .wpcf7-custom-error) {
        --_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);
    }

    @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);
        }
    }
    
    .bouton:disabled {
        --_btn-color: var(--shadow-color);
        --_btn-text-color: var(--muted-color);
        border-color: transparent;
        cursor: not-allowed;
    }

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

    @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 <= 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 {

    @keyframes spinner-border {
        to {
            rotate: 1turn;
        }
    }
    :is(.spinner-border, .spinner-grow) {
        border-radius: 50%;
        display: inline-block;
        inline-size: 2rem;
        block-size: 2rem;
        vertical-align: text-bottom;
    }    
    .spinner-border {
        animation: spinner-border .75s linear infinite;
        border: .25em solid;
        border-inline-end: .25em solid transparent;
    }
    @keyframes spinner-grow {
        0% {
            scale: 0;
        }
        50% {
            opacity: 1;
            scale: 1;
        }
    }
    .spinner-grow {
        animation: spinner-grow .75s linear infinite;
        background-color: currentColor;
    }
    @media (prefers-reduced-motion: reduce) {
        :is(.spinner-border, .spinner-grow) {
            animation-duration: 1.5s;
        }
    }
    :is(.modal-dialog, .modal-content, .modal-body, .swiper-slide, .swiper, .swiper-inodia, .swiper-wrapper) {
        position: relative;
    }
    :is(.swiper, .swiper-inodia) {
        margin-inline: auto;
        overflow: hidden;
        z-index: 1;
    }
    .swiper-wrapper {
        box-sizing: content-box;
        display: flex;
        inline-size: 100%;
        block-size: 100%;
        transition-property: transform;
        transform: translateZ(0);
        z-index: 1;
    }
    .swiper-pointer-events {
        touch-action: pan-y;
    }
    .swiper-pointer-events.swiper-vertical {
        touch-action: pan-x;
    }
    .swiper-slide {
        flex-shrink: 0;
        block-size: 100%;
        transition-property: transform;
        inline-size: 100%;
    }
    .swiper-backface-hidden .swiper-slide {
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        transform: translateZ(0);
    }
    .swiper-pagination {
        text-align: center;
        transform: translateZ(0);
        transition: opacity .3s;
    }
    :is(.swiper-pagination.swiper-pagination-hidden, .modal-backdrop.fade, .spinner-grow) {
        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;
    }
    :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;
    }
    :where(.swiper-pagination-lock, .dropdown-menu, .modal, .swiper-button-lock, .cart-loader, .page-loader, .swiper-pagination-bullet:only-child) {
        display: none;
    }
    :is(.cart-loader, .page-loader) {
        background: oklch(from var(--background-color) l c h / 50%);
        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;
        inline-size: auto;
    }
    .modal.fade:not(.show) .modal-dialog {
        transform: translateY(-50px);
    }
    @media (prefers-reduced-motion: no-preference) {
        .modal.fade .modal-dialog {
            transition: transform .3s ease-out;
        }
    }
    .modal-content {
        display: flex;
        flex-flow: column;
        pointer-events: auto;
        inline-size: 100%;
    }
    .modal-backdrop {
        inline-size: 100vw;
        block-size: 100vh;
        position: fixed;
        inset-block-start: 0;
        inset-inline-start: 0;
        z-index: 2040;
    }
    .modal-header {
        padding: 1rem;
    }
    .modal-body {
        flex: 1 1 auto;
        padding: 1rem;
    }
    .modal-footer {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }
    .modal-fullscreen .modal-dialog {
        inline-size: 100vw;
        block-size: 100%;
        max-inline-size: none;
    }
    .modal-fullscreen .modal-content {
        block-size: 100%;
    }
    .modal-fullscreen .modal-body {
        overflow-y: auto;
    }
}

@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(.light-scheme-color),
    :is(.light-scheme-color:not(.dark-default), .dark-scheme-color:not(.light-default)) .clair,
    .dark-scheme-color.light-default .fonce {
        color-scheme: light;
    }

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

    .light-default.dark-scheme-color .header-top__block--logo img {
        filter: brightness(10);
    }

    .dark-default.light-scheme-color .header-top__block--logo img {
        filter: brightness(0);
    }

    :is(html, body) {
        block-size: auto;
        min-block-size: fill-available;
        min-block-size: -webkit-fill-available;
    }

    html {
        scroll-padding: var(--spacing-lg);
        container: viewport / inline-size;
        overflow: auto;
        -webkit-font-smoothing: antialiased;
        -webkit-text-size-adjust: none;
        text-size-adjust: none;
    }
    
    @media (prefers-reduced-motion: no-preference) {

        html {
            scroll-behavior: smooth;
        	interpolate-size: allow-keywords;
        }
    }

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

    body {
        display: flex;
        flex-flow: column;
        inline-size: 100%;
        max-inline-size: 100%;
        min-block-size: 100vh;
        overflow: clip;
        text-wrap: pretty;
        position: relative;
    }

    main {
        flex-grow: 1;
    }

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

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

    :is(p, li, dt, time, span, small, address) {
        font-weight: var(--text-weight-normal);
        letter-spacing: var(--letter-spacing);
    }
    
    .elementor-blockquote__content {
        font-weight: var(--text-weight-normal);
        font-style: italic;
        margin-block-start: 0;
    }
    
    :is(b, dd, strong) {
        color: var(--strong-color);
        font-weight: var(--text-weight-bold);
    }

    :where(p, .alert):not(:last-child, .h1, .h2, .h3, .h4, .label, .no-margin, :has(+ .modal)) {
        margin-block-end: .75lh;
    }

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

    .message-rgpd {
        font: var(--text-weight-normal) var(--text-size-small)/1.3 var(--font-text);
        text-align: left;
        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;
    }

    :is(li, summary) {
        list-style: none;
    }
    
    button {
        all: unset;    
        box-sizing: border-box;
        text-align: center;
    }

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

    :is(a, button, select, summary, [type=submit], input[type=radio]) {
        appearance: none;
        cursor: pointer;
        touch-action: manipulation;
    }

    a {
        text-decoration: none;
    }

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

    :where(iframe, input[type=file]:focus) {
        border: none;
    }
    
    address {
        font: normal var(--text-weight-normal) var(--text-size-normal)/1.3 var(--font-text);
    }

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

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

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

    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;
    }

    textarea {
        resize: vertical;
    }

    :is(.label-hide-radio, .grecaptcha-badge),
    .custom-checkbox small br {
        display: none;
    }
    
    .radio-inline {
        display: flex;
        align-items: center;
        gap: var(--spacing-3xs);
    }

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

    :is(.custom-radio, .custom-checkbox, .search-form__form-group),
    .featured-products .wrapper-slider {
        position: relative;
    }

    :is(.custom-radio, .custom-checkbox) small {
        color: var(--text-color);
    }
    
    :where(.custom-radio, .custom-radio > *) { 
        border-radius: 100%;
        aspect-ratio: 1;
        block-size: var(--text-size-normal);
    }

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

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

    .custom-radio::before {
        content: "";
        border: .25rem solid transparent;
        border-radius: 100%;
        aspect-ratio: 1;
        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);
    }

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

    .custom-checkbox:has(input[type=checkbox]:checked) {
        --_link-color: var(--primary-color);
    }

    .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(--_link-color) l c h / .15);
    }

    .custom-checkbox small em:not(:empty) {
        display: table;
        margin-block-start: var(--spacing-3xs);
    }
	
    .custom-checkbox :where(input[type=checkbox], input[type=checkbox] + span) {
        aspect-ratio: 1;
        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(--_link-color);
        color: var(--dark-color);
        display: grid;
		place-items: center;
        font-size: var(--text-size-small);
        position: absolute;
        inset: 0;
        transition: all .15s ease-in-out;
    }

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

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

    .custom-checkbox input[type=checkbox]:not(:checked) + span .checkbox-checked {
        opacity: 0;
    }

    .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(--title-color);
    }

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

    :is(picture, figure, time) {
        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;
    }
    
    [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;
    }
    
    body.modal-open .modal {
        scrollbar-width: none;
    }

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

    :is(.inodia-icons, .btn-touchspin),
    .inodia-icons :is(a, span),
    .bouton-icon a > span,
    :where(.elementor-accordion-title, summary)::after {
        font: var(--font-icon);
        letter-spacing: 0;
    }

    .elementor-container {
        max-width: initial;
    }
    
    :is(.elementor-element-populated, .elementor-button, .elementor-testimonial-image),
    .elementor-pagination-position-outside .swiper,
    .elementor-widget-product-carousel .elementor-carousel-wrapper {
        padding: 0;
    }

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

    .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(.elementor-tab-content, .elementor-toggle-content, .elementor-accordion-content, .elementor-widget-text-editor, .product-description-short, .product-description-long) :is(br, *:empty) {
        display: none;
    }

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

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

    .elementor-widget-wrap {
        gap: 0;
    }
    
    :is(.swiper, .elementor-widget-wrap > .elementor-element) {
        width: auto;
        inline-size: 100%;
    }
    
    :is(.elementor-widget-image, .elementor-testimonial-wrapper) {
        text-align: left;
    }     

    .elementor-top-section:not(.full, .block) .elementor-widget-image:not(.contain) img {
        border-radius: var(--radius-combinaison);
    }

    .elementor-top-section[data-settings='{"background_background":"classic"}'] {
        background-position: 50%;
        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 / 50%), oklch(from var(--dark-color) l c h / 50%));
    }
    
    :is(.elementor-testimonial-image, .elementor-icon) :is(i, svg, img) {
        width: auto;
        height: auto;
    }
    
    :is(.elementor-accordion-item, .elementor-tab-title, .elementor-tab-content) {
        border: none;
        padding: 0;
    }
    
    :is(.product-description-short, .product-description-long, .elementor-tab-content, .elementor-widget-text-editor),
    :is(.product-description-short, .product-description-long, .elementor-tab-content, .elementor-widget-text-editor) :is(h1, h2, h3, h4, 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-decoration: none !important;
        text-wrap: inherit !important;
    }

    :is(.elementor-tab-content, .elementor-widget-text-editor).text-big,
    :is(.elementor-tab-content, .elementor-widget-text-editor).text-big :is(h1, h2, h3, h4, p, li, span, strong) {
        font-size: var(--text-size-big) !important;
    }

    :is(.elementor-tab-content, .elementor-widget-text-editor).text-small,
    :is(.elementor-tab-content, .elementor-widget-text-editor).text-small :is(h1, h2, h3, h4, p, li, span, strong) {
        font-size: var(--text-size-small) !important;
    }
    
    :is(.product-description-short, .product-description-long, .elementor-tab-content, .elementor-widget-text-editor) strong {
        color: var(--strong-color) !important;
        font-weight: var(--text-weight-bold) !important;
    }
    
    :is(.product-description-short, .product-description-long, .elementor-tab-content, .elementor-widget-text-editor) a * {
        color: inherit !important;
    }
    
    :is(.product-description-short, .product-description-long, .elementor-tab-content, .elementor-widget-text-editor) :is(h1, h2, h3, h4):not(:last-child) {
        margin-block-end: var(--spacing-xs) !important;
    }
    
    :is(.product-description-short, .product-description-long, .elementor-tab-content, .elementor-widget-text-editor) :is(h1, h2, h3, h4):last-child {
        margin-block-end: 0 !important;
    }

    .elementor-pagination-position-inside .swiper-pagination-bullets {
        position: absolute;
        inset-block-end: 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) {
        fill: transparent;
    }
    
    main .product-slider {
        display: flex;
        flex-flow: column;
        margin-inline: calc(var(--spacing-2xs) * -1);
    }

    main :is(.swiper, .swiper-inodia):not(.swiper-initialized),
    main :is(.swiper, .swiper-inodia):not(.swiper-initialized) .swiper-wrapper {
        display: flex;
        overflow: hidden;
    }
    
    main :is(.swiper, .swiper-inodia):not(.swiper-initialized):has(> .swiper-wrapper) {
        flex-flow: column;
    }

    main :is(.swiper, .swiper-inodia):not(.swiper-initialized) .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%;
        pointer-events: none;
        position: static;
        margin-block-start: var(--spacing-lg);
    }

    main .swiper-pagination-bullet {
        background: var(--title-color);
        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 (30rem < inline-size) {
        
        .label-hide {
            display: none;
        }
    }
	
    @container viewport (inline-size <= 30rem) {

        .label-hide + div :is(input, textarea)::placeholder {
            color: transparent;
        }
    }
}

@layer structure {

    .page-sidebar-left.hide-col,
    body:not(.page-customer-account, .page-addresses) main .block-myaccount-infos {
        display: none;
    }
    
    body:not(.page-index) :is(.page-sidebar-left, .content-wrapper) {
        margin-block-start: var(--spacing-xl);
    }
    
    .page-index .content-wrapper {
        margin-block-start: var(--spacing-md);
    }

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

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

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

    .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 :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, p, strong, .elementor-widget-container, .elementor-widget-wrap),
    .center:where(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;
    }

    :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);
        grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--_card-min-size)), 1fr));
    }

    .product-miniatures__list {
        --_card-min-size: var(--product-min-size);
    }

    .address-miniatures__list {
        --_card-min-size: var(--items-min-size);
    }

    main .post-miniatures__list {
        --_card-min-size: var(--post-min-size);
        row-gap: var(--spacing-md);
    }

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

    :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, .ino-nav__sublist),
    .page-content > .notifications > .container,
    .elementor-section-boxed > .elementor-container :is(.container, .elementor-container),
    :where(.checkout-modal, .category-description, .elementor-section-boxed, .content-wrapper.left-column) .elementor-section-boxed > .elementor-container {
        inline-size: 100%;
    }

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

    .user-form-left {
        margin-inline: 0;
    }

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

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

    :is(.elementor-section, .ino-top-section):not(.ino-grid).full :is(.elementor-row, .ino-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-col-txt,
    .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-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, 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, img) {
        inline-size: 100%;
        block-size: 100%;
    }

    iframe,
    .ino-txt-img:not(.full) .ino-col-img:not(.contain) img,
    .section-two-img .block-img 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(--radius-combinaison);
    }

    .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-col-img:not(.contain) img,    
    .section-two-img .block-img 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-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;
    }

    .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: 50% auto auto 50%;
        translate: -50% -50%;
    }

    main:not(:has(.page-content > .elementor:last-child)), 
    .page-content > .elementor:last-child .elementor-top-section:not(.fond, .supp, .no-margin):last-child {
        margin-block-end: var(--spacing-4xl);
    }

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

    :is(.elementor-top-section, .ino-top-section).fond:not(.block, .elementor-section-full_width, .ino-section-full_width) {
        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);
    }

    .elementor-widget + .elementor-widget.no-margin,
    :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) {
        padding-block-start: 0;
    }

    :is(.fond-noir, .fond-blanc):not(.block),
    :is(.fond-noir, .fond-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);
    }

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

    .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);
        padding: var(--spacing-xl);
    }

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

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

    .center:is(.wrap-bouton, .bouton),
    .center :is(.wrap-bouton, .bouton),
    .center .boutons .elementor-widget-wrap {
        display: flex;
        justify-content: center;
    }

    .boutons .bouton {
        inline-size: auto;
    }

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

    :is(.elementor-widget-button, .elementor-widget-text-editor) + .elementor-widget-image:not(.logo-label) {
        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);
    }

    :is(.elementor-widget + .quote, .section-titre + .elementor-top-section, .elementor-widget-heading + .elementor-widget-product-carousel),
    :is(.elementor-widget-heading.h1:not(.no-margin), .elementor-widget-heading.h2:not(.no-margin), .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);
    }

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

    :is(.elementor-widget-heading.h4:not(.no-margin), .elementor-widget-heading:not(.h2, .h3, .no-margin):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);
    }

    .ino-column {
        position: relative;
    }

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

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

    .ino-col-img {
        aspect-ratio: 3 / 2;
        overflow: hidden;
    }
    
    .section-two-img .block-img :is(.elementor-widget-wrap, .elementor-widget-container, img) {
        inline-size: 100%;
        block-size: 100%;
    }
    
    .section-two-img .block-img .elementor-widget-image {
        inline-size: 66%;
        block-size: 100%;
    }
    
    .section-two-img .block-img .elementor-widget-image:first-child {
        padding-block-start: var(--spacing-xl);
    }

    .section-two-img .block-img .elementor-widget-image:last-child {
        padding-block-end: var(--spacing-xl);
        position: absolute;
        inset-block-start: 0;
        inset-inline-end: 0;
    }

    .section-two-img .block-img .elementor-widget-image:last-child img {
        outline: clamp(.5rem, .384rem + .581vw, 1rem) solid var(--background-color);
    }

    @container viewport (70rem < inline-size) {
        
        .right :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, p, strong, .elementor-widget-container, .elementor-widget-wrap),
        .right:where(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;
        }    

        .right.bouton,
        .right .bouton {
            display: flex;
            justify-content: flex-end;
        }
        
        .ino-col-66 {
            inline-size: 66.666%;
        }

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

        .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-col-img > *:not(.ino-modal),
        .section-two-img .block-img > .elementor-column-wrap  > .elementor-widget-wrap,
        .inner-txt-img .elementor-column:has(.elementor-widget-image:only-child, .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(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child) > .elementor-column-wrap > .elementor-widget-wrap:not(.ui-sortable),
        .elementor-top-section: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,
        .section-two-img .elementor-top-column:not(.block-img) > .elementor-column-wrap  > .elementor-widget-wrap,
        .elementor-top-section:not(.section-custom):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: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-2xl);
        }
        
        .ino-txt-img.full:not(.block, .supp) .ino-col-txt > div,
        .elementor-top-section:not(.section-custom):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(.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, .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(.elementor-widget-image:only-child, .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;
        }
            
        .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(.elementor-widget-image:only-child, .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(.elementor-widget-image:only-child, .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(.elementor-widget-image:only-child, .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(.elementor-widget-image:only-child, .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(.elementor-widget-image:only-child, .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(.elementor-widget-image:only-child, .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(.elementor-widget-image:only-child, .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) :is(.elementor-col-66, [data-col="66"]):has(.elementor-widget-image:only-child, .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(.elementor-widget-image:only-child, .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;
        }
        
        .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(.elementor-widget-image:only-child, .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(.elementor-widget-image:only-child, .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(.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.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(.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.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;
        }

        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):not(.fond, .supp).full .elementor-top-column:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child):first-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):not(.fond, .supp).full .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child):first-child img {
            border-radius: 0 var(--border-radius) var(--border-radius) 0;
        }

        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):not(.fond, .supp).full .elementor-top-column:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child):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):not(.fond, .supp).full .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child):last-child img {
            border-radius: var(--border-radius) 0 0 var(--border-radius);
        }
        
        .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(.elementor-widget-image:only-child, .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: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(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)):last-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)):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, .elementor-top-section, .inner-txt-img) :is(.ino-row, .elementor-row) {
            flex-flow: column;
        }
        
        .elementor-top-section .elementor-row > .elementor-column {
			width: auto;
            inline-size: 100%;
        }
        
        .ino-col-txt,
        .section-two-img .elementor-top-column:not(.block-img),
        .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-col-img,
        .section-two-img .block-img,
        .inner-txt-img .elementor-column: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):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 > div,
        .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 :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, p, strong, .elementor-widget-container, .elementor-widget-wrap),
        .center-desktop:where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, p, strong),
        .center-desktop:is(.h1, .h2, .h3, .h4) .elementor-heading-title {
            align-items: flex-start;
            text-align: left;
        }

        .center-desktop.wrap-bouton,
        .center-desktop .wrap-bouton {
            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 {

    @layer titles {

        :is(h1, .h1:not(.elementor-widget-heading)),
        .elementor-widget-heading.h1 .elementor-heading-title {
            color: var(--title-color);
            font: var(--text-weight-bold) var(--text-size-h1)/1.1 var(--font-title);
            letter-spacing: -.02em;
			text-wrap: balance;
        }
    
        :is(h1:not(.h2, .h3, .h4, .elementor-heading-title, .elementor-tab-title), .h1:not(.elementor-widget-heading)):not(.no-margin) {
            margin-block-end: var(--spacing-xl);
        }
    
        :is(h2, .h2:not(.elementor-widget-heading)),
        .elementor-widget-heading.h2 .elementor-heading-title {
            color: var(--title-color);
            font: var(--text-weight-bold) var(--text-size-h2)/1.1 var(--font-title);
            letter-spacing: -.02em;
			text-wrap: balance;
        }
    
        :is(h2:not(.h1, .h3, .h4, .elementor-heading-title, .elementor-tab-title), .h2:not(.elementor-widget-heading)):not(.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-medium) var(--text-size-h3)/1.1 var(--font-text);
            letter-spacing: -.01em;
        }
    
        :is(h3:not(.h1, .h2, .h4, .elementor-heading-title, .elementor-tab-title), .h3:not(.elementor-widget-heading)):not(.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: var(--text-weight-normal) var(--text-size-h4)/1.1 var(--font-text);
            letter-spacing: 0;
        }
    
        :is(h4:not(.h1, .h2, .h3, .elementor-heading-title, .elementor-tab-title), .h4:not(.elementor-widget-heading, .modal-title)):not(.no-margin) {
            margin-block-end: var(--spacing-sm);
        }
    }

    @layer form-fields {

        :where(label, .label, input[type="file" i]):not(.radio-inline) {
            display: inline-flex;
            align-items: baseline;
            gap: var(--spacing-2xs) 1ch;
        }
        
        :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 {
            font: var(--font-icon);
            letter-spacing: 0;
            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" / "";
        }
    
        :where(select, textarea, .form-control, form.search-form input[type=search]) {
            --_padding-field: var(--spacing-2xs);
            background: var(--background-color);
            border: var(--border-width) solid var(--border-color);
            border-radius: var(--border-radius-field);
            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(--_padding-field);
            padding-inline: calc(var(--_padding-field) * 2);
        }
    
        .form-control.promo-input {
            font-size: var(--text-size-small);
            block-size: auto;
        }
    
        textarea {
            border-radius: clamp(0rem, var(--border-radius-field), clamp(1rem, .875rem + .625vw, 1.5rem));
            line-height: 1.3;
        }
    
        .search-form input[type=search] {
            padding-block: var(--_padding-field);
            padding-inline: calc(var(--_padding-field) * 4) calc(var(--_padding-field) * 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);
            line-height: 1.3;
            padding-block: var(--_padding-field);
            padding-inline: calc(var(--_padding-field) * 2) calc(var(--_padding-field) * 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 / 10%);
            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;
        }
    
        .form-group:not(:first-child),
        .form-group:not(.form-group-checkbox) + .form-group-checkbox {
            margin-block-start: var(--spacing-md);
        }
    
        input[type=hidden]:first-child + .form-group {
            margin-block-start: 0;
        }
    
        .form-group-checkbox + .form-group-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-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-field) 0 0 var(--border-radius-field);
        }
    
        .form-text {
            margin-block-start: var(--spacing-3xs);
        }

        :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-field), .75rem);
            align-items: center;
            block-size: 3.5rem;
            transition: var(--transition-default);
        }
    
        .bootstrap-touchspin:has(.input-custom-qty:focus) {
            border-color: var(--primary-color);
            box-shadow: 0 0 4px oklch(from var(--primary-color) l c h / 30%);
        }
    
        .qty > .input-custom-qty {
            padding: var(--spacing-sm);
        }
    
        .input-custom-qty {
            appearance: textfield;
            background: transparent;
            border: none;      
            color: var(--title-color);
            text-align: right;
        }
    
        .input-custom-qty:focus {
            box-shadow: none;
        }
    
        .bootstrap-touchspin :is(.input-group-btn, .btn-touchspin) {
            block-size: 100%;
        }
    
        .btn-touchspin {
            border-radius: var(--border-radius-field);
            color: var(--title-color);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: .5rem;
            inline-size: 100%;
        }
        
        .bootstrap-touchspin-up::before {
            content: "\e901" / "";
        }
        
        .bootstrap-touchspin-down::before {
            content: "\e900" / "";
        }
    
        .form-group {
            display: flex;
            flex-flow: column;
        }
    
        .form-group-radio-buttons {
            flex-flow: row wrap;
            gap: var(--spacing-xs);
        }

        .help-block {
            inline-size: 100%;
        }

        .form-wrapper + .help-block {
            margin-block-start: var(--spacing-3xs);
        }
    
        :is(.input-group, .input-group-password) {
            display: grid;
            grid-template-columns: 1fr auto;
            inline-size: 100%;
        }
    
        :is(.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);
        }

        @container viewport (24rem < inline-size) {    
            
            .bootstrap-touchspin:has(.input-custom-qty) {
                grid-template-columns: 1fr var(--spacing-sm);
                column-gap: var(--spacing-2xs);
            }

            .bootstrap-touchspin .input-custom-qty {
                grid-area: 1 / 1 / 3 / 2;
            }

            .bootstrap-touchspin .input-group-append {
                grid-area: 1 / 2 / 2 / 3;
            }

            .bootstrap-touchspin .input-group-prepen {
                grid-area: 2 / 2 / 3 / 3;
            }
        }

        @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;
            }

        }
    }

    @layer lists {
    
        main :is(ul, ol):not(.reset-list, :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: 1.25lh;
        }
    
        main :is(ul, ol):not(.reset-list) 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: .25lh;
        }
        
        main :is(ul, ol):last-child,
        main :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 li,
        main :is(.elementor, .product-description-short, .product-description-long) ol li {
            list-style-position: inside;
        }
    
        main ul:not(.reset-list) 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:not(.reset-list) 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: inherit;
            letter-spacing: 0;
            position: absolute;
            inset-inline-start: 0;
        }
    }

    @layer links {

        :is(a, button.link-dark, summary),
        :is(.btn-touchspin, .elementor-accordion-title) {
            color: var(--_link-color);
        }

        a {
        	--_link-color: var(--secondary-color);
        }
    
        .link-dark:is(a, button, summary),
        :is(.btn-touchspin, .elementor-accordion-title) {
            --_link-color: var(--title-color);
        }
    
        @media only screen and (hover: hover) and (pointer: fine) {
            
            a:hover {
                --_link-color: var(--secondary-hover-color);
            }
    
            a:active {
                --_link-color: var(--secondary-active-color);
            }
    
            .link-dark:is(a, button, summary):hover,
            :is(.btn-touchspin, .elementor-accordion-title):hover {
                --_link-color: var(--secondary-color);
            }
    
            .link-dark:is(a, button, summary):active,
            :is(.btn-touchspin, .elementor-accordion-title):active {
                --_link-color: var(--secondary-hover-color);
            }
        }
    
        @media only screen and (hover: none) and (pointer: coarse) {
    
            a:active {
                --_link-color: var(--secondary-hover-color);
            }
            
            .link-dark:is(a, button, summary):active,
            :is(.btn-touchspin, .elementor-accordion-title):active {
                --_link-color: var(--secondary-color);
            }
        }
    
        .custom-link {
            display: inline-flex;
            align-items: center;
            gap: 1.5ch;
        }
    
        .custom-link {
            font: var(--text-weight-normal) var(--text-size-small)/1.3 var(--font-text);
        }
    
        .custom-link i {
            font-size: inherit;
        }
        
        :is(.skip-link, .link-underline):not(:hover, :active),
        :where(.alert, .elementor-tab-content, .elementor-widget-text-editor, .message-rgpd, .custom-checkbox, .product-description-short) a:not(:hover, :active) {
            text-decoration: underline;
            text-underline-offset: var(--spacing-4xs);
        }

        .text-and-link {
            display: flex;
            flex-flow: row wrap;
            align-items: baseline;
            gap: var(--spacing-2xs) 1ch;
        }
    }

    @layer buttons {

	    .bouton:not(div),
	    .bouton :is(a, button, [type=submit]) {
	        color: var(--_btn-text-color);
	        display: inline-flex;
	        align-items: center;
	        justify-content: center;
	        gap: 1ch;
	        outline-color: var(--_btn-color);
	    }
	
	    .bouton:not(.bouton-link, div),
	    .bouton:not(.bouton-link) :is(a, button, [type=submit]) {
            --_padding-button: var(--spacing-xs);
	        background: var(--_btn-color);
	        border: var(--border-width) solid var(--_btn-color);
	        border-radius: var(--border-radius-small);
	        text-align: center;
	    }
	
	    .bouton:not(.bouton-link, .bouton-icon, div),
	    .bouton:not(.bouton-link, .bouton-icon) :is(a, button, [type=submit]) {
	        padding-block: var(--_padding-button);
	        padding-inline: calc(var(--_padding-button) * 2);
	    }
	
	    .bouton.wpcf7-submit,
	    .bouton:not(.bouton-icon) span,
	    .bouton:not(.elementor-element, .bouton-icon) {
	        font: var(--text-weight-bold) var(--text-size-normal)/1.1 var(--font-text);
	    }
	
	    .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);
            letter-spacing: 0;
	    }
	
	    .bouton-primary:not(div),
	    .bouton-primary :is(a, button, [type=submit]) {
	        --_btn-color: var(--primary-color);
	        --_btn-text-color: var(--dark-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);
	    }
	
	    .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);
	    }
	
	    @media only screen and (hover: hover) and (pointer: fine) {
	
	        .bouton-primary:not(.bouton-contour, div):hover,
	        .bouton-primary:not(.bouton-contour) :is(a, button, [type=submit]):hover,
	        .bouton-primary.bouton-contour:not(div):active,
	        .bouton-primary.bouton-contour :is(a, button, [type=submit]):active {
	            --_btn-color: var(--primary-hover-color);
                --_btn-text-color: var(--background-color);
	        }
	
	        .bouton-primary:not(.bouton-contour, div):active,
	        .bouton-primary:not(.bouton-contour) :is(a, button, [type=submit]):active {
	            --_btn-color: var(--primary-active-color);
                --_btn-text-color: var(--background-color);
	        }
	
	        .bouton-secondary:not(.bouton-contour, div):hover,
	        .bouton-secondary:not(.bouton-contour) :is(a, button, [type=submit]):hover,
	        .bouton-secondary.bouton-contour:not(div):active,
	        .bouton-secondary.bouton-contour :is(a, button, [type=submit]):active {
	            --_btn-color: var(--secondary-hover-color);
                --_btn-text-color: var(--background-color);
	        }
	
	        .bouton-secondary:not(.bouton-contour, div):active,
	        .bouton-secondary:not(.bouton-contour) :is(a, button, [type=submit]):active {
	            --_btn-color: var(--secondary-active-color);
                --_btn-text-color: var(--background-color);
	        }
	
	        .bouton-dark:not(.bouton-contour, div):hover,
	        .bouton-dark:not(.bouton-contour) :is(a, button, [type=submit]):hover,
	        .bouton-dark.bouton-contour:not(div):active,
	        .bouton-dark.bouton-contour :is(a, button, [type=submit]):active {
	            --_btn-color: var(--strong-color);
	        }
	
	        .bouton-dark:not(.bouton-contour, div):active,
	        .bouton-dark:not(.bouton-contour) :is(a, button, [type=submit]):active {
	            --_btn-color: var(--text-color);
	        }
	    }
	
	    @media only screen and (hover: none) and (pointer: coarse) {
	        
	        .bouton-primary:not(.bouton-contour, div):active,
	        .bouton-primary:not(.bouton-contour) :is(a, button, [type=submit]):active {
	            --_btn-color: var(--primary-hover-color);
                --_btn-text-color: var(--background-color);
	        }
	
	        .bouton-primary.bouton-contour:not(div):active,
	        .bouton-primary.bouton-contour :is(a, button, [type=submit]):active {
	            --_btn-color: var(--primary-color);
	        }
	
	        .bouton-secondary:not(.bouton-contour, div):active,
	        .bouton-secondary:not(.bouton-contour) :is(a, button, [type=submit]):active {
	            --_btn-color: var(--secondary-hover-color);
                --_btn-text-color: var(--background-color);
	        }
	
	        .bouton-secondary.bouton-contour:not(div):active,
	        .bouton-secondary.bouton-contour :is(a, button, [type=submit]):active {
	            --_btn-color: var(--secondary-color);
	        }
	
	        .bouton-dark:not(.bouton-contour, div):active,
	        .bouton-dark:not(.bouton-contour) :is(a, button, [type=submit]):active {
	            --_btn-color: var(--strong-color);
	        }
	
	        .bouton-dark.bouton-contour:not(div):active,
	        .bouton-dark.bouton-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);
	    }
	
	    .bouton-link:not(div)::after,
	    .bouton-link :is(a, button, [type=submit])::after {
	        content: "\e927" / "";
	        color: inherit;
	        font: var(--font-icon);
	        letter-spacing: 0;
	        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]) {
	        color: var(--_btn-text-color);
	        aspect-ratio: 1;
	        border-radius: 50%;
	        padding: var(--spacing-xs);
	    }
	
	    .bouton-icon :is(a, button, [type=submit]) > span {
	        font-size: var(--text-size-h4);
	    }
	
	    @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;
	            }
	        }
	    }
    
        .input-group .input-group-append:is(.bouton, .btn-password) {
            border-radius: 0 var(--border-radius-field) var(--border-radius-field) 0;
            font-size: var(--text-size-small);
            --_padding-button: var(--spacing-2xs);
        }
    
        .input-group .btn-password {
            align-items: center;
            justify-content: center;
            padding-block: 0;
            padding-inline: var(--spacing-2xs);
        }
    
        .input-group .btn-password i {
            font-size: 1.25rem;
        }
		
	    @container viewport (30rem < inline-size) {    
	
	        .bouton:not(.bouton-link, .bouton-icon, .input-group-append):is(a, button, [type=submit]),
	        .bouton:not(.bouton-link, .bouton-icon, .input-group-append) :is(a, button, [type=submit]) {
	            min-inline-size: 9rem;
	        }
	    }

        @container viewport (inline-size <= 30rem) {
            
            .bouton:not(.bouton-link, .bouton-icon),
            .boutons .bouton:not(.bouton-link, .bouton-icon),
            .bouton:not(.bouton-link, .bouton-icon) :is(a, .elementor-widget-container, .elementor-button-wrapper) {
                inline-size: 100%;
            }
            
            .bouton:where(a, button, [type=submit]):not(.input-group-append, .bouton-link, .bouton-icon),        
            .bouton:not(.bouton-link, .bouton-icon) :where(a, button, [type=submit]):not(.input-group-append) {
                padding: var(--_padding-button);
            }
            
            .boutons .bouton-contour {
                order: 1;
            }
            
            .boutons .bouton:not(.bouton-contour) {
                order: 2;
            }
        }
    }

    @layer badges {

        .badge {
            border-radius: clamp(0rem, var(--border-radius-field), .25rem);
            display: inline-flex;
            align-items: center;
            line-height: 1.3;
            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(--dark-color);
        }
    
        .badge-order-4 {
            background: var(--status-sent);
            color: var(--dark-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);
        }
    }

    @layer flags {

        .product-flags {
            display: flex;
            flex-flow: column;
            align-items: flex-start;
            gap: var(--spacing-4xs);
            inline-size: 100%;
            pointer-events: none;
            padding: var(--spacing-sm);
            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-field) / 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);
            color: var(--dark-color);
        }
    }

    @layer tables {

        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: var(--border-radius-field);
            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;
        }

        .product-table .product-line__title {
            color: var(--title-color);    
            font: var(--font-product-title);
            font-size: var(--text-size-normal);
            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;
        }
    }

    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);
    }
    
    figcaption {        
        font: var(--text-weight-medium) var(--text-size-small)/1.3 var(--font-text);
        letter-spacing: var(--letter-spacing);
    }

    summary {
        display: flex;
        justify-content: space-between;
        gap: var(--spacing-xs);
    }

    summary::after {
        font-size: inherit;
    }

    .missing-img {
        background: var(--dark-color);
        aspect-ratio: 1;
        object-fit: contain !important;
        padding: 12%;
    }

    main .ino-modal-search__btn-open {
        display: none;
    }

    .breadcrumb {
        margin-block-start: 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;
    }
    
    .back-to-top {
        border-radius: var(--border-radius-field);
        padding: var(--spacing-2xs);
        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: var(--text-size-small);
    }

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

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

    .price {
        color: var(--primary-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 {
        font-size: var(--text-size-normal);
        text-decoration: line-through;
    }

    .product-actions:has(.has-discount) .current-price-tax .price,
    .product-miniature-sale .price:not(.price--regular) {
        color: var(--secondary-color);
    }

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

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

    .attributes .value {
        font-weight: var(--text-weight-medium);
    }
    
    .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(--outline-color) var(--background-color);
            scrollbar-width: thin;
        }
    }

    .js-search-result .search-result::-webkit-scrollbar {
        inline-size: 4px;
    }

    .js-search-result .search-result::-webkit-scrollbar-thumb {
        background: var(--outline-color);
    }

    .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 .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);
    }

    .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;
    }

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

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

        .js-search-result {
            background: var(--background-color);
            border: var(--border-width) solid var(--border-color);
            border-radius: 0 0 clamp(0rem, var(--border-radius-small), 2rem) clamp(0rem, var(--border-radius-small), 2rem);
            inline-size: 100%;
            padding-block-start: var(--spacing-sm);
            overflow: hidden;
            position: absolute;
            inset-block-end: 50%;
            inset-inline-start: 0;
            translate: 0 100%;
            z-index: -1;
        }
    }

    @container viewport (inline-size <= 30rem) {
        
        .custom-checkbox small {
            inset: initial;
        }

        :is(.alert, 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);
        }
        
        .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);
        }
    }
}

@layer components {

    @layer cookies {
        
        .acb-banner-wrapper {
            display: grid;
            place-items: center;
            color-scheme: light;
            position: fixed;
            inset: 0;
            z-index: 9999999999;
        }
        
        .acb-banner-wrapper::after {
            content: "";
            background: radial-gradient(oklch(from var(--background-grey) l c h / 50%), 25%, var(--background-grey));
            opacity: .66;
            display: flex;
            position: fixed;
            inset: 0;
            z-index: -1;
        }
        
        .acb-banner {
            background: var(--background-color);
            border-radius: var(--border-radius);
            box-shadow: 0 4px 124px -32px oklch(from var(--dark-color) l c h / .3);
            display: grid;
            gap: var(--spacing-lg);
            inline-size: min(var(--wrapper-size-mobile), 50rem);
            padding: var(--spacing-lg);
        }
        
        @-moz-document url-prefix() {

            .acb-banner {
                scrollbar-color: var(--outline-color) transparent;
                scrollbar-width: thin;
            }
        }
        
        .acb-banner::-webkit-scrollbar {
            background: transparent;
            inline-size: 4px;
        }
        
        .acb-banner::-webkit-scrollbar-thumb {
            background: var(--outline-color)
        }

        .acb_link_information i {
            font-size: var(--text-size-small);
        }
        
        :is(.acb-action, .acb_link_information_container) {
            display: flex;
            align-items: center;
        }

        .acb-action {
            flex-wrap: wrap;
            gap: var(--spacing-sm);
        }
        
        .acb_link_information_container {
            gap: var(--spacing-3xs);
        }
        
        .acbCheckboxesContainer {
            margin-block-start: var(--spacing-sm);
        }
        
        .acbCheckboxesContainer:not(.show) {
            display: none;
        }
                
        .acb-close-button {
            margin-block-start: var(--spacing-xs);
        }
        
        .acbCheckboxesContainer .custom-checkbox:not(:first-child) {
            margin-block-start: var(--spacing-4xs)
        }

        @container viewport (inline-size <= 36rem) {
            
            .acb-action {
                flex-flow: column-reverse;
            }
            
            .acb-action button {
                inline-size: 100%;
            }
        }
    }
    
    @layer pagination {
    
        .pagination {
            display: flex;
            flex-flow: column;
            align-items: center;
            gap: var(--spacing-md);
            margin-block-start: var(--spacing-xl);
        }
    
        .pagination > p,
        .products-selection .showing {
            color: var(--muted-color);
        }
    
        .pagination__list {
            display: inline-flex;
            flex-flow: row wrap;
            justify-content: center;
            gap: var(--spacing-2xs) calc(var(--spacing-2xs) * 2);
        }
    
        :is(.pagination__item, .pagination__link, .pagination__spacer) {
            line-height: 1;
        }
    
        :is(.pagination__link, .pagination__spacer) {
            display: inline-flex;
            align-items: baseline;
            gap: 1ch;
        }
    
        .pagination__spacer {
            color: var(--title-color);
        }
    
        .pagination i {
            font-size: var(--text-size-small);
        }
    
        .pagination__item-current a {
            color: var(--secondary-color);
            font-weight: var(--text-weight-bold);
        }

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

            .pagination__list {
                gap: var(--spacing-3xs);
            }
            
            :is(.pagination__link, .pagination__spacer) {
                font-size: var(--text-size-small);
            }
            
            .pagination__link {
                padding-block: var(--spacing-4xs);
            }
            
            .pagination__link:not(.pagination__link-prev, .pagination__link-next) {
                padding-inline: var(--spacing-3xs);
            }
            
            :is(.pagination__link-prev, .pagination__link-next) {
                padding-inline: var(--spacing-2xs);
            }
        }
    }

    @layer modals {
        
        .modal-backdrop {
            background: radial-gradient(oklch(from var(--dark-color) l c h / 50%), 25%, var(--dark-color));
        }
    
        .modal-backdrop.show {
            opacity: .66;
        }
    
        .modal-content {
            background: var(--background-color);
        }
    
        .modal:not(.modal-fullscreen) .modal-content {
            border-radius: var(--border-radius-small);
            box-shadow: 0 8px 64px -32px var(--shadow-color);
        }
        
        :is(.modal-header, .cart-dropdown__title) {
            display: grid;
            grid-template-columns: 1fr auto;
            gap: calc(var(--spacing-2xs) * 2);
        }
    
        :is(.modal-title, .modal-close > i) {
            font-size: var(--text-size-big);
        }
    
        .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-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-footer {
            justify-content: center;
            padding: var(--spacing-xs);
        }
    
        .modal-btn {
            display: flex;
            inline-size: 100%;
        }

        @container viewport (45rem < inline-size) {
    
            .modal-dialog {
                max-inline-size: 40rem;
                margin-block: var(--spacing-md);
                margin-inline: auto;
            }
        }        
    
        @container viewport (inline-size <= 45rem) {

            .modal-dialog {
                margin: var(--spacing-3xs);
            }
        }

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

            .modal-btn {
                flex-flow: row wrap;
                justify-content: flex-end;
                gap: var(--spacing-2xs);
            }
        }

        @container viewport (inline-size <= 36rem) {
            
            .modal-btn {
                flex-flow: column;
                align-items: center;
                gap: var(--spacing-3xs);
                max-inline-size: fit-content;
                margin: 0;
            }

            .modal-btn > * {
                inline-size: 100%;
            }
        }

        @container viewport (inline-size <= 30rem) {
    
            .modal-btn {
                max-inline-size: initial;
            }
        }        

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

            .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);
            }
            
            .modal-content .cart-products__desc {
                inline-size: 100%;
            }
            
            .modal-content .cart-products :is(.product-name, .price) {
                text-align: center;
            }
        }
    }

    @layer elementor-widgets {

        :is(.elementor-widget-image, .elementor-widget-image-carousel) figure {
            position: relative;
        }

        :is(.elementor-widget-image, .elementor-widget-image-carousel) figcaption {
            background: oklch(from var(--dark-color) l c h / 25%);
            border-radius: var(--border-radius-field);
            color: var(--light-color);
            inline-size: var(--wrapper-size-mobile);
            padding: var(--spacing-3xs);
            position: absolute;
            inset-block-end: var(--spacing-xs);
            inset-inline-start: 50%;
            translate: -50%;
        }    

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

        .elementor-accordion-item {
            --_padding-accordion: var(--spacing-sm);
        }

        .elementor-accordion-item:not(:first-child) .elementor-tab-title {
            padding-block-start: var(--_padding-accordion);
        }
        
        .elementor-accordion-item:not(:last-child) .elementor-tab-title {
            padding-block-end: var(--_padding-accordion);
        }

        .elementor-accordion-title {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 3ch;
            font: var(--text-weight-medium) var(--text-size-big)/1.3 var(--font-text);
        }
        
        .elementor-tab-title:not(.elementor-active) .elementor-accordion-title::after {
            content: "\e900" / "";
        }

        .elementor-tab-title.elementor-active .elementor-accordion-title::after {
            content: "\e901" / "";
        }

        .elementor-widget-accordion .elementor-tab-content {
            padding-block: var(--_padding-accordion) calc(var(--_padding-accordion) * 2);
        }

        .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);
        }

        @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;
            }        
        }
    }

    @layer card-items {
    
        .card {
            background: var(--background-color);
            border-radius: clamp(0rem, var(--border-radius), clamp(2rem, 1.75rem + 1.25vw, 3rem));
        }
    
        .card__item {
            border-radius: var(--border-radius-small);
            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);
        }
    
        body:not(.page-order-detail) .address__body {
            padding-block-start: 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 var(--border-radius-small) var(--border-radius-small);
            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__header {
                font-size: var(--text-size-normal);
                padding-block: var(--spacing-sm) 0;
                padding-inline: var(--spacing-sm);
            }
            
            .card__body {
                padding-block: var(--spacing-xs) var(--spacing-sm);
                padding-inline: var(--spacing-sm);
            }
            
            ul.card__body {
                gap: var(--spacing-4xs);
            }
    
            ul.card__body li {
                display: flex;
                flex-flow: row wrap;
                align-items: baseline;
                gap: var(--spacing-3xs);
                line-height: 1.3;
            }
            
            .card__item :is(address, li, strong) {
                font-size: var(--text-size-small);
            }
            
            .card__footer {
                gap: var(--spacing-2xs);
                padding: var(--spacing-3xs);
            }
            
            .card__footer a {
                font-size: .5rem;
                gap: var(--spacing-4xs);
            }
        }

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

            .card__items {
                display: grid;
                gap: var(--items-gap);
            }
        }
    }

    @layer miniatures {
                
        :is([class*="-slider__item "],[class$="-slider__item"]),
        .elementor-widget-product-carousel .swiper-slide {
            block-size: auto;
            overflow: initial;
            padding-inline: var(--spacing-2xs);
        }

        .product-miniature__desc,
        .featured-products__slider .product-miniature,
        .elementor-widget-product-carousel .products-list__block {
            inline-size: 100%;
        }

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

        :is([class*="-miniature "],[class$="-miniature"]):not(.product-miniature--smaller),
        :is([class*="-miniature "],[class$="-miniature"]):not(.product-miniature--smaller) :is(.product-miniature__desc, .product-miniature__title-description) {
            display: flex;
            flex-flow: column;
            align-items: flex-start;
            flex-grow: 1;
        }

        :is([class*="-miniature "],[class$="-miniature"]):not(:where(.product-miniature--smaller, .post-miniature)),
        :is([class*="-miniature "],[class$="-miniature"]):not(.product-miniature--smaller) .product-miniature__desc {
            gap: var(--spacing-sm);
        }

        :is([class*="-miniature "],[class$="-miniature"]):not(.product-miniature--smaller) {
            block-size: 100%;
        }

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

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

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

        .product-miniature--smaller .product-miniature__desc {
            display: flex;
            flex-flow: column;
            align-items: flex-start;
            gap: var(--spacing-3xs);
        }

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

        .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(.post-miniature, .post-miniature__thumb),
        .product-miniature:not(.product-miniature--smaller) .product-miniature__thumb {
            border-radius: var(--radius-combinaison);
        }

        .product-miniature__thumb:has(.missing-img) {
            color-scheme: dark;
        }

        :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 .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 .cart-products__thumb:hover img {
                scale: 1.033;
            }
        }

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

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

        :is([class*="-miniature "],[class$="-miniature"]) a[class*="-miniature__title"] {
            display: inline-flex;
            font: var(--font-product-title);
            font-size: var(--text-size-big);
            letter-spacing: var(--product-title-letter-spacing);
            text-transform: var(--product-title-transform);
            max-inline-size: 100%;
        }
		
        :is([class*="-miniature--smaller "],[class$="-miniature--smaller"]) a[class*="-miniature__title"] {
            font-size: var(--text-size-small);
        }

        :is([class*="-miniature "],[class$="-miniature"]) a[class*="-miniature__title"] :is(h2, h3, h4, p) {
            all: inherit;
            overflow: hidden;
            text-overflow: ellipsis;
            margin: 0;
        }

        main .product-miniature__title-description {
            gap: var(--spacing-xs);
        }

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

        .product-miniature__prices-nb-attr {
            display: flex;
            flex-flow: column;
            align-items: flex-start;
            gap: var(--spacing-2xs);
        }

        .product-miniature__nb-attributes {
            color: var(--title-color);
            display: flex;
            align-items: baseline;
            gap: .5ch;
            font: var(--text-weight-bold) var(--text-size-small)/1.3 var(--font-text);
        }

        .product-miniature__nb-attributes i {
            font-size: var(--text-size-small);
        }

        .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-2xs);
        }

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

        @container product (14rem < inline-size) {
            
            .product-miniature:not(.product-miniature--smaller) .product-miniature__desc {
                padding-inline: var(--spacing-sm);
            }
        }

        @container product (inline-size <= 14rem) {
            
            .product-miniature:not(.product-miniature--smaller) {
                gap: var(--spacing-2xs);
            }
            
            .product-miniature:not(.product-miniature--smaller) :is(a.product-miniature__title, .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 {
                font-size: .5rem;
            }
            
            .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;
            }
        }      

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

       .post-miniature__thumb {
            aspect-ratio: 3 / 2;
        }

        .post-miniature__desc {
            display: flex;
            flex-flow: column;
            flex-grow: 1;
            align-items: flex-start;
            padding: var(--spacing-md);
        }

        .post-miniature__date {
            color: var(--primary-color);
            font: var(--text-weight-medium) var(--text-size-small)/1.3 var(--font-text);
        }

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

        .post-miniature__description {
            color: var(--muted-color);
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 3;
            overflow: hidden;
            font-size: var(--text-size-small);
            margin-block-start: var(--spacing-xs);
        }

        .post-miniature__actions {
            display: flex;
            flex-grow: 1;
            align-items: flex-end;
            margin-block-start: var(--spacing-md);
        }

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

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

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

    @layer ino-grid {
        
        .ino-grid > div:not(.elementor-element-overlay) > div {		
            --_item-min-size: 16rem;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--_item-min-size)), 1fr));
            gap: var(--spacing-xl) var(--spacing-sm);
        }

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

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

    .header-banner:not(:empty) {
        background: var(--primary-color);
        padding-block: var(--spacing-3xs);
    }

    .header-banner .swiper-content {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: var(--spacing-3xs);
		inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
    	margin-inline: auto;
    }

    .header-banner :is(p, a) {
        font: var(--text-weight-bold) var(--text-size-small)/1.1 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-title {
        color: var(--dark-color);
    }

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

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

    .header-nav {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        gap: 5%;
        padding-block: var(--padding-header);
    }

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

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

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

    .header-top__block--nav {
        flex-grow: 1;
    }

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

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

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

    .header-top__badge {
        color: var(--dark-color);
        display: flex;
        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-top__badge::before {
        content: "";
        background: var(--secondary-color);
        border-radius: 100%;
        aspect-ratio: 1;
        inline-size: 100%;
        line-height: 1;
        position: absolute;
        inset-block: 50% 0;
        inset-inline: 0 50%;
        translate: 0 -50%;
        z-index: -1;
    }

    .blockcart__dropdown {
        background: var(--background-color);
        border-radius: var(--border-radius-small);
        box-shadow: 0 4px 16px -8px var(--shadow-color);
        inline-size: 20rem;
        overflow: hidden;
        z-index: 1000;
    }

    .blockcart__dropdown.show {
        display: block;
    }

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

    .cart-dropdown__title {
        margin-block-end: var(--spacing-sm);
    }

    .cart-dropdown__title p {
        color: var(--title-color);
        font: var(--text-weight-bold) var(--text-size-normal)/1 var(--font-text);
    }

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

    .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() {
        
        .cart-dropdown__products {
            scrollbar-color: var(--outline-color) var(--background-color);
            scrollbar-width: thin;
        }
    }

    .cart-dropdown__products::-webkit-scrollbar {
        inline-size: 4px;
    }

    .cart-dropdown__products::-webkit-scrollbar-thumb {
        background: var(--outline-color);
    }

    .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);
    }

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

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

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

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

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

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

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

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

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

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

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

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

    .ino-nav__list-1 {
        display: flex;
        align-items: stretch;
        gap: var(--spacing-md);
    }

    :is(.ino-nav__item-1, .ino-nav__link-1) {
        display: flex;
        align-items: center;
        gap: 1ch;
    }

    .ino-nav__link-1 {
        font: var(--text-weight-medium) var(--text-size-normal)/1 var(--font-text);
        letter-spacing: var(--letter-spacing);
    }

    .ino-nav__link-1 i {
        font-size: var(--text-size-small);
    }
        
	.header .search-form {
		position: relative;
		z-index: 1;
	}

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

        .show-inodia-menu {
            display: none !important;
        }        
        
        :is(.header-wrapper, .header-nav) {
            pointer-events: none;
        }
        
        .header-banner,
        :where(.header-top__block:not(.header-top__block--eshop), .ino-nav__item-1) {
            pointer-events: initial;
        }
        
        .header :is(.header-top__block--search, .desktop-search-from) {
            display: flex;
        }
        
        .header :is(.header-top__block--search, .desktop-search-from, .search-form) {
            flex-grow: 1;
        }
        
        .header .desktop-search-from {
            justify-content: flex-end;
        }

        .ino-nav__menu-desktop li {
            line-height: 1;
        }
    
        .ino-nav__menu-desktop :is(a:not([href]), a[href="#"]) {
            cursor: default;
        }
        
        .ino-nav__item-1.ino-nav__sublist-default:has(.ino-nav__wrapper-sublist) {
            position: relative;
        }
        
        .ino-nav__link-1.ino-nav__has-submenu::after {
            content: "\e900" / "";
            color: inherit;
            font: var(--font-icon);
            font-size: var(--text-size-small);
            letter-spacing: 0;
        }
        
        .ino-nav__item-1 > .ino-nav__wrapper-sublist {
            display: table;
            opacity: 0;
            visibility: hidden;
            position: absolute;
            translate: 0 100% 1px;
            transition: var(--transition-default);
            z-index: -1;
        }
        
        .ino-nav__item-1:not(.ino-nav__sublist-full-width) > .ino-nav__wrapper-sublist {
            border-radius: 0 0 var(--border-radius-small) var(--border-radius-small);
            inline-size: calc(100% + (var(--spacing-sm) * 2));
            inset-block-end: 50%;
            inset-inline-start: calc(var(--spacing-sm) * -1);
        }
        
        .ino-nav__item-1.ino-nav__sublist-full-width > .ino-nav__wrapper-sublist {
            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__item-1 > .ino-nav__wrapper-sublist,
        body:not(.page-index) .header-absolute-home .ino-nav__item-1 > .ino-nav__wrapper-sublist {
            background: var(--background-color);
            box-shadow: 0 16px 24px -16px var(--shadow-color);
        }
        
        .header:not(.header-absolute) .ino-nav__item-1:not(.ino-nav__sublist-full-width) > .ino-nav__wrapper-sublist,
        body:not(.page-index) .header-absolute-home .ino-nav__item-1:not(.ino-nav__sublist-full-width) > .ino-nav__wrapper-sublist {
            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__item-1:not(.ino-nav__sublist-full-width) > .ino-nav__wrapper-sublist,
        .page-index .header-absolute-home .ino-nav__item-1:not(.ino-nav__sublist-full-width) > .ino-nav__wrapper-sublist {
            padding-block: calc(var(--spacing-sm) * 2) var(--spacing-sm);
            padding-inline: var(--spacing-sm);
        }
        
        .ino-nav__item-1:hover > .ino-nav__wrapper-sublist,
        .ino-nav__item-1 > .ino-nav__wrapper-sublist:focus-within,
        .ino-nav__item-1 > :where(.ino-nav__has-submenu:focus-visible, .ino-nav__wrapper-link:has(.ino-nav__has-submenu:focus-visible)) ~ .ino-nav__wrapper-sublist {
            opacity: 1;
            visibility: visible;
        }
        
        .ino-nav__item-1.ino-nav__sublist-full-width .ino-nav__list-2 {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            align-items: flex-start;
            gap: var(--spacing-md) 6%;
        }
        
        .ino-nav__sublist-full-width :is(.ino-nav__item-2, .ino-nav__list-3) {
            display: flex;
            flex-flow: column;
            align-items: flex-start;
        }
        
        .ino-nav__sublist-full-width .ino-nav__item-2 {
            gap: var(--spacing-sm);
        }
        
        .ino-nav__sublist-full-width .ino-nav__list-3 {
            gap: var(--spacing-xs);
        }

        .ino-nav__item-1:not(.ino-nav__sublist-full-width) .ino-nav__item-2:not(:first-child) {
            margin-block-start: var(--spacing-xs);
        }
        
        .ino-nav__item-1.ino-nav__sublist-full-width .ino-nav__link-2 {
            font: var(--text-weight-medium) var(--text-size-normal)/1 var(--font-text);
        }
        
        .ino-nav__sublist-default .ino-nav__sublist a,
        .ino-nav__sublist-full-width .ino-nav__link-3 {
            font: var(--text-weight-normal) var(--text-size-small)/1 var(--font-text);
        }
    }

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

        .hide-inodia-menu {
            display: none !important;
        }
        
        .ino-modal {
            background: var(--background-color);
            display: flex;
            flex-flow: column;
            inline-size: 100%;
            block-size: 100%;
            transition: opacity .15s linear;
        }
        
        .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;
            scrollbar-width: none;
        }    
        
        .ino-modal__container {
            display: flex;
            flex-grow: 1;
            align-items: safe center;
            block-size: auto;
            padding-block: 6rem;
            position: relative;
            transition: translate .3s ease-out;
        }
        
        @media (prefers-reduced-motion: no-preference) {

            .ino-modal:not([open]) .ino-modal__container {                
                translate: 0 -50px;
            }
        }
        
        .ino-modal__close {
            display: flex;
            font-size: 1.5rem;
            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__close i {
            font-size: inherit;
        }
        
        .ino-nav__menu-mobile :is(ul, li) {
            display: flex;
            flex-flow: column;
            line-height: 1;
        }
        
        .ino-nav__menu-mobile li > :where(a[aria-expanded="false"], .ino-nav__wrapper-link:has(button[aria-expanded="false"])) ~ .ino-nav__wrapper-sublist {
            display: none;
        }

        .ino-nav__menu-mobile.center {
            justify-content: center;
        }
        
        .ino-nav__menu-mobile.center :is(ul, li) {
            align-items: center;
        }
        
        .ino-nav__menu-mobile.center a {
            text-align: center;
        }
        
        .ino-nav__list-1 {
            gap: var(--spacing-xl);
        }
        
        .ino-nav__list-2 {
            gap: var(--spacing-md);
        }
        
        .ino-nav__list-3 {
            gap: var(--spacing-sm);
        }
        
        .ino-nav__item-1 {
            gap: var(--spacing-md) var(--spacing-2xs);
        }
        
        .ino-nav__item-2 {
            gap: var(--spacing-sm) var(--spacing-2xs);
        }
        
        .ino-nav__item-3 {
            gap: var(--spacing-xs) var(--spacing-2xs);
        }
        
        .ino-nav__item-1:not(:last-child) > :where(.ino-nav__has-submenu[href="#"], .ino-nav__wrapper-sublist) > .ino-nav__sublist {
            margin-block-end: var(--spacing-sm);
        }
        
        .ino-nav__item-2:not(:last-child) > :where(.ino-nav__has-submenu[href="#"], .ino-nav__wrapper-sublist) > .ino-nav__sublist {
            margin-block-end: var(--spacing-2xs);
        }
        
        .ino-nav__menu-mobile :is(.ino-nav__has-submenu[href="#"], .ino-nav__wrapper-link) {
            display: flex;
            align-items: baseline;
            gap: 1.5ch;
        }
        
        .ino-nav__menu-mobile .ino-nav__has-submenu[href="#"]::after {
            content: "\e900" / "";
            font: var(--font-icon);
            letter-spacing: 0;
        }
        
        .ino-nav__link-2::after,
        .ino-nav__item-2 > .ino-nav__wrapper-link > button i {
            font-size: var(--text-size-small);
        }
        
        .ino-nav__menu-mobile a[aria-expanded="true"]::after,
        .ino-nav__menu-mobile button[aria-expanded="true"] i {
            display: block;
            rotate: 180deg;
        }
        
        .ino-nav__link-1 {
            font: var(--text-weight-bold) var(--text-size-h4)/1.1 var(--font-text);
        }
        
        .ino-nav__link-2 {
            color: var(--strong-color);
            font: var(--text-weight-medium) var(--text-size-big)/1.1 var(--font-text);
        }
        
        .ino-nav__link-3 {
            color: var(--text-color);
            font: var(--text-weight-normal) var(--text-size-normal)/1.1 var(--font-text);
        }
    
        .ino-modal-search form {
            inline-size: min(100%, 45rem);
            margin-inline: auto;
        }
        
        .header .search-toggler,
        .header-top__block--menu-toggle > .header-link {
            border: none;
            box-shadow: none;
            font-size: 1.5rem;
        }
        
        .header-nav > .container {
            gap: var(--spacing-sm); 
        }
        
        .header-top__block--eshop {
            justify-content: flex-end;
        }
    }

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

    .sur-footer > .fond {
        padding-block: var(--spacing-2xl);
    }

    .blockreassurance {
        --_nb-cols: 5;
        display: grid;
        grid-template-columns: repeat(var(--_nb-cols), minmax(0,1fr));
        row-gap: var(--spacing-xl);
        padding-block-end: var(--spacing-xl);
    }

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

    .blockreassurance .block-title {
        color: var(--title-color);
        display: flex;
        flex-flow: column;
        gap: var(--spacing-xs);
        font: var(--text-weight-bold) var(--text-size-normal)/1.1 var(--font-text);
    }

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

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

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

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

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

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

    .blockreassurance p:not(.block-title) {
        font-size: var(--text-size-small);
        line-height: 1.3;
    }

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

    .footer-container > .footer-links {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
        gap: var(--spacing-3xl) 9%;
        padding-block: var(--spacing-2xl);
    }

    .footer-container :where(.col-links:not(:has(> .title)), .coordonnees) {
        display: flex;
        flex-flow: column;
        align-items: flex-start;
    }

    .footer-container .col-links:not(:has(> .title)) {
        gap: var(--spacing-md);
    }

    .footer-container .coordonnees {
        gap: var(--spacing-xs);
    }

    .footer-container .coordonnees a {
        font-weight: var(--text-weight-bold);
    }

    .footer-container .block-social,
    .footer-container .block-social ul {
        display: flex;
        align-items: center;
        gap: var(--spacing-3xs);
    }

    .footer-container .block-social {
        justify-content: flex-end;
        gap: var(--spacing-sm);
    }

    .footer-container .socials-label {
        color: var(--title-color);
        font: var(--text-weight-bold) var(--text-size-small)/1.3 var(--font-text);
    }

    .footer-container .block-social a {
        background: var(--title-color);
        border-radius: 100%;
        color: var(--background-color);
        display: flex;
        padding: var(--spacing-3xs);
    }

    @media only screen and (hover: hover) and (pointer: fine) {
        
        .footer-container .block-social a:hover {
            background: var(--primary-color);
        }

        .footer-container .block-social a:active {
            background: var(--primary-hover-color);
        }
    }

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

        .footer-container .block-social a:active {
            background: var(--primary-color);
        }
    }

    .footer-container .block-social i::before {
        color: inherit;
        font-size: var(--text-size-normal);
    }

    .footer-container .title {
        color: var(--title-color);
        font: var(--text-weight-bold) var(--text-size-big)/1.1 var(--font-text);
        text-transform: uppercase;
        margin-block-end: var(--spacing-sm);
    }

    .footer-container .categories > ul > li > a {
        display: none;
    }

    .footer-container div:not(.block-social) > ul {
        display: flex;
        flex-flow: column;
        align-items: flex-start;
        gap: var(--spacing-xs);
    }

    .footer-container div:not(.block-social) > ul :where(li, a) {
        display: flex;
        line-height: 1.3;
    }

    .footer-container div:not(.block-social) > ul a: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);
    }

    .featured-products__footer:not(:empty) {
        margin-block-start: var(--spacing-lg);
    }

    .featured-products__footer.center {
        display: flex;
        justify-content: center;
    }
	
    .page-index .page-home > *:not(:first-child, h1, h1 + .featured-products) {
        margin-block-start: var(--spacing-4xl);
    }

    .homeslider {
        block-size: clamp(28rem, 25.209rem + 13.953vw, 40rem);
    }

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

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

    .homeslider__slide img {
        object-fit: cover;
    }

    .homeslider__title {
        color: var(--title-color);
        font: var(--text-weight-bold) var(--text-size-big)/1.1 var(--font-text);
    }

    .homeslider__caption {
        display: flex;
        justify-content: flex-end;
        padding: var(--spacing-md);
        position: absolute;
		inset-block-end: 0;
		inset-inline-end: 0;
    }

    .homeslider__caption-wrapper {
        background: var(--background-color);
        border-radius: var(--radius-combinaison-small);
        color-scheme: light;
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        gap: var(--spacing-xs) 8%; 
        inline-size: min(100%, 24rem);
        padding: var(--spacing-sm);
    }

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

    .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__arrow {
        pointer-events: initial;
        inset-block-start: 0;
    }

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

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

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

    .homeslider .swiper-pagination {
        position: absolute;
        inset-block-end: var(--spacing-md);
        z-index: 1;
    }

    .homeslider .swiper-pagination span {
        border-radius: 100%;
        display: flex;
        aspect-ratio: 1;
        inline-size: auto;
        block-size: .5rem;
        transition: var(--transition-default);
    }

    .page-index h1 {
        color: var(--primary-color);
        margin-block: var(--spacing-2xl);
    }

    .section-featured-categories .ino-grid > div:not(.elementor-element-overlay) > div {
        --_nb-cols: 3;
        grid-template-columns: repeat(var(--_nb-cols), minmax(0,1fr));
        gap: var(--spacing-md);
    }

    .section-featured-categories :where(.featured-category > .elementor-container, .featured-category__image) {
        inline-size: 100%;
        block-size: 100%;
    }

    .section-featured-categories .featured-category__image img {
        border-radius: var(--radius-combinaison);
    }

    .section-featured-categories .featured-category__desc {
        inline-size: 100%;
        padding: var(--spacing-md);
        position: absolute;
        inset-block-end: 0;
        inset-inline: 0;
    }

    .section-featured-categories .featured-category__desc .elementor-widget-wrap {
        background: var(--background-color);
        border-radius: var(--radius-combinaison-small);
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        gap: 8%;
        inline-size: min(24rem, 100%);
        padding: var(--spacing-sm);
    }

    .section-featured-categories .featured-category__desc .elementor-heading-title {
        color: var(--title-color);
        font: var(--text-weight-bold) var(--text-size-big)/1.1 var(--font-text);
        text-wrap: balance;
    }

    .section-featured-categories .featured-category__desc .bouton a > span {
        font-size: var(--text-size-normal);
    }

    :is(.card__header, .search-filters__header),
    .section-contact .block-infos .elementor-widget-heading p {
        font: var(--text-weight-bold) var(--text-size-small)/1.1 var(--font-text);
        text-transform: uppercase;
    }

    .card__header,
    .section-contact .block-infos .elementor-widget-heading p {
        color: var(--title-color);
    }

    .product-variants ul,
    .search-filters__block .colors {
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        gap: var(--spacing-3xs);
    }

    .search-filters__block .custom-checkbox-color label,
    .search-filters__block .custom-control-input-color,
    .product-variants ul.colors label span {
        border-radius: 100%;
    }

    .search-filters__block .custom-checkbox-color label,
    .product-variants ul.colors label {
        cursor: pointer;
    }

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

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

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

    .wpcf7 .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 .form-champ-full {
        grid-column: 1 / -1;
    }

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

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

    .wpcf7 .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 .form-champ-upload input::-webkit-file-upload-button {
        display: none;
    }

    .wpcf7 .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 .form-champ-upload .bouton i {
        font-size: var(--text-size-small);
    }

    .wpcf7 .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 :is(br, .ajax-loader) {
        display: none;
    }

    .wpcf7 .message-rgpd {
        margin-block: var(--spacing-xs) calc(var(--spacing-2xs) * 2);
    }

    .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 (80rem < inline-size) {

        .blockreassurance .reassurance:not(:first-child) {
            border-inline-start: var(--border-width) solid var(--shadow-color);
        }
        
        :is(.page-cart, .page-checkout) .cart-grid {
            grid-template-columns: minmax(0,1fr) minmax(var(--sidebar-width), .25fr);
        }
    }

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

        .cart-grid-right {
            inline-size: 100%;
            max-inline-size: 25rem;
            margin-inline: auto;
        }
    }

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

        .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 / -1;
        }

        .section-sticky-sidebar .elementor-row:has(.summary:last-child) {
            justify-content: flex-end;
        }
        
        .section-sticky-sidebar .sidebar > .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;
            scrollbar-width: none;
            padding-block-end: var(--spacing-lg);
            position: sticky;
            inset-block-start: var(--spacing-lg);
            z-index: 49;
        }

        .section-sticky-sidebar :is(.sidebar, .main-content) {
            width: auto;
        }
	    
        .section-sticky-sidebar .sidebar {
            display: table;
            inline-size: var(--sidebar-width);
        }
	    
        .section-sticky-sidebar .summary {
            scroll-target-group: auto;
        }

        .section-sticky-sidebar .summary__item:not(:first-child) {
            margin-block-start: var(--spacing-4xs);
        }

        .section-sticky-sidebar .summary__item a {
            --_link-color: var(--title-color);
            border-radius: 0 var(--border-radius-field) var(--border-radius-field) 0;
            border-inline-start: var(--border-width) solid transparent;
            color: var(--_link-color);
            display: flex;
            font: var(--text-weight-normal) var(--text-size-small)/1.1 var(--font-text);
            padding-block: var(--spacing-2xs);
            padding-inline: var(--spacing-xs);
        }
	    
        .section-sticky-sidebar .summary__item a:is(:hover, :target-current) {
            --_link-color: var(--primary-color);
            background: oklch(from var(--_link-color) l c h / .05);
            border-color: var(--_link-color);
            color: var(--_link-color);
        }        
	    
        .section-sticky-sidebar .summary__item a:target-current {
            --_link-color: var(--primary-color);
        }        

        @media only screen and (hover: hover) and (pointer: fine) {
            
            .alert a:hover {
                --_link-color: var(--primary-color);
            }
            
            .section-sticky-sidebar .summary__item a:active {
                --_link-color: var(--primary-hover-color);
            }
        }

        @media only screen and (hover: none) and (pointer: coarse) {
            
            .section-sticky-sidebar .summary__item a:active {
                --_link-color: var(--primary-color);
            }
        }
	
        .section-sticky-sidebar .main-content {
            inline-size: 100%;
        } 

        .section-featured-categories .ino-grid > div:not(.elementor-element-overlay) > div {
            margin-inline: var(--spacing-md);
        }

        .section-featured-categories .ino-col-full {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }

        .section-featured-categories .featured-category {
            block-size: 45rem;
        }

        .section-contact :is(.block-infos, .block-formulaire) {
            inline-size: auto;
            margin: 0;
        }
    }

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

        .cart-grid-right {
            margin-block-start: var(--spacing-4xl);
        }
        
        .header-top__block--search .desktop-search-from {
            display: none;
        }
        
        .header-top__block--search .search-toggler {
            padding: 0;
        }

        .section-featured-categories > .elementor-container {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }

        .section-featured-categories .ino-grid > div:not(.elementor-element-overlay) > div {
            --_nb-cols: 1;
            gap: var(--spacing-sm);
        }

        .section-featured-categories .featured-category {
            aspect-ratio: 3 / 2;
        }
    }

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

        .slider-posts-blog {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }
    }

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

        .featured-products__navigation {
            display: none;
        }

        .slider-posts-blog h2 {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }
    }

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

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

        .address-form .form-fields {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            column-gap: var(--spacing-xs);
        }

        .address-form :is(.form-group-checkbox, .form-group-radio-buttons) {
            grid-column: 1 / -1;
        }
            
        .section-infos-contact .wrapper-infos-contact > .elementor-column-wrap > .elementor-widget-wrap {
            display: grid;
        }
    }

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

        .blockreassurance {
            --_nb-cols: 3;
        }

        .blockreassurance .reassurance:not(:first-child, :nth-child(3n+1)) {
            border-inline-start: var(--border-width) solid var(--shadow-color);
        }
    }
    
    @container viewport (inline-size <= 45rem) {

        .blockreassurance {
            --_nb-cols: 2;
            column-gap: 5%;
        }

        .wpcf7 .form-champ-upload .bouton {
            letter-spacing: 0;
            padding-block: var(--spacing-3xs);
            padding-inline: var(--spacing-xs);
        }
        
        .wpcf7 .form-champ-upload .bouton span {
            display: none;
        }
        
        .featured-products {
            inline-size: 100%;
            max-inline-size: 100%;
        }
        
        .featured-products :is(.featured-products__header, .featured-products__footer) {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }
        
        .featured-products .product-slider {
            margin: 0;
        }

        .featured-products .product-slider .featured-products__slider {
            display: flex;
            align-items: stretch;
        }

        :is(.elementor-widget-product-carousel, .featured-products) .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:not(:last-child) {
            border-inline-end: var(--border-width) solid var(--outline-color);
        }
        
        .mobile-bottom-menu .header-top__block a {
            --_padding-inline: var(--spacing-md);
            padding-block: var(--spacing-4xs);
            padding-inline: var(--_padding-inline);
        }

        .header :is(.header-top__block--user, .header-top__block--cart),
        .mobile-bottom-menu .blockcart > *:not(.cart-mobile) {
            display: none;
        }
        
        .mobile-bottom-menu .header-top__icon-container {
            position: relative;
        }
        
        .mobile-bottom-menu .header-top__badge {
            inset-inline-end: var(--_padding-inline);
            translate: 50%;
        }
        
        .mobile-bottom-menu .header-top__badge::before {
            min-inline-size: var(--spacing-2xs);
            min-block-size: var(--spacing-2xs);
            inset-block-start: 50%;
            inset-inline-start: 50%;
            translate: -50% -50%;
        }
        
        .product-table.table-bordered {
            border: none;
        }
        
        .product-table.table-bordered .product-line:not(:first-child) {
            padding-block-start: var(--spacing-md);
        }
            
        .blockreassurance .container {
            grid-template-columns: repeat(2, minmax(0,1fr));
        }
        
        .block-newsletter {
            grid-template-columns: minmax(0,1fr);
            gap: var(--spacing-sm);
        }
        
        .post-footer {
            padding-block: var(--spacing-sm) var(--spacing-2xl);
        }
            
        .section-infos-contact .elementor-inner-section:not(:first-child) {
            margin-block-start: var(--spacing-sm);
        }
    }

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

        .wpcf7 .form-champs {
            grid-template-columns: minmax(0, 1fr);
        }

        :is(.elementor-widget-product-carousel, .featured-products) .swiper-slide {
            padding-inline: var(--spacing-3xs);
        }

        .header-banner .banner-title .title {
            font-size: var(--text-size-small);
        }

        .post-footer {
            padding-block-start: 0;
        }
    }

    @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);
        }
        
        .mobile-bottom-menu > div {
            padding-inline: var(--spacing-md);
        }
    }

    @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;
        }

        .header-top__block--eshop {
            gap: var(--spacing-sm);
        }
        
        .mobile-bottom-menu > div {
            display: flex;
            flex-grow: 1;
            justify-content: center;
        }
        
        .mobile-bottom-menu :is(.links, .header-top__block--user, .header-top__block--cart) a {
            --_padding-inline: var(--spacing-xs);
        }

        .blockreassurance .block-title {
            font-size: var(--text-size-small);
        }

        .footer-container :where(.col-links:not(:has(> .title)), .coordonnees),
        .footer-container div:not(.block-social) > ul {
            align-items: safe center;
        }
        
        .footer-container .block-social {
            align-items: center;
            justify-content: center;
        }
        
        .footer-container div:not(.block-social) > ul li {
            flex-flow: column;
            align-items: center;
        }
        
        .footer-container .title,
        .footer-container .coordonnees :is(p, a, strong),
        .footer-container div:not(.block-social) > ul a {
            text-align: center;
        }

        .homeslider__caption,
        .section-featured-categories .featured-category__desc {
            padding: var(--spacing-sm);
        }
    }

    @container viewport (inline-size <= 24rem) {
                 
        .address__footer a i {
            font-size: var(--text-size-small);
        }
        
        :is(.elementor-widget-product-carousel, .featured-products) .swiper-slide {
            padding-inline: var(--spacing-4xs);
        }
        
        .cart-products__thumb {
            inline-size: auto;
        }
    }
}