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

@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: .5rem;
        --border-radius-small: calc(var(--border-radius) / 2);
        --border-width: 1px;
        --outline-width: 2px;
        
        --wrapper-size: 100rem;
        --wrapper-size-medium: 80rem;
        --wrapper-size-small: 60rem;
        --wrapper-size-mobile: 90%;
        --sidebar-width: 18rem;
        --items-margin: clamp(.5rem, .375rem + .625vw, 1rem);
        --items-gap: calc(var(--items-margin) * 3) var(--items-margin);
        --items-min-size: 20rem;
        --adress-min-size: 17rem;
        --product-min-size: var(--items-min-size);
        --post-min-size: var(--items-min-size);
        
        --logo-ratio: 194 / 72;
        --logo-height: clamp(2.5rem, 2rem + 2.5vw, 4.5rem);
        --padding-header: clamp(.5rem, .375rem + .625vw, 1rem);
            
        --dark-color: oklch(0.3397 0.0513 219.42);
        --light-color: oklch(0.9839 0.0025 228.78);
        --white-color: oklch(1 0 0);
        --promo-color: oklch(0.5051 0.1989 25.19);
        
        --primary-color: light-dark(oklch(0.5019 0.0821 221.59), oklch(0.5019 0.0821 221.59));
        --primary-hover-color: light-dark(oklch(0.6156 0.0988 212.84), oklch(0.6156 0.0988 212.84));
        --primary-active-color: light-dark(oklch(0.4239 0.0675 216.72), oklch(0.4239 0.0675 216.72));

        --secondary-color: light-dark(oklch(0.4092 0.1475 11.55), oklch(0.4092 0.1475 11.55));
        --secondary-hover-color: light-dark(oklch(0.6759 0.0718 13.46), oklch(0.6759 0.0718 13.46));
        --secondary-active-color: light-dark(oklch(0.6759 0.0718 13.46), oklch(0.6759 0.0718 13.46));
            
        --alert-danger-color: light-dark(oklch(0.5859 0.2146 24.29), oklch(0.7092 0.1394 17.39));
        --alert-warning-color: light-dark(oklch(0.7066 0.1447 47.23), oklch(0.7743 0.1062 49));
        --alert-success-color: light-dark(oklch(0.6939 0.1311 154.42), oklch(0.8231 0.1478 154.89));
        --alert-info-color: light-dark(oklch(0.6231 0.188 259.81), oklch(0.8061 0.0897 260.01));

        --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(--title-color) 5%);
        --background-texture: var(--background-color) url(../../custom/img/texture.webp) 50% / cover;

        --border-color: oklch(from var(--title-color) l c h / 40%);
        --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 / 60%);
        --outline-color: oklch(from var(--title-color) l c h / 30%);
        --shadow-color: oklch(from var(--title-color) l c h / 15%);

        --font-title: ff-meta-web-pro, sans-serif;
        --font-text: var(--font-title);
        --font-icon: normal 400 var(--text-size-normal)/1 "inodia-icons";
        --line-height: 1.618;
        --letter-spacing: 0;

        --h1-font-size: clamp(2.5rem, 1.875rem + 3.125vw, 5rem);
        --h2-font-size: clamp(2rem, 1.75rem + 1.25vw, 3rem);
        --h3-font-size: clamp(1.5rem, 1.375rem + .625vw, 2rem);
        --h4-font-size: clamp(1.25rem, 1.1875rem + .3125vw, 1.5rem);
        --text-size-big: clamp(1rem, .95rem + .25vw, 1.25rem);
        --text-size-normal: 1rem;
        --text-size-small: .75rem;

        --text-weight-normal: 400;
        --text-weight-medium: 600;
        --text-weight-bold: 700;

        --spacing-4xs: .25rem;
        --spacing-3xs: .5rem;
        --spacing-2xs: .75rem;
        --spacing-xs: 1rem;
        --spacing-sm: clamp(1rem, .875rem + .625vw, 1.5rem);
        --spacing-md: clamp(1.5rem, 1.375rem + .625vw, 2rem);
        --spacing-lg: clamp(2rem, 1.75rem + 1.25vw, 3rem);
        --spacing-xl: clamp(2.5rem, 2.125rem + 1.875vw, 4rem);
        --spacing-2xl: clamp(3rem, 2.25rem + 3.75vw, 6rem);
        --spacing-3xl: clamp(4rem, 3.5rem + 2.5vw, 6rem);
        --spacing-4xl: clamp(5rem, 4.75rem + 1.25vw, 6rem);
        --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-big);
        --product-title-weight: var(--text-weight-normal);
        --product-title-line-height: 1.2;
        --product-title-letter-spacing: var(--letter-spacing);
        --product-title-transform: initial;
        --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(--h4-font-size);
        --product-price-weight: var(--text-weight-bold);
        --product-price-line-height: 1;
        --product-price-letter-spacing: -.01em;
        --font-product-price: var(--product-price-weight) var(--product-price-size)/var(--product-price-line-height) var(--product-price-family);

        --bandeau: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='96' fill='none'%3E%3Cpath fill='%23BF858A' d='M0 0h32v32H0z'/%3E%3Cpath fill='%23871535' d='M32 0h32v32H32z'/%3E%3Cpath fill='%23fff' d='M0 32h32v32H0z'/%3E%3Cpath fill='%23BF858A' d='M32 32h32v32H32zM0 64h32v32H0z'/%3E%3Cpath fill='%23871535' d='M32 64h32v32H32z'/%3E%3C/svg%3E") 50% / auto 100% repeat-x;
        --logo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' width='194' height='72' style='enable-background:new 0 0 194 72'%3E%3Cstyle%3E.st0%7Bfill:%23871535%7D.st2%7Bfill:%23fff%7D%3C/style%3E%3Cpath d='M70.1 16.9c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2z' class='st0'/%3E%3Cpath d='M70.1 16.9c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2z' class='st0'/%3E%3Cpath d='m194 35.4-66.7 10.7-.9-5.9c.2-.3.4-.5.6-.8.6-.8 1.3-1.8 1.9-3 .5-.9.5-2-.1-2.9 0-.1-.1-.1-.1-.2-.2-.3-.5-.6-.9-.8-.4-.2-.9-.4-1.4-.4h-.5c-.3 0-.5.1-.7.3l-1.5-9.1c.3-.4.5-.8.6-1.1.1-.1.1-.2.2-.3 2.8-5.1 3.7-9.2 2.7-12.3l11.2-1.8 33.4-5.4L188.3 0 176 20.2l18 15.2z' style='fill:%231e6e85'/%3E%3Cpath d='M143.1 22.7c-.3-2.2-1.4-3.3-3.1-3.8-1.1-.3-2.3-.3-3.9 0l-5 .8 2.5 15.4 3.9-.6-.9-5.5 1.2-.2c1.6-.2 2.7-.7 3.5-1.3 1.9-1.3 2-3.2 1.8-4.8zm-5.8 3-1.1.2-.6-3.6 1.4-.2c.9-.1 1.6 0 1.8 1.3.3 1.7-.3 2.1-1.5 2.3zM155.3 26.5c-.5-.7-1.2-1.3-1.8-1.4 1.8-.6 2.9-2.2 2.5-4.8-.4-2.6-2.2-4.2-6.7-3.4l-5.3.8 2.5 15.5 3.9-.6-1-6.1c.9-.1 1.2 0 2.1 1.5l2.3 4.1 4.6-.7c-.7-1.3-2.4-4-3.1-4.9zm-5.1-3.3-1.1.2-.5-3.1 1.1-.2c1.2-.2 1.9.1 2.1 1.2.1 1-.3 1.7-1.6 1.9zM171.8 20.5c-.5-3.2-2.5-6.7-7.1-6.4-.3 0-.6.1-.8.1-4 .7-6.6 4-5.7 9.5.7 4.6 3.7 7.2 8.1 6.5l1.2-.3c4.4-1.3 5-5.3 4.3-9.4zm-5.9 6.5c-1.6.3-2.7-.6-3.4-4.5-.5-2.9 0-4.9 1.8-5.2 1.7-.3 2.6.5 3.2 4.4.7 3.9.1 5-1.6 5.3z' class='st2'/%3E%3Cpath d='M108.7 43.7c-1-.6-2.3-.5-4 .4-1.1.5-3.2 2.1-5.4 4.1-1.5.1-3 .1-4.6-.3-2.3-.6-5.5-2-7.6-6-.9-1.7-1.3-4.7-1-8 1-12.7 12.5-24.1 12.6-24.2.7-.7.7-1.8 0-2.5s-1.8-.7-2.5 0c-.4.4-6.3 6.3-10.2 14.7-1.2-.6-2.8-1.1-4.7-.8-2.4.4-4.5 2-6.2 4.8-.7 1.2-1.2 2.4-1.6 3.6-1.5 4.5-3.5 4.3-4.2 4.3-.7 0-1.1-.3-1.3-.9-.2-.4-.3-.9-.2-1.5l.8-5.6c.3-1.8.5-3.1.5-3.3.1-.7-.3-1.4-1-1.8-.2-.1-.4-.2-.6-.2H67c-.8.1-1.4.7-1.5 1.5l-.5 3.4c-1.1 5.5-3.7 13.4-8.9 13.4-.8 0-1.5-.2-2.1-.6.8-1.2 1.5-2.4 2.2-3.6 3-5.5 5.4-12.5 5.8-17.3.6-6.3-2-9.2-4.4-9.8-2.2-.5-5.5.7-7.4 5.8-2.1 5.4-4.3 18.3-.7 24.9-1.9 2.2-3.7 3.4-5.2 3.3-.9 0-1.6-.4-2.1-1.1-2-2.6-1.2-8.8-.8-11 .2-1-.4-1.9-1.4-2.1-.8-.2-1.7.3-2 1-1.2-1.4-3-2.3-5.2-2.3h-.6c-3.4 0-7.5 2-8.4 7.6-.1.1-.1.3-.1.4-.5 2.2-2.7 9.3-10.1 9.3-3 0-5.4-1.2-7.1-3.6-3.2-4.4-3.9-12.6-1.6-19.9 1.6-5.3 5.1-7.3 7.9-7.4 2.6-.1 4.7 1.3 5.7 3.7 2.4 5.9-2 10.2-2.2 10.4-.7.7-.7 1.8-.1 2.5.7.7 1.8.8 2.5.1.3-.3 6.3-6.2 3.1-14.4-1.5-3.8-5.1-6.1-9.1-6-3.9.2-8.9 2.9-11.1 9.9-2.2 7-2.3 16.9 2.2 23 2.4 3.3 5.9 5 10 5 5.4 0 9-2.8 11.3-6.4.3.5.7.9 1.1 1.4 1.4 1.4 3.5 2.3 5.6 2.3h.7c2.5-.2 4.7-1.5 6.2-3.3.3.7.6 1.3 1.1 1.9 1.1 1.5 2.8 2.3 4.7 2.4h.4c2.8 0 5.3-1.8 7.4-4.2 1.2.9 2.7 1.4 4.3 1.4 4.4 0 7.3-3.1 9.3-6.9.9 1.1 2.1 1.7 3.5 1.8 1.4.1 3-.2 4.5-1.4.3.9.8 1.8 1.4 2.5 1.5 1.8 3.6 2.8 6 2.8.7 0 1.4-.1 2.1-.2.2 1 .5 2 1 2.8 2.1 4.1 5.6 6.8 9.9 7.8.6.2 1.3.3 2 .3-.2.2-.4.5-.6.7-.3.3-.5.7-.8 1-1.1 1.5-2.4 2.9-3.7 4.2-5.5 5.4-12.5 9.3-20 10.8-1.9.4-3.8.6-5.7.7-1.9.1-3.9.1-5.8-.1-3.9-.3-7.7-1.2-11.3-2.6-3.6-1.4-7.1-3.4-10.1-5.9-3.1-2.4-5.9-5.4-8.3-8.6.5.9 1 1.7 1.6 2.6l1.8 2.4c1.3 1.6 2.6 3.1 4.1 4.5 3 2.8 6.4 5.2 10.1 6.9 3.7 1.7 7.7 2.9 11.8 3.4 2.1.3 4.1.4 6.2.4 2.1 0 4.1-.2 6.2-.5 4.1-.7 8.1-2.1 11.8-4 1.9-1 3.6-2.1 5.3-3.3 1.7-1.2 3.3-2.5 4.8-4 1.5-1.4 2.8-2.9 4.1-4.5l.1-.1c0-.1.1-.1.1-.2.4-.5.8-1 1.2-1.4.1-.1.2-.3.3-.4.6-.6 1.2-1.3 1.8-1.9 1.8-.3 3.5-.8 5-1.6.4-.2.8-.4 1.2-.7.2-.1.4-.3.6-.4.5-.3 2-1.3 2-3-.2-1-.6-1.8-1.4-2.3zM32 40.6c-1.4.1-2.6-.3-3.5-1.2-.9-.9-1.4-2.3-1.2-4 .4-5.3 4-5.7 5.1-5.7h.5c3.4 0 3.9 3.9 4 5.1.1 2.9-2.1 5.5-4.9 5.8zm20-5.8c-1.7-5.4-.4-15 1.6-20.3.9-2.5 2.2-3.6 3.1-3.6h.2c.9.2 2.1 2 1.7 6-.4 4.4-2.6 10.8-5.4 15.9-.5.7-.8 1.4-1.2 2zm30.7-1.1c-.1.8-.1 2.1 0 3.5-2.1.5-3.9.1-5-1.3-1-1.2-1.5-3.3-.8-5.6v-.1c0-.1 0-.1.1-.2.2-.8.6-1.6 1.1-2.4 1.1-1.8 2.4-2.9 3.7-3.1 1.1-.2 2.2.2 2.9.6-1.1 2.7-1.8 5.6-2 8.6z' class='st0'/%3E%3Cpath d='M128 34s-.1 0 0 0c-.2-.3-.4-.5-.6-.6-.4-.2-.8-.3-1.2-.2-.3.1-.5.2-.8.4-.2.1-.3.3-.4.5-2.2 3.8-4.9 6.3-7.6 6.9-1.6.4-3.2 0-4.6-.9h-.1c-1-.6-1.4-2-1.6-3.3 6-5.2 10.8-12.3 12.4-15.1.1-.1.1-.2.1-.2 3.3-5.9 3.3-9.5 2.6-11.6-.4-1.1-1-1.8-1.5-2.2-1.9-1.5-4.6-1.4-6.8.4-4.7 3.9-10.7 18.1-10.5 27.2-2.8 2.2-5.7 3.7-8.3 3.9-3 .1-3.7-1.2-3.9-1.6-.1-.2-.2-.3-.2-.5 1.5-.3 5.5-1.7 9-6.8 3.7-5.5 3.2-9.6.9-11.2-2-1.5-5.7-1-9.2 3.5-2.6 3.3-6.3 11.6-3.7 16.7.9 1.7 2.9 3.7 7.2 3.5 2.9-.1 5.9-1.5 8.8-3.5.5 1.7 1.5 3 2.7 3.8 1.6 1.1 3.4 1.7 5.3 1.7.7 0 1.4-.1 2-.2 2.2-.5 5.2-1.9 8.1-5.8.6-.8 1.2-1.8 1.8-2.8.4-.7.4-1.4.1-2zm-7.9-23.2c.5-.4 1.1-.6 1.5-.6.3 0 .5.1.7.2 0 0 .1 0 .1.1.5.5.9 2 0 4.9-.4 1.2-1 2.7-1.9 4.4-1.4 2.6-5 7.8-9.4 12.1 1-8.1 5.8-18.5 9-21.1zM98.5 24.6c1.7-2.2 3.2-2.9 3.9-2.9.2 0 .3 0 .4.1.4.3.8 2.5-1.8 6.3-2.4 3.5-4.9 4.7-6.2 5.2.5-3 2.2-6.6 3.7-8.7z' class='st0'/%3E%3C/svg%3E") 50% / contain no-repeat;
        --logo-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' width='194' height='72' style='enable-background:new 0 0 194 72'%3E%3Cstyle%3E.st1%7Bfill:%23fff%7D%3C/style%3E%3Cpath d='M70.1 16.9c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2z' style='fill:%23871535'/%3E%3Cpath d='M70.1 16.9c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2z' class='st1'/%3E%3Cpath d='m194 35.4-66.7 10.7-.9-5.9c.2-.3.4-.5.6-.8.6-.8 1.3-1.8 1.9-3 .5-.9.5-2-.1-2.9 0-.1-.1-.1-.1-.2-.2-.3-.5-.6-.9-.8-.4-.2-.9-.4-1.4-.4h-.5c-.3 0-.5.1-.7.3l-1.5-9.1c.3-.4.5-.8.6-1.1.1-.1.1-.2.2-.3 2.8-5.1 3.7-9.2 2.7-12.3l11.2-1.8 33.4-5.4L188.3 0 176 20.2l18 15.2z' style='fill:%231e6e85'/%3E%3Cpath d='M143.1 22.7c-.3-2.2-1.4-3.3-3.1-3.8-1.1-.3-2.3-.3-3.9 0l-5 .8 2.5 15.4 3.9-.6-.9-5.5 1.2-.2c1.6-.2 2.7-.7 3.5-1.3 1.9-1.3 2-3.2 1.8-4.8zm-5.8 3-1.1.2-.6-3.6 1.4-.2c.9-.1 1.6 0 1.8 1.3.3 1.7-.3 2.1-1.5 2.3zM155.3 26.5c-.5-.7-1.2-1.3-1.8-1.4 1.8-.6 2.9-2.2 2.5-4.8-.4-2.6-2.2-4.2-6.7-3.4l-5.3.8 2.5 15.5 3.9-.6-1-6.1c.9-.1 1.2 0 2.1 1.5l2.3 4.1 4.6-.7c-.7-1.3-2.4-4-3.1-4.9zm-5.1-3.3-1.1.2-.5-3.1 1.1-.2c1.2-.2 1.9.1 2.1 1.2.1 1-.3 1.7-1.6 1.9zM171.8 20.5c-.5-3.2-2.5-6.7-7.1-6.4-.3 0-.6.1-.8.1-4 .7-6.6 4-5.7 9.5.7 4.6 3.7 7.2 8.1 6.5l1.2-.3c4.4-1.3 5-5.3 4.3-9.4zm-5.9 6.5c-1.6.3-2.7-.6-3.4-4.5-.5-2.9 0-4.9 1.8-5.2 1.7-.3 2.6.5 3.2 4.4.7 3.9.1 5-1.6 5.3zM108.7 43.7c-1-.6-2.3-.5-4 .4-1.1.5-3.2 2.1-5.4 4.1-1.5.1-3 .1-4.6-.3-2.3-.6-5.5-2-7.6-6-.9-1.7-1.3-4.7-1-8 1-12.7 12.5-24.1 12.6-24.2.7-.7.7-1.8 0-2.5s-1.8-.7-2.5 0c-.4.4-6.3 6.3-10.2 14.7-1.2-.6-2.8-1.1-4.7-.8-2.4.4-4.5 2-6.2 4.8-.7 1.2-1.2 2.4-1.6 3.6-1.5 4.5-3.5 4.3-4.2 4.3-.7 0-1.1-.3-1.3-.9-.2-.4-.3-.9-.2-1.5l.8-5.6c.3-1.8.5-3.1.5-3.3.1-.7-.3-1.4-1-1.8-.2-.1-.4-.2-.6-.2H67c-.8.1-1.4.7-1.5 1.5l-.5 3.4c-1.1 5.5-3.7 13.4-8.9 13.4-.8 0-1.5-.2-2.1-.6.8-1.2 1.5-2.4 2.2-3.6 3-5.5 5.4-12.5 5.8-17.3.6-6.3-2-9.2-4.4-9.8-2.2-.5-5.5.7-7.4 5.8-2.1 5.4-4.3 18.3-.7 24.9-1.9 2.2-3.7 3.4-5.2 3.3-.9 0-1.6-.4-2.1-1.1-2-2.6-1.2-8.8-.8-11 .2-1-.4-1.9-1.4-2.1-.8-.2-1.7.3-2 1-1.2-1.4-3-2.3-5.2-2.3h-.6c-3.4 0-7.5 2-8.4 7.6-.1.1-.1.3-.1.4-.5 2.2-2.7 9.3-10.1 9.3-3 0-5.4-1.2-7.1-3.6-3.2-4.4-3.9-12.6-1.6-19.9 1.6-5.3 5.1-7.3 7.9-7.4 2.6-.1 4.7 1.3 5.7 3.7 2.4 5.9-2 10.2-2.2 10.4-.7.7-.7 1.8-.1 2.5.7.7 1.8.8 2.5.1.3-.3 6.3-6.2 3.1-14.4-1.5-3.8-5.1-6.1-9.1-6-3.9.2-8.9 2.9-11.1 9.9-2.2 7-2.3 16.9 2.2 23 2.4 3.3 5.9 5 10 5 5.4 0 9-2.8 11.3-6.4.3.5.7.9 1.1 1.4 1.4 1.4 3.5 2.3 5.6 2.3h.7c2.5-.2 4.7-1.5 6.2-3.3.3.7.6 1.3 1.1 1.9 1.1 1.5 2.8 2.3 4.7 2.4h.4c2.8 0 5.3-1.8 7.4-4.2 1.2.9 2.7 1.4 4.3 1.4 4.4 0 7.3-3.1 9.3-6.9.9 1.1 2.1 1.7 3.5 1.8 1.4.1 3-.2 4.5-1.4.3.9.8 1.8 1.4 2.5 1.5 1.8 3.6 2.8 6 2.8.7 0 1.4-.1 2.1-.2.2 1 .5 2 1 2.8 2.1 4.1 5.6 6.8 9.9 7.8.6.2 1.3.3 2 .3-.2.2-.4.5-.6.7-.3.3-.5.7-.8 1-1.1 1.5-2.4 2.9-3.7 4.2-5.5 5.4-12.5 9.3-20 10.8-1.9.4-3.8.6-5.7.7-1.9.1-3.9.1-5.8-.1-3.9-.3-7.7-1.2-11.3-2.6-3.6-1.4-7.1-3.4-10.1-5.9-3.1-2.4-5.9-5.4-8.3-8.6.5.9 1 1.7 1.6 2.6l1.8 2.4c1.3 1.6 2.6 3.1 4.1 4.5 3 2.8 6.4 5.2 10.1 6.9 3.7 1.7 7.7 2.9 11.8 3.4 2.1.3 4.1.4 6.2.4 2.1 0 4.1-.2 6.2-.5 4.1-.7 8.1-2.1 11.8-4 1.9-1 3.6-2.1 5.3-3.3 1.7-1.2 3.3-2.5 4.8-4 1.5-1.4 2.8-2.9 4.1-4.5l.1-.1c0-.1.1-.1.1-.2.4-.5.8-1 1.2-1.4.1-.1.2-.3.3-.4.6-.6 1.2-1.3 1.8-1.9 1.8-.3 3.5-.8 5-1.6.4-.2.8-.4 1.2-.7.2-.1.4-.3.6-.4.5-.3 2-1.3 2-3-.2-1-.6-1.8-1.4-2.3zM32 40.6c-1.4.1-2.6-.3-3.5-1.2-.9-.9-1.4-2.3-1.2-4 .4-5.3 4-5.7 5.1-5.7h.5c3.4 0 3.9 3.9 4 5.1.1 2.9-2.1 5.5-4.9 5.8zm20-5.8c-1.7-5.4-.4-15 1.6-20.3.9-2.5 2.2-3.6 3.1-3.6h.2c.9.2 2.1 2 1.7 6-.4 4.4-2.6 10.8-5.4 15.9-.5.7-.8 1.4-1.2 2zm30.7-1.1c-.1.8-.1 2.1 0 3.5-2.1.5-3.9.1-5-1.3-1-1.2-1.5-3.3-.8-5.6v-.1c0-.1 0-.1.1-.2.2-.8.6-1.6 1.1-2.4 1.1-1.8 2.4-2.9 3.7-3.1 1.1-.2 2.2.2 2.9.6-1.1 2.7-1.8 5.6-2 8.6z' class='st1'/%3E%3Cpath d='M128 34s-.1 0 0 0c-.2-.3-.4-.5-.6-.6-.4-.2-.8-.3-1.2-.2-.3.1-.5.2-.8.4-.2.1-.3.3-.4.5-2.2 3.8-4.9 6.3-7.6 6.9-1.6.4-3.2 0-4.6-.9h-.1c-1-.6-1.4-2-1.6-3.3 6-5.2 10.8-12.3 12.4-15.1.1-.1.1-.2.1-.2 3.3-5.9 3.3-9.5 2.6-11.6-.4-1.1-1-1.8-1.5-2.2-1.9-1.5-4.6-1.4-6.8.4-4.7 3.9-10.7 18.1-10.5 27.2-2.8 2.2-5.7 3.7-8.3 3.9-3 .1-3.7-1.2-3.9-1.6-.1-.2-.2-.3-.2-.5 1.5-.3 5.5-1.7 9-6.8 3.7-5.5 3.2-9.6.9-11.2-2-1.5-5.7-1-9.2 3.5-2.6 3.3-6.3 11.6-3.7 16.7.9 1.7 2.9 3.7 7.2 3.5 2.9-.1 5.9-1.5 8.8-3.5.5 1.7 1.5 3 2.7 3.8 1.6 1.1 3.4 1.7 5.3 1.7.7 0 1.4-.1 2-.2 2.2-.5 5.2-1.9 8.1-5.8.6-.8 1.2-1.8 1.8-2.8.4-.7.4-1.4.1-2zm-7.9-23.2c.5-.4 1.1-.6 1.5-.6.3 0 .5.1.7.2 0 0 .1 0 .1.1.5.5.9 2 0 4.9-.4 1.2-1 2.7-1.9 4.4-1.4 2.6-5 7.8-9.4 12.1 1-8.1 5.8-18.5 9-21.1zM98.5 24.6c1.7-2.2 3.2-2.9 3.9-2.9.2 0 .3 0 .4.1.4.3.8 2.5-1.8 6.3-2.4 3.5-4.9 4.7-6.2 5.2.5-3 2.2-6.6 3.7-8.7z' class='st1'/%3E%3C/svg%3E") 50% / contain no-repeat;
    }
  
    @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.globe:before {
        content: "\e93f" / "";
    }
    .inodia-icons.handshake:before {
        content: "\e93e" / "";
    }    
    .inodia-icons.cb:before {
        content: "\e93d" / "";
    }
    .inodia-icons.mastercard:before {
        content: "\e93c" / "";
    }
    .inodia-icons.visa:before {
        content: "\e93b" / "";
    }
    .inodia-icons.pickup-point:before {
        content: "\e93a" / "";
    }
    .inodia-icons.weight:before {
        content: "\e939" / "";
    }
    .inodia-icons.farmer:before {
        content: "\e938" / "";
    }
    .inodia-icons.fridge:before {
        content: "\e937" / "";
    }
    .inodia-icons.filter:before {
        content: "\e936" / "";
    }
    .inodia-icons.star:before {
        content: "\e935" / "";
    }
    .inodia-icons.star_filled:before {
        content: "\e934" / "";
    }
    .inodia-icons.minus:before {
        content: "\e933" / "";
    }
    .inodia-icons.calendar:before {
        content: "\e932" / "";
    }
    .inodia-icons.card:before {
        content: "\e931" / "";
    }
    .inodia-icons.delivery:before {
        content: "\e930" / "";
    }
    .inodia-icons.stopwatch:before,
    .receipe-info-duree .elementor-icon-box-wrapper::before {
        content: "\e92e" / "";
    }
    .inodia-icons.euro:before,
    .receipe-info-prix .elementor-icon-box-wrapper::before {
        content: "\e92d";
    }
    .inodia-icons.chart:before,
    .receipe-info-difficulte .elementor-icon-box-wrapper::before {
        content: "\e92c";
    }
    .inodia-icons.flag:before {
        content: "\e92b";
    }
    .wishlist-button-add.delete_wishlist i::before,
    .inodia-icons.list-added:before {
        content: "\e92a" / "";
    }
    .inodia-icons.france:before {
        content: "\e929" / "";
    }
    .inodia-icons.lock:before {
        content: "\e928" / "";
    }
    .inodia-icons.cold:before {
        content: "\e927" / "";
    }
    .inodia-icons.info:before {
        content: "\e926" / "";
    }
    .inodia-icons.wishlist:before {
        content: "\e925" / "";
    }
    .inodia-icons.long_arrow_left:before {
        content: "\e924" / "";
    }
    .inodia-icons.long_arrow_right:before {
        content: "\e923" / "";
    }
    .inodia-icons.play:before {
        content: "\e922" / "";
    }
    .inodia-icons.tiktok:before {
        content: "\e921" / "";
    }
    .inodia-icons.twitter: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,
    .receipe-info-portions .elementor-icon-box-wrapper::before {
        content: "\e905" / "";
    }
    .inodia-icons.cart:before {
        content: "\e904" / "";
    }
    .inodia-icons.arrow_left:before {
        content: "\e903" / "";
    }
    .inodia-icons.arrow_right:before {
        content: "\e902" / "";
    }
    .inodia-icons.arrow_up:before {
        content: "\e901" / "";
    }
    .inodia-icons.arrow_down:before {
        content: "\e900" / "";
    }
  
    @media screen and (max-width: 60rem) {
      
        :root {
            --wrapper-size-mobile: 85%;
        }	
    }
}

@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: absolute;
        inset-block-start: 0;
        inset-inline-start: 0;
        z-index: 50000;
    }

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

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

    .missing-img {
        background: var(--white-color);
        aspect-ratio: 1;
        object-fit: contain;
        padding: 15%;
    }

    .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, .ets-wishlist-toast) {
        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: clamp(0rem, var(--border-radius) / 2, .5rem);
        color: var(--_alert-color);
        outline-color: var(--_alert-color);
        padding-block: var(--spacing-2xs);
        padding-inline: calc(var(--spacing-2xs) * 2);
    }

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

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

    :is(.alert-danger, .ets-wishlist-toast.error) {
        --_alert-color: var(--alert-danger-color);
    }

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

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

    .page-module-ino_deliverypoint-deliverypoint .alert {
        inline-size: min(100%, 24rem);
        margin-block: var(--spacing-xs) var(--spacing-md);
    }

    .page-module-ino_deliverypoint-deliverypoint .alert * {
        font-size: var(--text-size-normal);
    }
    
    .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);
    }

    .ets-wishlist-toast {
        position: fixed;
        inset-block-start: var(--spacing-md);
        inset-inline-end: var(--spacing-md);
        transition: all .2s ease-out 0s;
        z-index: 9999;
    }

    .ets-wishlist-toast:not(.isActive) {
        opacity: 0;
        translate: 0 calc(var(--spacing-2xs) * -1);
        pointer-events: none;
    }

    .ets-wishlist-toast-text {
        color: inherit;
        line-height: 1.3;
    }

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

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

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

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

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

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

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

    :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: 100svb;
        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, 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, .h2, .h3, .h4, .label, .no-margin, :has(+ .modal)) {
        margin-block-end: var(--spacing-xs);
    }

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

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

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

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

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

    :is(a, button, select, 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-style: normal;
        line-height: 1.3;
    }

    address a:not(:first-child) {
        margin-block-start: var(--spacing-xs);
    }

    :is(a, button, [type=submit]):focus-visible,
    .custom-radio:has(input:focus-visible),
    .custom-checkbox input[type=checkbox]:focus-visible + span,
    .ino-toggle-switch:has(.ino-toggle-switch-input:focus-visible) {
        outline: var(--outline-width) solid 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,
    input:is([type=checkbox], [type=radio]) {
        appearance: none;
    }

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

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

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

    :is(.custom-radio, .custom-checkbox) small {
        color: var(--text-color);
    }
    
    :where(.custom-radio, .custom-radio > *) { 
        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%;
        display: flex;
        inline-size: calc(100% + (var(--border-width) * 2));
        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 input[type=checkbox] + span {
        transition: var(--transition-default);
    }

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

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

    .custom-checkbox small em:not(:empty) {
        display: table;
        margin-block-start: var(--spacing-3xs);
    }
	
    .custom-checkbox :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-small) / 2, .25rem);
        line-height: 1;
        position: relative;
        inset-block-start: calc(var(--text-size-normal) / 5);
        margin-block-start: calc((var(--text-size-normal) / 5) * -1);
    }

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

    .custom-checkbox input[type=checkbox] + span .checkbox-checked {
        background: var(--primary-color);
        color: var(--light-color);
        display: grid;
        place-items: center;
        font-size: .5rem;
        position: absolute;
        inset: 0;
        transition: all .15s ease-in-out;
    }    

    .custom-checkbox input[type=checkbox]:checked + span {
        border-color: var(--primary-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(--background-color);
    }

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

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

    img {
        font-style: italic;
        block-size: auto;
        max-width: initial;
        max-inline-size: 100%;
        vertical-align: middle;
    }
        
    dt + dd:not(.no-margin) {
        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;
    }

    @-moz-document url-prefix() {
    
        .ino-nav-sub-menu-wrapper,
        body.modal-open .modal {
            scrollbar-width: none;
        }
    }

    .ino-nav-sub-menu-wrapper::-webkit-scrollbar,
    body.modal-open .modal::-webkit-scrollbar {
        display: none;
    }

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

    :is(.inodia-icons, .btn-touchspin),
    .inodia-icons :is(a, span),
    .bouton-icon a > span,
    :is(.ino-toggle-head, .elementor-accordion-title)::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;
    }
    
    :is(.elementor-swiper-button, .aa-InputWrapperPrefix, .aa-InputWrapperSuffix, .aa-GradientBottom),
    .elementor-select-wrapper .select-caret-down-wrapper,
    .elementor-widget-blockquote .elementor-blockquote::before,
    :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(--border-radius);
    }

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

    .elementor-widget-icon-box .elementor-icon-box-wrapper {
        text-align: inherit;
    }

    :is(.elementor-accordion-item, .elementor-tab-title, .elementor-tab-content) {
        border: none;
        padding: 0;
    }

    .toggle-seo .elementor-tab-content :is(p, li, span, strong),
    .elementor-widget-toggle:not(.toggle-seo) .elementor-tab-content :is(h1, h2, h3, h4),
    :is(.product-description-short, .product-description-long, .elementor-widget-text-editor, .tuile__desc) :is(h1, h2, h3, h4),
    :is(.product-description-short, .product-description-long, .elementor-widget-text-editor, .tuile__desc, .elementor-tab-content),
    :is(.product-description-short, .product-description-long, .elementor-widget-text-editor, .tuile__desc, .elementor-tab-content) :is(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;
    }
    
    .section-mea-grid .elementor-widget-text-editor :is(p, li, span) {
        color: var(--strong-color) !important;
    }
    
    .toggle-seo .elementor-tab-content strong,
    :is(.product-description-short, .product-description-long, .elementor-tab-content, .elementor-widget-text-editor, .tuile__desc) strong {
        color: var(--strong-color) !important;
        font-weight: var(--text-weight-bold) !important;
    }
    
    .toggle-seo .elementor-tab-content  a *,
    :is(.product-description-short, .product-description-long, .elementor-tab-content, .elementor-widget-text-editor, .tuile__desc) a * {
        color: inherit !important;
    }

    :is(.product-description-short, .product-description-long, .elementor-tab-content, .elementor-widget-text-editor, .tuile__desc) :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, .tuile__desc) :is(h1, h2, h3, h4):last-child {
        margin-block-end: 0 !important;
    }

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

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

    .elementor-widget-product-carousel .products-list__block {
        flex: initial;
        max-inline-size: initial;
        margin: 0;
    }
	
    .elementor-icon :is(i, svg) {
        fill: transparent;
    }

    .search-form__form-group,
    .featured-products .wrapper-slider {
        position: relative;
    }
    
    main :is(.product-slider, .posts-slider) {
        display: flex;
        flex-flow: column;
        margin-inline: calc(var(--spacing-3xs) * -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%;
        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;
    }

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

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

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

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

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

    figcaption:not(.homeslider__caption),
    .center :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);
    }

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

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

    .container,
    :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-medium > :is(.ino-container, .elementor-container) {
        inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size-medium));
    }

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

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

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

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

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

    :is(.elementor-row, .ino-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 :where(figure, picture, img, .deliveries-points),
    .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,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):not(.full) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child:not(.contain)) img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child):not(.full) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child:not(.contain)) img {
        border-radius: var(--border-radius);
    }

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

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

    .ino-txt-img.full .ino-col-img img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .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) .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);
    }

    .product-list-footer .elementor-top-section:first-child,
    :where(.elementor-top-section, .ino-top-section, main > .elementor):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-gris-clair):not(.block),
    :is(.fond-noir, .fond-gris-clair).block > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
        background: var(--background-color);
    }

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

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

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

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

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

    :is(.ino-widget + .bouton, .elementor-widget-image + .elementor-inner-section),
    .elementor-widget + :is(.boutons, .elementor-widget-form, .elementor-widget-text-editor),
    :is(.elementor-widget-text-editor, .elementor-widget-accordion, .elementor-widget-product-carousel, .elementor-widget-ps-widget-module) + .elementor-widget {
        margin-block-start: calc(var(--spacing-4xl) / 3);
    }

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

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

    .toggle-seo h2 + p,
    :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, .no-margin):has(h1, h2)) + :is(.elementor-widget:not(.elementor-widget-heading:not(.elementor-widget-product-carousel)), .elementor-inner-section) {
        margin-block-start: var(--spacing-lg);
    }

    .toggle-seo h3 + p,
    :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:not(.elementor-widget-product-carousel)), .elementor-inner-section) {
        margin-block-start: var(--spacing-md);
    }

    .toggle-seo h4 + p,
    .elementor-widget-heading:not(.elementor-widget-product-carousel) + .elementor-widget-heading,
    :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:not(.elementor-widget-product-carousel)), .elementor-inner-section) {
        margin-block-start: var(--spacing-sm);
    }

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

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

    .toggle-seo p + h4,
    .elementor-widget:not(.elementor-widget-menu-anchor, .elementor-widget-heading:not(.elementor-widget-product-carousel)) + :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-txt {
        display: flex;
        flex-flow: column;
        justify-content: center;
    }

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

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

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

    .ino-col-img {
        overflow: hidden;
    }
    
    .ino-grid > div:not(.elementor-element-overlay) > div {
        --_item-min-size: 20rem;
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--_item-min-size)), 1fr));
        gap: var(--spacing-lg) var(--spacing-sm);
    }

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

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

    @container viewport (70rem < inline-size) {
        
        .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),
        .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,
        .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-3xl);
        }
        
        .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).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).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).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).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-txt-img .ino-col-txt,
        .inner-txt-img .elementor-column:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child)),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child) .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child)),
        .section-contact .elementor-row > .block-formulaire {
            order: 1;
        }
        
        .ino-txt-img .ino-col-img,
        .inner-txt-img .elementor-column:has(.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));
        }

        .ino-top-section .ino-col-img {
            aspect-ratio: 3 / 2;
        }
    }

    @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,
        .wrap-bouton.center.desktop {
            justify-content: flex-start;
        }
    } 

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

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

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

        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).block > .elementor-container,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).block > .elementor-container {
            inline-size: 100%;
            max-inline-size: initial;
        }
        
        .ino-txt-img.full.block .ino-col-txt,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.block .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):not(:has(.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: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(--h2-font-size)/1 var(--font-title);
            letter-spacing: -.02em;
        }

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

        :is(h2, .h2:not(.elementor-widget-heading)),
        .elementor-widget-heading.h2 .elementor-heading-title {
            color: var(--title-color);
            font: var(--text-weight-bold) var(--h2-font-size)/1 var(--font-title);
            letter-spacing: -.02em;
        }

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

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

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

        :is(h4, .h4:not(.elementor-widget-heading)), 
        .elementor-widget-heading.h4 .elementor-heading-title { 
            color: var(--title-color);
            font: var(--text-weight-normal) var(--h4-font-size)/1.1 var(--font-text);
            letter-spacing: 0;
        }

        :is(h4:not(.h1, .h2, .h3, .elementor-heading-title, .no-margin), .h4:not(.elementor-widget-heading, .modal-title, .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) 1.5ch;
        }
        
        :where(label, .label, input[type="file" i]):not(.radio-inline, .custom-checkbox, .display-tax-method-switch) {
            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" / "";
            font-size: var(--text-size-small);
        }

        :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-small);
            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) / 2, 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);
        }

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

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

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

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

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

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

        .input-group-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-small) 0 0 var(--border-radius-small);
        }

        .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) / 2, .75rem);
            align-items: center;
            block-size: 100%;
            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 {    
            background: transparent;
            border: none;      
            color: var(--title-color);
            text-align: center;
        }
    
        .input-custom-qty:focus {
            box-shadow: none;
        }
    
        .bootstrap-touchspin:has(.input-custom-qty) {
            display: flex;
            gap: var(--spacing-4xs);
            padding-inline: var(--spacing-2xs);
        }
    
        .bootstrap-touchspin :is(.input-group-btn, .btn-touchspin) {
            block-size: 100%;
        }
    
        .btn-touchspin {
            border-radius: var(--border-radius);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: .5rem;
            inline-size: 100%;
        }
    
        .bootstrap-touchspin-up::before {
            content: "\e90d" / "";
        }
    
        .bootstrap-touchspin-down::before {
            content: "\e933" / "";
        }
        
        .form-group {
            display: flex;
            flex-flow: row wrap;
            inline-size: 100%;
            margin-block-end: 0;
        }

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

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

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

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

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

    @layer lists {

        main .custom:is(ul, ol), 
        main :is(.elementor, .product-description-short, .product-description-long, .ino-toggle-content) :is(ul, ol) {
            padding: 0;
        }

        main .custom:is(ul, ol):not(:last-child),
        main :is(.elementor, .product-description-short, .product-description-long, .ino-toggle-content) :is(ul:not(:last-child, .swiper-wrapper), ol:not(:last-child)) {
            margin-block-end: var(--spacing-sm);
        }

        main .custom:is(ul, ol) li:not(:last-child),
        main :is(.elementor, .product-description-short, .product-description-long, .ino-toggle-content) :is(ul:not(.swiper-wrapper), ol) li:not(:last-child) {
            margin-block-end: var(--spacing-2xs);
        }

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

        main ol.custom li,
        main :is(.elementor, .product-description-short, .product-description-long, .ino-toggle-content) ol li {
            list-style-position: inside;
        }

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

        main ul.custom li::before,
        main :is(.elementor, .product-description-short, .product-description-long, .ino-toggle-content) 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 {

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

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

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

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

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

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

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

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

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

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

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

        .account-link i {
            font-size: .5rem;
        }

        :is(.skip-link, .link-underline):not(:hover, :active),
        :is(.alert, .elementor-tab-content, .elementor-widget-text-editor, .message-rgpd, .custom-checkbox, .product-description-short, .delivery-point-action) a:not(:hover, :active) {
            text-decoration: underline;
            text-underline-offset: var(--spacing-4xs);
        }
    }

    @layer buttons {

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

        .bouton:not(div),
        .bouton :is(a, button, [type=submit]),
        .toggle-seo .elementor-toggle-title {
            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]) {
            background: var(--_btn-color);
            border: var(--border-width) solid transparent;
            border-radius: var(--border-radius-small);
            text-align: center;
            padding-block: var(--spacing-xs);
            padding-inline: calc(var(--spacing-xs) * 2);
        }

        .bouton.wpcf7-submit,
        .bouton:not(.bouton-icon) span,
        .bouton:not(.elementor-element, .bouton-icon) {
            font: var(--text-weight-medium) var(--text-size-big)/1.1 var(--font-text);
            letter-spacing: .03em;
        }

        .bouton-small:not(.bouton-link, div),
        .bouton-small:not(.bouton-link) :is(a, button, [type=submit]) {
            padding-block: var(--spacing-2xs);
            padding-inline: calc(var(--spacing-2xs) * 2);
        }

        .bouton-small:not(.elementor-element, .bouton-icon),
        .bouton-small:not(.bouton-icon) span {
            font-size: var(--text-size-normal);
        }

        .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]),
        .toggle-seo .elementor-toggle-title {
            --_btn-color: var(--primary-color);
            --_btn-text-color: var(--light-color);
        }

        .bouton-secondary:not(div),
        .bouton-secondary :is(a, button, [type=submit]) {
            --_btn-color: var(--secondary-color);
            --_btn-text-color: var(--light-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]),
        .toggle-seo .elementor-toggle-title {
            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,
            .toggle-seo .elementor-toggle-title:hover {
                --_btn-color: var(--primary-hover-color);
            }

            .bouton-primary:not(.bouton-contour, div):active,
            .bouton-primary:not(.bouton-contour) :is(a, button, [type=submit]):active,
            .toggle-seo .elementor-toggle-title:active {
                --_btn-color: var(--primary-active-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);
            }

            .bouton-secondary:not(.bouton-contour, div):active,
            .bouton-secondary:not(.bouton-contour) :is(a, button, [type=submit]):active {
                --_btn-color: var(--secondary-active-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,
            .toggle-seo .elementor-toggle-title:active {
                --_btn-color: var(--primary-hover-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);
            }

            .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]) {            
            font-size: var(--text-size-normal);
            text-align: left;
        }

        .bouton-link span {
            font-size: inherit;
            text-align: inherit;
        }

        .bouton-link:not(div),
        .bouton-link :is(a, button, [type=submit]),
        .toggle-seo .elementor-toggle-title {
            color: var(--_btn-color);
            gap: 1.5ch;
        }

        .bouton-link:not(div)::after,
        .bouton-link :is(a, button, [type=submit])::after,
        .toggle-seo .elementor-toggle-title::after {
            content: "\e923" / "";
            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,
            .toggle-seo .elementor-toggle-title:hover:after {
                translate: .25rem;
            }

            .bouton-link:not(div):active::after,
            .bouton-link :is(a, button, [type=submit]):active::after,
            .toggle-seo .elementor-toggle-title: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-sm);
        }

        .bouton-icon :is(a, button, [type=submit]) > span {
            font-size: var(--h4-font-size);
        }

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

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

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

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

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

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

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

        .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-small, .bouton-link, .bouton-icon, .input-group-append):is(a, button, [type=submit]),
            .bouton:not(.bouton-small, .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),
            .boutons .bouton:not(.bouton-link),
            .bouton:not(.bouton-link) :is(a, .elementor-widget-container, .elementor-button-wrapper) {
                inline-size: 100%;
            }
            
            .bouton:where(a, button, [type=submit]):not(.input-group-append, .bouton-link),        
            .bouton:not(.bouton-link) :where(a, button, [type=submit]):not(.input-group-append) {
                padding: var(--spacing-xs);
            }
            
            .boutons .bouton-contour {
                order: 1;
            }
            
            .boutons .bouton:not(.bouton-contour) {
                order: 2;
            }
        }
    }

    @layer badges {

        .badge {
            border-radius: clamp(0rem, var(--border-radius) / 2, .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(--light-color);
        }

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

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

        :is(.badge-order-6, .badge-order-8, .badge-return-4) {
            background: var(--status-error);
            color: var(--background-color);
        }
    }

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

        .product-flags__flag {
            background: var(--secondary-hover-color); 
            color: var(--light-color);
            display: flex;
            font: var(--text-weight-medium) var(--text-size-small)/var(--line-height) var(--font-text);
            position: relative;
            padding-block: var(--spacing-4xs);
            padding-inline: var(--spacing-3xs);
        }

        .product-flags__flag::after {
            content: "";
            background: inherit;
            clip-path: polygon(100% 0%, 0 50%, 100% 100%, 0 100%, 0 50%, 0 0);
            display: flex;
            aspect-ratio: 15 / 34;
            inline-size: auto;
            block-size: 100%;
            position: absolute;
            inset-block-start: 0;
            inset-inline-end: 1px;
            translate: 100%;
        }

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

        .product-flags__flag--bestseller {
            background: var(--secondary-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: clamp(0rem, var(--border-radius), 1rem);
            overflow: hidden;
        }

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

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

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

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

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

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

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

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

            .product-table.table-bordered {
                border: none;
            }
            
            .product-table.table-bordered .product-line:not(:first-child) {
                padding-block-start: var(--spacing-md);
            }
        }
    }

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

    main .search-modal-btn-open {
        display: none;
    }
    
    .breadcrumb {
        margin-block-end: var(--spacing-md);
    }

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

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

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

    .breadcrumb a {
        display: flex;
    }

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

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

    .breadcrumb li > span {
        color: var(--title-color);
        font-weight: var(--text-weight-medium);
        max-inline-size: 24ch;
    }
    
    .back-to-top {
        border-radius: var(--border-radius-small);
        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: .5rem;
    }

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

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

    .price {
        color: var(--title-color);
        display: flex;
        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;
    }

    .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(--shadow-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(--shadow-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 .product-miniature__title > * {
        margin: 0;
    }

    .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, .cart-total-weight) {
        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(--h4-font-size);
    }

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

    .cart-summary-line .label i {
        font-size: var(--text-size-small);
    }

    .cart-summary-line details {
        flex-flow: column;
        inline-size: 100%;
    }

    .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), 2rem) clamp(0rem, var(--border-radius), 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, [type=search], select), .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);
        }
        
        .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 pagination {
    
        .pagination {
            display: flex;
            flex-flow: column;
            align-items: center;
            gap: var(--spacing-md);
            margin-block-start: var(--spacing-xl);
        }
    
        .pagination p {
            text-align: center;
        }
    
        .pagination > p,
        .products-selection .showing {
            color: var(--muted-color);
        }
    
        .pagination .page-list {
            display: flex;
            flex-flow: row wrap;
            align-items: baseline;
            justify-content: center;
            gap: var(--spacing-2xs) calc(var(--spacing-2xs) * 2);
        }
    
        .pagination :is(li, a, li.disabled > span)  {
            line-height: 1;
        }
    
        .pagination :is(a, li.disabled > span)  {
            display: inline-flex;
            align-items: center;
            gap: var(--spacing-2xs);
        }
    
        .pagination li.disabled > span {
            color: var(--title-color);
        }
    
        .pagination i {
            font-size: var(--text-size-small);
        }
    
        .pagination li.current a {
            color: var(--primary-color);
        }

        @container viewport (inline-size <= 24rem) {
        
            .pagination .page-list {
                gap: var(--spacing-3xs);
            }
            
            .pagination :is(a, li.disabled > span) {
                font-size: var(--text-size-small);
                gap: var(--spacing-3xs);
            }
            
            .pagination a {
                padding-block: var(--spacing-4xs);
            }

            .pagination a:not(.previous, .next) {
                padding-inline: var(--spacing-3xs);
            }
            
            .pagination a:is(.previous, .next) {
                padding-inline: var(--spacing-2xs);
            }
            
            .pagination i {
                font-size: .5rem;
            }
        }
    }

    @layer modals {

        .modal-backdrop {
            background: radial-gradient(oklch(from var(--dark-color) l c h / 50%), 25%, var(--dark-color));
        }
        
        .modal-backdrop.show,
        .modal.show + .modal-backdrop {
            opacity: .4;
        }
    
        .modal-content {
            background: var(--background-color);
        }
    
        .modal:not(.modal-fullscreen) .modal-content {
            border-radius: clamp(0rem, var(--border-radius), 2rem);
            box-shadow: 0 8px 64px -32px var(--shadow-color);
        }
    
        :is(.modal-header, .cart-dropdown__title) {
            display: grid;
            grid-template-columns: 1fr auto;
            gap: calc(var(--spacing-2xs) * 2);
        }
    
        .modal-title {
            line-height: 1;
        }
    
        .modal-header .close span {
            font-size: var(--text-size-normal);
        }
    
        .modal:not(.js-product-images-modal, .modal-fullscreen) .modal-header + .modal-body {
            border-block-start: var(--border-width) solid var(--shadow-color); 
        }
    
        .modal:not(.js-product-images-modal, .modal-fullscreen) .modal-content .modal-body:has(+ .modal-footer) {
            border-block-end: var(--border-width) solid var(--shadow-color); 
        }
    
        :is(.modal-body, .cart-summary) .cart-products {
            display: grid;
            grid-template-columns: 72px minmax(0, 1fr);
            gap: var(--spacing-xs);
        }
    
        .modal-content .cart-products {
            padding: var(--spacing-xs);
            margin-block-end: var(--spacing-xs);
        }
    
        .modal-content .cart-products .product-name {
            color: var(--title-color);
            display: table;
            font: var(--font-product-title);
            font-size: var(--text-size-normal);
            letter-spacing: var(--product-title-letter-spacing);
            text-transform: var(--product-title-transform);
            margin-block-end: var(--spacing-3xs);
        }
    
        .modal-content .cart-products .current-price {
            display: flex;
            flex-flow: column;
            gap: var(--spacing-4xs);
            margin-block-end: var(--spacing-xs);
        }

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

        .ino-toggle-head,
        :is(.ino-toggle, .elementor-accordion-item):not(:last-child) :is(.wrapper-content, .elementor-tab-title, .elementor-tab-content) {
            border-block-end: var(--border-width) solid var(--shadow-color);
        }
        
        :is(.ino-toggle, .elementor-accordion-item) {
            --_padding-accordion: var(--spacing-sm);
        }

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

        :is(.ino-toggle-head, .elementor-accordion-title, .features-title) {
            font: var(--text-weight-medium) var(--text-size-big)/1.3 var(--font-text);
        }

        :is(.ino-toggle-head, .elementor-accordion-title) {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 3ch;
        }

        .ino-toggle-head {
            inline-size: 100%;
        }
        
        .ino-toggle:not([open]) .ino-toggle-head::after,
        .elementor-tab-title:not(.elementor-active) .elementor-accordion-title::after {
            content: "\e900" / "";
        }

        .ino-toggle[open] .ino-toggle-head::after,
        .elementor-tab-title.elementor-active .elementor-accordion-title::after {
            content: "\e901" / "";
        }

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

        .ino-toggle-content {
            overflow: hidden;
            transition: var(--transition-default);
        }

        .ino-toggle:not([open]) .ino-toggle-content {
            height: 0;
        }

        .toggle-seo .elementor-tab-content {
            border-block-start: var(--border-width) solid var(--shadow-color);
            margin-block-start: var(--spacing-lg);
            padding-block-start: var(--spacing-sm);
        }

        .elementor-widget-testimonial:not(.elementor-widget-testimonial-carousel) {
            border-inline-start: calc(var(--border-width) * 5) solid var(--shadow-color);
            padding-inline-start: var(--spacing-lg);
        }
        
        :is(.elementor-testimonial-content, .elementor-testimonial-name, .elementor-testimonial-job) {
            letter-spacing: var(--letter-spacing);
        }
        
        :is(.elementor-testimonial-content, .elementor-testimonial-job) {
            color: var(--muted-color);
        }
        
        .elementor-testimonial-content {
            font: italic var(--text-weight-normal) var(--text-size-big) / var(--line-height) var(--font-text);
        }

        .elementor-testimonial-name {
            color: var(--title-color);
            font: var(--text-weight-bold) var(--text-size-normal) / var(--line-height) var(--font-text);
        }

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

        .elementor-testimonial-meta {
            display: flex;
            justify-content: flex-start;
        }
        
        .center .elementor-testimonial-content {
            text-align: center;
        }

        .center .elementor-testimonial-meta {
            justify-content: center;
        }

        .elementor-testimonial-meta-inner {
            display: flex;
            align-items: center;
            gap: var(--spacing-xs);
        }

        .elementor-testimonial-image img {
            aspect-ratio: 1;
            inline-size: 4rem;
        }

        .elementor-widget-testimonial-carousel .elementor-main-swiper {
            inline-size: 100%;
        }
    
        :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-product-carousel {
            --_nb-slide-item: 4;
        }

        @container viewport (768px < inline-size <= 1024px) {
            
            .elementor-widget-product-carousel {
                --_nb-slide-item: 3;
            }
        }

        @container viewport (inline-size <= 767px) {
            
            .elementor-widget-product-carousel {
                --_nb-slide-item: 2;
            }
        }

        @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, .homeslider) .swiper-slide {
                --_nb-slide-item: 2;
            }        
        }

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

            main .posts-slider:not(.swiper-initialized, .slideperview-1) .swiper-slide {
                --_nb-slide-item: 1;
            }
        }
    }

    @layer deliveries-points {

        .deliveries-points-map .gm-style .gm-style-iw-c {
            box-shadow: 0px 7px 20px 0px oklch(from var(--title-color) l c h / 20%) !important;
            border-radius: var(--border-radius) !important;
        }

        .deliveries-points-map .gm-style-iw-d,
        .deliveries-points-map .gm-style-iw{
            overflow: visible !important;
        }

        .deliveries-points-map .gm-style-iw, .gm-style-iw-ch{
            padding:1rem !important;
        }

        .deliveries-points-map .gm-style-iw-chr{
            height:0
        }

        .deliveries-points-map .gm-style-iw-chr button{
            position: absolute;
            right: -25px;
            top: -25px;
            background: var(--primary-color) !important;
            color: var(--white-color) !important;
            height: 24px !important;
            width: 24px !important;
            opacity: 1 !important; 
            border-radius: var(--border-radius) !important;
        }

        .deliveries-points-map .gm-style-iw-chr button span {
            width: 17px !important;
            height: 17px !important;
            margin: 2px 3px 3px 4px !important;
            background: var(--white-color) !important;
        }

        .map-search-fields {
            gap: var(--spacing-3xs);
        }

        .map-search-fields select {
            block-size: 100%;
        }

        .deliveries-points {
            background: var(--white-color);
            border-radius: var(--border-radius-small);
            overflow: hidden;
            margin-block-start: var(--spacing-xs);
        }

        .ino-col-img .deliveries-points {
            border-radius: var(--border-radius);
            inline-size: 100%;
            block-size: 100%;
            margin: 0;
        }

        .ino-col-txt .delivery-point-infos {
            display: flex;
            flex-flow: column;
            gap: var(--spacing-sm)
        }

        .deliveries-points-list {
            overflow: auto;
        }
        
        @-moz-document url-prefix() {   
            
            .deliveries-points-list {
                scrollbar-color: oklch(from var(--title-color) l c h / 20%) transparent;
                scrollbar-width: thin;
            }
        }

        .deliveries-points-list::-webkit-scrollbar {
            background: transparent;
        }

        .deliveries-points-list::-webkit-scrollbar-thumb {
            background: oklch(from var(--title-color) l c h / 20%);
        }

        .deliveries-points-list .delivery-point {
            --_hover-color: oklch(from var(--title-color) l c h / 5%);
            cursor: pointer;
            display: flex;
            flex-flow: column;
            align-items: flex-start;
            gap: var(--spacing-3xs);
            inline-size: 100%;
            text-align: left;
            padding-block: var(--spacing-xs);
            padding-inline: var(--spacing-md);
            transition: var(--transition-default);
        }

        .deliveries-points-list .delivery-point.active {
            background: var(--_hover-color);
        }

        .deliveries-points-list .delivery-point.success {
            background: oklch(from var(--alert-success-color) l c h / .4);
        }
        
        @media only screen and (hover: hover) and (pointer: fine) {
            
            .deliveries-points-list .delivery-point:not(.active):hover {
                background: var(--_hover-color);
            }

            .deliveries-points-list .delivery-point:not(.active):active {
                background: var(--shadow-color);
            }
        }

        @media only screen and (hover: none) and (pointer: coarse) {
            
            .deliveries-points-list .delivery-point:not(.active):hover {
                background: var(--_hover-color);
            }
        }

        .deliveries-points-list .delivery-point:not(:first-child) {
            border-block-start: var(--border-width) solid var(--shadow-color);
        }

        .deliveries-points-list .delivery-point strong {
            color: var(--title-color);
            line-height: 1.2;
        }

        .deliveries-points-list .delivery-point :where(p, a, address, .distance) {
            font: var(--text-weight-normal) var(--text-size-small)/1.2 var(--font-text);
        }

        .deliveries-points-list .delivery-point :is(p, address) {
            color: var(--muted-color);
        }

        .deliveries-points-list .delivery-point .distance {
            color: var(--secondary-color);
        }

        :is(.aa-List, .deliveries-points-list) :where(.delivery-point-action, .delivery-point-action > a) {
            display: flex;
            align-items: center;
            gap: 1ch;
        }

        :is(.aa-List, .deliveries-points-list) .delivery-point-action {
            flex-wrap: wrap;
        }

        :is(.aa-List, .deliveries-points-list) .delivery-point-action a:first-child::after {
            content: "";
            background: var(--muted-color);
            display: block;
            inline-size: var(--border-width);
            block-size: var(--text-size-small);
        }

        .deliveries-points-map gmp-advanced-marker svg :is(circle, path) {
            fill: var(--secondary-color);
        }

        .deliveries-points-map gmp-advanced-marker.active svg :is(circle, path) {
            fill: var(--primary-color);
        }

        .deliveries-points-map gmp-advanced-marker.success svg :is(circle, path) {
            fill: var(--alert-success-color);
        }

        .deliveries-points-map gmp-advanced-marker svg.marker-center :is(circle, path) {
            fill: var(--primary-color);
        }

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

            .deliveries-points {
                block-size: 32rem;
            }

            body:not(.page-module-ino_deliverypoint-deliverypoint) .deliveries-points {
                --_sidebar-width: 20rem;
                display: grid;
                grid-template-columns: var(--_sidebar-width) 1fr;
            }

            .deliveries-points > div {
                block-size: 100%;
            }

            .delivery-point-action > .bouton {
                inline-size: 100%;
            }
        }

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

            .deliveries-points-list {
                block-size: 16rem;
            }

            .deliveries-points-map {
                aspect-ratio: 3 / 2;
            }
        }

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

            .map-search-fields {
                display: grid;
                grid-template-columns: 1fr 1fr auto;
            }
        }

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

            .map-search-fields {
                display: flex;
                flex-flow: column;
            }
        }
    }

    @layer card-items {

        .card {
            background: var(--background-color);
            border-radius: clamp(0rem, var(--border-radius), clamp(2rem, 1.75rem + 1.25vw, 3rem));
        }

        .card__item {
            --_padding-card-item: var(--spacing-md);
            background: var(--white-color);
            border-radius: clamp(0rem, var(--border-radius-small), clamp(1.5rem, 1.375rem + .625vw, 2rem));
            container: card__item / inline-size;
            display: flex;
            flex-flow: column;
            overflow: hidden;
        }

        .card__header {
            padding-block: var(--_padding-card-item) 0;
            padding-inline: var(--_padding-card-item);
        }

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

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

        .card__footer {
            border-radius: 0 0 clamp(0rem, var(--border-radius), clamp(1.5rem, 1.375rem + .625vw, 2rem)) clamp(0rem, var(--border-radius), clamp(1.5rem, 1.375rem + .625vw, 2rem));
            display: flex;
            align-items: stretch;
            justify-content: space-between;
            gap: var(--spacing-xs);
            padding-block: var(--spacing-2xs);
            padding-inline: var(--_padding-card-item);
        }

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

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

        @container card__item (inline-size < 16rem) {

            .card__item {
                --_padding-card-item: var(--spacing-sm);
            }

            .card__item .card__header {
                font-size: var(--text-size-normal);
            }

            .card__item ul.card__body {
                gap: var(--spacing-4xs);
            }

            .card__item ul.card__body li {
                display: flex;
                flex-flow: row wrap;
                align-items: baseline;
                gap: var(--spacing-3xs);
                line-height: 1.3;
            }

            .card__item address,
            .card__item .card__body :is(li, strong) {
                font-size: var(--text-size-small);
            }

            .card__item .card__footer {
                gap: var(--spacing-2xs);
                padding-block: var(--spacing-3xs);
            }

            .card__item .card__footer a {
                font-size: .5rem;
                gap: var(--spacing-4xs);
            }
        }

        .tuile__item {
            border-radius: var(--border-radius);
            container: tuile__item / inline-size;
            display: flex;
            flex-flow: column;
            overflow: hidden;
        }

        .tuile__body {
            --_tuile-spacing: var(--spacing-md);
            display: grid;
            place-content: center;
            gap: var(--_tuile-spacing);
            flex-grow: 1;
            padding: var(--_tuile-spacing);
        }

        @container tuile__item (inline-size < 16rem) {

            .tuile__body {
                --_tuile-spacing: var(--spacing-xs);
            }

            .tuile__title {
                font-size: var(--h4-font-size);
            }

            .tuile__button,
            .tuile__desc * {
                font-size: var(--text-size-small);
            }
        }

        @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-3xs);
        }

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

        .elementor-widget-product-carousel .products-list__block {
            block-size: 100%;
        }

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

        .ino-card-menu-item {
            container: card-menu-item / inline-size;
        }

        :is([class*="-miniature "],[class$="-miniature"]),
        :is([class*="-miniature "],[class$="-miniature"]) [class*="-miniature__desc"] {
            display: flex;
            flex-flow: column;
        }

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

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

        .product-miniature {
            gap: var(--spacing-3xs);
        }

        :is([class*="-miniature "],[class$="-miniature"]):not([class*="-miniature--smaller "],[class$="-miniature--smaller"]) [class*="-miniature__desc"] {
            background: var(--white-color);
            inline-size: 100%;
            flex-grow: 1;
            justify-content: space-between;
            gap: var(--spacing-xs);
            padding: var(--spacing-sm);
        }

        .product-miniature--smaller .product-miniature__desc {
            gap: var(--spacing-2xs);
        }

        .post-miniature--smaller .post-miniature__desc {
            gap: var(--spacing-xs);
        }

        .product-miniature:not(.product-miniature--smaller) .product-miniature__desc {
            border-radius: var(--border-radius);
        }

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

        .product-miniature--smaller:not(.product-miniature--header) {
            display: grid;
            grid-template-columns: 48px auto;
        }

        .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 :is(.product-miniature__pricing, .price) {
            flex-grow: initial;
        }

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

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

        .product-miniature:not(.product-miniature--smaller) .product-miniature__thumb {
            border-radius: clamp(0rem, var(--border-radius), clamp(2rem, 1.5rem + 2.5vw, 4rem));
        }

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

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

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

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

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

        .product-miniature__thumb .bandeau {
            background: oklch(from var(--white-color) l c h / .5);
            display: grid;
            place-items: center;
            pointer-events: none;
            position: absolute;
            inset: 0;
        }

        .product-miniature__thumb .bandeau p {
            background: var(--white-color);
            border-radius: var(--border-radius-small);
            color: var(--alert-danger-color);
            font: var(--text-weight-bold) var(--text-size-small)/1.3 var(--font-text);
            padding-block: var(--spacing-4xs);
            padding-inline: var(--spacing-2xs);
        }

        .wishlist-button-add {
            position: absolute;
            inset-block-start: var(--spacing-xs);
            inset-inline-end: var(--spacing-xs);
            z-index: 2;
        }

        .wishlist-button-add i {
            font-size: var(--h4-font-size);
        }

        .product-miniature__title-reviews,
        main :is([class*="-miniature "],[class$="-miniature"]) a[class*="-miniature__title"],
        main :is([class*="-miniature "],[class$="-miniature"]) a[class*="-miniature__title"] > :is(h2, h3, h4, p) {
            max-inline-size: 100%;
        }

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

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

        :is([class*="-miniature--header "],[class$="-miniature--header"]) a[class*="-miniature__title"] {
            line-height: 1.3;
        }

        .product-miniature__prices-label {
            display: flex;
            gap: var(--spacing-xs);
            inline-size: 100%;
        }

        .product-miniature__label {
            display: flex;
            flex-flow: row wrap;
            align-items: center;
            gap: var(--spacing-3xs);
        }

        .product-miniature__label img {
            aspect-ratio: 1 / 1;
            inline-size: auto;
            block-size: var(--h2-font-size);
            object-fit: contain;
        }

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

        .product-miniature--header .product-miniature__thumb {
            background: var(--white-color);
        }

        :is([class*="-miniature--header "],[class$="-miniature--header"]) [class*="-miniature__desc"] {
            background: var(--background-color);
            border-radius: var(--border-radius-small);
            padding: var(--spacing-sm);
        }

        .product-miniature__price-current {
            display: flex;
            flex-wrap: wrap;
            align-items: baseline;            
            gap: var(--spacing-3xs);
        }

        .product-miniature--header .price:not(.price--regular) {
            font-size: var(--h4-font-size);
        }
        
        .price--regular:empty {
            display: none;
        }
        
        .price--regular:not(:empty) + .price--real,
        .product-miniature__on-sale .price--real {
            color: var(--promo-color);
        }

        .unit-price-by-weight {
            color: var(--muted-color);
            line-height: 1;
        }

        .product-miniature :is(.product-miniature__form, .product-thumb-add-to-cart) {
            display: grid;
            gap: var(--spacing-3xs);
        }

        .product-miniature .product-thumb-add-to-cart {
            grid-template-columns: auto 1fr;
        }

        .product-miniature .product-thumb-add-to-cart .qty {
            inline-size: 5.25rem;
        }

        .product-miniature .product-thumb-add-to-cart .bootstrap-touchspin {
            block-size: 100%;
        }

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

        .product-miniature .bouton {
            padding-inline: calc(var(--spacing-xs) * 1.5);
        }

        @container product (20rem < inline-size <= 23rem) {

            .product-miniature .bouton span {
                font-size: var(--text-size-normal);
            }
        }

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

            .product-miniature__prices-label {
                align-items: flex-end;
                justify-content: space-between;
            }
        }

        @container product (18rem < inline-size <= 20rem) {

            .product-miniature .bouton {
                padding-inline: var(--spacing-xs);
            }

            .product-miniature .bouton span {
                font-size: var(--text-size-small);
            }
        }

        @container product (18rem < inline-size <= 23rem) {

            .product-miniature .bouton i {
                display: none;
            }
        }

        @container product (inline-size <= 18rem) {

            .product-miniature:not(.product-miniature--smaller) {
                gap: var(--spacing-2xs);
            }

            .product-miniature:not(.product-miniature--smaller) .product-miniature__desc {
                padding: var(--spacing-2xs);
            }

            .product-miniature:not(.product-miniature--smaller) :is(.product-miniature__title > *, .price, .bouton) {
                font-size: var(--text-size-normal);
            }

            .product-miniature:not(.product-miniature--smaller) .bandeau {
                padding-block: var(--spacing-4xs);
                padding-inline: var(--spacing-3xs);
            }

            .product-miniature__prices-label {
                flex-flow: column-reverse;
            }

            .product-miniature__price-weight {
                font-size: var(--text-size-small);
            }

            .product-miniature:not(.product-miniature--smaller) .product-miniature__pricing {
                flex-flow: column;
                align-items: flex-start;
                gap: var(--spacing-4xs);
            }

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

            .product-miniature .product-thumb-add-to-cart {
                gap: var(--spacing-4xs);
            }

            .product-miniature:not(.product-miniature--smaller) .bouton {
                padding: var(--spacing-2xs);
            }

            .product-miniature:not(.product-miniature--smaller) .bouton span {
                display: none;
            }
        }

        @container card-menu-item (25rem < inline-size) {

            :is([class*="-miniature--header "],[class$="-miniature--header"]) {
                display: grid;
            }

            .product-miniature--header {
                grid-template-columns: 160px auto;
            }

            .post-miniature--header {
                grid-template-columns: 2fr 3fr;
            }

            :is([class*="-miniature--header "],[class$="-miniature--header"]) [class*="-miniature__thumb"] {
                block-size: 100%;
            }
        }

        .post-miniature {
            border-radius: var(--border-radius);
            overflow: hidden;
        }

        .post-miniature--smaller {
            border-radius: var(--border-radius-small);
        }

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

        .post-miniature :where(time, p, .post-miniature__category) {
            font: var(--text-weight-normal) var(--text-size-small)/1.3 var(--font-text);
        }

        .post-miniature__date-category {
            display: flex;
            flex-wrap: wrap;
            align-items: baseline;
            gap: .25lh 1.5ch;
            margin-block-end: var(--spacing-3xs);
        }

        :is(.post-miniature__date, .post-miniature__category) {
            display: block;
        }

        :is(.post-miniature__date, .post-miniature__category:not(:hover, :active)) {
            color: var(--muted-color);
        }

        .post-miniature .description {
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 3;
            overflow: hidden;
        }

        .post-miniature .post-miniature__title-date + .bouton {
            margin-block-start: var(--spacing-xs);
        }

        .post-miniature .bouton {
            display: flex;
            align-items: flex-end;
            flex-grow: 1;
        }
    }

    @layer calendar {

        .delivery-point-calendar-description {
            margin-block-end: var(--spacing-md);
        }

        :is(.flatpickr-calendar, .carrier-validation) {
            inline-size: min(50rem, 100%);
        }

        .center .flatpickr-calendar {
            margin-inline: auto;
        }

        .flatpickr-innerContainer {
            border-radius: var(--border-radius-small);
            overflow: hidden;
        }

        :is(.flatpickr-months, .flatpickr-weekdaycontainer, .dayContainer) {
            display: grid;
            grid-template-columns: repeat(7, minmax(0,1fr));
            place-items: center;
        }

        .flatpickr-months > * {
            padding: var(--spacing-3xs);
        }

        :is(.flatpickr-weekdaycontainer, .dayContainer) > span {
            display: flex;
            place-content: center;
            inline-size: 100%;
            block-size: 100%;
            padding: var(--spacing-3xs);
        }

        .flatpickr-weekday {
            background: var(--title-color);
            color: var(--background-color);
            font-size: var(--text-size-small);
            text-transform: capitalize;
        }

        .flatpickr-day {
            --_border-style: var(--border-width) solid var(--shadow-color);
            border-block-start: var(--_border-style);
            border-inline-start: var(--_border-style);
            transition: var(--transition-default);
        }

        .flatpickr-day:nth-last-child(-n + 7) {
            border-block-end: var(--_border-style);
        }

        .flatpickr-day:nth-child(7n) {
            border-inline-end: var(--_border-style);
        }

        .flatpickr-day:not(.flatpickr-disabled) {
            background: var(--white-color);
            color: var(--dark-color);
            cursor: pointer;
        }

        .flatpickr-day.flatpickr-disabled {
            background: var(--background-grey);
            color: var(--muted-color);
        }

        .flatpickr-day.selected {
            background: var(--alert-success-color);
            color: var(--light-color);
        }

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

            .flatpickr-day:not(.flatpickr-disabled, .selected):hover {
                background: oklch(from var(--title-color) l c h / .05);
            }

            .flatpickr-day:not(.flatpickr-disabled, .selected):active {
                background: var(--shadow-color);
            }
        }

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

            .flatpickr-day:not(.flatpickr-disabled, .selected):active {
                background: oklch(from var(--title-color) l c h / .05);
            }
        }

        .flatpickr-day:is(.prevMonthDay, .nextMonthDay):not(.selected) {
            color: var(--shadow-color);
        }

        .flatpickr-day:is(.prevMonthDay, .nextMonthDay):not(:hover, :active, .selected, .flatpickr-disabled) {
            background: oklch(from var(--white-color) l c h / .05);
        }

        .flatpickr-month {
            grid-column: 2 / 7;
        }

        .flatpickr-current-month {
            display: flex;
            align-items: baseline;
            gap: .5ch;
        }

        .flatpickr-current-month :is(.cur-month, .cur-year) {
            color: var(--title-color);
            font: var(--text-weight-bold) var(--text-size-normal)/1.1 var(--font-text);
            text-transform: capitalize;
        }

        .flatpickr-months .flatpickr-disabled {
            opacity: 0;
            pointer-events: none;
        }

        :is(.flatpickr-prev-month, .flatpickr-next-month) {
            border-radius: var(--border-radius-small);
            cursor: pointer;
            display: flex;
        }

        .numInputWrapper > span {
            display: none;
        }

        .flatpickr-months :is(.flatpickr-prev-month, .flatpickr-next-month, svg) {
            transition: var(--transition-default);
        }

        .flatpickr-months svg {
            fill: var(--title-color);
            aspect-ratio: 1;
            inline-size: auto;
            block-size: 1.5rem;
            padding: var(--spacing-4xs);
        }

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

            .flatpickr-months :is(.flatpickr-prev-month, .flatpickr-next-month):hover {
                background: oklch(from var(--title-color) l c h / .05);
            }

            .flatpickr-months :is(.flatpickr-prev-month, .flatpickr-next-month):hover svg {
                fill: var(--primary-color);
            }

            .flatpickr-months :is(.flatpickr-prev-month, .flatpickr-next-month):active {
                background: var(--shadow-color);
            }

            .flatpickr-months :is(.flatpickr-prev-month, .flatpickr-next-month):active svg {
                fill: var(--primary-hover-color);
            }
        }

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

            .flatpickr-months :is(.flatpickr-prev-month, .flatpickr-next-month):active {
                background: oklch(from var(--title-color) l c h / .05);
            }

            .flatpickr-months :is(.flatpickr-prev-month, .flatpickr-next-month):active svg {
                fill: var(--primary-color);
            }
        }

        .flatpickr-months .cur-year {
            background: transparent;
            border: none;
        }
    }

    @layer algolia {

        .header-top__block--search {
            container: aa-search-panel / inline-size;
        }

        .autocomplete-algolia-search-panel:not(:empty) {
            --_padding-panel: var(--spacing-lg);
            background: var(--white-color);
            inline-size: calc(100% + var(--_padding-panel) * 2);
            max-block-size: 60vh;
            overflow: auto;
            overscroll-behavior: contain;
            padding-block: var(--_padding-panel) 0;
            position: absolute;
            inset-block-end: 0;
            inset-inline-start: calc(var(--_padding-panel) * -1);
            translate: 0 100%;
        }

        .autocomplete-algolia-search-panel :is(.search-tabs, .aa-PanelLayout) {
            padding-inline: var(--_padding-panel);
        }

        .aa-PanelLayout {
            padding-block-end: var(--_padding-panel);
        }

        .autocomplete-algolia-search-panel .search-tabs {
            border-block-end: var(--border-width) solid var(--shadow-color);
            display: flex;
            overflow-y: auto;
        }

        @-moz-document url-prefix() {
            
            .autocomplete-algolia-search-panel .search-tabs {
                scrollbar-width: none;
            }
        }
        
        .autocomplete-algolia-search-panel .search-tabs::-webkit-scrollbar {
            display: none;
        }

        .autocomplete-algolia-search-panel .nav-item {
            line-height: 1.3;
            white-space: nowrap;
            padding-block-end: var(--spacing-xs);
            padding-inline: var(--spacing-sm);
        }

        .autocomplete-algolia-search-panel .nav-item:has(> .active) {
            border-block-end: calc(var(--border-width) * 2) solid var(--title-color);
        }

        .autocomplete-algolia-search-panel .nav-link {
            text-align: left;
        }

        .aa-Panel {
            display: grid;
            gap: var(--spacing-lg);
        }

        .aa-Source:not(.active),
        .aa-Item .product-price-weight {
            display: none;
        }

        .aa-List {
            --_nb-cols: 2;
            display: grid;
            grid-template-columns: repeat(var(--_nb-cols), minmax(0,1fr));
            gap: var(--spacing-xs);
        }

        .aa-Item {
            container: aa-item / inline-size;
        }

        .aa-SourceFooter:not(:empty) {
            display: flex;
            justify-content: center;
            margin-block-start: var(--_padding-panel);
        }

        @container aa-item (19rem < inline-size) {

            .aa-Item :is([class*="-miniature--header "],[class$="-miniature--header"]) {
                display: grid;
                grid-template-columns: minmax(0,2fr) minmax(0,3fr);
                block-size: 100%;
            }

            .aa-Item :is([class*="-miniature--header "],[class$="-miniature--header"]) .title {
                overflow-wrap: break-word;
            }

            .aa-Item :is([class*="-miniature--header "],[class$="-miniature--header"]) :is([class*="-miniature__thumb"], [class*="-miniature__desc"]) {
                block-size: 100%;
            }

            .aa-Item :is([class*="-miniature--header "],[class$="-miniature--header"]) .product-miniature__prices-label {
                flex-grow: 1;
                align-items: flex-end;
            }
        }

        @container aa-search-panel (inline-size <= 30rem) {
            
            .autocomplete-algolia-search-panel:not(:empty) {
                --_padding-panel: var(--spacing-sm);
            }

            .autocomplete-algolia-search-panel .nav-item {
                padding-block-end: var(--spacing-2xs);
                padding-inline: var(--spacing-xs);
            }
            
            .aa-List {
                --_nb-cols: 1;
            }
        }
    }

    .header-banner:not(:empty) {
        background: var(--secondary-color);
        color-scheme: dark;
        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-normal)/1.1 var(--font-text);
        text-align: center;
        text-wrap: balance;
        text-underline-offset: initial;
    }

    .header-banner-title {
        color: var(--title-color);
        font-weight: var(--text-weight-bold);
    }

    .header {
        box-shadow: 0px -4px 20px 0px oklch(from var(--title-color) l c h / 5%);
        container: main-nav / inline-size;
        position: relative;
        z-index: 50;
    }

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

    :is(.header-top, .header-nav) {
        position: relative;
    }

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

    .header .header-nav-center {
        display: flex;
        justify-content: center;
    }

    body:not(.page-checkout) .header .header-nav {
        display: grid;
        align-items: center;
        gap: 5%;
    }

    .header-top > .container {
        display: flex;
        justify-content: center;
        padding-block: var(--spacing-3xs) var(--spacing-sm);
    }

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

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

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

    .header :is(.header-top__block--search, .desktop-search-from) {
        display: flex;
    }

    .header :is(.header-top__block--search, .desktop-search-from, .search-form) {
        inline-size: 100%;
    }

    .header .desktop-search-from {
        justify-content: flex-end;
    }

    :is(.search-form, .header-top__block--search) {
        position: relative;
        z-index: 1;
    }

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

    .ino-toggle-switch {
        --_switch-width: 6.5rem;
        --_switch-height: 2rem;
        --_switch-padding: var(--spacing-4xs);
        inline-size: var(--_switch-width);
        block-size: var(--_switch-height);
        overflow: hidden;
        position: relative;
        pointer-events: initial;
    }

    :is(.ino-toggle-switch, .ino-toggle-switch-input, .ino-toggle-switch-layer) {
        border-radius: var(--_switch-width);
    }

    .ino-toggle-switch-input {
        cursor: pointer;
        inline-size: 100%;
        block-size: 100%;
        opacity: 0;
        position: relative;
        z-index: 3;
    }

    :is(.ino-toggle-switch-knobs, .ino-toggle-switch-layer) {
        position: absolute;
        inset: 0;
    }

    .ino-toggle-switch-knobs {
        z-index: 2;
    }

    .ino-toggle-switch-layer {
        background: var(--background-grey);
        inline-size: 100%;
        transition: var(--transition-default);
        z-index: 1;
    }

    .ino-toggle-switch-layer::after,
    :is(.ino-toggle-switch-knobs, .ino-toggle-switch-layer)::before {
        inline-size: calc(50% - var(--_switch-padding));
        font: var(--text-weight-bold) var(--text-size-small)/1.3 var(--font-text);
        text-align: center;
        position: absolute;
    }

    :is(.ino-toggle-switch-knobs, .ino-toggle-switch-layer)::before {
        content: "€ HT";
        inset-inline-start: var(--_switch-padding);
    }

    .ino-toggle-switch-layer::after,
    .ino-toggle-switch-input:checked + .ino-toggle-switch-knobs:before {
        content: "€ TTC";
    }

    .ino-toggle-switch-knobs::before {
        background: var(--title-color);
        border-radius: var(--_switch-width);
        block-size: calc(100% - (var(--_switch-padding) * 2));
        color: var(--background-color);
        padding-block: var(--spacing-4xs);
        padding-inline: var(--spacing-3xs);
        inset-block-start: var(--_switch-padding);
        inset-inline-start: var(--_switch-padding);
        transition: .3s ease all, inset-inline-start .3s cubic-bezier(0.18, 0.89, 0.35, 1.15);
    }

    .ino-toggle-switch-input:active + .ino-toggle-switch-knobs:before {
        border-radius: var(--_switch-width);
        inline-size: calc(60% - var(--_switch-padding));
    }

    .ino-toggle-switch-input:checked:active + .ino-toggle-switch-knobs:before {
        margin-inline-start: -10%;
    }

    .ino-toggle-switch-input:checked + .ino-toggle-switch-knobs:before {
        inset-inline-start: 50%;
    }

    .ino-toggle-switch-layer::before,
    .ino-toggle-switch-layer::after {
        color: var(--muted-color);
        inset-block-start: 50%;
        translate: 0 -50%;
    }

    .ino-toggle-switch-layer::after {
        inset-inline-end: var(--_switch-padding);
    }

    .header-top__block--user.logged .header-top__icon::after {
        content: "\e90b" / "";
        background: var(--primary-color);
        border-radius: 100%;
        color: var(--background-color);
        display: flex;
        align-items: center;
        justify-content: center;
        aspect-ratio: 1;
        inline-size: var(--spacing-2xs);
        block-size: auto;
        font-size: var(--spacing-4xs);
        position: absolute;
        inset-block-end: 0;
        inset-inline-end: 0;
        translate: 20% 20%;
    }

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

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

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

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

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

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

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

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

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

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

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

    @-moz-document url-prefix() {

        .header .cart-dropdown__products {
            scrollbar-color: var(--shadow-color) var(--background-color);
            scrollbar-width: thin;
        }
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    .header .level-1 {
        display: flex;
    }

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

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

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

    .header .ino-nav-menu-item.hightlight > .ino-nav-item-link {
        color: var(--secondary-color);
        outline-color: var(--secondary-color);
    }

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

        .header .ino-nav-menu-item.hightlight > .ino-nav-item-link:hover {
            color: var(--secondary-hover-color);
        }

        .header .ino-nav-menu-item.hightlight > .ino-nav-item-link:active {
            color: var(--secondary-active-color);
        }
    }

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

        .header .ino-nav-menu-item.hightlight > .ino-nav-item-link:active {
            color: var(--secondary-hover-color);
        }
    }

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

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

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

        .show-inodia-menu {
            display: none !important;
        }

        .header :is(.header-wrapper, .header-nav) {
            pointer-events: none;
        }

        .header .header-banner,
        .header :where(.header-top__block:not(.header-top__block--eshop), .ino-nav-menu-item-1) {
            pointer-events: initial;
        }

        body:not(.page-checkout) .header .header-nav {
            grid-template-columns: auto 1fr auto;
        }

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

        .header .ino-nav-menu-item-1.ino-nav-menu-default:has(.ino-nav-sub-menu-wrapper) {
            position: relative;
        }

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

        .header .ino-nav-item-link-1.hassubmenu::after {
            content: "\e900" / "";
            color: inherit;
            font: var(--font-icon);
            font-size: var(--text-size-small);
            letter-spacing: 0;
        }

        .header .ino-nav-menu-item-1 > .ino-nav-sub-menu-wrapper {
            display: table;
            opacity: 0;
            visibility: hidden;
            position: absolute;
            translate: 0 100% 1px;
            transition: var(--transition-default);
            z-index: -1;
        }

        .header .ino-nav-menu-item-1:not(.ino-nav-menu-full-width) > .ino-nav-sub-menu-wrapper {
            border-radius: 0 0 clamp(0rem, var(--border-radius), clamp(1.5rem, 1.375rem + .625vw, 2rem)) clamp(0rem, var(--border-radius), clamp(1.5rem, 1.375rem + .625vw, 2rem));
            inline-size: calc(100% + (var(--spacing-sm) * 2));
            inset-block-end: 50%;
            inset-inline-start: calc(var(--spacing-sm) * -1);
        }

        .header .ino-nav-menu-item-1.ino-nav-menu-full-width > .ino-nav-sub-menu-wrapper {
            inline-size: 100%;
            inset-block-end: calc(50% + var(--spacing-3xs));
            inset-inline-start: 0;
            padding-block: calc(var(--spacing-xl) + var(--spacing-3xs)) var(--spacing-xl);
        }

        .header:not(.header-absolute) .ino-nav-menu-item-1 > .ino-nav-sub-menu-wrapper,
        body:not(.page-index) .header-absolute-home .ino-nav-menu-item-1 > .ino-nav-sub-menu-wrapper {
            background: var(--_bg-header);
            box-shadow: 0 16px 24px -16px var(--shadow-color);
        }

        .header:not(.header-absolute) .ino-nav-menu-item-1:not(.ino-nav-menu-full-width) > .ino-nav-sub-menu-wrapper,
        body:not(.page-index) .header-absolute-home .ino-nav-menu-item-1:not(.ino-nav-menu-full-width) > .ino-nav-sub-menu-wrapper {
            padding-block: calc((var(--logo-height) / 2) + var(--padding-header)) var(--spacing-sm);
            padding-inline: var(--spacing-sm);
        }

        .header-absolute:not(.header-absolute-home) .ino-nav-menu-item-1:not(.ino-nav-menu-full-width) > .ino-nav-sub-menu-wrapper,
        .page-index .header-absolute-home .ino-nav-menu-item-1:not(.ino-nav-menu-full-width) > .ino-nav-sub-menu-wrapper {
            padding-block: calc(var(--spacing-sm) * 2) var(--spacing-sm);
            padding-inline: var(--spacing-sm);
        }

        .header .ino-nav-menu-item-1:hover > .ino-nav-sub-menu-wrapper,
        .header .ino-nav-menu-item-1 > .ino-nav-sub-menu-wrapper:focus-within,
        .header .ino-nav-menu-item-1 > :where(.hassubmenu:focus-visible, .ino-nav-wrapper-link:has(a.hassubmenu:focus-visible)) ~ .ino-nav-sub-menu-wrapper {
            opacity: 1;
            visibility: visible;
        }

        .header .ino-nav-menu-item-1.ino-nav-menu-full-width .ino-nav-sub-menu.level-2 {
            --_nb-cols: 3;
            --_nb-rows: calc(round(up, calc(var(--_nb-items) / var(--_nb-cols)), 1) * 2);
            display: grid;
            grid-template: repeat(var(--_nb-rows), auto) / repeat(var(--_nb-cols), minmax(0, 1fr));
            align-items: flex-start;
            column-gap: 4%;
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }

        .header .ino-nav-menu-item-1.ino-nav-menu-full-width .ino-nav-sub-menu.level-2:not(:has(.level-3)) {
            row-gap: var(--spacing-sm);
        }

        .header .ino-nav-menu-item-1.ino-nav-menu-full-width .ino-nav-sub-menu.level-2:has(.level-3) {
            row-gap: var(--spacing-xl);
        }

        .header .ino-nav-menu-full-width :is(.ino-nav-menu-item-2, .ino-nav-sub-menu.level-3) {
            display: flex;
            flex-flow: column;
            align-items: flex-start;
        }

        .header .ino-nav-sub-menu.level-2 .ino-card-menu-item {
            grid-area: 1 / var(--_nb-cols) / calc(var(--_nb-rows) + 1) / -1;
        }

        .header .ino-nav-menu-full-width .ino-nav-menu-item-2 {
            gap: var(--spacing-sm);
        }

        .header .ino-nav-menu-full-width .ino-nav-sub-menu.level-3 {
            gap: var(--spacing-xs);
        }

        .header .ino-nav-menu-item-1:not(.ino-nav-menu-full-width) .ino-nav-menu-item-2:not(:first-child) {
            margin-block-start: var(--spacing-xs);
        }

        .header .ino-nav-menu-item-1.ino-nav-menu-full-width .ino-nav-item-link-2 {
            font: var(--text-weight-bold) var(--text-size-big)/1 var(--font-text);
        }

        .header .ino-nav-menu-default .ino-nav-sub-menu a {
            white-space: nowrap;
        }

        .header .ino-nav-menu-default .ino-nav-sub-menu a,
        .header .ino-nav-menu-full-width .ino-nav-item-link-3 {
            font: var(--text-weight-medium) var(--text-size-normal)/1 var(--font-text);
        }
    }

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

        .hide-inodia-menu {
            display: none !important;
        }

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

        @-moz-document url-prefix() {

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

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

        .ino-modal-container {
            --_padding-container: var(--spacing-2xl);
            display: flex;
            flex-grow: 1;
            align-items: safe flex-start;
            block-size: auto;
            padding-block: var(--_padding-container);
            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;
            text-shadow: none;
            opacity: 1;
            position: absolute;
            inset-block-start: var(--_padding-container);
            inset-inline-end: 0;
            z-index: 1;
        }

        :is(.ino-modal-close, .ino-btn-sub-close) i {
            font-size: var(--h4-font-size);
        }

        .ino-nav-mobile-menu :where(.ino-nav-menu-list-wrapper, ul, li) {
            display: flex;
            flex-flow: column;
            align-items: flex-start;
            inline-size: 100%;
            line-height: 1;
        }

        :is(.display-mobile-navigation, .ino-toggle-switch) {
            margin-block-start: var(--spacing-lg);
        }

        .display-mobile-navigation {
            display: flex;
            flex-wrap: wrap;
            gap: var(--spacing-xs) var(--spacing-xl);
        }

        .display-mobile-navigation a {
            display: flex;
            align-items: center;
            gap: var(--spacing-2xs);
        }

        .ino-nav-mobile-menu li > :where(a[aria-expanded="false"], .ino-nav-wrapper-link:has(button[aria-expanded="false"])) ~ .ino-nav-sub-menu-wrapper {
            visibility: hidden;
            translate: 100%;
        }

        .ino-nav-mobile-menu.center {
            justify-content: center;
        }

        .ino-nav-mobile-menu.center :is(ul, li) {
            align-items: center;
        }

        .ino-nav-mobile-menu.center a {
            text-align: center;
        }

        .ino-nav-menu-logo {
            display: flex;
            margin-block-end: var(--spacing-lg);
        }

        .ino-nav-menu-logo img {
            aspect-ratio: var(--logo-ratio);
            inline-size: auto;
            block-size: var(--logo-height);
        }

        .ino-nav-mobile-menu .ino-nav-menu-item {
            padding-block: var(--spacing-md);
        }

        .ino-nav-mobile-menu .ino-nav-menu-item:not(:first-child) {
            border-block-start: var(--border-width) solid var(--shadow-color);
        }

        .ino-nav-mobile-menu .ino-nav-menu-item-1 {
            gap: var(--spacing-md) var(--spacing-2xs);
        }

        .ino-nav-mobile-menu .ino-nav-menu-item-2 {
            gap: var(--spacing-sm) var(--spacing-2xs);
        }

        .ino-nav-mobile-menu .ino-nav-menu-item-3 {
            gap: var(--spacing-xs) var(--spacing-2xs);
        }

        .ino-nav-mobile-menu .ino-nav-sub-menu-wrapper > :is(.ino-nav-sub-menu, .wrapper-close) {
            inline-size: min(var(--wrapper-size), var(--wrapper-size-mobile));
            margin-inline: auto;
        }

        .ino-nav-mobile-menu :is(a.hassubmenu[href="#"], .ino-nav-wrapper-link) {
            display: flex;
            align-items: baseline;
            justify-content: space-between;
            gap: 1.5ch;
            inline-size: 100%;
        }

        .ino-nav-mobile-menu a.hassubmenu[href="#"]::after {
            content: "\e902" / "";
            font: var(--font-icon);
            letter-spacing: 0;
        }

        .ino-nav-sub-menu-wrapper {
            background: var(--background-color);
            display: flex;
            flex-flow: column;
            align-items: flex-start;
            gap: var(--spacing-lg);
            inline-size: 100%;
            block-size: 100%;
            position: fixed;
            inset: 0;
            padding-block: 6rem;
            transition: var(--transition-default);
            overflow-y: auto;
            z-index: 3;
        }

        .ino-nav-mobile-menu a[aria-expanded="true"]::after,
        .ino-nav-mobile-menu button[aria-expanded="true"] i {
            display: block;
            rotate: 180deg;
        }

        .ino-nav-mobile-menu .ino-nav-item-link {
            font: var(--text-weight-bold) var(--h4-font-size)/1.1 var(--font-text);
        }

        .ino-modal-search form {
            inline-size: min(100%, 45rem);
            margin-inline: auto;
        }

        .ino-nav-mobile-btn-open {
            display: inline-flex;
            margin-inline-end: auto;
        }

        .ino-nav-mobile-btn-open i {
            font-size: clamp(1rem, .875rem + .625vw, 1.5rem);
        }

        .header .search-toggler,
        .header .header-top__block--menu-toggle > .header-link {
            border: none;
            box-shadow: none;
            font-size: 1.5rem;
        }

        .header .header-nav {
            grid-template-columns: 1fr auto 1fr;
            gap: var(--spacing-sm);
        }

        .header .header-top__block--eshop {
            justify-content: flex-end;
        }

        .header-nav > .header-top__block--eshop > :is(.display-tax-method-switch-wrapper, .header-top__block--pickup, .header-top__block--wishlist, .display-tax-method-switch) {
            display: none;
        }

        .algolia-mobile-search {
            position: static;
        }

        .autocomplete-algolia-search-panel:not(:empty) {
            inline-size: 100%;
            inset-block-end: 1px;
            inset-inline-start: 0;
        }

        .aa-Panel {
            width: auto !important;
            max-width: initial !important;
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size)) !important;
            margin-inline: auto;
        }
    }

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

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

    .blockreassurance {
        --_nb-col-reassurances: 4;
        display: grid;
        grid-template-columns: repeat(var(--_nb-col-reassurances), minmax(0, 1fr));
    }

    .blockreassurance {
        gap: var(--spacing-xl) 5%;
        padding-block: 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-sm);
        font: var(--text-weight-bold) var(--text-size-big)/1.1 var(--font-text);
    }

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

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

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

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

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

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

    .block-newsletter {
        display: grid;
        grid-template-columns: repeat(2, minmax(0,1fr));
        column-gap: var(--columns-gap);
    }

    .block-newsletter .newsletter-text p {
        line-height: 1.3;
    }

    .block-newsletter .title {
        color: var(--title-color);
        font: var(--text-weight-bold) var(--h4-font-size)/1.1 var(--font-text);
        letter-spacing: var(--letter-spacing);
        margin-block-end: var(--spacing-2xs);
    }

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

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

    .block-newsletter input[type=email]:focus {
        border-color: var(--primary-color);
        color: var(--title-color);
    }

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

    .footer-container::before {
        content: "";
        background: var(--bandeau);
        inline-size: 100%;
        block-size: var(--spacing-2xl);
    }

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

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

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

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

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

    .footer-container .coordonnees a:not(:hover, :active) {
        color: var(--title-color);
    }

    .footer-container .opening-hours {
        margin-block-start: var(--spacing-sm);
    }

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

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

    .footer-container .block-social li a {
        display: flex;
    }

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

    .footer-links .title {
        color: var(--muted-color);
        font: var(--text-weight-bold) var(--h4-font-size)/1.1 var(--font-text);
        margin-block-end: var(--spacing-sm);
    }

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

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

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

    .footer-links div:not(.block-social) > ul a:not(:hover, :active) {
        color: var(--title-color);
    }

    .post-footer {
        border-block-start: var(--border-width) solid var(--border-color);
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--spacing-sm) 5%;
        padding-block: var(--spacing-xs);
    }

    .post-footer :is(ul, li) {
        display: flex;
        align-items: center;
    }

    .post-footer ul li:not(:last-child)::after {
        content: "";
        background: var(--shadow-color);
        border-radius: 100%;
        display: flex;
        aspect-ratio: 1;
        inline-size: var(--spacing-4xs);
        block-size: auto;
        margin-inline: var(--spacing-2xs);
    }

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

    .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) {
        margin-block-start: var(--spacing-4xl);
    }

    .page-index :is(h1, .h1:not(.elementor-widget-heading)),
    .page-index .elementor-widget-heading.h1 .elementor-heading-title {
        font-size: var(--h1-font-size);
    }

    .homeslider {
        block-size: 40rem;
    }

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

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

    .homeslider__slide img {
        object-fit: cover;
    }

    .homeslider__caption {
        display: flex;
        flex-flow: column;
        align-items: flex-start;
        position: absolute;
        inset: 50% auto auto 50%;
        translate: -50% -50%;
        z-index: 2;
    }

    .homeslider__caption > * {
        max-inline-size: calc(var(--wrapper-size) / 2);
    }

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

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

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

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

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

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

    .homeslider .swiper-pagination .swiper-pagination-bullet-active {
        opacity: 1;
    }

    .section-mea-grid .elementor-row:has(.elementor-top-column) {
        gap: var(--spacing-xs);
    }

    .section-mea-slider .homeslider {
        block-size: clamp(32rem, 28.75rem + 16.25vw, 45rem);
    }

    .section-mea-grid .elementor-top-column > .elementor-column-wrap > .elementor-widget-wrap {
        border-radius: var(--border-radius);
        color-scheme: dark;
        flex-flow: column;
        overflow: hidden;
    }

    .section-mea-grid .elementor-top-column:first-child > .elementor-column-wrap > .elementor-widget-wrap {
        justify-content: center;
        padding: var(--spacing-2xl);
    }

    .section-mea-grid .elementor-top-column:not(:first-child) > .elementor-column-wrap > .elementor-widget-wrap {
        padding: var(--spacing-lg);
    }

    .section-mea-grid .elementor-top-column:not(:first-child) .elementor-widget-heading + .elementor-widget-text-editor {
        margin-block-start: var(--spacing-xs);
    }

    .section-mea-grid .elementor-top-column:not(:first-child) .bouton {
        flex-grow: 1;
    }

    .section-mea-grid .elementor-top-column:not(:first-child) .bouton .elementor-widget-container {
        display: flex;
        align-items: flex-end;
    }

    .section-mea-grid .elementor-widget:not(.elementor-widget-image-carousel, .elementor-widget-image) {
        position: relative;
        z-index: 2;
    }

    .section-mea-grid .elementor-top-column:first-child .elementor-widget:not(.elementor-widget-image-carousel, .elementor-widget-image) {
        inline-size: min(45rem, 100%);
    }

    .section-mea-grid :is(.elementor-widget-image-carousel, .elementor-widget-image) {
        margin: 0;
        position: absolute;
        inset: 0;
        z-index: 0;
    }

    .homeslider figure::before,
    .section-mea-grid :is(.elementor-widget-image-carousel, .elementor-widget-image)::before {
        content: "";
        background: radial-gradient(181.69% 105.66% at 100% 0%, oklch(0% 0 0 / 15%) 0%, oklch(0% 0 0 / 60%) 100%);
        display: flex;
        inline-size: 100%;
        block-size: 100%;
        opacity: .75;
        pointer-events: none;
        position: absolute;
        inset: 0;
        z-index: 2;
    }

    .section-mea-grid :is(.elementor-widget-image-carousel, .elementor-widget-image, .elementor-widget-container, .elementor-carousel-wrapper, .swiper-slide-inner, .elementor-image, img) {
        inline-size: 100%;
        block-size: 100%;
    }

    .section-mea-grid img {
        object-fit: cover;
    }

    .section-jobs .elementor-row:has(.elementor-row) {
        gap: var(--spacing-lg);
    }

    .section-jobs .jobs-wrapper {
        inline-size: 100vw;
    }

    .section-jobs .jobs-wrapper > .elementor-column-wrap > .elementor-widget-wrap {
        --_items-gap: var(--spacing-xs);
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        gap: var(--_items-gap);
        padding-inline: var(--_items-gap);
        scroll-snap-type: inline mandatory;
        scroll-padding-inline: var(--_items-gap);
    }

    @-moz-document url-prefix() {

        .section-jobs .jobs-wrapper > .elementor-column-wrap > .elementor-widget-wrap {
            scrollbar-width: none;
        }
    }

    .section-jobs .jobs-wrapper > .elementor-column-wrap > .elementor-widget-wrap::-webkit-scrollbar {
        display: none;
    }

    .section-jobs .card-job {
        inline-size: 23%;
        flex-shrink: 0;
        margin: 0;
        scroll-snap-align: start end;
    }

    .section-jobs .card-job img {
        aspect-ratio: 2 / 3;
        inline-size: 100%;
        block-size: auto;
        object-fit: cover;
    }

    .jobs-wrapper .elementor-widget-wrap {
        overflow: hidden;
        white-space: nowrap;
        cursor: grab;
        scroll-behavior: smooth;
    }

    .jobs-wrapper .elementor-widget-wrap:active {
        cursor: grabbing;
    }

    .jobs-wrapper .elementor-widget-wrap ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .jobs-wrapper .card-job {
        user-select: none; /
    }

    .jobs-wrapper .elementor-widget-wrap img {
        pointer-events: none;
        user-select: none;
    }

    .section-jobs .card-job :is(.h4, .bouton) {
        padding-inline: var(--spacing-xs);
    }

    .section-jobs .card-job .h4 {
        margin-block-start: var(--spacing-sm) !important;
    }

    .section-jobs .card-job .bouton {
        margin-block-start: var(--spacing-xs) !important;
    }

    .section-mea-grid .elementor-pagination-position-inside .swiper-pagination-bullets {
        z-index: 3;
    }

    .section-categories .elementor-top-column > .elementor-column-wrap > .elementor-widget-wrap {
        --_nb-cols: 3;
        --_gap-cols: var(--spacing-xs);
        grid-template-columns: repeat(var(--_nb-cols), minmax(0,1fr));
        gap: var(--_gap-cols);
    }

    .section-categories h2.elementor-heading-title {
        margin-block-end: calc(var(--spacing-lg) - var(--_gap-cols));
    }

    .section-categories .categorie {
        border-radius: var(--border-radius);
        container: categorie-block / inline-size;
        overflow: hidden;
    }

    .section-categories .categorie :is(.elementor-container, .elementor-widget-wrap) {
        inline-size: 100%;
        block-size: 100%;
    }

    .section-categories .categorie .elementor-inner-column {
        block-size: 100%;
        padding: var(--_padding-card);
    }
    
    .section-categories .categorie .elementor-widget-wrap {
        grid-template: auto auto 1fr / 3fr 2fr;
        gap: var(--spacing-xs);
    }

    .section-categories .category-title .elementor-heading-title {
        font-weight: var(--text-weight-bold);
    }

    .section-categories .categorie .bouton {
        display: flex;
        align-items: flex-end;
    }

    .section-categories .categorie .elementor-widget-image {
        grid-area: 1 / 2 / -1 / -1;
        position: relative;
    }

    .section-categories .elementor-widget-image :is(.elementor-widget-container, .elementor-image) {
        inline-size: 100%;
        block-size: 100%;
    }
    
    .section-categories .categorie img {
        inline-size: calc(100% + var(--_padding-card));
        block-size: calc(100% + var(--_padding-card));
        max-inline-size: initial;
        object-fit: contain;
        object-position: bottom right;
        position: absolute;
        inset-block-end: calc(var(--_padding-card) * -1);
        inset-inline-end: calc(var(--_padding-card) * -1);
    }

    @container categorie-block (24rem < inline-size) {

        .section-categories .categorie .elementor-inner-column {
            --_padding-card: var(--spacing-lg);
        }
    }

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

        .section-categories .categorie .elementor-inner-column {
            --_padding-card: var(--spacing-md);
        }
    }

    .section-ambassadors .elementor-widget-image img {
        block-size: clamp(16rem, 10rem + 30vw, 40rem);
        object-fit: cover;
    }

    .section-ambassadors .elementor-inner-section {
        border-radius: var(--border-radius);
        inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size-medium));
        padding: var(--spacing-2xl);
        margin-block-start: calc(var(--spacing-4xl) * -2);
        margin-inline: auto;
    }

    .section-ambassadors .elementor-widget-wrap:has(.elementor-widget-testimonial-carousel) {
        gap: var(--spacing-lg);
    }

    .section-ambassadors .elementor-widget-image img {
        border-radius: 0;
        inline-size: 100%;
    }

    .section-about .elementor-top-column:has(.elementor-widget-image)::before {
        content: "";
        background: var(--logo-white);
        display: flex;
        aspect-ratio: var(--logo-ratio);
        inline-size: max(12rem, 32%);
        block-size: auto;
        position: absolute;
        inset-block-start: 50%;
        inset-inline-start: 50%;
        translate: -50% -50%;
        z-index: 1;
    }

    .card__item .card__header,
    .search-filters__header,
    .section-contact .block-infos .elementor-widget-heading p {
        color: var(--title-color);
        font: var(--text-weight-bold) var(--text-size-big)/1.1 var(--font-text);
    }

    .page-product .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,
    .page-product .product-variants ul.colors label span {
        border-radius: 100%;
    }

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

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

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

    .prestablog-categories:not(:empty) {
        background: var(--background-grey);
        border-radius: var(--border-radius);
        padding-block: var(--spacing-xs);
        padding-inline: var(--spacing-sm);
        margin-block-end: var(--spacing-sm);
    }

    .prestablog-categories ul {
        display: flex;
        flex-wrap: wrap;
        gap: var(--spacing-xs) var(--spacing-md);
    }

    .page-module-ino_deliverypoint-deliverypoint .ino-col-txt > .ino-column-wrap {
        padding: 0;
    }

    .page-module-ino_deliverypoint-deliverypoint :is(.delivery-point-address, .delivery-point-phone) {
        display: flex;
        align-items: baseline;
        gap: 1ch;
    }

    .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 {
        line-height: 1.3;
        text-align: left;
        margin-block: var(--spacing-xs) calc(var(--spacing-2xs) * 2);
    }

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

    .receipe-infos {
        container: receipe-infos / inline-size;
    }

    .receipe-infos .elementor-widget-wrap {
        --_nb-col-infos: 4;
        display: grid;
        grid-template-columns: repeat(var(--_nb-col-infos), minmax(0, 1fr));
        gap: var(--spacing-md) 5%;
    }

    :is(.elementor-icon-box-title, .elementor-icon-box-description) {
        line-height: 1.3;
    }

    .receipe-infos .elementor-icon-box-wrapper {
        display: flex;
        align-items: center;
        gap: 1.5ch;
    }

    .receipe-infos .elementor-icon-box-wrapper::before {
        color: var(--title-color);
        font: var(--font-icon);
        font-size: var(--h4-font-size);
        letter-spacing: 0;
    }

    .receipe-infos .elementor-icon-box-content {
        display: flex;
        flex-flow: row wrap;
        gap: var(--spacing-3xs) 1ch;
    }

    .receipe-infos .elementor-icon-box-title {
        color: var(--muted-color);
        margin: 0;
    }

    .receipe-infos .elementor-icon-box-description {
        color: var(--title-color);
        font-weight: var(--text-weight-bold);
    }

    @container receipe-infos (inline-size <= 50rem) {
        
        .receipe-infos .elementor-widget-wrap {
            --_nb-col-infos: 2;
        }
    }

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

    .page-module-ino_deliverypoint-deliveriespoints .page-content {
        display: flex;
        flex-flow: column;
        gap: var(--spacing-4xl);
    }

    .page-module-ino_deliverypoint-deliveriespoints .ino-deliveries-points > .h4 {
        display: none;
    }

    .page-module-ino_deliverypoint-deliveriespoints .map-search-fields {
        margin: 0;
    }

    .ets-wishlist-add-to .modal-body {
        display: flex;
        flex-flow: column;
        gap: var(--spacing-sm);
        padding-block: var(--spacing-sm);
    }

    .ets-wishlist-add-to .item-wishlist button {
        display: flex;
        align-items: center;
        gap: 1ch;
        font-size: var(--text-size-big);
    }

    .ets-wishlist-add-to .item-wishlist button::before {
        content: "\e90d" / "";
        font: var(--font-icon);
        font-size: .5rem;
        letter-spacing: 0;
    }

    .ets-wishlist-add-to .ets-wishlist-add-to-new {
        justify-content: flex-end;
    }

    @container viewport (80rem < inline-size) {
        
        .section-mea-grid .elementor-row:has(.elementor-top-column) {
            grid-template-columns: 2fr 1fr;
        }

        .section-mea-grid .elementor-top-column:first-child {
            grid-row: 1 / 3;
        }

        :is(.page-cart, .page-checkout) .cart-grid {
            grid-template-columns: minmax(0,1fr) minmax(var(--sidebar-width), .25fr);
        }
    }

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

        .section-jobs .card-job {
            inline-size: 32%;
        }

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

        .post-footer {
            flex-flow: column;
        }

        .section-categories .elementor-top-column > .elementor-column-wrap > .elementor-widget-wrap {
            --_nb-cols: 2;
            --_gap-cols: var(--spacing-2xs);
        }
    }

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

        .cart-grid-right {
            position: sticky;
            inset-block-start: var(--spacing-lg);
            block-size: fit-content;
        }
        
        .section-contact > .elementor-container > .elementor-row,
        :where(body.layout-left-column, body.layout-right-column, body:has(.content-has-sidebar), .page-wishlist-page):not(.page-category, .page-new-products, .page-search) main > .container {
            display: grid;
            column-gap: var(--columns-gap);
        }
        
        :is(.page-cart, .page-checkout) .cart-grid {
            display: grid;
            column-gap: 5%;
        }
        
        .section-contact > .elementor-container > .elementor-row,
        :where(body.layout-left-column:not(:has(.page-sidebar-left.hide-col)), body:has(.content-has-sidebar), .page-wishlist-page):not(.page-category, .page-new-products, .page-search) 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), .page-wishlist-page):not(.page-category, .page-new-products, .page-search) main > .container > .breadcrumb {
            grid-column: 1 / -1;
        }
        
        .section-sticky-sidebar .sidebar > .elementor-column-wrap,
        :where(body.layout-left-column, body:has(.content-has-sidebar), .page-wishlist-page) .page-sidebar-left :is(.search-filters, .customer-links) {
            max-block-size: calc(100vh - var(--spacing-lg));
            overflow-y: auto;
            overscroll-behavior: contain;
            padding-block-end: var(--spacing-lg);
            position: sticky;
            inset-block-start: var(--spacing-lg);
            z-index: 49;
        }
            
        @-moz-document url-prefix() {

            .section-sticky-sidebar .sidebar > .elementor-column-wrap,
            :where(body.layout-left-column, body:has(.content-has-sidebar), .page-wishlist-page) .page-sidebar-left :is(.search-filters, .customer-links) {
                scrollbar-color: transparent transparent;
            }
        }
        
        .section-sticky-sidebar .sidebar > .elementor-column-wrap::-webkit-scrollbar,
        .section-sticky-sidebar .sidebar > .elementor-column-wrap::-webkit-scrollbar-thumb,
        :where(body.layout-left-column, body:has(.content-has-sidebar), .page-wishlist-page) .page-sidebar-left :is(.search-filters, .customer-links)::-webkit-scrollbar,
        :where(body.layout-left-column, body:has(.content-has-sidebar), .page-wishlist-page) .page-sidebar-left :is(.search-filters, .customer-links)::-webkit-scrollbar-thumb {
            background: transparent;
        }        
         
        .header .header-top__block--menu-toggle .mobile-search {
            display: none;
        }        

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

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

        .section-sticky-sidebar .main-content {
            inline-size: 100%;
        }
    }

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

        .blockreassurance {
            --_nb-col-reassurances: 2;
        }

        .featured-products__navigation {
            display: none;
        }

        .section-categories .elementor-top-column > .elementor-column-wrap > .elementor-widget-wrap {
            --_nb-cols: 1;
        }
    }

    @container viewport (767px < inline-size) {

        .button-view-all-top:has(.elementor-widget-product-carousel) .elementor-widget-wrap {
            display: grid;
            grid-template-columns: 1fr auto;
            align-items: flex-end;
            gap: 0 var(--spacing-md);
        }

        .button-view-all-top:has(.elementor-widget-product-carousel) .elementor-widget:not(.elementor-widget-heading:first-child, .bouton) {
            grid-area: 2 / 1 / 3 / -1;
            inline-size: 100%;
        }

        .button-view-all-top:has(.elementor-widget-product-carousel) .bouton {
            margin: 0;
        }
    }

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

        .button-view-all-top:not(:has(.elementor-widget-product-carousel)) :is(.elementor-widget-wrap, .ino-top-column) {
            display: grid;
            grid-template-columns: 1fr auto;
            align-items: flex-end;
            gap: 0 var(--spacing-md);
        }

        .button-view-all-top:not(:has(.elementor-widget-product-carousel)) :is(.elementor-widget, .ino-widget):not(.elementor-widget-heading:first-child, .ino-widget-heading, .bouton) {
            grid-area: 2 / 1 / 3 / -1;
            inline-size: 100%;
        }

        .button-view-all-top:not(:has(.elementor-widget-product-carousel)) .bouton {
            margin: 0;
        }

        .section-infos-contact .wrapper-infos-contact > .elementor-column-wrap > .elementor-widget-wrap {
            display: grid;
        }

        .address-form .form-fields {
            display: grid;
            grid-template-columns: repeat(2, minmax(0,1fr));
            column-gap: var(--spacing-xs);
        }
    
        .address-form .form-group {
            align-content: baseline;
        }
    }
    
    @container viewport (45rem < inline-size <= 80rem) {
        
        .section-mea-grid .elementor-row:has(.elementor-top-column) {
            grid-template-columns: repeat(2, minmax(0,1fr));
        }

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

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

        .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 .product-slider {
            margin: 0;
        }

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

        .featured-products .product-slider .swiper-slide,
        .elementor-top-section:has(.elementor-widget-product-carousel) .elementor-widget-product-carousel .swiper-slide {
            display: flex;
            block-size: auto;
        }
            
        @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;
        }
        
        .header.show:not(.sticky) .autocomplete-algolia-search-panel {
            display: none;
        }

        .post-footer {
            align-items: flex-start;
        }

        .post-footer :is(ul, li) {
            flex-flow: row wrap;
        }
            
        .blockreassurance {
            grid-template-columns: repeat(2, minmax(0,1fr));
        }
        
        .block-newsletter {
            grid-template-columns: minmax(0,1fr);
            gap: var(--spacing-sm);
        }
        
        .section-jobs .card-job {
            inline-size: 46%;
        }

        .section-actus .posts-slider {
            overflow: initial;
        }
        
        .section-related-posts > .ino-container {
            inline-size: 100%;
        }

        .section-related-posts .ino-widget:not(.wrapper-slider) {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }
            
        .section-infos-contact .elementor-inner-section:not(:first-child) {
            margin-block-start: var(--spacing-sm);
        }
    }

    @container viewport (36rem < inline-size) {
        
        .section-categories .bouton > .elementor-widget-container {
            margin-block-start: var(--spacing-xs);
        }
    }

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

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

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

        .section-categories .elementor-widget-text-editor {
            display: none;
        }  
    }

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

        .section-mea-grid .elementor-top-column:first-child {
            min-block-size: clamp(32rem, 28.75rem + 16.25vw, 45rem);
        }
    }

    @container viewport (30rem < inline-size <= 45rem) {    
           
        .card__items,
        .checkout-addresses-step .address-selector,
        .layout-left-column .page-sidebar-left + .content-wrapper .adresses-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0,1fr));
            gap: var(--items-gap);    
            margin-block-start: var(--spacing-md);
        }
    }

    @container viewport (inline-size <= 30rem) {
            
        :is(.elementor-top-section, .ino-top-section).fond.block:not(.full) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
            padding-inline: 0;
        }
        
        :is(.elementor-top-section, .ino-top-section).fond.block:not(.full) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) > div {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }
        
        :is(.elementor-top-section, .ino-top-section):is(.fond, .supp) + :is(.elementor-top-section, .ino-top-section):is(.fond, .supp) {
            margin-block-start: 0;
        }
        
        :is(.elementor-top-section, .ino-top-section):is(.fond, .supp) {
            margin-block-end: 0;
        }    
        
        :is(.elementor-top-section, .ino-top-section).fond.block:not(.elementor-section-full_width) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
            border-radius: 0;
        }

        .header .header-top__block--eshop {
            gap: var(--spacing-sm);
        }
        
        .header .header-top__block > :is(a, button):not(.bouton) .header-top__icon {
            font-size: 1.25rem;
        }

        .homeslider figure::before, .section-mea-grid :is(.elementor-widget-image-carousel, .elementor-widget-image)::before {
            background: radial-gradient(181.69% 105.66% at 100% 0%, oklch(0% 0 0 / .3) 0%, oklch(0% 0 0 / .8) 100%);
            opacity: 1;
        }

        .section-mea-grid .elementor-top-column > .elementor-column-wrap > .elementor-widget-wrap {
            padding-inline: var(--spacing-md) !important;
        }

        .section-mea-grid .elementor-top-column:first-child > .elementor-column-wrap > .elementor-widget-wrap {
            padding-block: var(--spacing-3xl);
        }

        .section-jobs .card-job {
            inline-size: 92%;
        }

        .section-ambassadors .elementor-inner-section {
            padding: var(--spacing-md);
            margin-block-start: calc(var(--spacing-4xl) * -1);
        }

        .section-categories .categorie .elementor-widget-wrap {
            grid-template-columns: 2fr 1fr;
        }
        
        .receipe-infos .elementor-widget-wrap {
            --_nb-col-reassurances: 2;
        }
    }

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