Outiref
<!doctype html>
<html lang="fr">
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# product: http://ogp.me/ns/product#">
    <meta charset="utf-8"/>
<meta name="title" content="Coussin Agueda sur mesure |Tissu Gaston y Daniela"/>
<meta name="description" content=" Apportez une touche chic et naturelle à votre intérieur grâce à la pose d’un coussin Agueda confectionné sur-mesure avec des finitions impeccables."/>
<meta name="keywords" content=" Coussin Agueda"/>
<meta name="robots" content="INDEX,FOLLOW"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="p:domain_verify" content="aa513b099452a422663e385ef0b121b1"/>
<title>Coussin Agueda sur mesure |Tissu Gaston y Daniela</title>
        <link rel="stylesheet" type="text/css" media="all" href="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/css/styles.css" />
<link rel="stylesheet" type="text/css" media="all" href="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/css/product.css" />
<link rel="stylesheet" type="text/css" media="all" href="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/css/jquery.nice-number.css" />
<link rel="stylesheet" type="text/css">
<script type="text/javascript" async="async" src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/Dbm_Axeptio/js/checkbox.min.js"></script>
<script type="text/javascript" src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/Mesrideaux_Ga4Datalayer/js/ga4-datalayer.min.js"></script>
<script type="text/javascript" src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/Mesrideaux_Ga4Datalayer/js/catalog-tracking.min.js"></script>
<script type="text/javascript" src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/Mesrideaux_Ga4Datalayer/js/promotion-tracking.min.js"></script>
<script type="text/javascript" src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/js/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/js/slick.min.js"></script>
<script type="text/javascript" src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/Emipro_CosuiteID/js/customoption.min.js"></script>
<script type="text/javascript" src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/Mesrideaux_Ga4Datalayer/js/wishlist-tracking.min.js"></script>
<script type="text/javascript" src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/Mesrideaux_Ga4Datalayer/js/catalog-variant-item.min.js"></script>
<script type="text/javascript" src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/Estarter_AjaxCart/js/jquery.magnific-popup.min.js"></script>
<script type="text/javascript" src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/Estarter_AjaxCart/js/ajaxAddToCart.min.js"></script>
<script type="text/javascript" src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/js/magento-ui-modal-shim.min.js"></script>
<script type="text/javascript" src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/Magento_Catalog/js/catalog-add-to-cart.min.js"></script>
<script type="text/javascript" src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/Magento_Catalog/js/validate-product.min.js"></script>
<script type="text/javascript" src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/Magento_Catalog/js/price-options.min.js"></script>
<script type="text/javascript" src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/Magento_Catalog/js/magento-init-bridge.min.js"></script>
<script type="text/javascript" src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/js/product-view.min.js"></script>
<script type="text/javascript" src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/js/jquery.nice-number.min.js"></script>
<script type="text/javascript" src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/js/product.min.js"></script>
<script type="text/javascript" defer="defer" src="//t4.my-probance.one/webtrax/rsc/mesrideaux.js"></script>
<script type="text/javascript" defer="defer" src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/Doofinder_Feed/js/df_add_to_cart_hyva.min.js"></script>
<link rel="canonical" href="https://www.mesrideaux.fr/createurs/gaston-y-daniela/coussin-agueda" />
<link rel="icon" type="image/x-icon" href="https://cdn4.mesrideaux.fr/favicon/default/favicon.svg" />
<link rel="shortcut icon" type="image/x-icon" href="https://cdn4.mesrideaux.fr/favicon/default/favicon.svg" />
    <script>
    window.dataLayer = window.dataLayer || [];
</script>
<script>
sessionStorage.setItem('referrer', sessionStorage.getItem('referrer') || document.referrer);
    var referrer = sessionStorage.getItem('referrer');
    window.dataLayer = window.dataLayer || [];
    dataLayer.push({
        'Referrer': referrer,
    });
    window._axcb = window._axcb || [];
    window._axcb.push(function (sdk) {
        sdk.on('cookies:complete', function (choices) {
            sessionStorage.removeItem('referrer');
        });
    });
</script><!-- Google Tag Manager -->
<script>
    window.dataLayer = window.dataLayer || [];
    window.gtag = window.gtag || function () {
        window.dataLayer.push(arguments);
    };
</script>
<!-- GTM loader disabled: Cloudflare Google Tag Gateway serves /metrics/
<script>
    (function (w, d, s, l, i) {
        w[l] = w[l] || [];
        w[l].push({'gtm.start': new Date().getTime(), event: 'gtm.js'});
        var f = d.getElementsByTagName(s)[0],
            j = d.createElement(s),
            dl = l !== 'dataLayer' ? '&l=' + l : '';
        j.async = true;
        j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
        f.parentNode.insertBefore(j, f);
    })(window, document, 'script', 'dataLayer', '');
</script>
-->
<!-- End Google Tag Manager -->
<script>
    var BASE_URL = 'https://www.mesrideaux.fr/';
    var THEME_PATH = 'https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR';
    var COOKIE_CONFIG = {
        "expires": null,
        "path": "\u002F",
        "domain": ".mesrideaux.fr",
        "secure": true,
        "lifetime": "3600",
        "cookie_restriction_enabled": false    };
    var CURRENT_STORE_CODE = 'default';
    var CURRENT_WEBSITE_ID = '1';

    window.hyva = window.hyva || {}

    window.cookie_consent_groups = window.cookie_consent_groups || {}
    window.cookie_consent_groups['necessary'] = true;

    window.cookie_consent_config = window.cookie_consent_config || {};
    window.cookie_consent_config['necessary'] = [].concat(
        window.cookie_consent_config['necessary'] || [],
        [
            'user_allowed_save_cookie',
            'form_key',
            'mage-messages',
            'private_content_version',
            'mage-cache-sessid',
            'last_visited_store',
            'section_data_ids'
        ]
    );
    //# sourceURL=hyva-variables.js
</script>
<script>
    (function( hyva, undefined ) {

        function lifetimeToExpires(options, defaults) {

            const lifetime = options.lifetime || defaults.lifetime;

            if (lifetime) {
                const date = new Date;
                date.setTime(date.getTime() + lifetime * 1000);
                return date;
            }

            return null;
        }

        function generateRandomString() {

            const allowedCharacters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
                length = 16;

            let formKey = '',
                charactersLength = allowedCharacters.length;

            for (let i = 0; i < length; i++) {
                formKey += allowedCharacters[Math.round(Math.random() * (charactersLength - 1))]
            }

            return formKey;
        }

        const sessionCookieMarker = {noLifetime: true}

        const cookieTempStorage = {};

        const internalCookie = {
            get(name) {
                const v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');
                return v ? v[2] : null;
            },
            set(name, value, days, skipSetDomain) {
                let expires,
                    path,
                    domain,
                    secure,
                    samesite;

                const defaultCookieConfig = {
                    expires: null,
                    path: '/',
                    domain: null,
                    secure: false,
                    lifetime: null,
                    samesite: 'lax'
                };

                const cookieConfig = window.COOKIE_CONFIG || {};

                expires = days && days !== sessionCookieMarker
                    ? lifetimeToExpires({lifetime: 24 * 60 * 60 * days, expires: null}, defaultCookieConfig)
                    : lifetimeToExpires(window.COOKIE_CONFIG, defaultCookieConfig) || defaultCookieConfig.expires;

                path = cookieConfig.path || defaultCookieConfig.path;
                domain = !skipSetDomain && (cookieConfig.domain || defaultCookieConfig.domain);
                secure = cookieConfig.secure || defaultCookieConfig.secure;
                samesite = cookieConfig.samesite || defaultCookieConfig.samesite;

                document.cookie = name + "=" + encodeURIComponent(value) +
                    (expires && days !== sessionCookieMarker ? '; expires=' + expires.toGMTString() : '') +
                    (path ? '; path=' + path : '') +
                    (domain ? '; domain=' + domain : '') +
                    (secure ? '; secure' : '') +
                    (samesite ? '; samesite=' + samesite : 'lax');
            },
            isWebsiteAllowedToSaveCookie() {
                const allowedCookies = this.get('user_allowed_save_cookie');
                if (allowedCookies) {
                    const allowedWebsites = JSON.parse(unescape(allowedCookies));

                    return allowedWebsites[CURRENT_WEBSITE_ID] === 1;
                }
                return false;
            },
            getGroupByCookieName(name) {
                const cookieConsentConfig = window.cookie_consent_config || {};
                let group = null;
                for (let prop in cookieConsentConfig) {
                    if (!cookieConsentConfig.hasOwnProperty(prop)) continue;
                    if (cookieConsentConfig[prop].includes(name)) {
                        group = prop;
                        break;
                    }
                }
                return group;
            },
            isCookieAllowed(name) {
                const cookieGroup = this.getGroupByCookieName(name);
                return cookieGroup
                    ? window.cookie_consent_groups[cookieGroup]
                    : this.isWebsiteAllowedToSaveCookie();
            },
            saveTempStorageCookies() {
                for (const [name, data] of Object.entries(cookieTempStorage)) {
                    if (this.isCookieAllowed(name)) {
                        this.set(name, data['value'], data['days'], data['skipSetDomain']);
                        delete cookieTempStorage[name];
                    }
                }
            }
        };

        hyva.getCookie = (name) => {
            const cookieConfig = window.COOKIE_CONFIG || {};

            if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) {
                return cookieTempStorage[name] ? cookieTempStorage[name]['value'] : null;
            }

            return internalCookie.get(name);
        }

        hyva.setCookie = (name, value, days, skipSetDomain) => {
            const cookieConfig = window.COOKIE_CONFIG || {};

            if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) {
                cookieTempStorage[name] = {value, days, skipSetDomain};
                return;
            }
            return internalCookie.set(name, value, days, skipSetDomain);
        }


        hyva.setSessionCookie = (name, value, skipSetDomain) => {
            return hyva.setCookie(name, value, sessionCookieMarker, skipSetDomain)
        }

        hyva.getBrowserStorage = () => {
            const browserStorage = window.localStorage || window.sessionStorage;
            if (!browserStorage) {
                console.warn('Browser Storage is unavailable');
                return false;
            }
            try {
                browserStorage.setItem('storage_test', '1');
                browserStorage.removeItem('storage_test');
            } catch (error) {
                console.warn('Browser Storage is not accessible', error);
                return false;
            }
            return browserStorage;
        }

        hyva.postForm = (postParams) => {
            const form = document.createElement("form");

            let data = postParams.data;

            if (! postParams.skipUenc && ! data.uenc) {
                data.uenc = btoa(window.location.href);
            }
            form.method = "POST";
            form.action = postParams.action;

            Object.keys(postParams.data).map(key => {
                const field = document.createElement("input");
                field.type = 'hidden'
                field.value = postParams.data[key];
                field.name = key;
                form.appendChild(field);
            });

            const form_key = document.createElement("input");
            form_key.type = 'hidden';
            form_key.value = hyva.getFormKey();
            form_key.name="form_key";
            form.appendChild(form_key);

            document.body.appendChild(form);

            form.submit();
        }

        hyva.getFormKey = function () {
            let formKey = hyva.getCookie('form_key');

            if (!formKey) {
                formKey = generateRandomString();
                hyva.setCookie('form_key', formKey);
            }

            return formKey;
        }

        hyva.formatPrice = (value, showSign, options = {}) => {
            const groupSeparator = options.groupSeparator;
            const decimalSeparator = options.decimalSeparator
            delete options.groupSeparator;
            delete options.decimalSeparator;
            const formatter = new Intl.NumberFormat(
                'fr\u002DFR',
                Object.assign({
                    style: 'currency',
                    currency: 'EUR',
                    signDisplay: showSign ? 'always' : 'auto'
                }, options)
            );
            return (typeof Intl.NumberFormat.prototype.formatToParts === 'function') ?
                formatter.formatToParts(value).map(({type, value}) => {
                    switch (type) {
                        case 'currency':
                            return '\u20AC' || value;
                        case 'minusSign':
                            return '- ';
                        case 'plusSign':
                            return '+ ';
                        case 'group':
                            return groupSeparator !== undefined ? groupSeparator : value;
                        case 'decimal':
                            return decimalSeparator !== undefined ? decimalSeparator : value;
                        default :
                            return value;
                    }
                }).reduce((string, part) => string + part) :
                formatter.format(value);
        }

        const formatStr = function (str, nStart) {
            const args = Array.from(arguments).slice(2);

            return str.replace(/(%+)([0-9]+)/g, (m, p, n) => {
                const idx = parseInt(n) - nStart;

                if (args[idx] === null || args[idx] === void 0) {
                    return m;
                }
                return p.length % 2
                    ? p.slice(0, -1).replace('%%', '%') + args[idx]
                    : p.replace('%%', '%') + n;
            })
        }

        hyva.str = function (string) {
            const args = Array.from(arguments);
            args.splice(1, 0, 1);

            return formatStr.apply(undefined, args);
        }

        hyva.strf = function () {
            const args = Array.from(arguments);
            args.splice(1, 0, 0);

            return formatStr.apply(undefined, args);
        }

        /**
         * Take a html string as `content` parameter and
         * extract an element from the DOM to replace in
         * the current page under the same selector,
         * defined by `targetSelector`
         */
        hyva.replaceDomElement = (targetSelector, content) => {
            // Parse the content and extract the DOM node using the `targetSelector`
            const parser = new DOMParser();
            const doc = parser.parseFromString(content, 'text/html');
            const contentNode = doc.querySelector(targetSelector);

            // Bail if content or target can't be found
            if (!contentNode || !document.querySelector(targetSelector)) {
                return;
            }

                        hyva.activateScripts(contentNode);
            
            // Replace the old DOM node with the new content
            document.querySelector(targetSelector).replaceWith(contentNode);

            // Reload customerSectionData and display cookie-messages if present
            window.dispatchEvent(new CustomEvent("reload-customer-section-data"));
            hyva.initMessages();
        }

        hyva.removeScripts = (contentNode) => {
            const scripts = contentNode.getElementsByTagName('script');
            for (let i = 0; i < scripts.length; i++) {
                scripts[i].parentNode.removeChild(scripts[i]);
            }
            const templates = contentNode.getElementsByTagName('template');
            for (let i = 0; i < templates.length; i++) {
                const container = document.createElement('div');
                container.innerHTML = templates[i].innerHTML;
                hyva.removeScripts(container);
                templates[i].innerHTML = container.innerHTML;
            }
        }

        hyva.activateScripts = (contentNode) => {
            // Create new array from HTMLCollection to avoid mutation of collection while manipulating the DOM.
            const scripts = Array.from(contentNode.getElementsByTagName('script'));

            // Iterate over all script tags to duplicate+inject each into the head
            for (const original of scripts) {
                const script = document.createElement('script');
                original.type && (script.type = original.type);
                script.innerHTML = original.innerHTML;

                // Remove the original (non-executing) script from the contentNode
                original.parentNode.removeChild(original)

                // Add script to head
                document.head.appendChild(script);
            }

            return contentNode;
        }

        const replace = {['+']: '-', ['/']: '_', ['=']: ','};
        hyva.getUenc = () => btoa(window.location.href).replace(/[+/=]/g, match => replace[match]);

        let currentTrap;

        const focusableElements = (rootElement) => {
            const selector = 'button, [href], input, select, textarea, details, [tabindex]:not([tabindex="-1"]';
            return Array.from(rootElement.querySelectorAll(selector))
                .filter(el => {
                    return el.style.display !== 'none'
                        && !el.disabled
                        && el.tabIndex !== -1
                        && (el.offsetWidth || el.offsetHeight || el.getClientRects().length)
                })
        }

        const focusTrap = (e) => {
            const isTabPressed = e.key === 'Tab' || e.keyCode === 9;
            if (!isTabPressed) return;

            const focusable = focusableElements(currentTrap)
            const firstFocusableElement = focusable[0]
            const lastFocusableElement = focusable[focusable.length - 1]

            e.shiftKey
                ? document.activeElement === firstFocusableElement && (lastFocusableElement.focus(), e.preventDefault())
                : document.activeElement === lastFocusableElement && (firstFocusableElement.focus(), e.preventDefault())
        };

        hyva.releaseFocus = (rootElement) => {
            if (currentTrap && (!rootElement || rootElement === currentTrap)) {
                currentTrap.removeEventListener('keydown', focusTrap)
                currentTrap = null
            }
        }
        hyva.trapFocus = (rootElement) => {
            if (!rootElement) return;
            hyva.releaseFocus()
            currentTrap = rootElement
            rootElement.addEventListener('keydown', focusTrap)
            const firstElement = focusableElements(rootElement)[0]
            firstElement && firstElement.focus()
        }

        hyva.safeParseNumber = (rawValue) => {
            const number = rawValue ? parseFloat(rawValue) : null;

            return Array.isArray(number) || isNaN(number) ? rawValue : number;
        }

        const toCamelCase = s => s.split('_').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join('');
        hyva.createBooleanObject = (name, value = false, additionalMethods = {}) => {

            const camelCase = toCamelCase(name);
            const key = '__hyva_bool_' + name

            return new Proxy(Object.assign(
                additionalMethods,
                {
                    [key]: !!value,
                    [name]() {return !!this[key]},
                    ['!' + name]() {return !this[key]}, // @deprecated This does not work with non-CSP Alpine
                    ['not' + camelCase]() {return !this[key]},
                    ['toggle' + camelCase]() {this[key] = !this[key]},
                    [`set${camelCase}True`]() {this[key] = true},
                    [`set${camelCase}False`]() {this[key] = false},
                }
            ), {
                set(target, prop, value) {
                    return prop === name
                        ? (target[key] = !!value)
                        : Reflect.set(...arguments);
                }
            })
        }

                hyva.alpineInitialized = (fn) => window.addEventListener('alpine:initialized', fn, {once: true})
        window.addEventListener('alpine:init', () => Alpine.data('{}', () => ({})), {once: true});
                window.addEventListener('user-allowed-save-cookie', () => internalCookie.saveTempStorageCookies())

    }( window.hyva = window.hyva || {} ));
    //# sourceURL=hyva.js
</script>
<script type="speculationrules">
{
    "tag": "Hyva Theme",
    "prefetch": [{
        "source": "document",
        "where": {
            "and": [
                { "href_matches": "/*" },
                { "not": {
                    "href_matches": ["/customer/*","/search/*","/sales/*","/wishlist/*","/checkout/*","/paypal/*","/newsletter/*","/stores/store/redirect/*"]                }},
                { "not": {
                    "selector_matches": [".no-preload", ".do-not-prerender", "[download]", "[rel~=nofollow]", "[target]"]
                }}
            ]
        },
        "eagerness": "moderate"
    }]
}
</script>

<script>
    const viewTransitionToGalleryPageStorage = 'view-transition-to-gallery-page-type';
    const setTransitionNameBetweenGallery = async (url, promise) => {
        if (window.matchMedia('(prefers-reduced-motion)').matches) return;

        const productGallery = document.getElementById('gallery-main');
        const productListItem = document.querySelector(`.product-item-photo[href="${url}"]`);
        const targetElement = productListItem || productGallery;

        if (targetElement) {
            targetElement.style.viewTransitionName = 'view-transition-to-gallery';

            await promise;
            targetElement.style.viewTransitionName = '';
        }
    };

    const getViewTransitionToGalleryPageIsProduct = () => {
        return document.body.classList.contains('catalog-product-view') ? 'product-page' : 'other'
    }

    window.addEventListener('pageswap', async (e) => {
        if (!e.viewTransition) return;
        const pageType = getViewTransitionToGalleryPageIsProduct();
        const target = new URL(e.activation.entry.url);

        sessionStorage.setItem(viewTransitionToGalleryPageStorage, pageType);
        setTransitionNameBetweenGallery(target.href, e.viewTransition.finished);
    });

    window.addEventListener('pagereveal', async (e) => {
        if (!e.viewTransition || (window.navigation && !window.navigation.activation.from)) return;
        const previousPageType = sessionStorage.getItem(viewTransitionToGalleryPageStorage);
        const pageType = getViewTransitionToGalleryPageIsProduct();
        sessionStorage.removeItem(viewTransitionToGalleryPageStorage);

        if (previousPageType === pageType) return;
        const target = new URL(window.navigation.activation.from.url);
        setTransitionNameBetweenGallery(target.href, e.viewTransition.ready);
    });
</script>

<meta property="og:type" content="product" />
<meta property="og:title"
      content="COUSSIN&#x20;AGUEDA" />
<meta property="og:image"
      content="https://cdn4.mesrideaux.fr/catalog/product/cache/6517c62f5899ad6aa0ba23ceb3eeff97/c/o/coussin-agueda-vue-large.webp" />
<meta property="og:description"
      content="Envie&#x20;de&#x20;r&#xE9;veiller&#x20;votre&#x20;canap&#xE9;,&#x20;d&#x2019;adoucir&#x20;votre&#x20;fauteuil&#x20;ou&#x20;de&#x20;donner&#x20;du&#x20;relief&#x20;&#xE0;&#x20;votre&#x20;lit&#x20;avec&#x20;une&#x20;pi&#xE8;ce&#x20;vraiment&#x20;&#xE9;l&#xE9;gante&#x20;&#x3F;&#x20;Le&#x20;coussin&#x20;Agueda&#x20;sur&#x20;mesure&#x20;est&#x20;pens&#xE9;&#x20;pour&#x20;sublimer&#x20;votre&#x20;d&#xE9;coration&#x20;avec&#x20;un&#x20;rendu&#x20;raffin&#xE9;,&#x20;l&#xE9;ger&#x20;et&#x20;parfaitement&#x20;ajust&#xE9;&#x20;&#xE0;&#x20;votre&#x20;int&#xE9;rieur.&#x20;Gr&#xE2;ce&#x20;&#xE0;&#x20;une&#x20;fabrication&#x20;&#xE0;&#x20;la&#x20;demande,&#x20;vous&#x20;choisissez&#x20;les&#x20;bonnes&#x20;dimensions,&#x20;le&#x20;style&#x20;et&#x20;les&#x20;finitions&#x20;pour&#x20;obtenir&#x20;un&#x20;coussin&#x20;d&#xE9;coratif&#x20;qui&#x20;s&#x2019;int&#xE8;gre&#x20;naturellement&#x20;&#xE0;&#x20;votre&#x20;ambiance&#x20;&#x28;salon&#x20;contemporain&#x20;ou&#x20;chambre&#x20;plus&#x20;cocooning&#x29;.&#x0D;&#x0A;&#xA0;" />
<meta property="og:url" content="https://www.mesrideaux.fr/createurs/gaston-y-daniela/coussin-agueda" />
    <meta property="product:price:amount" content="217"/>
    <meta property="product:price:currency"
      content="EUR"/>
<meta property="product:availability" content="in&#x20;stock"/>

<link rel="preload" href="https://cdn4.mesrideaux.fr/catalog/product/cache/207e23213cf636ccdef205098cf3c8a3/c/o/coussin-agueda-vue-large.webp" as="image">
<script>
    (function () {
        let amSwiperProcessed = false;

        window.addEventListener('load-amswiper', () => {
            if (amSwiperProcessed) {
                window?.Swiper && window.dispatchEvent(new CustomEvent('amswiper-loaded', {}));
                return;
            }

            const script = document.createElement('script');
            script.src = 'https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/Amasty_LibSwiperJs/js/vendor/swiper/swiper.min.js';
            script.async = true;
            document.body.appendChild(script);

            amSwiperProcessed = true;

            script.onload = () => {
                window.dispatchEvent(new CustomEvent('amswiper-loaded', {}));
            }

            const stylesHref = 'https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/Amasty_LibSwiperJs/vendor/swiper/swiper.min.css';

            if (document.querySelector(`link[href="${stylesHref}"]`)) {
                return;
            }

            const styles = document.createElement('link');
            styles.rel = 'stylesheet';
            styles.type = 'text/css';
            styles.href = stylesHref;

            document.head.appendChild(styles);
        });
    }());
</script>
<script nonce="cnA4cXpuMGdhbDVzNmNnemNtd2tlZ3ltcnR6aHpiY3o=">
    var dfPageType = "product";
    var dfProductId = "29996";
    var dfCategoryName = "Cr\u00e9ateurs > Gaston y Daniela";
</script>
    <script nonce="cnA4cXpuMGdhbDVzNmNnemNtd2tlZ3ltcnR6aHpiY3o=">
        (function(w, k) {w[k] = window[k] ||
        function () { (window[k].q = window[k].q || []).push(arguments) }})(window, "doofinderApp")

        doofinderApp("config", "language", "fr")
        doofinderApp("config", "currency", "EUR")
        doofinderApp("config", "priceName", "EUR")
    </script>
<script src="https://eu1-config.doofinder.com/2.x/5d359ac0-164d-4242-a2c0-4393cf13f41a.js" async></script></head>
<body id="html-body" class="catalog-product-view product-coussin-agueda page-layout-1column">
<input name="form_key" type="hidden" value="1hz3gWuNnl2g4AD3" />
    <noscript>
        <section
            class="message global noscript border-b-2 border-blue-500 bg-blue-50 shadow-none m-0 px-0 rounded-none font-normal"
            aria-labelledby="messageGlobalNoScriptMessage"
        >
            <div class="container text-center">
                <p id="messageGlobalNoScriptMessage">
                    <strong>Javascript est désactivé dans votre navigateur.</strong>
                    <span>
                        Pour une expérience optimale sur notre site, veuillez autoriser Javascript sur votre navigateur.                    </span>
                </p>
            </div>
        </section>
    </noscript>


<script>
    document.body.addEventListener('touchstart', () => {}, {passive: true})
</script>
<div class="page-wrapper"><header class="page-header"><a class="action skip sr-only focus:not-sr-only focus:absolute focus:z-40 focus:bg-white   contentarea"
   href="#contentarea">
    <span>
        Aller au contenu    </span>
</a>
<script>
    function initHeader() {
        return {
            searchOpen: false,
            cart: {},
            isCartOpen: false,
            getData(data) {
                this.cart = data.cart ?? {};
            },
            summaryCount() {
                return this.cart.summary_count || 0;
            },
            cartAriaLabel() {
                return 'Toggle\u0020minicart, ' +
                    (this.isCartEmpty() ? 'Votre\u0020panier\u0020est\u0020vide' : (
                        Math.abs(this.summaryCount()) > 1 ?
                            hyva.str('\u00251\u0020articles', this.summaryCount()) :
                            hyva.str('\u00251\u0020item', this.summaryCount())
                    ))
            },
            isCartEmpty() {
                return !this.cart.summary_count;
            },
            toggleCart() {
                this.isCartOpen = this.$event.detail?.isOpen ?? true;
                this.$dispatch('toggle-cart', { isOpen: this.isCartOpen })
            },
            toggleSearch() {
                this.searchOpen = !this.searchOpen;
                this.$dispatch('search-open');
            },
            searchClose() {
                this.searchOpen = false;
                this.$refs.searchButton.focus();
            },
            searchEscape() {
                this.searchClose();
            },
            initBannerBelowHeader() {
                if (typeof jQuery === 'undefined' || typeof jQuery.fn.slick === 'undefined') {
                    return;
                }

                const el = this.$refs.bannerBelowHeaderItems;

                if (!el || jQuery(el).hasClass('slick-initialized')) {
                    return;
                }

                jQuery(el).slick({
                    slidesToShow: 1,
                    slidesToScroll: 1,
                    arrows: false,
                    dots: false,
                    autoplay: true,
                    autoplaySpeed: 2000,
                    infinite: true,
                    adaptiveHeight: true,
                    vertical: window.innerWidth >= 768,

                    // Handle window resizing to switch vertical/horizontal mode
                    responsive: [
                        {
                            breakpoint: 768,
                            settings: {
                                vertical: false,
                                verticalSwiping: false,
                                cssEase: 'linear',
                                speed: 11500,
                                autoplay: true,
                                autoplaySpeed: 0,
                                slidesToShow: 1,
                                slidesToScroll: 1,
                                arrows: false,
                                dots: false,
                                infinite: true,
                                // Make it act like a marquee (continuous scroll)
                                variableWidth: true,
                                centerMode: false,
                                swipe: false,
                                touchMove: false,
                            }
                        },
                        {
                            breakpoint: 9999, // essentially for all above
                            settings: {
                                vertical: true,
                                verticalSwiping: true,
                            }
                        }
                    ]
                });
            }
        }
    }
    // Ajoute la classe 'fixe-header' au scroll selon la version (desktop/mobile)
    function handleHeaderFixedOnScroll() {
        const header = document.getElementById('header');
        if (!header) return;

        const container = header.querySelector(':scope > .container');
        const DESKTOP_BREAKPOINT = 1024;
        // Marge anti-rebond iOS Safari : évite le basculement rapide fixe/non-fixe
        const SCROLL_HYSTERESIS = 10;
        const MOBILE_MIN_SCROLL = 10;

        let isFixed = false;
        let rafId = null;
        let scrollThreshold = 0;
        let headerBottomThreshold = 0;

        function cacheScrollThresholds() {
            const rect = header.getBoundingClientRect();
            headerBottomThreshold = rect.bottom + window.scrollY;

            if (container) {
                const containerRect = container.getBoundingClientRect();
                scrollThreshold = containerRect.top + window.scrollY;
            }
        }

        function setFixedHeader(fixed) {
            if (fixed === isFixed) return;

            isFixed = fixed;
            header.classList.toggle('fixe-header', fixed);

            if (container) {
                header.style.setProperty(
                    '--header-fixed-spacer',
                    fixed ? container.offsetHeight + 'px' : '0px'
                );
            }
        }

        function updateFixedHeader() {
            const isDesktop = window.innerWidth >= DESKTOP_BREAKPOINT;
            const scrollY = Math.max(0, window.scrollY);

            if (isDesktop) {
                const shouldFix = scrollY >= headerBottomThreshold;
                const shouldUnfix = scrollY < headerBottomThreshold - SCROLL_HYSTERESIS;
                setFixedHeader(isFixed ? !shouldUnfix : shouldFix);
                return;
            }

            if (!container) return;

            if (!isFixed) {
                setFixedHeader(scrollY > MOBILE_MIN_SCROLL && scrollY >= scrollThreshold);
            } else {
                setFixedHeader(scrollY > MOBILE_MIN_SCROLL && scrollY >= scrollThreshold - SCROLL_HYSTERESIS);
            }
        }

        function scheduleUpdate() {
            if (rafId !== null) return;
            rafId = requestAnimationFrame(() => {
                rafId = null;
                updateFixedHeader();
            });
        }

        function handleResize() {
            const wasFixed = isFixed;
            if (wasFixed) {
                setFixedHeader(false);
            }
            cacheScrollThresholds();
            if (wasFixed) {
                updateFixedHeader();
            }
        }

        cacheScrollThresholds();
        updateFixedHeader();

        window.addEventListener('scroll', scheduleUpdate, { passive: true });
        window.addEventListener('resize', handleResize, { passive: true });
    }

    if (typeof window !== "undefined") {
        window.addEventListener('DOMContentLoaded', handleHeaderFixedOnScroll, { once: true });
    }

    window.addEventListener('alpine:init', () => {
        Alpine.data('initHeader', initHeader);
    }, { once: true })
</script>

<div id="header"
     class="header-2 relative z-30 w-full border-b shadow bg-white border-gray-100"
     x-data="initHeader()"
     @private-content-loaded.window="getData(event.detail.data)"
>

    
        <div class="bannerBelowHeader" x-init="initBannerBelowHeader()">
            <div class="bannerBelowHeader__items overflow-hidden" x-ref="bannerBelowHeaderItems">
                                    <div class="bannerBelowHeader__item">
                        Chaque création est fabriquée sur commande.                    </div>
                                                    <div class="bannerBelowHeader__item">
                        En raison des fermetures estivales de nos ateliers, les délais de confection seront allongés pour les commandes passées en juillet et en août.
Merci pour votre compréhension.                    </div>
                            </div>
        </div>
    
    <div class="container flex flex-wrap lg:flex-nowrap items-center justify-between w-full px-6 py-0 mx-auto mt-0">
        <!--Logo-->
        <div class="sm:order-1 lg:order-0 w-full pb-2 sm:w-auto sm:pb-0 logo-container">
            <a
    class="flex items-center justify-center text-xl font-medium"
    href="https://www.mesrideaux.fr/"
    aria-label="Go&#x20;to&#x20;Home&#x20;page"
>
    <img
        src="https://cdn4.mesrideaux.fr/logo/default/mesrideaux_logo_1.svg"
        alt="Logo&#x20;MesRideaux"
        width="189"        height="64"        loading="eager"
    >
    </a>

        </div>

        <!--Main Navigation-->
        <script>
        // Procédure JS simple
        function initMobileMenu() {
            const closeMenuButton = document.querySelector(".close-menu-mobile");
            const toggleMenuButton = document.querySelector('#header .container  .menu-mobile >  [type="button"]');
            const mobileMenu = document.querySelector('#header .container  .menu-mobile >  #mobile-snowdog-menu');

            toggleMenuButton.addEventListener("click", function() {
                if (mobileMenu.classList.contains("active")) {
                    // toggleMenuButton.setAttribute("aria-expanded", "false");
                    mobileMenu.classList.remove("active");
                    document.body.classList.remove("fixed-to-scroll");
                } else {
                    // toggleMenuButton.setAttribute("aria-expanded", "true");
                    mobileMenu.classList.add("active");
                    document.body.classList.add("fixed-to-scroll");
                }
            });

            closeMenuButton.addEventListener("click", function() {
                mobileMenu.classList.remove("active");
                document.body.classList.remove("fixed-to-scroll");
                mobileMenu.querySelectorAll('.submenu.active').forEach(sub => {
                    sub.classList.remove('active');
                });
            });

            // Ajoute un événement pour ouvrir les sous-menus quand on clique sur .menu-arrow dans le menu mobile
            mobileMenu.querySelectorAll('.menu-arrow').forEach(arrow => {
                arrow.addEventListener('click', function(e) {
                    e.preventDefault();
                    
                    const submenu = this.parentElement.querySelector(':scope > .submenu');
                    if (submenu) {
                        // Remove 'active' class from all submenu elements that currently have it
                        mobileMenu.querySelectorAll('.submenu.active').forEach(sub => {
                            // sub.classList.remove('active');
                        });
                        
                        submenu.classList.add('active');
                    }
                });
            });

        // Ajoute un événement pour fermer les sous-menus quand on clique sur "retour" (menu-back-button)
        mobileMenu.querySelectorAll('.menu-back-button').forEach(backButton => {
            backButton.addEventListener('click', function(e) {
            
                e.preventDefault();
                // Le bouton retour est dans le li.menu-back-item juste avant le ul.submenu
                // On vise le parent du bouton (li), puis l'ul.submenu qui suit
                const submenu = this.closest('.submenu');
             
                if (submenu && submenu.classList.contains('active')) {
                    submenu.classList.remove('active');
                }
            });
        });

       


        }

        // Appelée une seule fois quand Alpine est initialisé
        window.addEventListener('alpine:init', () => {
            initMobileMenu();
        }, { once: true });
    </script>

<div x-data="{ open: false }" class="lg:hidden menu-mobile">
    <button
        type="button"
        class="btn bg-transparent border-transparent p-2"
        @click="open = !open"
        :aria-expanded="open"
        aria-controls="mobile-snowdog-menu"
        aria-label="Toggle&#x20;menu"
    >
        <span class="sr-only">Toggle menu</span>
        <span class="block w-6 h-0.5 bg-current mb-1"></span>
        <span class="block w-6 h-0.5 bg-current mb-1"></span>
        <span class="block w-6 h-0.5 bg-current"></span>
    </button>

    <div
        id="mobile-snowdog-menu"
        x-show="open"
        
        x-cloak
 class="absolute inset-x-0 top-full z-20 bg-white border-t border-slate-200 shadow-md"
    >
        <nav aria-label="Mobile&#x20;Main&#x20;Menu">
            <ul class="py-2">
            <ul class="py-2"><li class="level0 parent first level-top">

<a
    href="https://www.mesrideaux.fr/rideaux.html"
    class="main-menu__link"
     data-menu="menu-1">
    Rideaux</a>
<span class="menu-arrow">

                            
                                
                            
                            
                            
                            </span><ul class="level1 submenu"><li class="menu-back-item"><button type="button" class="menu-back-button">
                        
                        Retour
                        
                        </button></li><li class="level1 column-simple&#x20;w-25 first"><a
    href="https://www.mesrideaux.fr/rideau-taffetas-moire.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-84"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/r/i/rideau-thevenon-taffetas-moire-beige-gros-plan_2.webp"
            alt="Rideau&#x20;Taffetas&#x20;Moir&#xE9; alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Rideau Taffetas Moiré</span>
</a>
</li><li class="level1 column-simple&#x20;w-25"><a
    href="https://www.mesrideaux.fr/rideau-kimono-flowers.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-339"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/r/i/rideau-kimono-flowers-fond-rouge-gros-plan_1.webp"
            alt="Rideau&#x20;Kimono&#x20;Flowers alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Rideau Kimono Flowers</span>
</a>
</li><li class="level1 column-simple&#x20;w-25"><a
    href="https://www.mesrideaux.fr/rideau-velours-texture-studio.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-350"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/r/i/rideau-velours-texture-studio-blanc-casse-gros-plan_2.webp"
            alt="Rideau&#x20;Velours&#x20;Texture&#x20;Studio alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Rideau Velours Texture Studio</span>
</a>
</li><li class="level1 column-simple&#x20;w-25 last"><a
    href="https://www.mesrideaux.fr/tissu-scopello.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-351"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/r/i/rideau-scopello-granito-photo-tissu_4.webp"
            alt="Rideau&#x20;Scopello alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Rideau Scopello</span>
</a>
</li></ul></li><li class="level0 parent level-top">
    <a
        href="/stores-bateaux.html"
        data-menu="menu-2" class="main-menu__link"    >
        Stores    </a>
<span class="menu-arrow">

                            
                                
                            
                            
                            
                            </span><ul class="level1 submenu"><li class="menu-back-item"><button type="button" class="menu-back-button">
                        
                        Retour
                        
                        </button></li><li class="level1 column-simple&#x20;w-25&#x20; first"><a
    href="https://www.mesrideaux.fr/store-bateau-amara-aquaclean-32637.html"
    class="snowdog-menu-link column-simple&#x20;w-25&#x20; product-menu submenu-with-image w-full text-center"
            data-menu="menu-342"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/s/t/store-bateau-casal-amara-aquaclean-argent-gros-plan_3.webp"
            alt="STORE&#x20;BATEAU&#x20;AMARA&#x20;AQUACLEAN alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">STORE BATEAU AMARA AQUACLEAN</span>
</a>
</li><li class="level1 column-simple&#x20;w-25"><a
    href="https://www.mesrideaux.fr/store-bateau-suzie.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-343"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/s/t/store-bateau-thevenon-suzie-vert-fond-vanille-gros-plan_1.webp"
            alt="Store&#x20;bateau&#x20;Suzie alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Store bateau Suzie</span>
</a>
</li><li class="level1 column-simple&#x20;w-25"><a
    href="https://www.mesrideaux.fr/store-bateau-samani.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-352"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/s/t/store-bateau-gaston-y-daniela-samani-beige-et-bleu-gros-plan_1.webp"
            alt=" alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Store bateau Samani</span>
</a>
</li><li class="level1 column-simple&#x20;w-25 last"><a
    href="https://www.mesrideaux.fr/store-bateau-scopello.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-353"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/s/t/store-bateau-luciano-marcato-scopello-navy-gros-plan_1.webp"
            alt="Store&#x20;bateau&#x20;Scopello alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Store bateau Scopello</span>
</a>
</li></ul></li><li class="level0 parent level-top">
    <a
        href="/coussins.html"
        data-menu="menu-234" class="main-menu__link"    >
        Coussins    </a>
<span class="menu-arrow">

                            
                                
                            
                            
                            
                            </span><ul class="level1 submenu"><li class="menu-back-item"><button type="button" class="menu-back-button">
                        
                        Retour
                        
                        </button></li><li class="level1 column-simple&#x20;w-25 first"><a
    href="https://www.mesrideaux.fr/coussin-osier.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-344"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/c/o/coussin-lelievre-osier-pavot-gros-plan_1.webp"
            alt="Coussin&#x20;Osier alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Coussin Osier</span>
</a>
</li><li class="level1 column-simple&#x20;w-25"><a
    href="https://www.mesrideaux.fr/coussin-sake.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-345"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/c/o/coussin-sake-taupe-gros-plan_1.webp"
            alt="Coussin&#x20;Sake alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Coussin Sake</span>
</a>
</li><li class="level1 column-simple&#x20;w-25"><a
    href="https://www.mesrideaux.fr/coussin-poissons-coffre.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-354"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/c/o/coussin-thevenon-poissons-coffre-fond-marine-sur-lin-gros-plan_1.webp"
            alt="COUSSIN&#x20;POISSONS&#x20;COFFRE alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">COUSSIN POISSONS COFFRE</span>
</a>
</li><li class="level1 column-simple&#x20;w-25 last"><a
    href="https://www.mesrideaux.fr/coussin-french-ikat.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-355"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/c/o/coussin-thevenon-french-ikat-indigo-outdoor-gros-plan_1.webp"
            alt="COUSSIN&#x20;FRENCH&#x20;IKAT alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">COUSSIN FRENCH IKAT</span>
</a>
</li></ul></li><li class="level0 parent level-top">
    <a
        href="/coussins-banquette.html"
        data-menu="menu-233" class="main-menu__link"    >
        Banquettes    </a>
<span class="menu-arrow">

                            
                                
                            
                            
                            
                            </span><ul class="level1 submenu"><li class="menu-back-item"><button type="button" class="menu-back-button">
                        
                        Retour
                        
                        </button></li><li class="level1 column-simple&#x20;submenu-with-image&#x20;w-25&#x20;&#x20;product-menu first"><a
    href="https://www.mesrideaux.fr/banquette-together-cool-clean.html"
    class="snowdog-menu-link column-simple&#x20;submenu-with-image&#x20;w-25&#x20;&#x20;product-menu product-menu submenu-with-image w-full text-center"
            data-menu="menu-346"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/b/a/banquette-thevenon-together-cool-clean-biscuit-gros-plan_1.webp"
            alt="BANQUETTE&#x20;TOGETHER&#x20;COOL&#x20;CLEAN alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">BANQUETTE TOGETHER COOL CLEAN</span>
</a>
</li><li class="level1 column-simple&#x20;submenu-with-image&#x20;w-25&#x20;&#x20;product-menu"><a
    href="https://www.mesrideaux.fr/banquette-lempicka.html"
    class="snowdog-menu-link column-simple&#x20;submenu-with-image&#x20;w-25&#x20;&#x20;product-menu product-menu submenu-with-image w-full text-center"
            data-menu="menu-347"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/b/a/banquette-casal-lempicka-jour-imperial-gros-plan.webp"
            alt="Coussin&#x20;Sake alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Banquette Lempicka</span>
</a>
</li><li class="level1 column-simple&#x20;w-25"><a
    href="https://www.mesrideaux.fr/banquette-amara-aquaclean.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-356"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/b/a/banquette-casal-amara-aquaclean-canard-gros-plan_1.webp"
            alt="BANQUETTE&#x20;AMARA&#x20;AQUACLEAN alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">BANQUETTE AMARA AQUACLEAN</span>
</a>
</li><li class="level1 column-simple&#x20;w-25 last"><a
    href="https://www.mesrideaux.fr/banquette-blues-jacquard-bronze"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-357"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/b/a/banquette-thevenon-blues-jacquard-bronze-gros-plan.webp"
            alt="BANQUETTE&#x20;BLUES&#x20;JACQUARD&#x20;BRONZE alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">BANQUETTE BLUES JACQUARD BRONZE</span>
</a>
</li></ul></li><li class="level0 parent level-top">

<a
    href="https://www.mesrideaux.fr/tissus.html"
    class="main-menu__link"
     data-menu="menu-8">
    Tissus</a>
<span class="menu-arrow">

                            
                                
                            
                            
                            
                            </span><ul class="level1 submenu"><li class="menu-back-item"><button type="button" class="menu-back-button">
                        
                        Retour
                        
                        </button></li><li class="level1 column-simple&#x20;submenu-with-image&#x20;w-25&#x20;&#x20;product-menu first"><a
    href="https://www.mesrideaux.fr/tissu-muse.html"
    class="snowdog-menu-link column-simple&#x20;submenu-with-image&#x20;w-25&#x20;&#x20;product-menu product-menu submenu-with-image w-full text-center"
            data-menu="menu-348"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/s/t/store-bateau-thevenon-muse-fond-bleu-jean-photo-tissu_1.webp"
            alt="Tissu&#x20;Muse alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Tissu Muse</span>
</a>
</li><li class="level1 column-simple&#x20;submenu-with-image&#x20;w-25&#x20;&#x20;product-menu"><a
    href="https://www.mesrideaux.fr/tissu-timeline.html"
    class="snowdog-menu-link column-simple&#x20;submenu-with-image&#x20;w-25&#x20;&#x20;product-menu product-menu submenu-with-image w-full text-center"
            data-menu="menu-349"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/s/t/store-bateau-thevenon-timeline-fond-abricot-photo-tissu.webp"
            alt="TISSU&#x20;AU&#x20;METRE&#x20;HANA&#x20;BOIS&#x20;DE&#x20;ROSE alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">TISSU TIMELINE</span>
</a>
</li><li class="level1 column-simple&#x20;w-25"><a
    href="https://www.mesrideaux.fr/tissu-sake.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-358"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/b/a/banquette-casal-sake-ambre-photo-tissu_2.webp"
            alt="Tissu&#x20;Sake alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Tissu Sake</span>
</a>
</li><li class="level1 column-simple&#x20;w-25 last"><a
    href="https://www.mesrideaux.fr/tissu-sillage.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-359"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/c/o/coussin-casal-sillage-eau-claire-photo-tissu_3.webp"
            alt="Tissu&#x20;Sillage alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Tissu Sillage</span>
</a>
</li></ul></li><li class="level0 parent last level-top">
    <a
        href="/blog/"
        data-menu="menu-10" class="main-menu__link" target="_blank" rel="noopener"    >
        Blog    </a>
<span class="menu-arrow">

                            
                                
                            
                            
                            
                            </span><ul class="level1 submenu"><li class="menu-back-item"><button type="button" class="menu-back-button">
                        
                        Retour
                        
                        </button></li><li class="level1 blog-menu first last"><style>#html-body [data-pb-style=W2L5VRG]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;align-self:stretch}#html-body [data-pb-style=JI2ELJW]{display:flex;width:100%}#html-body [data-pb-style=JSPTWRL]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:75%;align-self:stretch}#html-body [data-pb-style=XMNY19H]{display:inline-block}#html-body [data-pb-style=REMAYEC]{text-align:center}#html-body [data-pb-style=C6GHF61]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:25%;align-self:stretch}#html-body [data-pb-style=DFUABM1]{border-style:none}#html-body [data-pb-style=KIQKOH9],#html-body [data-pb-style=XD2AIPT]{max-width:100%;height:auto}@media only screen and (max-width: 767px) { #html-body [data-pb-style=DFUABM1]{border-style:none} }</style><div class="pagebuilder-column-group container" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-background-lazy-load="false" data-element="main" data-pb-style="W2L5VRG"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="JI2ELJW"><div class="pagebuilder-column menu-blog-left" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-background-lazy-load="false" data-element="main" data-pb-style="JSPTWRL"><div data-content-type="text" data-appearance="default" data-element="main"><p>D&eacute;couvrez les derni&egrave;res tendances et les meilleures astuces d&eacute;co ! Pour en savoir plus, rendez-vous sur notre blog <strong data-start="115" data-end="132">MesRideaux.fr</strong>.<br data-start="133" data-end="136"></p></div><div data-content-type="buttons" data-appearance="inline" data-same-width="false" data-element="main"><div data-content-type="button-item" data-appearance="default" data-element="main" data-pb-style="XMNY19H"><a class="pagebuilder-button-primary" href="/blog/" target="_blank" data-link-type="default" data-element="link" data-pb-style="REMAYEC"><span data-element="link_text">Explorez d&egrave;s maintenant !</span></a></div></div><div data-content-type="text" data-appearance="default" data-element="main"><p>&nbsp;</p>
<p>Vous avez des questions ou souhaitez &eacute;changer des id&eacute;es d&eacute;co ? Retrouvez-nous sur <a title="trouvez-nous sur instagram" href="https://www.instagram.com/mesrideaux/" target="_blank" rel="noopener">Instagram</a> pour des inspirations quotidiennes et des conseils personnalis&eacute;s !</p>
<p>Contactez-nous directement sur <a href="/cdn-cgi/l/email-protection#f2919d9c86939186b29f9781809b969793878adc9480" target="_blank" rel="noopener"><span class="__cf_email__" data-cfemail="8fece0e1fbeeecfbcfe2eafcfde6ebeaeefaf7a1e9fd">[email&#160;protected]</span></a>&nbsp;et laissez-vous inspirer.</p></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-background-lazy-load="" data-element="main" data-pb-style="C6GHF61"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="DFUABM1"><img width="1536" height="1024" class="pagebuilder-mobile-hidden" src="https://cdn4.mesrideaux.fr/wysiwyg/blog.png" alt="Blog mesrideaux" title="" loading="lazy" data-element="desktop_image" data-pb-style="XD2AIPT"><img width="1536" height="1024" class="pagebuilder-mobile-only" src="https://cdn4.mesrideaux.fr/wysiwyg/blog.png" alt="Blog mesrideaux" title="" loading="lazy" data-element="mobile_image" data-pb-style="KIQKOH9"></figure></div></div></div></li></ul></li></ul>            </ul>
            <button
            type="button"
            class="absolute close-menu-mobile"
            
            
            >
                <span class="sr-only">Close menu</span>
                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2"
                    stroke-linecap="round" stroke-linejoin="round" class="feather feather-x">
                    <line x1="18" y1="6" x2="6" y2="18"/>
                    <line x1="6" y1="6" x2="18" y2="18"/>
                </svg>
            </button>
        </nav>

        
    </div>
        
    
   
</div>

        <div class="hidden lg:flex items-center gap-2 md:gap-1 order-1 lg:order-0 md:-mr-1 search-header-container justify-center">
            <button
                        id="menu-search-icon"
                        class="btn bg-transparent border-transparent p-1 justify-between"
                        
                        @click.prevent="toggleSearch"
                        aria-label="Toggle&#x20;search&#x20;form"
                        aria-haspopup="true"
                        :aria-expanded="searchOpen"
                        x-ref="searchButton"
                        
                    >
                        <span class="menu-search-text">RECHERCHER ...</span>
                        <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewbox="0 0 24 24" aria-hidden="true"><path d="m21 21-4.34-4.34"/><circle cx="11" cy="11" r="8"/></svg>
                    </button>
        </div>

        <div class="flex items-center gap-2 md:gap-1 order-1 lg:order-0 md:-mr-1 right-header-container justify-end">
                                                    <div class="avis-verif-header">
                <a href="https://www.avis-verifies.com/avis-clients/mesrideaux.fr" target="_blank">

                    <img src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/icons/avis-verifies.png" alt="Avis Verifies" >
                
                
                    <div class="avis-verif-header__content flex items-start justify-center">
                        <div class="o-stars">
                            <!-- Utiliser la largeur de .c-content pour le rendu de la note (ratio / 5 à exprimer en %)-->
                            <div class="c-content lazyload" data-loaded="true"></div>
                            <div class="c-bkg lazyload" data-loaded="true"></div>
                        </div>
                        <strong>4.8/5</strong>
                    </div>
                </a>
            </div>

            <button
                id="menu-search-icon-mobile"
                class="btn bg-transparent border-transparent p-1 lg:hidden"
                @click.prevent="toggleSearch"
                aria-label="Toggle&#x20;search&#x20;form"
                aria-haspopup="true"
                :aria-expanded="searchOpen"
                x-ref="searchButton"
            >
                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewbox="0 0 24 24" aria-hidden="true"><path d="m21 21-4.34-4.34"/><circle cx="11" cy="11" r="8"/></svg>
            </button>

            

            
            <!-- BLOCK header.customer -->
<div
    class="relative inline-block customer-menu-icon customer-menu-icon"
    x-data="initCustomerMenu"
    x-bind="eventListeners"
>
    <button
        type="button"
        id="customer-menu"
        class="btn bg-transparent border-transparent p-1"
        @click="toggleOpen"
        :aria-expanded="open"
        aria-label="Mon&#x20;compte"
        aria-haspopup="true"
    >
        <img
            src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/icons/user.svg"
            alt=""
            aria-hidden="true"
            width="16"
            height="16"
        />
    </button>
    <nav
        class="z-10 absolute right-0 w-40 sm:w-48 mt-2 lg:mt-3 -me-4 py-2 px-1 rounded-md shadow-lg bg-white overflow-auto"
        aria-labelledby="customer-menu"
        x-show="open"
        x-transition
 x-cloak
>
        <div x-show="!isLoggedIn" x-cloak>
            
<a id="customer.header.sign.in.link"
   class="block px-4 py-2 lg:px-5 lg:py-2 hover:bg-gray-100"
   onclick="hyva.setCookie && hyva.setCookie(       'login_redirect',       window.location.href,       1   )"
   href="/connexion"
   title="Se&#x20;connecter"
>
    Se connecter</a>


    <a id="customer.header.register.link"
       class="block px-4 py-2 lg:px-5 lg:py-2 hover:bg-gray-100"
       href="/creer-un-compte"
       title="Cr&#xE9;er&#x20;un&#x20;compte"
    >
        Créer un compte    </a>

        </div>
        <div x-show="isLoggedIn" x-cloak>
            
    <a id="customer.header.dashboard.link"
       class="block px-4 py-2 lg:px-5 lg:py-2 hover:bg-gray-100"
       href="https://www.mesrideaux.fr/customer/account/"
       title="Mon&#x20;compte"
    >
        Mon compte    </a>

<span id="customer.header.sign.out.delimiter"
      class="delimiter block border-b border-container w-full my-2"
></span>

    <a id="customer.header.sign.out.link"
       class="block px-4 py-2 lg:px-5 lg:py-2 hover:bg-gray-100"
       href="https://www.mesrideaux.fr/customer/account/logout/"
       title="D&#xE9;connexion"
    >
        Déconnexion    </a>
        </div>
    </nav>
</div>
<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script>
    function initCustomerMenu() {
        return {
            isLoggedIn: false,
            ...hyva.createBooleanObject('open', false, {
                eventListeners: {
                    ['@pageshow.window'](event) {
                        if (event.persisted) {
                            this.setOpenFalse()
                        }
                    },
                    ['@keyup.escape']() {
                        this.setOpenFalse()
                    },
                    ['@click.outside']() {
                        this.setOpenFalse()
                    },
                    ['@private-content-loaded.window'](event) {
                        const data = event.detail.data;
                        this.isLoggedIn = !!(data.customer && data.customer.firstname);
                    }
                }
            })
        }
    }
    window.addEventListener('alpine:init', () => Alpine.data('initCustomerMenu', initCustomerMenu), {once: true})
</script>
<!-- /BLOCK header.customer -->
            
                            <div class="customer-menu-icon">
                <button
                            id="menu-cart-icon"
                type="button"
                class="relative btn bg-transparent border-transparent p-1"
                x-ref="cartButton"
                :aria-label="cartAriaLabel"
                                    @click="toggleCart"
                    :aria-expanded="isCartOpen"
                    aria-haspopup="dialog"
                            >
                <img
                    src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/icons/cart.svg"
                    alt=""
                    aria-hidden="true"
                    width="20"
                    height="20"
                    
                   
                />
                <span
                    x-text="summaryCount"
                    x-show="summaryCount"
                    x-cloak
 class="absolute -top-1.5 -right-1.5 px-2 py-1 rounded-full bg-primary text-on-primary text-xs                        font-semibold leading-none text-center uppercase tabular-nums"
                    aria-hidden="true"
                ></span>
                            </button>
            </div>
                    </div>
    </div>

    <div
        id="search-content"
        class="absolute z-10 w-full border-t shadow-sm bg-white border-gray-100"
        x-cloak
 x-show="searchOpen"
        @click.outside="searchClose"
        @keydown.escape="searchEscape"
    >
        <script>
    'use strict';

    function initMiniSearch() {
        return {
            minSearchLength: 3,
                        suggestions: [],
            suggest() {
                const search = this.$refs.searchInput;
                if (search.value.length >= this.minSearchLength) {
                    search.setCustomValidity('');
                    search.reportValidity();
                    this.fetchSuggestions(search.value);
                } else {
                    this.suggestions = [];
                }
            },
            fetchSuggestions(term) {
                fetch(
                    window.BASE_URL + 'search/ajax/suggest?' + new URLSearchParams({q: term}),
                    {
                        headers: {
                            'X-Requested-With': 'XMLHttpRequest'
                        }
                    }
                )
                .then(response => response.json())
                .then(result => this.suggestions = result);
            },
                        search(term) {
                const search = this.$refs.searchInput;
                term = term || search.value;
                if (term.length < this.minSearchLength) {
                    search.setCustomValidity('Longueur\u0020minimale\u0020de\u0020requ\u00EAte\u0020recherche\u00203');
                    search.reportValidity();
                } else {
                    search.setCustomValidity('');
                    search.value = term;
                    this.$refs.form.submit();
                }
            },
            focusElement(element) {
                if (element && element.nodeName === "DIV") {
                    element.focus();
                    return true;
                } else {
                    return false;
                }
            }
        }
    }
</script>
<div class="container py-2 mx-auto text-black" x-data="initMiniSearch()">
    <search title="Magasin" role="search">
        <form
            id="search_mini_form"
            class="form minisearch flex"
            action="https://www.mesrideaux.fr/catalogsearch/result/"
            method="get"
            @submit.prevent="search()"
            x-ref="form"
        >
            <label class="sr-only" for="search">
                Chercher            </label>
            <input
                id="search"
                x-ref="searchInput"
                type="search"
                autocomplete="off"
                name="q"
                value=""
                placeholder="Rechercher&#x20;dans&#x20;tout&#x20;le&#x20;magasin..."
                maxlength="128"
                class="form-input w-full rounded-e-none"
                @search-open.window.debounce.10="$el.focus(); $el.select()"
                                    @focus.once="suggest"
                    @input.debounce.300="suggest"
                    @keydown.arrow-down.prevent="focusElement($root.querySelector('[tabindex]'))"
                            >
            <button
                type="submit"
                class="btn btn-primary p-2.5 rounded-s-none shrink-0 outline-offset-0"
                title="Chercher"
                aria-label="Chercher"
            >
                <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewbox="0 0 24 24" aria-hidden="true"><path d="m21 21-4.34-4.34"/><circle cx="11" cy="11" r="8"/></svg>
            </button>
        </form>
    </search>
            <template x-if="suggestions.length > 0">
            <nav
                aria-label="Search&#x20;Suggestions"
                class="flex flex-col mt-1 text-grey-800 gap-1"
            >
                <template x-for="suggestion in suggestions">
                    <button
                        type="button"
                        class="flex justify-between p-2 bg-white even:bg-gray-50 border border-gray-300 hover:bg-gray-100"
                        @click="search(suggestion.title)"
                        @keydown.enter="search(suggestion.title)"
                        @keydown.arrow-up.prevent="focusElement($event.target.previousElementSibling) || $refs.searchInput.focus()"
                        @keydown.arrow-down.prevent="focusElement($event.target.nextElementSibling)"
                    >
                        <span x-text="suggestion.title"></span>
                        <span x-text="suggestion.num_results"></span>
                    </button>
                </template>
            </nav>
        </template>
    </div>
    </div>

    

    
    <script>
        // Procédure JS simple
        function initDesktopMenu() {
            const menuItems = document.querySelectorAll(".menu-desktop nav > ul > li");

            function closeAll() {
                document.querySelectorAll(".menu-desktop .submenu").forEach(sub => {
                    sub.classList.remove("active");
                });
            }

            menuItems.forEach(item => {
                const submenu = item.querySelector(".menu-desktop .submenu");

                if (submenu) {
                    item.addEventListener("mouseenter", () => {
                    closeAll();
                    submenu.classList.add("active");
                    });

                    item.addEventListener("mouseleave", () => {
                    submenu.classList.remove("active");
                    });
                }
            });
        }

        // Appelée une seule fois quand Alpine est initialisé
        window.addEventListener('alpine:init', () => {
            initDesktopMenu();
        }, { once: true });
    </script>


<div class="hidden lg:flex z-20 navigation lg:px-0 menu-desktop h-full items-center">
    <nav
        class="w-full h-full"
        aria-label="Main&#x20;menu"
    >
        <ul class="flex items-center flex-wrap py-0 h-full justify-center no-wrap">
            <li class="level0 parent first level-top">

<a
    href="https://www.mesrideaux.fr/rideaux.html"
    class="main-menu__link"
     data-menu="menu-1">
    Rideaux</a>
<ul class="level0 submenu"><li class="level1 column-simple&#x20;w-25 first"><a
    href="https://www.mesrideaux.fr/rideau-taffetas-moire.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-84"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/r/i/rideau-thevenon-taffetas-moire-beige-gros-plan_2.webp"
            alt="Rideau&#x20;Taffetas&#x20;Moir&#xE9; alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Rideau Taffetas Moiré</span>
</a>
</li><li class="level1 column-simple&#x20;w-25"><a
    href="https://www.mesrideaux.fr/rideau-kimono-flowers.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-339"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/r/i/rideau-kimono-flowers-fond-rouge-gros-plan_1.webp"
            alt="Rideau&#x20;Kimono&#x20;Flowers alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Rideau Kimono Flowers</span>
</a>
</li><li class="level1 column-simple&#x20;w-25"><a
    href="https://www.mesrideaux.fr/rideau-velours-texture-studio.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-350"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/r/i/rideau-velours-texture-studio-blanc-casse-gros-plan_2.webp"
            alt="Rideau&#x20;Velours&#x20;Texture&#x20;Studio alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Rideau Velours Texture Studio</span>
</a>
</li><li class="level1 column-simple&#x20;w-25 last"><a
    href="https://www.mesrideaux.fr/tissu-scopello.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-351"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/r/i/rideau-scopello-granito-photo-tissu_4.webp"
            alt="Rideau&#x20;Scopello alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Rideau Scopello</span>
</a>
</li></ul></li><li class="level0 parent level-top">
    <a
        href="/stores-bateaux.html"
        data-menu="menu-2" class="main-menu__link"    >
        Stores    </a>
<ul class="level0 submenu"><li class="level1 column-simple&#x20;w-25&#x20; first"><a
    href="https://www.mesrideaux.fr/store-bateau-amara-aquaclean-32637.html"
    class="snowdog-menu-link column-simple&#x20;w-25&#x20; product-menu submenu-with-image w-full text-center"
            data-menu="menu-342"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/s/t/store-bateau-casal-amara-aquaclean-argent-gros-plan_3.webp"
            alt="STORE&#x20;BATEAU&#x20;AMARA&#x20;AQUACLEAN alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">STORE BATEAU AMARA AQUACLEAN</span>
</a>
</li><li class="level1 column-simple&#x20;w-25"><a
    href="https://www.mesrideaux.fr/store-bateau-suzie.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-343"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/s/t/store-bateau-thevenon-suzie-vert-fond-vanille-gros-plan_1.webp"
            alt="Store&#x20;bateau&#x20;Suzie alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Store bateau Suzie</span>
</a>
</li><li class="level1 column-simple&#x20;w-25"><a
    href="https://www.mesrideaux.fr/store-bateau-samani.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-352"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/s/t/store-bateau-gaston-y-daniela-samani-beige-et-bleu-gros-plan_1.webp"
            alt=" alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Store bateau Samani</span>
</a>
</li><li class="level1 column-simple&#x20;w-25 last"><a
    href="https://www.mesrideaux.fr/store-bateau-scopello.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-353"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/s/t/store-bateau-luciano-marcato-scopello-navy-gros-plan_1.webp"
            alt="Store&#x20;bateau&#x20;Scopello alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Store bateau Scopello</span>
</a>
</li></ul></li><li class="level0 parent level-top">
    <a
        href="/coussins.html"
        data-menu="menu-234" class="main-menu__link"    >
        Coussins    </a>
<ul class="level0 submenu"><li class="level1 column-simple&#x20;w-25 first"><a
    href="https://www.mesrideaux.fr/coussin-osier.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-344"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/c/o/coussin-lelievre-osier-pavot-gros-plan_1.webp"
            alt="Coussin&#x20;Osier alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Coussin Osier</span>
</a>
</li><li class="level1 column-simple&#x20;w-25"><a
    href="https://www.mesrideaux.fr/coussin-sake.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-345"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/c/o/coussin-sake-taupe-gros-plan_1.webp"
            alt="Coussin&#x20;Sake alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Coussin Sake</span>
</a>
</li><li class="level1 column-simple&#x20;w-25"><a
    href="https://www.mesrideaux.fr/coussin-poissons-coffre.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-354"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/c/o/coussin-thevenon-poissons-coffre-fond-marine-sur-lin-gros-plan_1.webp"
            alt="COUSSIN&#x20;POISSONS&#x20;COFFRE alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">COUSSIN POISSONS COFFRE</span>
</a>
</li><li class="level1 column-simple&#x20;w-25 last"><a
    href="https://www.mesrideaux.fr/coussin-french-ikat.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-355"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/c/o/coussin-thevenon-french-ikat-indigo-outdoor-gros-plan_1.webp"
            alt="COUSSIN&#x20;FRENCH&#x20;IKAT alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">COUSSIN FRENCH IKAT</span>
</a>
</li></ul></li><li class="level0 parent level-top">
    <a
        href="/coussins-banquette.html"
        data-menu="menu-233" class="main-menu__link"    >
        Banquettes    </a>
<ul class="level0 submenu"><li class="level1 column-simple&#x20;submenu-with-image&#x20;w-25&#x20;&#x20;product-menu first"><a
    href="https://www.mesrideaux.fr/banquette-together-cool-clean.html"
    class="snowdog-menu-link column-simple&#x20;submenu-with-image&#x20;w-25&#x20;&#x20;product-menu product-menu submenu-with-image w-full text-center"
            data-menu="menu-346"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/b/a/banquette-thevenon-together-cool-clean-biscuit-gros-plan_1.webp"
            alt="BANQUETTE&#x20;TOGETHER&#x20;COOL&#x20;CLEAN alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">BANQUETTE TOGETHER COOL CLEAN</span>
</a>
</li><li class="level1 column-simple&#x20;submenu-with-image&#x20;w-25&#x20;&#x20;product-menu"><a
    href="https://www.mesrideaux.fr/banquette-lempicka.html"
    class="snowdog-menu-link column-simple&#x20;submenu-with-image&#x20;w-25&#x20;&#x20;product-menu product-menu submenu-with-image w-full text-center"
            data-menu="menu-347"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/b/a/banquette-casal-lempicka-jour-imperial-gros-plan.webp"
            alt="Coussin&#x20;Sake alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Banquette Lempicka</span>
</a>
</li><li class="level1 column-simple&#x20;w-25"><a
    href="https://www.mesrideaux.fr/banquette-amara-aquaclean.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-356"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/b/a/banquette-casal-amara-aquaclean-canard-gros-plan_1.webp"
            alt="BANQUETTE&#x20;AMARA&#x20;AQUACLEAN alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">BANQUETTE AMARA AQUACLEAN</span>
</a>
</li><li class="level1 column-simple&#x20;w-25 last"><a
    href="https://www.mesrideaux.fr/banquette-blues-jacquard-bronze"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-357"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/b/a/banquette-thevenon-blues-jacquard-bronze-gros-plan.webp"
            alt="BANQUETTE&#x20;BLUES&#x20;JACQUARD&#x20;BRONZE alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">BANQUETTE BLUES JACQUARD BRONZE</span>
</a>
</li></ul></li><li class="level0 parent level-top">

<a
    href="https://www.mesrideaux.fr/tissus.html"
    class="main-menu__link"
     data-menu="menu-8">
    Tissus</a>
<ul class="level0 submenu"><li class="level1 column-simple&#x20;submenu-with-image&#x20;w-25&#x20;&#x20;product-menu first"><a
    href="https://www.mesrideaux.fr/tissu-muse.html"
    class="snowdog-menu-link column-simple&#x20;submenu-with-image&#x20;w-25&#x20;&#x20;product-menu product-menu submenu-with-image w-full text-center"
            data-menu="menu-348"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/s/t/store-bateau-thevenon-muse-fond-bleu-jean-photo-tissu_1.webp"
            alt="Tissu&#x20;Muse alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Tissu Muse</span>
</a>
</li><li class="level1 column-simple&#x20;submenu-with-image&#x20;w-25&#x20;&#x20;product-menu"><a
    href="https://www.mesrideaux.fr/tissu-timeline.html"
    class="snowdog-menu-link column-simple&#x20;submenu-with-image&#x20;w-25&#x20;&#x20;product-menu product-menu submenu-with-image w-full text-center"
            data-menu="menu-349"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/s/t/store-bateau-thevenon-timeline-fond-abricot-photo-tissu.webp"
            alt="TISSU&#x20;AU&#x20;METRE&#x20;HANA&#x20;BOIS&#x20;DE&#x20;ROSE alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">TISSU TIMELINE</span>
</a>
</li><li class="level1 column-simple&#x20;w-25"><a
    href="https://www.mesrideaux.fr/tissu-sake.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-358"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/b/a/banquette-casal-sake-ambre-photo-tissu_2.webp"
            alt="Tissu&#x20;Sake alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Tissu Sake</span>
</a>
</li><li class="level1 column-simple&#x20;w-25 last"><a
    href="https://www.mesrideaux.fr/tissu-sillage.html"
    class="snowdog-menu-link column-simple&#x20;w-25 product-menu submenu-with-image w-full text-center"
            data-menu="menu-359"
    >

  
        <img src="https://cdn4.mesrideaux.fr/snowdog_menu/images/300x300/c/o/coussin-casal-sillage-eau-claire-photo-tissu_3.webp"
            alt="Tissu&#x20;Sillage alt1"
            loading="lazy"
            width="300"
            height="300"
            class="mx-auto"
        />
  

    <span class="product-menu-title">Tissu Sillage</span>
</a>
</li></ul></li><li class="level0 parent last level-top">
    <a
        href="/blog/"
        data-menu="menu-10" class="main-menu__link" target="_blank" rel="noopener"    >
        Blog    </a>
<ul class="level0 submenu"><li class="level1 blog-menu first last"><style>#html-body [data-pb-style=W2L5VRG]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;align-self:stretch}#html-body [data-pb-style=JI2ELJW]{display:flex;width:100%}#html-body [data-pb-style=JSPTWRL]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:75%;align-self:stretch}#html-body [data-pb-style=XMNY19H]{display:inline-block}#html-body [data-pb-style=REMAYEC]{text-align:center}#html-body [data-pb-style=C6GHF61]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:25%;align-self:stretch}#html-body [data-pb-style=DFUABM1]{border-style:none}#html-body [data-pb-style=KIQKOH9],#html-body [data-pb-style=XD2AIPT]{max-width:100%;height:auto}@media only screen and (max-width: 767px) { #html-body [data-pb-style=DFUABM1]{border-style:none} }</style><div class="pagebuilder-column-group container" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-background-lazy-load="false" data-element="main" data-pb-style="W2L5VRG"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="JI2ELJW"><div class="pagebuilder-column menu-blog-left" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-background-lazy-load="false" data-element="main" data-pb-style="JSPTWRL"><div data-content-type="text" data-appearance="default" data-element="main"><p>D&eacute;couvrez les derni&egrave;res tendances et les meilleures astuces d&eacute;co ! Pour en savoir plus, rendez-vous sur notre blog <strong data-start="115" data-end="132">MesRideaux.fr</strong>.<br data-start="133" data-end="136"></p></div><div data-content-type="buttons" data-appearance="inline" data-same-width="false" data-element="main"><div data-content-type="button-item" data-appearance="default" data-element="main" data-pb-style="XMNY19H"><a class="pagebuilder-button-primary" href="/blog/" target="_blank" data-link-type="default" data-element="link" data-pb-style="REMAYEC"><span data-element="link_text">Explorez d&egrave;s maintenant !</span></a></div></div><div data-content-type="text" data-appearance="default" data-element="main"><p>&nbsp;</p>
<p>Vous avez des questions ou souhaitez &eacute;changer des id&eacute;es d&eacute;co ? Retrouvez-nous sur <a title="trouvez-nous sur instagram" href="https://www.instagram.com/mesrideaux/" target="_blank" rel="noopener">Instagram</a> pour des inspirations quotidiennes et des conseils personnalis&eacute;s !</p>
<p>Contactez-nous directement sur <a href="/cdn-cgi/l/email-protection#4a2925243e2b293e0a272f3938232e2f2b3f32642c38" target="_blank" rel="noopener"><span class="__cf_email__" data-cfemail="c6a5a9a8b2a7a5b286aba3b5b4afa2a3a7b3bee8a0b4">[email&#160;protected]</span></a>&nbsp;et laissez-vous inspirer.</p></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-background-lazy-load="" data-element="main" data-pb-style="C6GHF61"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="DFUABM1"><img width="1536" height="1024" class="pagebuilder-mobile-hidden" src="https://cdn4.mesrideaux.fr/wysiwyg/blog.png" alt="Blog mesrideaux" title="" loading="lazy" data-element="desktop_image" data-pb-style="XD2AIPT"><img width="1536" height="1024" class="pagebuilder-mobile-only" src="https://cdn4.mesrideaux.fr/wysiwyg/blog.png" alt="Blog mesrideaux" title="" loading="lazy" data-element="mobile_image" data-pb-style="KIQKOH9"></figure></div></div></div></li></ul></li>        </ul>
    </nav>
</div>

    

    <!--Cart Drawer-->
    
<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script>
    function initCartDrawer() {
        return {
            open: false,
            isLoading: false,
            cart: {},
            maxItemsToDisplay: 10,
            itemsCount: 0,
            showSku: false,
            autocompleteNumber: 100,
            init() {
                if (document.prerendering) {
                    document.addEventListener("prerenderingchange", () => {
                        window.dispatchEvent(
                            new CustomEvent('reload-customer-section-data')
                        );
                    }, { once: true });
                }
            },
            showDetails(item) {
                return item && item.options && item.options.length || this.showSku;
            },
            isDesktopViewport() {
                return window.innerWidth >= 768;
            },
            initItemDetailsShown(item) {
                if (item.detailsShown === undefined) {
                    item.detailsShown = this.isDesktopViewport();
                }
            },
            cartIsEmpty() {
                return this.itemsCount === 0
            },
            getData(data) {
                if (!data) {
                    data = this.$event?.detail?.data;
                }

                if (data?.cart) {
                    this.cart = data.cart;
                    this.itemsCount = data.cart.items && data.cart.items.length || 0;
                    this.setCartItems();
                }
                this.isLoading = false;
            },
            initCartDrawerSuggestions(host) {
                if (!host) {
                    return;
                }
                this.$nextTick(() => {
                    if (typeof jQuery === 'undefined' || typeof jQuery.fn?.slick !== 'function') {
                        return;
                    }
                    const $list = jQuery(host).find('.cart-drawer-ventes-add-suggestions .product-suggestions__list');
                    if (!$list.length) {
                        return;
                    }
                    if ($list.hasClass('slick-initialized')) {
                        $list.slick('setPosition');
                        return;
                    }
                    $list.slick({
                        slidesToShow: 2,
                        slidesToScroll: 1,
                        dots: false,
                        arrows: true,
                        infinite: false,
                        nextArrow: '<button class="btn btn-secondary p-2 slick-arrow-next" aria-label="Next Slide" data-next=""><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24" class="rtl:-rotate-180" aria-hidden="true"><path d="M5 12h14M12 5l7 7-7 7"></path></svg></button>',
                        prevArrow: '<button class="btn btn-secondary p-2 slick-arrow-prev" aria-label="Previous Slide" data-prev=""><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24" class="rtl:-rotate-180" aria-hidden="true"><path d="m12 19-7-7 7-7M19 12H5"></path></svg></button>',
                        responsive: [
                            {
                                breakpoint: 768,
                                settings: {
                                    slidesToShow: 1,
                                    arrows: false,
                                    dots: true
                                }
                            }
                        ]
                    });
                });
            },
            refreshCartDrawerSuggestions() {
                const host = this.$refs.cartDrawerSuggestionsHost;
                if (host && this.cart.ventes_add_suggestions_html) {
                    this.initCartDrawerSuggestions(host);
                }
            },
            cartItems: [],
            getItemCountTitle() {
                return hyva.strf('\u00250\u0020of\u0020\u00251\u0020products\u0020in\u0020cart\u0020displayed', this.maxItemsToDisplay, this.itemsCount)
            },
            shouldShowItemCount() {
                return this.maxItemsToDisplay && this.maxItemsToDisplay < this.itemsCount;
            },
            setCartItems() {
                const isDesktop = this.isDesktopViewport();
                let items = this.cart.items && [...this.cart.items].sort((a, b) => b.item_id - a.item_id) || [];

                if (this.maxItemsToDisplay > 0) {
                    items = items.slice(0, parseInt(this.maxItemsToDisplay, 10));
                }

                this.cartItems = items.map((item) => ({
                    ...item,
                    detailsShown: item.detailsShown !== undefined ? item.detailsShown : isDesktop,
                }));
            },
            updateItemQty(event) {
                const form = event.target;
                this.isLoading = true;
                hyvaAjaxFormMinicart({ form, redirect: false }, () => {
                    this.isLoading = false;
                });
            },
            deleteItemFromCart() {
                const itemId = this.item.item_id;
                const formKey = hyva.getFormKey();
                this.isLoading = true;

                hyvaAjaxFormMinicart({
                    url: BASE_URL + 'checkout/sidebar/removeItem/',
                    body: 'form_key=' + formKey + '&item_id=' + itemId,
                    message: 'Vous\u0020avez\u0020supprim\u00E9\u0020l\u0027\u00E9l\u00E9ment.'
                }, () => {
                    this.isLoading = false
                });
            },
            toggleCartDrawer(event) {
                const wasOpen = this.open;
                this.open = event.detail?.isOpen ?? !this.open;
                if (this.open && !wasOpen) {
                    this.refreshCartDrawerSuggestions();
                }
            },
            openCartDrawer() {
                this.open = true;
                this.refreshCartDrawerSuggestions();
            },
            closeCartDrawer() {
                this.open = false;
            },
            getSectionDataExtraActions() {
                if (!this.cart.extra_actions) {
                    return '';
                }

                const contentNode = document.createElement('div');
                contentNode.innerHTML = this.cart.extra_actions;

                hyva.activateScripts(contentNode);

                return contentNode.innerHTML;
            },
            productIsVisibleInSite() {
                return this.item.product_has_url && this.item.is_visible_in_site_visibility
            },
            productIsNotVisibleInSite() {
                return !this.productIsVisibleInSite()
            },
            productIsNotGroupedAndVisibleInSite() {
                return this.item.product_type !== 'grouped' && this.item.is_visible_in_site_visibility
            },
            productAriaLabel() {
                return hyva.strf(this.$el.dataset.ariaLabel, this.item.product_name)
            },
            proceedToCheckout() {
                this.closeCartDrawer()

                this.$dispatch(
                    'toggle-authentication',
                    {
                        url: 'https://www.mesrideaux.fr/checkout/'
                    }
                )
            },
            setItemMessage(itemId, message) {
                const items = this.cartItems;
                items.forEach((item) => {
                    if (item.item_id === itemId) {
                        item.message = message;
                    }
                });
            },
            cartListeners: {
                ['@private-content-loaded.window'](event) {
                    this.getData(event.detail.data);
                },
                ['@toggle-cart.window'](event) {
                    this.toggleCartDrawer(event);
                },
                ['@minicart-error-message.window'](event) {
                    if (!event.detail) return;
                    const { itemId, message } = event.detail;
                    this.setItemMessage(itemId, message);
                },
                ["@pageshow.window"](event) {
                    if (event.persisted) {
                        this.open = false;
                        window.dispatchEvent(new CustomEvent("reload-customer-section-data"));
                    }
                }
            }
        }
    }

    window.addEventListener('alpine:init', () => {
        Alpine.data('initCartDrawer', initCartDrawer);
    }, { once: true })

    async function hyvaAjaxFormMinicart(
        {
            form = null,
            url = '',
            body = '',
            redirect = 'default',
            message = '',
        } = {},
        callback = () => {}
    ) {
        const formData = body ? body : (form ? new FormData(form) : '');
        const postUrl = url ? url : (form ? form.action : '');
        if (!formData || !postUrl) {
            console.warn('You must provide the form or formData and postUrl!');
            return;
        }

        const formUenc = hyva.getUenc();
        const itemId = body ? new URLSearchParams(body).get('item_id') : formData.get('item_id');
        let bodyUrl = new URLSearchParams(formData);
        bodyUrl.append('uenc', formUenc);

        try {
            const response = await fetch(postUrl, {
                method: 'POST',
                body: bodyUrl.toString(),
                mode: 'cors',
                credentials: 'include',
                headers: {
                    'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
                    'X-Requested-With': 'XMLHttpRequest'
                }
            });

            if (!response.ok) {
                return form.submit();
            }

            if (redirect === 'default' && response.redirected) {
                return window.location.href = response.url;
            } else if (redirect !== 'default' && redirect !== false) {
                return window.location.href = redirect;
            }

            const responseBody = await response.json();

            if (!responseBody.success) {
                throw responseBody.error_message;
            }

            window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
        } catch (error) {
            window.dispatchEvent(new CustomEvent('minicart-error-message', { detail: { itemId, message: error } }));
        } finally {
            callback();
        }
    }
</script>

<dialog
    id="cart-drawer"
    aria-labelledby="cart-drawer-title"
    class="w-[480px] w-full  h-full max-h-full me-0 open:flex flex-col transition ease-out duration-300 motion-reduce:duration-0 rounded-e-none p-4"
    x-data="initCartDrawer"
    x-bind="cartListeners"
    x-show="open"
    x-htmldialog="closeCartDrawer"
    closeby="any"
    x-transition:enter="transition ease-in-out duration-500"
    x-transition:enter-start="translate-x-full"
    x-transition:enter-end="translate-x-0"
    x-transition:leave="transition ease-in-out duration-300"
    x-transition:leave-start="translate-x-0"
    x-transition:leave-end="translate-x-full"
>
    
    <div class="flex gap-2 justify-between">
        <p id="cart-drawer-title" class="text-2xl">
            Mon panier            <span
                class="items-total text-xs"
                x-show="shouldShowItemCount"
                x-text="getItemCountTitle"
            ></span>
        </p>
        <button
            type="button"
            class="btn bg-transparent border-transparent p-2 pt-0 items-start"
            @click="closeCartDrawer"
            aria-label="Close&#x20;minicart"
        >
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewbox="0 0 24 24" aria-hidden="true"><path d="M18 6 6 18M6 6l12 12"/></svg>
        </button>
    </div>

    
    <template x-if="cartIsEmpty">
        <div class="grow grid place-items-center">
            <div class="text-center">
                <svg xmlns="http://www.w3.org/2000/svg" width="120" height="120" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewbox="0 0 24 24" class="inline-block text-fg/30 max-w-full h-auto cart-drawer-empty-icon" aria-hidden="true"><path d="m15 11-1 9M19 11l-4-7M2 11h20M3.5 11l1.6 7.4a2 2 0 0 0 2 1.6h9.8a2 2 0 0 0 2-1.6l1.7-7.4M4.5 15.5h15M5 11l4-7M9 11l1 9"/></svg>
                <p class="mt-10 text-xl">
                    <strong>Votre panier est vide</strong>
                </p>
            </div>
        </div>
    </template>

    <template x-if="itemsCount">
        <div class="grow items-list-cart-drawer min-h-0 flex flex-col overflow-y-auto overscroll-y-contain mask-overflow mask-dir-y">
            <ul class="flex-1 flex flex-col">
                
                <template x-for="item in cartItems" :key="item.item_id">
                    
                    <li class="flex flex-wrap gap-4 md:gap-6 items-start py-4 px-1">
                        <div class="flex  gap-4">
                            <template x-if="productIsVisibleInSite">
                                <a
                                    class="block shrink-0 max-w-[25%]"
                                    :href="item.product_url"
                                    data-aria-label="Product&#x20;&quot;&#x25;0&quot;"
                                    :title="item.product_name"
                                >
                                    <img
                                        class="radius-img"
                                        :src="item.product_image.src"
                                        :width="item.product_image.width"
                                        :height="item.product_image.height"
                                        loading="lazy"
                                        :alt="item.product_name"
                                    >
                                </a>
                            </template>
                            <template x-if="productIsNotVisibleInSite">
                                <div class="block shrink-0 max-w-[25%]">
                                    <img
                                        class="radius-img"
                                        :src="item.product_image.src"
                                        :width="item.product_image.width"
                                        :height="item.product_image.height"
                                        loading="lazy"
                                        :alt="item.product_name"
                                    />
                                </div>
                            </template>
                            <div class="grow space-y-4">
                                <div class="flex gap-1 justify-between items-start flex-wrap">
                                    <p class="item-cart-drawer-title w-full">
                                        <span x-html="item.qty"></span> x <strong x-html="item.product_name"></strong>
                                    </p>
                                    <span class="price-box w-full" x-html="item.product_price"></span>
                                </div>
                                
                            </div>

                        </div>
                        
                        <!-- Afficher détail (mobile only) Alpine toggle, always open on desktop -->
                        <div
                            class="w-full"
                            x-init="initItemDetailsShown(item)"
                            @resize.window="if (isDesktopViewport()) { item.detailsShown = true }"
                        >
                            <template x-if="showDetails(item)">
                                <div>
                                    <!-- Only visible on mobile < 768px -->
                                    <button
                                        type="button"
                                        class="btn btn-primary px-3 py-1 mb-2 block md:hidden"
                                        @click="item.detailsShown = !item.detailsShown"
                                        x-text="item.detailsShown ? 'Masquer la configuration' : 'Afficher la configuration'"
                                        :aria-expanded="item.detailsShown ? 'true' : 'false'"
                                    ></button>
                                    <div
                                        x-show="item.detailsShown"
                                        x-transition
 class="w-full"
                                    >
                                        <dl class="table text-sm w-full">
                                            <template x-if="showSku">
                                                <div class="table-row">
                                                    <dt class="table-cell config-label font-normal min-w-16 pe-2 pb-2">
                                                        Réf                                                    </dt>
                                                    <dd class="table-cell font-bold pb-2" x-html="item.product_sku"></dd>
                                                </div>
                                            </template>
                                            <template x-for="option in item.options">
                                                <div class="table-row">
                                                    <dt
                                                        class="table-cell config-label font-normal min-w-16 pe-2 pb-2"
                                                        x-text="option.label"
                                                    ></dt>
                                                    <dd class="table-cell font-bold pb-2" x-html="option.value"></dd>
                                                </div>
                                            </template>
                                        </dl>
                                    </div>
                                </div>
                            </template>
                        </div>
                
                        <div class="flex flex-wrap gap-2 justify-end items-center w-full">
                            <div class="inline-flex flex-wrap items-center gap-1">
                                <a
                                    :href="item.configure_url"
                                    x-show="productIsNotGroupedAndVisibleInSite"
                                    class="btn p-2"
                                    data-aria-label="Edit&#x20;product&#x20;&quot;&#x25;0&quot;"
                                    :aria-label="productAriaLabel"
                                >
                                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewbox="0 0 24 24" aria-hidden="true"><path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497zM15 5l4 4"/></svg>
                                </a>
                                <button
                                    type="button"
                                    class="btn p-2"
                                    @click="deleteItemFromCart"
                                    data-aria-label="Remove&#x20;product&#x20;&quot;&#x25;0&quot;&#x20;from&#x20;cart"
                                    :aria-label="productAriaLabel"
                                >
                                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewbox="0 0 24 24" aria-hidden="true"><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/></svg>
                                </button>
                            </div>
                            <template x-if="item.message">
                                <div class="message error" x-text="item.message"></div>
                            </template>
                        </div>
                    </li>
                </template>
            </ul>
            <div
    x-ref="cartDrawerSuggestionsHost"
    class="cart-drawer-ventes-add-suggestions-host shrink-0"
    x-show="itemsCount && cart.ventes_add_suggestions_html"
    x-html="cart.ventes_add_suggestions_html"
    x-effect="cart.ventes_add_suggestions_html && initCartDrawerSuggestions($el)"
></div>
        </div>
    </template>

    
    <template x-if="itemsCount">
        <div class="pt-4">
            
            <dl class="flex gap-2 justify-between items-center text-sm font-bold">
                <dt>Sous-total</dt>
                <dd x-html="cart.subtotal"></dd>
            </dl>

            <div class="flex flex-col gap-y-4 mt-8">
                <a
                    @click.prevent.stop="proceedToCheckout"
                    href="https://www.mesrideaux.fr/checkout/"
                    class="btn btn-primary"
                >
                    Commander                </a>
                <a
                    href="https://www.mesrideaux.fr/checkout/cart/"
                    class="btn btn-secondary"
                >
                    Afficher et modifier le panier                </a>
                <div x-html="getSectionDataExtraActions"></div>
                            </div>
        </div>
    </template>

    <template x-if="cartIsEmpty">
        <div class="flex flex-col">
            <button
                type="button"
                @click="closeCartDrawer"
                class="btn btn-primary"
            >Continuez vos achats</button>
        </div>
    </template>

    <div
    class="z-50 fixed inset-0 flex justify-center items-center bg-white/70 select-none"
    x-show="isLoading"
    x-cloak
 x-transition.opacity.duration.200ms
>
    <div class="flex items-center">
        <svg xmlns="http://www.w3.org/2000/svg" width="54" height="54" viewbox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" stroke-linecap="round" class="animate-spin" aria-hidden="true">
    <circle style="opacity: .3;" cx="12" cy="12" r="10"/>
    <path fill="none" stroke-width="2" d="M12,2 a10,10 0 0,1 10,10"/>
</svg>
        <div class="ml-10 text-xl">
            Chargement...        </div>
    </div>
</div>
</dialog>

    <!--Authentication Pop-Up-->
    <!-- BLOCK authentication-popup --><script>
    function initAuthentication() {
        return {
            open: false,
            close() {
                this.open = false;
            },
            forceAuthentication: false,
            checkoutUrl: 'https://www.mesrideaux.fr/checkout/index/',
            errors: 0,
            hasCaptchaToken: 0,
            displayErrorMessage: false,
            errorMessages: [],
            setErrorMessages(message) {
                this.errorMessages = [message];
                this.displayErrorMessage = true;
            },
            submitForm() {
                // Do not rename $form, the variable is expected to be declared in the recaptcha output
                const $form = document.querySelector('#login-form');
                
                if (this.errors === 0) {
                    this.dispatchLoginRequest($form);
                }
            },
            onPrivateContentLoaded() {
                const data = this.$event.detail.data;
                const isLoggedIn = data.customer && data.customer.firstname;
                if (data.cart && !isLoggedIn) {
                    this.forceAuthentication = !data.cart.isGuestCheckoutAllowed;
                }
            },
            redirectIfAuthenticated() {
                const event = this.$event;
                this.open = this.forceAuthentication;

                if (event.detail && event.detail.url) {
                    this.checkoutUrl = event.detail.url;
                }
                if (!this.forceAuthentication) {
                    window.location.href = this.checkoutUrl;
                }
            },
            resetErrors() {
                this.errors = 0;
            },
            dispatchLoginRequest(form) {
                this.isLoading = true;
                const username = this.$refs['customer-email'].value;
                const password = this.$refs['customer-password'].value;
                const formKey = hyva.getFormKey();
                const bodyFields = {
                    'username': username,
                    'password': password,
                    'formKey': formKey
                };
                                const fieldName = '';
                const recaptchaField = fieldName && form[fieldName];
                if (recaptchaField) {
                    bodyFields[fieldName] = recaptchaField.value;
                }
                fetch('https://www.mesrideaux.fr/customer/ajax/login/', {
                        method: 'POST',
                        headers: {
                            'Content-Type': 'application/json',
                            'X-Requested-With': 'XMLHttpRequest'
                        },
                        body: JSON.stringify(bodyFields)
                    }
                ).then(response => {
                        return response.json()
                    }
                ).then(data => {
                    this.isLoading = false;
                    if (data.errors) {
                        this.setErrorMessages(data.message);
                        this.errors = 1;
                        this.hasCaptchaToken = 0;
                    } else {
                        window.location.href = this.checkoutUrl;
                    }
                });
            },
            eventListeners: {
                ['@private-content-loaded.window']() {
                    this.onPrivateContentLoaded();
                },
                ['@toggle-authentication.window']() {
                    this.redirectIfAuthenticated();
                },
                ['@pageshow.window'](event) {
                    if (event.persisted) {
                        this.close();
                    };
                }
            }
        }
    }

    window.addEventListener('alpine:init', () => Alpine.data('initAuthentication', initAuthentication), {once: true})
</script>

<dialog
    id="authentication-popup"
    aria-labelledby="authentication-popup-title"
    class="open:flex flex-col transition ease-out duration-300 motion-reduce:duration-0 p-0"
    x-data="initAuthentication"
    x-bind="eventListeners"
    x-show="open"
    x-htmldialog="close"
    closeby="any"
    x-transition
>
    <div class="pt-8 px-8">
        <div class="flex gap-2 justify-between items-center">
            <p id="authentication-popup-title" class="text-xl">
                <strong>Connexion client</strong>
            </p>
            <button
                type="button"
                class="btn bg-transparent border-transparent p-2"
                @click="close"
                aria-label="Fermer&#x20;le&#x20;panneau"
            >
                <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewbox="0 0 24 24" aria-hidden="true"><path d="M18 6 6 18M6 6l12 12"/></svg>
            </button>
        </div>

        <div class="message error" x-show="errors" x-cloak>
            <template x-for="(message, index) in errorMessages" :key="index">
                <div>
                    <template x-if="message">
                        <span x-html="message"></span>
                    </template>
                </div>
            </template>
        </div>
    </div>

    <div class="block-customer-login p-8">
        <p id="authenticate-customer-login" class="text-lg mb-2">
            <strong>Commandez en utilisant votre compte</strong>
        </p>

        <form
            id="login-form"
            class="form form-login"
            method="post"
            @submit.prevent="submitForm"
        >
                        <input name="context" type="hidden" value="checkout">

            <div class="flex flex-col gap-4">
                <div class="field email required">
                    <label for="form-login-username">
                        <span>Adresse mail</span>
                    </label>
                    <div class="control">
                        <input
                            id="form-login-username"
                            name="username"
                            type="email"
                            class="form-input w-full"
                            required
 autocomplete="off"
                            x-ref="customer-email"
                            @change="resetErrors"
                        >
                    </div>
                </div>
                <div class="field password required">
                    <label for="form-login-password">
                        <span>Mot de passe</span>
                    </label>
                    <div class="control">
                        <input
                            id="form-login-password"
                            name="password"
                            type="password"
                            class="form-input w-full"
                            required
 autocomplete="off"
                            x-ref="customer-password"
                            @change="resetErrors"
                        >
                    </div>
                </div>
            </div>

            <div class="actions-toolbar">
                <button
                    type="submit"
                                        class="btn btn-primary"
                >
                    Se connecter                </button>
                <a
                    href="https://www.mesrideaux.fr/customer/account/forgotpassword/"
                    class="underline hover:no-underline"
                >
                    Mot de passe oublié ?                </a>
            </div>
        </form>
            </div>
    <div class="block-new-customer p-8 border-t border-gray-300">
        <p id="authenticate-new-customer" class="text-lg mb-2">
            <strong>Commander en tant que nouveau client</strong>
        </p>

        <div class="block-content">
            <p class="mb-1">
                Créer un compte a de nombreux avantages :            </p>
            <ul class="list-disc pl-5">
                <li> Voir la commande et suivre l&#039;expédition</li>
                <li> Suivre l&#039;historique des commandes</li>
                <li> Commander plus rapidement</li>
            </ul>
            <div class="actions-toolbar mt-6 mb-2">
                <a href="https://www.mesrideaux.fr/customer/account/create/"
                    class="inline-flex btn btn-primary">
                    Créer un compte                </a>
            </div>
        </div>
    </div>
</dialog>
<!-- /BLOCK authentication-popup -->    
</div>

</header><div class="top-container">
<nav class="breadcrumbs shadow-sm hidden&#x20;lg&#x3A;block" aria-label="Breadcrumb">
    <div class="container">
        <ol class="items list-reset py-4 rounded flex flex-wrap text-grey text-sm">
                            <li class="item flex home">
                                                    <a
                        href="https://www.mesrideaux.fr/"
                                                    aria-label="Aller&#x20;&#xE0;&#x20;la&#x20;page&#x20;d&#x27;accueil"
                                            >Accueil</a>
                                </li>
                                            <li class="item flex category48">
                                    <span aria-hidden="true" class="separator text-fg-secondary px-2">/</span>
                                                    <a
                        href="https://www.mesrideaux.fr/createurs.html"
                                            >Créateurs</a>
                                </li>
                                            <li class="item flex category58">
                                    <span aria-hidden="true" class="separator text-fg-secondary px-2">/</span>
                                                    <a
                        href="https://www.mesrideaux.fr/createurs/gaston-y-daniela.html"
                                            >Gaston y Daniela</a>
                                </li>
                                            <li class="item flex product">
                                    <span aria-hidden="true" class="separator text-fg-secondary px-2">/</span>
                                                    <a
                        href="https://www.mesrideaux.fr/coussin-agueda"
                        class="text-fg-secondary"
                        aria-current="page"
                    >COUSSIN AGUEDA</a>
                                </li>
                                    </ol>
    </div>
</nav>

    <script type="application/ld+json">
        { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/www.mesrideaux.fr\/","name":"Accueil"}},{"@type":"ListItem","position":2,"item":{"@id":"https:\/\/www.mesrideaux.fr\/createurs.html","name":"Cr\u00e9ateurs"}},{"@type":"ListItem","position":3,"item":{"@id":"https:\/\/www.mesrideaux.fr\/createurs\/gaston-y-daniela.html","name":"Gaston y Daniela"}},{"@type":"ListItem","position":4,"item":{"@id":"https:\/\/www.mesrideaux.fr\/coussin-agueda","name":"COUSSIN AGUEDA"}}] }
    </script>
</div><main id="maincontent" class="page-main"><div id="contentarea" tabindex="-1"></div>
<div class="page messages"><script>
        function initMessages() {
        "use strict";
        return {
            messages: window.mageMessages || [],
            isEmpty() {
                return this.messages.reduce(
                    function (isEmpty, message) {
                        return isEmpty && message === undefined
                    }, true
                )
            },
            hasMessages() {
                return !this.isEmpty();
            },
            hasMessage() {
                return !!this.message;
            },
            removeMessage() {
                this.messages[this.index] = undefined;
            },
            addMessages(messages, hideAfter) {
                messages.map((message) => {
                    if (!message.text || !message.text.trim()) return;
                    this.messages = this.messages.concat(message);
                    if (hideAfter === undefined && message.type === 'success' && window.defaultSuccessMessageTimeout) {
                        hideAfter = window.defaultSuccessMessageTimeout;
                    }
                    if (hideAfter) {
                        this.setHideTimeOut(this.messages.length -1, hideAfter);
                    }
                });
            },
            setHideTimeOut(messageIndex, hideAfter) {
                setTimeout((messageIndex) => {
                    this.messages[messageIndex] = undefined;
                }, hideAfter, messageIndex);
            },
            eventListeners: {
                ['@messages-loaded.window'](event) {
                    this.addMessages(event.detail.messages, event.detail.hideAfter)
                },
                ['@private-content-loaded.window'](event) {
                    const data = event.detail.data;
                    if (
                        data.messages &&
                        data.messages.messages &&
                        data.messages.messages.length
                    ) {
                        this.addMessages(data.messages.messages);
                    }
                },
                ['@clear-messages.window']() {
                    this.messages = [];
                },
                ['@pageshow.window'](event) {
                    if (event.persisted) {
                        this.messages = [];
                    };
                }
            },
            getMessageUiId() {
                return 'message-' + this.message.type;
            }
        }
    }

    window.addEventListener('alpine:init', () => Alpine.data('initMessages', initMessages), {once: true})
</script>
<section id="messages"
         x-data="initMessages"
         x-bind="eventListeners"
         role="alert"
>
    <template x-if="hasMessages">
        <div class="w-full">
            <div class="messages container mx-auto py-3">
                <template x-for="(message, index) in messages" :key="index">
                    <div>
                        <template x-if="hasMessage">
                            <div class="message"
                                 :class="message.type"
                                 :ui-id="getMessageUiId"
                            >
                                <span x-html="message.text"></span>
                                <button
                                    type="button"
                                    class="text-gray-600 hover:text-black"
                                    aria-label="Close message"
                                    @click.prevent="removeMessage"
                                >
                                    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" class="stroke-current" width="18" height="18" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
</svg>
                                </button>
                            </div>
                        </template>
                    </div>
                </template>
            </div>
        </div>
    </template>
</section>
</div>    <div class="container&#x20;flex&#x20;flex-col&#x20;md&#x3A;flex-row&#x20;flex-wrap">
        <h1            class="page-title text-3xl&#x20;font-semibold&#x20;mb-8&#x20;text-center&#x20;md&#x3A;sr-only"
            itemprop=name            data-ui-id="page-title-wrapper"
        >
            COUSSIN AGUEDA        </h1>
            </div>
<div class="columns"><div class="column main"><div class="product-info-main"><div class="container">
<section
    class="columns-infos"
    aria-label="Info&#x20;produit"
>

        
<div
    id="gallery"
    x-data="initGallery()"
    x-bind="eventListeners" 
>
    <div
        :class="{            'gallery-fullscreen w-full h-full min-h-0 fixed inset-0 bg-white z-50 flex flex-col mb-0': fullscreen,            'mb-6': !fullscreen        }"
        class="product-gallery"
        :role="fullscreen ? 'dialog' : false"
        :aria-modal="fullscreen"
        :aria-label="fullscreen ? 'Gallery\u0020modal\u0020fullscreen' : false"
    >
        <div
            class="relative w-full"
            :class="fullscreen ? 'flex-1 min-h-0 self-stretch flex flex-col' : 'self-center'"
             @touchstart.passive="handleTouchStart"
             @touchmove.passive="handleTouchMove"
             x-transition:enter="ease-out duration-500"
             x-transition:enter-start="opacity-0"
             x-transition:enter-end="opacity-100"
        >
            <div
                id="gallery-main"
                class="relative"
                :class="{ 'flex-1 min-h-0': fullscreen }"
                aria-live="polite"
                aria-atomic="true"
            >
                                <img
                    alt="COUSSIN&#x20;AGUEDA"
                    title="COUSSIN&#x20;AGUEDA"
                    class="object-contain object-center w-full h-auto"
                    :class="fullscreen ? 'invisible max-h-[75vh]' : 'invisible'"
                    src="https://cdn4.mesrideaux.fr/catalog/product/cache/207e23213cf636ccdef205098cf3c8a3/c/o/coussin-agueda-vue-large.webp"
                    width="700"
                    height="700"
                    itemprop="image"
                >
                <template x-for="(image, index) in images" :key="index">
                    <img
                        :alt="image.caption || 'COUSSIN\u0020AGUEDA'"
                        :title="image.caption || 'COUSSIN\u0020AGUEDA'"
                        class="absolute inset-0 object-contain object-center w-full m-auto"
                        :class="{ 'max-h-[75vh]': fullscreen }"
                        width="700"
                        height="700"
                        :loading="active !== index ? 'lazy' : 'eager'"
                        :src="fullscreen ? image.full : image.img"
                        x-transition.opacity.duration.500ms
 x-show="active === index"
                    >
                </template>
                <button
                    type="button"
                    class="absolute inset-0 w-full outline-offset-2"
                    aria-label="Click&#x20;to&#x20;view&#x20;image&#x20;in&#x20;fullscreen"
                    x-ref="galleryFullscreenBtn"
                    x-show="!fullscreen && images[active].type !== 'video'"
                    x-cloak
 @click="openFullscreen()"
                    @keydown.enter="openFullscreen()"
                ></button>
                <button
                    type="button"
                    class="group absolute inset-0 outline-offset-2 grid place-items-center"
                    aria-label="Play&#x20;video"
                    x-show="images[active].type === 'video' && !activeVideoType"
                    x-cloak
 @click="activateVideo()"
                    @keydown.enter="activateVideo()"
                >
                    <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="currentColor" class="stroke-white/75 fill-black/20 transition ease-in group-hover:scale-110 md:w-24 md:h-24" width="44" height="44" aria-hidden="true">
  <path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM9.555 7.168A1 1 0 008 8v4a1 1 0 001.555.832l3-2a1 1 0 000-1.664l-3-2z" clip-rule="evenodd"/>
</svg>
                </button>
                <div class="absolute inset-0 hidden w-full h-full bg-white nonmobile"
                     :class="{ 'hidden': activeVideoType !== 'youtube' }"
                     x-transition.opacity.duration.500ms
 x-show="images[active].type === 'video' && activeVideoType === 'youtube'"
                >
                    <div id="youtube-player" class="w-full h-full"></div>
                </div>
                <div class="absolute inset-0 hidden w-full h-full bg-white"
                     :class="{ 'hidden': activeVideoType !== 'vimeo' }"
                     x-transition.opacity.duration.500ms
 x-show="images[active].type === 'video' && activeVideoType === 'vimeo'"
                >
                    <div id="vimeo-player" class="w-full h-full"></div>
                </div>
            </div>
        </div>

        <div @resize.window.debounce="calcPageSize(); $nextTick(() => calcActive())">
            <div
                id="thumbs"
                class="flex items-center gap-4"
                :class="{ 'fixed justify-center bottom-0 left-0 right-0': fullscreen, 'mx-6' : fullscreen && !isSlider}"
                
                x-show="images.length > 1"
                x-cloak
>
                <button
                    type="button"
                    aria-label="Pr&#xE9;c&#xE9;dent"
                    tabindex="-1"
                    class="p-2.5 flex items-center justify-center self-stretch text-black outline-none focus:outline-none flex-none"
                    :class="{ 'opacity-25 pointer-events-none' : isSliderStart, 'hidden' : !isSlider }"
                    @click="scrollPrevious"
                ><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M15 19l-7-7 7-7"/>
</svg>
</button>
                <div class="js_thumbs_slides thumbs-wrapper relative flex flex-nowrap w-full min-w-0 overflow-auto js_slides snap"
                     x-ref="jsThumbSlides"
                     @scroll.debounce="calcPageSize(); calcActive(); calcScrollStartEnd()"
                >
                    <template x-for="(image, index) in images" :key="index">
                        <div class="js_thumbs_slide flex shrink-0 mb-2 mr-2 lg:mr-4 last:mr-0">
                            <button
                                type="button"
                                @click.prevent="setActive(index);"
                                class="relative block  hover:border-primary focus:border-primary"
                                :class="{'border-primary': active === index}"
                            >
                                <span class="sr-only">
                                    View larger image                                </span>
                                <img
                                    :src="image.thumb"
                                    :alt="image.caption || 'COUSSIN\u0020AGUEDA\u0020thumbnail'"
                                    :title="image.caption || 'COUSSIN\u0020AGUEDA\u0020thumbnail'"
                                    width="90"
                                    height="90"
                                >
                                <span
                                    class="absolute inset-0 grid place-items-center"
                                    x-show="image.type === 'video'"
                                >
                                    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" class="stroke-white/75 fill-black/20" width="44" height="44" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M15 10l4.553-2.276A1 1 0 0121 8.618v6.764a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z"/>
</svg>
                                </span>
                            </button>
                        </div>
                    </template>
                </div>
                <button
                    type="button"
                    x-show="images.length > 1"
                    x-cloak
 aria-label="Suivant"
                    tabindex="-1"
                    class="p-2.5 flex items-center justify-center self-stretch text-black outline-none focus:outline-none flex-none"
                    :class="{ 'opacity-25 pointer-events-none' : isSliderEnd, 'hidden' : !isSlider }"
                    @click="scrollNext"
                ><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
</svg>
</button>
            </div>
        </div>
        <div class="absolute top-0 right-0 pt-4 pr-4">
            <button @click="closeFullScreen()"
                    type="button"
                    class="hidden text-gray-500 p-3 hover:text-gray-600 focus:text-gray-600                        transition ease-in-out duration-150"
                    :class="{ 'hidden': !fullscreen, 'block': fullscreen }"
                    aria-label="Close&#x20;fullscreen"
            >
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
</svg>
            </button>
        </div>
    </div>
    
                    <div class="mb-4 flex flex-wrap gap-2 items-center">
            <div class="" title="Commande&#x20;&#xE9;chantillon">
                <button
                    type="submit"
                    form="product_addtocart_form"
                    name="sampleorder"
                    title="Commande&#x20;&#xE9;chantillon"
                    class="flex justify-between btn btn-underline"
                    id="product-sample-button"
                    value="sampleorder"
                    x-on:click="$dispatch('hyva-sample-order', { price: '0' })"
                >
                                        <svg width="32" height="32" viewbox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
                        <rect width="32" height="32" fill="url(#pattern0_2001_1435)"/>
                        <defs>
                        <pattern id="pattern0_2001_1435" patterncontentunits="objectBoundingBox" width="1" height="1">
                        <use xlink:href="#image0_2001_1435" transform="scale(0.03125)"/>
                        </pattern>
                        <image id="image0_2001_1435" width="32" height="32" preserveaspectratio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAuQAAALkB4qdB6AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAALsSURBVFiFxdZLiFdVHAfwz0ks84VoJpovdKIMbEZGDFwEoeSqQgUFSaJ2Bu0KWvTY9HAxQbXISApBGMMHCG1a1MJFGBriQlGIwEeSRtCAaZOjXhf3XOZ4597//16d9MBvcc75/X7f7znn9zghyzL3czxQXgghhPtCIITwegjhCEZCCJdCCIMhhCX3gkTAt8gqZBhbsiwzHoJp6MXCZM2WEuhP+Ku09t5dAk/FAP5NfP6MHjicLK6JBhPwNm4mezvuEHwBjtfc8Hb4I05OVRhvwJXEYH1L8FWJ/1Su443iCX6Ni/9gdoWTlTEWMlzC5Ibgm0tXXsgQ1qUx8HmyeRAPVzj7LNFZ0AD8/dLzFfIblpV0PYrzidIRzC0pfZjsL+0APAl7at77EB4ZYxMNV+Biovw71sVgXIkzyd67NeBzYmRXgX+DByvtukTrUI3DXXgose3FuQq9G3ir43OVTjFFfVFK5STmR5sXcblC5zJe6BovNdf5FL7CD/gCn2AkOv4e06Pem/GUZfCzeLpRtrTI6efl1WwCJuJreQpfKIEfxpymfkORCk1HCGEWDsTpc/KGdgqPYxCvxRt8IuociDHSE+d78QwWofkNRKJPGi1ce5L1Q3gnmX+a3MgMfJnMJ0njrAX4WvydOLqGHdiJjVFnnrxoTW/stwZsWWT9YwQZMBqEqVxAf7TpT+LhBBa3JmA0DavKaFl+wbxotwFXS/t/YnVjAngMx0pO6grRPklTQp/by3khw3i5KwEsd3s6dSrFA+TZU7q9uThaQ/iDKpsiA2fLC0eh3K0Z9XcI1MnY3+HWqjpt63a8vEu2BHxcQ+JoxeFafUiGMLNh2r6C/ypInEdfSqDNl+zVpvkd7Z819oNbHPalgkDTT+lgG/CERA9OV5C4IS/bNpU2qr7lH9VFcUMSM+RddSQB/w6zCoXdNUEzjK13ClxDZIWkW6ab2+QpeF3++x3EkvECr5Mx7TiEELLy4v84Wv8HxnvcAgz17yw0qX/7AAAAAElFTkSuQmCC"/>
                        </defs>
                    </svg>
                    <span class="lg:block">
                        Commander un échantillon                    </span>
                </button>
            </div>
        </div>
    
   

</div>

<script>
    function initGallery () {
        let touchXDown, touchYDown;

        return {
            "active": 0,
            "videoData": {},
            "activeVideoType": false,
            "autoplayVideo": false,
            "loopVideo": false,
            "relatedVideos": false,
            "vimeoPlayer": null,
            "fullscreen": false,
            "isSlider": false,
            "initialImages": [{"thumb":"https:\/\/cdn4.mesrideaux.fr\/catalog\/product\/cache\/3380650127d143eec657262365bd2ea0\/c\/o\/coussin-agueda-vue-large.webp","img":"https:\/\/cdn4.mesrideaux.fr\/catalog\/product\/cache\/207e23213cf636ccdef205098cf3c8a3\/c\/o\/coussin-agueda-vue-large.webp","full":"https:\/\/cdn4.mesrideaux.fr\/catalog\/product\/cache\/74c1057f7991b4edb2bc7bdaa94de933\/c\/o\/coussin-agueda-vue-large.webp","caption":"COUSSIN AGUEDA","position":"5","isMain":true,"type":"image","videoUrl":null},{"thumb":"https:\/\/cdn4.mesrideaux.fr\/catalog\/product\/cache\/3380650127d143eec657262365bd2ea0\/c\/o\/coussin-agueda-gros-plan.webp","img":"https:\/\/cdn4.mesrideaux.fr\/catalog\/product\/cache\/207e23213cf636ccdef205098cf3c8a3\/c\/o\/coussin-agueda-gros-plan.webp","full":"https:\/\/cdn4.mesrideaux.fr\/catalog\/product\/cache\/74c1057f7991b4edb2bc7bdaa94de933\/c\/o\/coussin-agueda-gros-plan.webp","caption":"COUSSIN AGUEDA","position":"6","isMain":false,"type":"image","videoUrl":null},{"thumb":"https:\/\/cdn4.mesrideaux.fr\/catalog\/product\/cache\/3380650127d143eec657262365bd2ea0\/c\/o\/coussin-agueda-photo-tissu.webp","img":"https:\/\/cdn4.mesrideaux.fr\/catalog\/product\/cache\/207e23213cf636ccdef205098cf3c8a3\/c\/o\/coussin-agueda-photo-tissu.webp","full":"https:\/\/cdn4.mesrideaux.fr\/catalog\/product\/cache\/74c1057f7991b4edb2bc7bdaa94de933\/c\/o\/coussin-agueda-photo-tissu.webp","caption":"COUSSIN AGUEDA","position":"7","isMain":false,"type":"image","videoUrl":null}],
            "images": [{"thumb":"https:\/\/cdn4.mesrideaux.fr\/catalog\/product\/cache\/3380650127d143eec657262365bd2ea0\/c\/o\/coussin-agueda-vue-large.webp","img":"https:\/\/cdn4.mesrideaux.fr\/catalog\/product\/cache\/207e23213cf636ccdef205098cf3c8a3\/c\/o\/coussin-agueda-vue-large.webp","full":"https:\/\/cdn4.mesrideaux.fr\/catalog\/product\/cache\/74c1057f7991b4edb2bc7bdaa94de933\/c\/o\/coussin-agueda-vue-large.webp","caption":"COUSSIN AGUEDA","position":"5","isMain":true,"type":"image","videoUrl":null},{"thumb":"https:\/\/cdn4.mesrideaux.fr\/catalog\/product\/cache\/3380650127d143eec657262365bd2ea0\/c\/o\/coussin-agueda-gros-plan.webp","img":"https:\/\/cdn4.mesrideaux.fr\/catalog\/product\/cache\/207e23213cf636ccdef205098cf3c8a3\/c\/o\/coussin-agueda-gros-plan.webp","full":"https:\/\/cdn4.mesrideaux.fr\/catalog\/product\/cache\/74c1057f7991b4edb2bc7bdaa94de933\/c\/o\/coussin-agueda-gros-plan.webp","caption":"COUSSIN AGUEDA","position":"6","isMain":false,"type":"image","videoUrl":null},{"thumb":"https:\/\/cdn4.mesrideaux.fr\/catalog\/product\/cache\/3380650127d143eec657262365bd2ea0\/c\/o\/coussin-agueda-photo-tissu.webp","img":"https:\/\/cdn4.mesrideaux.fr\/catalog\/product\/cache\/207e23213cf636ccdef205098cf3c8a3\/c\/o\/coussin-agueda-photo-tissu.webp","full":"https:\/\/cdn4.mesrideaux.fr\/catalog\/product\/cache\/74c1057f7991b4edb2bc7bdaa94de933\/c\/o\/coussin-agueda-photo-tissu.webp","caption":"COUSSIN AGUEDA","position":"7","isMain":false,"type":"image","videoUrl":null}],
            "appendOnReceiveImages": true,
            "activeSlide": 0,
            "isSliderStart": true,
            "isSliderEnd": false,
            "itemCount": 0,
            "pageSize": 4,
            "pageFillers": 0,
            "focusTrapListener": null,
            init() {
                this.initActive();
                this.$nextTick(() => {
                    this.calcPageSize();
                    this.calcScrollStartEnd();
                });

                this.$watch('fullscreen', open => {
                    this.$nextTick(() => {
                        this.scrollLock(open);

                        window.requestAnimationFrame(() => {
                            this.calcPageSize()
                        });
                    });
                })
            },
            receiveImages(images) {
                if (this.appendOnReceiveImages) {
                    const initialUrls = this.initialImages.map(image => image.full);
                    const newImages = images.filter(image => ! initialUrls.includes(image.full));
                    this.images = [].concat(this.initialImages, newImages);
                    this.setActive(newImages.length ? this.initialImages.length : 0);
                } else {
                    this.images = images;
                    // Cosuite / options image (emiproOptionImage) is appended last; without this,
                    // configurable products keep active=0 (appendOnReceiveImages is false for them)
                    // so the option appears in thumbs but not as the main slide.
                    let optionImageIndex = -1;
                    let i;
                    for (i = 0; i < images.length; i++) {
                        if (images[i] && images[i].emiproOptionImage) {
                            optionImageIndex = i;
                        }
                    }
                    if (optionImageIndex !== -1) {
                        this.setActive(optionImageIndex);
                    } else {
                        this.setActive(0);
                    }
                }

                this.$nextTick(() => {
                    this.scrollTo(this.active);
                });

                this.itemCount = this.images.length;
            },
            resetGallery() {
                this.images = this.initialImages;
                this.itemCount = this.images.length;
                this.initActive();
                this.$nextTick(() => {
                    this.scrollTo(this.active);
                });
            },
            initActive() {
                let active = this.images.findIndex(function(image) {
                    return image.isMain === true
                });
                if (active === -1) {
                    active = 0;
                }
                this.setActive(active);
            },
            setActive(index) {
                this.active = index;
                this.activeVideoType = false;
                if (window.youtubePlayer) {
                    window.youtubePlayer.stopVideo();
                }
                if (this.vimeoPlayer) {
                    this.vimeoPlayer.contentWindow.postMessage(JSON.stringify({"method": "pause"}), "*");
                }
                if (this.images[index].type === 'video' && this.autoplayVideo) {
                    this.activateVideo();
                }
            },
            activateVideo() {
                const videoData = this.getVideoData();

                if (!videoData) { return }

                this.activeVideoType = videoData.type;

                if (videoData.type === "youtube") {
                    if (!window.youtubePlayer) {
                        this.initYoutubeAPI(videoData);
                    } else {
                        window.youtubePlayer.loadVideoById(videoData.id);
                    }

                } else if (videoData.type === "vimeo") {
                    this.initVimeoVideo(videoData);
                }
            },
            getVideoData() {
                const videoUrl = this.images[this.active] && this.images[this.active].videoUrl;

                if (!videoUrl) { return }

                let id,
                    type,
                    youtubeRegex,
                    vimeoRegex,
                    useYoutubeNoCookie = false;

                if (videoUrl.match(/youtube\.com|youtu\.be|youtube-nocookie.com/)) {
                    id = videoUrl.replace(/^\/(embed\/|v\/)?/, '').replace(/\/.*/, '');
                    type = 'youtube';

                    youtubeRegex = /^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/)|(?:(?:watch)?\?v(?:i)?=|\&v(?:i)?=))([^#\&\?]*).*/;
                    id = videoUrl.match(youtubeRegex)[1];

                    if (videoUrl.match(/youtube-nocookie.com/)) {
                        useYoutubeNoCookie = true;
                    }
                } else if (videoUrl.match(/vimeo\.com/)) {
                    type = 'vimeo';
                    vimeoRegex = new RegExp(['https?:\\/\\/(?:www\\.|player\\.)?vimeo.com\\/(?:channels\\/(?:\\w+\\/)',
                        '?|groups\\/([^\\/]*)\\/videos\\/|album\\/(\\d+)\\/video\\/|video\\/|)(\\d+)(?:$|\\/|\\?)'
                    ].join(''));
                    id = videoUrl.match(vimeoRegex)[3];
                }

                return id ? {
                    id: id, type: type, useYoutubeNoCookie: useYoutubeNoCookie
                } : false;
            },
            initYoutubeAPI(videoData) {
                if (document.getElementById('loadYoutubeAPI')) {
                    return;
                }
                const params = {
                    "autoplay": true
                };
                const loadYoutubeAPI = document.createElement('script');
                loadYoutubeAPI.src = 'https://www.youtube.com/iframe_api';
                loadYoutubeAPI.id = 'loadYoutubeAPI';
                const firstScriptTag = document.getElementsByTagName('script')[0];
                firstScriptTag.parentNode.insertBefore(loadYoutubeAPI, firstScriptTag);

                const host = (videoData.useYoutubeNoCookie) ?
                    'https://www.youtube-nocookie.com' :
                    'https://www.youtube.com';

                if (!this.relatedVideos) {
                    params.rel = 0;
                }
                const fireYoutubeAPI = document.createElement('script');
                fireYoutubeAPI.innerHTML = `function onYouTubeIframeAPIReady() {
                    window.youtubePlayer = new YT.Player('youtube-player', {
                        host: '${host}',
                        videoId: '${videoData.id}',
                        playerVars: ${JSON.stringify(params)},
                    });
                }`;
                firstScriptTag.parentNode.insertBefore(fireYoutubeAPI, firstScriptTag);
            },
            initVimeoVideo(videoData) {
                let additionalParams = '&autoplay=1';
                let src = '';

                const timestamp = new Date().getTime();
                const vimeoContainer = document.getElementById("vimeo-player");
                const videoId = videoData.id;

                if (!vimeoContainer || !videoId) return;

                if (this.loopVideo) {
                    additionalParams += '&loop=1';
                }
                src = 'https://player.vimeo.com/video/' +
                    videoId + '?api=1&player_id=vimeo' +
                    videoId +
                    timestamp +
                    additionalParams;
                vimeoContainer.innerHTML =
                    `<iframe id="${'vimeo' + videoId + timestamp}"
                        src="${src}"
                        width="640" height="360"
                        webkitallowfullscreen
                        mozallowfullscreen
                        allowfullscreen
                        referrerPolicy="origin"
                        allow="autoplay"
                        class="object-center w-full h-full object-fit"
                     ></iframe>`;

                this.vimeoPlayer = vimeoContainer.childNodes[0];
            },
            getSlider() {
                return this.$refs.jsThumbSlides;
            },
            calcPageSize() {
                const slider = this.getSlider();
                if (slider) {
                    const slideEl = slider.querySelector('.js_thumbs_slide');
                    if (!slideEl) return;

                    const isVertical = slider.scrollHeight > slider.scrollWidth;
                    const styles = window.getComputedStyle(slideEl);
                    const margin = parseInt(isVertical ? styles.marginBottom : styles.marginRight);
                    const itemSize = isVertical ? slideEl.clientHeight : slideEl.clientWidth;
                    const viewportSize = isVertical ? slider.clientHeight : slider.clientWidth;

                    this.itemCount = slider.querySelectorAll('.js_thumbs_slide').length;
                    this.pageSize = Math.max(1, Math.round(viewportSize / (itemSize + margin)));
                    this.pageFillers = (
                        this.pageSize * Math.ceil(this.itemCount / this.pageSize)
                    ) - this.itemCount;

                    this.isSlider = this.itemCount > this.pageSize;
                }
            },
            calcScrollStartEnd() {
                const slider = this.getSlider();
                if (slider) {
                    const isVertical = slider.scrollHeight > slider.scrollWidth;
                    if (isVertical) {
                        this.isSliderStart = slider.scrollTop === 0;
                        this.isSliderEnd = Math.ceil(slider.scrollTop + slider.offsetHeight) >= slider.scrollHeight;
                    } else {
                        this.isSliderStart = slider.scrollLeft === 0;
                        this.isSliderEnd = Math.ceil(slider.scrollLeft + slider.offsetWidth) >= slider.scrollWidth;
                    }
                }
            },
            calcActive() {
                const slider = this.getSlider();
                if (slider) {
                    const isVertical = slider.scrollHeight > slider.scrollWidth;
                    const sliderItems = this.itemCount + this.pageFillers;
                    const trackSize = isVertical ? slider.scrollHeight : slider.scrollWidth;
                    const position = isVertical ? slider.scrollTop : slider.scrollLeft;
                    const calculatedActiveSlide = position / (trackSize / sliderItems);
                    this.activeSlide = Math.round(calculatedActiveSlide / this.pageSize) * this.pageSize;
                }
            },
            scrollPrevious() {
                this.scrollTo(this.activeSlide - this.pageSize);
            },
            scrollNext() {
                this.scrollTo(this.activeSlide + this.pageSize);
            },
            scrollTo(idx) {
                const slider = this.getSlider();
                if (slider) {
                    const isVertical = slider.scrollHeight > slider.scrollWidth;
                    const trackSize = isVertical ? slider.scrollHeight : slider.scrollWidth;
                    const slideSize = trackSize / (this.itemCount + this.pageFillers);
                    if (isVertical) {
                        slider.scrollTop = Math.floor(slideSize) * idx;
                    } else {
                        slider.scrollLeft = Math.floor(slideSize) * idx;
                    }
                    this.activeSlide = idx;
                }
            },
            setActiveAndScrollTo(index) {
                this.setActive(index)
                if (this.isSlider) {
                    this.scrollTo(index);
                }
            },
            eventListeners: {
                ['@keydown.window.escape']() {
                    if (!this.fullscreen) return;
                    this.closeFullScreen()
                },
                ['@update-gallery.window'](event) {
                    this.receiveImages(event.detail);
                },
                ['@reset-gallery.window'](event) {
                    this.resetGallery();
                },
                ['@keyup.arrow-right.window']() {
                    if (!this.fullscreen) return;
                    this.nextItem();
                },
                ['@keyup.arrow-left.window']() {
                    if (!this.fullscreen) return;
                    this.previousItem();
                },
            },
            scrollLock(use = true) {
                document.body.style.overflow = use ? "hidden" : "";
            },
            openFullscreen() {
                this.fullscreen = true;

                hyva.trapFocus(this.$root);
            },
            closeFullScreen() {
                const setFocusTo = this.$refs.galleryFullscreenBtn;
                this.fullscreen = false;
                hyva.releaseFocus(this.$root);
                this.$nextTick(() => {
                    this.calcPageSize();
                    setFocusTo && setFocusTo.focus()
                });
            },
            handleTouchStart(event) {
                if (
                    this.images.length <= 1 ||
                    event.touches.length > 1 ||
                    (window.visualViewport && window.visualViewport.scale > 1.01)
                ) return;
                const firstTouch = event.touches[0];

                touchXDown = firstTouch.clientX;
                touchYDown = firstTouch.clientY;
            },
            handleTouchMove(event) {
                if (
                    this.images.length <= 1 ||
                    event.touches.length > 1 ||
                    (window.visualViewport && window.visualViewport.scale > 1.01) ||
                    !touchXDown ||
                    !touchYDown
                ) return;

                const xDiff = touchXDown - event.touches[0].clientX;
                const yDiff = touchYDown - event.touches[0].clientY;

                if (Math.abs(xDiff) > Math.abs(yDiff)) {
                    const newIndex = xDiff > 0 ?  this.getNextIndex() : this.getPreviousIndex();
                    this.setActiveAndScrollTo(newIndex)
                }
                touchXDown = touchYDown = null;
            },
            getPreviousIndex() {
                return this.active > 0 ? this.active - 1 : this.itemCount - 1;
            },
            getNextIndex() {
                return this.active + 1 === this.itemCount ? 0 : this.active + 1;
            },
            previousItem() {
                if (this.active === 0) return;
                this.setActiveAndScrollTo(this.active - 1);
            },
            nextItem() {
                if ((this.active + 1) === this.itemCount) return;
                this.setActiveAndScrollTo(this.active + 1);
            },
        }
     }
</script>

        <div class="card mb-0">
        <div class="hidden&#x20;mb-6&#x20;md&#x3A;block">
        <div            class="page-title text-3xl&#x20;font-bold&#x20;mb-6"
            aria-hidden=true            data-ui-id="page-title-wrapper"
        >
            COUSSIN AGUEDA        </div>
            </div>

    <!-- <div class="my-2 flex"> -->
            <!-- </div> -->

            <!--<div class="mb-4 leading-relaxed product-description prose">--><!--</div>-->
    
    <!-- <div class="flex flex-col sm:flex-row justify-between my-4">
        <div class="inline-flex flex-wrap items-center gap-x-6">
                                </div>
            </div> -->

    <!-- <dl id="product-details">
                                    <div class="flex border-t border-gray-300 py-2 last:mb-6 last:border-b attribute-">
                    <dt class="w-1/2 text-left text-gray-700 product-detail-label">
                                            </dt>
                    <dd class="w-1/2 ml-2 text-left text-gray-900 product-detail-value">
                                            </dd>
                </div>
                        </dl> -->

        <form method="post"
          action="https://www.mesrideaux.fr/checkout/cart/add/uenc/aHR0cHM6Ly93d3cubWVzcmlkZWF1eC5mci9jb3Vzc2luLWFndWVkYQ~~/product/29996/"
          class="mb-0"
          id="product_addtocart_form"
                        enctype="multipart/form-data"
                                                                      data-sku="gdt5287-001-gaston-coussin"
                            >
        <input type="hidden" name="product" value="29996">
        <input type="hidden" name="selected_configurable_option" value="">
        <input type="hidden" name="related_product" id="related-products-field" value="">
        <input type="hidden" name="item"  value="29996">
        <input name="form_key" type="hidden" value="1hz3gWuNnl2g4AD3" />        <div class="product-options-wrapper" id="product-options-wrapper">
    <div class="configurateur-step-title">Personnalisez votre produit&nbsp;:</div>
    <div class="fieldset" tabindex="0">
        

    <script type="text/x-magento-init">
    {
        "#product_addtocart_form": {
            "Magento_Catalog/js/validate-product": {
                "radioCheckboxClosest": ".nested",
                "ignore": ".ignore",
                "bindSubmit": true
            },
            "priceOptions": {
                "optionConfig": {"552850":{"1447429":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"40 x 40 cm"},"1447430":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"50 x 30 cm"},"1447431":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"50 x 40 cm"},"1447432":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"50 x 50 cm"},"1447433":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"60 x 30 cm"},"1447434":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"60 x 60 cm"}},"550550":{"1435501":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"Bord \u00e0 bord"},"1435502":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"Bordures personnalis\u00e9es (passepoils)"}},"543773":{"1398807":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"Avec int\u00e9rieur"},"1398808":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"Sans int\u00e9rieur"}},"541626":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"Nombre de coussin identiques"},"548403":{"1428877":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"M\u00eame tissu"},"1428878":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"Noir"},"1428879":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"Blanc"},"1428880":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"Gris souris"},"1428881":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"Vert d\u2019eau"},"1428882":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"Bleu stone"},"1428883":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"Aucun"}},"546089":{"1412679":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"M\u00eame tissu"},"1412680":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"Linum naturel"},"1412681":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"Lin lav\u00e9 noir"},"1412682":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"Lin lav\u00e9 blanc"},"1412683":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"Lin lav\u00e9 brouillard"},"1412684":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"Lin lav\u00e9 anthracite"},"1412685":{"prices":{"oldPrice":{"amount":0,"adjustments":[]},"basePrice":{"amount":0},"finalPrice":{"amount":0}},"type":"fixed","name":"Aucun"}}},
                "controlContainer": ".field",
                "priceHolderSelector": "[data-product-id='29996'][data-role=priceBox]"
            }
        }
    }
    </script>
    <div id="configurateur" class="set_coussins">
                    <div class="step pdp-dropdown mb-4" id="step_12">
                <button
                    type="button"
                    class="step-title pdp-dropdown__toggle w-full flex items-center justify-between gap-2 py-2 text-left"
                    aria-expanded="false"
                >
                    <span class="pdp-dropdown__label">Étape 1 : J’indique mes dimensions</span>
                    <span class="pdp-dropdown__caret" aria-hidden="true"></span>
                </button>
                <div class="pdp-dropdown__panel" aria-hidden="true">
                    <div class="pdp-dropdown__inner">
                <div class="step-wrapper">

                                                                                <a href="javascript:void(0);"
                           class="take-measures openModel" data-id="popupInfo">Plus d'informations sur les coussins</a>
                        <div id="popupInfo" >
                            <p>Contenu en cours de confection</p>                        </div>
                                    
                                                                                                        
<div id="" class="field required">
        <label class="label" for="select_552850" style="display: block;line-height: 1.3;">
        <span id="emioptlable_552850" data-value="" data-value-old="" style="display: inline-block; overflow: hidden; text-overflow: ellipsis; font-weight: 600;" class="ept_emioptlable"></span>
    </label>
            <div class="control">
        <span class="hide" id="emispanlable_552850"></span>
        <div class="options-list nested" style=""
            id="options-552850-list"><div class="field choice admin__field admin__field-option required"><input data-sku="40x40" data-price=""
                    style="visibility: hidden;height: 35px; width: 35px;"
                    onclick='                    activeinputdiv(this,"emispanlable_552850","40&nbsp;x&nbsp;40&nbsp;cm",0,"media/customoptions/c/o/coussin_carr_.jpg","","thumb_gallery",552850,"img","https://cdn4.mesrideaux.fr/customoptions/c/o/coussin-40x40.png","")' type="radio" class="coussin-dimension radio admin__control-radio option01  required product-custom-option" name="options[552850]" id="options_552850_2" value="1447429"  data-value="" data-selector="options[552850]" price="0" lastchange=""><label class="label admin__field-label"
                        for="options_552850_2"><div class="option-wrapper-img"><img class="lazyload" src="https://cdn4.mesrideaux.fr/customoptions/c/o/coussin-40x40.png" data-src="https://cdn4.mesrideaux.fr/customoptions/c/o/coussin-40x40.png" alt="40 x 40 cm" height="70" width="200" loading="lazy"></div><span>40 x 40 cm</span><span class="option-final-price" data-option-key="552850_1447429"></span></label></div><div class="field choice admin__field admin__field-option required"><input data-sku="50x30" data-price=""
                    style="visibility: hidden;height: 35px; width: 35px;"
                    onclick='                    activeinputdiv(this,"emispanlable_552850","50&nbsp;x&nbsp;30&nbsp;cm",0,"media/customoptions/c/o/coussin_rect.jpeg","","thumb_gallery",552850,"img","https://cdn4.mesrideaux.fr/customoptions/c/o/coussin-50x30.png","")' type="radio" class="coussin-dimension radio admin__control-radio option01  required product-custom-option" name="options[552850]" id="options_552850_3" value="1447430"  data-value="" data-selector="options[552850]" price="0" lastchange=""><label class="label admin__field-label"
                        for="options_552850_3"><div class="option-wrapper-img"><img class="lazyload" src="https://cdn4.mesrideaux.fr/customoptions/c/o/coussin-50x30.png" data-src="https://cdn4.mesrideaux.fr/customoptions/c/o/coussin-50x30.png" alt="50 x 30 cm" height="70" width="200" loading="lazy"></div><span>50 x 30 cm</span><span class="option-final-price" data-option-key="552850_1447430"></span></label></div><div class="field choice admin__field admin__field-option required"><input data-sku="50x40" data-price=""
                    style="visibility: hidden;height: 35px; width: 35px;"
                    onclick='                    activeinputdiv(this,"emispanlable_552850","50&nbsp;x&nbsp;40&nbsp;cm",0,"media/customoptions/c/o/coussin_rect_1.jpeg","","thumb_gallery",552850,"img","https://cdn4.mesrideaux.fr/customoptions/c/o/coussin-50x40.png","")' type="radio" class="coussin-dimension radio admin__control-radio option01  required product-custom-option" name="options[552850]" id="options_552850_4" value="1447431"  data-value="" data-selector="options[552850]" price="0" lastchange=""><label class="label admin__field-label"
                        for="options_552850_4"><div class="option-wrapper-img"><img class="lazyload" src="https://cdn4.mesrideaux.fr/customoptions/c/o/coussin-50x40.png" data-src="https://cdn4.mesrideaux.fr/customoptions/c/o/coussin-50x40.png" alt="50 x 40 cm" height="70" width="200" loading="lazy"></div><span>50 x 40 cm</span><span class="option-final-price" data-option-key="552850_1447431"></span></label></div><div class="field choice admin__field admin__field-option required"><input data-sku="50x50" data-price=""
                    style="visibility: hidden;height: 35px; width: 35px;"
                    onclick='                    activeinputdiv(this,"emispanlable_552850","50&nbsp;x&nbsp;50&nbsp;cm",0,"media/customoptions/c/o/coussin_carr__1.jpeg","","thumb_gallery",552850,"img","https://cdn4.mesrideaux.fr/customoptions/c/o/coussin-50x50.png","")' type="radio" class="coussin-dimension radio admin__control-radio option01  required product-custom-option" name="options[552850]" id="options_552850_5" value="1447432"  data-value="" data-selector="options[552850]" price="0" lastchange=""><label class="label admin__field-label"
                        for="options_552850_5"><div class="option-wrapper-img"><img class="lazyload" src="https://cdn4.mesrideaux.fr/customoptions/c/o/coussin-50x50.png" data-src="https://cdn4.mesrideaux.fr/customoptions/c/o/coussin-50x50.png" alt="50 x 50 cm" height="70" width="200" loading="lazy"></div><span>50 x 50 cm</span><span class="option-final-price" data-option-key="552850_1447432"></span></label></div><div class="field choice admin__field admin__field-option required"><input data-sku="60x30" data-price=""
                    style="visibility: hidden;height: 35px; width: 35px;"
                    onclick='                    activeinputdiv(this,"emispanlable_552850","60&nbsp;x&nbsp;30&nbsp;cm",0,"media/customoptions/c/o/coussin_rect.jpg","","thumb_gallery",552850,"img","https://cdn4.mesrideaux.fr/customoptions/c/o/coussin-60x30.png","")' type="radio" class="coussin-dimension radio admin__control-radio option01  required product-custom-option" name="options[552850]" id="options_552850_6" value="1447433"  data-value="" data-selector="options[552850]" price="0" lastchange=""><label class="label admin__field-label"
                        for="options_552850_6"><div class="option-wrapper-img"><img class="lazyload" src="https://cdn4.mesrideaux.fr/customoptions/c/o/coussin-60x30.png" data-src="https://cdn4.mesrideaux.fr/customoptions/c/o/coussin-60x30.png" alt="60 x 30 cm" height="70" width="200" loading="lazy"></div><span>60 x 30 cm</span><span class="option-final-price" data-option-key="552850_1447433"></span></label></div><div class="field choice admin__field admin__field-option required"><input data-sku="60x60" data-price=""
                    style="visibility: hidden;height: 35px; width: 35px;"
                    onclick='                    activeinputdiv(this,"emispanlable_552850","60&nbsp;x&nbsp;60&nbsp;cm",0,"media/customoptions/c/o/coussin_carr__1.jpg","","thumb_gallery",552850,"img","https://cdn4.mesrideaux.fr/customoptions/c/o/coussin-60x60.png","")' type="radio" class="coussin-dimension radio admin__control-radio option01  required product-custom-option" name="options[552850]" id="options_552850_7" value="1447434"  data-value="" data-selector="options[552850]" price="0" lastchange=""><label class="label admin__field-label"
                        for="options_552850_7"><div class="option-wrapper-img"><img class="lazyload" src="https://cdn4.mesrideaux.fr/customoptions/c/o/coussin-60x60.png" data-src="https://cdn4.mesrideaux.fr/customoptions/c/o/coussin-60x60.png" alt="60 x 60 cm" height="70" width="200" loading="lazy"></div><span>60 x 60 cm</span><span class="option-final-price" data-option-key="552850_1447434"></span></label></div></div>
        <!-- custom options depends -->
                    <input id="options_552850" type="radio" style="display:none;" price="" value="" name="options[552850]">
                <!-- custom options depends -->

                                </div>
</div>
<script>
    (function () {
        var payload = {
            defaultOption: [{"optionDefaultValue":"0","optiontype":"thumb_gallery","optionLable":"552850","optionPrice":0,"optionValue":"1447429"},{"optionDefaultValue":"0","optiontype":"thumb_gallery","optionLable":"552850","optionPrice":0,"optionValue":"1447430"},{"optionDefaultValue":"0","optiontype":"thumb_gallery","optionLable":"552850","optionPrice":0,"optionValue":"1447431"},{"optionDefaultValue":"0","optiontype":"thumb_gallery","optionLable":"552850","optionPrice":0,"optionValue":"1447432"},{"optionDefaultValue":"0","optiontype":"thumb_gallery","optionLable":"552850","optionPrice":0,"optionValue":"1447433"},{"optionDefaultValue":"0","optiontype":"thumb_gallery","optionLable":"552850","optionPrice":0,"optionValue":"1447434"}],
            OptionId: 0        };

        window.__emiproCustomOptionDefaultQueue = window.__emiproCustomOptionDefaultQueue || [];
        window.__emiproCustomOptionDefaultQueue.push(payload);

        if (window.__emiproCustomOptionDefaultRunnerBound) {
            return;
        }
        window.__emiproCustomOptionDefaultRunnerBound = true;

        function applyDefaultOptions() {
            var queue = window.__emiproCustomOptionDefaultQueue || [];
            var i, j, data, item, listNode, listInputs, input, selectNode, selectOption;

            for (i = 0; i < queue.length; i++) {
                data = queue[i] && queue[i].defaultOption ? queue[i].defaultOption : [];
                for (j = 0; j < data.length; j++) {
                    item = data[j];
                    if (!item || String(item.optionDefaultValue) !== '1') {
                        continue;
                    }

                    if (item.optiontype === 'radio'
                        || item.optiontype === 'checkbox'
                        || item.optiontype === 'thumb_gallery'
                        || item.optiontype === 'thumb_gallery_popup'
                        || item.optiontype === 'thumb_gallery_multi'
                    ) {
                        listNode = document.getElementById('options-' + item.optionLable + '-list');
                        if (!listNode) {
                            continue;
                        }
                        listInputs = listNode.querySelectorAll('input[value="' + item.optionValue + '"]');
                        if (!listInputs.length) {
                            continue;
                        }
                        input = listInputs[0];
                        input.checked = true;
                        input.dispatchEvent(new Event('click', { bubbles: true }));
                        input.dispatchEvent(new Event('change', { bubbles: true }));
                    } else if (item.optiontype === 'drop_down' || item.optiontype === 'multiple') {
                        selectNode = document.getElementById('select_' + item.optionLable);
                        if (!selectNode) {
                            continue;
                        }
                        selectOption = selectNode.querySelector('option[value="' + item.optionValue + '"]');
                        if (!selectOption) {
                            continue;
                        }
                        selectOption.selected = true;
                        selectNode.dispatchEvent(new Event('change', { bubbles: true }));
                    }
                }
            }
        }

        if (document.readyState === 'loading') {
            document.addEventListener('DOMContentLoaded', function () {
                setTimeout(applyDefaultOptions, 0);
            });
        } else {
            setTimeout(applyDefaultOptions, 0);
        }
    })();
</script>
<div style="display:none"><div class="custom-div-to-show-popup"></div></div><script type="text/javascript">
    var mediaurl = "https://www.mesrideaux.fr/";
    var baseImageChange = "";
    var enabled_tooltip = "0";
    var enabled_cmi = "1";
    var flag = 0;
</script>

<!-- custom options depends -->
<script type="text/javascript">
function jsHide(optionId){
    require(['jquery'], function ($) {
        if (document.getElementById('options-'+optionId+'-list')) {
            var getActiveClass = $('#options-'+optionId+'-list').children().hasClass('selectDepend');
            if(!getActiveClass){
                document.getElementById('options-'+optionId+'-list').parentElement.parentElement.style.display = 'none';
            }
        }

        if(document.getElementById('select_'+optionId)){
            if(!$('#select_'+optionId).attr('multiple')){
                var getSelectedOptionValue = $('#select_'+optionId+' :selected').val();
                if(!getSelectedOptionValue){
                    document.getElementById('select_'+optionId).parentElement.parentElement.style.display = 'none';
                    document.getElementById('select_'+optionId).disabled = true;
                }
            }else{
                var getSelectedOption = $('#select_'+optionId+' :selected').length;
                if(getSelectedOption<1){
                    document.getElementById('select_'+optionId).parentElement.parentElement.style.display = 'none';
                    document.getElementById('select_'+optionId).disabled = true;
                }
            }
        }
    });
}
</script>
<!-- custom options depends -->
                                                                                                                                                                                                                                                                                                                                            <span class="btn-validconfig btn btn-primary reloadprice" data-step="12">
                    <span class="ok">OK</span>
                    <span class="valid">Valider</span>
                </span>
                </div>
                    </div>
                </div>
            </div>
                    <div class="step pdp-dropdown mb-4" id="step_40">
                <button
                    type="button"
                    class="step-title pdp-dropdown__toggle w-full flex items-center justify-between gap-2 py-2 text-left"
                    aria-expanded="false"
                >
                    <span class="pdp-dropdown__label">Étape 2 : Je sélectionne ma finition</span>
                    <span class="pdp-dropdown__caret" aria-hidden="true"></span>
                </button>
                <div class="pdp-dropdown__panel" aria-hidden="true">
                    <div class="pdp-dropdown__inner">
                <div class="step-wrapper">

                
                                                                                                                                                                
<div id="finition" class="field required">
        <label class="label" for="select_550550" style="display: block;line-height: 1.3;">
        <span id="emioptlable_550550" data-value="Finition" data-value-old="Finition" style="display: inline-block; overflow: hidden; text-overflow: ellipsis; font-weight: 600;" class="ept_emioptlable">Finition</span>
    </label>
            <div class="control">
        <span class="hide" id="emispanlable_550550"></span>
        <div class="options-list nested" style=""
            id="options-550550-list"><div class="field choice admin__field admin__field-option required"><input data-sku="coussin-finition-bord" data-price=""
                    style="visibility: hidden;height: 35px; width: 35px;"
                    onclick='                    activeinputdiv(this,"emispanlable_550550","Bord&nbsp;à&nbsp;bord",0,"media/customoptions/c/o/coussin-bord-a-bord-visuel.webp","","thumb_gallery",550550,"img","https://www.mesrideaux.fr/media/customoptions/c/o/coussin-bord-a-bord-visuel-picto.webp","")' type="radio" class="coussin-Finition radio admin__control-radio option01  required product-custom-option" name="options[550550]" id="options_550550_2" value="1435501"  data-value="" data-selector="options[550550]" price="0" lastchange=""><label class="label admin__field-label"
                        for="options_550550_2"><div class="option-wrapper-img"><img class="lazyload" src="https://www.mesrideaux.fr/media/customoptions/c/o/coussin-bord-a-bord-visuel-picto.webp" data-src="https://www.mesrideaux.fr/media/customoptions/c/o/coussin-bord-a-bord-visuel-picto.webp" alt="Bord à bord" height="70" width="200" loading="lazy"></div><span>Bord à bord</span><a href="javascript:void(0);" class="openModel">i</a><span class="option-final-price" data-option-key="550550_1435501"></span></label></div><div class="field choice admin__field admin__field-option required"><input data-sku="coussin-finition-passepoil" data-price=""
                    style="visibility: hidden;height: 35px; width: 35px;"
                    onclick='                    activeinputdiv(this,"emispanlable_550550","Bordures&nbsp;personnalisées&nbsp;(passepoils)",0,"media/customoptions/c/o/coussin-passepoil-visuel.webp","","thumb_gallery",550550,"img","https://www.mesrideaux.fr/media/customoptions/c/o/coussin-passepoil-visuel-picto.webp","")' type="radio" class="coussin-Finition radio admin__control-radio option01  required product-custom-option" name="options[550550]" id="options_550550_3" value="1435502"  data-value="" data-selector="options[550550]" price="0" lastchange="546089||548403"><label class="label admin__field-label"
                        for="options_550550_3"><div class="option-wrapper-img"><img class="lazyload" src="https://www.mesrideaux.fr/media/customoptions/c/o/coussin-passepoil-visuel-picto.webp" data-src="https://www.mesrideaux.fr/media/customoptions/c/o/coussin-passepoil-visuel-picto.webp" alt="Bordures personnalisées (passepoils)" height="70" width="200" loading="lazy"></div><span>Bordures personnalisées (passepoils)</span><a href="javascript:void(0);" class="openModel">i</a><span class="option-final-price" data-option-key="550550_1435502"></span></label></div></div>
        <!-- custom options depends -->
                    <input id="options_550550" type="radio" style="display:none;" price="" value="" name="options[550550]">
                <!-- custom options depends -->

                                </div>
</div>
<script>
    (function () {
        var payload = {
            defaultOption: [{"optionDefaultValue":"0","optiontype":"thumb_gallery","optionLable":"550550","optionPrice":0,"optionValue":"1435501"},{"optionDefaultValue":"0","optiontype":"thumb_gallery","optionLable":"550550","optionPrice":0,"optionValue":"1435502"}],
            OptionId: 0        };

        window.__emiproCustomOptionDefaultQueue = window.__emiproCustomOptionDefaultQueue || [];
        window.__emiproCustomOptionDefaultQueue.push(payload);

        if (window.__emiproCustomOptionDefaultRunnerBound) {
            return;
        }
        window.__emiproCustomOptionDefaultRunnerBound = true;

        function applyDefaultOptions() {
            var queue = window.__emiproCustomOptionDefaultQueue || [];
            var i, j, data, item, listNode, listInputs, input, selectNode, selectOption;

            for (i = 0; i < queue.length; i++) {
                data = queue[i] && queue[i].defaultOption ? queue[i].defaultOption : [];
                for (j = 0; j < data.length; j++) {
                    item = data[j];
                    if (!item || String(item.optionDefaultValue) !== '1') {
                        continue;
                    }

                    if (item.optiontype === 'radio'
                        || item.optiontype === 'checkbox'
                        || item.optiontype === 'thumb_gallery'
                        || item.optiontype === 'thumb_gallery_popup'
                        || item.optiontype === 'thumb_gallery_multi'
                    ) {
                        listNode = document.getElementById('options-' + item.optionLable + '-list');
                        if (!listNode) {
                            continue;
                        }
                        listInputs = listNode.querySelectorAll('input[value="' + item.optionValue + '"]');
                        if (!listInputs.length) {
                            continue;
                        }
                        input = listInputs[0];
                        input.checked = true;
                        input.dispatchEvent(new Event('click', { bubbles: true }));
                        input.dispatchEvent(new Event('change', { bubbles: true }));
                    } else if (item.optiontype === 'drop_down' || item.optiontype === 'multiple') {
                        selectNode = document.getElementById('select_' + item.optionLable);
                        if (!selectNode) {
                            continue;
                        }
                        selectOption = selectNode.querySelector('option[value="' + item.optionValue + '"]');
                        if (!selectOption) {
                            continue;
                        }
                        selectOption.selected = true;
                        selectNode.dispatchEvent(new Event('change', { bubbles: true }));
                    }
                }
            }
        }

        if (document.readyState === 'loading') {
            document.addEventListener('DOMContentLoaded', function () {
                setTimeout(applyDefaultOptions, 0);
            });
        } else {
            setTimeout(applyDefaultOptions, 0);
        }
    })();
</script>
<div style="display:none"><div class="custom-div-to-show-popup"></div></div><script type="text/javascript">
    var mediaurl = "https://www.mesrideaux.fr/";
    var baseImageChange = "";
    var enabled_tooltip = "0";
    var enabled_cmi = "1";
    var flag = 0;
</script>

<!-- custom options depends -->
<script type="text/javascript">
function jsHide(optionId){
    require(['jquery'], function ($) {
        if (document.getElementById('options-'+optionId+'-list')) {
            var getActiveClass = $('#options-'+optionId+'-list').children().hasClass('selectDepend');
            if(!getActiveClass){
                document.getElementById('options-'+optionId+'-list').parentElement.parentElement.style.display = 'none';
            }
        }

        if(document.getElementById('select_'+optionId)){
            if(!$('#select_'+optionId).attr('multiple')){
                var getSelectedOptionValue = $('#select_'+optionId+' :selected').val();
                if(!getSelectedOptionValue){
                    document.getElementById('select_'+optionId).parentElement.parentElement.style.display = 'none';
                    document.getElementById('select_'+optionId).disabled = true;
                }
            }else{
                var getSelectedOption = $('#select_'+optionId+' :selected').length;
                if(getSelectedOption<1){
                    document.getElementById('select_'+optionId).parentElement.parentElement.style.display = 'none';
                    document.getElementById('select_'+optionId).disabled = true;
                }
            }
        }
    });
}
</script>
<!-- custom options depends -->
                                                                                                                                                                                                                                            
<div id="velours" class="field">
        <label class="label" for="select_548403" style="display: block;line-height: 1.3;">
        <span  style="display: inline-block; overflow: hidden; text-overflow: ellipsis; font-weight: 600;" class="ept_emioptlable">Velours</span>
    </label>
            <div class="control">
        <span ></span>
        <div class="options-list nested" 
            id="options-548403-list"><div class="field choice admin__field admin__field-option"><input data-sku="coussin-velours-tst" style="display: inline-block; vertical-align: middle;height: 100%; margin-left: 8px; box-shadow:none;" type="radio" class="coussin-velours radio admin__control-radio option04  product-custom-option" name="options[548403]" id="options_548403_2" value="1428877"  data-value="" data-selector="options[548403]" price="0" lastchange="" onclick="changeRadioChek('548403','radio')" /><label class="label admin__field-label"
                        for="options_548403_2">Même tissu<span class="option-final-price" data-option-key="548403_1428877"></span></label></div><div class="field choice admin__field admin__field-option"><input data-sku="coussin-velours-sln" style="display: inline-block; vertical-align: middle;height: 100%; margin-left: 8px; box-shadow:none;" type="radio" class="coussin-velours radio admin__control-radio option04  product-custom-option" name="options[548403]" id="options_548403_3" value="1428878"  data-value="" data-selector="options[548403]" price="0" lastchange="" onclick="changeRadioChek('548403','radio')" /><label class="label admin__field-label"
                        for="options_548403_3">Noir<span class="option-final-price" data-option-key="548403_1428878"></span></label></div><div class="field choice admin__field admin__field-option"><input data-sku="coussin-velours-b" style="display: inline-block; vertical-align: middle;height: 100%; margin-left: 8px; box-shadow:none;" type="radio" class="coussin-velours radio admin__control-radio option04  product-custom-option" name="options[548403]" id="options_548403_4" value="1428879"  data-value="" data-selector="options[548403]" price="0" lastchange="" onclick="changeRadioChek('548403','radio')" /><label class="label admin__field-label"
                        for="options_548403_4">Blanc<span class="option-final-price" data-option-key="548403_1428879"></span></label></div><div class="field choice admin__field admin__field-option"><input data-sku="coussin-velours-gs" style="display: inline-block; vertical-align: middle;height: 100%; margin-left: 8px; box-shadow:none;" type="radio" class="coussin-velours radio admin__control-radio option04  product-custom-option" name="options[548403]" id="options_548403_5" value="1428880"  data-value="" data-selector="options[548403]" price="0" lastchange="" onclick="changeRadioChek('548403','radio')" /><label class="label admin__field-label"
                        for="options_548403_5">Gris souris<span class="option-final-price" data-option-key="548403_1428880"></span></label></div><div class="field choice admin__field admin__field-option"><input data-sku="coussin-velours-ve" style="display: inline-block; vertical-align: middle;height: 100%; margin-left: 8px; box-shadow:none;" type="radio" class="coussin-velours radio admin__control-radio option04  product-custom-option" name="options[548403]" id="options_548403_6" value="1428881"  data-value="" data-selector="options[548403]" price="0" lastchange="" onclick="changeRadioChek('548403','radio')" /><label class="label admin__field-label"
                        for="options_548403_6">Vert d’eau<span class="option-final-price" data-option-key="548403_1428881"></span></label></div><div class="field choice admin__field admin__field-option"><input data-sku="coussin-velours-bs" style="display: inline-block; vertical-align: middle;height: 100%; margin-left: 8px; box-shadow:none;" type="radio" class="coussin-velours radio admin__control-radio option04  product-custom-option" name="options[548403]" id="options_548403_7" value="1428882"  data-value="" data-selector="options[548403]" price="0" lastchange="" onclick="changeRadioChek('548403','radio')" /><label class="label admin__field-label"
                        for="options_548403_7">Bleu stone<span class="option-final-price" data-option-key="548403_1428882"></span></label></div><div class="field choice admin__field admin__field-option"><input data-sku="coussin-velours-aucun" style="display: inline-block; vertical-align: middle;height: 100%; margin-left: 8px; box-shadow:none;" type="radio" class="coussin-velours radio admin__control-radio option04  product-custom-option" name="options[548403]" id="options_548403_8" value="1428883"  data-value="" data-selector="options[548403]" price="0" lastchange="" onclick="changeRadioChek('548403','radio')" /><label class="label admin__field-label"
                        for="options_548403_8">Aucun<span class="option-final-price" data-option-key="548403_1428883"></span></label></div></div>
        <!-- custom options depends -->
                <!-- custom options depends -->

            </div>
</div>
<script>
    (function () {
        var payload = {
            defaultOption: [{"optionDefaultValue":"0","optiontype":"radio","optionLable":"548403","optionPrice":0,"optionValue":"1428877"},{"optionDefaultValue":"0","optiontype":"radio","optionLable":"548403","optionPrice":0,"optionValue":"1428878"},{"optionDefaultValue":"0","optiontype":"radio","optionLable":"548403","optionPrice":0,"optionValue":"1428879"},{"optionDefaultValue":"0","optiontype":"radio","optionLable":"548403","optionPrice":0,"optionValue":"1428880"},{"optionDefaultValue":"0","optiontype":"radio","optionLable":"548403","optionPrice":0,"optionValue":"1428881"},{"optionDefaultValue":"0","optiontype":"radio","optionLable":"548403","optionPrice":0,"optionValue":"1428882"},{"optionDefaultValue":"0","optiontype":"radio","optionLable":"548403","optionPrice":0,"optionValue":"1428883"}],
            OptionId: 0        };

        window.__emiproCustomOptionDefaultQueue = window.__emiproCustomOptionDefaultQueue || [];
        window.__emiproCustomOptionDefaultQueue.push(payload);

        if (window.__emiproCustomOptionDefaultRunnerBound) {
            return;
        }
        window.__emiproCustomOptionDefaultRunnerBound = true;

        function applyDefaultOptions() {
            var queue = window.__emiproCustomOptionDefaultQueue || [];
            var i, j, data, item, listNode, listInputs, input, selectNode, selectOption;

            for (i = 0; i < queue.length; i++) {
                data = queue[i] && queue[i].defaultOption ? queue[i].defaultOption : [];
                for (j = 0; j < data.length; j++) {
                    item = data[j];
                    if (!item || String(item.optionDefaultValue) !== '1') {
                        continue;
                    }

                    if (item.optiontype === 'radio'
                        || item.optiontype === 'checkbox'
                        || item.optiontype === 'thumb_gallery'
                        || item.optiontype === 'thumb_gallery_popup'
                        || item.optiontype === 'thumb_gallery_multi'
                    ) {
                        listNode = document.getElementById('options-' + item.optionLable + '-list');
                        if (!listNode) {
                            continue;
                        }
                        listInputs = listNode.querySelectorAll('input[value="' + item.optionValue + '"]');
                        if (!listInputs.length) {
                            continue;
                        }
                        input = listInputs[0];
                        input.checked = true;
                        input.dispatchEvent(new Event('click', { bubbles: true }));
                        input.dispatchEvent(new Event('change', { bubbles: true }));
                    } else if (item.optiontype === 'drop_down' || item.optiontype === 'multiple') {
                        selectNode = document.getElementById('select_' + item.optionLable);
                        if (!selectNode) {
                            continue;
                        }
                        selectOption = selectNode.querySelector('option[value="' + item.optionValue + '"]');
                        if (!selectOption) {
                            continue;
                        }
                        selectOption.selected = true;
                        selectNode.dispatchEvent(new Event('change', { bubbles: true }));
                    }
                }
            }
        }

        if (document.readyState === 'loading') {
            document.addEventListener('DOMContentLoaded', function () {
                setTimeout(applyDefaultOptions, 0);
            });
        } else {
            setTimeout(applyDefaultOptions, 0);
        }
    })();
</script>
<div style="display:none"><div class="custom-div-to-show-popup"></div></div><script type="text/javascript">
    var mediaurl = "https://www.mesrideaux.fr/";
    var baseImageChange = "";
    var enabled_tooltip = "0";
    var enabled_cmi = "1";
    var flag = 0;
</script>

<!-- custom options depends -->
<script type="text/javascript"> jsHide(548403); </script><script type="text/javascript">
function jsHide(optionId){
    require(['jquery'], function ($) {
        if (document.getElementById('options-'+optionId+'-list')) {
            var getActiveClass = $('#options-'+optionId+'-list').children().hasClass('selectDepend');
            if(!getActiveClass){
                document.getElementById('options-'+optionId+'-list').parentElement.parentElement.style.display = 'none';
            }
        }

        if(document.getElementById('select_'+optionId)){
            if(!$('#select_'+optionId).attr('multiple')){
                var getSelectedOptionValue = $('#select_'+optionId+' :selected').val();
                if(!getSelectedOptionValue){
                    document.getElementById('select_'+optionId).parentElement.parentElement.style.display = 'none';
                    document.getElementById('select_'+optionId).disabled = true;
                }
            }else{
                var getSelectedOption = $('#select_'+optionId+' :selected').length;
                if(getSelectedOption<1){
                    document.getElementById('select_'+optionId).parentElement.parentElement.style.display = 'none';
                    document.getElementById('select_'+optionId).disabled = true;
                }
            }
        }
    });
}
</script>
<!-- custom options depends -->
                                                                                                                            
<div id="lin" class="field">
        <label class="label" for="select_546089" style="display: block;line-height: 1.3;">
        <span  style="display: inline-block; overflow: hidden; text-overflow: ellipsis; font-weight: 600;" class="ept_emioptlable">Lin</span>
    </label>
            <div class="control">
        <span ></span>
        <div class="options-list nested" 
            id="options-546089-list"><div class="field choice admin__field admin__field-option"><input data-sku="coussin-lin-tst" style="display: inline-block; vertical-align: middle;height: 100%; margin-left: 8px; box-shadow:none;" type="radio" class="coussin-lin radio admin__control-radio option04  product-custom-option" name="options[546089]" id="options_546089_2" value="1412679"  data-value="" data-selector="options[546089]" price="0" lastchange="" onclick="changeRadioChek('546089','radio')" /><label class="label admin__field-label"
                        for="options_546089_2">Même tissu<span class="option-final-price" data-option-key="546089_1412679"></span></label></div><div class="field choice admin__field admin__field-option"><input data-sku="coussin-lin-ln" style="display: inline-block; vertical-align: middle;height: 100%; margin-left: 8px; box-shadow:none;" type="radio" class="coussin-lin radio admin__control-radio option04  product-custom-option" name="options[546089]" id="options_546089_3" value="1412680"  data-value="" data-selector="options[546089]" price="0" lastchange="" onclick="changeRadioChek('546089','radio')" /><label class="label admin__field-label"
                        for="options_546089_3">Linum naturel<span class="option-final-price" data-option-key="546089_1412680"></span></label></div><div class="field choice admin__field admin__field-option"><input data-sku="coussin-lin-lln" style="display: inline-block; vertical-align: middle;height: 100%; margin-left: 8px; box-shadow:none;" type="radio" class="coussin-lin radio admin__control-radio option04  product-custom-option" name="options[546089]" id="options_546089_4" value="1412681"  data-value="" data-selector="options[546089]" price="0" lastchange="" onclick="changeRadioChek('546089','radio')" /><label class="label admin__field-label"
                        for="options_546089_4">Lin lavé noir<span class="option-final-price" data-option-key="546089_1412681"></span></label></div><div class="field choice admin__field admin__field-option"><input data-sku="coussin-lin-llb" style="display: inline-block; vertical-align: middle;height: 100%; margin-left: 8px; box-shadow:none;" type="radio" class="coussin-lin radio admin__control-radio option04  product-custom-option" name="options[546089]" id="options_546089_5" value="1412682"  data-value="" data-selector="options[546089]" price="0" lastchange="" onclick="changeRadioChek('546089','radio')" /><label class="label admin__field-label"
                        for="options_546089_5">Lin lavé blanc<span class="option-final-price" data-option-key="546089_1412682"></span></label></div><div class="field choice admin__field admin__field-option"><input data-sku="coussin-lin-llbr" style="display: inline-block; vertical-align: middle;height: 100%; margin-left: 8px; box-shadow:none;" type="radio" class="coussin-lin radio admin__control-radio option04  product-custom-option" name="options[546089]" id="options_546089_6" value="1412683"  data-value="" data-selector="options[546089]" price="0" lastchange="" onclick="changeRadioChek('546089','radio')" /><label class="label admin__field-label"
                        for="options_546089_6">Lin lavé brouillard<span class="option-final-price" data-option-key="546089_1412683"></span></label></div><div class="field choice admin__field admin__field-option"><input data-sku="coussin-lin-lla" style="display: inline-block; vertical-align: middle;height: 100%; margin-left: 8px; box-shadow:none;" type="radio" class="coussin-lin radio admin__control-radio option04  product-custom-option" name="options[546089]" id="options_546089_7" value="1412684"  data-value="" data-selector="options[546089]" price="0" lastchange="" onclick="changeRadioChek('546089','radio')" /><label class="label admin__field-label"
                        for="options_546089_7">Lin lavé anthracite<span class="option-final-price" data-option-key="546089_1412684"></span></label></div><div class="field choice admin__field admin__field-option selectDepend"><input data-sku="coussin-lin-aucun" style="display: inline-block; vertical-align: middle;height: 100%; margin-left: 8px; box-shadow:none;" type="radio" class="coussin-lin radio admin__control-radio option04  product-custom-option" name="options[546089]" id="options_546089_8" value="1412685"  data-value="checked"><label class="label admin__field-label"
                        for="options_546089_8">Aucun<span class="option-final-price" data-option-key="546089_1412685"></span></label></div></div>
        <!-- custom options depends -->
                <!-- custom options depends -->

            </div>
</div>
<script>
    (function () {
        var payload = {
            defaultOption: [{"optionDefaultValue":"0","optiontype":"radio","optionLable":"546089","optionPrice":0,"optionValue":"1412679"},{"optionDefaultValue":"0","optiontype":"radio","optionLable":"546089","optionPrice":0,"optionValue":"1412680"},{"optionDefaultValue":"0","optiontype":"radio","optionLable":"546089","optionPrice":0,"optionValue":"1412681"},{"optionDefaultValue":"0","optiontype":"radio","optionLable":"546089","optionPrice":0,"optionValue":"1412682"},{"optionDefaultValue":"0","optiontype":"radio","optionLable":"546089","optionPrice":0,"optionValue":"1412683"},{"optionDefaultValue":"0","optiontype":"radio","optionLable":"546089","optionPrice":0,"optionValue":"1412684"},{"optionDefaultValue":"1","optiontype":"radio","optionLable":"546089","optionPrice":0,"optionValue":"1412685"}],
            OptionId: 0        };

        window.__emiproCustomOptionDefaultQueue = window.__emiproCustomOptionDefaultQueue || [];
        window.__emiproCustomOptionDefaultQueue.push(payload);

        if (window.__emiproCustomOptionDefaultRunnerBound) {
            return;
        }
        window.__emiproCustomOptionDefaultRunnerBound = true;

        function applyDefaultOptions() {
            var queue = window.__emiproCustomOptionDefaultQueue || [];
            var i, j, data, item, listNode, listInputs, input, selectNode, selectOption;

            for (i = 0; i < queue.length; i++) {
                data = queue[i] && queue[i].defaultOption ? queue[i].defaultOption : [];
                for (j = 0; j < data.length; j++) {
                    item = data[j];
                    if (!item || String(item.optionDefaultValue) !== '1') {
                        continue;
                    }

                    if (item.optiontype === 'radio'
                        || item.optiontype === 'checkbox'
                        || item.optiontype === 'thumb_gallery'
                        || item.optiontype === 'thumb_gallery_popup'
                        || item.optiontype === 'thumb_gallery_multi'
                    ) {
                        listNode = document.getElementById('options-' + item.optionLable + '-list');
                        if (!listNode) {
                            continue;
                        }
                        listInputs = listNode.querySelectorAll('input[value="' + item.optionValue + '"]');
                        if (!listInputs.length) {
                            continue;
                        }
                        input = listInputs[0];
                        input.checked = true;
                        input.dispatchEvent(new Event('click', { bubbles: true }));
                        input.dispatchEvent(new Event('change', { bubbles: true }));
                    } else if (item.optiontype === 'drop_down' || item.optiontype === 'multiple') {
                        selectNode = document.getElementById('select_' + item.optionLable);
                        if (!selectNode) {
                            continue;
                        }
                        selectOption = selectNode.querySelector('option[value="' + item.optionValue + '"]');
                        if (!selectOption) {
                            continue;
                        }
                        selectOption.selected = true;
                        selectNode.dispatchEvent(new Event('change', { bubbles: true }));
                    }
                }
            }
        }

        if (document.readyState === 'loading') {
            document.addEventListener('DOMContentLoaded', function () {
                setTimeout(applyDefaultOptions, 0);
            });
        } else {
            setTimeout(applyDefaultOptions, 0);
        }
    })();
</script>
<div style="display:none"><div class="custom-div-to-show-popup"></div></div><script type="text/javascript">
    var mediaurl = "https://www.mesrideaux.fr/";
    var baseImageChange = "";
    var enabled_tooltip = "0";
    var enabled_cmi = "1";
    var flag = 0;
</script>

<!-- custom options depends -->
<script type="text/javascript"> jsHide(546089); </script><script type="text/javascript">
function jsHide(optionId){
    require(['jquery'], function ($) {
        if (document.getElementById('options-'+optionId+'-list')) {
            var getActiveClass = $('#options-'+optionId+'-list').children().hasClass('selectDepend');
            if(!getActiveClass){
                document.getElementById('options-'+optionId+'-list').parentElement.parentElement.style.display = 'none';
            }
        }

        if(document.getElementById('select_'+optionId)){
            if(!$('#select_'+optionId).attr('multiple')){
                var getSelectedOptionValue = $('#select_'+optionId+' :selected').val();
                if(!getSelectedOptionValue){
                    document.getElementById('select_'+optionId).parentElement.parentElement.style.display = 'none';
                    document.getElementById('select_'+optionId).disabled = true;
                }
            }else{
                var getSelectedOption = $('#select_'+optionId+' :selected').length;
                if(getSelectedOption<1){
                    document.getElementById('select_'+optionId).parentElement.parentElement.style.display = 'none';
                    document.getElementById('select_'+optionId).disabled = true;
                }
            }
        }
    });
}
</script>
<!-- custom options depends -->
                                                    <span class="btn-validconfig btn btn-primary" data-step="40">
                    <span class="ok">OK</span>
                    <span class="valid">Valider</span>
                </span>
                </div>
                    </div>
                </div>
            </div>
                    <div class="step pdp-dropdown mb-4" id="step_41">
                <button
                    type="button"
                    class="step-title pdp-dropdown__toggle w-full flex items-center justify-between gap-2 py-2 text-left"
                    aria-expanded="false"
                >
                    <span class="pdp-dropdown__label">Étape 3 : Je sélectionne mon intérieur</span>
                    <span class="pdp-dropdown__caret" aria-hidden="true"></span>
                </button>
                <div class="pdp-dropdown__panel" aria-hidden="true">
                    <div class="pdp-dropdown__inner">
                <div class="step-wrapper">

                                                            <a href="javascript:void(0);" class="take-measures openModel" data-id="popupInterieur">Plus d'informations sur l'intérieur</a>
                        <div id="popupInterieur" >
                            <p>Contenu en cours de confection</p>                        </div>
                                    
                                                                                                                                                                                                                        
<div id="intérieur" class="field required">
        <label class="label" for="select_543773" style="display: block;line-height: 1.3;">
        <span  style="display: inline-block; overflow: hidden; text-overflow: ellipsis; font-weight: 600;" class="ept_emioptlable">Intérieur</span>
    </label>
            <div class="control">
        <span ></span>
        <div class="options-list nested" 
            id="options-543773-list"><div class="field choice admin__field admin__field-option required"><input data-sku="coussin-interieur-avec" style="display: inline-block; vertical-align: middle;height: 100%; margin-left: 8px; box-shadow:none;" type="radio" class="coussin-interieur radio admin__control-radio option04  required product-custom-option" name="options[543773]" id="options_543773_2" value="1398807"  data-value="" data-selector="options[543773]" price="0" lastchange="" onclick="changeRadioChek('543773','radio')" /><label class="label admin__field-label"
                        for="options_543773_2">Avec intérieur<span class="option-final-price" data-option-key="543773_1398807"></span></label></div><div class="field choice admin__field admin__field-option required"><input data-sku="coussin-interieur-sans" style="display: inline-block; vertical-align: middle;height: 100%; margin-left: 8px; box-shadow:none;" type="radio" class="coussin-interieur radio admin__control-radio option04  required product-custom-option" name="options[543773]" id="options_543773_3" value="1398808"  data-value="" data-selector="options[543773]" price="0" lastchange="" onclick="changeRadioChek('543773','radio')" /><label class="label admin__field-label"
                        for="options_543773_3">Sans intérieur<span class="option-final-price" data-option-key="543773_1398808"></span></label></div></div>
        <!-- custom options depends -->
                <!-- custom options depends -->

                    
                <!-- custom options depends -->
                                <input id="options_543773" type="radio" style="display:none;" price="" value="" name="options[543773]">

                                <!-- custom options depends -->

                <span id="options-543773-container"></span>
                        </div>
</div>
<script>
    (function () {
        var payload = {
            defaultOption: [{"optionDefaultValue":"0","optiontype":"radio","optionLable":"543773","optionPrice":0,"optionValue":"1398807"},{"optionDefaultValue":"0","optiontype":"radio","optionLable":"543773","optionPrice":0,"optionValue":"1398808"}],
            OptionId: 0        };

        window.__emiproCustomOptionDefaultQueue = window.__emiproCustomOptionDefaultQueue || [];
        window.__emiproCustomOptionDefaultQueue.push(payload);

        if (window.__emiproCustomOptionDefaultRunnerBound) {
            return;
        }
        window.__emiproCustomOptionDefaultRunnerBound = true;

        function applyDefaultOptions() {
            var queue = window.__emiproCustomOptionDefaultQueue || [];
            var i, j, data, item, listNode, listInputs, input, selectNode, selectOption;

            for (i = 0; i < queue.length; i++) {
                data = queue[i] && queue[i].defaultOption ? queue[i].defaultOption : [];
                for (j = 0; j < data.length; j++) {
                    item = data[j];
                    if (!item || String(item.optionDefaultValue) !== '1') {
                        continue;
                    }

                    if (item.optiontype === 'radio'
                        || item.optiontype === 'checkbox'
                        || item.optiontype === 'thumb_gallery'
                        || item.optiontype === 'thumb_gallery_popup'
                        || item.optiontype === 'thumb_gallery_multi'
                    ) {
                        listNode = document.getElementById('options-' + item.optionLable + '-list');
                        if (!listNode) {
                            continue;
                        }
                        listInputs = listNode.querySelectorAll('input[value="' + item.optionValue + '"]');
                        if (!listInputs.length) {
                            continue;
                        }
                        input = listInputs[0];
                        input.checked = true;
                        input.dispatchEvent(new Event('click', { bubbles: true }));
                        input.dispatchEvent(new Event('change', { bubbles: true }));
                    } else if (item.optiontype === 'drop_down' || item.optiontype === 'multiple') {
                        selectNode = document.getElementById('select_' + item.optionLable);
                        if (!selectNode) {
                            continue;
                        }
                        selectOption = selectNode.querySelector('option[value="' + item.optionValue + '"]');
                        if (!selectOption) {
                            continue;
                        }
                        selectOption.selected = true;
                        selectNode.dispatchEvent(new Event('change', { bubbles: true }));
                    }
                }
            }
        }

        if (document.readyState === 'loading') {
            document.addEventListener('DOMContentLoaded', function () {
                setTimeout(applyDefaultOptions, 0);
            });
        } else {
            setTimeout(applyDefaultOptions, 0);
        }
    })();
</script>
<div style="display:none"><div class="custom-div-to-show-popup"></div></div><script type="text/javascript">
    var mediaurl = "https://www.mesrideaux.fr/";
    var baseImageChange = "";
    var enabled_tooltip = "0";
    var enabled_cmi = "1";
    var flag = 0;
</script>

<!-- custom options depends -->
<script type="text/javascript">
function jsHide(optionId){
    require(['jquery'], function ($) {
        if (document.getElementById('options-'+optionId+'-list')) {
            var getActiveClass = $('#options-'+optionId+'-list').children().hasClass('selectDepend');
            if(!getActiveClass){
                document.getElementById('options-'+optionId+'-list').parentElement.parentElement.style.display = 'none';
            }
        }

        if(document.getElementById('select_'+optionId)){
            if(!$('#select_'+optionId).attr('multiple')){
                var getSelectedOptionValue = $('#select_'+optionId+' :selected').val();
                if(!getSelectedOptionValue){
                    document.getElementById('select_'+optionId).parentElement.parentElement.style.display = 'none';
                    document.getElementById('select_'+optionId).disabled = true;
                }
            }else{
                var getSelectedOption = $('#select_'+optionId+' :selected').length;
                if(getSelectedOption<1){
                    document.getElementById('select_'+optionId).parentElement.parentElement.style.display = 'none';
                    document.getElementById('select_'+optionId).disabled = true;
                }
            }
        }
    });
}
</script>
<!-- custom options depends -->
                                                                                                                                                                                                                            <span class="btn-validconfig btn btn-primary" data-step="41">
                    <span class="ok">OK</span>
                    <span class="valid">Valider</span>
                </span>
                </div>
                    </div>
                </div>
            </div>
                    <div class="step pdp-dropdown mb-4" id="step_42">
                <button
                    type="button"
                    class="step-title pdp-dropdown__toggle w-full flex items-center justify-between gap-2 py-2 text-left"
                    aria-expanded="false"
                >
                    <span class="pdp-dropdown__label">Étape 4 : Je sélectionne mon nombre de coussins</span>
                    <span class="pdp-dropdown__caret" aria-hidden="true"></span>
                </button>
                <div class="pdp-dropdown__panel" aria-hidden="true">
                    <div class="pdp-dropdown__inner">
                <div class="step-wrapper">

                
                                                                                                                                                                                                                                                                                <!--
    @ Karan Emipro
    custom option dependant for Select option
-->
<!-- custom options depends -->
<script type="text/javascript">
function jsHidetext(optionId){
    require(['jquery'], function ($) {
        if(document.getElementById('options_'+optionId+'_text')){
            if(!$('#options_'+optionId+'_text').hasClass('dependsText')){
                document.getElementById('options_'+optionId+'_text').parentElement.parentElement.style.display = 'none';
            }
        }
    });
}
</script>
<!-- custom options depends -->


<div class="field  required" id="field-coussin-nbr-coussins">
    <label class="label" for="options_541626_text">
            Nombre de coussin identiques                            </label>
    <div class="control">
                                            <input type="text"
                   id="options_541626_text"
                   placeholder=""
                   class="input-text product-custom-option"
                                      data-validate="{&quot;required&quot;:true,&quot;validate-number-french&quot;:true,&quot;min&quot;:1,&quot;validate-min-french&quot;:1}"
                                      name="options[541626]"
                   data-sku="coussin-nbr-coussins"
                   data-selector="options[541626]"
                   data-msg-range="La valeur n’est pas dans la plage spécifiée."
                   data-msg-minlength="Numéro invalide"
                   data-msg-validate-number="Numéro invalide."
                   data-default-digitsrange="1-300"
                   data-default-isrequired="1"
                   value="1"/>
            </div>
    </div>

<!--
    @ Karan Emipro
    custom option dependant for thumb option
-->
<!-- custom options depends -->
<!-- custom options depends -->
                                                                                                                                                                    <span class="btn-validconfig btn btn-primary" data-step="42">
                    <span class="ok">OK</span>
                    <span class="valid">Valider</span>
                </span>
                </div>
                    </div>
                </div>
            </div>
        
        <div class="stepper-recap">
            <span class="stepper-recap-title">
                Veuillez valider toutes les étapes de la personnalisation            </span>

            <ul>
                                <li data-scrolltarget="#step_12" class="step_12">1</li>
                                <li data-scrolltarget="#step_40" class="step_40">2</li>
                                <li data-scrolltarget="#step_41" class="step_41">3</li>
                                <li data-scrolltarget="#step_42" class="step_42">4</li>
                            </ul>
        </div>
    </div>
    <script>
        require(
            [
                'jquery',
                'Magento_Ui/js/modal/modal'
            ],
            function ($, modal) {
                var options = {
                    type: 'popup',
                    responsive: true,
                    innerScroll: true,
                    buttons: []
                };

                if($('#popupInfo').length)
                    modal(options, $('#popupInfo'));

                if($('#popupInterieur').length)
                    modal(options, $('#popupInterieur'));

                $(".openModel").on("click", function () {
                    var modalId = $(this).data('id');
                    $('#' + modalId).modal('openModal');
                });

                $('#configurateur .step').first().addClass('--active');
                if (window.mrSyncConfiguratorStepDropdownsFromDom) {
                    window.mrSyncConfiguratorStepDropdownsFromDom();
                }

                $(document).on('click', 'a[href^="#"]', function(e) {
                    var id = $(this).attr('href');
                    var $id = $(id);
                    if ($id.length === 0) {
                        return;
                    }
                    e.preventDefault();
                    var pos = $id.offset().top;
                    $('body, html').animate({scrollTop: pos});
                });

                //Add option "aucun" to popup
                var content = '<div id="others" class="field">';
                content+= '<label class="label">';
                content+= '<span  style="display: inline-block; overflow: hidden; text-overflow: ellipsis; font-weight: 600;" class="ept_emioptlable">Autres</span></label>';
                    content+= '<div class="control">';
                        content+= '<span></span>';
                        content+= '<div class="options-list nested">';
                            content+= '<div class="field choice admin__field admin__field-option">';
                                content+= '<input data-sku="coussin-other" style="display: inline-block; vertical-align: middle;height: 100%; margin-left: 8px; box-shadow:none;" type="radio" class="coussin-other radio admin__control-radio option04  product-custom-option" id="options_coussin_other" data-value="" price="0" />';
                                content+= '<label class="label admin__field-label" for="options_coussin_other">Aucun</label>';
                            content+= '</div>';
                            content+= '<div class="field choice admin__field admin__field-option">';
                                content+= '<input data-sku="coussin-tonsurton" style="display: inline-block; vertical-align: middle;height: 100%; margin-left: 8px; box-shadow:none;" type="radio" class="coussin-tonsurton radio admin__control-radio option04  product-custom-option" id="options_coussin_tonsurton" data-value="" price="0" />';
                                content+= '<label class="label admin__field-label" for="options_coussin_tonsurton">Même tissu</label>';
                            content+= '</div>';
                        content+= '</div>';
                    content+= '</div>';
                content+= '</div>';

                $('input[data-sku="coussin-velours-aucun"], input[data-sku="coussin-lin-aucun"], input[data-sku="coussin-velours-tst"], input[data-sku="coussin-lin-tst"]').parent().hide();

                $(content).insertAfter("#lin");

                //Get the modal
                var modal = $("#velours, #lin, #others");

                modal.wrapAll( "<div class='popup'><div class='popup-inner'></div></div>");

                // Get the button that opens the modal
                var btn = $('[data-sku="coussin-finition-passepoil"]').next();

                // Get the <span> element that closes the modal
                var span = document.getElementsByClassName("close")[0];

                modal.find('.control').append('<span class="close">&times;</span>');

                // When the user clicks the button, open the modal
                btn.on('click', function() {
                    modal.show();
                    $(this).parents('.step-wrapper').find('.popup').show();
                });

                // When the user clicks on <span> (x), close the modal
                modal.find('.close').on('click', function() {
                    modal.hide();
                    $(this).parents('.step-wrapper').find('.popup').hide();
                });

                jQuery('.popup-inner #velours .field input.radio').on('change', function() {
                    jQuery('.popup-inner #lin .field input.radio').prop('checked', false);
                    jQuery('.popup-inner #others .field input.radio').prop('checked', false);
                    modal.hide();
                    $(this).parents('.step-wrapper').find('.popup').hide();
                });
                jQuery('.popup-inner #lin .field input.radio').on('change', function() {
                    jQuery('.popup-inner #velours .field input.radio').prop('checked', false);
                    jQuery('.popup-inner #others .field input.radio').prop('checked', false);
                    modal.hide();
                    $(this).parents('.step-wrapper').find('.popup').hide();
                });
                jQuery('.popup-inner #others .field input.radio').on('change', function() {
                    jQuery('.popup-inner #velours .field input.radio').prop('checked', false);
                    jQuery('.popup-inner #lin .field input.radio').prop('checked', false);
                    jQuery('.popup-inner #others .field input.radio').prop('checked', false);
                    var sku = $(this).data('sku');
                    if(sku == 'coussin-other'){
                        $('input[data-sku="coussin-lin-aucun"]').prop('checked', true);
                        $('input[data-sku="coussin-lin-tst"]').prop('checked', false);
                    }else{
                        $('input[data-sku="coussin-lin-tst"]').prop('checked', true);
                        $('input[data-sku="coussin-lin-aucun"]').prop('checked', false);
                        $(this).parents('.step-wrapper').find('.popup').hide();
                    }
                    $(this).prop('checked', true);
                    modal.hide();
                    $(this).parents('.step-wrapper').find('.popup').hide();
                });

                $('.tringle__quantity-wrapper .input-number-decrement').on("click", function(e) {
                    if($('input[data-sku="coussin-nbr-coussins"]').val() == 0){
                        $('input[data-sku="coussin-nbr-coussins"]').prop("value", 1);
                    }
                });

                // close modal on click outside at anywhere
                $(document).on('click', function (e) {
                    if (($(e.target).hasClass("modal-popup")) && ($(e.target).hasClass('_show'))) {
                        $(e.target).find('.action-close').trigger('click');
                        $('.modals-overlay').remove();
                    }
                });


                $('.product-options-description').hide();
            }
        );
    </script>
    </div>
</div>
    </form>

            <script type="text/x-magento-init">
        {
            "#product_addtocart_form": {
                "Magento_Catalog/js/validate-product": {
                    "bindSubmit": true
                }
            }
        }
        </script>
    
    <div class="flex flex-col sm:flex-row items-end my-4 mt-0 stepper-recap-price flex-wrap">

        
<div role="group" aria-label="Prix">
    <div class="price-box price-final_price" data-role="priceBox" data-product-id="29996" data-price-box="product-id-29996">                                    <span class="price-from-label"><small>Prix à partir de&nbsp;:&nbsp;</small></span>
            <span class="initial"
                itemprop="offers" itemscope itemtype="https://schema.org/Offer">
                <span class="price">217 €</span>                                    <meta itemprop="price" content="217">
                    <meta itemprop="priceCurrency" content="EUR">
                                TTC            </span>
                            <span></span>
    <script>
    require(
        [
            'jquery',
        ],
        function ($) {
            setTimeout(function () {
                $(".step.--active .btn-validconfig").click(function (e) {
                    e.preventDefault();
                    setTimeout(function () {
                        $('.price-from-label').hide();
                    }, 500);
                });
            }, 1000);
        }
    );
</script>
</div></div>

        <div class="flex mt-4 ml-auto sm:mt-0 product-cta-add-to-cart-container">
                                            
<div
    x-data="{isSampleValue: 0, samplePriceValue: '0'}"
    @hyva-sample-order.window="isSampleValue = 1; samplePriceValue = $event.detail.price"
>
    <input type="hidden" name="sample-price" form="product_addtocart_form" :value="samplePriceValue">
    <input type="hidden" name="isSample" id="isSample" form="product_addtocart_form" :value="isSampleValue">

    <button type="submit" form="product_addtocart_form" class="cursor-pointer btn btn-secondary" title="Ajouter&#x20;au&#x20;panier">
                <span class="lg:block">Ajouter au panier        </span>
    </button>
</div>
                    </div>

    </div>

    
    <div class="flex mt-4 justify-end mb-4">
    <script>
    function initWishlist_6a4ee3ef12854() {
        return {
            isLoading: false,
            addToWishlist(productId) {
                if (this.isLoading) {
                    return;
                }

                this.isLoading = true;

                const postParams =                 {
                    action: BASE_URL + "wishlist/index/add/",
                    data: {
                        product: productId,
                        uenc: hyva.getUenc()
                    }
                }
                
                postParams.data['form_key'] = hyva.getFormKey();
                postParams.data['qty'] = document.getElementById(`qty[${productId}]`)
                    ? document.getElementById(`qty[${productId}]`).value || 1
                    : 1;

                let postData = Object.keys(postParams.data).map(key => {
                    return `${key}=${postParams.data[key]}`;
                }).join('&');

                Array.from(document.querySelectorAll(
                    '[name^=options], [name^=super_attribute], [name^=bundle_option], [name^=super_group], [name^=links]')
                ).map(input => {
                    if (input.type === "select-multiple") {
                        Array.from(input.selectedOptions).forEach(option => {
                            postData += `&${input.name}=${option.value}`
                        })
                    } else {
                        if(!(['radio', 'checkbox', 'select'].includes(input.type) && !input.checked)) {
                            postData += `&${input.name}=${input.value}`
                        }
                    }
                });

                fetch(postParams.action, {
                    "headers": {
                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
                    },
                    "body": postData,
                    "method": "POST",
                    "mode": "cors",
                    "credentials": "include"
                }).then((response) => {
                    if (response.redirected) {
                        window.location.href = response.url;
                    } else if (response.ok) {
                        return response.json();
                    } else {
                        typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                            [{
                                type: "warning",
                                text: "Could not add item to wishlist."
                            }], 5000
                        );
                    }
                }).then((response) => {
                    if (!response) {
                        return;
                    }
                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                        [{
                            type: (response.success) ? "success" : "error",
                            text: (response.success)
                                ? "Produit a été ajouté à votre liste d&#039;achats."
                                : response.error_message
                        }], 5000
                    );
                    const reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
                    window.dispatchEvent(reloadCustomerDataEvent);
                }).catch((error) => {
                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                        [{
                            type: "error",
                            text: error
                        }], 5000
                    );
                }).finally(() => {
                    this.isLoading = false;
                });
            }
        }
    }
</script>

<button x-data="initWishlist_6a4ee3ef12854()"
        @click.prevent="addToWishlist(29996)"
        :disabled="isLoading"
        :aria-busy="isLoading"
        title="Ajouter&#x20;&#xE0;&#x20;la&#x20;liste&#x20;d&#x27;achats"
        aria-label="Ajouter&#x20;&#xE0;&#x20;la&#x20;liste&#x20;d&#x27;achats"
        id="add-to-wishlist"
        class="btn p-2 rounded-full ml-4 relative inline-flex items-center justify-center w-9 h-9"
        data-addto="wishlist"
>
    <span x-show="!isLoading" x-cloak aria-hidden="true">
        <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewbox="0 0 24 24" aria-hidden="true"><path d="M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5"/></svg>
    </span>
    <span x-show="isLoading" x-cloak class="inline-flex items-center justify-center" aria-hidden="true">
        <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewbox="0 0 24 24" class="animate-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-6.219-8.56"/></svg>
    </span>
    <span class="sr-only" x-text="isLoading ? 'Chargement...' : ''"></span>
</button>
    </div>

    
    </div>

            <div 
        x-data="{ expanded: false }"
        class="mb-4 product-description prose relative"
    >
        <div 
           
            class="transition-all duration-300  product-description-text"
        >
            Envie de réveiller votre canapé, d’adoucir votre fauteuil ou de donner du relief à votre lit avec une pièce vraiment élégante ? Le coussin Agueda sur mesure est pensé pour sublimer votre décoration avec un rendu raffiné, léger et parfaitement ajusté à votre intérieur. Grâce à une fabrication à la demande, vous choisissez les bonnes dimensions, le style et les finitions pour obtenir un coussin décoratif qui s’intègre naturellement à votre ambiance (salon contemporain ou chambre plus cocooning).            
        </div>
        <button
            type="button"
            class="bg-white px-2 py-1 mt-2 text-sm font-medium underline toggle-short-description mx-auto"
            
           
            >Lire la suite</button>

        
    </div>

    <script>
        document.addEventListener('DOMContentLoaded', function() {
            const toggleShortDescription = document.querySelector('.toggle-short-description');
            const productDescriptionText = document.querySelector('.product-description-text');
            let expanded = false;
            const collapsedHeight = '45px';

            // Helper to apply/collapse only if viewport < 768px
            function applyShortDescBehavior() {
                if (window.innerWidth < 768) {
                    productDescriptionText.style.transition = 'height 0.3s';
                    if (!expanded) {
                        productDescriptionText.style.height = collapsedHeight;
                        toggleShortDescription.textContent = 'Lire la suite';
                    } else {
                        // Ensure expanded height correct on resize
                        productDescriptionText.style.height = productDescriptionText.scrollHeight + 'px';
                        toggleShortDescription.textContent = 'Réduire';
                    }
                    toggleShortDescription.style.display = '';
                } else {
                    // Remove inline height for desktop and hide button
                    productDescriptionText.style.height = '';
                    toggleShortDescription.style.display = 'none';
                }
            }

            // Initial setup
            applyShortDescBehavior();

            toggleShortDescription.addEventListener('click', function() {
                if (window.innerWidth >= 768) return; // Don't react on desktop
                if (!expanded) {
                    productDescriptionText.style.height = productDescriptionText.scrollHeight + 'px';
                    toggleShortDescription.textContent = 'Réduire';
                } else {
                    productDescriptionText.style.height = collapsedHeight;
                    toggleShortDescription.textContent = 'Lire la suite';
                }
                expanded = !expanded;
            });

            window.addEventListener('resize', function() {
                applyShortDescBehavior();
            });
        });
    </script>
    
        
        <div class="product-additional-info">
    <div class="pdp-dropdown mb-4">
        <button
            type="button"
            class="pdp-dropdown__toggle w-full flex items-center justify-between gap-2 py-2 text-left"
            aria-expanded="false"
        >
            <span class="pdp-dropdown__label">Descriptions</span>
            <span class="pdp-dropdown__caret" aria-hidden="true"></span>
        </button>
        <div class="pdp-dropdown__panel" aria-hidden="true">
            <div class="pdp-dropdown__inner">
                <div class="leading-relaxed product-description prose">
                    <h2 dir="ltr"><strong>Tissu Agueda aux rayures délicates et à l’esprit naturel</strong></h2>
<p dir="ltr">Édité par Gaston y Daniela, le tissu Agueda séduit par son motif rayures discret et sa palette “white &amp; raw”, idéale pour créer une atmosphère lumineuse et haut de gamme. Sa composition associe des fibres qui donnent à la fois tenue et souplesse (viscose, polyester, lin, coton). Le résultat obtenu est un toucher agréable, une matière qui capte bien la lumière et un aspect naturellement texturé, parfait pour un coussin personnalisé au style chic et intemporel.</p>
<h2 dir="ltr"><strong>La confection et le savoir-faire fait pour vous</strong></h2>
<p dir="ltr">Chaque coussin sur mesure est réalisé à la commande, avec une attention portée à l’alignement des rayures et à la netteté des finitions. Vous obtenez un rendu propre, équilibré et durable, que ce soit pour un coussin de canapé, un coussin d’appoint ou une composition de plusieurs coussins décoratifs. Le sur-mesure permet aussi d’adapter le confort et l’esthétique à vos usages (lecture, détente, déco, accueil).</p>
<h2 dir="ltr"><strong>Les conseils de choix pour une déco harmonieuse</strong></h2>
<p dir="ltr">Pour un effet design, mixez plusieurs formats (par exemple rectangulaire + carré) et jouez sur les contrastes (lin uni, bouclette, velours ou coton texturé). Le tissu Agueda fonctionne très bien dans une déco minimaliste, bord de mer, maison d’architecte ou scandinave. Besoin d’un rendu harmonieux ? Optez pour un rappel de teintes naturelles (écru, sable, blanc cassé) et variez seulement les textures. Avec Agueda, votre coussin devient une pièce décorative de signature sobre, mais jamais fade.</p>
<p dir="ltr"> </p>                </div>
            </div>
        </div>
    </div>

    <div class="pdp-dropdown mb-4">
        <button
            type="button"
            class="pdp-dropdown__toggle w-full flex items-center justify-between gap-2 py-2 text-left"
            aria-expanded="false"
        >
            <span class="pdp-dropdown__label">Caractéristiques</span>
            <span class="pdp-dropdown__caret" aria-hidden="true"></span>
        </button>
        <div class="pdp-dropdown__panel" aria-hidden="true">
            <div class="pdp-dropdown__inner">
                <div class="table-wrapper max-w-prose overflow-x-auto" id="product-attributes-gallery">
                    <table class="additional-attributes w-full">
                                                    <tr class="border-b border-gray-300 last:border-b-0">
                                <th class="col label w-1/2 py-2 text-left text-fg-secondary font-normal product-attribute-label"
                                    scope="row">Réf.</th>
                                <td class="col data w-1/2 py-2 pl-2 text-left product-attribute-value"
                                    data-th="R&#xE9;f."
                                >                                        gdt5287-001-gaston                                    </td>
                            </tr>
                                                    <tr class="border-b border-gray-300 last:border-b-0">
                                <th class="col label w-1/2 py-2 text-left text-fg-secondary font-normal product-attribute-label"
                                    scope="row">Éditeur</th>
                                <td class="col data w-1/2 py-2 pl-2 text-left product-attribute-value"
                                    data-th="&#xC9;diteur"
                                >                                        Gaston y Daniela                                    </td>
                            </tr>
                                                    <tr class="border-b border-gray-300 last:border-b-0">
                                <th class="col label w-1/2 py-2 text-left text-fg-secondary font-normal product-attribute-label"
                                    scope="row">Laize / Largeur</th>
                                <td class="col data w-1/2 py-2 pl-2 text-left product-attribute-value"
                                    data-th="Laize&#x20;&#x2F;&#x20;Largeur"
                                >                                        300 cm                                    </td>
                            </tr>
                                                    <tr class="border-b border-gray-300 last:border-b-0">
                                <th class="col label w-1/2 py-2 text-left text-fg-secondary font-normal product-attribute-label"
                                    scope="row">Information</th>
                                <td class="col data w-1/2 py-2 pl-2 text-left product-attribute-value"
                                    data-th="Information"
                                >                                        55%VI 23%PLY 17%LI 5%COT                                    </td>
                            </tr>
                                                    <tr class="border-b border-gray-300 last:border-b-0">
                                <th class="col label w-1/2 py-2 text-left text-fg-secondary font-normal product-attribute-label"
                                    scope="row">Raccord vertical</th>
                                <td class="col data w-1/2 py-2 pl-2 text-left product-attribute-value"
                                    data-th="Raccord&#x20;vertical"
                                >                                        13 cm                                    </td>
                            </tr>
                                                    <tr class="border-b border-gray-300 last:border-b-0">
                                <th class="col label w-1/2 py-2 text-left text-fg-secondary font-normal product-attribute-label"
                                    scope="row">Conseil</th>
                                <td class="col data w-1/2 py-2 pl-2 text-left product-attribute-value"
                                    data-th="Conseil"
                                >                                        Prévoir un rétrécissement de 2 à 5% au premier lavage                                    </td>
                            </tr>
                                                    <tr class="border-b border-gray-300 last:border-b-0">
                                <th class="col label w-1/2 py-2 text-left text-fg-secondary font-normal product-attribute-label"
                                    scope="row">Informations techniques</th>
                                <td class="col data w-1/2 py-2 pl-2 text-left product-attribute-value"
                                    data-th="Informations&#x20;techniques"
                                >                                        <div class="flex flex-wrap gap-2 fiche-technique-items"><div class="flex items-center gap-2 w-full" data-fiche-technique-id="371"><img src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/icons/caracteristiques/371.png" alt="Lavage programme modéré 30°C" width="48" height="48">Lavage programme modéré 30°C</div><div class="flex items-center gap-2 w-full" data-fiche-technique-id="382"><img src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/icons/caracteristiques/382.png" alt="Ne pas sécher à la machine" width="48" height="48">Ne pas sécher à la machine</div><div class="flex items-center gap-2 w-full" data-fiche-technique-id="375"><img src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/icons/caracteristiques/375.png" alt="Repassage à température moyenne" width="48" height="48">Repassage à température moyenne</div><div class="flex items-center gap-2 w-full" data-fiche-technique-id="380"><img src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/icons/caracteristiques/380.png" alt="Blanchiment exclu" width="48" height="48">Blanchiment exclu</div><div class="flex items-center gap-2 w-full" data-fiche-technique-id="372"><img src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/icons/caracteristiques/372.png" alt="Nettoyage à sec processus normal" width="48" height="48">Nettoyage à sec processus normal</div></div>                                    </td>
                            </tr>
                                            </table>
                </div>
            </div>
        </div>
    </div>
</div></section>

<div class="product-options-bottom">
    </div>


<section
    id="mesrideaux-product-cross-sell"
    class="snap-slider product-slider my-8"
    aria-label="Vous&#x20;aimeriez&#x20;aussi&#x20;..."
    x-data
 x-snap-slider.group-pager
 x-defer="intersect"
>
    <a
        href="#mesrideaux-product-cross-sell-slider-end"
        class="sr-only focus:not-sr-only focus:absolute focus:z-30 focus:bg-white"
    >Press to skip carousel</a>

    <div class="flex gap-2 justify-center items-center w-full text-center mb-4">
        <h2 class="text-2xl font-medium">Vous aimeriez aussi ...</h2>
        <div class="flex gap-2 hidden">
            <button
                type="button"
                class="btn btn-secondary p-2 invisible"
                aria-label="Previous&#x20;Slide"
                data-prev
 disabled
><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewbox="0 0 24 24" class="rtl:-rotate-180" aria-hidden="true"><path d="m12 19-7-7 7-7M19 12H5"/></svg>
</button>
            <button
                type="button"
                class="btn btn-secondary p-2 invisible"
                aria-label="Next&#x20;Slide"
                data-next
 disabled
><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewbox="0 0 24 24" class="rtl:-rotate-180" aria-hidden="true"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
</button>
        </div>
    </div>

    <div class="snap-track&#x20;md&#x3A;&#x5B;--snap-cols&#x3A;2&#x5D;&#x20;lg&#x3A;&#x5B;--snap-cols&#x3A;3&#x5D;&#x20;xl&#x3A;&#x5B;--snap-cols&#x3A;4&#x5D;" data-track tabindex="0" aria-live="polite">
                    <div
                id="mesrideaux-product-cross-sell-32343"
                class="flex flex-col"
                role="tabpanel"
            >
                                <article class="product-block product-block--list flex flex-col   item product product-item col-lg-4 col-md-4 col-sm-4 col-xs-12">
                                                            <div class="product-item-info flex flex-col flex-1" data-container="product-grid">
                        <a href="https://www.mesrideaux.fr/coussin-moontrace.html?coloris=1117" data-plp-product-url>
                            <div class="product-block__first">
                                <div class="product-block__images overflow-hidden">
                                                                            <span class="new lazyload">Nouveau</span>
                                                                                                                <!--<span class="best lazyload">-->  <!--</span>-->
                                                                        <img src="https://cdn4.mesrideaux.fr/catalog/product/cache/eddd32ef720e909fecec8d69051e6d0d/c/o/coussin-chivasso-moontrace-vieux-rose-gris-vue-large_1.webp"
                                         alt="Coussin Moontrace"
                                         class="img-responsive product-image-photo lazyload"
                                         height="216" width="216" loading="lazy" decoding="async" fetchpriority="low"
                                         />
                                    <div class="product-block__see icon-search">
                                        <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewbox="0 0 32 32" style="" fill="white">
                                            <path d="M28.664 32l-10.146-10.148 0.697-0.697 9.449 9.449 1.939-1.938-9.452-9.454 0.697-0.697 10.149 10.151-3.332 3.334zM12.085 24.203c-3.342-0.003-6.366-1.365-8.549-3.563l-0.001-0.001c-4.714-4.714-4.714-12.387 0-17.102s12.388-4.715 17.102 0v0c4.714 4.714 4.714 12.387 0 17.102-0.444 0.445-0.922 0.856-1.43 1.228l-0.034 0.024c-1.961 1.443-4.423 2.31-7.088 2.312h-0zM12.085 0.987c-0.005 0-0.012 0-0.018 0-3.060 0-5.83 1.241-7.834 3.247l-0 0c-4.33 4.331-4.33 11.374 0 15.708 3.884 3.884 9.923 4.368 14.361 1.152 0.499-0.365 0.938-0.742 1.347-1.151v0c4.33-4.332 4.33-11.378 0-15.709v0c-2.005-2.006-4.775-3.248-7.835-3.248-0.007 0-0.014 0-0.021 0h0.001z"></path>
                                        </svg>
                                    </div>
                                                                        <span class="product-block__alt-img lazyload e" data-hover-bg="https://cdn4.mesrideaux.fr/catalog/product/cache/eddd32ef720e909fecec8d69051e6d0d/c/o/coussin-chivasso-moontrace-vieux-rose-gris-gros-plan_1.webp"></span>
                                </div>
                            </div>
                        </a>

                                                <div data-role="add-to-links" class="actions-secondary">
                                                    </div>

                        <div class="product-block__content product details product-item-details flex flex-col flex-1">
                            <a href="https://www.mesrideaux.fr/coussin-moontrace.html?coloris=1117" class="product-block__link flex flex-col flex-1" data-plp-product-url>
                                <p class="product-block__title flex-1">
                                    Coussin moontrace                                </p>
                           
                           
                                <p class="product-block__subtitle">Chivasso</p>                            </a>
                                                                                    <div class="product-block__price">
                                    <div class="product-block__price__first flex justify-between">
                                        <span class="product-block__price__label">À partir de :</span>
                                        <span class="product-block__price__value">                                                <div class="price-box price-final_price italic" data-role="priceBox" data-product-id="32343">
                                                    <span class="price-container price-final_price tax weee">
                                                        <span data-price-amount="212.0000"
                                                              data-price-type="finalPrice"
                                                              class="price-wrapper">212 €                                                        </span>
                                                    </span>
                                                                                                            <span>TTC</span>
                                                                                                                                                                <!--<div class="product-block__price__last text-right">-->
                                                            <span class="product-block__price__unit">
                                                                                                                            </span>
                                                        <!--</div>-->
                                                                                                    </div>
                                                                                </span>
                                    </div>
                                    
                                </div>
                        </div>
                    </div>
                    <div class="product-block__cta">
                        <a href="https://www.mesrideaux.fr/coussin-moontrace.html?coloris=1117" class="btn btn-primary" data-plp-product-url>
                            <span class="classic-button width-60-button">Personnaliser</span>
                        </a>
                    </div>
                </article>
            </div>
                    <div
                id="mesrideaux-product-cross-sell-32245"
                class="flex flex-col"
                role="tabpanel"
            >
                                <article class="product-block product-block--list flex flex-col   item product product-item col-lg-4 col-md-4 col-sm-4 col-xs-12">
                                                            <div class="product-item-info flex flex-col flex-1" data-container="product-grid">
                        <a href="https://www.mesrideaux.fr/coussin-arsene.html?coloris=946" data-plp-product-url>
                            <div class="product-block__first">
                                <div class="product-block__images overflow-hidden">
                                                                                                                <!--<span class="best lazyload">-->  <!--</span>-->
                                                                        <img src="https://cdn4.mesrideaux.fr/catalog/product/cache/eddd32ef720e909fecec8d69051e6d0d/c/o/coussin-pierre-frey-arsene-miel-vue-large_1.webp"
                                         alt="Coussin Arsene"
                                         class="img-responsive product-image-photo lazyload"
                                         height="216" width="216" loading="lazy" decoding="async" fetchpriority="low"
                                         />
                                    <div class="product-block__see icon-search">
                                        <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewbox="0 0 32 32" style="" fill="white">
                                            <path d="M28.664 32l-10.146-10.148 0.697-0.697 9.449 9.449 1.939-1.938-9.452-9.454 0.697-0.697 10.149 10.151-3.332 3.334zM12.085 24.203c-3.342-0.003-6.366-1.365-8.549-3.563l-0.001-0.001c-4.714-4.714-4.714-12.387 0-17.102s12.388-4.715 17.102 0v0c4.714 4.714 4.714 12.387 0 17.102-0.444 0.445-0.922 0.856-1.43 1.228l-0.034 0.024c-1.961 1.443-4.423 2.31-7.088 2.312h-0zM12.085 0.987c-0.005 0-0.012 0-0.018 0-3.060 0-5.83 1.241-7.834 3.247l-0 0c-4.33 4.331-4.33 11.374 0 15.708 3.884 3.884 9.923 4.368 14.361 1.152 0.499-0.365 0.938-0.742 1.347-1.151v0c4.33-4.332 4.33-11.378 0-15.709v0c-2.005-2.006-4.775-3.248-7.835-3.248-0.007 0-0.014 0-0.021 0h0.001z"></path>
                                        </svg>
                                    </div>
                                                                        <span class="product-block__alt-img lazyload e" data-hover-bg="https://cdn4.mesrideaux.fr/catalog/product/cache/eddd32ef720e909fecec8d69051e6d0d/c/o/coussin-pierre-frey-arsene-miel-gros-plan_1.webp"></span>
                                </div>
                            </div>
                        </a>

                                                <div data-role="add-to-links" class="actions-secondary">
                                                    </div>

                        <div class="product-block__content product details product-item-details flex flex-col flex-1">
                            <a href="https://www.mesrideaux.fr/coussin-arsene.html?coloris=946" class="product-block__link flex flex-col flex-1" data-plp-product-url>
                                <p class="product-block__title flex-1">
                                    Coussin arsene                                </p>
                           
                           
                                <p class="product-block__subtitle">Pierre Frey</p>                            </a>
                                                                                    <div class="product-block__price">
                                    <div class="product-block__price__first flex justify-between">
                                        <span class="product-block__price__label">À partir de :</span>
                                        <span class="product-block__price__value">                                                <div class="price-box price-final_price italic" data-role="priceBox" data-product-id="32245">
                                                    <span class="price-container price-final_price tax weee">
                                                        <span data-price-amount="325.0000"
                                                              data-price-type="finalPrice"
                                                              class="price-wrapper">325 €                                                        </span>
                                                    </span>
                                                                                                            <span>TTC</span>
                                                                                                                                                                <!--<div class="product-block__price__last text-right">-->
                                                            <span class="product-block__price__unit">
                                                                                                                            </span>
                                                        <!--</div>-->
                                                                                                    </div>
                                                                                </span>
                                    </div>
                                    
                                </div>
                        </div>
                    </div>
                    <div class="product-block__cta">
                        <a href="https://www.mesrideaux.fr/coussin-arsene.html?coloris=946" class="btn btn-primary" data-plp-product-url>
                            <span class="classic-button width-60-button">Personnaliser</span>
                        </a>
                    </div>
                </article>
            </div>
                    <div
                id="mesrideaux-product-cross-sell-32364"
                class="flex flex-col"
                role="tabpanel"
            >
                                <article class="product-block product-block--list flex flex-col   item product product-item col-lg-4 col-md-4 col-sm-4 col-xs-12">
                                                            <div class="product-item-info flex flex-col flex-1" data-container="product-grid">
                        <a href="https://www.mesrideaux.fr/coussin-portofino.html?coloris=648" data-plp-product-url>
                            <div class="product-block__first">
                                <div class="product-block__images overflow-hidden">
                                                                            <span class="new lazyload">Nouveau</span>
                                                                                                                <!--<span class="best lazyload">-->  <!--</span>-->
                                                                        <img src="https://cdn4.mesrideaux.fr/catalog/product/cache/eddd32ef720e909fecec8d69051e6d0d/c/o/coussin-pierre-frey-portofino-ivoire-vue-large_1.webp"
                                         alt="COUSSIN PORTOFINO"
                                         class="img-responsive product-image-photo lazyload"
                                         height="216" width="216" loading="lazy" decoding="async" fetchpriority="low"
                                         />
                                    <div class="product-block__see icon-search">
                                        <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewbox="0 0 32 32" style="" fill="white">
                                            <path d="M28.664 32l-10.146-10.148 0.697-0.697 9.449 9.449 1.939-1.938-9.452-9.454 0.697-0.697 10.149 10.151-3.332 3.334zM12.085 24.203c-3.342-0.003-6.366-1.365-8.549-3.563l-0.001-0.001c-4.714-4.714-4.714-12.387 0-17.102s12.388-4.715 17.102 0v0c4.714 4.714 4.714 12.387 0 17.102-0.444 0.445-0.922 0.856-1.43 1.228l-0.034 0.024c-1.961 1.443-4.423 2.31-7.088 2.312h-0zM12.085 0.987c-0.005 0-0.012 0-0.018 0-3.060 0-5.83 1.241-7.834 3.247l-0 0c-4.33 4.331-4.33 11.374 0 15.708 3.884 3.884 9.923 4.368 14.361 1.152 0.499-0.365 0.938-0.742 1.347-1.151v0c4.33-4.332 4.33-11.378 0-15.709v0c-2.005-2.006-4.775-3.248-7.835-3.248-0.007 0-0.014 0-0.021 0h0.001z"></path>
                                        </svg>
                                    </div>
                                                                        <span class="product-block__alt-img lazyload e" data-hover-bg="https://cdn4.mesrideaux.fr/catalog/product/cache/eddd32ef720e909fecec8d69051e6d0d/c/o/coussin-pierre-frey-portofino-ivoire-gros-plan_1.webp"></span>
                                </div>
                            </div>
                        </a>

                                                <div data-role="add-to-links" class="actions-secondary">
                                                    </div>

                        <div class="product-block__content product details product-item-details flex flex-col flex-1">
                            <a href="https://www.mesrideaux.fr/coussin-portofino.html?coloris=648" class="product-block__link flex flex-col flex-1" data-plp-product-url>
                                <p class="product-block__title flex-1">
                                    Coussin portofino                                </p>
                           
                           
                                <p class="product-block__subtitle">Pierre Frey</p>                            </a>
                                                                                    <div class="product-block__price">
                                    <div class="product-block__price__first flex justify-between">
                                        <span class="product-block__price__label">À partir de :</span>
                                        <span class="product-block__price__value">                                                <div class="price-box price-final_price italic" data-role="priceBox" data-product-id="32364">
                                                    <span class="price-container price-final_price tax weee">
                                                        <span data-price-amount="294.0000"
                                                              data-price-type="finalPrice"
                                                              class="price-wrapper">294 €                                                        </span>
                                                    </span>
                                                                                                            <span>TTC</span>
                                                                                                                                                                <!--<div class="product-block__price__last text-right">-->
                                                            <span class="product-block__price__unit">
                                                                                                                            </span>
                                                        <!--</div>-->
                                                                                                    </div>
                                                                                </span>
                                    </div>
                                    
                                </div>
                        </div>
                    </div>
                    <div class="product-block__cta">
                        <a href="https://www.mesrideaux.fr/coussin-portofino.html?coloris=648" class="btn btn-primary" data-plp-product-url>
                            <span class="classic-button width-60-button">Personnaliser</span>
                        </a>
                    </div>
                </article>
            </div>
                    <div
                id="mesrideaux-product-cross-sell-32260"
                class="flex flex-col"
                role="tabpanel"
            >
                                <article class="product-block product-block--list flex flex-col   item product product-item col-lg-4 col-md-4 col-sm-4 col-xs-12">
                                                            <div class="product-item-info flex flex-col flex-1" data-container="product-grid">
                        <a href="https://www.mesrideaux.fr/coussin-cotiella.html?coloris=616" data-plp-product-url>
                            <div class="product-block__first">
                                <div class="product-block__images overflow-hidden">
                                                                            <span class="new lazyload">Nouveau</span>
                                                                                                                <!--<span class="best lazyload">-->  <!--</span>-->
                                                                        <img src="https://cdn4.mesrideaux.fr/catalog/product/cache/eddd32ef720e909fecec8d69051e6d0d/c/o/coussin-gaston-y-daniela-cotiella-creme-vue-large_1.webp"
                                         alt="COUSSIN COTIELLA"
                                         class="img-responsive product-image-photo lazyload"
                                         height="216" width="216" loading="lazy" decoding="async" fetchpriority="low"
                                         />
                                    <div class="product-block__see icon-search">
                                        <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewbox="0 0 32 32" style="" fill="white">
                                            <path d="M28.664 32l-10.146-10.148 0.697-0.697 9.449 9.449 1.939-1.938-9.452-9.454 0.697-0.697 10.149 10.151-3.332 3.334zM12.085 24.203c-3.342-0.003-6.366-1.365-8.549-3.563l-0.001-0.001c-4.714-4.714-4.714-12.387 0-17.102s12.388-4.715 17.102 0v0c4.714 4.714 4.714 12.387 0 17.102-0.444 0.445-0.922 0.856-1.43 1.228l-0.034 0.024c-1.961 1.443-4.423 2.31-7.088 2.312h-0zM12.085 0.987c-0.005 0-0.012 0-0.018 0-3.060 0-5.83 1.241-7.834 3.247l-0 0c-4.33 4.331-4.33 11.374 0 15.708 3.884 3.884 9.923 4.368 14.361 1.152 0.499-0.365 0.938-0.742 1.347-1.151v0c4.33-4.332 4.33-11.378 0-15.709v0c-2.005-2.006-4.775-3.248-7.835-3.248-0.007 0-0.014 0-0.021 0h0.001z"></path>
                                        </svg>
                                    </div>
                                                                        <span class="product-block__alt-img lazyload e" data-hover-bg="https://cdn4.mesrideaux.fr/catalog/product/cache/eddd32ef720e909fecec8d69051e6d0d/c/o/coussin-gaston-y-daniela-cotiella-creme-gros-plan_1.webp"></span>
                                </div>
                            </div>
                        </a>

                                                <div data-role="add-to-links" class="actions-secondary">
                                                    </div>

                        <div class="product-block__content product details product-item-details flex flex-col flex-1">
                            <a href="https://www.mesrideaux.fr/coussin-cotiella.html?coloris=616" class="product-block__link flex flex-col flex-1" data-plp-product-url>
                                <p class="product-block__title flex-1">
                                    Coussin cotiella                                </p>
                           
                           
                                <p class="product-block__subtitle">Gaston y Daniela</p>                            </a>
                                                                                    <div class="product-block__price">
                                    <div class="product-block__price__first flex justify-between">
                                        <span class="product-block__price__label">À partir de :</span>
                                        <span class="product-block__price__value">                                                <div class="price-box price-final_price italic" data-role="priceBox" data-product-id="32260">
                                                    <span class="price-container price-final_price tax weee">
                                                        <span data-price-amount="299.0000"
                                                              data-price-type="finalPrice"
                                                              class="price-wrapper">299 €                                                        </span>
                                                    </span>
                                                                                                            <span>TTC</span>
                                                                                                                                                                <!--<div class="product-block__price__last text-right">-->
                                                            <span class="product-block__price__unit">
                                                                                                                            </span>
                                                        <!--</div>-->
                                                                                                    </div>
                                                                                </span>
                                    </div>
                                    
                                </div>
                        </div>
                    </div>
                    <div class="product-block__cta">
                        <a href="https://www.mesrideaux.fr/coussin-cotiella.html?coloris=616" class="btn btn-primary" data-plp-product-url>
                            <span class="classic-button width-60-button">Personnaliser</span>
                        </a>
                    </div>
                </article>
            </div>
            </div>

    <div class="snap-pager" data-pager>
                    <a
                href="#mesrideaux-product-cross-sell-32343"
                class="snap-marker"
                role="tab"
                x-cloak
>
                <span class="sr-only">
                    View more about Coussin Moontrace                </span>
            </a>
                    <a
                href="#mesrideaux-product-cross-sell-32245"
                class="snap-marker"
                role="tab"
                x-cloak
>
                <span class="sr-only">
                    View more about Coussin Arsene                </span>
            </a>
                    <a
                href="#mesrideaux-product-cross-sell-32364"
                class="snap-marker"
                role="tab"
                x-cloak
>
                <span class="sr-only">
                    View more about COUSSIN PORTOFINO                </span>
            </a>
                    <a
                href="#mesrideaux-product-cross-sell-32260"
                class="snap-marker"
                role="tab"
                x-cloak
>
                <span class="sr-only">
                    View more about COUSSIN COTIELLA                </span>
            </a>
            </div>

    <span id="mesrideaux-product-cross-sell-slider-end" tabindex="-1"></span>
</section>



<!-- <section aria-label=""> -->
        <!-- </section> -->

</div>    <div id="alma-widget"></div>
    <script type="text/x-magento-init">
        {
            "#alma\u002Dwidget": {
                "Alma_MonthlyPayments/js/view/catalog/badge": {
                    "customDisplay" : {
                        "hasCustomPosition" : false,
                        "customContainerSelector" : "\u0023maincontent",
                        "isPrepend" : true        },
    "containerId" : "alma\u002Dwidget",
                    "productPrice" : 18605,
                    "useQuantityForWidgetPrice": true,
                    "productId": 29996,
                    "merchantId": "merchant_11uc97j6O9dZT6Z4PecWN7RA4vpkJ1IaAT",
                    "activeMode": "LIVE",
                    "locale": "fr",
                    "jsonPlans": [{"installmentsCount":2,"minAmount":5000,"maxAmount":300000,"deferredDays":0,"deferredMonths":0},{"installmentsCount":3,"minAmount":5000,"maxAmount":300000,"deferredDays":0,"deferredMonths":0},{"installmentsCount":4,"minAmount":5000,"maxAmount":300000,"deferredDays":0,"deferredMonths":0}]        }
    }
}
    </script>

</div></div></div></main><footer class="page-footer"><div class="footer content"><style>#html-body [data-pb-style=M1HA2FN],#html-body [data-pb-style=O26AHVQ]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=M1HA2FN]{justify-content:flex-start;display:flex;flex-direction:column}#html-body [data-pb-style=O26AHVQ]{align-self:stretch}#html-body [data-pb-style=Y52369T]{display:flex;width:100%}#html-body [data-pb-style=LTR636G]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:20%;align-self:stretch}#html-body [data-pb-style=ORGW39L]{border-style:none}#html-body [data-pb-style=B19THHK],#html-body [data-pb-style=EXJ44W4]{max-width:100%;height:auto}#html-body [data-pb-style=QL7J452]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:20%;align-self:stretch}#html-body [data-pb-style=RSWEPXA]{border-style:none}#html-body [data-pb-style=PCAVPF1],#html-body [data-pb-style=W5AF6BC]{max-width:100%;height:auto}#html-body [data-pb-style=LWP7OW4]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:20%;align-self:stretch}#html-body [data-pb-style=OW3HGFW]{border-style:none}#html-body [data-pb-style=IAN9EP8],#html-body [data-pb-style=J2LQSG1]{max-width:100%;height:auto}#html-body [data-pb-style=BCKGN1M]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:20%;align-self:stretch}#html-body [data-pb-style=CJYMKTF]{border-style:none}#html-body [data-pb-style=LY5E1E1],#html-body [data-pb-style=WU6V83T]{max-width:100%;height:auto}#html-body [data-pb-style=XAQPWKE]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:20%;align-self:stretch}#html-body [data-pb-style=HGTGEEL]{border-style:none}#html-body [data-pb-style=CR3KM6H],#html-body [data-pb-style=YX61JBX]{max-width:100%;height:auto}@media only screen and (max-width: 767px) { #html-body [data-pb-style=CJYMKTF],#html-body [data-pb-style=HGTGEEL],#html-body [data-pb-style=ORGW39L],#html-body [data-pb-style=OW3HGFW],#html-body [data-pb-style=RSWEPXA]{border-style:none} }</style><div data-content-type="row" data-appearance="contained" data-element="main"><div class="container footer-reassurance" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-background-lazy-load="false" data-element="inner" data-pb-style="M1HA2FN"><div class="pagebuilder-column-group" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="15" data-background-lazy-load="false" data-element="main" data-pb-style="O26AHVQ"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="Y52369T"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-background-lazy-load="" data-element="main" data-pb-style="LTR636G"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="ORGW39L"><img class="pagebuilder-mobile-hidden" src="https://cdn4.mesrideaux.fr/wysiwyg/gift-box.svg" alt="Livraison gratuite" title="" width="" height="" loading="lazy" data-use-native-image-dimensions="true" data-element="desktop_image" data-pb-style="EXJ44W4"><img class="pagebuilder-mobile-only" src="https://cdn4.mesrideaux.fr/wysiwyg/gift-box.svg" alt="Livraison gratuite" title="" width="" height="" loading="lazy" data-use-native-image-dimensions="true" data-element="mobile_image" data-pb-style="B19THHK"></figure><div data-content-type="text" data-appearance="default" data-element="main"><div class="c-title">Livraison gratuite</div>
<p><span class="c-content">&Agrave; partir de 100&euro;TTC, partout en France m&eacute;tropolitaine</span></p></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-background-lazy-load="" data-element="main" data-pb-style="QL7J452"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="RSWEPXA"><img class="pagebuilder-mobile-hidden" src="https://cdn4.mesrideaux.fr/wysiwyg/diamond_1.svg" alt="Qualit&eacute; garantie" title="" width="" height="" loading="lazy" data-use-native-image-dimensions="true" data-element="desktop_image" data-pb-style="PCAVPF1"><img class="pagebuilder-mobile-only" src="https://cdn4.mesrideaux.fr/wysiwyg/diamond_1.svg" alt="Qualit&eacute; garantie" title="" width="" height="" loading="lazy" data-use-native-image-dimensions="true" data-element="mobile_image" data-pb-style="W5AF6BC"></figure><div data-content-type="text" data-appearance="default" data-element="main"><div class="c-title">
<div class="c-title">Qualit&eacute; garantie</div>
<span class="c-content">Tous nos tissus et confections sont garantis 2 ans</span></div></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-background-lazy-load="" data-element="main" data-pb-style="LWP7OW4"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="OW3HGFW"><img class="pagebuilder-mobile-hidden" src="https://cdn4.mesrideaux.fr/wysiwyg/chat-bubble.svg" alt="Conseil" title="" width="" height="" loading="lazy" data-use-native-image-dimensions="true" data-element="desktop_image" data-pb-style="J2LQSG1"><img class="pagebuilder-mobile-only" src="https://cdn4.mesrideaux.fr/wysiwyg/chat-bubble.svg" alt="Conseil" title="" width="" height="" loading="lazy" data-use-native-image-dimensions="true" data-element="mobile_image" data-pb-style="IAN9EP8"></figure><div data-content-type="text" data-appearance="default" data-element="main"><div class="c-title">
<div class="c-title">Nos conseils</div>
<p class="c-content">Une expertise m&eacute;tier approuv&eacute;e au service de nos clients</p>
</div></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-background-lazy-load="" data-element="main" data-pb-style="BCKGN1M"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="CJYMKTF"><img class="pagebuilder-mobile-hidden" src="https://cdn4.mesrideaux.fr/wysiwyg/eiffel-tower.svg" alt="Fabrication fran&ccedil;aise" title="" width="" height="" loading="lazy" data-use-native-image-dimensions="true" data-element="desktop_image" data-pb-style="WU6V83T"><img class="pagebuilder-mobile-only" src="https://cdn4.mesrideaux.fr/wysiwyg/eiffel-tower.svg" alt="Fabrication fran&ccedil;aise" title="" width="" height="" loading="lazy" data-use-native-image-dimensions="true" data-element="mobile_image" data-pb-style="LY5E1E1"></figure><div data-content-type="text" data-appearance="default" data-element="main"><div class="c-title">
<div class="c-title">Fabrication fran&ccedil;aise</div>
<span class="c-content">Pour l'immense majorit&eacute; de nos produits</span></div></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-background-lazy-load="" data-element="main" data-pb-style="XAQPWKE"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="HGTGEEL"><img class="pagebuilder-mobile-hidden" src="https://cdn4.mesrideaux.fr/wysiwyg/echantillon_1.svg" alt="&eacute;chantillons" title="" width="" height="" loading="lazy" data-use-native-image-dimensions="true" data-element="desktop_image" data-pb-style="CR3KM6H"><img class="pagebuilder-mobile-only" src="https://cdn4.mesrideaux.fr/wysiwyg/echantillon_1.svg" alt="&eacute;chantillons" title="" width="" height="" loading="lazy" data-use-native-image-dimensions="true" data-element="mobile_image" data-pb-style="YX61JBX"></figure><div data-content-type="text" data-appearance="default" data-element="main"><div class="c-title">
<div class="c-title">&Eacute;chantillons &agrave; domicile</div>
<span class="c-content">Pour &ecirc;tre s&ucirc;r de votre choix</span></div></div></div></div></div></div></div><!-- Optimus -->
<script type="text/javascript">
    (function () {
        var d = document;
        var g = d.createElement('script');
        var s = d.getElementsByTagName('script')[0];
        g.type = 'text/javascript';
        g.async = true;
        g.defer = true;
        g.src = "https://j01l4h3n.com/optimus-TB9jPsnck.js";
        s.parentNode.insertBefore(g, s);
    })();
</script>
<!-- End Optimus Code -->
<div class="content newsletter-custom text-center py-section">
    <div class="container py-0">
        <h2>RESTONS EN CONTACT !</h2>
    </div>
    <form class="form subscribe amform-form"
          novalidate
 action="https://www.mesrideaux.fr/newsletter/subscriber/new/"
          method="post"
          data-mage-init='{"validation": {"errorClass": "mage-error"}}'
          id="newsletter-validate-detail"
          x-data="newsletterForm()"
          x-on:submit.prevent="submit($event)">
        <input name="form_key" type="hidden" value="1hz3gWuNnl2g4AD3" />        
        <div class="container-newsletter container">
            <div class="field newsletter content flex justify-center items-center">
                <div class="field newsletter custom-container-field-newsletter">
                    <div class="control">
                        <input class="input-text form-control input-lg"
                            name="email"
                            type="email"
                            id="newsletter"
                            placeholder="Entrez votre adresse email"
                            data-validate="{required:true, 'validate-email':true}"
                            x-model="email"
                            x-on:focus="showRgpd = true"
                            />
                    </div>
                </div>
                <div class="actions container-button-newsletter">
                    <button class="classic-button btn btn-primary" type="submit">
                        <span>Je m'inscris</span>
                    </button>
                </div>
            </div>
            <div class="message" x-show="message" x-cloak>
                <span id="loading-message" x-text="message" :class="statusClass"></span>
            </div>

            <div class="field newsletter rgpd" x-show="showRgpd" x-cloak>
                <div class="c-checkbox">
    <label for="newsletter-rgpd-consent">
        <span>En soumettant ce formulaire, j’accepte que les informations saisies soient utilisées pour apporter une réponse par mail ou par téléphone à ma demande</span>
    </label>
    <div class="field newsletter custom-container-field-newsletter">
        <div class="control">
            <input
                id="newsletter-rgpd-consent"
                type="checkbox"
                name="newsletter-rgpd-consent"
                style="margin-top: -47px"
                 required data-validation="required" data-validation-error-msg="Vous devez accepter de recevoir la newsletter" data-validate="{required:true}"            >
        </div>
    </div>
</div>
<script>
   /* (() => {
        const initConsentCheckbox = () => {
            const checkboxArgs = {
                'checkboxElement': document.querySelector('#newsletter-rgpd-consent'),
                'triggerElement': document.querySelector('#newsletter-validate-detail div.container-button-newsletter button'),
                'consentCheckboxID': '63a57a314ad00ca96337d6e2'
            };
            const checkbox = new CheckboxAxeptio(checkboxArgs);
        }

        if (document.readyState === 'complete') {
            initConsentCheckbox();
        } else {
            document.addEventListener("DOMContentLoaded", initConsentCheckbox);
        }
    })();*/
</script>
            </div>

        </div>
    </form>
    <div class="social-media-newsletter">
        <div class="social-media-newsletter__item">
            <a href="https://www.facebook.com/mesRideauxfr-114783795207929/" target="_blank">
            <img src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/icons/facebook.svg" alt="facebook" >
            </a>
        </div>
        <div class="social-media-newsletter__item">
            <a href="https://www.instagram.com/mesrideaux/" target="_blank">
            <img src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/icons/instagram.svg" alt="instagrm" >
            </a>
        </div>
        <div class="social-media-newsletter__item">
            <a href="https://fr.pinterest.com/mesrideauxfr/" target="_blank">
            <img src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/icons/pinterest.svg" alt="pinterest" >
            </a>
        </div>
        
    </div>
</div>
<script>
    document.addEventListener('alpine:init', () => {
        Alpine.data('newsletterForm', () => ({
            showRgpd: false,
            email: '',
            message: '',
            statusClass: '',
            resetForm() {
                setTimeout(() => {
                    this.message = '';
                    this.email = '';
                    this.statusClass = '';
                }, 3000);
            },
            async submit(event) {
                const form = event.target;
                const url = form.action;

                // Validation côté client
                const email = this.email.trim();
                const consentCheckbox = document.querySelector('#newsletter-rgpd-consent');
                const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;

                this.statusClass = 'error';

                if (!email) {
                    this.message = 'Veuillez saisir votre adresse e-mail.';
                    this.resetForm();
                    return;
                }

                if (!emailRegex.test(email)) {
                    this.message = 'Veuillez saisir une adresse e-mail valide.';
                    this.resetForm();
                    return;
                }

                if (consentCheckbox && !consentCheckbox.checked) {
                    this.message = 'Veuillez cocher la case de consentement pour la newsletter.';
                    this.resetForm();
                    return;

                }

                this.statusClass = '';
                this.message = 'Envoi en cours...';

                try {
                    const formKeyInput = form.querySelector('input[name="form_key"]');
                    const formKey = formKeyInput ? formKeyInput.value : '';
                    const body = new URLSearchParams({ email,form_key: formKey }).toString();
                    const response = await fetch(url, {
                        method: 'POST',
                        headers: {
                            'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
                        },
                        body
                    });

                    const data = await response.json().catch(() => ({}));

                    if (data.status && data.status !== 'ERROR') {
                        this.email = '';
                        this.resetForm();
                    }

                    this.statusClass = data.status === 'ERROR' ? 'error' : 'success';
                    this.message = data.msg || 'Votre demande a été prise en compte.';
                    this.resetForm();
                } catch (e) {
                    this.statusClass = 'error';
                    this.message = e.message || 'Une erreur est survenue.';
                    this.resetForm();
                }
            }
        }));

        });
</script>
<div class="bg-ivory">
    <div class="container">
        <div class="flex flex-wrap gap-y-16">
            
                        
    <nav
        class="footer-menu w-full"
        data-mage-init='{"snowdogMenu": {}}'
    >
        <ul class="footer-menu__list flex flex-wrap lg:gap-x-4 lg:gap-y-2">
                                            <li class="footer-menu__item footer-menu__item--parent w-full md:w-1/2 lg:w-auto lg:flex-1">
                                            <span class="footer-menu__item-toggle">
                            
    <span
        data-menu="menu-88" class="footer-menu__link"        tabindex="0"
    >
        Nos Services    </span>
                        </span>
                        <div class="footer-menu__submenu">
                                    <ul  class="footer-menu__inner-list footer-menu__inner-list--level1" data-menu="menu-88">
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--all footer-menu__inner-item--level1">
                
    <span
        class="footer-menu__inner-link"        tabindex="0"
    >
        Tout voir    </span>
            </li>
        
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                
    <a
        href="/notre-valeur-ajoutee"
        data-menu="menu-89" class="footer-menu__inner-link"    >
        Notre valeur ajoutée    </a>
                            </li>
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                
<a
    href="https://www.mesrideaux.fr/prendre-des-mesures"
    class="footer-menu__inner-link"
     data-menu="menu-100">
    Prendre des mesures</a>
                            </li>
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                
<a
    href="https://www.mesrideaux.fr/faq"
    class="footer-menu__inner-link"
     data-menu="menu-101">
    FAQ</a>
                            </li>
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                
<a
    href="https://www.mesrideaux.fr/videos"
    class="footer-menu__inner-link"
     data-menu="menu-102">
    Vidéos</a>
                            </li>
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                
<a
    href="https://www.mesrideaux.fr/b2b"
    class="footer-menu__inner-link"
     data-menu="menu-103">
    Service BtoB</a>
                            </li>
            </ul>
                        </div>
                                    </li>
                                            <li class="footer-menu__item footer-menu__item--parent w-full md:w-1/2 lg:w-auto lg:flex-1">
                                            <span class="footer-menu__item-toggle">
                            
    <span
        data-menu="menu-90" class="footer-menu__link"        tabindex="0"
    >
        Nos marques    </span>
                        </span>
                        <div class="footer-menu__submenu">
                                    <ul  class="footer-menu__inner-list footer-menu__inner-list--level1" data-menu="menu-90">
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--all footer-menu__inner-item--level1">
                
    <span
        class="footer-menu__inner-link"        tabindex="0"
    >
        Tout voir    </span>
            </li>
        
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                

<a
    href="https://www.mesrideaux.fr/createurs/thevenon.html"
    class="footer-menu__inner-link"
     data-menu="menu-104">
    Thevenon</a>
                            </li>
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                

<a
    href="https://www.mesrideaux.fr/createurs/casal.html"
    class="footer-menu__inner-link"
     data-menu="menu-302">
    Casal</a>
                            </li>
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                

<a
    href="https://www.mesrideaux.fr/createurs/luciano-marcato.html"
    class="footer-menu__inner-link"
     data-menu="menu-307">
    Luciano Marcato</a>
                            </li>
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                

<a
    href="https://www.mesrideaux.fr/createurs/pierre-frey.html"
    class="footer-menu__inner-link"
     data-menu="menu-111">
    Pierre Frey</a>
                            </li>
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                

<a
    href="https://www.mesrideaux.fr/createurs/jab.html"
    class="footer-menu__inner-link"
     data-menu="menu-106">
    JAB</a>
                            </li>
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                

<a
    href="https://www.mesrideaux.fr/createurs/lelievre.html"
    class="footer-menu__inner-link"
     data-menu="menu-107">
    Lelièvre</a>
                            </li>
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                

<a
    href="https://www.mesrideaux.fr/createurs/gaston-y-daniela.html"
    class="footer-menu__inner-link"
     data-menu="menu-309">
    Gaston y Daniela</a>
                            </li>
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                

<a
    href="https://www.mesrideaux.fr/createurs/elitis.html"
    class="footer-menu__inner-link"
     data-menu="menu-105">
    Elitis</a>
                            </li>
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                

<a
    href="https://www.mesrideaux.fr/createurs/romo.html"
    class="footer-menu__inner-link"
     data-menu="menu-109">
    Romo</a>
                            </li>
            </ul>
                        </div>
                                    </li>
                                            <li class="footer-menu__item footer-menu__item--parent w-full md:w-1/2 lg:w-auto lg:flex-1">
                                            <span class="footer-menu__item-toggle">
                            
    <span
        data-menu="menu-92" class="footer-menu__link"        tabindex="0"
    >
        Nos Produits    </span>
                        </span>
                        <div class="footer-menu__submenu">
                                    <ul  class="footer-menu__inner-list footer-menu__inner-list--level1" data-menu="menu-92">
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--all footer-menu__inner-item--level1">
                
    <span
        class="footer-menu__inner-link"        tabindex="0"
    >
        Tout voir    </span>
            </li>
        
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                
<a
    href="https://www.mesrideaux.fr/je-decouvre-sur-mesure"
    class="footer-menu__inner-link"
     data-menu="menu-93">
    Je découvre</a>
                            </li>
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                

<a
    href="https://www.mesrideaux.fr/rideaux.html"
    class="footer-menu__inner-link"
     data-menu="menu-114">
    Nos Rideaux sur mesure</a>
                            </li>
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                

<a
    href="https://www.mesrideaux.fr/stores-bateaux.html"
    class="footer-menu__inner-link"
     data-menu="menu-115">
    Nos Stores Bateau</a>
                            </li>
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                

<a
    href="https://www.mesrideaux.fr/tissus.html"
    class="footer-menu__inner-link"
     data-menu="menu-117">
    Nos Tissus</a>
                            </li>
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                
    <a
        href="/coussins.html"
        data-menu="menu-118" class="footer-menu__inner-link"    >
        Nos Coussins    </a>
                            </li>
            </ul>
                        </div>
                                    </li>
                                            <li class="footer-menu__item footer-menu__item--parent w-full md:w-1/2 lg:w-auto lg:flex-1">
                                            <span class="footer-menu__item-toggle">
                            
    <span
        data-menu="menu-94" class="footer-menu__link"        tabindex="0"
    >
        À propos    </span>
                        </span>
                        <div class="footer-menu__submenu">
                                    <ul  class="footer-menu__inner-list footer-menu__inner-list--level1" data-menu="menu-94">
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--all footer-menu__inner-item--level1">
                
    <span
        class="footer-menu__inner-link"        tabindex="0"
    >
        Tout voir    </span>
            </li>
        
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                
    <a
        href="/contact"
        data-menu="menu-122" class="footer-menu__inner-link"    >
        Nous contacter    </a>
                            </li>
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                
<a
    href="https://www.mesrideaux.fr/cgv"
    class="footer-menu__inner-link"
     data-menu="menu-123">
    Conditions générales de vente</a>
                            </li>
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                
<a
    href="https://www.mesrideaux.fr/mentions-legales"
    class="footer-menu__inner-link"
     data-menu="menu-124">
    Mentions légales</a>
                            </li>
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                
<a
    href="https://www.mesrideaux.fr/qui-sommes-nous"
    class="footer-menu__inner-link"
     data-menu="menu-126">
    Qui sommes nous !</a>
                            </li>
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1">
                <div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div class="avis-verif-header">
             <a href="https://www.avis-verifies.com/avis-clients/mesrideaux.fr" target="_blank">
                <img src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/icons/avis-verifies.png" alt="Avis Verifies" >
                <div class="avis-verif-header__content flex items-start justify-center">
                    <div class="o-stars">
                        <!-- Utiliser la largeur de .c-content pour le rendu de la note (ratio / 5 à exprimer en %)-->
                        <div class="c-content lazyload" data-loaded="true"></div>
                        <div class="c-bkg lazyload" data-loaded="true"></div>
                    </div>
                    <strong>4.8/5</strong>
                </div>
              </a>
            </div></div>                            </li>
            </ul>
                        </div>
                                    </li>
                                            <li class="footer-menu__item footer-menu__item--parent contact-nos-experts w-full md:w-1/2 lg:w-auto lg:flex-1">
                                            <span class="footer-menu__item-toggle">
                            
    <span
        data-menu="menu-96" class="footer-menu__link"        tabindex="0"
    >
        Contactez nos experts !    </span>
                        </span>
                        <div class="footer-menu__submenu">
                                    <ul  class="footer-menu__inner-list footer-menu__inner-list--level1" data-menu="menu-96">
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--all footer-menu__inner-item--level1">
                
    <span
        class="footer-menu__inner-link"        tabindex="0"
    >
        Tout voir    </span>
            </li>
        
                    
            <li  class="footer-menu__inner-item footer-menu__inner-item--level1 footer-contact">
                <style>#html-body [data-pb-style=YCVWN71]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}</style><div data-content-type="row" data-appearance="contained" data-element="main"><div data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-background-lazy-load="" data-element="inner" data-pb-style="YCVWN71"><div data-content-type="text" data-appearance="default" data-element="main"><p><a href="tel:014256392">01 42 56 31 92</a></p>
<p>Du Lundi au Jeudi<br>- 10h00 à 13h00<br>- 14h30 à 18h00</p>
<p>Le Vendredi<br>- 10h00 à 13h00<br>- 14h00 à 16h00</p>
<p>(hors jours fériés)</p>
<p>Ou par e-mail à :<br><a href="/cdn-cgi/l/email-protection#22414d4c56434156624f4751704b464743575a0c4450" target="_blank" rel="noopener"><span class="__cf_email__" data-cfemail="92f1fdfce6f3f1e6d2fff7e1e0fbf6f7f3e7eabcf4e0">[email&#160;protected]</span></a></p></div></div></div>                            </li>
            </ul>
                        </div>
                                    </li>
                    </ul>
    </nav>
    <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script>
        document.addEventListener('DOMContentLoaded', function () {
            function closeAllSubmenusExcept(submenuToShow) {
                document.querySelectorAll('.footer-menu__submenu').forEach(function(submenu) {
                    if (submenu !== submenuToShow) {
                        submenu.style.height = '0px';
                        submenu.style.overflow = 'hidden';
                        submenu.setAttribute('data-open', 'false');
                    }
                });
            }

            function setupFooterMenuToggle() {
                var isMobile = window.innerWidth < 768;
                document.querySelectorAll('.footer-menu__item--parent > .footer-menu__item-toggle').forEach(function(toggle) {
                    var submenu = toggle.nextElementSibling;

                    // Prépare la transition CSS lors du premier passage en mobile
                    if (submenu) {
                        submenu.style.transition = 'height 0.3s ease';
                    }

                    if (isMobile) {
                        // Réinitialise le style pour mobile
                        if (submenu) {
                            submenu.style.overflow = 'hidden';
                            if (submenu.getAttribute('data-open') !== 'true') {
                                submenu.style.height = '0px';
                            } else {
                                submenu.style.height = submenu.scrollHeight + 'px';
                            }
                        }
                        // Empêche le double binding
                        if (!toggle._footerMenuToggleHandler) {
                            toggle._footerMenuToggleHandler = function (e) {
                                e.preventDefault();
                                if (submenu) {
                                    if (submenu.getAttribute('data-open') !== 'true') {
                                        // Ferme les autres et ouvre celui-ci
                                        closeAllSubmenusExcept(submenu);
                                        submenu.style.height = submenu.scrollHeight + 'px';
                                        submenu.setAttribute('data-open', 'true');
                                        // Remove 'active' class from all .footer-menu__item-toggle elements
                                        document.querySelectorAll('.footer-menu__item-toggle.active').forEach(function(activeToggle) {
                                            activeToggle.classList.remove('active');
                                        });
                                
                                        toggle.classList.add('active');
                                    } else {
                                        submenu.style.height = '0px';
                                        submenu.setAttribute('data-open', 'false');
                                        toggle.classList.remove('active');
                                    }
                                }
                            };
                            toggle.addEventListener('click', toggle._footerMenuToggleHandler);
                        }
                    } else {
                        // Réinitialise tout en desktop
                        if (submenu) {
                            submenu.style.height = '';
                            submenu.style.overflow = '';
                            submenu.style.transition = '';
                            submenu.setAttribute('data-open', 'true');
                        }
                        // Retire les handlers s'ils existent
                        if (toggle._footerMenuToggleHandler) {
                            toggle.removeEventListener('click', toggle._footerMenuToggleHandler);
                            toggle._footerMenuToggleHandler = null;
                        }
                    }
                });
            }

            setupFooterMenuToggle();

            window.addEventListener('resize', function () {
                setupFooterMenuToggle();
            });
        });
    </script>

                
        </div>
    </div>
    <div class="copyright-container">
        <div class="container py-6 flex items-center sm:flex-row flex-col">
            
            <p class="text-center">
                                Toutes œuvres, dessins et autres marques ici utilisées sont la propriété de leurs auteurs ou sociétés détentrices. L'utilisation de la publication de ces œuvres sur le présent site web est réalisée à des fins d'illustration et de démonstration technique, sans volonté de violation de droit d'auteur.
            </p>
        </div>
    </div>
</div>

<script>




    
</script>

<script>
    'use strict';

    function amBrandsPopup() {
        let cached = false;

        const displayError = (error) => {
            console.error(error);
            typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                [{
                    type: "error",
                    text: "Une\u0020erreur\u0020s\u0027est\u0020produite.\u0020Merci\u0020d\u0027essayer\u0020ult\u00E9rieurement."
                }], 10000
            );
        };

        let letters = [
            "A","B","C","D",
            "E","F","G","H","I","J","K","L","M",
            "N","O","P","Q","R","S","T","U","V","W","X","Y","Z","#"
        ];

        return {
            hoverPanelActiveId: null,
            selectedLetter: null,
            items: [],
            letters: [],
            showCount: null,
            showFilter: null,
            showImages: true,
            showSearch: null,
            loading: false,
            label: 'Brands',
            isPopupEnabled: false,
            isTopMenuItemEnabled: false,
            cache: false,
            isMobile: false,

            initErrorMessages(errors) {
                const messages = [];
                for (let error in Object.keys(errors)) {
                    messages.push({type: 'error', text: errors[error].message});
                }
                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(messages, 10000);
            },

            chooseLetter(letter) {
                this.selectedLetter = this.selectedLetter === letter ? null : letter;
            },

            getQuery() {
                return "query BrandsPopupQuery { ambrandlist(\n                    showCount: true\n                    displayZero: true\n                  ) {\n                    all_letters,\n                    items {\n                      alt\n                      brandId\n                      cnt\n                      image\n                      img\n                      label\n                      letter\n                      url\n                    }\n                  }\n                  storeConfig {\n                    amshopby_brand_general_brands_brands_popup,\n                    amshopby_brand_general_menu_item_label,\n                    amshopby_brand_general_brands_page,\n                    amshopby_brand_general_topmenu_enabled,\n                    amshopby_brand_general_brands_popup_config {\n                      show_images,\n                      display_zero,\n                      filter_display_all,\n                      image_width,\n                      image_height,\n                      show_filter,\n                      show_count\n                    }\n                  } }"            },

            /**
             * Retrieve media url for given path
             *
             * @param path
             * @returns {string}
             */
            getMediaUrl(path) {
                const baseUrl = BASE_URL.replace('index.php/', '');
                if (path.includes('://')) {
                    return path;
                }

                let productImageUrl = `${baseUrl}${path}`;
                const regexDuplicateDomain = new RegExp(`^(https?:\/\/[^/]+).*\\1`);
                productImageUrl = productImageUrl.replace(regexDuplicateDomain, '$1');

                return productImageUrl.includes('/product/placeholder/')
                    ? productImageUrl.replace(/\/media(?=\/static)/, '')
                    : productImageUrl;
            },

            checkIsMobileResolution() {
                this.isMobile = window.matchMedia('(max-width: 1023px)').matches;
            },

            getBrandUrl(url){
                return BASE_URL + url;
            },

            init() {
                this.checkIsMobileResolution();

                                this.$watch('hoverPanelActiveId', (value) => {
                    if (value === 'am-brand') {
                        this.sendRequest();
                    }
                });
                            },

            /**
             * Get brands by letter
             *
             * @param result
             * @returns {{imageWidth: *, isTopMenuItemEnabled: *, showCount: *, displayAll: *, showFilter: *, showImages: *, isPopupEnabled: *, label: *, imageHeight: *, filterDisplayAll: *, brandsPage: *}}
             */
            settingsMapper(result) {
                const config = result.data.storeConfig?.amshopby_brand_general_brands_popup_config;
                return {
                    showImages: config.show_images,
                    showCount: config.show_count,
                    showFilter: config.show_filter,
                    imageWidth: config.image_width,
                    imageHeight: config.image_height,
                    filterDisplayAll: config.filter_display_all,
                    displayAll: config.display_zero,
                    isPopupEnabled: result.data.storeConfig?.amshopby_brand_general_brands_brands_popup,
                    label: result.data.storeConfig?.amshopby_brand_general_menu_item_label,
                    isTopMenuItemEnabled: result.data.storeConfig?.amshopby_brand_general_topmenu_enabled,
                    brandsPage: result.data.storeConfig?.amshopby_brand_general_brands_page,
                }
            },

            /**
             * Send request to graphql
             *
             * @returns {Promise<any>}
             */
            async sendRequest() {
                if (this.isMobile) {
                    return false;
                }

                this.loading = true;

                try {
                    if (cached) {
                        this.loading = false;
                        return false;
                    }

                    const response = await fetch('https://www.mesrideaux.fr/graphql', {
                        method: 'POST',
                        headers: {
                            'Content-Type': 'application/json',
                            'Store': 'default'
                        },
                        credentials: 'include',
                        body: JSON.stringify({query: this.getQuery(), variables: {}})
                    });
                    const result = await response.json();

                    if (result?.errors) {
                        this.initErrorMessages(result.errors);
                        return;
                    }

                    const data = result.data?.ambrandlist;
                    const mapper = this.settingsMapper(result);

                    // Update component settings
                    Object.keys(mapper).forEach(config => {
                        this[config] = mapper[config];
                    });

                    if (!this.filterDisplayAll) {
                        letters = data.all_letters.split(',');
                    }

                    const items = data.items.map(brand => {
                        brand.image = brand.img
                            ? this.getMediaUrl(brand.img) : (brand.image ? this.getMediaUrl(brand.image) : null);
                        return brand;
                    });

                    this.letters = letters.map(letter => ({
                        letter,
                        brands: this.getLetterItems(items, letter),
                    }));

                    this.items = this.letters.filter(row => row.brands?.length > 0);

                    cached = true;
                } catch (error) {
                    displayError(error);
                } finally {
                    this.loading = false;
                }
            },

            /**
             * Get brands by letter
             *
             * @param items
             * @param letter
             * @returns {*}
             */
            getLetterItems(items, letter) {
                return items.filter(row => row.letter === letter);
            },

            convertHtml(text) {
                let textField = document.createElement("textarea");
                textField.innerHTML = text;
                return textField.value;
            }
        }
    }
</script>
</div></footer><script>
    window.axeptioSettings = {
        clientId: '63a5761113e6a0cbbb89b1f4',
        sdk: '//static.axept.io/sdk-slim.js'
        , cookiesVersion: "mesrideaux-fr",
    };

    window.dbmAxeptioSettings = {"cgv":{"type":"contracts","id":"63a57a001c8726954e302b01"},"pdc":{"type":"contracts","id":"63a57a0bd23a56961461ec36"},"contact":{"type":"processings","id":"63a57a304ad00ca96337d6dd"},"newsletter":{"type":"processings","id":"63a57a314ad00ca96337d6e2"}};

    (function (d, s) {
        // Prevent duplicate SDK init (module + GTM or repeated handle render).
        if (window.__dbmAxeptioSdkInjected) {
            return;
        }

        var alreadyPresent = d.querySelector('script[src*="static.axept.io/sdk"]');
        if (alreadyPresent || window._axcb) {
            window.__dbmAxeptioSdkInjected = true;
            return;
        }

        var t = d.getElementsByTagName(s)[0], e = d.createElement(s);
        e.async = true;
        e.src = window.axeptioSettings.sdk;
        window.__dbmAxeptioSdkInjected = true;
        t.parentNode.insertBefore(e, t);
    })(document, 'script');
</script>

<script>
    let SnapSlider = class {
        constructor(el, {
            labelSepparator = 'de',
            autoPager,
            groupPager
        } = {}) {
            this.el = el;
            this.track = this.el.querySelector("[data-track]");
            if (!this.track) {
                console.warn(
                    "No Slider track defined, reverting back to CSS slider.\nPlease create a wrapper for your slides with the attribute data-track",
                    this.el
                );
                return;
            }
            this.initialLoad = true;
            this.slides = [];
            this.inViewObserver;
            this.mutationObserver;
            this.resizeObserver;
            this.pager = this.el.querySelector("[data-pager]");
            this.navBtns = Array.from(
                this.el.querySelectorAll("[data-next], [data-prev]")
            );
            this.slideLabelSepparator = this.el.dataset.slideLabelSepparator || labelSepparator;
            this.useAutoPager = autoPager || this.el.hasAttribute("data-auto-pager") || false;
            this.useGroupPager = groupPager || this.el.hasAttribute("data-group-pager") || false;
            this.sliderLabel = this.el.hasAttribute("aria-label") && this.el.getAttribute("aria-label").toLowerCase().trim().replace(/[^a-z0-9_-]+/g, "-").replace(/^-+|-+$/g, "");
            this.sliderId = this.el.id || this.sliderLabel || "slider";
            this.markerIdName = "data-target-id";
            this.pagerClasses = this.el.dataset.pagerClass || "snap-pager";
            this.markerClasses = this.el.dataset.markerClass || "snap-marker";
            this.init();
        }
        init() {
            this.setupSlides();
            this.setupNav();
            if (this.useAutoPager) {
                this.createPager();
            } else {
                this.setupPager();
            }
            this.setupObservers();
            this.setupMutationObserver();
            this.setupResizeObserver();
            this.el.addEventListener("click", this.eventHandler.bind(this));
            this.el.addEventListener("keydown", this.eventHandler.bind(this));
        }
        destroy() {
            this.inViewObserver?.disconnect();
            this.mutationObserver?.disconnect();
            this.resizeObserver?.disconnect();
            this.el.removeEventListener("click", this.eventHandler.bind(this));
            this.el.removeEventListener("keydown", this.eventHandler.bind(this));
        }
        roundUpIfGreaterThan(number, min = 8) {
            const decimalPart = number - Math.floor(number);
            return decimalPart >= min ? Math.ceil(number) : Math.floor(number);
        }
        getInViewItems() {
            const inViewSlides = this.track.querySelectorAll("[data-in-view]");
            const firstInViewSlide = inViewSlides[0] || null;
            const lastInViewSlide = inViewSlides[inViewSlides.length - 1] || null;
            const isAtStart = firstInViewSlide === this.slides[0];
            const isAtEnd = lastInViewSlide === this.slides[this.slides.length - 1];
            return {
                inViewSlides,
                totalInViewSlides: inViewSlides.length,
                firstInViewSlide,
                lastInViewSlide,
                isAtStart,
                isAtEnd,
                hasNoOverflow: isAtStart && isAtEnd
            };
        }
        groupPagerMarkers() {
            if (this.slides.length === 0 || !this.pager || !this.useGroupPager) return;
            const totalVisibleSlides = this.roundUpIfGreaterThan(
                this.track.offsetWidth / this.slides[0].offsetWidth
            );
            const markers = Array.from(this.pager.querySelectorAll("a, button"));
            markers.forEach((marker, index) => {
                marker.style.display = index % totalVisibleSlides === 0 ? null : "none";
            });
        }
        handleInView(entries) {
            entries.forEach((entry) => {
                const marker = this.pager && (this.pager.querySelector(`[href="#${entry.target.id}"]`) || this.pager.querySelector(
                    `[${this.markerIdName}="${entry.target.id}"]`
                ));
                entry.target.toggleAttribute("data-in-view", entry.isIntersecting);
                entry.target.toggleAttribute("inert", !entry.isIntersecting);
                marker?.setAttribute("aria-current", entry.isIntersecting);
                marker?.setAttribute("tabindex", entry.isIntersecting ? "0" : "-1");
            });
            const {
                isAtStart,
                isAtEnd,
                hasNoOverflow
            } = this.getInViewItems();
            this.navBtns.forEach((btn) => {
                if (btn.hasAttribute("data-next")) {
                    btn.style.visibility = hasNoOverflow ? "hidden" : null;
                    isAtEnd ? btn.setAttribute("disabled", "") : btn.removeAttribute("disabled");
                }
                if (btn.hasAttribute("data-prev")) {
                    btn.style.visibility = hasNoOverflow ? "hidden" : null;
                    isAtStart ? btn.setAttribute("disabled", "") : btn.removeAttribute("disabled");
                }
            });
            if (this.pager) {
                this.pager.style.visibility = hasNoOverflow ? "hidden" : null;
            }
            if (!this.initialLoad) {
                this.el.dispatchEvent(
                    new CustomEvent("slideChange", {
                        detail: this.getInViewItems()
                    })
                );
            } else {
                this.initialLoad = false;
            }
            if (document.activeElement.parentElement.hasAttribute("data-pager")) {
                const activeItems = this.pager.querySelectorAll('[tabindex="0"]');
                if (activeItems.length) {
                    activeItems[0].focus({ preventScroll: true });
                }
            }
        }
        getSlides() {
            if (!this.track) return [];
            return Array.from(this.track.children).filter(
                (child) => child.tagName.toLowerCase() !== "template" && child.tagName.toLowerCase() !== "style" && child.tagName.toLowerCase() !== "script"
            );
        }
        refreshSlides() {
            this.initialLoad = true;
            this.slides = this.getSlides();
            this.setupSlides();
            if (this.useAutoPager) {
                this.createPager();
            } else {
                this.setupPager();
            }
            this.groupPagerMarkers();
            this.setupObservers();
        }
        setupSlides() {
            this.slides = this.getSlides();
            this.slides.forEach((slide, index) => {
                const totalSlides = this.slides.length;
                const currentSlide = index + 1;
                const existingLabel = slide.getAttribute("aria-label") || "";
                const isImage = slide.tagName.toLowerCase() === "img" || slide.tagName.toLowerCase() === "picture";
                const slideLabelTag = isImage ? "alt" : "aria-label";
                const hasAutoLabel = existingLabel.startsWith(
                    `${currentSlide} ${this.slideLabelSepparator} `
                );
                if (!slide.hasAttribute("id")) {
                    slide.setAttribute(
                        "id",
                        `${this.sliderId}-item-${currentSlide}`
                    );
                }
                if (!slide.hasAttribute(slideLabelTag) || slide.getAttribute(slideLabelTag) === "" || hasAutoLabel) {
                    slide.setAttribute(
                        slideLabelTag,
                        `${currentSlide} ${this.slideLabelSepparator} ${totalSlides}`
                    );
                }
                if (slide.tagName.toLowerCase() === "div" && !slide.hasAttribute("role")) {
                    slide.setAttribute("role", "group");
                }
                if (this.pager && !isImage) {
                    slide.setAttribute("role", "tabpanel");
                }
                if (slide.getAttribute("role") === "group") {
                    slide.setAttribute("aria-roledescription", "item");
                }
            });
            if (!this.el.hasAttribute("role") && this.el.tagName !== "SECTION") {
                this.el.setAttribute("role", "region");
            }
            if (!this.el.hasAttribute("aria-roledescription")) {
                this.el.setAttribute("aria-roledescription", "carousel");
            }
            this.track.setAttribute("tabindex", 0);
            this.track.setAttribute("aria-live", "polite");
        }
        setupNav() {
            this.navBtns.forEach((btn) => {
                btn.setAttribute("disabled", "");
                btn.removeAttribute("hidden");
                btn.classList.remove("invisible");
                btn.style.visibility = null;
            });
        }
        createPager() {
            const newPager = document.createElement("nav");
            newPager.setAttribute("data-pager", "");
            newPager.setAttribute("role", "tablist");
            newPager.classList.add(...this.pagerClasses.split(" "));
            this.slides.forEach((slide, index) => {
                const marker = document.createElement("button");
                const slideId = slide.id || `${this.sliderId}-item-${index + 1}`;
                marker.setAttribute(this.markerIdName, slideId);
                marker.classList.add(...this.markerClasses.split(" "));
                this.setupPagerMarker(marker, index);
                newPager.appendChild(marker);
                if (slide.tagName.toLowerCase() !== "img" && slide.tagName.toLowerCase() !== "picture") {
                    slide.removeAttribute("aria-roledescription");
                    slide.setAttribute("role", "tabpanel");
                }
            });
            if (this.pager) {
                this.pager.setAttribute("role", "tablist");
                this.pager.replaceChildren(...newPager.children);
            } else {
                this.track.after(newPager);
                this.pager = this.el.querySelector("[data-pager]");
            }
        }
        setupPager() {
            if (!this.pager) return;
            this.pager.setAttribute("role", "tablist");
            const items = Array.from(this.pager.querySelectorAll("a, button"));
            items.forEach((marker, index) => this.setupPagerMarker(marker, index));
        }
        setupPagerMarker(marker, index) {
            const markerId = marker.getAttribute("href")?.slice(1) || marker.getAttribute(this.markerIdName);
            const slideId = markerId || `${this.sliderId}-item-${index + 1}`;
            if (!markerId) {
                marker.setAttribute(this.markerIdName, slideId);
            }
            marker.setAttribute("role", "tab");
            marker.setAttribute("aria-controls", slideId);
            marker.setAttribute("aria-posinset", index + 1);
            marker.setAttribute("aria-setsize", this.slides.length);
            marker.setAttribute("tabindex", "-1");
            if (!marker.hasAttribute("aria-label")) {
                marker.setAttribute("aria-label", `Slide ${index + 1}`);
            }
        }
        setupObservers() {
            if (this.inViewObserver) {
                this.inViewObserver.disconnect();
            }
            this.inViewObserver = new IntersectionObserver(
                this.handleInView.bind(this), {
                    root: this.track,
                    threshold: 0.8
                }
            );
            this.slides.forEach((slide) => this.inViewObserver.observe(slide));
        }
        setupMutationObserver() {
            this.mutationObserver = new MutationObserver(
                this.refreshSlides.bind(this)
            );
            this.mutationObserver.observe(this.track, {
                childList: true,
                subtree: false
            });
        }
        setupResizeObserver() {
            this.resizeObserver = new ResizeObserver(
                this.groupPagerMarkers.bind(this)
            );
            this.resizeObserver.observe(this.el);
        }
        goToSlideDir(dir = "next") {
            const {
                firstInViewSlide,
                lastInViewSlide
            } = this.getInViewItems();
            const isPrev = dir === "prev";
            let targetSlide = isPrev ? firstInViewSlide?.previousElementSibling : lastInViewSlide?.nextElementSibling;
            if (!targetSlide) return;
            if (targetSlide.tagName.toLowerCase() === "template") {
                targetSlide = isPrev ? targetSlide?.previousElementSibling : targetSlide?.nextElementSibling;
            }
            targetSlide.scrollIntoView({ block: "nearest", inline: isPrev ? "end" : "start" });
        }
        pagerToSlide(event) {
            if (!event.target.closest("[data-pager]")) return;
            const marker = event.target.closest("a, button");
            if (!marker) return;
            event.preventDefault();
            const slideId = marker.getAttribute("href")?.slice(1) || marker.getAttribute(this.markerIdName);
            const targetSlide = this.track.querySelector(`#${slideId}`);
            targetSlide?.scrollIntoView({ block: "nearest", inline: "start" });
        }
        eventHandler(event) {
            const target = event.target.closest(
                "[data-next], [data-prev], [data-pager]"
            );
            if (!target) return;
            if (event.type === "click") {
                if (target.hasAttribute("data-next")) {
                    this.goToSlideDir("next");
                } else if (target.hasAttribute("data-prev")) {
                    this.goToSlideDir("prev");
                } else if (target.closest("[data-pager]")) {
                    this.pagerToSlide(event);
                }
            }
            if (event.type === "keydown" && target.closest("[data-pager]")) {
                if (event.key === "ArrowRight") {
                    this.goToSlideDir("next");
                } else if (event.key === "ArrowLeft") {
                    this.goToSlideDir("prev");
                }
            }
        }
    };

    (() => {
        function alpineSnapSlider(Alpine) {
            Alpine.directive("snap-slider", (el, {
                modifiers
            }, {
                cleanup
            }) => {
                const autoPager = modifiers.includes("auto-pager");
                const groupPager = modifiers.includes("group-pager");
                const slider = new SnapSlider(el, {
                    autoPager,
                    groupPager
                });
                cleanup(() => {
                    slider.destroy();
                });
            });
        }

        document.addEventListener("alpine:init", () => {
            window.Alpine.plugin(alpineSnapSlider);
        });
    })();
    //# sourceURL=alpine-snap-slider.js
</script>
<script>
    (() => {
        // src/dialog.js
        function dialog_default(Alpine) {
            Alpine.directive("htmldialog", fylgjaAlpineDialog);
            function fylgjaAlpineDialog(el, { expression, modifiers }, { evaluateLater, cleanup }) {
            const evaluate = expression.length ? evaluateLater(expression) : () => {};
            const canEvaluate = expression.length > 0;
            const lockPageScroll = modifiers.includes("noscroll");
            const closeBy = el.getAttribute("closeby") || modifierValue(modifiers, "closeby", "closerequest");
            el.style.display = null;
            el.style.length === 0 && el.removeAttribute("style");
            if (el._x_isShown) {
                open();
            }
            const closeBySupported = (() => {
                return "closedBy" in HTMLDialogElement.prototype;
            })();
            function scrollLock(use = true) {
                document.body.style.overflow = use ? "hidden" : "";
            }
            function dialogSubmit(event) {
                if (event.target.getAttribute("method") === "dialog" || event.submitter?.getAttribute("formmethod") === "dialog") {
                event.preventDefault();
                evaluate();
                }
            }
            function escapeDialog(event) {
                if (event.key !== "Escape") return;
                event.preventDefault();
                if (closeBy === "none") return;
                evaluate();
            }
            function handleCloseByEvent(event) {
                if (event.target !== el) return;
                const rect = el.getBoundingClientRect();
                const isInDialog = rect.top <= event.clientY && event.clientY <= rect.top + rect.height && rect.left <= event.clientX && event.clientX <= rect.left + rect.width;
                if (!isInDialog) {
                if (closeBy === "any") {
                    if (closeBySupported) {
                    event.preventDefault();
                    }
                    evaluate();
                }
                }
            }
            function handleCloseEvent() {
                evaluate();
            }
            function open() {
                if (el.hasAttribute("open")) return;
                el.showModal();
                scrollLock(lockPageScroll);
            }
            function close() {
                if (!el.hasAttribute("open")) return;
                el.close();
                scrollLock(false);
            }
            el._x_doShow = () => open();
            el._x_doHide = () => close();
            el.addEventListener("keydown", escapeDialog);
            el.addEventListener("submit", dialogSubmit);
            el.addEventListener("click", handleCloseByEvent);
            el.addEventListener("cancel", handleCloseEvent);
            cleanup(() => {
                el.removeEventListener("keydown", escapeDialog);
                el.removeEventListener("submit", dialogSubmit);
                el.removeEventListener("click", handleCloseByEvent);
                el.removeEventListener("cancel", handleCloseEvent);
                scrollLock(false);
            });
            }
        }
        function modifierValue(modifiers, key, fallback) {
            if (modifiers.indexOf(key) === -1) return fallback;
            const rawValue = modifiers[modifiers.indexOf(key) + 1];
            if (!rawValue) return fallback;
            if (key === "closeby") {
            const allowedValues = ["auto", "none", "closerequest", "any"];
            const options = allowedValues.join(", ");
            if (!allowedValues.includes(rawValue)) {
                console.warn(
                `"${rawValue}" is not one of the allowed values for closeby: ${options}`
                );
                return fallback;
            }
            }
            return rawValue;
        }

        // src/cdn.js
        document.addEventListener("alpine:init", () => {
            window.Alpine.plugin(dialog_default);
        });
    })();
    //# sourceURL=alpine-htmldialog.js
</script>
<script>
    (() => {
        function src_default(Alpine) {
            Alpine.directive("intersect", Alpine.skipDuringClone((el, { value, expression, modifiers }, { evaluateLater, cleanup }) => {
                let evaluate = evaluateLater(expression);
                let options = {
                    rootMargin: getRootMargin(modifiers),
                    threshold: getThreshold(modifiers)
                };
                let observer = new IntersectionObserver((entries) => {
                    entries.forEach((entry) => {
                        if (entry.isIntersecting === (value === "leave"))
                            return;
                        evaluate();
                        modifiers.includes("once") && observer.disconnect();
                    });
                }, options);
                observer.observe(el);
                cleanup(() => {
                    observer.disconnect();
                });
            }));
        }
        function getThreshold(modifiers) {
            if (modifiers.includes("full"))
                return 0.99;
            if (modifiers.includes("half"))
                return 0.5;
            if (!modifiers.includes("threshold"))
                return 0;
            let threshold = modifiers[modifiers.indexOf("threshold") + 1];
            if (threshold === "100")
                return 1;
            if (threshold === "0")
                return 0;
            return Number(`.${threshold}`);
        }
        function getLengthValue(rawValue) {
            let match = rawValue.match(/^(-?[0-9]+)(px|%)?$/);
            return match ? match[1] + (match[2] || "px") : void 0;
        }
        function getRootMargin(modifiers) {
            const key = "margin";
            const fallback = "0px 0px 0px 0px";
            const index = modifiers.indexOf(key);
            if (index === -1)
                return fallback;
            let values = [];
            for (let i = 1; i < 5; i++) {
                values.push(getLengthValue(modifiers[index + i] || ""));
            }
            values = values.filter((v) => v !== void 0);
            return values.length ? values.join(" ").trim() : fallback;
        }

        document.addEventListener("alpine:init", () => {
            window.Alpine.plugin(src_default);
        });
    })();
    //# sourceURL=alpine-intersect.js
</script>
<script>
    for (const [selector, deferUntil] of Object.entries({".product-slider section[x-data]:not([x-data] [x-data])":"intersect",".product-info [x-data]:not([x-data] [x-data])":"intersect","#filters-content [x-data]:not([x-data] [x-data])":"intersect","#review_form":"intersect","section[x-data^=initRecentlyViewedProductsComponent]":"intersect","div[x-data^=initBundleOptions]":"intersect","#product_addtocart_form [x-data]:not([x-data] [x-data])":"intersect","#notice-cookie-block":"idle"})) {
        document.querySelectorAll(selector).forEach(el => el.setAttribute('x-defer', `${deferUntil}`));
    }
    //# sourceURL=alpine-defer-rules.js
</script>
<script>
    (() => {
        const hasAlpine = new Promise(resolve => {
            window.addEventListener('alpine:initialized', resolve, {once: true, passive: true});
        });

        const hasInteract = new Promise(resolve => {
            (events => {
                const onInteract = () => {
                    resolve();
                    events.forEach(type => window.removeEventListener(type, onInteract));
                }
                events.forEach(type => window.addEventListener(type, onInteract, {once: true, passive: true}))
            })(['touchstart', 'mouseover', 'wheel', 'scroll', 'keydown'])
        });

        const onIntersect = (el) => {
            return new Promise(resolve => {
                const observer = new IntersectionObserver(entries => {
                    for (const entry of entries) {
                        if (entry.isIntersecting) {
                            observer.disconnect()
                            resolve();
                        }
                    }
                }, {});
                observer.observe(el);
            });
        }

        function runComponent(el) {
            hasAlpine.then(() => {
                el.removeAttribute('x-ignore');
                queueMicrotask(() => Alpine.initTree(el));
            });
        }

        function initDeferredComponents() {
            document.querySelectorAll('[x-data][x-defer]').forEach(el => {
                el.setAttribute('x-ignore', '');
                const deferUntil = (el.getAttribute('x-defer') || '').trim();
                switch (deferUntil) {
                    case 'interact':
                        hasInteract.then(() => runComponent(el));
                        break;
                    case 'intersect':
                        onIntersect(el).then(() => runComponent(el))
                        break;
                    case 'idle':
                        window.requestIdleCallback
                            ? window.requestIdleCallback(() => runComponent(el), {timeout: 4000})
                            : setTimeout(() => runComponent(el), 4000);
                        break;
                    case 'eager':
                        runComponent(el);
                        break;
                    default:
                        if (deferUntil.startsWith('event:') && deferUntil.length > 6) {
                            window.addEventListener(deferUntil.substring(6), () => runComponent(el), {once: true, passive: true});
                        }
                }
            });
        }

        window.addEventListener('alpine:init', initDeferredComponents, {once: true, passive: true});
    })();
    //# sourceURL=alpine-defer.js
</script>
<script>
(()=>{function g(n){n.directive("collapse",e),e.inline=(t,{modifiers:i})=>{i.includes("min")&&(t._x_doShow=()=>{},t._x_doHide=()=>{})};function e(t,{modifiers:i}){let r=l(i,"duration",250)/1e3,u=l(i,"min",0),h=!i.includes("min");t._x_isShown||(t.style.height=`${u}px`),!t._x_isShown&&h&&(t.hidden=!0),t._x_isShown||(t.style.overflow="hidden");let c=(d,s)=>{let o=n.setStyles(d,s);return s.height?()=>{}:o},f={transitionProperty:"height",transitionDuration:`${r}s`,transitionTimingFunction:"cubic-bezier(0.4, 0.0, 0.2, 1)"};t._x_transition={in(d=()=>{},s=()=>{}){h&&(t.hidden=!1),h&&(t.style.display=null);let o=t.getBoundingClientRect().height;t.style.height="auto";let a=t.getBoundingClientRect().height;o===a&&(o=u),n.transition(t,n.setStyles,{during:f,start:{height:o+"px"},end:{height:a+"px"}},()=>t._x_isShown=!0,()=>{t.getBoundingClientRect().height==a&&(t.style.overflow=null)})},out(d=()=>{},s=()=>{}){let o=t.getBoundingClientRect().height;n.transition(t,c,{during:f,start:{height:o+"px"},end:{height:u+"px"}},()=>t.style.overflow="hidden",()=>{t._x_isShown=!1,t.style.height==`${u}px`&&h&&(t.style.display="none",t.hidden=!0)})}}}}function l(n,e,t){if(n.indexOf(e)===-1)return t;let i=n[n.indexOf(e)+1];if(!i)return t;if(e==="duration"){let r=i.match(/([0-9]+)ms/);if(r)return r[1]}if(e==="min"){let r=i.match(/([0-9]+)px/);if(r)return r[1]}return i}document.addEventListener("alpine:init",()=>{window.Alpine.plugin(g)});})();
</script>
<script>
// x-teleport implementation
(_ => {
    document.addEventListener('DOMContentLoaded', event => {
        // x-teleport available only for template
        if (!Alpine.version.startsWith('2')) {
            return;
        }

        const teleportDirective = (el, expression) => {
            let target = document.querySelector(expression)
            let clone = el.content.cloneNode(true).firstElementChild;

            target.appendChild(clone);
            setTimeout(() => {
                target.querySelectorAll('[x-data]')
                    .forEach(el => Alpine.initializeComponent(el));
            }, 0)
        };

        document.querySelectorAll('template').forEach(el => {
            if (!el.hasAttribute('x-teleport')) {
                return;
            }

            teleportDirective(el, el.getAttribute('x-teleport'));
        });

        document.querySelectorAll('[x-data]').forEach(el => {
            if (el.hasAttribute('x-init')) {
                return;
            }

            setTimeout(() => {
                Alpine.initializeComponent(el);
            }, 0);
        });
    });
})()
</script>

<script type="module"
        src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/Hyva_Theme/js/alpine3.min.js"
        defer
 crossorigin
></script>
<script>
    function dispatchMessages(messages, hideAfter) {
        const messagesEvent = new CustomEvent("messages-loaded", {
            detail: {
                messages: messages,
                hideAfter: hideAfter
            }
        });
        window.dispatchEvent(messagesEvent);
    }

    if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) {
        console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script");
    }

    (function( hyva, undefined ) {

        hyva.initFormKey = () => {
            const inputSelector = 'input[name="form_key"]',
                formKey = hyva.getFormKey();

            Array.from(document.querySelectorAll(inputSelector)).map(function (input) {
                input.value = formKey
            });
        }

        hyva.initMessages = () => {
            try {
                const messages = hyva.getCookie('mage-messages');
                window.mageMessages = messages ? JSON.parse(decodeURIComponent(messages).replace(/\+/g, ' ')) : [];

                dispatchMessages(window.mageMessages);

                                // empty `mage-messages` cookie
                const skipSetDomain = true;
                hyva.setCookie('mage-messages','', -1, skipSetDomain);

            } catch (error) {
                console.warn('Error parsing Cookie Messages:', error);
            }
        }

        window.addEventListener('DOMContentLoaded', hyva.initFormKey);
        hyva.alpineInitialized(hyva.initMessages)

    }( window.hyva = window.hyva || {} ));
    //# sourceURL=hyva-cookies.js
</script>
<script>
    {
        const private_content_key = 'mage-cache-storage';
        const private_content_expire_key = 'mage-cache-timeout';
        const private_content_version_key = 'private_content_version';
        const section_data_ids_key = 'section_data_ids';
        const mage_cache_session_id_key = 'mage-cache-sessid';
        const last_visited_store_key = 'last_visited_store';

        const ttl = 3600;

        if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) {
            console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script");
        }

        function loadSectionData () {
            const browserStorage = hyva.getBrowserStorage();
            if (!browserStorage) {
                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                    [{
                        type: "warning",
                        text: "Please enable LocalStorage in your browser."
                    }]
                );
                return;
            }
            try {
                let isInvalid = false;

                if (hyva.getCookie(last_visited_store_key) !== CURRENT_STORE_CODE) {
                    isInvalid = true;
                }
                hyva.setCookie(last_visited_store_key, CURRENT_STORE_CODE, false, false);

                if (!hyva.getCookie(mage_cache_session_id_key)) {
                    isInvalid = true;
                    browserStorage.removeItem(private_content_key);
                    const skipSetDomain = true;
                    const days = false;
                    hyva.setCookie(mage_cache_session_id_key, true, days, skipSetDomain)
                }

                const cookieVersion = hyva.getCookie(private_content_version_key);
                const storageVersion = browserStorage.getItem(private_content_version_key);

                if (cookieVersion && !storageVersion || cookieVersion !== storageVersion) {
                    isInvalid = true;
                }

                const privateContentExpires = browserStorage.getItem(private_content_expire_key);
                if (privateContentExpires && new Date(privateContentExpires) < new Date()) {
                    browserStorage.removeItem(private_content_key);
                }

                if (isInvalid && cookieVersion) {
                    fetchPrivateContent([]);
                } else if (cookieVersion && storageVersion && cookieVersion === storageVersion) {
                    const privateContent = JSON.parse(browserStorage.getItem(private_content_key));
                    if (
                        privateContent &&
                        privateContentExpires &&
                        privateContent.cart &&
                        privateContent.customer
                    ) {
                        dispatchPrivateContent(privateContent);
                    } else {
                        fetchPrivateContent([]);
                    }
                } else {
                    if (document.getElementById('default-section-data')) {
                        const privateContent = JSON.parse(document.getElementById('default-section-data').innerText.trim());
                        dispatchPrivateContent(privateContent);
                    } else {
                        dispatchPrivateContent({});
                    }
                }

            } catch (error) {
                console.warn('Error retrieving Private Content:', error);
            }
        }

        hyva.alpineInitialized(loadSectionData)
        window.addEventListener('reload-customer-section-data', loadSectionData);

        window.processSectionDataBeforeDispatch = window.processSectionDataBeforeDispatch || (data => data);

        function dispatchPrivateContent(data) {

            const privateContentEvent = new CustomEvent("private-content-loaded", {
                detail: {
                    data: window.processSectionDataBeforeDispatch(data)
                }
            });
            window.dispatchEvent(privateContentEvent);
        }

        function fetchPrivateContent(sections) {
            fetch(`${BASE_URL}customer/section/load/?sections=${encodeURIComponent(sections.join(','))}`, {
                method: 'GET',
                headers: {
                    'Content-Type': 'application/json',
                    'X-Requested-With': 'XMLHttpRequest'
                }
            })
                .then(response => response.ok && response.json())
                .then(
                    data => {
                        if (data) {
                            try {
                                const browserStorage = hyva.getBrowserStorage();

                                // merge new data preserving non-invalidated sections
                                const oldSectionData = JSON.parse(browserStorage.getItem(private_content_key) || '{}') || {};

                                if ((! data.cart || ! data.cart.cartId) && oldSectionData['checkout-data']) {
                                    delete oldSectionData['checkout-data'];
                                }
                                const newSectionData = Object.assign(oldSectionData, data);

                                dispatchPrivateContent(newSectionData);

                                // don't persist messages, they've been dispatched already
                                if (newSectionData.messages && newSectionData.messages.messages ) {
                                    newSectionData.messages.messages = [];
                                }

                                browserStorage.setItem(private_content_key, JSON.stringify(newSectionData));

                                const expiresAt = new Date(Date.now() + (ttl * 1000)).toISOString();
                                browserStorage.setItem(private_content_expire_key, expiresAt);

                                const newCookieVersion = hyva.getCookie(private_content_version_key);
                                browserStorage.setItem(private_content_version_key, newCookieVersion);

                                // We don't need the section_data_ids in Hyvä, but we store them for compatibility
                                // with Luma Fallback. Otherwise, not all sections are loaded in Luma Checkout
                                hyva.setCookie(
                                    section_data_ids_key,
                                    JSON.stringify(
                                        Object.keys(data).reduce((sectionDataIds, sectionKey) => {
                                            sectionDataIds[sectionKey] = data[sectionKey]['data_id'];
                                            return sectionDataIds;
                                        }, {})
                                    ),
                                    false,
                                    true
                                );
                            } catch (error) {
                                console.warn("Couldn't store privateContent", error);
                            }
                        }
                    }
                );
        }
    }
    //# sourceURL=hyva-private-content.js
</script>
<script>
    (() => {
        document.addEventListener('submit', event => event.target.action = event.target.action.replace('%25uenc%25', hyva.getUenc()));
    })()
</script>
<script>
    (events => {
        const dispatchUserInteractionEvent = () => {
            events.forEach(type => window.removeEventListener(type, dispatchUserInteractionEvent))
            window.dispatchEvent(new Event('init-external-scripts'))
        };
        events.forEach(type => window.addEventListener(type, dispatchUserInteractionEvent, {once: true, passive: true}))
    })(['touchstart', 'mousemove', 'wheel', 'scroll', 'keydown']);
    //# sourceURL=hyva-init-external-scripts.js
</script>
<script>
    function initConfigurableOptions(productId, optionConfig) {

        function findPathParam(key) {
                        const baseUrl = (BASE_URL.substring(0, 2) === '//' ? 'http:' : '') + BASE_URL;
            const baseUrlParts = (new URL(baseUrl)).pathname.replace(/\/$/, '').split('/');
            const pathParts = window.location.pathname.split('/').slice(baseUrlParts.length + 3);
            for (let i = 0; i < pathParts.length; i += 2) {
                if (pathParts[i] === key && pathParts.length > i) {
                    return pathParts[i + 1];
                }
            }
        }

        return {
            optionConfig,
            productId,
            itemId: (new URLSearchParams(window.location.search)).get('id') || findPathParam('id'),
            allowedAttributeOptions: [],
            selectedValues: [],
            init() {
                this.buildLookupMap();
                this.findAllowedAttributeOptions();
                this.$nextTick(() => {
                    if (typeof this.optionConfig.defaultValues === 'object') {
                        for (const [attributeId, value] of Object.entries(this.optionConfig.defaultValues)) {
                            this.changeOption(attributeId, value + '');
                        }
                    }
                    this.preselectQuerystringItems();
                    this.preselectLocationHashItems();
                });
            },
            productIndex: 0,
            productIndexForPrice: 0,
            productIndexesMap: null,
            productIndexesKeys: null,
            attributeCount: 0,
            optionIsActive(attributeId, optionId) {
                                return !!this.getAllowedAttributeOptions(attributeId).find(
                    option => option.id === optionId
                )
            },
            optionIsEnabled(attributeId, optionId) {
                                for (const productId in this.optionConfig.index) {
                    if (this.optionConfig.index[productId][attributeId] === optionId) {
                        return true;
                    }
                }
                return false;
            },
            findSimpleIndex() {
                                this.productIndex = this.calculateSimpleIndexForPartialSelection(this.selectedValues);
                this.productIndexForPrice = this.findCheapestProductForPartialSelection(this.selectedValues);
            },
            calculateSimpleIndexForPartialSelection(selectedValues) {
                if (selectedValues.length === 0) return 0;
                return this.findProductIdsForPartialSelection(selectedValues)[0];
            },
            buildLookupMap() {
                                this.productIndexesMap = new Map();
                this.attributeCount = Object.keys(this.optionConfig.attributes).length;
                for (const id in this.optionConfig.index) {
                    const options = this.optionConfig.index[id];
                    if (! this.productIndexesKeys) {
                        this.productIndexesKeys = Object.keys(options).sort();
                    }
                    const key = JSON.stringify(options, this.productIndexesKeys);
                    this.productIndexesMap.set(key, id);
                }
            },
            calculateSimpleIndexForFullSelection(selectedValues) {
                if (! this.isFullSelection(selectedValues)) return false;

                                const attrKeys = this.productIndexesKeys || [];
                const normalised = {};
                for (let i = 0; i < attrKeys.length; i++) {
                    normalised[attrKeys[i]] = selectedValues[attrKeys[i]];
                }
                const queryKey = JSON.stringify(normalised, attrKeys);
                return this.productIndexesMap.get(queryKey);
            },
            findAllowedAttributeOptions() {
                                this.allowedAttributeOptions = this.calculateAllowedAttributeOptions(this.selectedValues);
            },
            calculateAllowedAttributeOptions(selectedValues) {
                const allAttributes = this.optionConfig.attributes;
                const allAttributesSorted = Object.values(allAttributes).sort((a,b) => {
                    return a.position - b.position
                });

                const newAllowedAttributeOptions = [];

                allAttributesSorted.forEach(attribute => {
                    const selectionWithoutAttr = Object.assign({}, this.removeAttrFromSelection(selectedValues, attribute.id));
                    const availableIndexes = this.calculateAvailableProductIndexes(selectionWithoutAttr);
                    newAllowedAttributeOptions[attribute.id] = allAttributes[attribute.id].options.filter(option => {
                        return !!option.products.find(product => {
                            return availableIndexes.includes(product);
                        })
                    });
                });
                return newAllowedAttributeOptions;
            },
            calculateAvailableProductIndexes(selectedOptions) {
                if (Object.keys(selectedOptions).length === 0) {
                                        if (Object.values(this.optionConfig.salable || {}).length) {
                                                return [].concat.apply([], [].concat.apply([], Object.values(this.optionConfig.salable).map(Object.values))).filter((x, i, a) => a.indexOf(x) === i)
                    }
                                        return Object.keys(this.optionConfig.index);
                }

                                const selectedIds = Object.keys(selectedOptions);
                if (Object.values(this.optionConfig.salable || {}).length) {
                                        const selectedOptionIndexes = selectedIds.map(attrId => {
                        const optionValue = selectedOptions[attrId];
                        return this.optionConfig.salable[attrId] && this.optionConfig.salable[attrId][optionValue] || []
                    })
                                        return selectedOptionIndexes.reduce((acc, optionIndexes) => {
                        return acc.filter(index => optionIndexes.includes(index));
                    });
                } else {
                                        const productIndexes = this.optionConfig.index;
                    return Object.keys(productIndexes).filter(index => {
                                                for (const attrId of selectedIds) {
                            if (productIndexes[index][attrId] !== `${selectedOptions[attrId]}`) return false
                        }
                        return true
                    });
                }
            },
            findAttributeByOptionId(optionId) {
                for (const attributeId in this.optionConfig.attributes) {
                    const attributeOptions = this.optionConfig.attributes[attributeId].options || [];
                    if (attributeOptions.find(option => option.id === optionId)) {
                        return attributeId;
                    }
                }
            },
            getAllowedAttributeOptions(attributeId) {
                return this.allowedAttributeOptions[attributeId] || []
            },
            getAllAttributeOptions(attributeId) {
                return (
                    this.optionConfig.attributes[attributeId] &&
                    this.optionConfig.attributes[attributeId].options
                ) || []
            },
            getProductIdsForOption(option) {
                const attributeId = this.findAttributeByOptionId(option.id);
                const allOptions = this.optionConfig.attributes[attributeId];
                const opt = (allOptions && allOptions.options || []).find(o => o.id === option.id);
                return opt && opt.products
                    ? opt.products
                    : [];
            },
            findProductIdsForPartialSelection(optionSelection) {
                const candidateProducts = Object.values(optionSelection).reduce((candidates, optionId) => {
                    const newCandidates = this.getProductIdsForOption({id: optionId});
                    return candidates === null
                        ? newCandidates
                        : candidates.filter(productId => newCandidates.includes(productId));
                }, null);
                return candidateProducts || [];
            },
            findCheapestProductForPartialSelection(optionSelection) {
                const candidateProducts = this.findProductIdsForPartialSelection(optionSelection);
                return candidateProducts.reduce((cheapest, simpleIdx) => {
                    // in the first iteration we start with simpleIdx as the currently cheapest product
                    if (! this.optionConfig.optionPrices[cheapest]) return simpleIdx;
                    const knownCheapestPrice = this.optionConfig.optionPrices[cheapest].finalPrice.amount;
                    return knownCheapestPrice > this.optionConfig.optionPrices[simpleIdx].finalPrice.amount
                        ? simpleIdx
                        : cheapest;
                }, 0)
            },
            findProductIdToUseForOptionPrice(option) {
                // try to find a product for a complete selection
                const attributeId = this.findAttributeByOptionId(option.id);
                const optionSelection = Object.assign({}, this.selectedValues, {[attributeId]: option.id});
                const matchingSimpleIndex = this.calculateSimpleIndexForFullSelection(optionSelection);
                // if there is no complete selection, use the cheapest product for the option
                return matchingSimpleIndex || this.findCheapestProductForPartialSelection(optionSelection);
            },
            getAttributeOptionLabel(option) {
                const optionProduct = this.findProductIdToUseForOptionPrice(option);

                if ((! optionProduct) || (optionProduct === this.productIndexForPrice)) {
                    return option.label;
                }

                const currentPrice = this.getOptionPriceAdjustmentBasePrice();

                if (this.optionConfig.optionPrices[optionProduct]) {
                    const optionPrice = this.optionConfig.optionPrices[optionProduct].finalPrice.amount;
                    if (optionPrice !== currentPrice){
                        return option.label + ' ' + hyva.formatPrice(optionPrice - currentPrice, true);
                    }
                }
                return option.label;
            },
            getOptionPriceAdjustmentBasePrice() {
                if (this.optionConfig.optionPrices[this.productIndexForPrice]) {
                    return this.optionConfig.optionPrices[this.productIndexForPrice].finalPrice.amount
                }
                return this.optionConfig.prices.finalPrice.amount; // default price if no option selection
            },
            clearOptionIfActive(optionId, value) {
                if (this.selectedValues[optionId] === value) {
                    this.blurLabel()
                    this.changeOption(optionId, '')
                }
            },
            removeAttrFromSelection(selectedValues, attributeId) {
                                attributeId = parseInt(attributeId);
                return selectedValues.reduce((newSelection, val, attr) => {
                    if (attr !== attributeId) {
                        newSelection[attr] = val;
                    }
                    return newSelection;
                }, []);
            },
            changeOption(attributeId, value) {
                if (value === '') {
                    this.selectedValues = this.removeAttrFromSelection(this.selectedValues, attributeId)
                } else if (value && this.getAllowedAttributeOptions(attributeId).find(option => option.id === value)) {
                                        this.selectedValues[attributeId] = value;
                }
                this.findSimpleIndex();
                this.findAllowedAttributeOptions();
                this.updatePrices();
                this.updateGallery();

                const candidates = this.findProductIdsForPartialSelection(this.selectedValues);

                                window.dispatchEvent(
                    new CustomEvent(
                        'configurable-selection-changed',
                        {
                            detail: {
                                productId: this.productId,
                                optionId: attributeId,
                                value: value,
                                productIndex: this.productIndex,
                                selectedValues: this.selectedValues,
                                candidates: candidates,
                                skuCandidates: Object.values(candidates).map(id => this.optionConfig.sku?.[id] ?? null).filter(Boolean),
                            }
                        }
                    )
                );
            },
            calculateIsMinimalPrice() {
                return ! this.isFullSelection(this.selectedValues);
            },
            isFullSelection(selectedValues) {
                return Object.keys(selectedValues).length === this.attributeCount;
            },
            updatePrices() {
                const value = this.optionConfig.optionPrices[this.productIndexForPrice] || this.optionConfig.prices;
                window.dispatchEvent(
                    new CustomEvent(
                        "update-prices-" + this.productId,
                        {
                            detail: Object.assign(
                                value,
                                { isMinimalPrice: this.calculateIsMinimalPrice() }
                            )
                        }
                    )
                );
            },
            updateGallery () {
                if (this.productIndex) {
                    const images = this.optionConfig.images[this.productIndex];
                    images && window.dispatchEvent(new CustomEvent(
                        "update-gallery",
                        { detail: this.sortImagesByPosition(images) }
                    ));
                } else {
                    window.dispatchEvent(new Event("reset-gallery"));
                }
            },
            sortImagesByPosition(images) {
                return images.sort((x, y) => {
                    return x.position === y.position ? 0 : (parseInt(x.position) > parseInt(y.position) ? 1 : -1)
                });
            },
            onGetCartData(data) {
                                if (this.productId === '29996') {
                    this.preselectCartItems(data);
                }
                            },
            preselectCartItems(data) {
                // pre-select options based on cart data for current (quote) itemId
                const cart = data && data.cart;
                if (cart && cart.items) {
                    const cartItem = cart.items.find((item) => {
                        return (
                            item.item_id === this.itemId
                            && item.product_id === this.productId
                        )
                    });
                    if (cartItem && cartItem.options && cartItem.options.length) {
                        cartItem.options.map(option => {
                            this.changeOption(option.option_id, option.option_value);
                        })
                    }
                }
            },
            preselectQuerystringItems() {
                // pre-select option like ?size=167
                const urlQueryParams = new URLSearchParams(window.location.search.replace('?',''));
                this.preselectItemsBasedOnLocation(attribute => urlQueryParams.get(attribute.code));
            },
            preselectLocationHashItems() {
                // pre-select option like #144=167
                const urlHashParams = new URLSearchParams(window.location.hash.replace('#',''));
                this.preselectItemsBasedOnLocation(attribute => urlHashParams.get(attribute.id));
            },
            preselectItemsBasedOnLocation(getLocationValue) {
                Object.values(this.optionConfig.attributes).map(attribute => {
                    const v = getLocationValue(attribute);
                    v && this.changeOption(attribute.id, v)
                });
            }
        }
    }
</script>
<script>
    function initSwatchOptions(swatchConfig) {
        return {
            swatchConfig,
            products: [],
            matchedProducts: [],
            getAttributeSwatchData(attributeId) {
                const swatchConfig = Object.assign({}, this.swatchConfig[attributeId]);
                swatchConfig['details'] = JSON.parse(swatchConfig['additional_data']);

                return swatchConfig;
            },
            getAllAttributeOptions(attributeId) {
                return (
                    this.optionConfig.attributes[attributeId] &&
                    this.optionConfig.attributes[attributeId].options
                ) || []
            },
            optionIsActive(attributeId, optionId) {
                // return true if a product with this option is in stock
                return !!this.getAllowedAttributeOptions(attributeId).find(
                    option => option.id === optionId
                )
            },
            optionIsEnabled(attributeId, optionId) {
                // return true if a product with this option is enabled
                for (const productId in this.optionConfig.index) {
                    if (this.optionConfig.index[productId][attributeId] === optionId) {
                        return true;
                    }
                }
                return false;
            },
            mapSwatchTypeNumberToTypeCode(typeNumber) {
                switch ("" + typeNumber) {
                    case "1":
                        return "color"
                    case "2":
                        return "image"
                    case "3":
                        return "empty"
                    case "0":
                    default:
                        return "text"
                }
            },
            getTypeOfFirstOption(attributeId) {
                for (const optionId in this.swatchConfig[attributeId]) {
                    const option = this.swatchConfig[attributeId][optionId];
                    if (typeof option.type !== 'undefined') {
                        return this.mapSwatchTypeNumberToTypeCode(option.type);
                    }
                }
            },
            getVisualSwatchType(attributeId, targetOptionId) {
                // If a type configuration is present for the given option id, use it
                const config = this.swatchConfig[attributeId];
                if (config[targetOptionId] && typeof config[targetOptionId].type !== 'undefined') {
                    return this.mapSwatchTypeNumberToTypeCode(config[targetOptionId].type);
                }

                // Otherwise - if no config is present for the target option - use the type of the first option
                // with a type property from the attribute, thus assuming its the same type as the target option.
                // (This edge case condition can occur on single swatch products if some options are not salable)
                return this.getTypeOfFirstOption(attributeId);
            },
            getSwatchType(attributeId, optionId) {
                // Deserialize the attribute details the first time they are used
                if (this.swatchConfig[attributeId] && ! this.swatchConfig[attributeId].details) {
                    this.swatchConfig[attributeId] = this.getAttributeSwatchData(attributeId);
                }
                const type =  this.swatchConfig[attributeId] &&
                    this.swatchConfig[attributeId].details &&
                    this.swatchConfig[attributeId].details.swatch_input_type ||
                    "empty";
                return type === 'visual' ? this.getVisualSwatchType(attributeId, optionId) : type;
            },
            isTextSwatch(attributeId, optionId) {
                return this.getSwatchType(attributeId, optionId) === 'text';
            },
            isVisualSwatch(attributeId, optionId) {
                const type = this.getSwatchType(attributeId, optionId);

                return ['image', 'color'].includes(type);
            },
            getSwatchBackgroundStyle(attributeId, optionId) {
                const config = this.getSwatchConfig(attributeId, optionId);
                const type = this.getSwatchType(attributeId, optionId);

                if (type === "color") {
                        return 'background-color:' + config.value;
                } else if (type === "image") {
                        return "background: #ffffff url('" + config.value + "') no-repeat center";
                } else {
                    return '';
                }
            },
            getSwatchText(attributeId, optionId) {
                const config = this.getSwatchConfig(attributeId, optionId);
                return config.label || config.value || this.getOptionLabelFromOptionConfig(attributeId, optionId);
            },
            getOptionLabelFromOptionConfig(attributeId, optionId) {
                // Fallback if no value is present in swatchConfig data
                // Reference issue https://gitlab.hyva.io/hyva-themes/magento2-default-theme/-/issues/190
                const option = this.getAllAttributeOptions(attributeId).filter(option => option.id === optionId);
                return option && option[0] && option[0].label ||'';
            },
            getSwatchConfig(attributeId, optionId) {
                return this.swatchConfig[attributeId] && this.swatchConfig[attributeId][optionId]
                    ? this.swatchConfig[attributeId][optionId]
                    : false;
            },
            activeTooltipItem: false,
            tooltipPositionElement: false,
            isTooltipVisible() {
                return this.activeTooltipItem &&
                    this.getSwatchConfig(
                        this.activeTooltipItem.attribute,
                        this.activeTooltipItem.item
                    );
            },
            isFirstItemCol() {
                return this.activeTooltipItem.index === 0;
            },
            getTooltipImageStyle(attributeId, optionId) {
                const config = this.getSwatchConfig(attributeId, optionId);
                const type = this.getSwatchType(attributeId, optionId);

                if (type === "color") {
                    return 'background-color:' + config.value + '; width: 110px; height: 90px;';
                } else if (type === "image") {
                    return "background: #ffffff url('" + config.thumb +
                        "') center center no-repeat; width: 110px; height: 90px;";
                } else {
                    return 'display:none';
                }
            },
            getTooltipPosition() {
                return this.tooltipPositionElement ?
                    `top: ${this.tooltipPositionElement.offsetTop}px;` +
                    `left: ${
                        this.tooltipPositionElement.offsetLeft - (
                            this.tooltipPositionElement.closest('.snap') &&
                            this.tooltipPositionElement.closest('.snap').scrollLeft ||
                            0
                        )
                    }px;` : ''
            },
            getTooltipLabel() {
                return this.getSwatchConfig(this.activeTooltipItem.attribute, this.activeTooltipItem.item).label
            },
            focusedLabel: false,
            focusLabel(optionId) {
                this.focusedLabel = optionId;
            },
            blurLabel() {
                this.focusedLabel = false;
            },
            showSwatches: false,
            initShowSwatchesIntersect() {
                if ('IntersectionObserver' in window && !window.scrollY) {
                    let io = new IntersectionObserver(
                        entries => {
                            entries.map(entry => {
                                if (entry.isIntersecting) {
                                    this.showSwatches = true;
                                    io.unobserve(this.$root);
                                }
                            })
                        }
                    );
                    io.observe(this.$root);
                } else {
                    this.showSwatches = true
                }
            },
            checkSampleProduct(target, attrId, productId) {
                this.products[attrId] = target.value;
                const productArray = this.optionConfig.index;
                const sampleProduct = this.optionConfig.offerSample;
                const sampleProductCost = this.optionConfig.offerSampleCost;

                const productKey = Object.keys(this.products)
                    .map(key => `${key}:${this.products[key]}`)
                    .join(',');

                for (let key in productArray) {
                    let product = productArray[key];
                    const productKeyArray = Object.keys(product)
                        .map(attr => `${attr}:${product[attr]}`)
                        .join(',');

                    if (productKeyArray === productKey) {
                        if (sampleProduct[key] == 1) {
                            document.querySelector('#sampleButtonConfigurbale-' + productId).classList.remove('hidden');
                        } else {
                            document.querySelector('#sampleButtonConfigurbale-' + productId).classList.add('hidden');
                        }
                    }
                }

            }
        }
    }
</script>
<script>
    'use strict';

    const grecaptchaV2LoadCallbacks = [];

    function executeRecaptchaLoadCallbacks () {
        while (window.grecaptcha && grecaptchaV2LoadCallbacks.length > 0) {
            const callback = grecaptchaV2LoadCallbacks.pop();
            typeof callback === 'string' ? window[callback]() : callback();
        }
    }

    (function() {
        const loadRecaptchaScript = (event) => {

            if (window.grecaptcha || !event.target.form) {
                return;
            }

            const url = 'https://www.google.com/recaptcha/api.js?onload=executeRecaptchaLoadCallbacks';
            const siteKey = '';
            const script = document.createElement('script');
            script.type = 'text/javascript';
            script.src = siteKey ? `${url}&render=${siteKey}` : `${url}&render=explicit`;
            script.async = true;
            document.head.appendChild(script);

            script.addEventListener('load', () => {
                Array.from(document.querySelectorAll('button[data-recaptcha-btn]:disabled')).forEach(btn => btn.removeAttribute('disabled'));
            });
        }

        window.forceLoadRecaptchaScript = (form) => {
            loadRecaptchaScript({target: {form: form || 'dummy'}});
            executeRecaptchaLoadCallbacks();
        };

        document.body.addEventListener('input', loadRecaptchaScript, { once: true });
        document.body.addEventListener('focus', loadRecaptchaScript, { once: true });

    }());

</script>
<template id="popup-template">
  <div class="popin-call-client">
    <div class="modal-content">
        <div>
        <span class="close"> <svg xmlns="http://www.w3.org/2000/svg" width="22" height="21"><g fill="none" fill-rule="evenodd" stroke="#4a3328" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"><path d="m2 1.5 18 18M2 19.5l18-18"/></g></svg> </span>
        <svg xmlns="http://www.w3.org/2000/svg" width="91" height="91" viewbox="0 0 24 24" fill="#1C1F49"><path d="M12 0c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm3.445 17.827c-3.684 1.684-9.401-9.43-5.8-11.308l1.053-.519 1.746 3.409-1.042.513c-1.095.587 1.185 5.04 2.305 4.497l1.032-.505 1.76 3.397-1.054.516z"/></svg>
        <h3> Besoin d’être accompagné dans votre choix ?</h3>
        <h4> Contactez-nous ! Nos conseillers déco sont à votre disposition.</h4>
        <a href="tel:+330142563192" class="contact-number">01 42 56 31 92</a>
      </div>
    </div>
  </div>
</template>
<style>
 
.popin-call-client {
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: none;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: rgb(239 231 221 / 69%)
}

.popin-call-client.active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.popin-call-client .modal-content {
    background-color: #fefefe;
    padding: 20px 15px;
    max-width: 90%;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 8px;
}

@media screen and (min-width: 767px) {
    .popin-call-client .modal-content {
        max-width: 70%
    }
}

@media screen and (min-width: 1024px) {
    .popin-call-client .modal-content {
        width: 887px;
        max-width: none;
        padding: 22.5px 30px
    }
}

.popin-call-client .modal-content>div {
    margin-top: 6px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    text-align: center
}

.popin-call-client .modal-content>div svg {
    height: auto;
    margin-bottom: 22px
}

.popin-call-client .modal-content>div h3 {
    font-size: 24px;
    line-height: 32px;
    letter-spacing: 2px;
    font-weight: 400;
    color: #1C1F49;
    margin-bottom: 10px;
    text-transform: uppercase;
    max-width: 80%
}

@media screen and (min-width: 1024px) {
    .popin-call-client .modal-content>div h3 {
        font-size: 30px;
        line-height: 42px;
        max-width: 589px
    }
}

.popin-call-client .modal-content>div h4 {
    font-size: 18px;
    line-height: 22px;
    letter-spacing: 2.4px;
    font-weight: 400;
    color: var(--text-color);
    margin-bottom: 10px;
    max-width: 80%;
    /* font-family: "Nunito", sans-serif */
}

@media screen and (min-width: 1024px) {
    .popin-call-client .modal-content>div h4 {
        line-height: 32px;
        margin-bottom: 25px;
        max-width: 515px
    }
}

.popin-call-client .modal-content>div a {
    font-size: 18px;
    border: var(--color-beige) solid 2px;
    letter-spacing: 3.05px;
    padding: 11px 30px 12px 30px;
    color: var(--text-color);
    margin-bottom: 17px;
    line-height: 42px;
    font-weight: 700;
    /* font-family: "Nunito", sans-serif */
}

@media screen and (min-width: 1024px) {
    .popin-call-client .modal-content>div a {
        font-size: 22px;
        margin-bottom: 27.5px
    }
}

.popin-call-client>div .close {
    opacity: 1;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.popin-call-client>div .close svg {
    -webkit-transform: scale(0.82);
    transform: scale(0.82);
    margin-bottom: 0
}

.popin-call-client .close:hover,
.popin-call-client .close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer
}

</style>
<script>

    // Vérifie si le cookie existe
    function getCookie(name) {
        const cookieArr = document.cookie.split(";");
        for (let i = 0; i < cookieArr.length; i++) {
            const cookiePair = cookieArr[i].split("=");
            if (name == cookiePair[0].trim()) {
            return decodeURIComponent(cookiePair[1]);
            }
        }
        return null;
    }

    // Définit le cookie avec le nom et la valeur spécifiés, ainsi que la durée de vie et le chemin
    function setCookie(name, value, days, path) {
        let expires = "";
        if (days) {
            const date = new Date();
            date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
            expires = "; expires=" + date.toUTCString();
        }
        document.cookie = name + "=" + encodeURIComponent(value) + expires + "; path=" + path;
    }

    if (getCookie("popup") == null) {
        // if (true) {

        setTimeout(function() {
            const popupTemplate = document.getElementById("popup-template");
            if(popupTemplate) {
                const popupContent = popupTemplate.content.cloneNode(true);
                const modal = popupContent.querySelector(".popin-call-client");
                document.body.appendChild(modal);
                modal.style.display = "flex";
                setCookie("popup", "true", 1, "/");
    
                const closeModal = modal.querySelector(".close");
    
                closeModal.onclick = function() {
                    modal.style.display = "none";
                };
    
                modal.onclick = function(event) {
                    if (event.target == modal) {
                        modal.style.display = "none";
                    }
                }   
            }

        }, 40000)
    }

</script>
<script>(function () {
    'use strict';

    var PROBANCE_TOKEN = 'stEBgropGvokUIr';
    var PROBANCE_TRACKER_NAME = 'Prob_Track';
    var PROBANCE_TIMEOUT = 90;
    var PROBANCE_ENDPOINT = '//t4.my-probance.one/webtrax';
    var PROBANCE_QUERY_PARAM = 'idprob';
    var VISITOR_IDENTIFIER_TYPE = 'email';
    var lastTrackedUrl = '';

    function getCustomerData() {
        if (window.customerData) {
            return window.customerData;
        }

        try {
            var rawStorage = localStorage.getItem('mage-cache-storage');
            if (!rawStorage) {
                return null;
            }
            var parsedStorage = JSON.parse(rawStorage);
            return parsedStorage && parsedStorage.customer ? parsedStorage.customer : null;
        } catch (error) {
            return null;
        }
    }

    function getVisitorId() {
        var customer = getCustomerData();
        if (!customer) {
            return '';
        }
        return customer.email || 'non-connected';
    }

    function getBasketId() {
        if (window.checkoutConfig && window.checkoutConfig.quoteData) {
            return String(window.checkoutConfig.quoteData.entity_id || '').trim();
        }
        return '';
    }

    function getCurrentProductName() {
        var productName = document.querySelector('h1.page-title.text-3xl.font-semibold.mb-8.text-center');
        if (!productName) {
            return '';
        }
        var productName = productName.textContent.trim();

        return productName.charAt(0).toUpperCase() + productName.slice(1).toLowerCase();
    }

    function getCurrentProductId() {
        var productInput = document.querySelector('form[action*="/checkout/cart/add"] input[name="product"]');
        if (!productInput) {
            return '';
        }
        return String(productInput.value || '').trim();
    }

    function createProbanceTracker(typeID, myId) {
        var crm = null;
        try {
            crm = new window.PROBANCE_CRMTracker(
                PROBANCE_TOKEN,
                PROBANCE_TRACKER_NAME,
                PROBANCE_TIMEOUT,
                PROBANCE_ENDPOINT,
                PROBANCE_QUERY_PARAM
            );
        } catch (err) {
            return null;
        }

        if (crm === null) {
            return null;
        }

        var probanceTracker = new window.PROBANCE_trackers();
        probanceTracker.setCRM(crm);

        if (myId !== null && myId !== undefined && myId !== '') {
            crm.setCustomer(myId, typeID);
        }

        probanceTracker.doNotTrackOnInit();
        probanceTracker.init();

        return probanceTracker;
    }

    window.ViewedPage = function ViewedPage() {
        if (typeof window.PROBANCE_CRMTracker !== 'function' || typeof window.PROBANCE_trackers !== 'function') {
            return;
        }

        var typeID = VISITOR_IDENTIFIER_TYPE;
        var my_id = getVisitorId();
        var pid = getCurrentProductId();
        var aid = '';
        var pname = getCurrentProductName();
        var url = document.location.href;

        var tracker = createProbanceTracker(typeID, my_id);
        if (!tracker) {
            return;
        }

        if (pid === null || pid === undefined) {
            pid = '';
        }
        if (aid === null || aid === undefined) {
            aid = '';
        }

        tracker.track(url, [['product_id', pid], ['article_id', aid],['product_name', pname], ['action', 'visit']]);
        lastTrackedUrl = url;
    };

    window.Cartin = function Cartin(payload) {
        if (typeof window.PROBANCE_CRMTracker !== 'function' || typeof window.PROBANCE_trackers !== 'function') {
            return;
        }

        var data = payload || {};
     
        var typeID = VISITOR_IDENTIFIER_TYPE;
        var my_id = getVisitorId();

        var pid = String(data.pid || '').trim();
        var aid = String(data.aid || '').trim();
        var bid = String(data.bid || getBasketId() || '').trim();
        var url = document.location.href;
        var pname = getCurrentProductName();
        var tracker = createProbanceTracker(typeID, my_id);
        if (!tracker) {
            return;
        }

        if (pid === null || pid === undefined) {
            pid = '';
        }
        if (aid === null || aid === undefined) {
            aid = '';
        }
        if (bid === null || bid === undefined) {
            bid = '';
        }

        tracker.trackEvent(url, [['product_id', pid], ['article_id', aid], ['basket_id', bid],['product_name', pname], ['action', 'cart']]);
    };

    document.addEventListener('submit', function (event) {
        var form = event.target;
        if (!(form instanceof HTMLFormElement)) {
            return;
        }

        var action = (form.getAttribute('action') || '').toLowerCase();
        if (action.indexOf('/checkout/cart/add') === -1) {
            return;
        }

        var productInput = form.querySelector('input[name="product"]');
        var productId = productInput ? String(productInput.value || '').trim() : '';
        window.Cartin({pid: productId, aid: productId});
    }, true);

    function trackIfUrlChanged() {
        var currentUrl = document.location.href;
        if (currentUrl === lastTrackedUrl) {
            return;
        }
        window.ViewedPage();
    }

    function bindAjaxNavigationTracking() {
        var originalPushState = window.history.pushState;
        var originalReplaceState = window.history.replaceState;

        window.history.pushState = function () {
            var result = originalPushState.apply(this, arguments);
            setTimeout(trackIfUrlChanged, 0);
            return result;
        };

        window.history.replaceState = function () {
            var result = originalReplaceState.apply(this, arguments);
            setTimeout(trackIfUrlChanged, 0);
            return result;
        };

        window.addEventListener('popstate', trackIfUrlChanged);
        window.addEventListener('hashchange', trackIfUrlChanged);
    }

    if (window.jQuery && typeof window.jQuery === 'function') {
        window.jQuery(document).ready(function () {
            window.ViewedPage();
            bindAjaxNavigationTracking();
        });
    } else if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', function () {
            window.ViewedPage();
            bindAjaxNavigationTracking();
        });
    } else {
        window.ViewedPage();
        bindAjaxNavigationTracking();
    }
})();</script>
<script>
    window.mrGa4CatalogProductConfig = {"item":{"item_id":"gdt5287-001-gaston-coussin","item_name":"COUSSIN AGUEDA","affiliation":"mesrideaux.fr","currency":"EUR","price":0,"quantity":1,"item_brand":"MesRideaux","item_category":"Coussins","product_type":"made_to_measure","item_variant":"Beige"},"variants":[],"requiresVariantSelection":false,"ecommerce":{"currency":"EUR","value":0,"items":[{"item_id":"gdt5287-001-gaston-coussin","item_name":"COUSSIN AGUEDA","affiliation":"mesrideaux.fr","currency":"EUR","price":0,"quantity":1,"item_brand":"MesRideaux","item_category":"Coussins","product_type":"made_to_measure","item_variant":"Beige"}]}};
</script>
<script>
    window.mrGa4ConfiguratorConfig = {"item":{"item_id":"gdt5287-001-gaston-coussin","item_name":"COUSSIN AGUEDA","affiliation":"mesrideaux.fr","currency":"EUR","price":0,"quantity":1,"item_brand":"MesRideaux","item_category":"Coussins","product_type":"made_to_measure","item_variant":"Beige"},"item_category":"Coussins","variants":[],"steps":{"12":{"step_name":"dimensions","label":"J’indique mes dimensions"},"40":{"step_name":"finition","label":"Je sélectionne ma finition"},"41":{"step_name":"interieur","label":"Je sélectionne mon intérieur"},"42":{"step_name":"nombre_coussins","label":"Je sélectionne mon nombre de coussins"}}};
</script>
<script>
    window.mrGa4WishlistConfig = {"item":{"item_id":"gdt5287-001-gaston-coussin","item_name":"COUSSIN AGUEDA","affiliation":"mesrideaux.fr","currency":"EUR","price":0,"quantity":1,"item_brand":"MesRideaux","item_category":"Coussins","product_type":"made_to_measure","item_variant":"Beige"}};
</script>
<script src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/Mesrideaux_Ga4Datalayer/js/configurateur-tracking.min.js"></script>
<script src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/js/configurable-custom-options.min.js"></script>

<script src="https://cdn3.mesrideaux.fr/version1783511887/frontend/MesRideaux/hyva-child/fr_FR/js/configurable-cross-sell.min.js"></script>

<script type="text/json" id="default-section-data">
    {"messages":[],"customer":[],"compare-products":[],"last-ordered-items":[],"cart":[],"directory-data":{"BE":{"name":"Belgique","regions":{"577":{"code":"VAN","name":"Antwerpen"},"578":{"code":"WBR","name":"Brabant wallon"},"579":{"code":"BRU","name":"Brussels-Capital Region"},"580":{"code":"WHT","name":"Hainaut"},"582":{"code":"WLG","name":"Li\u00e8ge"},"581":{"code":"VLI","name":"Limburg"},"583":{"code":"WLX","name":"Luxembourg"},"584":{"code":"WNA","name":"Namur"},"585":{"code":"VOV","name":"Oost-Vlaanderen"},"586":{"code":"VBR","name":"Vlaams-Brabant"},"587":{"code":"VWV","name":"West-Vlaanderen"}}},"FR":{"name":"France","regions":{"182":{"code":"1","name":"Ain"},"183":{"code":"2","name":"Aisne"},"184":{"code":"3","name":"Allier"},"185":{"code":"4","name":"Alpes-de-Haute-Provence"},"187":{"code":"6","name":"Alpes-Maritimes"},"188":{"code":"7","name":"Ard\u00e8che"},"189":{"code":"8","name":"Ardennes"},"190":{"code":"9","name":"Ari\u00e8ge"},"191":{"code":"10","name":"Aube"},"192":{"code":"11","name":"Aude"},"193":{"code":"12","name":"Aveyron"},"249":{"code":"67","name":"Bas-Rhin"},"194":{"code":"13","name":"Bouches-du-Rh\u00f4ne"},"195":{"code":"14","name":"Calvados"},"196":{"code":"15","name":"Cantal"},"197":{"code":"16","name":"Charente"},"198":{"code":"17","name":"Charente-Maritime"},"199":{"code":"18","name":"Cher"},"200":{"code":"19","name":"Corr\u00e8ze"},"201":{"code":"2A","name":"Corse-du-Sud"},"203":{"code":"21","name":"C\u00f4te-d'Or"},"204":{"code":"22","name":"C\u00f4tes-d'Armor"},"205":{"code":"23","name":"Creuse"},"261":{"code":"79","name":"Deux-S\u00e8vres"},"206":{"code":"24","name":"Dordogne"},"207":{"code":"25","name":"Doubs"},"208":{"code":"26","name":"Dr\u00f4me"},"273":{"code":"91","name":"Essonne"},"209":{"code":"27","name":"Eure"},"210":{"code":"28","name":"Eure-et-Loir"},"211":{"code":"29","name":"Finist\u00e8re"},"212":{"code":"30","name":"Gard"},"214":{"code":"32","name":"Gers"},"215":{"code":"33","name":"Gironde"},"250":{"code":"68","name":"Haut-Rhin"},"202":{"code":"2B","name":"Haute-Corse"},"213":{"code":"31","name":"Haute-Garonne"},"225":{"code":"43","name":"Haute-Loire"},"234":{"code":"52","name":"Haute-Marne"},"252":{"code":"70","name":"Haute-Sa\u00f4ne"},"256":{"code":"74","name":"Haute-Savoie"},"269":{"code":"87","name":"Haute-Vienne"},"186":{"code":"5","name":"Hautes-Alpes"},"247":{"code":"65","name":"Hautes-Pyr\u00e9n\u00e9es"},"274":{"code":"92","name":"Hauts-de-Seine"},"216":{"code":"34","name":"H\u00e9rault"},"217":{"code":"35","name":"Ille-et-Vilaine"},"218":{"code":"36","name":"Indre"},"219":{"code":"37","name":"Indre-et-Loire"},"220":{"code":"38","name":"Is\u00e8re"},"221":{"code":"39","name":"Jura"},"222":{"code":"40","name":"Landes"},"223":{"code":"41","name":"Loir-et-Cher"},"224":{"code":"42","name":"Loire"},"226":{"code":"44","name":"Loire-Atlantique"},"227":{"code":"45","name":"Loiret"},"228":{"code":"46","name":"Lot"},"229":{"code":"47","name":"Lot-et-Garonne"},"230":{"code":"48","name":"Loz\u00e8re"},"231":{"code":"49","name":"Maine-et-Loire"},"232":{"code":"50","name":"Manche"},"233":{"code":"51","name":"Marne"},"235":{"code":"53","name":"Mayenne"},"236":{"code":"54","name":"Meurthe-et-Moselle"},"237":{"code":"55","name":"Meuse"},"238":{"code":"56","name":"Morbihan"},"239":{"code":"57","name":"Moselle"},"240":{"code":"58","name":"Ni\u00e8vre"},"241":{"code":"59","name":"Nord"},"242":{"code":"60","name":"Oise"},"243":{"code":"61","name":"Orne"},"257":{"code":"75","name":"Paris"},"244":{"code":"62","name":"Pas-de-Calais"},"245":{"code":"63","name":"Puy-de-D\u00f4me"},"246":{"code":"64","name":"Pyr\u00e9n\u00e9es-Atlantiques"},"248":{"code":"66","name":"Pyr\u00e9n\u00e9es-Orientales"},"251":{"code":"69","name":"Rh\u00f4ne"},"253":{"code":"71","name":"Sa\u00f4ne-et-Loire"},"254":{"code":"72","name":"Sarthe"},"255":{"code":"73","name":"Savoie"},"259":{"code":"77","name":"Seine-et-Marne"},"258":{"code":"76","name":"Seine-Maritime"},"275":{"code":"93","name":"Seine-Saint-Denis"},"262":{"code":"80","name":"Somme"},"263":{"code":"81","name":"Tarn"},"264":{"code":"82","name":"Tarn-et-Garonne"},"272":{"code":"90","name":"Territoire-de-Belfort"},"277":{"code":"95","name":"Val-d'Oise"},"276":{"code":"94","name":"Val-de-Marne"},"265":{"code":"83","name":"Var"},"266":{"code":"84","name":"Vaucluse"},"267":{"code":"85","name":"Vend\u00e9e"},"268":{"code":"86","name":"Vienne"},"270":{"code":"88","name":"Vosges"},"271":{"code":"89","name":"Yonne"},"260":{"code":"78","name":"Yvelines"}}},"LU":{"name":"Luxembourg"},"data_id":1783555055},"captcha":[],"instant-purchase":[],"loggedAsCustomer":[],"persistent":[],"review":[],"payments":[],"wishlist":{"items":[]},"alma_section":[],"hyva_checkout":[],"recently_viewed_product":[],"recently_compared_product":[],"product_data_storage":[],"paypal-billing-agreement":[],"paypal-buyer-country":[],"magepal-gtm-jsdatalayer":[]}</script>
<script>
    (()=> {
        'use strict';
        const amBrandPosition = {
            selectors: {
                brands: '#maincontent > .container .amshopby-option-link',
                productInfoTitleP: '.product-info-main p.title-font'
            },

            amBrandPositionInit() {
                const brands = document.querySelectorAll(this.selectors.brands);
                let target;

                if (!brands.length) {
                     return;
                }

                target = document.querySelector(this.selectors.productInfoTitleP);

                for (let brand of brands) {
                    brand.classList.remove('flex');
                    brand.classList.add('inline-flex');
                    this.moveElement(brand, target);
                }
            },

            moveElement(element, target) {
                const fragment = document.createDocumentFragment();
                fragment.appendChild(element);
                target.append(fragment);
                element.classList.remove('hidden');
            }
        }
        document.addEventListener('DOMContentLoaded', () => {
            amBrandPosition.amBrandPositionInit();
        })
    })()
</script></div><script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a1834f580b8dd0af',t:'MTc4MzU1Nzk2OA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body>
</html>