<!doctype html>
<html lang="fr">
<head >
    <meta charset="utf-8"/>
<meta name="title" content="Programme d&#039;entraînement de force | Voir programme &amp; équipement ici | RunningXpert.com - Blog"/>
<meta name="description" content="Besoin d&#039;inspiration pour renforcer votre corps les jours sans course ? Cliquez ici et trouvez un programme d&#039;entraînement de force."/>
<meta name="robots" content="INDEX,FOLLOW"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Programme d&#039;entraînement de force | Voir programme &amp; équipement ici | RunningXpert.com - Blog</title>
        <link rel="stylesheet" type="text/css" media="all" href="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/Mageplaza_Blog/css/mpBlogIcon.css" />
<link rel="stylesheet" type="text/css" media="all" href="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/css/styles.css" />
<link rel="stylesheet" type="text/css" media="all" href="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/Aheadworks_Faq/css/style.css" />
<link rel="stylesheet" type="text/css" media="all" href="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/Lipscore_RatingsReviews/css/lipscore.css" />
<link rel="stylesheet" type="text/css" media="all" href="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/TRIC_ShippingProgressBar/css/style.css" />
<link rel="stylesheet" type="text/css" media="all" href="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/Hyva_Widgets/css/splide.min.css" />
<link rel="stylesheet" type="text/css" media="all" href="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/Mageplaza_Core/css/grid-mageplaza.css" />
<link rel="stylesheet" type="text/css" media="all" href="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/Mageplaza_Core/css/font-awesome.min.css" />
<link rel="stylesheet" type="text/css" media="all" href="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/Mageplaza_Core/css/owl.carousel.css" />
<link rel="stylesheet" type="text/css" media="all" href="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/Mageplaza_Core/css/owl.theme.css" />
<link rel="stylesheet" type="text/css" media="all" href="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/Mageplaza_Blog/css/splide.min.css" />
<link rel="stylesheet" type="text/css" media="all" href="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/TRIC_OSearch/css/osearch.css" />
<script type="text/javascript" src="https://embed.cloudflarestream.com/embed/sdk.latest.js"></script>
<script type="text/javascript" src="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/Hyva_Widgets/js/splide.min.js"></script>
<script type="text/javascript" src="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/Mageplaza_Blog/js/splide.min.js"></script>
<script type="text/javascript" src="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/TRIC_OSearch/js/osearch.js"></script>
<script type="text/javascript" src="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/TRIC_Widgets/js/osearch-product-slider.js"></script>
<script type="text/javascript" src="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/WeltPixel_GoogleTagManager/js/hyva/gtm.js"></script>
<link rel="canonical" href="https://www.runningxpert.com/fr/inspiration/strength-training-for-runners-on-rest-days" />
<link rel="icon" type="image/x-icon" href="https://www.runningxpert.com/media/favicon/stores/12/favicon_1.png" />
<link rel="shortcut icon" type="image/x-icon" href="https://www.runningxpert.com/media/favicon/stores/12/favicon_1.png" />
<style>
.brand-detail {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    border-bottom: 1px solid #000;
    margin-bottom: 20px;
}

.brand-image-container {
    flex: 1 0 auto;
    margin-right: 20px;
}

.brand-description-container {font-family: 'Nexa-Book';color: #000;font-size: 16px;}
.brand-information .brand-detail .brand-image-photo {
height: auto !important;
width: auto !important;
max-width: 220px;
}
.large--yt-video {
    left: 0;
    right: 0;
    margin: auto;
}
#shipping-new-address-form .field[name="shippingAddress.company"],
.billing-address-form .field[name="billingAddressshared.company"] {
    display: none;
}
    .checkout-cart-index #osearch-last-seen {
        overflow:hidden;
    }
</style>
            <script>
        window.getWpCookie = function(name) {
            match = document.cookie.match(new RegExp(name + '=([^;]+)'));
            if (match) return decodeURIComponent(match[1].replace(/\+/g, ' ')) ;
        };

        window.dataLayer = window.dataLayer || [];
                var wpCookies = ['wp_customerId','wp_customerGroup'];
        wpCookies.map(function(cookieName) {
            var cookieValue = window.getWpCookie(cookieName);
            if (cookieValue) {
                var dlObject = {};
                dlObject[cookieName.replace('wp_', '')] = cookieValue;
                window.dataLayer.push(dlObject);
            }
        });
    </script>

    <!-- Google Tag Manager -->
<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','GTM-PZM78XP');</script>
<!-- End Google Tag Manager -->        <link rel="alternate" hreflang="fr-fr" href="https://www.runningxpert.com/fr/inspiration/strength-training-for-runners-on-rest-days" />
    <link rel="alternate" hreflang="da-dk" href="https://www.loebeshop.dk/inspiration/strength-training-for-runners-on-rest-days" />
    <link rel="alternate" hreflang="nb-no" href="https://www.loepeshop.no/inspiration/strength-training-for-runners-on-rest-days" />
    <link rel="alternate" hreflang="sv-se" href="https://www.loparshop.se/inspiration/strength-training-for-runners-on-rest-days" />
    <link rel="alternate" hreflang="en-gb" href="https://www.runningxpert.com/en/inspiration/strength-training-for-runners-on-rest-days" />
    <link rel="alternate" hreflang="en-ie" href="https://www.runningxpert.com/eu/inspiration/strength-training-for-runners-on-rest-days" />
    <link rel="alternate" hreflang="nl-nl" href="https://www.runningxpert.com/nl/inspiration/strength-training-for-runners-on-rest-days" />
    <link rel="alternate" hreflang="de-de" href="https://www.runningxpert.com/de/inspiration/strength-training-for-runners-on-rest-days" />
    <link rel="alternate" hreflang="de-at" href="https://www.runningxpert.com/at/inspiration/strength-training-for-runners-on-rest-days" />
    <link rel="alternate" hreflang="it-it" href="https://www.runningxpert.com/it/inspiration/strength-training-for-runners-on-rest-days" />
    <link rel="alternate" hreflang="pl-pl" href="https://www.runningxpert.com/pl/inspiration/strength-training-for-runners-on-rest-days" />
    <link rel="alternate" hreflang="fi-fi" href="https://www.runningxpert.com/fi/inspiration/strength-training-for-runners-on-rest-days" />
    <link rel="alternate" hreflang="es-es" href="https://www.runningxpert.com/es/inspiration/strength-training-for-runners-on-rest-days" />
    <link rel="alternate" hreflang="de-ch" href="https://www.runningxpert.com/ch/inspiration/strength-training-for-runners-on-rest-days" />
    <link rel="alternate" hreflang="pt-pt" href="https://www.runningxpert.com/pt/inspiration/strength-training-for-runners-on-rest-days" />
    
    <script data-cfasync="false" type="text/javascript">
    //<![CDATA[
    window.lipscoreInit = function() {
        lipscore.init({
            apiKey: "5eddb30e82f2a67568a85d54"
        });
    };
    (function() {
        var scr = document.createElement('script'); scr.async = 1; scr.setAttribute('data-cfasync', false);
        scr.charset = "utf-8";
        scr.src = "https://static.lipscore.com/assets/fr/lipscore-v1.js";
        document.getElementsByTagName('head')[0].appendChild(scr);
    })();
    //]]>
    </script>
    <script type="text/javascript"
            src="https://api.reaktion.com/assets/tracking/store.js?s=xtPA0aIaMGmrFOU3xUJHVboyIS2rI50d"
            async></script>
    <script>
        (function () {
            var events = {
                chat_open: [],
                chat_response: ['response_latency_ms'],
                chat_recommendation: [],
                chat_product_click: [],
                chat_contact_form_shown: [],
                chat_conversation_classified: ['classification']
            };

            Object.keys(events).forEach(function (name) {
                window.addEventListener(name, function (chatEvent) {
                    var data = {event: name, chat_type: 'shopping_assistant'};

                    events[name].forEach(function (key) {
                        if (chatEvent.detail && chatEvent.detail[key] !== undefined) {
                            data[key] = chatEvent.detail[key];
                        }
                    });

                    window.dataLayer = window.dataLayer || [];
                    window.dataLayer.push(data);
                });
            });
        })();
    </script>
    <script src="https://scripts.dialogintelligens.dk/universal-chatbot.js?id=runningxpert-fr"></script>
    <style>iframe#launcher {display:none;}</style>

        <script type="text&#x2F;javascript">var script = document.createElement('script');
script.src = 'https://integrations.etrusted.com/applications/widget.js/v2';
script.async = true;
script.defer = true;
document.head.appendChild(script);</script><script>
    var BASE_URL = 'https://www.runningxpert.com/fr/';
    var THEME_PATH = 'https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR';
    var COOKIE_CONFIG = {
        "expires": null,
        "path": "\u002Ffr",
        "domain": ".www.runningxpert.com",
        "secure": true,
        "lifetime": "259200",
        "cookie_restriction_enabled": false    };
    var CURRENT_STORE_CODE = 'fr';
    var CURRENT_WEBSITE_ID = '12';

    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": ["/fr/customer/*","/fr/search/*","/fr/sales/*","/fr/wishlist/*","/fr/checkout/*","/fr/paypal/*","/fr/newsletter/*","/fr/stores/store/redirect/*"]                }},
                { "not": {
                    "selector_matches": [".no-preload", ".do-not-prerender", "[download]", "[rel~=nofollow]", "[target]"]
                }}
            ]
        },
        "eagerness": "moderate"
    }]
}
</script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><!--Open Graph Meta tags by Mageplaza-->
<meta property="og:url"             content="https://www.runningxpert.com/fr/inspiration/strength-training-for-runners-on-rest-days" />
<meta property="og:title"           content="Entraînement de force : Comment entraîner votre corps les jours sans course pour éviter les blessures" />
<meta property="og:image"           content="https://www.runningxpert.com/media/mageplaza/blog/post/m/e/meta_kategorihenvisning_47.jpg" />
<meta property="og:description"    content="Besoin d'inspiration pour renforcer votre corps les jours sans course ? Cliquez ici pour un programme d'entraînement de force." />
<!--End Open Graph Meta tags by Mageplaza-->
</head>
<body id="html-body" class="mpblog-post-view page-layout-1column">
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PZM78XP"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) --><input name="form_key" type="hidden" value="Dr1cTfpEk4PGT07W" />
    <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 meilleure expérience sur notre site, assurez-vous d’activer JavaScript dans votre navigateur.                    </span>
                </p>
            </div>
        </section>
    </noscript>


<script>
    document.body.addEventListener('touchstart', () => {}, {passive: true})
</script>



	    <script id="CookieConsent" src="https://policy.app.cookieinformation.com/uc.js" data-culture="FR" data-gcm-version="2.0" type="text/javascript"></script>
<script>
UltimateLang = 'fr';
// on-click of the web widget the following code will run
var addZendeskChatStyleInterval = setInterval(function() {
    if(typeof zE != 'undefined') {
        clearTimeout(addZendeskChatStyleTimeout);
        clearInterval(addZendeskChatStyleInterval);

        zE('messenger:on', 'open', function() {
            var addStyleInterval = setInterval(function() {

                if(parent.document.querySelector('iframe[name="Messaging-vindue"]')) {
                    clearTimeout(addStyleTimeout);
                    clearInterval(addStyleInterval);
                    // creates any CSS to be added to the Web Widget
                    var style = document.createElement('style');
                    style.innerHTML = `
                        /* hides the zendesk branding */
                        .eJNOcI {
                            visibility: hidden !important;
                        }
                        /* style buttons */
                        .distqQ { flex-direction: column; }
                        .distqQ button {
                            background-color: rgb(26, 103, 255) !important;
                            color: rgb(255, 255, 255) !important;
                            font-weight: bold;
                        }
                    `;
                    parent.document.querySelector('iframe[name="Messaging-vindue"]').contentDocument.head.appendChild(style);
                }
            },100);
            var addStyleTimeout = setTimeout(function() {
                if(addStyleInterval) {
                    clearInterval(addStyleInterval);
                }
            },2000);
            zE('messenger:set', 'locale', 'fr');
            zE('messenger:set', 'conversationFields',[{"id":"13073175093660","value":"fr"},{"id":"13073220993308","value":"https:\/\/www.runningxpert.com\/fr\/inspiration\/strength-training-for-runners-on-rest-days"}]);
        });
        zE('messenger:set', 'locale', 'fr');
        zE('messenger:set', 'conversationFields',[{"id":"13073175093660","value":"fr"},{"id":"13073220993308","value":"https:\/\/www.runningxpert.com\/fr\/inspiration\/strength-training-for-runners-on-rest-days"}]);
    }
},100);
var addZendeskChatStyleTimeout = setTimeout(function() {
    if(addZendeskChatStyleInterval) {
        clearInterval(addZendeskChatStyleInterval);
    }
},2000);

</script>

	<script type="application/ld+json">
	{
	  "@context": "https://schema.org",
	  "@graph": [
		
			  ]
	}
	</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>
        Allez au contenu    </span>
</a>
<script>
    function notificationsBar(id) {
        return {
            id: id,
            hide: window.location.href.indexOf('tric.dev') !== -1 ? false : (!hyva.getCookie('CookieInformationConsent') || parseInt(localStorage.getItem('notificationbar-'+id))+4*60*60*1000 >= Date.now()),
            closeNotificationsBar() {
                this.hide = true;
                localStorage.setItem('notificationbar-'+this.id, Date.now());
            }
        }
    }

    function notificationBarTerms() {
        return {
            open: false,
            closeTimer: null,
            position() {
                // Vertical placement is left to CSS (top-full on the panel) - it tracks the content
                // row's actual bottom edge automatically, wrapped lines included, with no JS needed.
                // Only the horizontal position is computed: it depends on the button's runtime
                // position and the .container grid clamp, neither of which CSS alone can know.
                this.$nextTick(() => {
                    const trigger = this.$refs.trigger;
                    const panel = this.$refs.panel;
                    if (!trigger || !panel) return;
                    // panel.offsetParent - not a hardcoded selector - so this keeps working
                    // regardless of how many wrapper elements sit between the panel and its
                    // positioned ancestor. It's safe now that the panel is only hidden via
                    // opacity/visibility rather than display:none (offsetParent is only null for
                    // display:none, not for visibility:hidden). That ancestor is also already the
                    // .container-matched, centered box (see the wrapper markup around the panel),
                    // so clamping x to its own clientWidth is enough - no need to separately
                    // reverse-engineer the grid's max-width/inset here anymore.
                    const container = panel.offsetParent;
                    if (!container) return;
                    const triggerRect = trigger.getBoundingClientRect();
                    const containerRect = container.getBoundingClientRect();
                    let x = (triggerRect.left - containerRect.left) + (triggerRect.width / 2) - (panel.offsetWidth / 2);
                    x = Math.max(0, Math.min(x, container.clientWidth - panel.offsetWidth));
                    panel.style.transform = `translateX(${Math.round(x)}px)`;
                });
            }
        }
    }
</script>
    <script type="application/javascript" async
            src="https://static.klaviyo.com/onsite/js/VELGbb/klaviyo.js"></script>

    <div x-data="initKlaviyoCustomerTracking()"
         @private-content-loaded.window="sendCustomerDataToKlaviyo(event.detail.data)"></div>
    <script>
        !function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();

        function initKlaviyoCustomerTracking() {
            return {
                sendCustomerDataToKlaviyo(data) {
                    window.klaviyo = window.klaviyo || [];
                    const customer = data.customer;

                    window.klaviyo.isIdentified().then((identified)=> {
                        if(customer && customer.email && !identified) {
                            window.klaviyo.identify({
                                '$email': customer.email,
                                '$first_name': customer.firstname ? customer.firstname : '',
                                '$last_name':  customer.lastname ? customer.lastname : ''
                            });
                        }
                    });
                }
            }
        }
    </script>
<script>
    document.addEventListener('alpine:init', () => {
        Alpine.store('menu', {
            active: localStorage.getItem('active-menu') ? localStorage.getItem('active-menu') : false,
            setActive(id) {
                this.active = id;
                localStorage.setItem('active-menu', id);
            }
        });
    });

    function initHeader () {
        return {
            searchOpen: false,
            cart: {},
            cartCountAnnouncement: '',
            wishlist: {},
            isCartOpen: false,
            isLoggedIn: false,
            isMobile: false,
            isMobileMenuOpen: false,
            fixed: false,
            scrollUp: true,
            previousScroll: 0,
            init() {
                Alpine.store('header', {
                    visible: false,
                    height: 0,
                    isCartOpen: false,
                    isSearchOpen: false
                });

                this.$nextTick(() => {
                    this.checkIsMobile();
                    this.setPageHeaderTopHeight();
                })

                this.$watch('cart.summary_count', (value, oldValue) => {
                    if (oldValue === undefined) {
                        return;
                    }
                    this.cartCountAnnouncement = !value
                        ? 'Le\u0020panier\u0020est\u0020vide'
                        : value > 1
                            ? hyva.str('\u00251\u0020articles\u0020dans\u0020le\u0020panier', value)
                            : hyva.str('\u00251\u0020article\u0020dans\u0020le\u0020panier', value);
                });
            },
            getData(data) {
                if (data.cart) { this.cart = data.cart };
                this.isLoggedIn = data.customer.firstname ? true : false;
                if (data.wishlist) {this.wishlist = data.wishlist };
            },
            isCartEmpty() {
                return !this.cart.summary_count
            },
            toggleCart(event) {
                if (event.detail && event.detail.isOpen !== undefined) {
                    this.isCartOpen = event.detail.isOpen;
                    this.$store.header.isCartOpen = event.detail.isOpen;
                    if (!this.isCartOpen && this.$refs && this.$refs.cartButton) {
                        this.$refs.cartButton.focus()
                    }
                } else {
                                        this.isCartOpen = true
                }
            },
            handleWishlistClick() {
                if (this.isLoggedIn) {
                    window.location.href = 'https://www.runningxpert.com/fr/wishlist/'
                } else {
                    window.dispatchEvent(new CustomEvent('toggle-authentication'));
                    window.dispatchEvent(new CustomEvent('login-message',
                        {detail: {message: 'Connectez\u002Dvous\u0020ou\u0020inscrivez\u002Dvous\u0020pour\u0020ajouter\u0020\u00E0\u0020votre\u0020liste\u0020de\u0020souhaits.'}}
                    ));
                }
            },
            checkIsMobile() {
                this.isMobile = window.matchMedia('(max-width: 1023px)').matches;
            },
            setPageHeaderTopHeight() {
                var headerHeight = document.querySelector('#header #usp-bar').offsetHeight + document.querySelector('#header #main-wrapper').offsetHeight;
                document.querySelector('#header').style.height = headerHeight + 'px';

                this.$store.header.height = document.querySelector('#header #main-wrapper').offsetHeight + 24;
            },
            checkScroll() {
                var body = document.getElementsByTagName('body')[0],
                    computedStyles = getComputedStyle(body);

                var currentScroll = window.pageYOffset;

                if (computedStyles.position == 'fixed') {
                    currentScroll = this.previousScroll;
                }

                var body = document.body,
                    html = document.documentElement;
                var documentHeight = Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight );

                var windowHeight = window.innerHeight;

                var headerHeight = document.querySelector('#header').offsetHeight;
                var headerOffsetTop = document.querySelector('#header > div').offsetHeight;

                if (this.searchOpen) { // if search open always show header on scroll
                    this.scrollUp = true;
                    this.fixed = true;
                    this.$store.header.visible = true;

                    return;
                }

                if (currentScroll == 0) {
                    this.scrollUp = true;
                    this.fixed = false;
                } else if (currentScroll > 0 && currentScroll < (documentHeight - windowHeight)) {
                    if (currentScroll > this.previousScroll) { // on scroll down
                        if (this.searchOpen) { // if search open always show header on scroll
                            this.scrollUp = true;
                            this.fixed = true;
                            this.$store.header.visible = true;
                        } else {
                            if (currentScroll > headerHeight) {
                                this.fixed = true;
                                this.scrollUp = false;
                                this.$store.header.visible = false;
                            }
                        }
                    } else if (currentScroll == this.previousScroll) { // on no scroll
                        this.scrollUp = false;
                    } else { // on scroll up
                        if (currentScroll <= headerOffsetTop) {
                            this.fixed = false;
                            this.$store.header.visible = false;
                        } else {
                            this.$store.header.visible = true;
                        }
                        this.scrollUp = true;
                    }
                    this.previousScroll = currentScroll;

                    if (this.$store.header.visible) {
                        document.querySelector('.page.messages').style.top = document.querySelector('#header #main-wrapper').offsetHeight + 'px';
                    } else {
                        document.querySelector('.page.messages').style.top = '';
                    }
                }
            },
            searchIsOpen () {
                this.searchOpen = true;
                this.$store.header.isSearchOpen = true;
            },
            searchIsClosed() {
                this.searchOpen = false;
                this.$store.header.isSearchOpen = false;
            },
            setFixed() {
                var currentScroll = window.pageYOffset;
                var headerHeight = document.querySelector('#header').offsetHeight;

                if (currentScroll > headerHeight) {
                    this.fixed = true;
                    this.$store.header.visible = true;
                    this.scrollUp = true;
                }
            },
        }
    }
    function initCompareHeader() {
        return {
            compareProducts: null,
            itemCount: 0,
            receiveCompareData(data) {
                if (data['compare-products']) {
                    this.compareProducts = data['compare-products'];
                    this.itemCount = this.compareProducts.count;
                }
            }
        }
    }

    function topbarUsps() {
        return {
            init() {
                if (document.querySelector('.header--topbar-usps .splide')) {
                    var slider = new Splide('.header--topbar-usps .splide', {
                        mediaQuery: 'min',
                        arrows: false,
                        type: 'loop',
                        autoplay: true,
                        pagination: false,
                        breakpoints: {
                            1024: {
                                destroy: true,
                            },
                        }
                    }).mount();
                }
            }
        }
    }
</script>
<div id="header"
     class="relative z-40 w-full bg-container-lighter"
     :class="{ 'z-50' : isCartOpen || searchOpen || fixed, 'z-40' : !isCartOpen && !searchOpen && !fixed }"
     x-data="initHeader()"
     @private-content-loaded.window="getData(event.detail.data)"
     @resize.window="checkIsMobile(); $nextTick(() => setPageHeaderTopHeight());"
     @visibilitychange.window="checkIsMobile(); $nextTick(() => setPageHeaderTopHeight());"
     @set-header-height.window="setPageHeaderTopHeight()"
     @scroll.window="checkScroll()"
     @search-is-open.window="searchIsOpen();"
     @search-is-closed.window="searchIsClosed();"
     @set-fixed.window="$nextTick(() => setFixed());"
     @mobile-menu-open.window="isMobileMenuOpen = true"
     @mobile-menu-close.window="isMobileMenuOpen = false"
>
        <div class="bg-container" id="usp-bar">
            <div class="container flex justify-between items-center flex-col lg:flex-row">
                <div class="header--topbar-usps w-full lg:w-auto [&>*]:!w-full"
                     x-data="topbarUsps()"
                >
                    <esi:include src="http://www.runningxpert.com/fr/page_cache/block/esi/blocks/%5B%22header_top_left_block%22%5D/handles/WyJkZWZhdWx0IiwiY2F0YWxvZ3NlYXJjaF9yZXN1bHRfaW5kZXgiLCJjYXRhbG9nc2VhcmNoX3Jlc3VsdF9pbmRleF9ub3Jlc3VsdHMiLCJoeXZhX2RlZmF1bHQiLCJoeXZhX2NhdGFsb2dzZWFyY2hfcmVzdWx0X2luZGV4IiwiaHl2YV9jYXRhbG9nc2VhcmNoX3Jlc3VsdF9pbmRleF9ub3Jlc3VsdHMiLCJjYXRhbG9nc2VhcmNoX3Jlc3VsdF9pbmRleF9vc2VhcmNoIl0%3D/" />                </div>
                <div class="header--topbar-links hidden lg:flex items-center">
                    <esi:include src="http://www.runningxpert.com/fr/page_cache/block/esi/blocks/%5B%22header_top_right_block%22%5D/handles/WyJkZWZhdWx0IiwiY2F0YWxvZ3NlYXJjaF9yZXN1bHRfaW5kZXgiLCJjYXRhbG9nc2VhcmNoX3Jlc3VsdF9pbmRleF9ub3Jlc3VsdHMiLCJoeXZhX2RlZmF1bHQiLCJoeXZhX2NhdGFsb2dzZWFyY2hfcmVzdWx0X2luZGV4IiwiaHl2YV9jYXRhbG9nc2VhcmNoX3Jlc3VsdF9pbmRleF9ub3Jlc3VsdHMiLCJjYXRhbG9nc2VhcmNoX3Jlc3VsdF9pbmRleF9vc2VhcmNoIl0%3D/" />                    <div>
                        <ul>
                            <li>
                                                                    <a href="/customer/account/login"
                                       class="trigger-ajax-login"
                                       @click.prevent="$dispatch('toggle-authentication')"
                                    >
                                        Se connecter                                    </a>
                                                            </li>
                        </ul>
                    </div>
                                                <!-- Languages Switch -->

    <div class="header--topbar-links-lang-selector relative flex items-center z-10" x-data="storeSwitcher" @keydown.escape="closeAndFocus" @click.outside="close">
                <button type="button" x-ref="trigger" class="switcher-language-trigger action toggle switcher-trigger" data-storelanguage="fr" @click="toggle" aria-haspopup="true" :aria-expanded="open">
            <span class="active-language !flex items-center pr-2 pl-5 mb-0 pb-0 text-sm font-light">
                <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px]" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/fr.svg');"></span>
                <span class="lang font-semibold">Français&nbsp;(FR)</span>
            </span>
        </button>
        <ul x-cloak class="absolute float-left flex-col items-start top-5 h-auto overflow-visible bg-container -left-2.5 w-[calc(100%_+_80px)] mb-0" :class="{ 'hidden' : !open }">
                                                                                                                <li class="view-dk switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="dk">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;dk&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/dk.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Dansk&nbsp;(DK)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-no switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="no">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;no&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/no.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Norsk Bokmål&nbsp;(NO)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-se switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="se">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;se&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/se.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Svenska&nbsp;(SE)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-gb switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="gb">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;gb&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/gb.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    English&nbsp;(GB)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-ie switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="ie">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;ie&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/ie.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    English&nbsp;(IE)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-nl switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="nl">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;nl&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/nl.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Nederlands&nbsp;(NL)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-de switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="de">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;de&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/de.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Deutsch&nbsp;(DE)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-at switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="at">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;at&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/at.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Deutsch&nbsp;(AT)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-it switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="it">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;it&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/it.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Italiano&nbsp;(IT)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-pl switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="pl">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;pl&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/pl.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Polski&nbsp;(PL)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-fi switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="fi">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;fi&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/fi.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Suomi&nbsp;(FI)                                 </span>
                            </a>
                        </li>
                                                                                                                                                                                                                                    <li class="view-es switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="es">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;es&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/es.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Español&nbsp;(ES)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-ch switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="ch">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;ch&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/ch.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Deutsch&nbsp;(CH)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-pt switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="pt">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;pt&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/pt.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Português&nbsp;(PT)                                 </span>
                            </a>
                        </li>
                                                                                                                                                                                                                                                            </ul>
        <svg xmlns="http://www.w3.org/2000/svg" width="5.901" height="3.105" viewBox="0 0 5.901 3.105">
            <path id="Path_10" data-name="Path 10" d="M0-7.268a.17.17,0,0,1,.011-.059.122.122,0,0,1,.035-.05.149.149,0,0,1,.109-.045.149.149,0,0,1,.109.045L2.951-4.694,5.634-7.377a.151.151,0,0,1,.111-.045.151.151,0,0,1,.111.045.149.149,0,0,1,.045.109.149.149,0,0,1-.045.109l-2.8,2.8a.149.149,0,0,1-.109.045.149.149,0,0,1-.109-.045l-2.8-2.8a.122.122,0,0,1-.035-.05A.17.17,0,0,1,0-7.268Z" transform="translate(0 7.423)" opacity="0.998"/>
        </svg>
    </div>

<script>
    function storeSwitcher() {
        return {
            open: false,
            toggle() {
                this.open = !this.open
            },
            close() {
                this.open = false
            },
            closeAndFocus() {
                this.open = false
                this.$refs.trigger?.focus()
            },
            handleClick(event) {
                const dataPost = JSON.parse(event.currentTarget.dataset.post);

                const formTemplate = (data) => `
                    <form action="${data.action}" method="post">
                        ${Object.entries(data.data).map(([index, value]) => `
                            <input name="${index}" value="${value}">
                        `).join('')}
                    </form>`;

                const formKeyInputSelector = 'input[name="form_key"]';
                const formKeyElement = document.querySelector(formKeyInputSelector);
                const formKey = formKeyElement ? formKeyElement.value : null;

                if (formKey) {
                    dataPost.data['form_key'] = formKey;
                }
                let alternateLink = document.querySelector('link[rel="alternate"][hreflang*="-'+dataPost.data.___store+'"]');
                if(alternateLink) {
                    dataPost.data['uenc'] = btoa(alternateLink.href)
                        .replace(/\+/g, '-')
                        .replace(/\//g, '_')
                        .replace(/=/g, ',');
                }

                const formHtml = formTemplate(dataPost);
                const tempDiv = document.createElement('div');
                tempDiv.innerHTML = formHtml.trim();
                const form = tempDiv.firstChild;

                document.body.appendChild(form).submit();

                if (window.location.href.indexOf("utm_campaign=some") !== -1 && event.target.closest('#some-modal-content')) {
                    localStorage.setItem('runningxpert-language-redirect', event.target.parentElement.dataset.storelanguage);
                }
            }
        }
    }
</script>

                </div>
            </div>
        </div>
        <div id="main-wrapper" class="z-40 transition-[top] ease-in-out duration-300 max-w-screen py-2.5 lg:py-0 flex flex-col gap-2.5 lg:gap-0"
             :class="{
                 'bg-white fixed w-full transform' : fixed,
                 '-top-80' : fixed && !scrollUp,
                 'top-0' : (fixed && scrollUp) || isMobileMenuOpen
             }"
        >
                        <div class="container flex items-center justify-between w-full px-6 py-0 mx-auto mt-0">
                <!--Logo-->
                <div class="order-2 lg:order-1 w-full sm:w-auto flex-1 flex justify-center lg:justify-start">
    <a
        class="flex items-center justify-center w-40 lg:w-17.5 xl:w-40"
        :class="{ 'w-40 lg:w-17.5 xl:w-40' : !searchOpen, 'w-17.5 xl:w-40' : searchOpen }"
        href="https://www.runningxpert.com/fr/"
        aria-label="Go&#x20;to&#x20;Home&#x20;page"
    >
                <div class="w-full hidden lg:block xl:hidden" :class="{ 'hidden lg:block xl:hidden' : !searchOpen, 'block xl:hidden' : searchOpen }">
            <img src="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/Magento_Theme/logos/brand-mark.svg"
                 alt=""
                 loading="eager"
            />
        </div>

                        <div class="w-full lg:hidden xl:block" :class="{ 'lg:hidden xl:block' : !searchOpen, 'hidden xl:block' : searchOpen }">
            <img src="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/Magento_Theme/logos/global_logo.svg"
                 alt=""
                 loading="eager"
            />
        </div>
    </a>
</div>

                <!--Main Navigation-->

                <esi:include src="http://www.runningxpert.com/fr/page_cache/block/esi/blocks/%5B%22topmenu_generic%22%5D/handles/WyJkZWZhdWx0IiwiY2F0YWxvZ3NlYXJjaF9yZXN1bHRfaW5kZXgiLCJjYXRhbG9nc2VhcmNoX3Jlc3VsdF9pbmRleF9ub3Jlc3VsdHMiLCJoeXZhX2RlZmF1bHQiLCJoeXZhX2NhdGFsb2dzZWFyY2hfcmVzdWx0X2luZGV4IiwiaHl2YV9jYXRhbG9nc2VhcmNoX3Jlc3VsdF9pbmRleF9ub3Jlc3VsdHMiLCJjYXRhbG9nc2VhcmNoX3Jlc3VsdF9pbmRleF9vc2VhcmNoIl0%3D/" />
                <div class="flex items-center order-3 flex-1 justify-end">
                    <!--Search-->
                    
<div class="text-black hidden lg:block"
     x-data="initMirasvitSearch()"
     :class="{ 'fixed inset-0 z-30' : isOpen, 'hidden' : !isOpen }"
     @highlight-search-query.window="$nextTick(() => {
                                        highlightMatch(
                                            '#mirasvitSearchResults .item-name',
                                            $refs.searchInput.value,
                                            'font-black'
                                        )
                                     })"
     @resize.window="checkIsMobile()"
     @visibilitychange.window="checkIsMobile()"
     @open-search-mobile.window="openSearch(); $nextTick(() => { document.querySelector('#search').focus() })"
     @keydown.escape.window="isOpen && closeSearch()"
     @keydown.arrow-down="focusOption(1, $event)"
     @keydown.arrow-up="focusOption(-1, $event)"
>
    <div x-cloak x-show="isOpen" class="absolute inset-0 h-[100dvh]" @click.self="closeSearch"
         style="background-color: rgba(18, 18, 18, .36); backdrop-filter: blur(4px);"></div>
    <div class="relative" :class="{ 'bg-white max-h-[100dvh] overflow-hidden flex' : isOpen }">
        <div :class="{ 'container py-6 pb-0 max-h-full overflow-hidden flex flex-col' : isOpen }">
            <div :class="{'flex items-center justify-between gap-1 lg:gap-10 mb-6' : isOpen}">
                <template x-if="isOpen">
                    <div>
                        <div class="order-2 lg:order-1 w-full sm:w-auto flex-1 flex justify-center lg:justify-start">
    <a
        class="flex items-center justify-center w-40 lg:w-17.5 xl:w-40"
        :class="{ 'w-40 lg:w-17.5 xl:w-40' : !searchOpen, 'w-17.5 xl:w-40' : searchOpen }"
        href="https://www.runningxpert.com/fr/"
        aria-label="Go&#x20;to&#x20;Home&#x20;page"
    >
                <div class="w-full hidden lg:block xl:hidden" :class="{ 'hidden lg:block xl:hidden' : !searchOpen, 'block xl:hidden' : searchOpen }">
            <img src="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/Magento_Theme/logos/brand-mark.svg"
                 alt=""
                 loading="eager"
            />
        </div>

                        <div class="w-full lg:hidden xl:block" :class="{ 'lg:hidden xl:block' : !searchOpen, 'hidden xl:block' : searchOpen }">
            <img src="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/Magento_Theme/logos/global_logo.svg"
                 alt=""
                 loading="eager"
            />
        </div>
    </a>
</div>
                    </div>
                </template>
                <form class="form minisearch relative" id="search_mini_form"
                      action="https://www.runningxpert.com/fr/catalogsearch/result/" method="get" autocomplete="off"
                    :class="{ 'flex-1 max-w-screen-lg' : isOpen }">
                    <label class="sr-only" for="search" data-role="minisearch-label">
                        <span>Rechercher</span>
                    </label>
                    <input id="search" x-ref="searchInput" type="search"
                           name="q"
                           value="0100297001"
                           placeholder="Rechercher"
                           maxlength="128"
                           class="w-full px-5 p-2.5 pr-10 md:pr-12 leading-normal transition appearance-none text-grey-800 rounded-full border-0 bg-container
                focus:outline-none focus:border-transparent"
                           role="combobox"
                           aria-autocomplete="list"
                           aria-haspopup="listbox"
                           aria-controls="mirasvitSearchResults"
                           :aria-expanded="isOpen"
                           x-on:keyup.debounce.500="doSearch($refs.searchInput.value)"
                           x-on:click.debounce.150="openSearch"
                           x-on:focus.debounce.150="openSearch"
                           x-on:keydown.debounce.100="startSearch($refs.searchInput.value)"/>
                    <a class="absolute right-0 top-1/2 transform -translate-y-1/2 -translate-x-1/2" :href="numberResultsUrl" aria-label="Rechercher">
                        <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="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"/>
</svg>
                    </a>
                </form>
                <template x-if="isOpen">
                    <div class="relative">
                        <div class="invisible">
                            <div class="order-2 lg:order-1 w-full sm:w-auto flex-1 flex justify-center lg:justify-start">
    <a
        class="flex items-center justify-center w-40 lg:w-17.5 xl:w-40"
        :class="{ 'w-40 lg:w-17.5 xl:w-40' : !searchOpen, 'w-17.5 xl:w-40' : searchOpen }"
        href="https://www.runningxpert.com/fr/"
        aria-label="Go&#x20;to&#x20;Home&#x20;page"
    >
                <div class="w-full hidden lg:block xl:hidden" :class="{ 'hidden lg:block xl:hidden' : !searchOpen, 'block xl:hidden' : searchOpen }">
            <img src="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/Magento_Theme/logos/brand-mark.svg"
                 alt=""
                 loading="eager"
            />
        </div>

                        <div class="w-full lg:hidden xl:block" :class="{ 'lg:hidden xl:block' : !searchOpen, 'hidden xl:block' : searchOpen }">
            <img src="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/Magento_Theme/logos/global_logo.svg"
                 alt=""
                 loading="eager"
            />
        </div>
    </a>
</div>
                        </div>
                        <button type="button" @click="closeSearch" aria-label="Fermer&#x20;la&#x20;recherche" class="absolute top-1/2 left-1/2 transform -translate-y-1/2 -translate-x-1/2">
                            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
<title>x</title></svg>
                        </button>
                    </div>
                </template>
            </div>

            <div x-cloak x-show="isOpen" id="mirasvitSearchResults" class="w-full pb-6 scrollbar-hide overflow-x-hidden text-lg leading-normal transition appearance-none text-grey-800 lg:text-xl relative">
                <div class="flex flex-row justify-center items-center w-full h-full absolute select-none z-40"
     style="left: 50%;top: 50%;transform: translateX(-50%) translateY(-50%);background: rgba(255,255,255,0.7);"
     x-show="isLoading"
     x-transition:enter="ease-out duration-200"
     x-transition:enter-start="opacity-0"
     x-transition:enter-end="opacity-100"
     x-transition:leave="ease-in duration-200"
     x-transition:leave-start="opacity-100"
     x-transition:leave-end="opacity-0">
    <!-- By Sam Herbert (@sherb), for everyone. More @ http://goo.gl/7AJzbL -->
    <svg width="57" height="57" viewBox="0 0 57 57" xmlns="http://www.w3.org/2000/svg" stroke="#fff"
         class="stroke-current text-primary">
        <g fill="none" fill-rule="evenodd">
            <g transform="translate(1 1)" stroke-width="2">
                <circle cx="5" cy="50" r="5">
                    <animate attributeName="cy"
                             begin="0s" dur="2.2s"
                             values="50;5;50;50"
                             calcMode="linear"
                             repeatCount="indefinite"/>
                    <animate attributeName="cx"
                             begin="0s" dur="2.2s"
                             values="5;27;49;5"
                             calcMode="linear"
                             repeatCount="indefinite"/>
                </circle>
                <circle cx="27" cy="5" r="5">
                    <animate attributeName="cy"
                             begin="0s" dur="2.2s"
                             from="5" to="5"
                             values="5;50;50;5"
                             calcMode="linear"
                             repeatCount="indefinite"/>
                    <animate attributeName="cx"
                             begin="0s" dur="2.2s"
                             from="27" to="27"
                             values="27;49;5;27"
                             calcMode="linear"
                             repeatCount="indefinite"/>
                </circle>
                <circle cx="49" cy="50" r="5">
                    <animate attributeName="cy"
                             begin="0s" dur="2.2s"
                             values="50;50;5;50"
                             calcMode="linear"
                             repeatCount="indefinite"/>
                    <animate attributeName="cx"
                             from="49" to="49"
                             begin="0s" dur="2.2s"
                             values="49;5;27;49"
                             calcMode="linear"
                             repeatCount="indefinite"/>
                </circle>
            </g>
        </g>
    </svg>
    <div class="ml-10 text-primary text-xl">
        Chargement en cours...    </div>
</div>

                <template x-if="hotSearch">
                    <div>
                        <p class="text-sm leading-normal font-normal transition appearance-none text-[#aaa] flex">
                            D'autres ont recherché                        </p>
                        <div class="my-2 flex flex-wrap gap-2" role="listbox" aria-label="D&#x27;autres&#x20;ont&#x20;recherch&#xE9;">
                                                                                                <button type="button" x-on:click="hotSearchClickEvent" role="option" class="flex gap-2 items-center justify-between text-sm px-3 py-2 rounded
                                 border border-container hover:bg-container transition hover:border-container-dark">Nike</button>
                                                                    <button type="button" x-on:click="hotSearchClickEvent" role="option" class="flex gap-2 items-center justify-between text-sm px-3 py-2 rounded
                                 border border-container hover:bg-container transition hover:border-container-dark">Hoka</button>
                                                                    <button type="button" x-on:click="hotSearchClickEvent" role="option" class="flex gap-2 items-center justify-between text-sm px-3 py-2 rounded
                                 border border-container hover:bg-container transition hover:border-container-dark">Saucony</button>
                                                                    <button type="button" x-on:click="hotSearchClickEvent" role="option" class="flex gap-2 items-center justify-between text-sm px-3 py-2 rounded
                                 border border-container hover:bg-container transition hover:border-container-dark">Nike running</button>
                                                                    <button type="button" x-on:click="hotSearchClickEvent" role="option" class="flex gap-2 items-center justify-between text-sm px-3 py-2 rounded
                                 border border-container hover:bg-container transition hover:border-container-dark">Novablast 5</button>
                                                                                    </div>
                    </div>
                </template>

                                                    
                <template x-if="searchResults">
                    <div class="text-base grid gap-4 lg:grid-cols-12">
                                                <div class="col-span-12 lg:col-span-8 lg:order-1">
                                                        <p class="text-sm leading-normal font-normal transition appearance-none text-[#aaa] flex">
                                Produits                                <template x-if="searchProducts != ''">
                                    <small class="ml-1 hidden">(<span x-html="searchProductsTotal"></span>)</small>
                                </template>
                            </p>
                            <div class="my-2 p-0 container flex flex-wrap mb-6 gap-y-2" :class="{ '-mx-[5px] lg:-mx-2.5 w-[calc(100%_+_10px)] lg:w-[calc(100%_+_20px)]' : searchProducts != '' }">
                                <template x-for="item in searchProducts">
                                    <div class="item flex w-1/2 md:w-1/3 px-[5px] lg:px-2.5">
                                                                                    <form class="w-full product_addtocart_form item product product-item flex flex-col group transition-all"
      method="post" :action="BASE_URL + 'checkout/cart/add'"
      x-data="{ productInViewport: index < 4, buttonPos : 'bottom: 0', showSelect: false, }"
      x-intersect="productInViewport = true"
>
    <input type="hidden" name="product" :value="item.id" />
    <input type="hidden" name="form_key" :value="hyva.getFormKey()" />
    <input type="hidden" name="added_from" value="search" />
    <input type="hidden" name="added_from_info" value="catalogsearch_result_index" />

    <div class="relative bg-container-darker mb-5">
        <template x-if="item.product_label">
            <div x-html="item.product_label"></div>
        </template>
        <a :href="item.product_url"
           class="photo product-item-photo relative z-10 w-full !flex !py-7.5 overflow-hidden cursor-pointer
            transition group-hover:shadow-accent-light hover:opacity-80 mix-blend-darken"
           :data-item-id="item.id" :aria-label="item.name">
            <img class="object-contain w-full h-full mix-blend-darken"
                 :src="productInViewport ? item.list_image : 'https://www.runningxpert.com/media/catalog/product/placeholder/default/placeholder-runningxpert.jpg'"
                 :title="productInViewport ? item.name : 'placeholder'"
                 :loading="productInViewport ? 'eager' : 'lazy'"
                 :alt="productInViewport ? item.name : 'placeholder'" width="375" height="375"
            >
        </a>
        <div class="hidden lg:block absolute bottom-0 w-full overflow-hidden max-h-[0] z-10 group-hover:max-h-[500px] bg-white" style="transition: max-height 0.35s ease-in-out;">
            <template x-if="item.available_sizes && item.available_sizes.renderSizes && window.matchMedia('(min-width: 768px)').matches">                 <div class="text-base font-normal">
                    <template x-if="item.available_sizes.sizes.length <= item.available_sizes.sizeLimit">
                        <ul class="m-2 p-0 list-none flex flex-wrap gap-x-2.5 gap-y-1">
                            <template x-for="size in item.available_sizes.sizes">
                                <li class="mb-0">
                                    <span x-text="size"></span>
                                </li>
                            </template>
                        </ul>
                    </template>
                    <template x-if="item.available_sizes.sizes.length > item.available_sizes.sizeLimit">
                        <p class="m-2 p-0 !text-base !leading-normal" x-text="'Disponible en plusieurs tailles'"></p>
                    </template>
                </div>
            </template>
            <template x-if="item.variant_images.length && window.matchMedia('(min-width: 768px)').matches">                 <ul class="flex p-0 m-2 flex-wrap list-none gap-x-2.5 gap-y-1">
                    <template x-for="image in item.variant_images">
                        <li class="border border-[#e2e2e2] flex grow-0 shrink-0 basis-[15.3%] aspect-square mb-0 hover:border-[#8b8b8b] transition" :class="{'border-black' : image.id == item.id }">
                            <a :href="image.link" :aria-label="image.name + ' ' + image.color" class="cursor-pointer w-full h-full flex justify-center items-center p-1">
                                <img fetchpriority="low" loading="lazy" width="45" height="45"
                                     :src="image.base_image" class="object-cover" :alt="image.name + ' ' + image.color" />
                            </a>
                        </li>
                    </template>
                </ul>
            </template>
        </div>

        <button x-data="initWishlist(item.id)"
                @reinit-wishlist.window="reinitWishlist(item.id);"
                @private-content-loaded.window="onPrivateContentLoaded($event.detail.data)"
                @click.prevent="handleClick($event)"
                :data-product="item.name"
                class="hover:text-black p-1 absolute top-2 right-2 z-20"
                type="button" aria-label="Ajouter à mes produits préférés">
            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" x-show="!active" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"/>
<title>heart</title></svg>
            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="24" height="24" x-cloak="" x-show="active" role="img">
  <path fill-rule="evenodd" d="M3.172 5.172a4 4 0 015.656 0L10 6.343l1.172-1.171a4 4 0 115.656 5.656L10 17.657l-6.828-6.829a4 4 0 010-5.656z" clip-rule="evenodd"/>
<title>heart</title></svg>
        </button>
    </div>

    <div class="product-info flex flex-col grow relative">
        <template x-if="item.filter_generelt_kon_value">
            <span x-text="item.filter_generelt_kon_value.toString().replaceAll(',', ' / ')"
                  class="product-item-category font-nexa-book text-xs lg:text-base leading-tight font-thin uppercase block text-primary-lighter mb-2.5 lg:max-w-[calc(100%_-_40px)]"></span>
        </template>

        <span x-text="item.brand_value.toString().replaceAll(',', ', ')" class="item-name product-item-brand font-bold uppercase text-sm lg:text-lg text-black block leading-none lg:max-w-[calc(100%_-_40px)]"></span>

        <a class="product-item-link !no-underline hover:!underline text-black leading-tight" :href="item.product_url">
            <span x-text="item.name " class="item-name font-bold uppercase text-sm lg:text-lg text-black block pt-1 leading-tight"></span>
        </a>

        <template x-if="item.tier_prices">
            <div class="mt-2">
                <ul class="gap-2 flex flex-col m-0 p-0 list-none">
                    <template x-for="tierPrice in item.tier_prices">
                        <li x-data="{
                                qty: tierPrice.qty,
                                translation: 'Achetez %1 à %2/pièce,',
                                getPrice() {
                                    if (tierPrice.percentage_value) {
                                        return item.max_price * (1 - (tierPrice.percentage_value / 100));
                                    }
                                    return tierPrice.price;
                                },
                                getPercentage() {
                                    return Math.max(0, Math.round((1 - (this.getPrice() / item.price)) * 100));
                                }
                            }"
                            class="item inline-block bg-[#f5f5f5] py-1.5 px-2 m-0 text-sm"
                            x-show="getPercentage() > 0"
                        >
                            <span>
                                <span x-html="translation.replace('%1', qty).replace('%2', `<span class='text-secondary font-black'>`+hyva.formatPrice(getPrice())+`</span>`)"></span>
                                enregistrer                                <span class="percent font-black" x-text="getPercentage() + '%'"></span>
                            </span>
                        </li>
                    </template>
                </ul>
            </div>
        </template>

        <div class="price-box mt-2.5 grow flex flex-col lg:flex-row justify-end lg:justify-between text-base lg:flex-wrap lg:items-end gap-y-2">
            <div class="flex flex-col items-baseline h-auto justify-end">
                <div class="retail-price-wrapper" :class="{ 'invisible': !(item.max_price && item.max_price > item.price) }">
                    <div class="retail-price">
                        <span class="price-container">
                            <span class="price-label">Prix régulier</span>
                            <span class="price-wrapper">
                                <span class="price" x-text="hyva.formatPrice(item.max_price || item.price)"></span>
                            </span>
                        </span>
                    </div>
                </div>

                <template x-if="item.max_price && item.max_price > item.price && item.non_member_price && (item.non_member_price != item.max_price) && (((1 - item.price / item.non_member_price ) * 100) > 2)">
                    <div class="non-member-price-wrapper">
                        <div class="non-member-price">
                            <span class="price-container">
                                <span class="price-label">Non-membre</span>
                                <span class="price-wrapper">
                                    <span class="price" x-text="hyva.formatPrice(item.non_member_price)"></span>
                                </span>
                            </span>
                        </div>
                    </div>
                </template>

                <span :class="item.max_price && item.max_price > item.price ? 'normal-price special-price' : 'normal-price'">
                    <span class="price-container">
                        <span class="price-label">À partir de</span>
                        <template x-if="item.max_price && item.max_price > item.price && item.non_member_price">
                            <span class="block text-xs uppercase font-extrabold text-loebeshopplus">
                                Votre prix membre                            </span>
                        </template>
                        <span class="price-wrapper">
                            <span :id="'product-price-'+item.id" class="price" :class="{ '!text-loebeshopplus' : item.max_price && item.max_price > item.price && item.non_member_price }" x-text="hyva.formatPrice(item.price)"></span>
                        </span>
                    </span>
                </span>
            </div>
            <template x-if="item.member_price">
                <div class="flex h-auto items-end">
                    <span class="member-price flex p-2 border-2 border-loebeshopplus text-loebeshopplus">
                        <span class="price-container !flex flex-col">
                            <span class="price-label flex items-center justify-between gap-1.5">
                                Prix membre                                <template x-if="document.querySelectorAll('#memberprice-modal').length">
                                    <span class="cursor-pointer" @click="$dispatch('open-memberprice-modal')">
                                        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="16" height="16" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/>
<title>Click for info</title></svg>
                                    </span>
                                </template>
                            </span>
                            <span class="price-wrapper flex">
                                <span :id="'product-member-price-'+item.id" class="price !text-loebeshopplus" x-text="hyva.formatPrice(item.member_price)"></span>
                            </span>
                        </span>
                    </span>
                </div>
            </template>
        </div>

        <template x-if="item.available_sizes && item.available_sizes.renderSizes && isMobile">             <div class="mobile-sizes lg:hidden pt-2.5">
                <div class="border-t font-normal leading-normal border-container">
                    <template x-if="item.available_sizes.sizes.length <= item.available_sizes.sizeLimit">
                        <ul class="mt-2.5 mb-0 p-0 list-none flex flex-wrap gap-x-1.5 gap-y-1 text-[10px] text-primary-lighter">
                            <template x-for="size in item.available_sizes.sizes">
                                <li class="mb-0">
                                    <span x-text="size"></span>
                                </li>
                            </template>
                        </ul>
                    </template>
                    <template x-if="item.available_sizes.sizes.length > item.available_sizes.sizeLimit">
                        <p class="mt-2.5 p-0 !text-[10px] text-primary-lighter !leading-normal !mb-0" x-text="'Disponible en plusieurs tailles'"></p>
                    </template>
                </div>
            </div>
        </template>
        <template x-if="(item.available_sizes.length == 0 || !item.available_sizes.renderSizes) && isMobile">
            <div class="mobile-sizes h-9"></div>
        </template>

        <template x-if="typeof item.available_sizes.super_attribute != 'undefined' && item.available_sizes.super_attribute[0].options.length && item.available_sizes.is_one_size">
            <input type="hidden" :name="'super_attribute['+item.available_sizes.super_attribute[0].attribute_id+']'" :value="item.available_sizes.super_attribute[0].options[0].value">
        </template>

        <template x-if="showSelect && typeof item.available_sizes.is_one_size != 'undefined' && !item.available_sizes.is_one_size && (!item.launch_date || new Date(item.launch_date) < new Date())">
            <div>
                <div class="overlay absolute z-10 top-0 inset-0 bg-white/75 transition opacity-0 hidden"
                     @click.self="hideOverlayAndSelect($el)"></div>
                <div class="absolute z-10 lg:top-5 right-0 bottom-0 lg:bottom-[unset]"
                     x-init="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                     @resize.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                     @visibilitychange.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                     :style="buttonPos"
                >
                    <select :name="'super_attribute['+item.available_sizes.super_attribute[0].attribute_id+']'"
                            class="form-select hidden opacity-0" @change="addToCartOptionSelected($el)">
                        <option value="">Veuillez sélectionner</option>
                        <template x-for="option in item.available_sizes.super_attribute[0].options">
                            <option :value="option.value" x-text="option.label"></option>
                        </template>
                    </select>
                </div>
            </div>
        </template>

        <template x-if="typeof item.available_sizes.super_attribute != 'undefined' && (!item.launch_date || new Date(item.launch_date) < new Date())">
            <button x-init="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @resize.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @visibilitychange.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    :style="buttonPos"
                    type="submit"
                    class="!absolute bottom-0 lg:bottom-[unset] lg:top-0 right-0 bg-primary rounded-full h-7 lg:h-10 pb-0.5 lg:pb-1 aspect-square flex items-center justify-center text-white"
                    :aria-label="'Ajouter\u0020\u00251\u0020au\u0020panier'.replace('%1', item.name)"
                    @click.prevent="showSelect = true; $nextTick(() => addToCartClick($el, $event))">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-4 w-4 lg:h-6 lg:w-6" width="24" height="24" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z"/>
</svg>
            </button>
        </template>
        <template x-if="!item.available_sizes.super_attribute && (!item.launch_date || new Date(item.launch_date) < new Date())">
            <button x-init="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @resize.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @visibilitychange.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    :style="buttonPos"
                    type="submit"
                    class="!absolute bottom-0 lg:bottom-[unset] lg:top-0 right-0 bg-primary rounded-full h-7 lg:h-10 aspect-square flex items-center justify-center text-white"
                    :aria-label="'Voir\u0020\u00251'.replace('%1', item.name)"
                    @click.prevent="showSpinner($el); window.location.href = item.product_url">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-3.5 w-3.5 lg:h-5 lg:w-5" width="24" height="24" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M14 5l7 7m0 0l-7 7m7-7H3"/>
</svg>
            </button>
        </template>
        <template x-if="item.launch_date && new Date(item.launch_date) > new Date()">
            <button x-init="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @resize.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @visibilitychange.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    :style="buttonPos"
                    type="button"
                    class="!absolute bottom-0 lg:bottom-[unset] lg:top-0 right-0 bg-primary rounded-full h-7 lg:h-10 aspect-square flex items-center justify-center text-white"
                    :aria-label="'\u00251\u0020\u002D\u0020bient\u00F4t\u0020disponible'.replace('%1', item.name)"
                    @click.prevent="showSpinner($el); window.location.href = item.product_url">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-4 w-4 lg:h-6 lg:w-6" width="24" height="24" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/>
</svg>
            </button>
        </template>
        <template x-if="item.in_stock_in_stores && item.in_stock_in_stores.indexOf('web') == -1">
            <button x-init="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @resize.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @visibilitychange.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    :style="buttonPos"
                    type="button"
                    class="!absolute bottom-0 lg:bottom-[unset] lg:top-0 right-0 bg-gray-400 rounded-full h-7 lg:h-10 pb-0.5 aspect-square flex items-center justify-center text-white"
                    :aria-label="'\u00251\u0020\u002D\u0020disponible\u0020uniquement\u0020en\u0020magasin'.replace('%1', item.name)"
                    @click.prevent="showSpinner($el); window.location.href = item.product_url">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-4 w-4 lg:h-6 lg:w-6" width="24" height="24" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"/>
</svg>
            </button>
        </template>
    </div>
</form>
                                                                            </div>
                                </template>
                                <template x-if="searchProducts == ''">
                                    <p>No results found.</p>
                                </template>
                            </div>
                                                    </div>
                        <div class="col-span-12 lg:col-span-4">
                            
                            <template x-if="searchCategories != ''">
                                <div class="mb-6">
                                    <p class="text-sm leading-normal font-normal transition appearance-none text-[#aaa] flex">
                                        Catégories                                        <small class="ml-1 hidden">(<span x-html="searchCategoriesTotal"></span>)</small>
                                    </p>
                                    <div class="my-2 flex flex-wrap gap-2" role="listbox" aria-label="Cat&#xE9;gories">
                                        <template x-for="category in searchCategories">
                                            <a x-bind:href="`${category.url}`" role="option">
                                                <div class="flex gap-2 items-center justify-between text-sm px-3 py-2 cursor-pointer rounded
                                 border border-container hover:bg-container transition hover:border-container-dark">
                                                    <span class="cursor-pointer item-name" x-html="category.name"></span>
                                                </div>
                                            </a>
                                        </template>
                                    </div>
                                </div>
                            </template>

                            <template x-if="searchPages != ''">
                                <div class="mb-6">
                                    <p class="text-sm leading-normal font-normal transition appearance-none text-[#aaa] flex">
                                        Pages                                        <small class="ml-1 hidden">(<span x-html="searchPagesTotal"></span>)</small>
                                    </p>
                                    <div class="my-2 flex flex-wrap gap-2" role="listbox" aria-label="Pages">
                                        <template x-for="page in searchPages">
                                            <a x-bind:href="`${page.url}`" role="option">
                                                <div class="flex gap-2 items-center justify-between text-sm px-3 py-2 cursor-pointer rounded
                                 border border-container hover:bg-container transition hover:border-container-dark">
                                                    <span class="cursor-pointer item-name" x-html="page.name"></span>
                                                </div>
                                            </a>
                                        </template>
                                    </div>
                                </div>
                            </template>

                            <template x-if="searchPosts != ''">
                                <div class="mb-6">
                                    <p class="text-sm leading-normal font-normal transition appearance-none text-[#aaa] flex">
                                        Articles                                        <small class="ml-1 hidden">(<span x-html="searchPostsTotal"></span>)</small>
                                    </p>
                                    <div class="my-2 flex flex-wrap gap-2" role="listbox" aria-label="Articles">
                                        <template x-for="item in searchPosts">
                                            <a x-bind:href="`${item.url}`" role="option">
                                                <div class="flex gap-2 items-center justify-between text-sm px-3 py-2 cursor-pointer rounded
                                 border border-container hover:bg-container transition hover:border-container-dark">
                                                    <span class="cursor-pointer item-name" x-html="item.name"></span>
                                                </div>
                                            </a>
                                        </template>
                                    </div>
                                </div>
                            </template>
                                                    </div>
                    
                        <div class="p-4 w-full order-2 col-span-12 bg-gray-100">
                            <div class="flex items-center justify-center">
                                <a x-bind:href="numberResultsUrl">
                                    <p class="text-gray-900 transition duration-300 hover:text-gray-500 font-bold text-base lg:text-lg mb-0" x-html="numberResults"></p>
                                </a>
                            </div>
                        </div>
                    </div>
                </template>

                <template x-if="noResults">
                    <div class="bg-gray-100 p-2">
                                                    <p class="text-lg leading-normal transition appearance-none text-grey-800 lg:text-xl" x-html="noResultsText"></p>
                                            </div>
                </template>
            </div>
        </div>
    </div>

</div>
<style>
    i {
        margin: 5px;
    }
</style>
<script>
    function initMirasvitSearch() {
        return {
            //initialize Variables
            hotSearch:             false,
            showBestsellers:       false,
            searchResults:         false,
            noResults:             false,
            isLoading:             false,
            isOpen:                false,
            blockConfig:           {"query":"0100297001","priceFormat":{"pattern":"%s\u00a0\u20ac","precision":2,"requiredPrecision":2,"decimalSymbol":",","groupSymbol":"\u202f","groupLength":3,"integerRequired":false},"minSearchLength":3,"url":"https:\/\/www.runningxpert.com\/fr\/searchautocomplete\/ajax\/suggest\/","storeId":"12","delay":300,"isAjaxCartButton":false,"isShowCartButton":false,"isShowImage":true,"isShowPrice":true,"isShowSku":false,"isShowRating":false,"isShowDescription":false,"isShowStockStatus":false,"layout":"2columns","popularTitle":"Popular Suggestions","popularSearches":["Nike","Hoka","Saucony","Nike running","Novablast 5"],"isTypeaheadEnabled":false,"typeaheadUrl":"https:\/\/www.runningxpert.com\/fr\/searchautocomplete\/ajax\/typeahead\/","minSuggestLength":2,"currency":"EUR","limit":90},
            xhttp:                 false,
            noResultsText:         '',
            numberResults:         '',
            numberResultsUrl:      '',
            searchProductsTotal:   '',
            searchCategoriesTotal: '',
            searchPagesTotal:      '',

            searchProducts:   [],
            searchCategories: [],
            searchPages:      [],
            searchPosts:      [],

            searchMap: {
                'magento_cms_page':         'Pages',
                'magento_catalog_category': 'Categories',
                'magento_catalog_product':  'Products',
                'mageplaza_blog_post': 'Posts'
            },

            scrollPos: 0,
            isFiltersOpen: false,
            isMobile: false,

            init() {
                this.checkIsMobile();
            },

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

            hotSearchClickEvent: function (ev) {
                var hotSearchClick = event.currentTarget.innerText;
                document.getElementById("search").value = hotSearchClick;

                this.doSearch(hotSearchClick);
            },

            focusOption: function (direction, event) {
                if (!this.isOpen) {
                    return;
                }

                var container = document.getElementById('mirasvitSearchResults');
                if (!container) {
                    return;
                }

                var options = Array.from(container.querySelectorAll('[role="option"]'));
                if (!options.length) {
                    return;
                }

                event.preventDefault();

                var currentIndex = options.indexOf(document.activeElement);

                if (currentIndex === -1) {
                    options[direction > 0 ? 0 : options.length - 1].focus();
                    return;
                }

                var nextIndex = currentIndex + direction;

                if (nextIndex < 0) {
                    this.$refs.searchInput.focus();
                    return;
                }

                options[nextIndex % options.length].focus();
            },

            openSearch: function () {
                this.isOpen = true;
                var searchValue = document.getElementById("search").value.length;

                if (searchValue >= this.blockConfig.minSearchLength) {
                    this.hideHotSearch();
                } else {
                    this.showHotSearch();
                    this.hideSearchResults();
                }

                this.disableBodyScroll();

                window.dispatchEvent(new CustomEvent("search-is-open"));

                window.dispatchEvent(new CustomEvent("highlight-search-query"));
            },

            startSearch: function (e) {
                if (e) {
                    this.isOpen = true;
                }
            },

            closeSearch: function () {
                this.isOpen = false;
                this.enableBodyScroll();
                window.dispatchEvent(new CustomEvent("search-is-closed"));

                setTimeout( function () {
                    window.dispatchEvent(new CustomEvent("set-fixed"));
                }, 10);

                if (this.isMobile) {
                    document.getElementById('mobile-search-trigger').value = document.getElementById("search").value;
                }
            },

            getScrollPos: function () {
                this.scrollPos = document.getElementsByTagName('html')[0].scrollTop;
            },

            disableBodyScroll: function () {
                this.getScrollPos();
                document.getElementsByTagName('body')[0].style.overflowY = 'hidden';
                document.getElementsByTagName('body')[0].style.zIndex = '0';
                document.getElementsByTagName('body')[0].style.position = '';
                if (this.isMobile) {
                    document.getElementsByTagName('body')[0].style.position = 'fixed';
                }
                document.getElementsByTagName('body')[0].style.left = '0';
                document.getElementsByTagName('body')[0].style.right = '0';
                document.getElementsByTagName('body')[0].style.top = '-'+ this.scrollPos +'px';
            },

            enableBodyScroll: function () {
                document.getElementsByTagName('body')[0].style.overflow = 'auto';
                document.getElementsByTagName('body')[0].style.position = 'static';
                window.scrollTo({top: this.scrollPos, behavior: "instant"});
            },

            showHotSearch: function () {
                this.hotSearch = true;
                this.showBestsellers = true;
            },

            hideHotSearch: function () {
                this.hotSearch = false;
                this.showBestsellers = false;
            },

            showSearchResults: function () {
                this.searchResults = true;
            },

            hideSearchResults: function () {
                this.searchResults = false;
            },

            showNoResults: function () {
                this.noResults = true;
            },

            hideNoResults: function () {
                this.noResults = false;
            },

            setNoResultsText(text) {
                if (!text) {
                    return;
                }

                this.noResultsText = text;
            },

            setNumberResults(text) {
                this.numberResults = text;
            },

            setNumberResultsUrl(text) {
                this.numberResultsUrl = text;
            },

            resetSearchData: function () {
                // Reinitialize Variables to avoid wrong search results.
                this.searchPages = [];
                this.searchPagesTotal = 0;
                this.searchCategories = [];
                this.searchCategoriesTotal = 0;
                this.searchProducts = [];
                this.searchProductsTotal = 0;
                this.searchPosts = [];
                this.searchPostsTotal = 0;
            },

            highlightMatch: function (element, query, cssClass) {
                let arQuery = query.split(' ');
                let arSpecialChars = [
                    {'key': 'a', 'value': '(à|â|ą|a)'},
                    {'key': 'c', 'value': '(ç|č|c)'},
                    {'key': 'e', 'value': '(è|é|ė|ê|ë|ę|e)'},
                    {'key': 'i', 'value': '(î|ï|į|i)'},
                    {'key': 'o', 'value': '(ô|o)'},
                    {'key': 's', 'value': '(š|s)'},
                    {'key': 'u', 'value': '(ù|ü|û|ū|ų|u)'}
                ];

                if (!document.querySelectorAll(element).length) {
                    return;
                }

                document.querySelectorAll(element).forEach(function (item, index) {
                    let html = item.innerHTML;

                    arQuery.forEach(function (word, key) {
                        word = word.trim();

                        if (word) {
                            word = word.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&');
                            arSpecialChars.forEach(function (match, idx) {
                                word = word.replace(new RegExp(match.key, 'g'), match.value);
                            });

                            if ("span".indexOf(word.toLowerCase()) === -1) {
                                html = html.replace(new RegExp('(' + word + '(?![^<>]*>))', 'ig'), function ($1, match) {
                                    return '<span class="' + cssClass + '">' + match + '</span>';
                                });
                            }
                        }
                    });
                    item.innerHTML = html;
                });
            },

            doSearch: function (query) {
                var self = this;
                // Min search length
                var allowedShortQueries = ['on', 'ur', 'bh'];
                if (query.length < this.blockConfig.minSearchLength && !allowedShortQueries.includes(query.toLowerCase().trim())) {
                    this.showHotSearch();
                    this.isLoading = false;
                    this.hideSearchResults();
                    this.hideNoResults();
                    this.$dispatch('highlight-search-query');
                    this.$dispatch('reinit-wishlist');

                    return;
                } else {
                    this.hideHotSearch();
                    this.isLoading = true;
                    this.resetSearchData();
                    this.showSearchResults();
                    this.hideNoResults();
                }

                // AJAX for searchautocomplete/ajax/suggest/
                if (this.xhttp) {
                    try {
                        this.xhttp.abort();
                    } catch {

                    }
                }
                this.xhttp = new XMLHttpRequest();
                var xhttp = this.xhttp;

                var queryEncoded = encodeURIComponent(query);
                var url = this.blockConfig.url.replace(/\/$/, "") + "/?q=" + queryEncoded + "&store_id=" + this.blockConfig.storeId + "&cat=false";

                xhttp.open("GET", url, true);
                xhttp.setRequestHeader("Content-Type", "application/json");

                xhttp.onreadystatechange = function () {
                    if (this.readyState === 4 && this.status === 200) {
                        // Response from ajax call in JSON.
                        var response = JSON.parse(this.responseText);

                        self.resetSearchData();

                        // Product Search Results
                        for (index in response.indexes) {

                            if (response.indexes[index].items.length > 0) {
                                var res = response.indexes[index];
                                var map = null;

                                if (self.searchMap[res.identifier]) {
                                    map = self.searchMap[res.identifier];
                                    self['search' + map] = res.items;
                                    self['search' + map + 'Total'] = res.totalItems;
                                }
                            }
                        }

                        self.isLoading = false;
                        self.hideNoResults();
                        self.setNumberResults(response.textAll);
                        self.setNumberResultsUrl(response.urlAll);

                        if (response.noResults) {
                            self.setNoResultsText(response.textEmpty);
                            self.hideSearchResults();
                            self.showNoResults();
                        }

                        self.$nextTick( () => {
                            self.addAjaxCartEvents();
                            self.$dispatch('highlight-search-query');
                            self.$dispatch('reinit-wishlist');
                        });
                    }
                };
                xhttp.send();
            },
            addAjaxCartEvents() {
                if(typeof window.setAjaxCart == 'function') {
                    window.setAjaxCart();
                }
            },
            addToCartClick(elem, event) {
                var form = elem.closest('form'),
                    overlay = form.querySelector('.overlay');

                if (form.querySelector('select')) {
                    if (!form.querySelector('select').value) {
                        event.preventDefault();
                        var select = form.querySelector('select');
                        select.classList.remove('hidden', 'opacity-0');
                        overlay.classList.remove('hidden', 'opacity-0');
                        select.focus();
                        return false;
                    }
                }

                form.dispatchEvent(new CustomEvent('submit', {}));
            },
            addToCartOptionSelected(elem) {
                var form = elem.closest('form'),
                    overlay = form.querySelector('.overlay');

                form.querySelector('select').classList.add('hidden', 'opacity-0');
                overlay.classList.add('hidden', 'opacity-0');

                setTimeout(() => {
                    form.querySelector('select').value = '';
                }, 500)

                form.querySelector('button[type="submit"]').click();
            },
            hideOverlayAndSelect(elem) {
                var form = elem.closest('form'),
                    overlay = form.querySelector('.overlay');

                form.querySelector('select').classList.add('hidden', 'opacity-0');
                overlay.classList.add('hidden', 'opacity-0');
            },
            showSpinner(elem) {
                const button = elem;
                const loader = document.createElement('div');

                loader.className = 'absolute inset-0 flex justify-center items-center loader';
                loader.innerHTML = `
                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" xml:space="preserve" width="32" height="32">
                    <path fill="#fff"
                        d="M73 50c0-12.7-10.3-23-23-23S27 37.3 27 50m3.9 0c0-10.5 8.5-19.1 19.1-19.1S69.1 39.5 69.1 50">
                        <animateTransform attributeName="transform" attributeType="XML" type="rotate" dur="1s"
                            from="0 50 50" to="360 50 50"
                            repeatCount="indefinite"/>
                    </path>
                </svg>
            `;

                button.prepend(loader);
                button.classList.add('relative', 'is-loading');
                button.disabled = true;
            }
        }
    }
</script>

                    <!--Wishlist icon-->
                    <a type="button"
                       id="wishlist-icon"
                       class="relative inline-block ml-1 no-underline sm:ml-3 hover:text-black"
                       aria-label="Ma&#x20;liste&#x20;d&#x2019;envies"
                       @click.prevent="handleWishlistClick()"
                       href="https://www.runningxpert.com/fr/wishlist/"
                    >
                        <span
                            x-text="parseInt(wishlist.counter)"
                            x-show="parseInt(wishlist.counter)"
                            x-cloak
                            class=" h-5 w-5 aspect-square flex justify-center items-center
                        absolute top-0 right-0 -mt-5 -mr-4 text-xs font-semibold
                        leading-none text-center text-white uppercase transform -translate-x-1
                        translate-y-1/2 rounded-full bg-primary
                    "
                            aria-hidden="true"
                        ></span>
                        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="max-lg:p-1 lg:h-6 lg:w-6 text-[#333]" width="32" height="32" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"/>
</svg>
                        <span class="sr-only">
                            Ma liste d’envies                        </span>
                    </a>

                    <!--Cart Icon-->
                                        <button
                                            id="menu-cart-icon"
                        class="relative inline-block ml-1 no-underline sm:ml-3 hover:text-black"
                        x-ref="cartButton"
                        :aria-disabled="isCartEmpty()"
                        :aria-label="`
                            Toggle&#x20;minicart,
                            ${isCartEmpty()
                                ? 'Le&#x20;panier&#x20;est&#x20;vide'
                                : cart.summary_count > 1
                                    ? hyva.str('&#x25;1&#x20;articles', cart.summary_count)
                                    : hyva.str('&#x25;1&#x20;item', cart.summary_count)
                            }`"
                                                    @click.prevent="() => {
                                $dispatch('toggle-cart', { isOpen: true })
                            }"
                            @toggle-cart.window="toggleCart($event)"
                            :aria-expanded="isCartOpen"
                            aria-haspopup="dialog"
                                            >
                        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-8 h-8 md:h-6 md:w-6 hover:text-black" width="25" height="25" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z"/>
<title>shopping-bag</title></svg>

                        <span
                            x-text="cart.summary_count"
                            x-show="!isCartEmpty()"
                            x-cloak
                            class=" h-5 w-5 aspect-square flex justify-center items-center
                                absolute top-0 right-0 -mt-5 -mr-4 text-xs font-semibold
                                leading-none text-center text-white uppercase transform -translate-x-1
                                translate-y-1/2 rounded-full bg-primary
                            "
                            aria-hidden="true"
                        ></span>
                                        </button>
                                        <span class="sr-only" aria-live="polite" aria-atomic="true" x-text="cartCountAnnouncement"></span>
                </div>
            </div>
            <div class="container w-full lg:hidden">
                <input id="mobile-search-trigger" type="search"
                       name="mobile-q"
                       value=""
                       placeholder="Rechercher"
                       class="w-full px-5 p-2.5 leading-normal transition appearance-none text-grey-800 rounded-full border-0 bg-container
                focus:outline-none focus:border-transparent" @click="$dispatch('open-search-mobile')" @focus="$dispatch('open-search-mobile')"/>
            </div>
        </div>


    <!--Cart Drawer-->
    <script>
    function initCartDrawer() {
        const displayError = (error) => {
            console.error(error);
            typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                [{
                    type: "error",
                    text: "Une\u0020erreur\u0020s\u0027est\u0020produite.\u0020Veuillez\u0020r\u00E9essayer."
                }], 10000
            );
        };

        return {
            open: false,
            isLoading: false,
            cart: {},
            maxItemsToDisplay: 10,
            itemsCount: 0,
            cartItemsHeight: false,
            getData(data) {
                if (data.cart) {
                    this.cart = data.cart;
                    this.itemsCount = data.cart.items && data.cart.items.length || 0;
                    this.setCartItems();
                    window.dispatchEvent(new CustomEvent('cart-data-updated', {detail: {cart: this.cart}}));
                }
                this.isLoading = false;
            },
            cartItems: [],
            getItemCountTitle() {
                return hyva.strf('\u00250\u0020of\u0020\u00251\u0020products\u0020in\u0020cart\u0020displayed', this.maxItemsToDisplay, this.itemsCount)
            },
            setCartItems() {
                this.cartItems = this.cart.items && this.cart.items.sort((a, b) => b.item_id - a.item_id) || [];

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

                this.$nextTick( () => { this.setCartItemsHeight() })
            },
            setCartItemsHeight() {
                if (document.querySelector('.cart-items-wrapper')) {
                    var cartHeight = document.querySelectorAll('.cart-items-wrapper > div')[0].offsetHeight + 48;

                    if (this.itemsCount > 1) {
                        cartHeight += document.querySelectorAll('.cart-items-wrapper > div')[1].offsetHeight + 24;
                    }
                    if (this.itemsCount > 2) {
                        if (window.matchMedia("(min-width: 768px)").matches) {
                            cartHeight += (document.querySelectorAll('.cart-items-wrapper > div')[2].offsetHeight / 2) + 24;
                        }
                    }

                    this.cartItemsHeight = cartHeight + 'px';
                }
            },
            postSidebar(url, body, successMessage = '') {
                this.isLoading = true;

                return fetch(url, {
                    method: 'POST',
                    headers: {
                        'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
                    },
                    body: body,
                    mode: 'cors',
                    credentials: 'include'
                }).then(response => {
                    if (response.redirected) {
                        window.location.href = response.url;
                        return null;
                    }
                    if (!response.ok) {
                        throw new Error(response.statusText);
                    }
                    return response.json();
                }).then(result => {
                    if (!result) {
                        return null;
                    }

                    if (!result.success) {
                        window.dispatchMessages && window.dispatchMessages(
                            [{type: 'error', text: result.error_message}], 5000
                        );
                    } else if (successMessage) {
                        window.dispatchMessages && window.dispatchMessages(
                            [{type: 'success', text: successMessage}], 5000
                        );
                    }

                    window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
                    this.$nextTick( () => { this.setCartItemsHeight() })

                    return result;
                }).catch(displayError).finally(() => {
                    this.isLoading = false;
                });
            },
            updateItemQty(itemId, qty) {
                const newQty = parseFloat(qty);

                if (!newQty || newQty < 1) {
                    return this.deleteItemFromCart(itemId);
                }

                return this.postSidebar(
                    BASE_URL + 'checkout/sidebar/updateItemQty/',
                    'form_key=' + hyva.getFormKey() + '&item_id=' + itemId + '&item_qty=' + newQty
                );
            },
            deleteItemFromCart(itemId) {
                const itemData = this.cart.items.filter((item) => item['item_id'] === itemId);

                return this.postSidebar(
                    BASE_URL + 'checkout/sidebar/removeItem/',
                    'form_key=' + hyva.getFormKey() + '&item_id=' + itemId,
                    'Vous\u0020avez\u0020supprim\u00E9\u0020l\u0027\u00E9l\u00E9ment.'
                ).then(result => {
                    if (result && result.success && itemData) {
                        window.dispatchEvent(new CustomEvent('cart-item-removed', {detail: itemData}));
                    }
                });
            },
            toggleCartDrawer(event) {
                if (event.detail && event.detail.isOpen !== undefined) {
                    if (event.detail.isOpen) {
                        this.openCartDrawer()
                    } else {
                        this.open = false
                        this.setScrollLock(false)
                        this.$refs && this.$refs.cartDialogContent && hyva.releaseFocus(this.$refs.cartDialogContent)
                    }
                } else {
                                        this.openCartDrawer()
                }
            },
            openCartDrawer() {
                this.open = true;
                this.setScrollLock(window.matchMedia('(max-width: 767px)').matches);
                this.$nextTick( () => { this.setCartItemsHeight() })
                this.$nextTick(() => hyva.trapFocus(this.$refs.cartDialogContent))
            },
            setScrollLock(lock) {
                document.documentElement.classList.toggle('overflow-hidden', lock);
                document.body.classList.toggle('overflow-hidden', lock);
            },
            closeCartDrawer() {
                this.$dispatch('toggle-cart', { isOpen: false })
            }
        }
    }
</script>
<section x-cloak
         x-show="cart"
         id="cart-drawer"
         x-data="initCartDrawer()"
         @private-content-loaded.window="getData($event.detail.data)"
         @toggle-cart.window="toggleCartDrawer($event)"
         @keydown.escape="closeCartDrawer"
>
    <div role="dialog"
         aria-labelledby="cart-drawer-title"
         aria-modal="true"
         :aria-hidden="!open"
         class="fixed inset-y-0 right-0 z-40 flex max-w-full">
        <div class="backdrop"
             x-show="open"
             x-transition:enter="ease-in-out duration-500"
             x-transition:enter-start="opacity-0"
             x-transition:enter-end="opacity-100"
             x-transition:leave="ease-in-out duration-500"
             x-transition:leave-start="opacity-100"
             x-transition:leave-end="opacity-0"
             @click="closeCartDrawer"
             aria-hidden="true"></div>
        <div class="relative w-screen max-w-screen-sm shadow-2xl"
             x-show="open"
             x-transition:enter="transform transition ease-in-out duration-500 sm:duration-700"
             x-transition:enter-start="translate-x-full"
             x-transition:enter-end="translate-x-0"
             x-transition:leave="transform transition ease-in-out duration-500 sm:duration-700"
             x-transition:leave-start="translate-x-0"
             x-transition:leave-end="translate-x-full"
             x-ref="cartDialogContent"
             :tabindex="open ? 0 : -1"
        >

            <div class="flex flex-col h-full max-h-screen bg-white shadow-xl">
                
                <header class="relative px-4 pt-6 sm:px-6">
                    <p id="cart-drawer-title" class="text-lg font-medium leading-7 text-gray-900">
                        <strong>Mon panier</strong>
                        <span class="items-total text-xs"
                              x-show="maxItemsToDisplay && maxItemsToDisplay < itemsCount"
                              x-text="getItemCountTitle()">
                        </span>
                    </p>
                </header>

                <section id="cart-messages"
                         x-data="initMessages()"
                         x-bind="eventListeners"
                         aria-live="assertive"
                         role="alert"
                >
                    <template x-if="!isEmpty()">
                        <div class="w-full">
                            <div class="messages container mx-auto">
                                <template x-for="(message, index) in messages" :key="index">
                                    <div>
                                        <template x-if="message && message.type == 'error'">
                                            <div class="message" :class="message.type"
                                                 :ui-id="'message-' + message.type"
                                            >
                                                <span x-html="message.text"></span>
                                                <button
                                                    type="button"
                                                    class="text-gray-600 hover:text-black"
                                                    aria-label="Close message"
                                                    @click.prevent="removeMessage(index)"
                                                >
                                                    <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>

                
                <template x-if="!itemsCount">
                    <div class="relative px-4 py-6 bg-white border-bs sm:px-6 border-container">
                        Le panier est vide                    </div>
                </template>

                <template x-if="itemsCount">
                    <div class="cart-items-wrapper relative grid gap-6 px-4 py-6 overflow-x-hidden overscroll-y-contain bg-white sm:px-6"
                         :style="cartItemsHeight ? 'min-height:' + cartItemsHeight : ''">
                        <template x-for="item in cartItems">
                            <div class="border-b last:border-b-0 border-container pb-2.5 md:border-b-0 md:pb-0">
                                <div class="flex items-start md:items-center gap-4">
                                    <template x-if="item.product_has_url && item.is_visible_in_site_visibility">
                                        <a :href="item.product_url"
                                           class="h-20 w-20 bg-container-darker mix-blend-darken p-px"
                                           :aria-label="hyva.strf('Product\u0020\u0022\u00250\u0022', item.product_name)"
                                        >
                                            <img
                                                :src="item.product_image.src"
                                                :width="item.product_image.width"
                                                :height="item.product_image.height"
                                                loading="lazy"
                                                :alt="item.product_name"
                                                class="w-full h-full object-contain mix-blend-darken"
                                            />
                                        </a>
                                    </template>
                                    <template x-if="!item.product_has_url || !item.is_visible_in_site_visibility">
                                        <div class="h-20 w-20 bg-container-darker mix-blend-darken p-px">
                                            <img
                                                :src="item.product_image.src"
                                                :width="item.product_image.width"
                                                :height="item.product_image.height"
                                                loading="lazy"
                                                :alt="item.product_name"
                                                class="w-full h-full object-contain mix-blend-darken"
                                            />
                                        </div>
                                    </template>
                                    <div class="flex-1 max-md:basis-full grid grid-flow-col auto-cols-auto grid-cols-[1fr] gap-x-4">
                                        <a class="font-bold block hover:underline hover:text-current col-span-3 md:col-span-1" :href="item.product_url">
                                            <span x-html="item.product_name"></span>
                                        </a>
                                        <div class="md:row-start-2 col-span-3 md:col-span-1">
                                            <template x-for="option in item.options">
                                                <p class="text-sm my-2">
                                                    <span class="font-bold" x-html="option.label"></span>: <span class="" x-html="option.value"></span>
                                                </p>
                                            </template>
                                        </div>

                                        <div class="flex gap-2 md:row-start-3" x-data="{ hasChanged: false }">
                                            <fieldset class="flex border-solid border-container border place-content-between items-center px-2 rounded h-8 md:h-10">
                                                <button @click.debounce.100ms="updateItemQty(item.item_id, item.qty - 1);"
                                                        class="cursor-pointer text-xs md:text-sm text-cart-actions"
                                                        :class="{ 'invisible' : item.is_use_points}"
                                                        :aria-label="hyva.strf('Diminuer\u0020la\u0020quantit\u00E9\u0020de\u0020\u0022\u00250\u0022', item.product_name)">
                                                    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="16" height="16" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M20 12H4"/>
</svg>
                                                </button>
                                                <input type="number" :value="item.qty" :id="'cartItemQty'+item.item_id"
                                                       class="qty w-8 h-full text-center font-bold border-none lg:text-sm p-0 appearance-none"
                                                       :aria-label="hyva.strf('Quantit\u00E9\u0020pour\u0020\u0022\u00250\u0022', item.product_name)"
                                                       @input.debounce="hasChanged = $el.value != item.qty" />
                                                <button @click.debounce.100ms="updateItemQty(item.item_id, item.qty + 1);"
                                                        class="cursor-pointer text-xs md:text-sm text-cart-actions"
                                                        :class="{ 'invisible' : item.is_use_points}"
                                                        :aria-label="hyva.strf('Augmenter\u0020la\u0020quantit\u00E9\u0020de\u0020\u0022\u00250\u0022', item.product_name)">
                                                    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="16" height="16" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M12 4v16m8-8H4"/>
</svg>
                                                </button>
                                            </fieldset>
                                            <button x-cloak x-show="hasChanged"
                                                    :aria-label="hyva.strf('Confirmer\u0020la\u0020nouvelle\u0020quantit\u00E9\u0020de\u0020\u0022\u00250\u0022', item.product_name)"
                                                    @click="updateItemQty(item.item_id, $root.querySelector('#cartItemQty'+item.item_id).value); hasChanged = false;">
                                                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="20" height="20" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"/>
</svg>
                                            </button>
                                        </div>

                                        <span class="font-black self-center row-start-3 justify-self-end md:row-span-3" x-html="hyva.formatPrice(item.qty * item.product_price_value)"></span>

                                        <button type="button"
                                                class="inline-flex self-center row-start-3 md:row-span-3 justify-self-end"
                                                @click="deleteItemFromCart(item.item_id)"
                                                :aria-label="hyva.strf('Remove\u0020product\u0020\u0022\u00250\u0022\u0020from\u0020cart', item.product_name)"
                                        >
                                            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="20" height="20" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"/>
</svg>
                                        </button>
                                    </div>
                                </div>
                                <template x-if="item.message">
                                    <div class="col-span-full row-start-4 mt-5 sm:pl-24">
                                        <div class="cart item message notice !mb-0">
                                            <span x-text="item.message"></span>
                                        </div>
                                    </div>
                                </template>
                            </div>
                        </template>
                    </div>
                </template>

                <template x-if="itemsCount">
                    <div>
                        
                        <div class="relative px-4 pb-6 md:pb-8 bg-white sm:px-6">
                            <div class="w-full space-x-4 flex justify-end font-black border-t border-container pt-6">
                                <p class="text-lg">
                                    <span class="uppercase">Sous-total</span>:
                                    <span x-html="cart.subtotal"></span>
                                </p>
                            </div>
                        </div>
                    </div>
                </template>

                <template x-if="itemsCount">
                    <div class="cart-drawer--checkout relative grid gap-6 shrink-0 px-4 pb-6 bg-white sm:gap-8 sm:px-6">
                        <div class="w-full flex flex-col items-center space-y-2.5">
                            <a href="https://www.runningxpert.com/fr/checkout/cart/"
                               class="flex justify-center btn btn-primary uppercase w-full py-4 px-5 text-xl
                               bg-action_green border-action_green hover:bg-action_green-lighter shadow-none hover:shadow-none hover:opacity-100"
                            >
                                Acceder au panier                            </a>
                        </div>
                                            </div>
                </template>

                <div class="cart-drawer--bottom">    <script>
        OsearchInitialParamsosearchcartdrawerrelated = {"defaultParams":{"cat":"2","store":"12"},"cat":"2","page":1,"limit":false,"presetFilters":[],"initial":1,"updateUrlState":false,"sort":{"bestsellers":"desc"},"allowedParams":["utm_source","utm_medium","utm_campaign","fbclid","gclid"],"baseFilters":{"_id":[-1]},"pageSize":24};
        OsearchInitialDataosearchcartdrawerrelated = {"params":{"defaultParams":{"cat":"2","store":"12"},"cat":"2","page":1,"limit":false,"presetFilters":[],"initial":1,"updateUrlState":false,"sort":{"bestsellers":"desc"},"allowedParams":["utm_source","utm_medium","utm_campaign","fbclid","gclid"],"baseFilters":{"_id":[-1]},"pageSize":24,"website":"12","currentPage":1},"initial":1,"items_count":0,"pages":0,"current_page":1,"append":0,"items":[],"filters":[],"state":{"l":24,"sort":{"bestsellers":"desc"}},"tracking":{"item_list_id":"category_2","item_list_name":"","items":[]},"schema":false};
    </script>
    <div x-data="OSearch(OsearchInitialParamsosearchcartdrawerrelated,OsearchInitialDataosearchcartdrawerrelated)"
         class="osearch-container osearch-related-products flex flex-col"
         @resize.window="checkIsMobile();"
         @visibilitychange.window="checkIsMobile();"
                     @private-content-loaded.window="updateProductItems($event.detail.data.cart.cartRelatedItems)"
             >
        <select class="hidden" name="osearch-items-sort" id="osearch-items-sort">
            <option value="bestsellers-desc" data-sort-order="bestsellers" data-sort-dir="desc">Bestsellers</option>
        </select>
        <select class="hidden" name="osearch-items-limit" id="osearch-items-limit">
            <option value="24" data-limit="24">24</option>
        </select>
        <template x-if="1 && productItems && productItems.length">
            <span class="heading font-black mb-2.5">les produits similaires</span>
        </template>

        <div class="osearch-product-list products-list-view flex flex-col w-full gap-5"
>
    <template x-for="(item,index) in productItems">
        <div class="item flex w-full">
            <template x-if="item.item_type == 'product'">
                <form class="w-full product_addtocart_form item product product-item flex gap-4 items-center
 group transition-all relative"
      method="post" :action="BASE_URL + 'checkout/cart/add'"
      x-data="{ productInViewport: index < 4, buttonPos : 'bottom: 0', showSelect: false, }"
      x-intersect="productInViewport = true"
>
    <input type="hidden" name="product" :value="item.id" />
    <input type="hidden" name="form_key" :value="hyva.getFormKey()" />
    <input type="hidden" name="added_from" value="cart_related" />
    <input type="hidden" name="added_from_info" value="catalogsearch_result_index" />

    <div class="relative bg-container-darker max-w-[90px]">
        <a :href="item.product_url"
           class="photo product-item-photo relative z-10 w-full !flex !py-2.5 overflow-hidden cursor-pointer
            transition group-hover:shadow-accent-light hover:opacity-80 mix-blend-darken"
           :data-item-id="item.id" :aria-label="item.name">
            <img class="object-contain w-full h-full mix-blend-darken"
                 :src="productInViewport ? item.list_image : 'https://www.runningxpert.com/media/catalog/product/placeholder/default/placeholder-runningxpert.jpg'"
                 :title="productInViewport ? item.name : 'placeholder'"
                 :loading="productInViewport ? 'eager' : 'lazy'"
                 :alt="productInViewport ? item.name : 'placeholder'" width="375" height="375"
            >
        </a>
    </div>

    <div class="product-info flex flex-col grow">
        <template x-if="item.filter_generelt_kon_value">
            <span x-text="item.filter_generelt_kon_value.toString().replaceAll(',', ' / ')"
                  class="product-item-category font-nexa-book text-xs lg:text-sm leading-tight lg:leading-tight font-thin uppercase block text-primary-lighter mb-1"></span>
        </template>

        <span x-text="item.brand_value.toString().replaceAll(',', ', ')" class="item-name product-item-brand font-bold uppercase text-sm lg:text-base text-black block leading-none"></span>

        <a class="product-item-link !no-underline hover:!underline text-black leading-tight" :href="item.product_url">
            <span x-text="item.name " class="item-name font-bold uppercase text-sm lg:text-base text-black block leading-tight lg:leading-tight"></span>
        </a>

        <div class="price-box mt-1.5 grow flex flex-col lg:flex-row lg:justify-between text-base">
            <template x-if="item.max_price && item.max_price > item.price">
                <div class="flex flex-row-reverse gap-2 items-baseline justify-end h-full">
                    <div class="retail-price-wrapper">
                        <div class="retail-price">
                            <span class="price-container">
                                <span class="price-wrapper">
                                    <span class="price line-through" x-text="hyva.formatPrice(item.max_price)"></span>
                                </span>
                            </span>
                        </div>
                    </div>

                    <span class="normal-price special-price">
                        <span class="price-container">
                            <span class="price-label">À partir de</span>
                            <template x-if="item.non_member_price">
                                <span class="block text-xs uppercase font-extrabold text-secondary">
                                    Votre prix membre                                </span>
                            </template>
                            <span class="price-wrapper">
                                <span :id="'product-price-'+item.id" class="price" x-text="hyva.formatPrice(item.price)"></span>
                            </span>
                        </span>
                    </span>
                </div>
            </template>
            <template x-if="(item.max_price && item.max_price == item.price) || !item.max_price">
                <div class="flex h-full items-end">
                    <span class="normal-price">
                        <span class="price-container">
                            <span class="price-label">À partir de</span>
                            <span class="price-wrapper">
                                <span :id="'product-price-'+item.id" class="price" x-text="hyva.formatPrice(item.price)"></span>
                            </span>
                        </span>
                    </span>
                </div>
            </template>
        </div>

        <template x-if="typeof item.available_sizes.super_attribute != 'undefined' && item.available_sizes.super_attribute[0].options.length && item.available_sizes.is_one_size">
            <input type="hidden" :name="'super_attribute['+item.available_sizes.super_attribute[0].attribute_id+']'" :value="item.available_sizes.super_attribute[0].options[0].value">
        </template>

        <template x-if="showSelect && typeof item.available_sizes.is_one_size != 'undefined' && !item.available_sizes.is_one_size && (!item.launch_date || new Date(item.launch_date) < new Date())">
            <div>
                <div class="overlay absolute z-10 top-0 inset-0 bg-white/75 transition opacity-0 hidden"
                     @click.self="hideOverlayAndSelect($el)"></div>
                <div class="absolute z-10 lg:top-5 right-0 bottom-0 lg:bottom-[unset]"
                     x-init="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                     @resize.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                     @visibilitychange.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                     :style="buttonPos"
                >
                    <select :name="'super_attribute['+item.available_sizes.super_attribute[0].attribute_id+']'"
                            class="form-select hidden opacity-0" @change="addToCartOptionSelected($el)">
                        <option value="">Veuillez sélectionner</option>
                        <template x-for="option in item.available_sizes.super_attribute[0].options">
                            <option :value="option.value" x-text="option.label"></option>
                        </template>
                    </select>
                </div>
            </div>
        </template>

        <template x-if="typeof item.available_sizes.super_attribute != 'undefined' && (!item.launch_date || new Date(item.launch_date) < new Date())">
            <button type="submit"
                    class="!absolute top-0 right-0 bg-primary rounded-full h-7 lg:h-9 pb-0.5 aspect-square flex items-center justify-center text-white"
                    @click.prevent="showSelect = true; $nextTick(() => addToCartClick($el, $event))">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-4 w-4 lg:h-5 lg:w-5" width="20" height="20" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z"/>
<title>Ajoutez au panier</title></svg>
            </button>
        </template>
        <template x-if="!item.available_sizes.super_attribute && (!item.launch_date || new Date(item.launch_date) < new Date())">
            <button x-init="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @resize.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @visibilitychange.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    :style="buttonPos"
                    type="submit"
                    class="!absolute top-0 right-0 bg-primary rounded-full h-7 lg:h-9 aspect-square flex items-center justify-center text-white"
                    @click.prevent="showSpinner($el); window.location.href = item.product_url">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-3.5 w-3.5 lg:h-4.5 w-4.5" width="20" height="20" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M14 5l7 7m0 0l-7 7m7-7H3"/>
<title>Ajoutez au panier</title></svg>
            </button>
        </template>
        <template x-if="item.launch_date && new Date(item.launch_date) > new Date()">
            <button type="button"
                    class="!absolute top-0 right-0 bg-primary rounded-full h-7 lg:h-9 aspect-square flex items-center justify-center text-white"
                    @click.prevent="showSpinner($el); window.location.href = item.product_url">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-4 w-4 lg:h-5 lg:w-5" width="20" height="20" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/>
<title>Ajoutez au panier</title></svg>
            </button>
        </template>
        <template x-if="item.in_stock_in_stores && item.in_stock_in_stores.indexOf('web') == -1">
            <button type="button"
                    class="!absolute top-0 right-0 bg-gray-400 rounded-full h-7 lg:h-9 pb-0.5 aspect-square flex items-center justify-center text-white"
                    @click.prevent="showSpinner($el); window.location.href = item.product_url">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-4 w-4 lg:h-5 lg:w-5" width="20" height="20" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"/>
<title>Ajoutez au panier</title></svg>
            </button>
        </template>
    </div>
</form>
            </template>
        </div>
    </template>
</div>
    </div>

</div>            </div>

            <button
                type="button"
                @click="closeCartDrawer"
                aria-label="Close&#x20;minicart"
                class="absolute top-0 right-0 p-4 mt-2 text-gray-300 transition-colors hover:text-black"
            >
                <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
    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 en cours...        </div>
    </div>
</div>
    </div>

</section>

    <!--Authentication Pop-Up-->
    <!-- BLOCK authentication-popup --><script>
    function initAuthentication() {
        return {
            open: false,
            lastFocusedElement: null,
            init() {
                this.$watch('open', (isOpen) => {
                    if (isOpen) {
                        this.lastFocusedElement = document.activeElement;
                        this.$nextTick(() => hyva.trapFocus(this.$refs.authDialog));
                    } else {
                        hyva.releaseFocus(this.$refs.authDialog);
                        this.lastFocusedElement && this.lastFocusedElement.focus();
                        this.lastFocusedElement = null;
                    }
                });
            },
            close() {
                this.open = false;
                document.getElementsByTagName('body')[0].style.overflow = 'auto';
                document.getElementsByTagName('body')[0].style.position = 'static';
                window.scrollTo(0, this.scrollPos);
            },
            forceAuthentication: false,
            checkoutUrl: 'https://www.runningxpert.com/fr/checkout/index/',
            errors: 0,
            hasCaptchaToken: 0,
            displayErrorMessage: false,
            errorMessages: [],
            scrollPos: 0,
            toggleLoginModal() {
                this.open = !this.open;
                if (this.open) {
                    this.getScrollPos();
                    document.getElementsByTagName('body')[0].style.overflowY = 'scroll';
                    document.getElementsByTagName('body')[0].style.position = 'fixed';
                    document.getElementsByTagName('body')[0].style.left = '0';
                    document.getElementsByTagName('body')[0].style.right = '0';
                    document.getElementsByTagName('body')[0].style.top = '-'+ this.scrollPos +'px';
                } else if (!this.open) {
                    document.getElementsByTagName('body')[0].style.overflow = 'auto';
                    document.getElementsByTagName('body')[0].style.position = 'static';
                    window.scrollTo(0, this.scrollPos);
                }
            },
            getScrollPos() {
                this.scrollPos = document.getElementsByTagName('html')[0].scrollTop;
            },
            setErrorMessages: function setErrorMessages(message) {
                this.errorMessages = [message];
                this.displayErrorMessage = true;
            },
            clearErrorMessages: function () {
                this.errorMessages = [];
                this.displayErrorMessage = this.errorMessages.length;
            },
            submitForm: function () {
                // 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: function(form) {
                this.isLoading = true;
                const username = this.$refs['customer-email'].value;
                const password = this.$refs['customer-password'].value;
                const formKey = document.querySelector('input[name=form_key]').value;
                const bodyFields = {
                    'username': username,
                    'password': password,
                    'formKey': formKey
                };
                const recaptchaField = form.querySelector('input[name=g-recaptcha-response]');
                if (recaptchaField != null) {
                    bodyFields['g-recaptcha-response'] = recaptchaField.value;
                }
                fetch('https://www.runningxpert.com/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 {
                        // const reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
                        // window.dispatchEvent(reloadCustomerDataEvent);
                        // this.close();
                        window.location.reload();
                    }
                });
            },
            eventListeners: {
                ['@private-content-loaded.window']() {
                    this.onPrivateContentLoaded();
                },
                ['@toggle-authentication.window']() {
                    this.clearErrorMessages();
                    this.toggleLoginModal();
                },
                ['@login-message.window'](event) {
                    this.setErrorMessages(event.detail.message);
                },
                ['@pageshow.window'](event) {
                    if (event.persisted) {
                        this.close();
                    }
                },
                ['@keydown.window.escape']() {
                    this.close();
                },
                ['@close-auth.window']() {
                    this.close();
                }
            }
        }
    }

    window.addEventListener('alpine:init', () => Alpine.data('initAuthentication', initAuthentication), {once: true})
</script>
<section id="authentication-popup"
         x-data="initAuthentication()"
         x-bind="eventListeners"
>
    <div
        class="backdrop"
        aria-hidden="true"
        x-cloak
        x-show="open"
        x-transition:enter="ease-in-out duration-500"
        x-transition:enter-start="opacity-0"
        x-transition:enter-end="opacity-100"
        x-transition:leave="ease-in-out duration-500"
        x-transition:leave-start="opacity-100"
        x-transition:leave-end="opacity-0"
        @click="close"
    ></div>
    <div role="dialog"
         aria-modal="true"
         x-ref="authDialog"
         x-show="open"
         class="z-30 fixed flex top-1/2 left-1/2 h-fit transform -translate-x-1/2 justify-center -translate-y-1/2 w-full lg:w-4/5 xl:w-3/5 max-w-full inset-0"
         x-cloak
    >
        <div class="relative rounded-lg overflow-auto max-w-5xl w-full h-min bg-white"
             x-show="open"
             x-cloak
             x-transition:enter="ease-in-out duration-500"
             x-transition:enter-start="opacity-0"
             x-transition:enter-end="opacity-100"
             x-transition:leave="ease-in-out duration-500"
             x-transition:leave-start="opacity-100"
             x-transition:leave-end="opacity-0"
        >
            <div
                x-show="open"
                x-cloak
                x-transition:enter="ease-in-out duration-500"
                x-transition:enter-start="opacity-0"
                x-transition:enter-end="opacity-100"
                x-transition:leave="ease-in-out duration-500"
                x-transition:leave-start="opacity-100"
                x-transition:leave-end="opacity-0" class="absolute top-0 right-0 flex p-2 mt-2">
                <button @click="close" aria-label="Close panel"
                        class="p-2 text-gray-300 transition duration-150 ease-in-out hover:text-black">
                    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
<title>x</title></svg>
                </button>
            </div>

            <template x-if="displayErrorMessage">
                <div class="pt-5 px-7.5">
                    <template x-for="(message, index) in errorMessages" :key="index">
                        <div class="message error mt-2 lg:mt-1 relative pr-8">
                            <span x-html="message"></span>
                            <button type="button" @click="clearErrorMessages()"
                                    class="p-2 text-gray-300 transition duration-150 ease-in-out hover:text-black"
                            >
                                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
<title>x</title></svg>
                            </button>
                        </div>
                    </template>
                </div>
            </template>

            <div class="flex flex-col lg:flex-row lg:h-full px-7.5 py-10 bg-white shadow-xl overflow-y-auto gap-x-12 ">
                <div class="block-new-customer lg:flex-1">
                    <p id="authenticate-new-customer" class="text-lg lg:text-4xl font-black font-vitesse italic !mb-5 uppercase leading-7 lg:leading-10 text-gray-900">
                        Créer un compte                    </p>

                    <div class="block-content">
                                                                            <p class="mb-1">
                                La création d’un compte possède de nombreux avantages :                            </p>
                            <ul class="pl-3">
                                <li> Voir le statut de la commande et de l’expédition</li>
                                <li> Suivi de la commande</li>
                                <li> Commandez plus rapidement</li>
                            </ul>
                        
                        <div class="flex justify-end mt-6 mb-2 items-center">
                            <a href="https://www.runningxpert.com/fr/customer/account/create/"
                               class="inline-flex w-full lg:w-auto btn btn-black-transparent">
                                Créer un compte                            </a>
                        </div>
                    </div>
                </div>
                <div  data-text="ou" class="my-10 lg:my-0 relative border-b lg:border-b-0 lg:border-l after:font-vitesse after:font-bold after:absolute after:top-1/2 after:transform after:bg-white after:rounded-[50%] after:px-1 after:py-0.5 after:uppercase after:italic after:border after:border-container after:-translate-y-1/2 after:left-1/2 after:-translate-x-1/2 after:content-[attr(data-text)] border-container"></div>
                <div class="block-customer-login lg:flex-1">
                    <p id="authenticate-customer-login" class="text-lg lg:text-4xl mb-5 font-black font-vitesse italic uppercase leading-7 lg:leading-10 text-gray-900">
                        Se connecter                    </p>

                    <form class="form form-login"
                          method="post"
                          @submit.prevent="submitForm"
                          id="login-form"
                    >
                                                <div class="fieldset login">
                            <div class="field email required">
                                <label class="label" for="form-login-username" form="login-form" >
                                    <span>Adresse e-mail</span>
                                </label>
                                <div class="control">
                                    <input name="username"
                                           id="form-login-username"
                                           x-ref="customer-email"
                                           @change="resetErrors"
                                           type="email"
                                           required
                                           autocomplete="off"
                                           class="form-input input-text w-full"
                                    >
                                </div>
                            </div>
                            <div class="field password required">
                                <label for="form-login-password" class="label" form="login-form">
                                    <span>Mot de passe</span>
                                </label>
                                <div class="control">
                                    <input name="password"
                                           id="form-login-password"
                                           type="password"
                                           class="form-input input-text w-full"
                                           required
                                           autocomplete="off"
                                           x-ref="customer-password"
                                           @change="resetErrors"
                                    >
                                </div>
                            </div>

                            <input name="context" type="hidden" value="checkout" />
                            <div class="flex flex-col gap-5 lg:flex-row-reverse justify-between pt-6 pb-2 items-center">
                                <button type="submit"                                        class="inline-flex w-full lg:w-auto btn btn-primary disabled:opacity-75"
                                >
                                    Connectez-vous                                </button>
                                <a href="https://www.runningxpert.com/fr/customer/account/forgotpassword/"
                                >
                                    Mot de passe oublié ?                                </a>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</section>
<!-- /BLOCK authentication-popup --></div>

</header><div class="post--top video-wrap">    <img src="https://www.runningxpert.com/media/mageplaza/blog/post/h/e/hero_87.jpg" />
<div class="post--top-info">
                            <div class="blue-label">
                Article            </div>
                <h1>
        Entraînement de force : Comment entraîner votre corps les jours sans course pour éviter les blessures    </h1>
    <div class="post--top-info-shortdescription">
        Besoin d'inspiration pour renforcer votre corps les jours sans course ? Cliquez ici pour un programme d'entraînement de force.    </div>
    </div>
</div><div x-data="postHeadlines()"
     class="post--headlines-wrap"
     :class="{ 'active': headings.length }"
>
    <div class="post--headlines-inner" :class="{ 'stick': sticky }">
        <ul class="post--headlines" x-ref="list">
            <template x-for="item in headings" :key="item.id">
                <li>
                    <a
                        :href="'#' + item.id"
                        :class="{ 'active': activeId === item.id }"
                        @click.prevent="scrollTo(item.id)"
                        x-text="item.label"
                    ></a>
                </li>
            </template>
        </ul>

        <div class="post--progressbar" :style="`width: ${progress}%`"></div>
    </div>
</div>

<script>
    function postHeadlines() {
        return {
            headings: [],
            activeId: null,
            sticky: false,
            progress: 0,
            init() {
                const content = document.querySelector('.post--content');
                if (!content) return;

                const h2s = [...content.querySelectorAll('h2')];
                if (!h2s.length) return;

                this.headings = h2s.map((h2, i) => {
                    const label = h2.dataset.headline?.trim() || h2.textContent.trim();
                    const id = h2.id || `headline-${i}`;
                    h2.id = id;
                    return { id, label, el: h2 };
                });

                this.initObserver();
                this.bindScroll(content);

                this.$nextTick(() => {
                    this.setHeadlinesHeight();
                });
            },
            setHeadlinesHeight() {
                this.$root.style.height = this.$root.children[0].offsetHeight + 'px';
            },
            scrollTo(id) {
                const target = document.getElementById(id);
                if (!target) return;

                window.scrollTo({
                    top: target.offsetTop - 85,
                    behavior: 'smooth'
                });
            },
            initObserver() {
                const observer = new IntersectionObserver((entries) => {
                    entries.forEach(entry => {
                        if (!entry.isIntersecting) return;

                        this.activeId = entry.target.id;
                        this.scrollNavIntoView();
                    });
                }, {
                    rootMargin: '-40% 0px -45% 0px'
                });

                this.headings.forEach(h => observer.observe(h.el));
            },
            scrollNavIntoView() {
                this.$nextTick(() => {
                    const link = this.$refs.list.querySelector(`a[href="#${this.activeId}"]`);
                    if (!link) return;

                    const offset = link.offsetLeft - this.$refs.list.offsetWidth / 2;
                    this.$refs.list.scrollTo({ left: offset, behavior: 'smooth' });
                });
            },
            bindScroll(content) {
                const footer = document.querySelector('.page-footer');
                const wrap = this.$root.querySelector('.post--headlines-inner');

                window.addEventListener('scroll', () => {
                    const scrollY = window.scrollY;
                    const wrapTop = this.$root.offsetTop;

                    // Sticky
                    this.sticky = scrollY > wrapTop;

                    // Progress bar
                    const contentTop = content.offsetTop;
                    const max = content.offsetHeight - (footer?.offsetHeight || 0);
                    const scrolled = scrollY - contentTop;

                    this.progress = Math.min(100, Math.max(0, (scrolled / max) * 100));
                }, { passive: true });
            }
        }
    }
</script>

<div class="post--author">
    <div class="post--author-inner">
        <div class="post--author-left">
            <img class="img-responsive"
                 src="https://www.runningxpert.com/media/mageplaza/blog/auth/resize/50x/s/k/sk_rmbillede_2026-04-27_kl._14.20.54_1.png" />
            <div class="post--author-left-info">
                <span class="author-title">
                    Jeppe Platz Schmidt                </span>
                <span class="author-work">
                    RunningXpert                </span>
            </div>
        </div>
        <div class="post--author-right">
            <span>
                Dernière mise à jour            </span>
            <span class="post--updated">
                12 mai 2026            </span>
        </div>
    </div>
</div>

<main id="maincontent" class="page-main"><div id="contentarea" tabindex="-1"></div>
<div class="page messages"><script>
        window.defaultSuccessMessageTimeout = 3000;
        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="columns"><div class="column main"><style>
	#post-container {-webkit-touch-callout: none;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;khtml-user-select: none;user-select: none;}
</style>
<div class="post">
    <div id="post-container">
        <div class="post--content">
            <p class="MsoSubtitle">Trop de la même chose peut être excessif. Aussi pour les coureurs. L'entraînement de force est un ajout idéal à votre entraînement de course, car il vous rend plus fort et aide à éviter les blessures.</p>
<p> </p>
<p class="MsoNormal">Courir est fantastique. Vous êtes probablement d'accord si vous lisez ceci. Mais peut-être êtes-vous ici, dans un article sur l'entraînement de force, parce que vous avez découvert que l'entraînement de course répétitif est dur pour le corps. L'entraînement de force est un excellent complément et peut même être nécessaire pour prévenir les blessures.</p>
<p class="MsoNormal"><span class="widget block-category-link inline">
    <a href="https://www.runningxpert.com/fr/accessoires/autres-equipements-de-running/materiel-de-musculation.html" title="Achetez votre équipement d&#039;entraînement ici"><span>Achetez votre équipement d&#039;entraînement ici</span></a>
</span>
</p>
<p class="MsoNormal">Lisez ici, où nous recommandons divers exercices qui non seulement réduisent le risque de blessures, mais vous rendent également meilleur coureur.</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">
<div class="post--fullwidth-image">
    <div class="post--fullwidth-image-inner post--img-animation">
                    <img src="https://www.runningxpert.com/media/wysiwyg/Artikler/Evergreen/fuld_breddestyrk.jpg" class="animation--img" alt=""/>
                <div class="post--fullwidth-image-content">
            <span>
                            </span>
            <span>
                            </span>
        </div>
    </div>
</div>
</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">L'entraînement de force a une réputation mitigée : certains sont impatients de se rendre aux machines, tandis que d'autres doivent être traînés par un ami.</p>
<p class="MsoNormal">Il est important de se rappeler qu'un peu vaut mieux que rien : commencez petit pour que la petite habitude persiste et devienne une grande habitude. Vous pouvez commencer votre entraînement de force à la maison. Avec un élastique et quelques poids, vous pouvez aller loin.</p>
<p class="MsoNormal"><div class="post--products">
            <div class="container">
                <div class="w-full productslider mt-7.5 mb-20 relative  pt-[70px]"
                     x-data="oSearchProductSlider($el)" :id="$id('osearch-slider')"
                     x-defer="intersect" x-show="isActive"
                                                                               >
                                        <script>
    OsearchInitialParams6ae1f8ba083dd = {"defaultParams":{"cat":"2","store":"12"},"cat":"2","page":1,"limit":false,"presetFilters":[],"initial":1,"updateUrlState":false,"sort":{"position":"asc"},"allowedParams":["utm_source","utm_medium","utm_campaign","fbclid","gclid"],"baseFilters":{"category_ids":["424, 425"]},"pageSize":"10"};
    OsearchInitialData6ae1f8ba083dd = [];
    </script>
<div x-data="OSearch(OsearchInitialParams6ae1f8ba083dd,OsearchInitialData6ae1f8ba083dd);"
     class="osearch-container w-full snap-slider product-slider"
    x-snap-slider.auto-pager.group-pager data-content-type="products" data-appearance="carousel" data-show-dots="true" data-show-arrows="true"     @resize.window="checkIsMobile();"
     @visibilitychange.window="checkIsMobile();"
    >
        <div class="flex-1 transition max-w-full">
                                        <div class="osearch-product-list w-[100dvw] [--container-size:calc((100dvw_-_100cqw)_/_2)] mx-[calc((100dvw_-_100%)_*_-0.5)] scroll-px-(--container-size) px-(--container-size) snap-track [--snap-cols:1.5] md:[--snap-cols:2] lg:[--snap-cols:3] xl:[--snap-cols:4]"
    data-track>
            
                    
                    
                    
            
    <template x-for="(item,index) in productItems">
                                            <form class="w-full product_addtocart_form item product product-item flex flex-col group transition-all"
      method="post" :action="BASE_URL + 'checkout/cart/add'"
      x-data="{ productInViewport: index < 4, buttonPos : 'bottom: 0', showSelect: false, }"
      x-intersect="productInViewport = true"
>
    <input type="hidden" name="product" :value="item.id" />
    <input type="hidden" name="form_key" :value="hyva.getFormKey()" />
    <input type="hidden" name="added_from" value="product_slider" />
    <input type="hidden" name="added_from_info" value="mpblog_post_view" />

    <div class="relative bg-container-darker mb-5">
        <template x-if="item.product_label">
            <div x-html="item.product_label"></div>
        </template>
        <a :href="item.product_url"
           class="photo product-item-photo relative z-10 w-full !flex !py-7.5 overflow-hidden cursor-pointer
            transition group-hover:shadow-accent-light hover:opacity-80 mix-blend-darken"
           :data-item-id="item.id" :aria-label="item.name">
            <img class="object-contain w-full h-full mix-blend-darken"
                 :src="productInViewport ? item.list_image : 'https://www.runningxpert.com/media/catalog/product/placeholder/default/placeholder-runningxpert.jpg'"
                 :title="productInViewport ? item.name : 'placeholder'"
                 :loading="productInViewport ? 'eager' : 'lazy'"
                 :alt="productInViewport ? item.name : 'placeholder'" width="375" height="375"
            >
        </a>
        <div class="hidden lg:block absolute bottom-0 w-full overflow-hidden max-h-[0] z-10 group-hover:max-h-[500px] bg-white" style="transition: max-height 0.35s ease-in-out;">
            <template x-if="item.available_sizes && item.available_sizes.renderSizes && window.matchMedia('(min-width: 768px)').matches">                 <div class="text-base font-normal">
                    <template x-if="item.available_sizes.sizes.length <= item.available_sizes.sizeLimit">
                        <ul class="m-2 p-0 list-none flex flex-wrap gap-x-2.5 gap-y-1">
                            <template x-for="size in item.available_sizes.sizes">
                                <li class="mb-0">
                                    <span x-text="size"></span>
                                </li>
                            </template>
                        </ul>
                    </template>
                    <template x-if="item.available_sizes.sizes.length > item.available_sizes.sizeLimit">
                        <p class="m-2 p-0 !text-base !leading-normal" x-text="'Disponible en plusieurs tailles'"></p>
                    </template>
                </div>
            </template>
            <template x-if="item.variant_images.length && window.matchMedia('(min-width: 768px)').matches">                 <ul class="flex p-0 m-2 flex-wrap list-none gap-x-2.5 gap-y-1">
                    <template x-for="image in item.variant_images">
                        <li class="border border-[#e2e2e2] flex grow-0 shrink-0 basis-[15.3%] aspect-square mb-0 hover:border-[#8b8b8b] transition" :class="{'border-black' : image.id == item.id }">
                            <a :href="image.link" :aria-label="image.name + ' ' + image.color" class="cursor-pointer w-full h-full flex justify-center items-center p-1">
                                <img fetchpriority="low" loading="lazy" width="45" height="45"
                                     :src="image.base_image" class="object-cover" :alt="image.name + ' ' + image.color" />
                            </a>
                        </li>
                    </template>
                </ul>
            </template>
        </div>

        <button x-data="initWishlist(item.id)"
                @reinit-wishlist.window="reinitWishlist(item.id);"
                @private-content-loaded.window="onPrivateContentLoaded($event.detail.data)"
                @click.prevent="handleClick($event)"
                :data-product="item.name"
                class="hover:text-black p-1 absolute top-2 right-2 z-20"
                type="button" aria-label="Ajouter à mes produits préférés">
            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" x-show="!active" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"/>
<title>heart</title></svg>
            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="24" height="24" x-cloak="" x-show="active" role="img">
  <path fill-rule="evenodd" d="M3.172 5.172a4 4 0 015.656 0L10 6.343l1.172-1.171a4 4 0 115.656 5.656L10 17.657l-6.828-6.829a4 4 0 010-5.656z" clip-rule="evenodd"/>
<title>heart</title></svg>
        </button>
    </div>

    <div class="product-info flex flex-col grow relative">
        <template x-if="item.filter_generelt_kon_value">
            <span x-text="item.filter_generelt_kon_value.toString().replaceAll(',', ' / ')"
                  class="product-item-category font-nexa-book text-xs lg:text-base leading-tight font-thin uppercase block text-primary-lighter mb-2.5 lg:max-w-[calc(100%_-_40px)]"></span>
        </template>

        <span x-text="item.brand_value.toString().replaceAll(',', ', ')" class="item-name product-item-brand font-bold uppercase text-sm lg:text-lg text-black block leading-none lg:max-w-[calc(100%_-_40px)]"></span>

        <a class="product-item-link !no-underline hover:!underline text-black leading-tight" :href="item.product_url">
            <span x-text="item.name " class="item-name font-bold uppercase text-sm lg:text-lg text-black block pt-1 leading-tight"></span>
        </a>

        <template x-if="item.tier_prices">
            <div class="mt-2">
                <ul class="gap-2 flex flex-col m-0 p-0 list-none">
                    <template x-for="tierPrice in item.tier_prices">
                        <li x-data="{
                                qty: tierPrice.qty,
                                translation: 'Achetez %1 à %2/pièce,',
                                getPrice() {
                                    if (tierPrice.percentage_value) {
                                        return item.max_price * (1 - (tierPrice.percentage_value / 100));
                                    }
                                    return tierPrice.price;
                                },
                                getPercentage() {
                                    return Math.max(0, Math.round((1 - (this.getPrice() / item.price)) * 100));
                                }
                            }"
                            class="item inline-block bg-[#f5f5f5] py-1.5 px-2 m-0 text-sm"
                            x-show="getPercentage() > 0"
                        >
                            <span>
                                <span x-html="translation.replace('%1', qty).replace('%2', `<span class='text-secondary font-black'>`+hyva.formatPrice(getPrice())+`</span>`)"></span>
                                enregistrer                                <span class="percent font-black" x-text="getPercentage() + '%'"></span>
                            </span>
                        </li>
                    </template>
                </ul>
            </div>
        </template>

        <div class="price-box mt-2.5 grow flex flex-col lg:flex-row justify-end lg:justify-between text-base lg:flex-wrap lg:items-end gap-y-2">
            <div class="flex flex-col items-baseline h-auto justify-end">
                <div class="retail-price-wrapper" :class="{ 'invisible': !(item.max_price && item.max_price > item.price) }">
                    <div class="retail-price">
                        <span class="price-container">
                            <span class="price-label">Prix régulier</span>
                            <span class="price-wrapper">
                                <span class="price" x-text="hyva.formatPrice(item.max_price || item.price)"></span>
                            </span>
                        </span>
                    </div>
                </div>

                <template x-if="item.max_price && item.max_price > item.price && item.non_member_price && (item.non_member_price != item.max_price) && (((1 - item.price / item.non_member_price ) * 100) > 2)">
                    <div class="non-member-price-wrapper">
                        <div class="non-member-price">
                            <span class="price-container">
                                <span class="price-label">Non-membre</span>
                                <span class="price-wrapper">
                                    <span class="price" x-text="hyva.formatPrice(item.non_member_price)"></span>
                                </span>
                            </span>
                        </div>
                    </div>
                </template>

                <span :class="item.max_price && item.max_price > item.price ? 'normal-price special-price' : 'normal-price'">
                    <span class="price-container">
                        <span class="price-label">À partir de</span>
                        <template x-if="item.max_price && item.max_price > item.price && item.non_member_price">
                            <span class="block text-xs uppercase font-extrabold text-loebeshopplus">
                                Votre prix membre                            </span>
                        </template>
                        <span class="price-wrapper">
                            <span :id="'product-price-'+item.id" class="price" :class="{ '!text-loebeshopplus' : item.max_price && item.max_price > item.price && item.non_member_price }" x-text="hyva.formatPrice(item.price)"></span>
                        </span>
                    </span>
                </span>
            </div>
            <template x-if="item.member_price">
                <div class="flex h-auto items-end">
                    <span class="member-price flex p-2 border-2 border-loebeshopplus text-loebeshopplus">
                        <span class="price-container !flex flex-col">
                            <span class="price-label flex items-center justify-between gap-1.5">
                                Prix membre                                <template x-if="document.querySelectorAll('#memberprice-modal').length">
                                    <span class="cursor-pointer" @click="$dispatch('open-memberprice-modal')">
                                        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="16" height="16" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/>
<title>Click for info</title></svg>
                                    </span>
                                </template>
                            </span>
                            <span class="price-wrapper flex">
                                <span :id="'product-member-price-'+item.id" class="price !text-loebeshopplus" x-text="hyva.formatPrice(item.member_price)"></span>
                            </span>
                        </span>
                    </span>
                </div>
            </template>
        </div>

        <template x-if="item.available_sizes && item.available_sizes.renderSizes && isMobile">             <div class="mobile-sizes lg:hidden pt-2.5">
                <div class="border-t font-normal leading-normal border-container">
                    <template x-if="item.available_sizes.sizes.length <= item.available_sizes.sizeLimit">
                        <ul class="mt-2.5 mb-0 p-0 list-none flex flex-wrap gap-x-1.5 gap-y-1 text-[10px] text-primary-lighter">
                            <template x-for="size in item.available_sizes.sizes">
                                <li class="mb-0">
                                    <span x-text="size"></span>
                                </li>
                            </template>
                        </ul>
                    </template>
                    <template x-if="item.available_sizes.sizes.length > item.available_sizes.sizeLimit">
                        <p class="mt-2.5 p-0 !text-[10px] text-primary-lighter !leading-normal !mb-0" x-text="'Disponible en plusieurs tailles'"></p>
                    </template>
                </div>
            </div>
        </template>
        <template x-if="(item.available_sizes.length == 0 || !item.available_sizes.renderSizes) && isMobile">
            <div class="mobile-sizes h-9"></div>
        </template>

        <template x-if="typeof item.available_sizes.super_attribute != 'undefined' && item.available_sizes.super_attribute[0].options.length && item.available_sizes.is_one_size">
            <input type="hidden" :name="'super_attribute['+item.available_sizes.super_attribute[0].attribute_id+']'" :value="item.available_sizes.super_attribute[0].options[0].value">
        </template>

        <template x-if="showSelect && typeof item.available_sizes.is_one_size != 'undefined' && !item.available_sizes.is_one_size && (!item.launch_date || new Date(item.launch_date) < new Date())">
            <div>
                <div class="overlay absolute z-10 top-0 inset-0 bg-white/75 transition opacity-0 hidden"
                     @click.self="hideOverlayAndSelect($el)"></div>
                <div class="absolute z-10 lg:top-5 right-0 bottom-0 lg:bottom-[unset]"
                     x-init="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                     @resize.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                     @visibilitychange.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                     :style="buttonPos"
                >
                    <select :name="'super_attribute['+item.available_sizes.super_attribute[0].attribute_id+']'"
                            class="form-select hidden opacity-0" @change="addToCartOptionSelected($el)">
                        <option value="">Veuillez sélectionner</option>
                        <template x-for="option in item.available_sizes.super_attribute[0].options">
                            <option :value="option.value" x-text="option.label"></option>
                        </template>
                    </select>
                </div>
            </div>
        </template>

        <template x-if="typeof item.available_sizes.super_attribute != 'undefined' && (!item.launch_date || new Date(item.launch_date) < new Date())">
            <button x-init="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @resize.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @visibilitychange.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    :style="buttonPos"
                    type="submit"
                    class="!absolute bottom-0 lg:bottom-[unset] lg:top-0 right-0 bg-primary rounded-full h-7 lg:h-10 pb-0.5 lg:pb-1 aspect-square flex items-center justify-center text-white"
                    :aria-label="'Ajouter\u0020\u00251\u0020au\u0020panier'.replace('%1', item.name)"
                    @click.prevent="showSelect = true; $nextTick(() => addToCartClick($el, $event))">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-4 w-4 lg:h-6 lg:w-6" width="24" height="24" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z"/>
</svg>
            </button>
        </template>
        <template x-if="!item.available_sizes.super_attribute && (!item.launch_date || new Date(item.launch_date) < new Date())">
            <button x-init="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @resize.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @visibilitychange.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    :style="buttonPos"
                    type="submit"
                    class="!absolute bottom-0 lg:bottom-[unset] lg:top-0 right-0 bg-primary rounded-full h-7 lg:h-10 aspect-square flex items-center justify-center text-white"
                    :aria-label="'Voir\u0020\u00251'.replace('%1', item.name)"
                    @click.prevent="showSpinner($el); window.location.href = item.product_url">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-3.5 w-3.5 lg:h-5 lg:w-5" width="24" height="24" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M14 5l7 7m0 0l-7 7m7-7H3"/>
</svg>
            </button>
        </template>
        <template x-if="item.launch_date && new Date(item.launch_date) > new Date()">
            <button x-init="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @resize.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @visibilitychange.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    :style="buttonPos"
                    type="button"
                    class="!absolute bottom-0 lg:bottom-[unset] lg:top-0 right-0 bg-primary rounded-full h-7 lg:h-10 aspect-square flex items-center justify-center text-white"
                    :aria-label="'\u00251\u0020\u002D\u0020bient\u00F4t\u0020disponible'.replace('%1', item.name)"
                    @click.prevent="showSpinner($el); window.location.href = item.product_url">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-4 w-4 lg:h-6 lg:w-6" width="24" height="24" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/>
</svg>
            </button>
        </template>
        <template x-if="item.in_stock_in_stores && item.in_stock_in_stores.indexOf('web') == -1">
            <button x-init="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @resize.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @visibilitychange.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    :style="buttonPos"
                    type="button"
                    class="!absolute bottom-0 lg:bottom-[unset] lg:top-0 right-0 bg-gray-400 rounded-full h-7 lg:h-10 pb-0.5 aspect-square flex items-center justify-center text-white"
                    :aria-label="'\u00251\u0020\u002D\u0020disponible\u0020uniquement\u0020en\u0020magasin'.replace('%1', item.name)"
                    @click.prevent="showSpinner($el); window.location.href = item.product_url">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-4 w-4 lg:h-6 lg:w-6" width="24" height="24" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"/>
</svg>
            </button>
        </template>
    </div>
</form>
            </template>
</div>
                    </div>

            <div class="flex gap-2" x-show="productItems && productItems.length > 4" x-cloak>
            <button class="flex justify-center items-center absolute !left-[unset] !right-10 !top-0 !bg-white !w-9 !h-9 transition rounded-full !opacity-100 disabled:!opacity-30 hover:!opacity-100 transform !translate-y-0 hover:shadow" aria-label="Previous Slide" data-prev="" disabled="">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="!w-auto !h-auto !scale-x-100&#9;!fill-none" width="24" height="24" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M10 19l-7-7m0 0l7-7m-7 7h18"/>
<title>arrow-left</title></svg>
            </button>
            <button class="flex justify-center items-center absolute !top-0 !right-0 !bg-white !w-9 !h-9 transition rounded-full !opacity-100 disabled:!opacity-30 hover:!opacity-100 transform !translate-y-0 hover:shadow-md" aria-label="Next Slide" data-next="">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="!w-auto !h-auto !fill-none" width="24" height="24" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M14 5l7 7m0 0l-7 7m7-7H3"/>
<title>arrow-right</title></svg>
            </button>
        </div>
        <div class="snap-pager" data-pager></div>
    </div>
                </div>
            </div>
        </div></p>
<p class="MsoNormal">Une fois que cela fonctionne, et que vous avez ressenti comment un peu d'entraînement alternatif peut faciliter la course, vous pouvez envisager une heure hebdomadaire en salle d'entraînement.</p>
<p class="MsoNormal"> </p>
<h2>Les avantages dérivés de l'entraînement :</h2>
<ul>
<li class="MsoNormal">Le stimulus différent que vous imposez à vos jambes rafraîchit vos jambes en renforçant les muscles de soutien.</li>
<li class="MsoNormal">Votre économie de course s'améliore grâce à des muscles forts et efficaces.</li>
<li class="MsoNormal">Le renforcement des muscles de soutien soulage les zones particulièrement sollicitées par la course et réduit le risque de blessures.</li>
</ul>
<h2><br>Meilleurs exercices alternatifs pour les coureurs</h2>
<ul>
<li class="MsoNormal">Planche : Renforce les muscles du tronc</li>
<li class="MsoNormal">Pompes : Renforce les bras et les épaules, ce qui améliore l'économie de course si actifs pendant la course</li>
<li class="MsoNormal">Extensions du dos : Renforce le bas du dos et les fessiers</li>
<li class="MsoNormal">Levers de jambes : Renforce les muscles du tronc</li>
<li class="MsoNormal">Hydrant debout : Renforce les hanches et les fessiers</li>
</ul>
<p class="MsoNormal">Ces exercices sont faciles à commencer car ils ne nécessitent pas de machines ou de poids lourds, et ils préviennent les blessures en renforçant les muscles de soutien utilisés pendant la course. Cependant, ils n'ont pas tout à fait le même effet que les exercices de force spécifiques.</p>
<h2><br>Meilleurs exercices de force pour les coureurs<span style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="mso-list: Ignore;"><span style="font: 7.0pt 'Times New Roman';"> </span></span></span></h2>
<ul>
<li class="MsoNormal">Squats : Renforce les cuisses et les fessiers</li>
<li class="MsoNormal">Soulevé de terre : Renforce la chaîne postérieure et améliore l'économie de course</li>
<li class="MsoNormal">Montées : Renforce les fléchisseurs de la hanche et la coordination</li>
<li class="MsoNormal">Fentes : Renforce les cuisses et améliore votre atterrissage</li>
</ul>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Ces exercices ne sont pas seulement préventifs. Ils ont aussi le potentiel de vous rendre un coureur plus rapide. Les quatre exercices renforcent spécifiquement les groupes musculaires qui soutiennent directement les mouvements de course.</p>
<p class="MsoNormal"><div class="post--products">
            <div class="container">
                <div class="w-full productslider mt-7.5 mb-20 relative  pt-[70px]"
                     x-data="oSearchProductSlider($el)" :id="$id('osearch-slider')"
                     x-defer="intersect" x-show="isActive"
                                                                               >
                                        <script>
    OsearchInitialParams6ae1f8ba18699 = {"defaultParams":{"cat":"2","store":"12"},"cat":"2","page":1,"limit":false,"presetFilters":[],"initial":1,"updateUrlState":false,"sort":{"position":"asc"},"allowedParams":["utm_source","utm_medium","utm_campaign","fbclid","gclid"],"baseFilters":{"kategori_restitution_pleje_tra":["3129977"]},"pageSize":"10"};
    OsearchInitialData6ae1f8ba18699 = {"params":{"defaultParams":{"cat":"2","store":"12"},"cat":"2","page":1,"limit":false,"presetFilters":[],"initial":1,"updateUrlState":false,"sort":{"position":"asc"},"allowedParams":["utm_source","utm_medium","utm_campaign","fbclid","gclid"],"baseFilters":{"kategori_restitution_pleje_tra":["3129977"]},"pageSize":"10","website":"12","currentPage":1},"initial":1,"items_count":146,"pages":15,"current_page":1,"append":0,"items":[{"brand":1183,"brand_value":"BlazePod","filter_kategorier_elektronik":"","filter_kategorier_elektronik_value":"","filter_generelt_kon":[144,145,147],"filter_generelt_kon_value":["Unisexe","Femme","Homme"],"name":"Hardcase 4 pcs. Incl. handle","product_url":"https:\/\/www.runningxpert.com\/fr\/blazepod-hardcase-4-pcs-incl-handle-400-500018.html","list_image":"https:\/\/www.runningxpert.com\/media\/catalog\/product\/cache\/67ee89799642c567a71fc92f3699d937\/b\/l\/blazepod_hardcase_6pcs_1.jpg","price":48.5,"max_price":59,"tier_prices":[],"style_reference":"400-500018","sku":"1000000029332","qty_increments":1,"available_sizes":{"sizes":[],"renderSizes":false,"manySizesLabel":"Disponible en plusieurs tailles","sizeLimit":0,"super_attribute":[{"attribute_id":"211","options":[{"value":"6022","label":"ONE SIZE"}]}],"is_one_size":true},"variant_images":[{"id":"217841","link":"https:\/\/www.runningxpert.com\/fr\/blazepod-hardcase-4-pcs-incl-handle-400-500018.html","base_image":"https:\/\/www.runningxpert.com\/media\/catalog\/product\/cache\/6517c62f5899ad6aa0ba23ceb3eeff97\/b\/l\/blazepod_hardcase_6pcs_1.jpg","name":"Hardcase 4 pcs. Incl. handle","color":"Noir","_misc":"Hardcase 4 pcs. Incl. handle"}],"launch_date":null,"in_stock_in_stores":"web","id":"217841","item_type":"product","member_price":false,"member_max_price":false,"non_member_price":false,"non_member_max_price":false,"product_label":""},{"brand":3135580,"brand_value":"PACE","filter_kategorier_elektronik":"","filter_kategorier_elektronik_value":"","filter_generelt_kon":[147,144,145],"filter_generelt_kon_value":["Unisexe","Femme","Homme"],"name":"Handweight 2x3 KG","product_url":"https:\/\/www.runningxpert.com\/fr\/pace-handweight-2x3-kg-pace1006i.html","list_image":"https:\/\/www.runningxpert.com\/media\/catalog\/product\/cache\/67ee89799642c567a71fc92f3699d937\/p\/a\/pace1006_4.png","price":26.99,"max_price":26.99,"tier_prices":[],"style_reference":"PACE1006","sku":"1000000051467","qty_increments":0,"available_sizes":{"sizes":[],"renderSizes":false,"manySizesLabel":"Disponible en plusieurs tailles","sizeLimit":0,"super_attribute":[{"attribute_id":"211","options":[{"value":"6022","label":"ONE SIZE"}]}],"is_one_size":true},"variant_images":[{"id":"385515","link":"https:\/\/www.runningxpert.com\/fr\/pace-handweight-2x3-kg-pace1006i.html","base_image":"https:\/\/www.runningxpert.com\/media\/catalog\/product\/cache\/6517c62f5899ad6aa0ba23ceb3eeff97\/p\/a\/pace1006_4.png","name":"Handweight 2x3 KG","color":"Noir","_misc":"Handweight 2x3 KG"}],"launch_date":null,"in_stock_in_stores":"web","id":"385515","item_type":"product","member_price":false,"member_max_price":false,"non_member_price":false,"non_member_max_price":false,"product_label":""},{"brand":3135580,"brand_value":"PACE","filter_kategorier_elektronik":"","filter_kategorier_elektronik_value":"","filter_generelt_kon":[147,144,145],"filter_generelt_kon_value":["Unisexe","Femme","Homme"],"name":"Jumping Rope","product_url":"https:\/\/www.runningxpert.com\/fr\/pace-jumping-rope-pace1009i.html","list_image":"https:\/\/www.runningxpert.com\/media\/catalog\/product\/cache\/67ee89799642c567a71fc92f3699d937\/p\/a\/pace1009.png","price":13.99,"max_price":13.99,"tier_prices":[],"style_reference":"PACE1009","sku":"1000000051469","qty_increments":0,"available_sizes":{"sizes":[],"renderSizes":false,"manySizesLabel":"Disponible en plusieurs tailles","sizeLimit":0,"super_attribute":[{"attribute_id":"211","options":[{"value":"6022","label":"ONE SIZE"}]}],"is_one_size":true},"variant_images":[{"id":"385519","link":"https:\/\/www.runningxpert.com\/fr\/pace-jumping-rope-pace1009i.html","base_image":"https:\/\/www.runningxpert.com\/media\/catalog\/product\/cache\/6517c62f5899ad6aa0ba23ceb3eeff97\/p\/a\/pace1009.png","name":"Jumping Rope","color":"Noir","_misc":"Jumping Rope"}],"launch_date":null,"in_stock_in_stores":"web","id":"385519","item_type":"product","member_price":false,"member_max_price":false,"non_member_price":false,"non_member_max_price":false,"product_label":""},{"brand":3135580,"brand_value":"PACE","filter_kategorier_elektronik":"","filter_kategorier_elektronik_value":"","filter_generelt_kon":[147,144,145],"filter_generelt_kon_value":["Unisexe","Femme","Homme"],"name":"Resistance Band 4-Pack","product_url":"https:\/\/www.runningxpert.com\/fr\/pace-resistance-band-4-pack-pace1014i.html","list_image":"https:\/\/www.runningxpert.com\/media\/catalog\/product\/cache\/67ee89799642c567a71fc92f3699d937\/p\/a\/pace1014.png","price":19.99,"max_price":19.99,"tier_prices":[],"style_reference":"PACE1014","sku":"1000000051474","qty_increments":0,"available_sizes":{"sizes":[],"renderSizes":false,"manySizesLabel":"Disponible en plusieurs tailles","sizeLimit":0,"super_attribute":[{"attribute_id":"211","options":[{"value":"6022","label":"ONE SIZE"}]}],"is_one_size":true},"variant_images":[{"id":"385529","link":"https:\/\/www.runningxpert.com\/fr\/pace-resistance-band-4-pack-pace1014i.html","base_image":"https:\/\/www.runningxpert.com\/media\/catalog\/product\/cache\/6517c62f5899ad6aa0ba23ceb3eeff97\/p\/a\/pace1014.png","name":"Resistance Band 4-Pack","color":"Multicolore","_misc":"Resistance Band 4-Pack"}],"launch_date":null,"in_stock_in_stores":"web","id":"385529","item_type":"product","member_price":false,"member_max_price":false,"non_member_price":false,"non_member_max_price":false,"product_label":""},{"brand":3135675,"brand_value":"ASG","filter_kategorier_elektronik":"","filter_kategorier_elektronik_value":"","filter_generelt_kon":147,"filter_generelt_kon_value":"Unisexe","name":"V50 Vibration Trainer","product_url":"https:\/\/www.runningxpert.com\/fr\/asg-v50-vibration-trainer-asg4616i.html","list_image":"https:\/\/www.runningxpert.com\/media\/catalog\/product\/cache\/67ee89799642c567a71fc92f3699d937\/5\/7\/5704796045812_1.jpg","price":225,"max_price":399.99,"tier_prices":[],"style_reference":"ASG4616I","sku":"1000000051655","qty_increments":1,"available_sizes":{"sizes":[],"renderSizes":false,"manySizesLabel":"Disponible en plusieurs tailles","sizeLimit":0,"super_attribute":[{"attribute_id":"211","options":[{"value":"6022","label":"ONE SIZE"}]}],"is_one_size":true},"variant_images":[{"id":"386207","link":"https:\/\/www.runningxpert.com\/fr\/asg-v50-vibration-trainer-asg4616i.html","base_image":"https:\/\/www.runningxpert.com\/media\/catalog\/product\/cache\/6517c62f5899ad6aa0ba23ceb3eeff97\/5\/7\/5704796045812_1.jpg","name":"V50 Vibration Trainer","color":"Noir","_misc":"V50 Vibration Trainer"}],"launch_date":null,"in_stock_in_stores":"web","id":"386207","item_type":"product","member_price":false,"member_max_price":false,"non_member_price":false,"non_member_max_price":false,"product_label":""},{"brand":5,"brand_value":"Nike","filter_kategorier_elektronik":"","filter_kategorier_elektronik_value":"","filter_generelt_kon":145,"filter_generelt_kon_value":"Homme","name":"Vapor Fitness Gloves","product_url":"https:\/\/www.runningxpert.com\/fr\/nike-men-s-vapor-fitness-gloves-n1010676-091.html","list_image":"https:\/\/www.runningxpert.com\/media\/catalog\/product\/cache\/67ee89799642c567a71fc92f3699d937\/n\/1\/n1010676-091.jpg","price":33.99,"max_price":33.99,"tier_prices":[],"style_reference":"N1010676","sku":"1000000048560","qty_increments":1,"available_sizes":{"sizes":["M","L","XL"],"renderSizes":true,"manySizesLabel":"Disponible en plusieurs tailles","sizeLimit":5,"super_attribute":[{"attribute_id":"211","options":[{"value":"1664","label":"M"},{"value":"1660","label":"L"},{"value":"1661","label":"XL"}]}],"is_one_size":false},"variant_images":[{"id":"365469","link":"https:\/\/www.runningxpert.com\/fr\/nike-men-s-vapor-fitness-gloves-n1010676-091.html","base_image":"https:\/\/www.runningxpert.com\/media\/catalog\/product\/cache\/6517c62f5899ad6aa0ba23ceb3eeff97\/n\/1\/n1010676-091.jpg","name":"Vapor Fitness Gloves","color":"Noir","_misc":"Vapor Fitness Gloves"}],"launch_date":null,"in_stock_in_stores":"web","id":"365469","item_type":"product","member_price":false,"member_max_price":false,"non_member_price":false,"non_member_max_price":false,"product_label":""},{"brand":5,"brand_value":"Nike","filter_kategorier_elektronik":"","filter_kategorier_elektronik_value":"","filter_generelt_kon":147,"filter_generelt_kon_value":"Unisexe","name":"Club Pool Towel 173x71 cm","product_url":"https:\/\/www.runningxpert.com\/fr\/nike-club-pool-towel-173x71-cm-n1009741-010.html","list_image":"https:\/\/www.runningxpert.com\/media\/catalog\/product\/cache\/67ee89799642c567a71fc92f3699d937\/n\/1\/n1009741-010.jpg","price":42,"max_price":53,"tier_prices":[],"style_reference":"N1009741","sku":"1000000051836","qty_increments":1,"available_sizes":{"sizes":[],"renderSizes":false,"manySizesLabel":"Disponible en plusieurs tailles","sizeLimit":0,"super_attribute":[{"attribute_id":"211","options":[{"value":"6022","label":"ONE SIZE"}]}],"is_one_size":true},"variant_images":[{"id":"387065","link":"https:\/\/www.runningxpert.com\/fr\/nike-club-pool-towel-173x71-cm-n1009741-010.html","base_image":"https:\/\/www.runningxpert.com\/media\/catalog\/product\/cache\/6517c62f5899ad6aa0ba23ceb3eeff97\/n\/1\/n1009741-010.jpg","name":"Club Pool Towel 173x71 cm","color":"Noir","_misc":"Club Pool Towel 173x71 cm"}],"launch_date":null,"in_stock_in_stores":"web","id":"387065","item_type":"product","member_price":false,"member_max_price":false,"non_member_price":false,"non_member_max_price":false,"product_label":""},{"brand":59,"brand_value":"Endurance","filter_kategorier_elektronik":"","filter_kategorier_elektronik_value":"","filter_generelt_kon":[147,144,145],"filter_generelt_kon_value":["Unisexe","Femme","Homme"],"name":"Ardee Sports Bottle","product_url":"https:\/\/www.runningxpert.com\/fr\/endurance-ardee-sports-bottle-e151027-8899.html","list_image":"https:\/\/www.runningxpert.com\/media\/catalog\/product\/cache\/67ee89799642c567a71fc92f3699d937\/e\/1\/e151027-8899_1_.jpg","price":6,"max_price":12.99,"tier_prices":[],"style_reference":"E151027","sku":"1000000045496","qty_increments":1,"available_sizes":{"sizes":[],"renderSizes":false,"manySizesLabel":"Disponible en plusieurs tailles","sizeLimit":0,"super_attribute":[{"attribute_id":"211","options":[{"value":"6022","label":"ONE SIZE"}]}],"is_one_size":true},"variant_images":[{"id":"345024","link":"https:\/\/www.runningxpert.com\/fr\/endurance-ardee-sports-bottle-e151027-8899.html","base_image":"https:\/\/www.runningxpert.com\/media\/catalog\/product\/cache\/6517c62f5899ad6aa0ba23ceb3eeff97\/e\/1\/e151027-8899_1_.jpg","name":"Ardee Sports Bottle","color":"Transparent","_misc":"Ardee Sports Bottle"}],"launch_date":null,"in_stock_in_stores":"web","id":"345024","item_type":"product","member_price":false,"member_max_price":false,"non_member_price":false,"non_member_max_price":false,"product_label":""},{"brand":59,"brand_value":"Endurance","filter_kategorier_elektronik":"","filter_kategorier_elektronik_value":"","filter_generelt_kon":147,"filter_generelt_kon_value":"Unisexe","name":"Dumbbell 4 KG","product_url":"https:\/\/www.runningxpert.com\/fr\/endurance-dumbbell-4-kg-e92004-2-1004.html","list_image":"https:\/\/www.runningxpert.com\/media\/catalog\/product\/cache\/67ee89799642c567a71fc92f3699d937\/e\/9\/e92004-2-1004_2_.jpg","price":12,"max_price":39.99,"tier_prices":[],"style_reference":"E92004","sku":"1000000045617","qty_increments":1,"available_sizes":{"sizes":[],"renderSizes":false,"manySizesLabel":"Disponible en plusieurs tailles","sizeLimit":0,"super_attribute":[{"attribute_id":"211","options":[{"value":"3187","label":"4KG"}]}],"is_one_size":false},"variant_images":[{"id":"345652","link":"https:\/\/www.runningxpert.com\/fr\/endurance-dumbbell-4-kg-e92004-2-1004.html","base_image":"https:\/\/www.runningxpert.com\/media\/catalog\/product\/cache\/6517c62f5899ad6aa0ba23ceb3eeff97\/e\/9\/e92004-2-1004_2_.jpg","name":"Dumbbell 4 KG","color":"Gris","_misc":"Dumbbell 4 KG"},{"id":"35252","link":"https:\/\/www.runningxpert.com\/fr\/endurance-dumbbell-3-kg.html","base_image":"https:\/\/www.runningxpert.com\/media\/catalog\/product\/cache\/6517c62f5899ad6aa0ba23ceb3eeff97\/e\/n\/endurance_dumbells_3_kg_e92004-1_main-p.jpg","name":"Dumbbell 3 KG","color":"Gris","_misc":"Dumbbell 3 KG"}],"launch_date":null,"in_stock_in_stores":"web","id":"345652","item_type":"product","member_price":false,"member_max_price":false,"non_member_price":false,"non_member_max_price":false,"product_label":""},{"brand":1205,"brand_value":"Coros","filter_kategorier_elektronik":581,"filter_kategorier_elektronik_value":"Accessoires pour montres et wearables","filter_generelt_kon":[147,144,145],"filter_generelt_kon_value":["Unisexe","Femme","Homme"],"name":"USB-C Acc A2 Charging Adapter","product_url":"https:\/\/www.runningxpert.com\/fr\/coros-acc-usb-c-a2-charging-adapter-crg-w-a2.html","list_image":"https:\/\/www.runningxpert.com\/media\/catalog\/product\/cache\/67ee89799642c567a71fc92f3699d937\/u\/s\/usb_c_charging_adaptor.jpg","price":19,"max_price":19,"tier_prices":[],"style_reference":"USB-CHARGER","sku":"1000000037385","qty_increments":1,"available_sizes":{"sizes":[],"renderSizes":false,"manySizesLabel":"Disponible en plusieurs tailles","sizeLimit":0,"super_attribute":[{"attribute_id":"211","options":[{"value":"6022","label":"ONE SIZE"}]}],"is_one_size":true},"variant_images":[{"id":"287552","link":"https:\/\/www.runningxpert.com\/fr\/coros-acc-usb-c-a2-charging-adapter-crg-w-a2.html","base_image":"https:\/\/www.runningxpert.com\/media\/catalog\/product\/cache\/6517c62f5899ad6aa0ba23ceb3eeff97\/u\/s\/usb_c_charging_adaptor.jpg","name":"USB-C Acc A2 Charging Adapter","color":"Blanc","_misc":"USB-C Acc A2 Charging Adapter"}],"launch_date":null,"in_stock_in_stores":"web","id":"287552","item_type":"product","member_price":false,"member_max_price":false,"non_member_price":false,"non_member_max_price":false,"product_label":""}],"filters":[{"id":3,"prop":"overkategori","label":"Cat\u00e9gorie","type":"checkbox","multiselect":true,"options":[{"id":2,"value":3129898,"label":"V\u00eatements","count":1,"selected":false,"sort_order":2},{"id":3,"value":3129899,"label":"Montres sport & Wearables","count":1,"selected":false,"sort_order":3},{"id":1,"value":3129900,"label":"\u00c9quipement de course et accessoires","count":46,"selected":false,"sort_order":4},{"id":0,"value":3129902,"label":"R\u00e9cup\u00e9ration, soins et \u00e9quipement d\u2019entra\u00eenement","count":98,"selected":false,"sort_order":6}],"position":0,"show_limit":0,"search_limit":0,"show_as_filter_block":false,"filter_block_heading":""},{"id":8,"prop":"filter_generelt_kon","label":"Sexe","type":"checkbox","multiselect":true,"options":[{"id":0,"value":"147","label":"Unisexe","count":140,"selected":false,"sort_order":1},{"id":1,"value":"144","label":"Femme","count":102,"selected":false,"sort_order":2},{"id":2,"value":"145","label":"Homme","count":102,"selected":false,"sort_order":3},{"id":3,"value":"146","label":"Junior","count":4,"selected":false,"sort_order":4}],"position":0,"show_limit":4,"search_limit":0,"show_as_filter_block":false,"filter_block_heading":false,"open":true},{"id":9,"prop":"brand","label":"Marque","type":"checkbox","multiselect":true,"options":[{"id":3,"value":3018810,"label":"adidas","count":16,"selected":false,"sort_order":53},{"id":11,"value":3135675,"label":"ASG","count":2,"selected":false,"sort_order":5},{"id":1,"value":51,"label":"Blackroll","count":27,"selected":false,"sort_order":274},{"id":12,"value":1183,"label":"BlazePod","count":1,"selected":false,"sort_order":293},{"id":4,"value":62,"label":"Camelbak","count":12,"selected":false,"sort_order":280},{"id":8,"value":1205,"label":"Coros","count":2,"selected":false,"sort_order":300},{"id":5,"value":59,"label":"Endurance","count":11,"selected":false,"sort_order":278},{"id":9,"value":1284,"label":"Lipati","count":2,"selected":false,"sort_order":338},{"id":10,"value":1291,"label":"Maurten","count":2,"selected":false,"sort_order":340},{"id":15,"value":3084893,"label":"Montane","count":1,"selected":false,"sort_order":148},{"id":7,"value":3081747,"label":"Nduranz","count":3,"selected":false,"sort_order":150},{"id":14,"value":3082946,"label":"NeverSecond","count":1,"selected":false,"sort_order":151},{"id":0,"value":5,"label":"Nike","count":40,"selected":false,"sort_order":268},{"id":2,"value":3135580,"label":"PACE","count":17,"selected":false,"sort_order":17},{"id":13,"value":3065759,"label":"SKLZ","count":1,"selected":false,"sort_order":201},{"id":6,"value":1390,"label":"Sports Pharma","count":8,"selected":false,"sort_order":384}],"position":1,"show_limit":5,"search_limit":10,"show_as_filter_block":false,"filter_block_heading":"","open":true},{"id":6,"prop":"colour_filter","label":"Couleur","type":"checkbox","multiselect":true,"options":[{"id":2,"value":"572478","label":"Bleu","count":14,"selected":false,"sort_order":1},{"id":11,"value":"572476","label":"Marron","count":3,"selected":false,"sort_order":2},{"id":3,"value":"572477","label":"Vert","count":13,"selected":false,"sort_order":3},{"id":1,"value":"572474","label":"Gris","count":15,"selected":false,"sort_order":4},{"id":9,"value":"572472","label":"Jaune","count":4,"selected":false,"sort_order":5},{"id":4,"value":"572468","label":"Blanc","count":12,"selected":false,"sort_order":7},{"id":12,"value":"572473","label":"Mauve","count":2,"selected":false,"sort_order":8},{"id":8,"value":"572471","label":"Orange","count":5,"selected":false,"sort_order":9},{"id":5,"value":"572475","label":"Rose","count":8,"selected":false,"sort_order":10},{"id":7,"value":"572470","label":"Rouge","count":5,"selected":false,"sort_order":11},{"id":0,"value":"572469","label":"Noir","count":46,"selected":false,"sort_order":12},{"id":10,"value":"3132067","label":"Transparent","count":3,"selected":false,"sort_order":14},{"id":13,"value":"3134279","label":"Multicolore","count":1,"selected":false,"sort_order":15},{"id":6,"value":"3134280","label":"Beige","count":5,"selected":false,"sort_order":16}],"position":2,"show_limit":0,"search_limit":0,"show_as_filter_block":false,"filter_block_heading":""},{"id":1,"prop":"filter_clothes","label":"Taille - Textile","type":"checkbox","multiselect":true,"options":[{"id":4,"value":3019124,"label":"XS","count":1,"selected":false,"sort_order":4},{"id":2,"value":3019122,"label":"S","count":2,"selected":false,"sort_order":5},{"id":1,"value":3019121,"label":"M","count":3,"selected":false,"sort_order":6},{"id":0,"value":3019120,"label":"L","count":3,"selected":false,"sort_order":7},{"id":3,"value":3019123,"label":"XL","count":2,"selected":false,"sort_order":8}],"position":5,"show_limit":0,"search_limit":3,"show_as_filter_block":false,"filter_block_heading":false},{"id":10,"prop":"filter_kategorier_tilbehoer","label":"\u00c9quipement de course","type":"checkbox","multiselect":false,"options":[{"id":0,"value":"761","label":"Syst\u00e8mes d'hydratation & Gourdes","count":50,"selected":false,"sort_order":5},{"id":1,"value":"760","label":"Accessoires divers","count":2,"selected":false,"sort_order":18}],"position":5,"show_limit":0,"search_limit":0,"show_as_filter_block":false,"filter_block_heading":""},{"id":2,"prop":"filter_sko_brug","label":"Id\u00e9al pour","type":"checkbox","multiselect":true,"options":[{"id":1,"value":"3131184","label":"Randonn\u00e9e","count":3,"selected":false,"sort_order":5},{"id":0,"value":"3132406","label":"Fitness","count":5,"selected":false,"sort_order":7},{"id":2,"value":"40","label":"R\u00e9cup\u00e9ration & D\u00e9tente","count":2,"selected":false,"sort_order":8}],"position":7,"show_limit":0,"search_limit":0,"show_as_filter_block":false,"filter_block_heading":""},{"id":4,"prop":"flasker_funktioner_kapacitet","label":"Capacit\u00e9 d'hydratation","type":"checkbox","multiselect":false,"options":[{"id":0,"value":3133132,"label":"400 - 599 ml","count":22,"selected":false,"sort_order":2},{"id":1,"value":3133133,"label":"600 - 749 ml","count":17,"selected":false,"sort_order":3},{"id":2,"value":3133134,"label":"> 750 ml","count":6,"selected":false,"sort_order":4}],"position":7,"show_limit":0,"search_limit":0,"show_as_filter_block":false,"filter_block_heading":""},{"id":5,"prop":"underkategorier_elektronisk_ud","label":"Type d'\u00e9quipement","type":"checkbox","multiselect":true,"options":[{"id":1,"value":"3132424","label":"Capteurs de course","count":1,"selected":false,"sort_order":12},{"id":0,"value":"3130068","label":"Chargeurs et c\u00e2bles","count":1,"selected":false,"sort_order":14}],"position":8,"show_limit":0,"search_limit":0,"show_as_filter_block":false,"filter_block_heading":""},{"id":0,"prop":"filter_generelt_funktion","label":"Fonctions g\u00e9n\u00e9rales","type":"checkbox","multiselect":true,"options":[{"id":0,"value":"3129907","label":"Isolant","count":3,"selected":false,"sort_order":9},{"id":1,"value":"3129912","label":"R\u00e9glable","count":2,"selected":false,"sort_order":13}],"position":9,"show_limit":0,"search_limit":0,"show_as_filter_block":false,"filter_block_heading":""}],"state":{"l":"10"},"tracking":{"item_list_id":"category_2","item_list_name":"L\u00f8beshop","items":[{"index":0,"item_brand":"BlazePod","item_category":"L\u00f8beshop","item_id":"217841","item_list_id":"category_2","item_list_name":"L\u00f8beshop","item_name":"Hardcase 4 pcs. Incl. handle","quantity":1,"discount":10.5,"price":48.5},{"index":1,"item_brand":"PACE","item_category":"L\u00f8beshop","item_id":"385515","item_list_id":"category_2","item_list_name":"L\u00f8beshop","item_name":"Handweight 2x3 KG","quantity":1,"discount":0,"price":26.99},{"index":2,"item_brand":"PACE","item_category":"L\u00f8beshop","item_id":"385519","item_list_id":"category_2","item_list_name":"L\u00f8beshop","item_name":"Jumping Rope","quantity":1,"discount":0,"price":13.99},{"index":3,"item_brand":"PACE","item_category":"L\u00f8beshop","item_id":"385529","item_list_id":"category_2","item_list_name":"L\u00f8beshop","item_name":"Resistance Band 4-Pack","quantity":1,"discount":0,"price":19.99},{"index":4,"item_brand":"ASG","item_category":"L\u00f8beshop","item_id":"386207","item_list_id":"category_2","item_list_name":"L\u00f8beshop","item_name":"V50 Vibration Trainer","quantity":1,"discount":174.99,"price":225},{"index":5,"item_brand":"Nike","item_category":"L\u00f8beshop","item_id":"365469","item_list_id":"category_2","item_list_name":"L\u00f8beshop","item_name":"Vapor Fitness Gloves","quantity":1,"discount":0,"price":33.99},{"index":6,"item_brand":"Nike","item_category":"L\u00f8beshop","item_id":"387065","item_list_id":"category_2","item_list_name":"L\u00f8beshop","item_name":"Club Pool Towel 173x71 cm","quantity":1,"discount":11,"price":42},{"index":7,"item_brand":"Endurance","item_category":"L\u00f8beshop","item_id":"345024","item_list_id":"category_2","item_list_name":"L\u00f8beshop","item_name":"Ardee Sports Bottle","quantity":1,"discount":6.99,"price":6},{"index":8,"item_brand":"Endurance","item_category":"L\u00f8beshop","item_id":"345652","item_list_id":"category_2","item_list_name":"L\u00f8beshop","item_name":"Dumbbell 4 KG","quantity":1,"discount":27.99,"price":12},{"index":9,"item_brand":"Coros","item_category":"L\u00f8beshop","item_id":"287552","item_list_id":"category_2","item_list_name":"L\u00f8beshop","item_name":"USB-C Acc A2 Charging Adapter","quantity":1,"discount":0,"price":19}]},"schema":{"@context":"https:\/\/schema.org","@type":"ItemList","itemListElement":[{"@type":"ListItem","url":"https:\/\/www.runningxpert.com\/fr\/blazepod-hardcase-4-pcs-incl-handle-400-500018.html","position":0},{"@type":"ListItem","url":"https:\/\/www.runningxpert.com\/fr\/pace-handweight-2x3-kg-pace1006i.html","position":1},{"@type":"ListItem","url":"https:\/\/www.runningxpert.com\/fr\/pace-jumping-rope-pace1009i.html","position":2},{"@type":"ListItem","url":"https:\/\/www.runningxpert.com\/fr\/pace-resistance-band-4-pack-pace1014i.html","position":3},{"@type":"ListItem","url":"https:\/\/www.runningxpert.com\/fr\/asg-v50-vibration-trainer-asg4616i.html","position":4},{"@type":"ListItem","url":"https:\/\/www.runningxpert.com\/fr\/nike-men-s-vapor-fitness-gloves-n1010676-091.html","position":5},{"@type":"ListItem","url":"https:\/\/www.runningxpert.com\/fr\/nike-club-pool-towel-173x71-cm-n1009741-010.html","position":6},{"@type":"ListItem","url":"https:\/\/www.runningxpert.com\/fr\/endurance-ardee-sports-bottle-e151027-8899.html","position":7},{"@type":"ListItem","url":"https:\/\/www.runningxpert.com\/fr\/endurance-dumbbell-4-kg-e92004-2-1004.html","position":8},{"@type":"ListItem","url":"https:\/\/www.runningxpert.com\/fr\/coros-acc-usb-c-a2-charging-adapter-crg-w-a2.html","position":9}],"numberOfItems":146}};
    </script>
<div x-data="OSearch(OsearchInitialParams6ae1f8ba18699,OsearchInitialData6ae1f8ba18699);"
     class="osearch-container w-full snap-slider product-slider"
    x-snap-slider.auto-pager.group-pager data-content-type="products" data-appearance="carousel" data-show-dots="true" data-show-arrows="true"     @resize.window="checkIsMobile();"
     @visibilitychange.window="checkIsMobile();"
    >
        <div class="flex-1 transition max-w-full">
                                        <div class="osearch-product-list w-[100dvw] [--container-size:calc((100dvw_-_100cqw)_/_2)] mx-[calc((100dvw_-_100%)_*_-0.5)] scroll-px-(--container-size) px-(--container-size) snap-track [--snap-cols:1.5] md:[--snap-cols:2] lg:[--snap-cols:3] xl:[--snap-cols:4]"
    data-track>
            
                    
                    
                    
            
    <template x-for="(item,index) in productItems">
                                            <form class="w-full product_addtocart_form item product product-item flex flex-col group transition-all"
      method="post" :action="BASE_URL + 'checkout/cart/add'"
      x-data="{ productInViewport: index < 4, buttonPos : 'bottom: 0', showSelect: false, }"
      x-intersect="productInViewport = true"
>
    <input type="hidden" name="product" :value="item.id" />
    <input type="hidden" name="form_key" :value="hyva.getFormKey()" />
    <input type="hidden" name="added_from" value="product_slider" />
    <input type="hidden" name="added_from_info" value="mpblog_post_view" />

    <div class="relative bg-container-darker mb-5">
        <template x-if="item.product_label">
            <div x-html="item.product_label"></div>
        </template>
        <a :href="item.product_url"
           class="photo product-item-photo relative z-10 w-full !flex !py-7.5 overflow-hidden cursor-pointer
            transition group-hover:shadow-accent-light hover:opacity-80 mix-blend-darken"
           :data-item-id="item.id" :aria-label="item.name">
            <img class="object-contain w-full h-full mix-blend-darken"
                 :src="productInViewport ? item.list_image : 'https://www.runningxpert.com/media/catalog/product/placeholder/default/placeholder-runningxpert.jpg'"
                 :title="productInViewport ? item.name : 'placeholder'"
                 :loading="productInViewport ? 'eager' : 'lazy'"
                 :alt="productInViewport ? item.name : 'placeholder'" width="375" height="375"
            >
        </a>
        <div class="hidden lg:block absolute bottom-0 w-full overflow-hidden max-h-[0] z-10 group-hover:max-h-[500px] bg-white" style="transition: max-height 0.35s ease-in-out;">
            <template x-if="item.available_sizes && item.available_sizes.renderSizes && window.matchMedia('(min-width: 768px)').matches">                 <div class="text-base font-normal">
                    <template x-if="item.available_sizes.sizes.length <= item.available_sizes.sizeLimit">
                        <ul class="m-2 p-0 list-none flex flex-wrap gap-x-2.5 gap-y-1">
                            <template x-for="size in item.available_sizes.sizes">
                                <li class="mb-0">
                                    <span x-text="size"></span>
                                </li>
                            </template>
                        </ul>
                    </template>
                    <template x-if="item.available_sizes.sizes.length > item.available_sizes.sizeLimit">
                        <p class="m-2 p-0 !text-base !leading-normal" x-text="'Disponible en plusieurs tailles'"></p>
                    </template>
                </div>
            </template>
            <template x-if="item.variant_images.length && window.matchMedia('(min-width: 768px)').matches">                 <ul class="flex p-0 m-2 flex-wrap list-none gap-x-2.5 gap-y-1">
                    <template x-for="image in item.variant_images">
                        <li class="border border-[#e2e2e2] flex grow-0 shrink-0 basis-[15.3%] aspect-square mb-0 hover:border-[#8b8b8b] transition" :class="{'border-black' : image.id == item.id }">
                            <a :href="image.link" :aria-label="image.name + ' ' + image.color" class="cursor-pointer w-full h-full flex justify-center items-center p-1">
                                <img fetchpriority="low" loading="lazy" width="45" height="45"
                                     :src="image.base_image" class="object-cover" :alt="image.name + ' ' + image.color" />
                            </a>
                        </li>
                    </template>
                </ul>
            </template>
        </div>

        <button x-data="initWishlist(item.id)"
                @reinit-wishlist.window="reinitWishlist(item.id);"
                @private-content-loaded.window="onPrivateContentLoaded($event.detail.data)"
                @click.prevent="handleClick($event)"
                :data-product="item.name"
                class="hover:text-black p-1 absolute top-2 right-2 z-20"
                type="button" aria-label="Ajouter à mes produits préférés">
            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" x-show="!active" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"/>
<title>heart</title></svg>
            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="24" height="24" x-cloak="" x-show="active" role="img">
  <path fill-rule="evenodd" d="M3.172 5.172a4 4 0 015.656 0L10 6.343l1.172-1.171a4 4 0 115.656 5.656L10 17.657l-6.828-6.829a4 4 0 010-5.656z" clip-rule="evenodd"/>
<title>heart</title></svg>
        </button>
    </div>

    <div class="product-info flex flex-col grow relative">
        <template x-if="item.filter_generelt_kon_value">
            <span x-text="item.filter_generelt_kon_value.toString().replaceAll(',', ' / ')"
                  class="product-item-category font-nexa-book text-xs lg:text-base leading-tight font-thin uppercase block text-primary-lighter mb-2.5 lg:max-w-[calc(100%_-_40px)]"></span>
        </template>

        <span x-text="item.brand_value.toString().replaceAll(',', ', ')" class="item-name product-item-brand font-bold uppercase text-sm lg:text-lg text-black block leading-none lg:max-w-[calc(100%_-_40px)]"></span>

        <a class="product-item-link !no-underline hover:!underline text-black leading-tight" :href="item.product_url">
            <span x-text="item.name " class="item-name font-bold uppercase text-sm lg:text-lg text-black block pt-1 leading-tight"></span>
        </a>

        <template x-if="item.tier_prices">
            <div class="mt-2">
                <ul class="gap-2 flex flex-col m-0 p-0 list-none">
                    <template x-for="tierPrice in item.tier_prices">
                        <li x-data="{
                                qty: tierPrice.qty,
                                translation: 'Achetez %1 à %2/pièce,',
                                getPrice() {
                                    if (tierPrice.percentage_value) {
                                        return item.max_price * (1 - (tierPrice.percentage_value / 100));
                                    }
                                    return tierPrice.price;
                                },
                                getPercentage() {
                                    return Math.max(0, Math.round((1 - (this.getPrice() / item.price)) * 100));
                                }
                            }"
                            class="item inline-block bg-[#f5f5f5] py-1.5 px-2 m-0 text-sm"
                            x-show="getPercentage() > 0"
                        >
                            <span>
                                <span x-html="translation.replace('%1', qty).replace('%2', `<span class='text-secondary font-black'>`+hyva.formatPrice(getPrice())+`</span>`)"></span>
                                enregistrer                                <span class="percent font-black" x-text="getPercentage() + '%'"></span>
                            </span>
                        </li>
                    </template>
                </ul>
            </div>
        </template>

        <div class="price-box mt-2.5 grow flex flex-col lg:flex-row justify-end lg:justify-between text-base lg:flex-wrap lg:items-end gap-y-2">
            <div class="flex flex-col items-baseline h-auto justify-end">
                <div class="retail-price-wrapper" :class="{ 'invisible': !(item.max_price && item.max_price > item.price) }">
                    <div class="retail-price">
                        <span class="price-container">
                            <span class="price-label">Prix régulier</span>
                            <span class="price-wrapper">
                                <span class="price" x-text="hyva.formatPrice(item.max_price || item.price)"></span>
                            </span>
                        </span>
                    </div>
                </div>

                <template x-if="item.max_price && item.max_price > item.price && item.non_member_price && (item.non_member_price != item.max_price) && (((1 - item.price / item.non_member_price ) * 100) > 2)">
                    <div class="non-member-price-wrapper">
                        <div class="non-member-price">
                            <span class="price-container">
                                <span class="price-label">Non-membre</span>
                                <span class="price-wrapper">
                                    <span class="price" x-text="hyva.formatPrice(item.non_member_price)"></span>
                                </span>
                            </span>
                        </div>
                    </div>
                </template>

                <span :class="item.max_price && item.max_price > item.price ? 'normal-price special-price' : 'normal-price'">
                    <span class="price-container">
                        <span class="price-label">À partir de</span>
                        <template x-if="item.max_price && item.max_price > item.price && item.non_member_price">
                            <span class="block text-xs uppercase font-extrabold text-loebeshopplus">
                                Votre prix membre                            </span>
                        </template>
                        <span class="price-wrapper">
                            <span :id="'product-price-'+item.id" class="price" :class="{ '!text-loebeshopplus' : item.max_price && item.max_price > item.price && item.non_member_price }" x-text="hyva.formatPrice(item.price)"></span>
                        </span>
                    </span>
                </span>
            </div>
            <template x-if="item.member_price">
                <div class="flex h-auto items-end">
                    <span class="member-price flex p-2 border-2 border-loebeshopplus text-loebeshopplus">
                        <span class="price-container !flex flex-col">
                            <span class="price-label flex items-center justify-between gap-1.5">
                                Prix membre                                <template x-if="document.querySelectorAll('#memberprice-modal').length">
                                    <span class="cursor-pointer" @click="$dispatch('open-memberprice-modal')">
                                        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="16" height="16" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/>
<title>Click for info</title></svg>
                                    </span>
                                </template>
                            </span>
                            <span class="price-wrapper flex">
                                <span :id="'product-member-price-'+item.id" class="price !text-loebeshopplus" x-text="hyva.formatPrice(item.member_price)"></span>
                            </span>
                        </span>
                    </span>
                </div>
            </template>
        </div>

        <template x-if="item.available_sizes && item.available_sizes.renderSizes && isMobile">             <div class="mobile-sizes lg:hidden pt-2.5">
                <div class="border-t font-normal leading-normal border-container">
                    <template x-if="item.available_sizes.sizes.length <= item.available_sizes.sizeLimit">
                        <ul class="mt-2.5 mb-0 p-0 list-none flex flex-wrap gap-x-1.5 gap-y-1 text-[10px] text-primary-lighter">
                            <template x-for="size in item.available_sizes.sizes">
                                <li class="mb-0">
                                    <span x-text="size"></span>
                                </li>
                            </template>
                        </ul>
                    </template>
                    <template x-if="item.available_sizes.sizes.length > item.available_sizes.sizeLimit">
                        <p class="mt-2.5 p-0 !text-[10px] text-primary-lighter !leading-normal !mb-0" x-text="'Disponible en plusieurs tailles'"></p>
                    </template>
                </div>
            </div>
        </template>
        <template x-if="(item.available_sizes.length == 0 || !item.available_sizes.renderSizes) && isMobile">
            <div class="mobile-sizes h-9"></div>
        </template>

        <template x-if="typeof item.available_sizes.super_attribute != 'undefined' && item.available_sizes.super_attribute[0].options.length && item.available_sizes.is_one_size">
            <input type="hidden" :name="'super_attribute['+item.available_sizes.super_attribute[0].attribute_id+']'" :value="item.available_sizes.super_attribute[0].options[0].value">
        </template>

        <template x-if="showSelect && typeof item.available_sizes.is_one_size != 'undefined' && !item.available_sizes.is_one_size && (!item.launch_date || new Date(item.launch_date) < new Date())">
            <div>
                <div class="overlay absolute z-10 top-0 inset-0 bg-white/75 transition opacity-0 hidden"
                     @click.self="hideOverlayAndSelect($el)"></div>
                <div class="absolute z-10 lg:top-5 right-0 bottom-0 lg:bottom-[unset]"
                     x-init="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                     @resize.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                     @visibilitychange.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                     :style="buttonPos"
                >
                    <select :name="'super_attribute['+item.available_sizes.super_attribute[0].attribute_id+']'"
                            class="form-select hidden opacity-0" @change="addToCartOptionSelected($el)">
                        <option value="">Veuillez sélectionner</option>
                        <template x-for="option in item.available_sizes.super_attribute[0].options">
                            <option :value="option.value" x-text="option.label"></option>
                        </template>
                    </select>
                </div>
            </div>
        </template>

        <template x-if="typeof item.available_sizes.super_attribute != 'undefined' && (!item.launch_date || new Date(item.launch_date) < new Date())">
            <button x-init="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @resize.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @visibilitychange.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    :style="buttonPos"
                    type="submit"
                    class="!absolute bottom-0 lg:bottom-[unset] lg:top-0 right-0 bg-primary rounded-full h-7 lg:h-10 pb-0.5 lg:pb-1 aspect-square flex items-center justify-center text-white"
                    :aria-label="'Ajouter\u0020\u00251\u0020au\u0020panier'.replace('%1', item.name)"
                    @click.prevent="showSelect = true; $nextTick(() => addToCartClick($el, $event))">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-4 w-4 lg:h-6 lg:w-6" width="24" height="24" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z"/>
</svg>
            </button>
        </template>
        <template x-if="!item.available_sizes.super_attribute && (!item.launch_date || new Date(item.launch_date) < new Date())">
            <button x-init="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @resize.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @visibilitychange.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    :style="buttonPos"
                    type="submit"
                    class="!absolute bottom-0 lg:bottom-[unset] lg:top-0 right-0 bg-primary rounded-full h-7 lg:h-10 aspect-square flex items-center justify-center text-white"
                    :aria-label="'Voir\u0020\u00251'.replace('%1', item.name)"
                    @click.prevent="showSpinner($el); window.location.href = item.product_url">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-3.5 w-3.5 lg:h-5 lg:w-5" width="24" height="24" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M14 5l7 7m0 0l-7 7m7-7H3"/>
</svg>
            </button>
        </template>
        <template x-if="item.launch_date && new Date(item.launch_date) > new Date()">
            <button x-init="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @resize.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @visibilitychange.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    :style="buttonPos"
                    type="button"
                    class="!absolute bottom-0 lg:bottom-[unset] lg:top-0 right-0 bg-primary rounded-full h-7 lg:h-10 aspect-square flex items-center justify-center text-white"
                    :aria-label="'\u00251\u0020\u002D\u0020bient\u00F4t\u0020disponible'.replace('%1', item.name)"
                    @click.prevent="showSpinner($el); window.location.href = item.product_url">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-4 w-4 lg:h-6 lg:w-6" width="24" height="24" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/>
</svg>
            </button>
        </template>
        <template x-if="item.in_stock_in_stores && item.in_stock_in_stores.indexOf('web') == -1">
            <button x-init="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @resize.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @visibilitychange.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    :style="buttonPos"
                    type="button"
                    class="!absolute bottom-0 lg:bottom-[unset] lg:top-0 right-0 bg-gray-400 rounded-full h-7 lg:h-10 pb-0.5 aspect-square flex items-center justify-center text-white"
                    :aria-label="'\u00251\u0020\u002D\u0020disponible\u0020uniquement\u0020en\u0020magasin'.replace('%1', item.name)"
                    @click.prevent="showSpinner($el); window.location.href = item.product_url">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-4 w-4 lg:h-6 lg:w-6" width="24" height="24" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"/>
</svg>
            </button>
        </template>
    </div>
</form>
            </template>
</div>
                    </div>

            <div class="flex gap-2" x-show="productItems && productItems.length > 4" x-cloak>
            <button class="flex justify-center items-center absolute !left-[unset] !right-10 !top-0 !bg-white !w-9 !h-9 transition rounded-full !opacity-100 disabled:!opacity-30 hover:!opacity-100 transform !translate-y-0 hover:shadow" aria-label="Previous Slide" data-prev="" disabled="">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="!w-auto !h-auto !scale-x-100&#9;!fill-none" width="24" height="24" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M10 19l-7-7m0 0l7-7m-7 7h18"/>
<title>arrow-left</title></svg>
            </button>
            <button class="flex justify-center items-center absolute !top-0 !right-0 !bg-white !w-9 !h-9 transition rounded-full !opacity-100 disabled:!opacity-30 hover:!opacity-100 transform !translate-y-0 hover:shadow-md" aria-label="Next Slide" data-next="">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="!w-auto !h-auto !fill-none" width="24" height="24" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M14 5l7 7m0 0l-7 7m7-7H3"/>
<title>arrow-right</title></svg>
            </button>
        </div>
        <div class="snap-pager" data-pager></div>
    </div>
                </div>
            </div>
        </div></p>
<p class="MsoNormal">Les exercices peuvent être effectués à la maison sans charge ou avec une charge d'élastique ou de poids. Si votre objectif principal est de rafraîchir vos jambes, vous pouvez isoler le mouvement pendant l'exercice, par exemple en ne descendant pas trop bas dans votre squat (> 90 degrés d'angle au genou). Cela peut être pensé comme un peu plus profond que le mouvement que vous feriez en courant.</p>
<p class="MsoNormal">Le mouvement limité réduit la charge, de sorte que vous n'avez pas mal aux jambes, mais vous obtenez toujours tous les avantages mentionnés. De cette façon, l'entraînement de force n'affecte pas négativement votre entraînement de course.</p>
<hr>
<h2 id="3"><br>Comment vous entraîner</h2>
<p>Voici un programme d'entraînement de force avec des exercices de base qui couvrent les plus grands groupes musculaires du corps. <br>Le programme est divisé en trois vidéos différentes avec des exercices pour les bras, les jambes et le tronc.</p>
<h3><br>Obtenez des bras forts</h3>
<p> </p>
<style><!--
.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
--></style>
<div class="embed-container"><iframe src="https://player.vimeo.com/video/600110579?autoplay=1&amp;loop=1&amp;muted=1&amp;autopause=0" width="870" height="500" frameborder="0" allowfullscreen></iframe></div>
<p>  </p>
<h3>Quatre exercices efficaces pour les jambes</h3>
<p> </p>
<p> </p>
<style><!--
.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
--></style>
<div class="embed-container"><iframe src="https://player.vimeo.com/video/600114187?autoplay=1&amp;loop=1&amp;muted=1&amp;autopause=0" width="870" height="500" frameborder="0" allowfullscreen></iframe></div>
<p>  </p>
<h3>Les meilleurs exercices pour un tronc fort</h3>
<p> </p>
<p> </p>
<style><!--
.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
--></style>
<div class="embed-container"><iframe src="https://player.vimeo.com/video/600117792?autoplay=1&amp;loop=1&amp;muted=1&amp;autopause=0" width="870" height="500" frameborder="0" allowfullscreen></iframe></div>
<p>  </p>
<h2 id="4">L'entraînement de force améliore les performances de course   </h2>
<p>Il est souvent observé que les gens s'accrochent à la forme d'entraînement dans laquelle ils sont les plus forts. Ceux qui ont une bonne condition physique continuent à entraîner leur condition physique, tandis que ceux qui sont forts et ont une grande masse musculaire continuent à s'entraîner en force, etc. Peut-être êtes-vous l'un d'eux ?</p>
<p><br>Selon les experts, vous avez cependant intérêt à combiner l'entraînement de course avec l'entraînement de force pour obtenir une routine d'entraînement meilleure et plus variée. En vous entraînant de manière variée, vous protégez votre corps contre la surcharge en travaillant tout le corps pendant vos séances d'entraînement.<br><br></p>
<p>En même temps, l'entraînement de force contribue également à de meilleures performances en course, moins de blessures et, surtout, une semaine d'entraînement plus amusante et variée.</p>
<p><em><br>Bon entraînement !<br><br></em></p>
<p><span class="widget block-category-link inline">
    <a href="https://www.runningxpert.com/fr/accessoires/autres-equipements-de-running/materiel-de-musculation.html" title="Achetez votre équipement d&#039;entraînement ici"><span>Achetez votre équipement d&#039;entraînement ici</span></a>
</span>
</p>
<p><div class="post--products">
            <div class="container">
                <div class="w-full productslider mt-7.5 mb-20 relative  pt-[70px]"
                     x-data="oSearchProductSlider($el)" :id="$id('osearch-slider')"
                     x-defer="intersect" x-show="isActive"
                                                                               >
                                        <script>
    OsearchInitialParams6ae1f8ba53391 = {"defaultParams":{"cat":"2","store":"12"},"cat":"2","page":1,"limit":false,"presetFilters":[],"initial":1,"updateUrlState":false,"sort":{"position":"asc"},"allowedParams":["utm_source","utm_medium","utm_campaign","fbclid","gclid"],"baseFilters":{"category_ids":["173, 424, 425"]},"pageSize":"10"};
    OsearchInitialData6ae1f8ba53391 = [];
    </script>
<div x-data="OSearch(OsearchInitialParams6ae1f8ba53391,OsearchInitialData6ae1f8ba53391);"
     class="osearch-container w-full snap-slider product-slider"
    x-snap-slider.auto-pager.group-pager data-content-type="products" data-appearance="carousel" data-show-dots="true" data-show-arrows="true"     @resize.window="checkIsMobile();"
     @visibilitychange.window="checkIsMobile();"
    >
        <div class="flex-1 transition max-w-full">
                                        <div class="osearch-product-list w-[100dvw] [--container-size:calc((100dvw_-_100cqw)_/_2)] mx-[calc((100dvw_-_100%)_*_-0.5)] scroll-px-(--container-size) px-(--container-size) snap-track [--snap-cols:1.5] md:[--snap-cols:2] lg:[--snap-cols:3] xl:[--snap-cols:4]"
    data-track>
            
                    
                    
                    
            
    <template x-for="(item,index) in productItems">
                                            <form class="w-full product_addtocart_form item product product-item flex flex-col group transition-all"
      method="post" :action="BASE_URL + 'checkout/cart/add'"
      x-data="{ productInViewport: index < 4, buttonPos : 'bottom: 0', showSelect: false, }"
      x-intersect="productInViewport = true"
>
    <input type="hidden" name="product" :value="item.id" />
    <input type="hidden" name="form_key" :value="hyva.getFormKey()" />
    <input type="hidden" name="added_from" value="product_slider" />
    <input type="hidden" name="added_from_info" value="mpblog_post_view" />

    <div class="relative bg-container-darker mb-5">
        <template x-if="item.product_label">
            <div x-html="item.product_label"></div>
        </template>
        <a :href="item.product_url"
           class="photo product-item-photo relative z-10 w-full !flex !py-7.5 overflow-hidden cursor-pointer
            transition group-hover:shadow-accent-light hover:opacity-80 mix-blend-darken"
           :data-item-id="item.id" :aria-label="item.name">
            <img class="object-contain w-full h-full mix-blend-darken"
                 :src="productInViewport ? item.list_image : 'https://www.runningxpert.com/media/catalog/product/placeholder/default/placeholder-runningxpert.jpg'"
                 :title="productInViewport ? item.name : 'placeholder'"
                 :loading="productInViewport ? 'eager' : 'lazy'"
                 :alt="productInViewport ? item.name : 'placeholder'" width="375" height="375"
            >
        </a>
        <div class="hidden lg:block absolute bottom-0 w-full overflow-hidden max-h-[0] z-10 group-hover:max-h-[500px] bg-white" style="transition: max-height 0.35s ease-in-out;">
            <template x-if="item.available_sizes && item.available_sizes.renderSizes && window.matchMedia('(min-width: 768px)').matches">                 <div class="text-base font-normal">
                    <template x-if="item.available_sizes.sizes.length <= item.available_sizes.sizeLimit">
                        <ul class="m-2 p-0 list-none flex flex-wrap gap-x-2.5 gap-y-1">
                            <template x-for="size in item.available_sizes.sizes">
                                <li class="mb-0">
                                    <span x-text="size"></span>
                                </li>
                            </template>
                        </ul>
                    </template>
                    <template x-if="item.available_sizes.sizes.length > item.available_sizes.sizeLimit">
                        <p class="m-2 p-0 !text-base !leading-normal" x-text="'Disponible en plusieurs tailles'"></p>
                    </template>
                </div>
            </template>
            <template x-if="item.variant_images.length && window.matchMedia('(min-width: 768px)').matches">                 <ul class="flex p-0 m-2 flex-wrap list-none gap-x-2.5 gap-y-1">
                    <template x-for="image in item.variant_images">
                        <li class="border border-[#e2e2e2] flex grow-0 shrink-0 basis-[15.3%] aspect-square mb-0 hover:border-[#8b8b8b] transition" :class="{'border-black' : image.id == item.id }">
                            <a :href="image.link" :aria-label="image.name + ' ' + image.color" class="cursor-pointer w-full h-full flex justify-center items-center p-1">
                                <img fetchpriority="low" loading="lazy" width="45" height="45"
                                     :src="image.base_image" class="object-cover" :alt="image.name + ' ' + image.color" />
                            </a>
                        </li>
                    </template>
                </ul>
            </template>
        </div>

        <button x-data="initWishlist(item.id)"
                @reinit-wishlist.window="reinitWishlist(item.id);"
                @private-content-loaded.window="onPrivateContentLoaded($event.detail.data)"
                @click.prevent="handleClick($event)"
                :data-product="item.name"
                class="hover:text-black p-1 absolute top-2 right-2 z-20"
                type="button" aria-label="Ajouter à mes produits préférés">
            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" x-show="!active" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"/>
<title>heart</title></svg>
            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="24" height="24" x-cloak="" x-show="active" role="img">
  <path fill-rule="evenodd" d="M3.172 5.172a4 4 0 015.656 0L10 6.343l1.172-1.171a4 4 0 115.656 5.656L10 17.657l-6.828-6.829a4 4 0 010-5.656z" clip-rule="evenodd"/>
<title>heart</title></svg>
        </button>
    </div>

    <div class="product-info flex flex-col grow relative">
        <template x-if="item.filter_generelt_kon_value">
            <span x-text="item.filter_generelt_kon_value.toString().replaceAll(',', ' / ')"
                  class="product-item-category font-nexa-book text-xs lg:text-base leading-tight font-thin uppercase block text-primary-lighter mb-2.5 lg:max-w-[calc(100%_-_40px)]"></span>
        </template>

        <span x-text="item.brand_value.toString().replaceAll(',', ', ')" class="item-name product-item-brand font-bold uppercase text-sm lg:text-lg text-black block leading-none lg:max-w-[calc(100%_-_40px)]"></span>

        <a class="product-item-link !no-underline hover:!underline text-black leading-tight" :href="item.product_url">
            <span x-text="item.name " class="item-name font-bold uppercase text-sm lg:text-lg text-black block pt-1 leading-tight"></span>
        </a>

        <template x-if="item.tier_prices">
            <div class="mt-2">
                <ul class="gap-2 flex flex-col m-0 p-0 list-none">
                    <template x-for="tierPrice in item.tier_prices">
                        <li x-data="{
                                qty: tierPrice.qty,
                                translation: 'Achetez %1 à %2/pièce,',
                                getPrice() {
                                    if (tierPrice.percentage_value) {
                                        return item.max_price * (1 - (tierPrice.percentage_value / 100));
                                    }
                                    return tierPrice.price;
                                },
                                getPercentage() {
                                    return Math.max(0, Math.round((1 - (this.getPrice() / item.price)) * 100));
                                }
                            }"
                            class="item inline-block bg-[#f5f5f5] py-1.5 px-2 m-0 text-sm"
                            x-show="getPercentage() > 0"
                        >
                            <span>
                                <span x-html="translation.replace('%1', qty).replace('%2', `<span class='text-secondary font-black'>`+hyva.formatPrice(getPrice())+`</span>`)"></span>
                                enregistrer                                <span class="percent font-black" x-text="getPercentage() + '%'"></span>
                            </span>
                        </li>
                    </template>
                </ul>
            </div>
        </template>

        <div class="price-box mt-2.5 grow flex flex-col lg:flex-row justify-end lg:justify-between text-base lg:flex-wrap lg:items-end gap-y-2">
            <div class="flex flex-col items-baseline h-auto justify-end">
                <div class="retail-price-wrapper" :class="{ 'invisible': !(item.max_price && item.max_price > item.price) }">
                    <div class="retail-price">
                        <span class="price-container">
                            <span class="price-label">Prix régulier</span>
                            <span class="price-wrapper">
                                <span class="price" x-text="hyva.formatPrice(item.max_price || item.price)"></span>
                            </span>
                        </span>
                    </div>
                </div>

                <template x-if="item.max_price && item.max_price > item.price && item.non_member_price && (item.non_member_price != item.max_price) && (((1 - item.price / item.non_member_price ) * 100) > 2)">
                    <div class="non-member-price-wrapper">
                        <div class="non-member-price">
                            <span class="price-container">
                                <span class="price-label">Non-membre</span>
                                <span class="price-wrapper">
                                    <span class="price" x-text="hyva.formatPrice(item.non_member_price)"></span>
                                </span>
                            </span>
                        </div>
                    </div>
                </template>

                <span :class="item.max_price && item.max_price > item.price ? 'normal-price special-price' : 'normal-price'">
                    <span class="price-container">
                        <span class="price-label">À partir de</span>
                        <template x-if="item.max_price && item.max_price > item.price && item.non_member_price">
                            <span class="block text-xs uppercase font-extrabold text-loebeshopplus">
                                Votre prix membre                            </span>
                        </template>
                        <span class="price-wrapper">
                            <span :id="'product-price-'+item.id" class="price" :class="{ '!text-loebeshopplus' : item.max_price && item.max_price > item.price && item.non_member_price }" x-text="hyva.formatPrice(item.price)"></span>
                        </span>
                    </span>
                </span>
            </div>
            <template x-if="item.member_price">
                <div class="flex h-auto items-end">
                    <span class="member-price flex p-2 border-2 border-loebeshopplus text-loebeshopplus">
                        <span class="price-container !flex flex-col">
                            <span class="price-label flex items-center justify-between gap-1.5">
                                Prix membre                                <template x-if="document.querySelectorAll('#memberprice-modal').length">
                                    <span class="cursor-pointer" @click="$dispatch('open-memberprice-modal')">
                                        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="16" height="16" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/>
<title>Click for info</title></svg>
                                    </span>
                                </template>
                            </span>
                            <span class="price-wrapper flex">
                                <span :id="'product-member-price-'+item.id" class="price !text-loebeshopplus" x-text="hyva.formatPrice(item.member_price)"></span>
                            </span>
                        </span>
                    </span>
                </div>
            </template>
        </div>

        <template x-if="item.available_sizes && item.available_sizes.renderSizes && isMobile">             <div class="mobile-sizes lg:hidden pt-2.5">
                <div class="border-t font-normal leading-normal border-container">
                    <template x-if="item.available_sizes.sizes.length <= item.available_sizes.sizeLimit">
                        <ul class="mt-2.5 mb-0 p-0 list-none flex flex-wrap gap-x-1.5 gap-y-1 text-[10px] text-primary-lighter">
                            <template x-for="size in item.available_sizes.sizes">
                                <li class="mb-0">
                                    <span x-text="size"></span>
                                </li>
                            </template>
                        </ul>
                    </template>
                    <template x-if="item.available_sizes.sizes.length > item.available_sizes.sizeLimit">
                        <p class="mt-2.5 p-0 !text-[10px] text-primary-lighter !leading-normal !mb-0" x-text="'Disponible en plusieurs tailles'"></p>
                    </template>
                </div>
            </div>
        </template>
        <template x-if="(item.available_sizes.length == 0 || !item.available_sizes.renderSizes) && isMobile">
            <div class="mobile-sizes h-9"></div>
        </template>

        <template x-if="typeof item.available_sizes.super_attribute != 'undefined' && item.available_sizes.super_attribute[0].options.length && item.available_sizes.is_one_size">
            <input type="hidden" :name="'super_attribute['+item.available_sizes.super_attribute[0].attribute_id+']'" :value="item.available_sizes.super_attribute[0].options[0].value">
        </template>

        <template x-if="showSelect && typeof item.available_sizes.is_one_size != 'undefined' && !item.available_sizes.is_one_size && (!item.launch_date || new Date(item.launch_date) < new Date())">
            <div>
                <div class="overlay absolute z-10 top-0 inset-0 bg-white/75 transition opacity-0 hidden"
                     @click.self="hideOverlayAndSelect($el)"></div>
                <div class="absolute z-10 lg:top-5 right-0 bottom-0 lg:bottom-[unset]"
                     x-init="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                     @resize.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                     @visibilitychange.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                     :style="buttonPos"
                >
                    <select :name="'super_attribute['+item.available_sizes.super_attribute[0].attribute_id+']'"
                            class="form-select hidden opacity-0" @change="addToCartOptionSelected($el)">
                        <option value="">Veuillez sélectionner</option>
                        <template x-for="option in item.available_sizes.super_attribute[0].options">
                            <option :value="option.value" x-text="option.label"></option>
                        </template>
                    </select>
                </div>
            </div>
        </template>

        <template x-if="typeof item.available_sizes.super_attribute != 'undefined' && (!item.launch_date || new Date(item.launch_date) < new Date())">
            <button x-init="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @resize.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @visibilitychange.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    :style="buttonPos"
                    type="submit"
                    class="!absolute bottom-0 lg:bottom-[unset] lg:top-0 right-0 bg-primary rounded-full h-7 lg:h-10 pb-0.5 lg:pb-1 aspect-square flex items-center justify-center text-white"
                    :aria-label="'Ajouter\u0020\u00251\u0020au\u0020panier'.replace('%1', item.name)"
                    @click.prevent="showSelect = true; $nextTick(() => addToCartClick($el, $event))">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-4 w-4 lg:h-6 lg:w-6" width="24" height="24" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z"/>
</svg>
            </button>
        </template>
        <template x-if="!item.available_sizes.super_attribute && (!item.launch_date || new Date(item.launch_date) < new Date())">
            <button x-init="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @resize.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @visibilitychange.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    :style="buttonPos"
                    type="submit"
                    class="!absolute bottom-0 lg:bottom-[unset] lg:top-0 right-0 bg-primary rounded-full h-7 lg:h-10 aspect-square flex items-center justify-center text-white"
                    :aria-label="'Voir\u0020\u00251'.replace('%1', item.name)"
                    @click.prevent="showSpinner($el); window.location.href = item.product_url">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-3.5 w-3.5 lg:h-5 lg:w-5" width="24" height="24" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M14 5l7 7m0 0l-7 7m7-7H3"/>
</svg>
            </button>
        </template>
        <template x-if="item.launch_date && new Date(item.launch_date) > new Date()">
            <button x-init="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @resize.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @visibilitychange.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    :style="buttonPos"
                    type="button"
                    class="!absolute bottom-0 lg:bottom-[unset] lg:top-0 right-0 bg-primary rounded-full h-7 lg:h-10 aspect-square flex items-center justify-center text-white"
                    :aria-label="'\u00251\u0020\u002D\u0020bient\u00F4t\u0020disponible'.replace('%1', item.name)"
                    @click.prevent="showSpinner($el); window.location.href = item.product_url">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-4 w-4 lg:h-6 lg:w-6" width="24" height="24" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/>
</svg>
            </button>
        </template>
        <template x-if="item.in_stock_in_stores && item.in_stock_in_stores.indexOf('web') == -1">
            <button x-init="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @resize.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    @visibilitychange.window="$nextTick( () => { buttonPos = $el.closest('form').querySelector('.mobile-sizes') ? 'bottom: calc(' + $el.closest('form').querySelector('.mobile-sizes').offsetHeight +'px + 0rem)' : '' })"
                    :style="buttonPos"
                    type="button"
                    class="!absolute bottom-0 lg:bottom-[unset] lg:top-0 right-0 bg-gray-400 rounded-full h-7 lg:h-10 pb-0.5 aspect-square flex items-center justify-center text-white"
                    :aria-label="'\u00251\u0020\u002D\u0020disponible\u0020uniquement\u0020en\u0020magasin'.replace('%1', item.name)"
                    @click.prevent="showSpinner($el); window.location.href = item.product_url">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-4 w-4 lg:h-6 lg:w-6" width="24" height="24" aria-hidden="true">
  <path stroke-linecap="round" stroke-linejoin="round" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"/>
</svg>
            </button>
        </template>
    </div>
</form>
            </template>
</div>
                    </div>

            <div class="flex gap-2" x-show="productItems && productItems.length > 4" x-cloak>
            <button class="flex justify-center items-center absolute !left-[unset] !right-10 !top-0 !bg-white !w-9 !h-9 transition rounded-full !opacity-100 disabled:!opacity-30 hover:!opacity-100 transform !translate-y-0 hover:shadow" aria-label="Previous Slide" data-prev="" disabled="">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="!w-auto !h-auto !scale-x-100&#9;!fill-none" width="24" height="24" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M10 19l-7-7m0 0l7-7m-7 7h18"/>
<title>arrow-left</title></svg>
            </button>
            <button class="flex justify-center items-center absolute !top-0 !right-0 !bg-white !w-9 !h-9 transition rounded-full !opacity-100 disabled:!opacity-30 hover:!opacity-100 transform !translate-y-0 hover:shadow-md" aria-label="Next Slide" data-next="">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="!w-auto !h-auto !fill-none" width="24" height="24" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M14 5l7 7m0 0l-7 7m7-7H3"/>
<title>arrow-right</title></svg>
            </button>
        </div>
        <div class="snap-pager" data-pager></div>
    </div>
                </div>
            </div>
        </div></p>
<p> </p>
<h2 class="MsoNormal">Vous n'avez pas trouvé ce que vous cherchiez ?</h2>
<p>Découvrez notre gamme complète de <span class="widget block-category-link inline">
    <a href="https://www.runningxpert.com/fr/accessoires/autres-equipements-de-running/materiel-de-musculation.html" title="Découvrez notre gamme complète d&#039;équipements d&#039;entraînement"><span>équipements d&#039;entraînement</span></a>
</span>
 et <span class="widget block-category-link inline">
    <a href="https://www.runningxpert.com/fr/accessoires/autres-equipements-de-running/recuperation.html" title="Découvrez notre gamme complète de produits pour le massage et la récupération"><span>produits de massage</span></a>
</span>
, qui peuvent vous aider à récupérer et à vous sentir bien après votre course. Vous pouvez également trouver <span class="widget block-category-link inline">
    <a href="https://www.runningxpert.com/fr/accessoires/montres-sport/montres-course-a-pied.html" title="Découvrez notre gamme complète de montres de sport"><span>montres de sport</span></a>
</span>
 pour surveiller votre santé et vos performances lors de vos séances d'entraînement. Si vous avez besoin de nouvelles chaussures de course, nous avons bien sûr aussi une large sélection de modèles pour <span class="widget block-category-link inline">
    <a href="https://www.runningxpert.com/fr/femme/chaussures-running.html" title="Découvrez notre gamme complète de chaussures de course pour femmes"><span>femmes</span></a>
</span>
 et <span class="widget block-category-link inline">
    <a href="https://www.runningxpert.com/fr/homme/chaussures-running.html" title="Découvrez notre gamme complète de chaussures de course pour hommes"><span>hommes</span></a>
</span>
.</p>
<h2 dir="ltr"><span style="font-size: 14px;"> </span></h2>
<p> </p>
                    </div>
    </div>
    

            
        </div>
<div class="post-list-container mpcss blogwidget relative my-6 snap-slider"
     id="mpblog-list-container"
     x-data
     x-snap-slider.auto-pager.group-pager
>
    <div class="widget-title mb-7.5">
        <h3 class="text-3xl lg:text-4xl mt-0 mb-5 uppercase font-black italic font-vitesse">
            Articles populaires        </h3>
    </div>

    <div data-track class="w-[100dvw] [--container-size:calc((100dvw_-_100cqw)_/_2)] mx-[calc((100dvw_-_100%)_*_-0.5)] scroll-px-(--container-size) px-(--container-size) snap-track [--snap-cols:1.5] md:[--snap-cols:2] lg:[--snap-cols:3] xl:[--snap-cols:4]">
                                <div class="post-list-item p-0" data-id="5085">
                <div class="flex flex-col h-full">
                    <a href="https://www.runningxpert.com/fr/inspiration/max-cushion-running-shoes" class="flex overflow-hidden">
                        <div class="post-image w-full aspect-square relative">
                                                                                        <div class="blue-label absolute top-2.5 right-2.5 bg-primary text-white font-black px-2.5 py-1 text-sm uppercase"
                                                                    >
                                    Article                                </div>
                            

                                                                                            <img class="post-img-tag w-full h-full object-cover" src="https://www.runningxpert.com/media/mageplaza/blog/post/resize/400x/l/i/list-max-cushion-2026.jpg" alt="Les 12 chaussures de course les plus amortissantes - Voir la liste ici!" loading="lazy"/>
                                                    </div>
                    </a>
                    <div class="flex-1 flex flex-col pt-5 px-2.5 pb-3">
                        <div class="mp-post-info">
                            Publié dans <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/guides">Guides</a>, <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/lobesko">Chaussures de course</a> par                         </div>
                        <h4 class="mt-2.5 mb-5 text-base">
                            <a class="font-black uppercase !text-primary" title="Les 12 chaussures de course les plus amortissantes - Voir la liste ici!" href="https://www.runningxpert.com/fr/inspiration/max-cushion-running-shoes">
                                Les 12 chaussures de course les plus amortissantes - Voir la liste ici!                            </a>
                        </h4>
                        <div class="actions">
                            <button type="button" class="btn btn-secondary text-sm min-w-48 sm:min-w-56" @click="window.location='https://www.runningxpert.com/fr/inspiration/max-cushion-running-shoes';" title="Lire l'article">Lire l'article                            </button>
                        </div>
                    </div>
                </div>
            </div>
                                <div class="post-list-item p-0" data-id="5220">
                <div class="flex flex-col h-full">
                    <a href="https://www.runningxpert.com/fr/inspiration/the-best-running-shoes-of-the-year" class="flex overflow-hidden">
                        <div class="post-image w-full aspect-square relative">
                                                                                        <div class="blue-label absolute top-2.5 right-2.5 bg-primary text-white font-black px-2.5 py-1 text-sm uppercase"
                                                                    >
                                    Article                                </div>
                            

                                                                                            <img class="post-img-tag w-full h-full object-cover" src="https://www.runningxpert.com/media/mageplaza/blog/post/resize/400x/l/i/list_bedste-lobesko-2026-2x.jpg" alt="Meilleures chaussures de course 2026" loading="lazy"/>
                                                    </div>
                    </a>
                    <div class="flex-1 flex flex-col pt-5 px-2.5 pb-3">
                        <div class="mp-post-info">
                            Publié dans <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/guides">Guides</a>, <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/produkttest">Test de produit</a>, <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/lobesko">Chaussures de course</a> par                         </div>
                        <h4 class="mt-2.5 mb-5 text-base">
                            <a class="font-black uppercase !text-primary" title="Meilleures chaussures de course 2026" href="https://www.runningxpert.com/fr/inspiration/the-best-running-shoes-of-the-year">
                                Meilleures chaussures de course 2026                            </a>
                        </h4>
                        <div class="actions">
                            <button type="button" class="btn btn-secondary text-sm min-w-48 sm:min-w-56" @click="window.location='https://www.runningxpert.com/fr/inspiration/the-best-running-shoes-of-the-year';" title="Lire l'article">Lire l'article                            </button>
                        </div>
                    </div>
                </div>
            </div>
                                <div class="post-list-item p-0" data-id="5029">
                <div class="flex flex-col h-full">
                    <a href="https://www.runningxpert.com/fr/inspiration/best-asics-running-shoes" class="flex overflow-hidden">
                        <div class="post-image w-full aspect-square relative">
                                                                                        <div class="blue-label absolute top-2.5 right-2.5 bg-primary text-white font-black px-2.5 py-1 text-sm uppercase"
                                                                    >
                                    Article                                </div>
                            

                                                                                            <img class="post-img-tag w-full h-full object-cover" src="https://www.runningxpert.com/media/mageplaza/blog/post/resize/400x/b/e/best_of_asics_slider.jpg" alt="Les meilleures chaussures de course ASICS en 2026" loading="lazy"/>
                                                    </div>
                    </a>
                    <div class="flex-1 flex flex-col pt-5 px-2.5 pb-3">
                        <div class="mp-post-info">
                            Publié dans <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/guides">Guides</a>, <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/lobesko">Chaussures de course</a> par                         </div>
                        <h4 class="mt-2.5 mb-5 text-base">
                            <a class="font-black uppercase !text-primary" title="Les meilleures chaussures de course ASICS en 2026" href="https://www.runningxpert.com/fr/inspiration/best-asics-running-shoes">
                                Les meilleures chaussures de course ASICS en 2026                            </a>
                        </h4>
                        <div class="actions">
                            <button type="button" class="btn btn-secondary text-sm min-w-48 sm:min-w-56" @click="window.location='https://www.runningxpert.com/fr/inspiration/best-asics-running-shoes';" title="Lire l'article">Lire l'article                            </button>
                        </div>
                    </div>
                </div>
            </div>
                                <div class="post-list-item p-0" data-id="8162">
                <div class="flex flex-col h-full">
                    <a href="https://www.runningxpert.com/fr/inspiration/best-hoka-running-shoes" class="flex overflow-hidden">
                        <div class="post-image w-full aspect-square relative">
                                                                                        <div class="blue-label absolute top-2.5 right-2.5 bg-primary text-white font-black px-2.5 py-1 text-sm uppercase"
                                                                    >
                                    Article                                </div>
                            

                                                                                            <img class="post-img-tag w-full h-full object-cover" src="https://www.runningxpert.com/media/mageplaza/blog/post/resize/400x/l/i/list_best-hoka-shoes.jpg" alt="Meilleures chaussures de course HOKA 2026 - Voir la liste complète ici" loading="lazy"/>
                                                    </div>
                    </a>
                    <div class="flex-1 flex flex-col pt-5 px-2.5 pb-3">
                        <div class="mp-post-info">
                            Republié dans <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/guides">Guides</a>, <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/produkttest">Test de produit</a>, <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/lobesko">Chaussures de course</a> par                         </div>
                        <h4 class="mt-2.5 mb-5 text-base">
                            <a class="font-black uppercase !text-primary" title="Meilleures chaussures de course HOKA 2026 - Voir la liste complète ici" href="https://www.runningxpert.com/fr/inspiration/best-hoka-running-shoes">
                                Meilleures chaussures de course HOKA 2026 - Voir la liste complète ici                            </a>
                        </h4>
                        <div class="actions">
                            <button type="button" class="btn btn-secondary text-sm min-w-48 sm:min-w-56" @click="window.location='https://www.runningxpert.com/fr/inspiration/best-hoka-running-shoes';" title="Lire l'article">Lire l'article                            </button>
                        </div>
                    </div>
                </div>
            </div>
                                <div class="post-list-item p-0" data-id="5008">
                <div class="flex flex-col h-full">
                    <a href="https://www.runningxpert.com/fr/inspiration/best-adidas-running-shoes" class="flex overflow-hidden">
                        <div class="post-image w-full aspect-square relative">
                                                                                        <div class="blue-label absolute top-2.5 right-2.5 bg-primary text-white font-black px-2.5 py-1 text-sm uppercase"
                                                                    >
                                    Article                                </div>
                            

                                                                                            <img class="post-img-tag w-full h-full object-cover" src="https://www.runningxpert.com/media/mageplaza/blog/post/resize/400x/_/r/_retsbedsteadidas_list.jpg" alt="Les meilleures chaussures de course adidas en 2026 – Voir la liste complète ici" loading="lazy"/>
                                                    </div>
                    </a>
                    <div class="flex-1 flex flex-col pt-5 px-2.5 pb-3">
                        <div class="mp-post-info">
                            Publié dans <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/guides">Guides</a>, <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/lobesko">Chaussures de course</a> par                         </div>
                        <h4 class="mt-2.5 mb-5 text-base">
                            <a class="font-black uppercase !text-primary" title="Les meilleures chaussures de course adidas en 2026 – Voir la liste complète ici" href="https://www.runningxpert.com/fr/inspiration/best-adidas-running-shoes">
                                Les meilleures chaussures de course adidas en 2026 – Voir la liste complète ici                            </a>
                        </h4>
                        <div class="actions">
                            <button type="button" class="btn btn-secondary text-sm min-w-48 sm:min-w-56" @click="window.location='https://www.runningxpert.com/fr/inspiration/best-adidas-running-shoes';" title="Lire l'article">Lire l'article                            </button>
                        </div>
                    </div>
                </div>
            </div>
                                <div class="post-list-item p-0" data-id="5117">
                <div class="flex flex-col h-full">
                    <a href="https://www.runningxpert.com/fr/inspiration/best-stability-shoes" class="flex overflow-hidden">
                        <div class="post-image w-full aspect-square relative">
                                                                                        <div class="blue-label absolute top-2.5 right-2.5 bg-primary text-white font-black px-2.5 py-1 text-sm uppercase"
                                                                    >
                                    Article                                </div>
                            

                                                                                            <img class="post-img-tag w-full h-full object-cover" src="https://www.runningxpert.com/media/mageplaza/blog/post/resize/400x/l/i/list_pronation-2025.jpg" alt="Les meilleures chaussures de pronation en 2026 - jusqu&#039;à présent !" loading="lazy"/>
                                                    </div>
                    </a>
                    <div class="flex-1 flex flex-col pt-5 px-2.5 pb-3">
                        <div class="mp-post-info">
                            Publié dans <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/guides">Guides</a>, <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/lobesko">Chaussures de course</a> par                         </div>
                        <h4 class="mt-2.5 mb-5 text-base">
                            <a class="font-black uppercase !text-primary" title="Les meilleures chaussures de pronation en 2026 - jusqu'à présent !" href="https://www.runningxpert.com/fr/inspiration/best-stability-shoes">
                                Les meilleures chaussures de pronation en 2026 - jusqu'à présent !                            </a>
                        </h4>
                        <div class="actions">
                            <button type="button" class="btn btn-secondary text-sm min-w-48 sm:min-w-56" @click="window.location='https://www.runningxpert.com/fr/inspiration/best-stability-shoes';" title="Lire l'article">Lire l'article                            </button>
                        </div>
                    </div>
                </div>
            </div>
                                <div class="post-list-item p-0" data-id="6398">
                <div class="flex flex-col h-full">
                    <a href="https://www.runningxpert.com/fr/inspiration/garmin-forerunner-series" class="flex overflow-hidden">
                        <div class="post-image w-full aspect-square relative">
                                                                                        <div class="blue-label absolute top-2.5 right-2.5 bg-primary text-white font-black px-2.5 py-1 text-sm uppercase"
                                                                    >
                                    Article                                </div>
                            

                                                                                            <img class="post-img-tag w-full h-full object-cover" src="https://www.runningxpert.com/media/mageplaza/blog/post/resize/400x/f/o/forerunnerthumb_1.jpg" alt="Les meilleurs montres de course Garmin Forerunner en 2026" loading="lazy"/>
                                                    </div>
                    </a>
                    <div class="flex-1 flex flex-col pt-5 px-2.5 pb-3">
                        <div class="mp-post-info">
                            Publié dans <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/ure">Montres</a>, <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/garmin"></a>, <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/garmin-tilbud"></a> par                         </div>
                        <h4 class="mt-2.5 mb-5 text-base">
                            <a class="font-black uppercase !text-primary" title="Les meilleurs montres de course Garmin Forerunner en 2026" href="https://www.runningxpert.com/fr/inspiration/garmin-forerunner-series">
                                Les meilleurs montres de course Garmin Forerunner en 2026                            </a>
                        </h4>
                        <div class="actions">
                            <button type="button" class="btn btn-secondary text-sm min-w-48 sm:min-w-56" @click="window.location='https://www.runningxpert.com/fr/inspiration/garmin-forerunner-series';" title="Lire l'article">Lire l'article                            </button>
                        </div>
                    </div>
                </div>
            </div>
                                <div class="post-list-item p-0" data-id="4521">
                <div class="flex flex-col h-full">
                    <a href="https://www.runningxpert.com/fr/inspiration/running-programmes-for-5k" class="flex overflow-hidden">
                        <div class="post-image w-full aspect-square relative">
                                                                                        <div class="blue-label absolute top-2.5 right-2.5 bg-primary text-white font-black px-2.5 py-1 text-sm uppercase"
                                                                    >
                                    Article                                </div>
                            

                                                                                            <img class="post-img-tag w-full h-full object-cover" src="https://www.runningxpert.com/media/mageplaza/blog/post/resize/400x/r/u/running-programs-5k-list-1_11.jpg" alt="Trouvez votre programme de course 5 km — adapté à votre niveau" loading="lazy"/>
                                                    </div>
                    </a>
                    <div class="flex-1 flex flex-col pt-5 px-2.5 pb-3">
                        <div class="mp-post-info">
                            Republié dans <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/lobetraening">Entraînement de course / Rapports de course</a> par                         </div>
                        <h4 class="mt-2.5 mb-5 text-base">
                            <a class="font-black uppercase !text-primary" title="Trouvez votre programme de course 5 km — adapté à votre niveau" href="https://www.runningxpert.com/fr/inspiration/running-programmes-for-5k">
                                Trouvez votre programme de course 5 km — adapté à votre niveau                            </a>
                        </h4>
                        <div class="actions">
                            <button type="button" class="btn btn-secondary text-sm min-w-48 sm:min-w-56" @click="window.location='https://www.runningxpert.com/fr/inspiration/running-programmes-for-5k';" title="Lire l'article">Lire l'article                            </button>
                        </div>
                    </div>
                </div>
            </div>
                                <div class="post-list-item p-0" data-id="7996">
                <div class="flex flex-col h-full">
                    <a href="https://www.runningxpert.com/fr/inspiration/guide-best-trailshoes-from-nike" class="flex overflow-hidden">
                        <div class="post-image w-full aspect-square relative">
                                                                                        <div class="blue-label absolute top-2.5 right-2.5 bg-primary text-white font-black px-2.5 py-1 text-sm uppercase"
                                                                    >
                                    Conseils vidéo                                </div>
                            

                                                                                            <img class="post-img-tag w-full h-full object-cover" src="https://www.runningxpert.com/media/mageplaza/blog/post/resize/400x/l/i/list_nike-trail-2026.jpg" alt="Guide : Les meilleures chaussures de trail Nike en 2026" loading="lazy"/>
                                                    </div>
                    </a>
                    <div class="flex-1 flex flex-col pt-5 px-2.5 pb-3">
                        <div class="mp-post-info">
                            Publié dans <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/guides">Guides</a>, <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/lobesko">Chaussures de course</a> par                         </div>
                        <h4 class="mt-2.5 mb-5 text-base">
                            <a class="font-black uppercase !text-primary" title="Guide : Les meilleures chaussures de trail Nike en 2026" href="https://www.runningxpert.com/fr/inspiration/guide-best-trailshoes-from-nike">
                                Guide : Les meilleures chaussures de trail Nike en 2026                            </a>
                        </h4>
                        <div class="actions">
                            <button type="button" class="btn btn-secondary text-sm min-w-48 sm:min-w-56" @click="window.location='https://www.runningxpert.com/fr/inspiration/guide-best-trailshoes-from-nike';" title="Lire l'article">Lire l'article                            </button>
                        </div>
                    </div>
                </div>
            </div>
                                <div class="post-list-item p-0" data-id="6592">
                <div class="flex flex-col h-full">
                    <a href="https://www.runningxpert.com/fr/inspiration/maurten-fuel-guide" class="flex overflow-hidden">
                        <div class="post-image w-full aspect-square relative">
                                                                                        <div class="blue-label absolute top-2.5 right-2.5 bg-primary text-white font-black px-2.5 py-1 text-sm uppercase"
                                                                    >
                                    Article                                </div>
                            

                                                                                            <img class="post-img-tag w-full h-full object-cover" src="https://www.runningxpert.com/media/mageplaza/blog/post/resize/400x/m/a/maurten_thumb.jpg" alt="Comment utiliser Maurten: Guide énergétique" loading="lazy"/>
                                                    </div>
                    </a>
                    <div class="flex-1 flex flex-col pt-5 px-2.5 pb-3">
                        <div class="mp-post-info">
                            Publié dans <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/guides">Guides</a>, <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/lobetraening">Entraînement de course / Rapports de course</a>, <a class="mp-info" href="https://www.runningxpert.com/fr/inspiration/category/inspiration">Inspiration</a> par                         </div>
                        <h4 class="mt-2.5 mb-5 text-base">
                            <a class="font-black uppercase !text-primary" title="Comment utiliser Maurten: Guide énergétique" href="https://www.runningxpert.com/fr/inspiration/maurten-fuel-guide">
                                Comment utiliser Maurten: Guide énergétique                            </a>
                        </h4>
                        <div class="actions">
                            <button type="button" class="btn btn-secondary text-sm min-w-48 sm:min-w-56" @click="window.location='https://www.runningxpert.com/fr/inspiration/maurten-fuel-guide';" title="Lire l'article">Lire l'article                            </button>
                        </div>
                    </div>
                </div>
            </div>
            </div>
    <div class="flex gap-2">
        <button class="flex justify-center items-center absolute !left-[unset] !right-10 !top-0 !bg-white !w-9 !h-9 transition rounded-full !opacity-100 disabled:!opacity-30 hover:!opacity-100 transform !translate-y-0 hover:shadow" aria-label="Previous Slide" data-prev="" disabled="">
            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="!w-auto !h-auto !scale-x-100&#9;!fill-none" width="24" height="24" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M10 19l-7-7m0 0l7-7m-7 7h18"/>
<title>arrow-left</title></svg>
        </button>
        <button class="flex justify-center items-center absolute !top-0 !right-0 !bg-white !w-9 !h-9 transition rounded-full !opacity-100 disabled:!opacity-30 hover:!opacity-100 transform !translate-y-0 hover:shadow-md" aria-label="Next Slide" data-next="">
            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="!w-auto !h-auto !fill-none" width="24" height="24" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M14 5l7 7m0 0l-7 7m7-7H3"/>
<title>arrow-right</title></svg>
        </button>
    </div>
    <div data-pager class="snap-pager"></div>
</div>
<script>
    var tag = document.createElement('script');
    tag.src = "https://www.youtube.com/iframe_api";
    var firstScriptTag = document.getElementsByTagName('script')[0];
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

    var iframeIds = [];
    var players = new Array();

    document.addEventListener('DOMContentLoaded', function() {
        'use strict';

        // Collect video ids and iframe ids
        document.querySelectorAll('.yt-video').forEach(function(ytVideo) {
            iframeIds.push({
                'id': ytVideo.getAttribute('id'),
                'videoId': ytVideo.getAttribute('data-video-id')
            });
        });

        // Play video on click of .yt-play
        document.querySelectorAll('.yt-play').forEach(function(playButton) {
            playButton.addEventListener('click', function() {
                let videoId = this.getAttribute('data-id');

                players.forEach(function(player) {
                    player.stopVideo(); // Assuming stopVideo is a method on player
                });

                setTimeout(function() {
                    players['player-top-' + videoId].playVideo();
                }, 500);

                document.querySelector('iframe[data-video-id="' + videoId + '"]').style.zIndex = 50;
                document.querySelector('#player-top-' + videoId).closest('.video-wrap').classList.add('video-active');
            });
        });

        // Pause video on click of .yt-pause
        document.querySelectorAll('.yt-pause').forEach(function(pauseButton) {
            pauseButton.addEventListener('click', function() {
                let videoId = this.getAttribute('data-id');

                players.forEach(function(player) {
                    player.stopVideo();
                });

                players['player-top-' + videoId].stopVideo();
                document.querySelectorAll('.video-wrap').forEach(function(videoWrap) {
                    videoWrap.classList.remove('video-active');
                });
            });
        });

        // Add class to .yt-play after 2 seconds
        setTimeout(function() {
            document.querySelectorAll('.yt-play').forEach(function(playButton) {
                playButton.classList.add('video-init');
            });
        }, 2000);
    });

    function onYouTubeIframeAPIReady() {
        setTimeout(function() {
            if (typeof iframeIds === 'undefined') return;
            for (var i = 0; i < iframeIds.length; i++) {
                var curplayer = createPlayer(iframeIds[i]);
                players[iframeIds[i]['id']] = curplayer;
            }
        },2000);
    }

    function createPlayer(playerInfo) {
        return new YT.Player(playerInfo.id, {
            videoId: playerInfo.videoId,
            playerVars: {
                showinfo: 0,
            }
        });
    }
</script>
<style>
    .post--video.video-active iframe {
        opacity: 1;
        pointer-events: all !important;
    }
</style>
</div></div></main><footer class="page-footer"><div class="footer content"><div class="page-footer--top"><div class="page-footer--newsletter border-t border-container py-10">
    <div class="page-footer--newsletter-inner">
        <div class="page-footer--newsletter-block flex-1">
            <style>#html-body [data-pb-style=JTJXW1Y]{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-element="inner" data-pb-style="JTJXW1Y"><div data-content-type="text" data-appearance="default" data-element="main"><h2>Laissez nos experts en course à pied vous tenir informé</h2>
<h4>Nous nous assurons de vous tenir au courant de toutes nos nouvelles et offres. Vous bénéficiez également d'une sélection unique de notre univers d'inspiration, où nous collectons des guides de course et des tests de produits.</h4>
<p style="line-height: 12px;"><span style="font-size: 10px;">Abonnement&nbsp;gratuit&nbsp;et&nbsp;sans engagement. Vous&nbsp;recevrez&nbsp;des&nbsp;emails&nbsp;contenant&nbsp;des promotions relatives à nos&nbsp;produits&nbsp;ainsi&nbsp;que&nbsp;des informations relatives à&nbsp;notre&nbsp;gamme.&nbsp;&nbsp;</span><br><span style="font-size: 10px;">Vous&nbsp;pouvez&nbsp;également&nbsp;recevoir&nbsp;des informations&nbsp;realtives&nbsp;aux&nbsp;coinditions&nbsp;de vente et à&nbsp;notre&nbsp;service&nbsp;client.&nbsp;Vous&nbsp;pouvez&nbsp;vous&nbsp;désabonner&nbsp;en&nbsp;cliquer&nbsp;sur le lien&nbsp;présent&nbsp;au bas de&nbsp;la&nbsp;Newsletter.</span></p></div></div></div>        </div>
        <div class="page-footer--newsletter-block flex-1">
            <form class="form page-footer--newsletter-form"
                  action="https://www.runningxpert.com/fr/newsletter/subscriber/new/"
                  method="post"
                  id="newsletter-validate-detail">
                <input type="hidden" name="form_key" :value="hyva.getFormKey()">
                <div class="page-footer--newsletter-form-field">
                    <div class="control w-full">
                        <input name="name" type="text" id="name" required
                               placeholder="Votre prénom*"
                        />
                        <label for="name" class="text-xs">Veuillez saisir votre prénom</label>
                    </div>
                    <div class="control w-full">
                        <input name="email" type="email" id="email" required
                               placeholder="Votre e-mail*"
                        />
                        <label for="email" class="text-xs">Veuillez saisir votre adresse e-mail</label>
                    </div>
                </div>
                <div class="page-footer--newsletter-form-actions">
                    <button class="btn max-lg:min-w-0 btn-primary subscribe py-1.5"
                            title="Inscription"
                            type="submit"
                            aria-label="Subscribe">
                        <span>Inscription</span>
                    </button>
                </div>
            </form>
        </div>
    </div>
</div>
</div>
<div class="body-font bg-container-lighter border-t border-container shadow">
    <div class="container py-8 mx-auto">
        <div class="page-footer--bottom flex flex-col lg:flex-row">
                            
                                                        <div class="page-footer--address"><style>#html-body [data-pb-style=SLB5STQ]{display:none}#html-body [data-pb-style=ENUBD21]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=M9M01OR]{padding-bottom:20px;border-style:none}#html-body [data-pb-style=QUQBJM6],#html-body [data-pb-style=WWK23EC]{max-width:100%;height:auto}@media only screen and (max-width: 768px) { #html-body [data-pb-style=M9M01OR]{border-style:none} }</style><div data-content-type="html" data-appearance="default" data-element="main" data-pb-style="SLB5STQ" data-decoded="true"><svg xmlns="http://www.w3.org/2000/svg" width="179" height="24.327" viewBox="0 0 179 24.327">
</style>
<g>
	<polygon class="st0" points="36.2,15.9 37.7,15.9 39,8.4 37.5,8.4 	"/>
	<path class="st0" d="M64.6,10.6l4.5-4.5H67l-3.1,3.1c-0.2,0.2-0.6,0.2-0.8-0.1l-2-3.1h-2.2l2.9,4.4c0.1,0.2,0.1,0.5-0.1,0.6
		L57,15.9h2l3.4-3.4c0.2-0.2,0.6-0.2,0.8,0.1l2.1,3.3h2.1l-3-4.6C64.4,11.1,64.4,10.8,64.6,10.6z"/>
	<polygon class="st0" points="99.8,15.9 101.3,15.9 101.5,14.4 100,14.4 	"/>
	<path class="st0" d="M77.9,10.2l-0.1,0.6c-0.1,0.4,0,0.9,0.2,1.2c-0.3,0.3-0.6,0.8-0.6,1.2l-0.1,0.6c-0.1,0.5,0,1,0.4,1.4
		c0.3,0.4,0.8,0.6,1.3,0.6H84l0.3-1.5h-5.2c-0.1,0-0.2,0-0.3-0.1c-0.1-0.1-0.1-0.2-0.1-0.3l0.1-0.6c0.1-0.3,0.3-0.5,0.6-0.5h5.1
		l0.3-1.5h-5.2c-0.1,0-0.2,0-0.3-0.1c-0.1-0.1-0.1-0.2-0.1-0.3l0.1-0.6c0.1-0.3,0.3-0.5,0.6-0.5h5.1l0.3-1.5h-5.2
		C79.1,8.3,78.1,9.1,77.9,10.2z"/>
	<path class="st0" d="M118.6,8.3h-3.7c-1.1,0-2.1,0.9-2.3,1.9l-0.6,3.7c-0.1,0.5,0,1,0.4,1.4c0.3,0.4,0.8,0.6,1.3,0.6h3.7
		c1.1,0,2.1-0.9,2.3-1.9l0.6-3.7c0.1-0.5,0-1-0.3-1.4C119.5,8.5,119.1,8.3,118.6,8.3z M118.1,13.9c-0.1,0.3-0.3,0.5-0.6,0.5h-3.7
		c-0.1,0-0.2,0-0.3-0.1c-0.1-0.1-0.1-0.2-0.1-0.3l0.7-3.7c0.1-0.3,0.3-0.5,0.6-0.5h3.7c0.1,0,0.2,0,0.3,0.1c0.1,0.1,0.1,0.2,0.1,0.3
		L118.1,13.9z"/>
	<path class="st0" d="M75.3,8.3h-3.7c-1.1,0-2.1,0.9-2.3,1.9l-1,5.7h1.5l0.4-2.5c0.1-0.3,0.3-0.5,0.6-0.5h3.7c1.1,0,2.1-0.9,2.3-1.9
		l0.1-0.6c0.1-0.5,0-1-0.3-1.4C76.3,8.5,75.8,8.3,75.3,8.3z M75.4,10.8c-0.1,0.3-0.3,0.5-0.6,0.5h-3.7c-0.1,0-0.3,0-0.5,0.1l0.2-1.1
		c0.1-0.3,0.3-0.5,0.6-0.5h3.7c0.1,0,0.2,0,0.3,0.1c0.1,0.1,0.1,0.2,0.1,0.3L75.4,10.8z"/>
	<path class="st0" d="M92,8.3h-3.5c-1,0-2,0.9-2.1,1.9l-0.9,5.7h1.4l0.4-2.5c0-0.3,0.3-0.5,0.6-0.5h3.2c0.5,0,0.4,0.4,0.4,0.4
		L91,15.9h1.4l0.4-2.1c0,0,0.2-0.7-0.3-1.1c-0.1,0-0.1-0.1-0.2-0.1c0.6-0.3,1.1-1,1.2-1.7l0.1-0.6c0.1-0.5,0-1-0.3-1.4
		C93,8.5,92.5,8.3,92,8.3z M92.1,10.8c0,0.3-0.3,0.5-0.6,0.5h-3.5c-0.1,0-0.3,0-0.4,0.1l0.2-1.1c0-0.3,0.3-0.5,0.6-0.5h3.5
		c0.1,0,0.2,0,0.3,0.1c0.1,0.1,0.1,0.2,0.1,0.3L92.1,10.8z"/>
	<path class="st0" d="M6.5,8.3H3.1c-1,0-2,0.9-2.1,1.9L0,15.9h1.4l0.4-2.5c0-0.3,0.3-0.5,0.6-0.5h3.2c0.5,0,0.4,0.4,0.4,0.4
		l-0.5,2.7h1.4l0.4-2.1c0,0,0.2-0.7-0.3-1.1c-0.1,0-0.1-0.1-0.2-0.1c0.6-0.3,1.1-1,1.2-1.7l0.1-0.6c0.1-0.5,0-1-0.3-1.4
		C7.5,8.5,7,8.3,6.5,8.3z M6.6,10.8c0,0.3-0.3,0.5-0.6,0.5H2.6c-0.1,0-0.3,0-0.4,0.1l0.2-1.1c0-0.3,0.3-0.5,0.6-0.5h3.5
		c0.1,0,0.2,0,0.3,0.1c0.1,0.1,0.1,0.2,0.1,0.3L6.6,10.8z"/>
	<path class="st0" d="M15.8,8.4l-1,5.5c-0.1,0.3-0.3,0.5-0.6,0.5h-3.7c-0.1,0-0.2,0-0.3-0.1c-0.1-0.1-0.1-0.2-0.1-0.3l1-5.6H9.6
		l-1,5.5c-0.1,0.5,0,1,0.4,1.4c0.3,0.4,0.8,0.6,1.3,0.6H14c1.1,0,2.1-0.9,2.3-1.9l1-5.6H15.8z"/>
	<path class="st0" d="M24.5,8.3h-3.9c-1.1,0-2.2,0.9-2.4,2l-0.9,5.3l-0.1,0.3h1.5l1-5.5c0.1-0.3,0.4-0.6,0.7-0.6h3.9
		c0.1,0,0.2,0,0.3,0.1c0.1,0.1,0.1,0.2,0.1,0.4l-0.9,5.3l-0.1,0.3h1.5l1-5.5c0.1-0.6,0-1.1-0.4-1.5C25.5,8.5,25,8.3,24.5,8.3z"/>
	<path class="st0" d="M33.9,8.3H30c-1.1,0-2.2,0.9-2.4,2l-0.9,5.3l-0.1,0.3h1.5l1-5.5c0.1-0.3,0.4-0.6,0.7-0.6h3.9
		c0.1,0,0.2,0,0.3,0.1c0.1,0.1,0.1,0.2,0.1,0.4l-0.9,5.3l-0.1,0.3h1.5l1-5.5c0.1-0.6,0-1.1-0.4-1.5C34.9,8.5,34.5,8.3,33.9,8.3z"/>
	<path class="st0" d="M46.6,8.3h-3.9c-1.1,0-2.2,0.9-2.4,2l-0.9,5.3l-0.1,0.3h1.5l1-5.5c0.1-0.3,0.4-0.6,0.7-0.6h3.9
		c0.1,0,0.2,0,0.3,0.1c0.1,0.1,0.1,0.2,0.1,0.4l-0.9,5.3l-0.1,0.3h1.5l1-5.5c0.1-0.6,0-1.1-0.4-1.5C47.6,8.5,47.1,8.3,46.6,8.3z"/>
	<path class="st0" d="M54.1,11.3l-0.3,1.5h1.5l-0.2,1.1c-0.1,0.3-0.3,0.5-0.6,0.5h-3.7c-0.1,0-0.2,0-0.3-0.1
		c-0.1-0.1-0.1-0.2-0.1-0.3l0.6-3.7c0.1-0.3,0.3-0.5,0.6-0.5h5.6l0.3-1.5H52c-1.1,0-2.1,0.9-2.3,1.9l-0.6,3.7c-0.1,0.5,0,1,0.4,1.4
		c0.3,0.4,0.8,0.6,1.3,0.6h3.7c1.1,0,2.1-0.9,2.3-1.9l0.5-2.6H54.1z"/>
	<path class="st0" d="M109.8,8.3h-3.7c-1.1,0-2.1,0.9-2.3,1.9l-0.6,3.7c-0.1,0.5,0,1,0.4,1.4c0.3,0.4,0.8,0.6,1.3,0.6h3.7
		c1.1,0,2.1-0.9,2.3-1.9l0.1-0.7h-1.5l-0.1,0.6c-0.1,0.3-0.3,0.5-0.6,0.5H105c-0.1,0-0.2,0-0.3-0.1c-0.1-0.1-0.1-0.2-0.1-0.3
		l0.7-3.7c0.1-0.3,0.3-0.5,0.6-0.5h3.7c0.1,0,0.2,0,0.3,0.1c0.1,0.1,0.1,0.2,0.1,0.3l-0.1,0.6h1.5l0.1-0.5c0.1-0.5,0-1-0.3-1.4
		C110.8,8.5,110.3,8.3,109.8,8.3z"/>
	<path class="st0" d="M94.4,9.8h3l-1.2,6.1h1.6l1.1-5.1l0.1-0.4c0.1-0.3,0.3-0.5,0.6-0.5h2.5l0.3-1.6h-7.5L94.4,9.8z"/>
	<path class="st0" d="M131.8,8.3h-2.7c-0.5,0-1,0.2-1.4,0.5c-0.3-0.3-0.8-0.5-1.2-0.5h-2.7c-1.1,0-2.2,0.9-2.4,2l-0.9,5.3l-0.1,0.3
		h1.5l1-5.5c0.1-0.3,0.4-0.6,0.7-0.6h2.7c0.1,0,0.2,0,0.3,0.1c0.1,0.1,0.1,0.2,0.1,0.4l-0.9,5.3l-0.1,0.3h0h1.5h0l1-5.5
		c0.1-0.3,0.4-0.6,0.7-0.6h2.7c0.1,0,0.2,0,0.3,0.1c0.1,0.1,0.1,0.2,0.1,0.4l-0.9,5.3l-0.1,0.3h1.5l1-5.5c0.1-0.6,0-1.1-0.4-1.5
		C132.9,8.5,132.4,8.3,131.8,8.3z"/>
	<path class="st0" d="M149.8,11.8c-0.9-0.6-3-1.8-5.9-3.3l0,0c-2.9-1.6-6.7-3.4-10.8-5.1c0,0,6.1,7.4,6.8,8.3l3.2-2.2l-4.2,4.7
		l-3,3.4c2.8-0.7,5.1-1.5,7-2.1v0c0,0,0,0,0.1,0c3.7-1.3,5.8-2.4,6.7-2.9C150.2,12.2,150.2,12,149.8,11.8z"/>
</g>
</svg>
<br><br>
<p>Gammel Sellingvej 1<br>8370 Hadsten<br>Danemark</p>
<p>CVR: 32 27 75 94</p>
<p>Bank: Nykredit Bank<br>Konto: 5471-0001586728</p>
<p>IBAN: DK5654710009501950<br>SWIFT/BIC: NYKBDKKK</p>
<img src="https://www.runningxpert.com/media/wysiwyg/Payment_Icons/visa.png" alt="" /> <img src="https://www.runningxpert.com/media/wysiwyg/Payment_Icons/mastercard.png" alt="" /> <img src="https://www.runningxpert.com/media/wysiwyg/Payment_Icons/maestro.png" alt="" /> <img src="https://www.runningxpert.com/media/wysiwyg/Payment_Icons/paypal.png" alt="" />
</div><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-element="inner" data-pb-style="ENUBD21"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="M9M01OR"><img class="pagebuilder-mobile-hidden" src="https://www.runningxpert.com/media/wysiwyg/runningxpert_logo20_6.png" alt="" title="" data-element="desktop_image" data-pb-style="QUQBJM6"><img class="pagebuilder-mobile-only" src="https://www.runningxpert.com/media/wysiwyg/runningxpert_logo20_6.png" alt="" title="" data-element="mobile_image" data-pb-style="WWK23EC"></figure><div data-content-type="text" data-appearance="default" data-element="main"><ul>
<li>Depuis 2005</li>
<li>Livraison rapide et fiable</li>
<li>Large gamme de grandes marques</li>
<li>Service personnalis&eacute; et conseils d'experts</li>
<li>Achat en ligne s&ucirc;r et facile</li>
<li>Conditions de retour et d'&eacute;change flexibles</li>
</ul></div></div></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><img src="https://www.runningxpert.com/media/wysiwyg/Payment_Icons/visa.png" alt="" /> <img src="https://www.runningxpert.com/media/wysiwyg/Payment_Icons/mastercard.png" alt="" /> <img src="https://www.runningxpert.com/media/wysiwyg/Payment_Icons/maestro.png" alt="" /> <img src="https://www.runningxpert.com/media/wysiwyg/Payment_Icons/paypal.png" alt="" /></div></div>                            <div class="page-footer--links-contact"><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><p><strong>Service client</strong><br>
<p style="color: #28c440; font-family: 'Nexa'; font-weight: bold;">Le téléphone est ouvert<br</p>
<p>Lundi au vendredi : 9h30 à 16h00<br> 
<p>0805 112 546<br>serviceclient@runningxpert.com<br><br>
</p>Fermé du jeudi 2 avril au lundi 6 avril inclus en raison des jours fériés.<br></p>
<!-- TrustBox widget - Mini -->
<div class="trustpilot-widget" data-locale="fr-FR" data-template-id="53aa8807dec7e10d38f59f32" data-businessunit-id="5d53d5af7341e9000183ef7a" data-style-height="150px" data-style-width="50%" data-theme="light">
  <a href="https://fr.trustpilot.com/review/runningxpert.com" target="_blank" rel="noopener">Trustpilot</a>
</div>
<!-- End TrustBox widget --></div></div>                            <div class="page-footer--logos-certifications"><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><p><strong>Support</strong><br>
<p><a href="/fr/shipping-terms">Livraison</a></p>
<p><a href="/fr/returns">Retourner des articles</a></p>
<p><a href="/fr/customercenter">Questions fréquemment posées</a></p>
<p><a href="/fr/contact">Contact</a></p>
<p><a href="/fr/catalog/product/view/id/138305/s/gift-card/"> Carte-cadeau</a></p>
<p><a href="http://manage.kmail-lists.com/subscriptions/unsubscribe?cy=VELGbb" target="_blank" rel="noopener">Se désinscrire de la newsletter</a></li></div></div>                            <div class="page-footer--logos-payments"><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><p><strong>RunningXpert.com</strong><br>
<p><a href="/fr/about">À propos de nous</a></p>
<p><a href="/fr/privacy-policy">Politique de confidentialité</a></p>
<p><a href="/fr/terms">Termes et conditions</a></p>
<p><a href="/fr/and-the-winner-is">Concurrences</a></p>
<br/></div></div>                                                                                                                                                                </div>
    </div>
    <div class="page-footer--last border-t border-container">
        <div class="page-footer--last-inner container py-5 mx-auto flex justify-center lg:justify-between text-xs">
            <div class="footer-social--icons hidden lg:block">
                <style>#html-body [data-pb-style=UHQV25S]{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-element="inner" data-pb-style="UHQV25S"><div data-content-type="text" data-appearance="default" data-element="main"><ul>
<li><a tabindex="0" href="https://www.facebook.com/runningxpert" target="_blank" rel="noopener"><img id="HO5JABN" src="https://www.loebeshop.dk/media/Social_icons/FB.png" alt=""></a></li>
<li><a tabindex="0" href="https://www.instagram.com/runningxpert" target="_blank" rel="noopener"><img src="https://www.loebeshop.dk/media/Social_icons/IG.png" alt=""></a></li>
<li><a tabindex="0" href="https://www.youtube.com/runningxpert" target="_blank" rel="noopener"><img src="https://www.loebeshop.dk/media/Social_icons/YT.png" alt=""></a></li>
</ul></div></div></div>            </div>
            <div class="page-footer--last-terms hidden lg:block">
                <style>#html-body [data-pb-style=JFMD54C]{margin-bottom:25px;padding-bottom:25px}</style><div data-content-type="html" data-appearance="default" data-element="main" data-pb-style="JFMD54C" data-decoded="true"><ul>
<li><a href="http://manage.kmail-lists.com/subscriptions/unsubscribe?cy=VELGbb" target="_blank" rel="noopener">Se désinscrire de la newsletter</a></li>
<li><a href="/fr/inspiration/">Inspiration</a></li>
<li><a href="/fr/collections/nouveautes.html">Nouveautés</a></li>

</ul></div>            </div>
            <div class="page-footer--last-language flex justify-center lg:block">
                        <!-- Languages Switch -->

    <div class="header--topbar-links-lang-selector relative flex items-center z-10" x-data="storeSwitcher" @keydown.escape="closeAndFocus" @click.outside="close">
                <button type="button" x-ref="trigger" class="switcher-language-trigger action toggle switcher-trigger" data-storelanguage="fr" @click="toggle" aria-haspopup="true" :aria-expanded="open">
            <span class="active-language !flex items-center pr-2 pl-5 mb-0 pb-0 text-sm font-light">
                <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px]" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/fr.svg');"></span>
                <span class="lang font-semibold">Français&nbsp;(FR)</span>
            </span>
        </button>
        <ul x-cloak class="absolute float-left flex-col items-start top-5 h-auto overflow-visible bg-container -left-2.5 w-[calc(100%_+_80px)] mb-0" :class="{ 'hidden' : !open }">
                                                                                                                <li class="view-dk switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="dk">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;dk&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/dk.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Dansk&nbsp;(DK)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-no switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="no">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;no&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/no.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Norsk Bokmål&nbsp;(NO)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-se switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="se">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;se&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/se.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Svenska&nbsp;(SE)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-gb switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="gb">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;gb&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/gb.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    English&nbsp;(GB)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-ie switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="ie">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;ie&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/ie.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    English&nbsp;(IE)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-nl switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="nl">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;nl&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/nl.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Nederlands&nbsp;(NL)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-de switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="de">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;de&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/de.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Deutsch&nbsp;(DE)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-at switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="at">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;at&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/at.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Deutsch&nbsp;(AT)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-it switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="it">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;it&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/it.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Italiano&nbsp;(IT)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-pl switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="pl">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;pl&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/pl.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Polski&nbsp;(PL)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-fi switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="fi">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;fi&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/fi.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Suomi&nbsp;(FI)                                 </span>
                            </a>
                        </li>
                                                                                                                                                                                                                                    <li class="view-es switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="es">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;es&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/es.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Español&nbsp;(ES)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-ch switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="ch">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;ch&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/ch.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Deutsch&nbsp;(CH)                                 </span>
                            </a>
                        </li>
                                                                                                                                                    <li class="view-pt switcher-option pt-2.5 pb-5 pb-0 last:pb-[30px] pr-2 pl-5 h-[30px] mb-0" data-storelanguage="pt">
                            <a class="flex items-center text-xs hover:underline" href="#" @click.prevent="handleClick($event)" data-post='{&quot;action&quot;:&quot;https:\/\/www.runningxpert.com\/fr\/stores\/store\/redirect\/&quot;,&quot;data&quot;:{&quot;___store&quot;:&quot;pt&quot;,&quot;___from_store&quot;:&quot;fr&quot;}}'>
                                 <span class="flag w-[15px] h-[15px] inline-block bg-center bg-[length:15px_auto] bg-no-repeat mr-[5px] pointer-events-none" style="background-image: url('https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/fr_FR/icons/flags/pt.svg')"></span>
                                 <span class="lang font-semibold pointer-events-none">
                                    Português&nbsp;(PT)                                 </span>
                            </a>
                        </li>
                                                                                                                                                                                                                                                            </ul>
        <svg xmlns="http://www.w3.org/2000/svg" width="5.901" height="3.105" viewBox="0 0 5.901 3.105">
            <path id="Path_10" data-name="Path 10" d="M0-7.268a.17.17,0,0,1,.011-.059.122.122,0,0,1,.035-.05.149.149,0,0,1,.109-.045.149.149,0,0,1,.109.045L2.951-4.694,5.634-7.377a.151.151,0,0,1,.111-.045.151.151,0,0,1,.111.045.149.149,0,0,1,.045.109.149.149,0,0,1-.045.109l-2.8,2.8a.149.149,0,0,1-.109.045.149.149,0,0,1-.109-.045l-2.8-2.8a.122.122,0,0,1-.035-.05A.17.17,0,0,1,0-7.268Z" transform="translate(0 7.423)" opacity="0.998"/>
        </svg>
    </div>

<script>
    function storeSwitcher() {
        return {
            open: false,
            toggle() {
                this.open = !this.open
            },
            close() {
                this.open = false
            },
            closeAndFocus() {
                this.open = false
                this.$refs.trigger?.focus()
            },
            handleClick(event) {
                const dataPost = JSON.parse(event.currentTarget.dataset.post);

                const formTemplate = (data) => `
                    <form action="${data.action}" method="post">
                        ${Object.entries(data.data).map(([index, value]) => `
                            <input name="${index}" value="${value}">
                        `).join('')}
                    </form>`;

                const formKeyInputSelector = 'input[name="form_key"]';
                const formKeyElement = document.querySelector(formKeyInputSelector);
                const formKey = formKeyElement ? formKeyElement.value : null;

                if (formKey) {
                    dataPost.data['form_key'] = formKey;
                }
                let alternateLink = document.querySelector('link[rel="alternate"][hreflang*="-'+dataPost.data.___store+'"]');
                if(alternateLink) {
                    dataPost.data['uenc'] = btoa(alternateLink.href)
                        .replace(/\+/g, '-')
                        .replace(/\//g, '_')
                        .replace(/=/g, ',');
                }

                const formHtml = formTemplate(dataPost);
                const tempDiv = document.createElement('div');
                tempDiv.innerHTML = formHtml.trim();
                const form = tempDiv.firstChild;

                document.body.appendChild(form).submit();

                if (window.location.href.indexOf("utm_campaign=some") !== -1 && event.target.closest('#some-modal-content')) {
                    localStorage.setItem('runningxpert-language-redirect', event.target.parentElement.dataset.storelanguage);
                }
            }
        }
    }
</script>

            </div>
        </div>
    </div>
</div>

<script>
</script>
</div></footer><script>
    if(typeof hyva != 'undefined') {
        let wp = hyva.getBrowserStorage().getItem('webpos-html');
        if (wp) {
            document.body.insertAdjacentHTML("beforeend", wp);
        }
    }
</script>

<script>
    let SnapSlider = class {
        constructor(el, {
            labelSepparator = 'sur',
            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]":"intersect",".product-info [x-data]":"intersect","#filters-content [x-data]":"intersect","#review_form":"intersect","section[x-data^=initRecentlyViewedProductsComponent]":"intersect","div[x-data^=initBundleOptions]":"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 type="module"
        src="https://www.runningxpert.com/static/version1793184777/frontend/Loebeshop/hyva/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 = 259200;

        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);
                            }
                        }
                    }
                )
                .catch(error => {
                    console.warn("Couldn't fetch 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>
    (() => {
        const initSliderCarousel = (el) => {
            const sliderId = el.getAttribute('data-pb-style');

            const skipLink = document.createElement('a');
            skipLink.setAttribute('href', `#${sliderId}-slider-end`);
            skipLink.classList.add('sr-only', 'focus:not-sr-only', 'focus:absolute', 'focus:p-2', 'focus:bg-white');
            skipLink.innerText = 'Press\u0020to\u0020skip\u0020carousel';

            const skipLinkTarget = document.createElement('span');
            skipLinkTarget.setAttribute('id', `${sliderId}-slider-end`);
            skipLinkTarget.setAttribute('tabindex', '-1');

            const track = document.createElement('div');
            track.setAttribute('data-track', '');
            track.classList.add('snap-track');
            Array.from(el.children).forEach(slide => track.appendChild(slide));

            el.appendChild(track);
            el.insertBefore(skipLink, track);
            el.appendChild(skipLinkTarget);
            el.classList.add('snap-slider');
        }

        window.addEventListener('DOMContentLoaded', () => {
            if (typeof SnapSlider === 'undefined') return;

            const carousels = document.querySelectorAll(`
                [data-content-type="products"][data-appearance="carousel"],
                [data-content-type="slider"]
            `);

            carousels.forEach(el => {
                const sliderOptions = el.dataset;
                const autoPager = sliderOptions.showDots === "true";
                const showArrows = sliderOptions.showArrows === "true";

                if (el.dataset.contentType === 'slider') {
                    initSliderCarousel(el);

                    if (showArrows) {
                        el.insertAdjacentHTML(
                            'beforeend',
                            '\u000A\u003Cdiv\u0020data\u002Dpage\u002Dbuilder\u002Dslider\u002Dnav\u0020class\u003D\u0022flex\u0020justify\u002Dbetween\u0020items\u002Dcenter\u0020gap\u002D2\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u003Cbutton\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020class\u003D\u0022btn\u0020btn\u002Dsecondary\u0020p\u002D2\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020aria\u002Dlabel\u003D\u0022Previous\u0020Slide\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020data\u002Dprev\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020disabled\u000A\u0020\u0020\u0020\u0020\u003E\u003Csvg\u0020xmlns\u003D\u0022http\u003A\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\u0022\u0020width\u003D\u002218\u0022\u0020height\u003D\u002218\u0022\u0020fill\u003D\u0022none\u0022\u0020stroke\u003D\u0022currentColor\u0022\u0020stroke\u002Dlinecap\u003D\u0022round\u0022\u0020stroke\u002Dlinejoin\u003D\u0022round\u0022\u0020stroke\u002Dwidth\u003D\u00221.5\u0022\u0020viewBox\u003D\u00220\u00200\u002024\u002024\u0022\u0020class\u003D\u0022rtl\u003A\u002Drotate\u002D180\u0022\u0020aria\u002Dhidden\u003D\u0022true\u0022\u003E\u003Cpath\u0020d\u003D\u0022m12\u002019\u002D7\u002D7\u00207\u002D7M19\u002012H5\u0022\u002F\u003E\u003C\u002Fsvg\u003E\u000A\u003C\u002Fbutton\u003E\u000A\u0020\u0020\u0020\u0020\u003Cdiv\u0020class\u003D\u0022snap\u002Dpager\u0020mx\u002Dauto\u0022\u0020data\u002Dinit\u002Dpager\u003E\u003C\u002Fdiv\u003E\u000A\u0020\u0020\u0020\u0020\u003Cbutton\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020class\u003D\u0022btn\u0020btn\u002Dsecondary\u0020p\u002D2\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020aria\u002Dlabel\u003D\u0022Next\u0020Slide\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020data\u002Dnext\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020disabled\u000A\u0020\u0020\u0020\u0020\u003E\u003Csvg\u0020xmlns\u003D\u0022http\u003A\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\u0022\u0020width\u003D\u002218\u0022\u0020height\u003D\u002218\u0022\u0020fill\u003D\u0022none\u0022\u0020stroke\u003D\u0022currentColor\u0022\u0020stroke\u002Dlinecap\u003D\u0022round\u0022\u0020stroke\u002Dlinejoin\u003D\u0022round\u0022\u0020stroke\u002Dwidth\u003D\u00221.5\u0022\u0020viewBox\u003D\u00220\u00200\u002024\u002024\u0022\u0020class\u003D\u0022rtl\u003A\u002Drotate\u002D180\u0022\u0020aria\u002Dhidden\u003D\u0022true\u0022\u003E\u003Cpath\u0020d\u003D\u0022M5\u002012h14M12\u00205l7\u00207\u002D7\u00207\u0022\u002F\u003E\u003C\u002Fsvg\u003E\u000A\u003C\u002Fbutton\u003E\u000A\u003C\u002Fdiv\u003E\u000A'
                        );
                    }

                    if (autoPager) {
                        const pager = el.querySelector('[data-init-pager]');
                        if (pager) {
                            pager.setAttribute('data-pager', '');
                            pager.removeAttribute('data-init-pager');
                        }
                    }

                    new SnapSlider(el, { autoPager, groupPager: true });
                }

                if (el.dataset.contentType === 'products') {
                    const slider = el.querySelector('[data-slider-type]');
                    if (!slider) return;

                    const sliderNav = el.querySelector('[data-page-builder-slider-nav]');

                    if (sliderNav && autoPager) {
                        const pager = sliderNav.querySelector('[data-init-pager]');
                        if (pager) {
                            pager.setAttribute('data-pager', '');
                            pager.removeAttribute('data-init-pager');
                        }
                    }

                    if (sliderNav && !showArrows) {
                        sliderNav.querySelectorAll('[data-prev],[data-next]').forEach((btn) => btn.remove());
                    }

                    new SnapSlider(slider, { autoPager, groupPager: true });
                }
            });
        });
    })();
</script>
<script>
    function initCompareOnProductList() {
        return {
            addToCompare(productId) {
                const formKey = hyva.getFormKey();
                const postUrl = BASE_URL + 'catalog/product_compare/add/';

                fetch(postUrl, {
                    "headers": {
                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
                    },
                    "body": "form_key=" + formKey + "&product=" + productId + "&uenc=" + hyva.getUenc(),
                    "method": "POST",
                    "mode": "cors",
                    "credentials": "include"
                }).then(function (response) {
                    if (response.redirected) {
                        window.location.href = response.url;
                    }
                }).catch(function (error) {
                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                        [{
                            type: "error",
                            text: error
                        }], 5000
                    );
                });
            }
        };
    }
</script>
    <script>
        function initWishlist(productId) {
            return {
                productId : productId,
                isLoggedIn : false,
                active : false,
                wishlistItem : false,
                wishlistItems: window.localStorage["mage-cache-storage"] ? JSON.parse(window.localStorage["mage-cache-storage"]).wishlist.items : [],
                init() {
                    this.reinitWishlist(productId);
                },
                reinitWishlist(productId) {
                    this.productId = productId;

                    if (this.isLoggedIn) {
                        this.setActiveWishlistItems();
                    }
                },
                onPrivateContentLoaded(data) {
                    this.isLoggedIn = Boolean(data.customer && data.customer.firstname);
                    if (this.isLoggedIn) {
                        this.wishlistItems = data.wishlist.items;
                        this.setActiveWishlistItems();
                    }
                },
                setActiveWishlistItems() {
                    let self = this;
                    let wishlistIndex = this.wishlistItems.findIndex(item => item.product_id == this.productId);
                    if(wishlistIndex > -1) {
                        self.wishlistItem = this.wishlistItems[wishlistIndex];
                        self.active = true;
                    } else {
                        self.active = false;
                        self.wishlistItem = false;
                    }
                },
                handleClick(e) {
                    var product = e.currentTarget.getAttribute('data-product');
                    if(this.active) {
                        this.removeFromWishlist(product);
                    } else {
                        this.addToWishlist(product);
                    }
                },
                addToWishlist(product) {
                    if (!this.isLoggedIn) { // If not logged in
                        window.dispatchEvent(new CustomEvent('toggle-authentication')); // Open auth popup
                        window.dispatchEvent(new CustomEvent('login-message', {detail: {message: 'Connectez\u002Dvous\u0020ou\u0020inscrivez\u002Dvous\u0020pour\u0020ajouter\u0020\u00E0\u0020votre\u0020liste\u0020de\u0020souhaits.'}})); // Set error message
                        return;
                    }
                    const formKey = hyva.getFormKey();
                    const postUrl = BASE_URL + 'wishlist/index/add/';
                    const productName = product;

                    var successText = 'Product\u0020a\u0020\u00E9t\u00E9\u0020ajout\u00E9\u0020\u00E0\u0020votre\u0020liste\u0020de\u0020souhaits.';
                    var successMessage = successText.replace("Product", productName);

                    fetch(postUrl, {
                        "headers": {
                            "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
                        },
                        "body": "form_key=" + formKey + "&product=" + this.productId + "&uenc=" + hyva.getUenc(),
                        "method": "POST",
                        "mode": "cors",
                        "credentials": "include"
                    }).then(function (response) {
                        if (response.ok) {
                            typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                                [{
                                    type: "success",
                                    text: successMessage
                                }], 5000
                            );
                            const reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
                            window.dispatchEvent(reloadCustomerDataEvent);
                        } else {
                            typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                                [{
                                    type: "error",
                                    text: "Could\u0020not\u0020add\u0020item\u0020to\u0020wishlist."
                                }], 5000
                            );
                        }
                    }).catch(function (error) {
                        typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                            [{
                                type: "error",
                                text: error
                            }], 5000
                        );
                    });
                },
                removeFromWishlist(product) {
                    if (!this.isLoggedIn) { // If not logged in
                        window.dispatchEvent(new CustomEvent('toggle-authentication')); // Open auth popup
                        window.dispatchEvent(new CustomEvent('login-message', {detail: {message: 'You\u0020must\u0020login\u0020or\u0020register\u0020to\u0020remove\u0020items\u0020from\u0020your\u0020wishlist.'}})); // Set error message
                        return;
                    }
                    let delete_item_params = JSON.parse(this.wishlistItem.delete_item_params);
                    const formKey = hyva.getFormKey();
                    let postUrl = delete_item_params.action;
                    let params = delete_item_params.data;
                    params['uenc'] = hyva.getUenc();
                    params['form_key'] = hyva.getFormKey();

                    const productName = product;

                    var successText = 'Product\u0020a\u0020\u00E9t\u00E9\u0020supprim\u00E9\u0020de\u0020votre\u0020liste\u0020de\u0020souhaits.';
                    var successMessage = successText.replace("Product", productName);

                    fetch(postUrl, {
                        "headers": {
                            "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
                        },
                        "body": Object.keys(params).map((key) => {
                            return encodeURIComponent(key) + '=' + encodeURIComponent(params[key])
                        }).join('&'),
                        "method": "POST",
                        "mode": "cors",
                        "credentials": "include"
                    }).then(function (response) {
                        if (response.ok) {
                            typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                                [{
                                    type: "success",
                                    text: successMessage
                                }], 5000
                            );
                            const reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
                            window.dispatchEvent(reloadCustomerDataEvent);
                        } else {
                            typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                                [{
                                    type: "error",
                                    text: "Could\u0020not\u0020remove\u0020item\u0020from\u0020wishlist."
                                }], 5000
                            );
                        }
                    }).catch(function (error) {
                        typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
                            [{
                                type: "error",
                                text: error
                            }], 5000
                        );
                    });
                }
            }
        }
    </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 = '6LffcvYcAAAAAIX_jpQPEMuYVDJPDOQnkejwtK6Z';
            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>
<div x-data="someModal()" x-init="openOnInit();" class="some">
    <dialog id="some-modal" x-cloak x-show="isOpen"
            class="mb-8 mt-auto lg:mb-auto mx-auto h-fit md:max-h-screen-75 p-0 overflow-visible bg-container-medium w-full max-w-[400px]"
            :class="{ 'flex flex-col' : isOpen }"
            x-transition
            x-htmldialog.closeby.any="close"
    >
        <div class="absolute top-0 right-0 flex p-2 lg:mt-2">
            <button @click="close(); saveChoice();" type="button" title="Fermer" class="p-2 text-gray-300 transition duration-150 rounded-full ease-in-out hover:text-black">
                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" role="img">
  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
<title>x</title></svg>
            </button>
        </div>
        <div id="some-modal-content" class="h-auto overflow-auto p-6">
            <h2 class="mt-0">Select language</h2>
            <div class="relative"></div>
            <div class="flex justify-end mt-5">
                <button type="button" @click="close(); saveChoice();" class="btn btn-primary min-w-0">Ok</button>
            </div>
        </div>
    </dialog>
</div>

<script type="text/javascript">
    function someModal() {
        return {
            isOpen: false,
            close() {
                this.isOpen = false;
            },
            openOnInit() {
                if (window.location.href.indexOf("utm_campaign=some") !== -1) {
                    if (localStorage.getItem('runningxpert-language-redirect')) {
                        if (document.querySelector('.switcher-language-trigger[data-storelanguage]').dataset.storelanguage != localStorage.getItem('runningxpert-language-redirect')) {
                            if (document.querySelector('.switcher-option[data-storelanguage="' + localStorage.getItem('runningxpert-language-redirect') + '"]')) {
                                document.querySelector('.switcher-option[data-storelanguage="' + localStorage.getItem('runningxpert-language-redirect') + '"] a').click();
                            }
                        }
                    } else {
                        document.querySelector('#some-modal-content > div').appendChild(document.querySelector('[x-data=storeSwitcher]').cloneNode(true));
                        this.isOpen = true;
                    }
                }
            },
            saveChoice() {
                localStorage.setItem('runningxpert-language-redirect', document.querySelector('.switcher-language-trigger[data-storelanguage]').dataset.storelanguage);
            }
        }
    }
</script>

<style>
    #some-modal-content ul {
        padding: 0;
        margin: 0;
        list-style: none;
        left: 0;
        top: calc(100% + 1px);
    }

    #some-modal-content ul a {
        color: #383838;
        font-size: 0.875rem; /* 14px */
        line-height: 1.25rem; /* 20px */
    }

    #some-modal-content .header--topbar-links-lang-selector {
        border: 1px solid #c5c5c5;
        width: fit-content;
    }

    #some-modal-content .header--topbar-links-lang-selector .switcher-trigger {
        padding: 4px 28px 4px 8px;
    }

    #some-modal-content .header--topbar-links-lang-selector svg {
        height: 0.652rem;
        width: 0.75rem;
        margin-left: 0.5rem;
        position: absolute;
        right: 0.5rem;
        pointer-events: none;
    }
</style>
<script>
    document.addEventListener("product-list-tracking", function (e) {
        var imp = [];
        e.detail.items?.forEach((item) => {
            if(item.item_brand == 'Asics') {
                imp.push(item.item_id);
            }
        });
        if(imp.length) {
            window.crobox = window.crobox || [];
            crobox.push(function(crobox) {
                crobox.pageview({
                    pt: crobox.PAGE_OVERVIEW,
                    lc: "fr-FR",
                    imp: imp
                });
            });
        }
    });
</script>
<script>
    'use strict';

    (() => {
        const initCarousels = (elements) => {
            if (!Glider) {
                return;
            }

            const initHeroBannerCarousel = (slider) => {
                if (slider.classList.contains('glider-initialized')) {
                    return;
                }
                slider.innerHTML = '<div data-role="glider-content">'+slider.innerHTML+'</div>';
                slider.classList.add('glider-contain');

                slider.insertAdjacentHTML(
                    'beforeend',
                    '\u000A\u003Cdiv\u0020class\u003D\u0022carousel\u002Dnav\u0020flex\u0020items\u002Dcenter\u0020justify\u002Dcenter\u0020flex\u002D1\u0020p\u002D4\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u003Cbutton\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020aria\u002Dlabel\u003D\u0022Pr\u0026\u0023xE9\u003Bc\u0026\u0023xE9\u003Bdent\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020title\u003D\u0022Pr\u0026\u0023xE9\u003Bc\u0026\u0023xE9\u003Bdent\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020class\u003D\u0022glider\u002Dprev\u0020w\u002D8\u0020h\u002D8\u0020mr\u002D1\u0020text\u002Dblack\u0020rounded\u002Dfull\u0020outline\u002Dnone\u0020focus\u003Aoutline\u002Dnone\u0020hidden\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003Csvg\u0020xmlns\u003D\u0022http\u003A\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\u0022\u0020fill\u003D\u0022none\u0022\u0020viewBox\u003D\u00220\u00200\u002024\u002024\u0022\u0020stroke\u002Dwidth\u003D\u00222\u0022\u0020stroke\u003D\u0022currentColor\u0022\u0020width\u003D\u002224\u0022\u0020height\u003D\u002224\u0022\u0020aria\u002Dhidden\u003D\u0022true\u0022\u003E\u000A\u0020\u0020\u003Cpath\u0020stroke\u002Dlinecap\u003D\u0022round\u0022\u0020stroke\u002Dlinejoin\u003D\u0022round\u0022\u0020d\u003D\u0022M15\u002019l\u002D7\u002D7\u00207\u002D7\u0022\u002F\u003E\u000A\u003C\u002Fsvg\u003E\u000A\u0020\u0020\u0020\u0020\u003C\u002Fbutton\u003E\u000A\u0020\u0020\u0020\u0020\u003Cdiv\u0020role\u003D\u0022tablist\u0022\u0020aria\u002Dlabel\u003D\u0022Slides\u0022\u0020class\u003D\u0022glider\u002Ddots\u0020select\u002Dnone\u0020flex\u0020flex\u002Dwrap\u0020mx\u002D1\u0020justify\u002Dcenter\u0020p\u002D0\u0020focus\u003Aoutline\u002Dnone\u0020hidden\u0022\u003E\u003C\u002Fdiv\u003E\u000A\u0020\u0020\u0020\u0020\u003Cbutton\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020aria\u002Dlabel\u003D\u0022Suivant\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020title\u003D\u0022Suivant\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020class\u003D\u0022glider\u002Dnext\u0020w\u002D8\u0020h\u002D8\u0020ml\u002D1\u0020text\u002Dblack\u0020rounded\u002Dfull\u0020outline\u002Dnone\u0020focus\u003Aoutline\u002Dnone\u0020hidden\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003Csvg\u0020xmlns\u003D\u0022http\u003A\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\u0022\u0020fill\u003D\u0022none\u0022\u0020viewBox\u003D\u00220\u00200\u002024\u002024\u0022\u0020stroke\u002Dwidth\u003D\u00222\u0022\u0020stroke\u003D\u0022currentColor\u0022\u0020width\u003D\u002224\u0022\u0020height\u003D\u002224\u0022\u0020aria\u002Dhidden\u003D\u0022true\u0022\u003E\u000A\u0020\u0020\u003Cpath\u0020stroke\u002Dlinecap\u003D\u0022round\u0022\u0020stroke\u002Dlinejoin\u003D\u0022round\u0022\u0020d\u003D\u0022M9\u00205l7\u00207\u002D7\u00207\u0022\u002F\u003E\u000A\u003C\u002Fsvg\u003E\u000A\u0020\u0020\u0020\u0020\u003C\u002Fbutton\u003E\u000A\u003C\u002Fdiv\u003E\u000A'
                );

                const gliderElement = slider.querySelector('[data-role="glider-content"]');
                const gliderDots = slider.querySelector('.glider-dots');
                const gliderPrev = slider.querySelector('.glider-prev');
                const gliderNext = slider.querySelector('.glider-next');

                const glider = new Glider(gliderElement, {
                    slidesToShow: 1,
                    slidesToScroll: 1,
                    scrollLock: true,
                    scrollLockDelay: 250,
                    draggable: true,
                    dragVelocity: 2.5,
                    dots: gliderDots,
                    arrows: {
                        prev: gliderPrev,
                        next: gliderNext,
                    },
                });

                slider.classList.add('glider-initialized');

                const syncDotRoles = () => {
                    gliderDots.querySelectorAll('button').forEach((dot) => {
                        dot.setAttribute('role', 'tab');
                        dot.setAttribute('aria-selected', dot.classList.contains('active') ? 'true' : 'false');
                    });
                };

                syncDotRoles();
                gliderElement.addEventListener('glider-animated', syncDotRoles);

                if (glider.slides.length > glider.opt.slidesToShow) {
                    if (slider.dataset.showArrows !== undefined && slider.dataset.showArrows !== 'false') {
                        gliderPrev.classList.remove('hidden');
                        gliderNext.classList.remove('hidden');
                    }
                    gliderDots.classList.remove('hidden');
                }

                if (slider.dataset.autoplay !== undefined && slider.dataset.autoplay !== 'false') {
                    gliderAutoplay(
                        glider,
                        slider.dataset.autoplaySpeed ? slider.dataset.autoplaySpeed : 5000,
                        slider.dataset.loop
                    );
                }
            };

            const gliderAutoplay = (glider, milliseconds, loop) => {
                const pagesCount = glider.track.childElementCount;
                let slideTimeout = null;
                let nextIndex = 1;
                let paused = false;

                const slide = () => {
                    slideTimeout = setTimeout(
                        () => {
                            if (loop && nextIndex >= pagesCount) {
                                nextIndex = 0;
                            }
                            glider.scrollItem(nextIndex);
                        },
                        parseInt(milliseconds)
                    );
                };

                glider.ele.addEventListener('glider-animated', () => {
                    nextIndex = glider.slide + glider.opt.slidesToScroll;
                    window.clearInterval(slideTimeout);
                    if (!paused && (loop || nextIndex < pagesCount)) {
                        slide();
                    }
                });

                const pause = () => {
                    if (!paused) {
                        clearInterval(slideTimeout);
                        paused = true;
                    }
                };

                const unpause = () => {
                    if (paused) {
                        slide();
                        paused = false;
                    }
                };

                const carouselContainer = glider.ele.parentElement;
                carouselContainer.addEventListener('mouseover', pause, {passive: true});
                carouselContainer.addEventListener('touchstart', pause, {passive: true});
                carouselContainer.addEventListener('focusin', pause);
                carouselContainer.addEventListener('mouseout', unpause, {passive: true});
                carouselContainer.addEventListener('touchend', unpause, {passive: true});
                carouselContainer.addEventListener('focusout', (event) => {
                    if (!event.relatedTarget || !carouselContainer.contains(event.relatedTarget)) {
                        unpause();
                    }
                });

                slide();
            };

            elements.forEach(element => {
                if (element.dataset.contentType === 'banner-slider') {
                    initHeroBannerCarousel(element);
                }
            });
        };

        window.addEventListener('DOMContentLoaded', () => {
            const carouselElements = document.querySelectorAll(
                `[data-content-type="banner-slider"]`
            );

            if (carouselElements.length > 0) {
                const script = document.createElement('script');
                script.type = 'text/javascript';

                script.addEventListener('load', () => {
                    initCarousels(carouselElements);
                });

                script.src = 'https\u003A\u002F\u002Fwww.runningxpert.com\u002Fstatic\u002Fversion1793184777\u002Ffrontend\u002FLoebeshop\u002Fhyva\u002Ffr_FR\u002FMagento_PageBuilder\u002Fjs\u002Fglider.min.js';
                document.head.appendChild(script);
            }
        });
    })();
</script>
<script>
    (() => {
        const initSliderCarousel = (el) => {
            const sliderId = el.getAttribute('data-pb-style');

            const skipLink = document.createElement('a');
            skipLink.setAttribute('href', `#${sliderId}-slider-end`);
            skipLink.classList.add('sr-only', 'focus:not-sr-only', 'focus:absolute', 'focus:p-2', 'focus:bg-white');
            skipLink.innerText = 'Press\u0020to\u0020skip\u0020carousel';

            const skipLinkTarget = document.createElement('span');
            skipLinkTarget.setAttribute('id', `${sliderId}-slider-end`);
            skipLinkTarget.setAttribute('tabindex', '-1');

            const track = document.createElement('div');
            track.setAttribute('data-track', '');
            track.classList.add('snap-track');
            Array.from(el.children).forEach(slide => track.appendChild(slide));

            el.appendChild(track);
            el.insertBefore(skipLink, track);
            el.appendChild(skipLinkTarget);
            el.classList.add('snap-slider');
        }

        window.addEventListener('DOMContentLoaded', () => {
            if (typeof SnapSlider === 'undefined') return;

            const carousels = document.querySelectorAll(`
                [data-content-type="products"][data-appearance="carousel"],
                [data-content-type="slider"]
            `);

            carousels.forEach(el => {
                const sliderOptions = el.dataset;
                const autoPager = sliderOptions.showDots === "true";
                const showArrows = sliderOptions.showArrows === "true";

                if (el.dataset.contentType === 'slider') {
                    initSliderCarousel(el);

                    if (showArrows) {
                        el.insertAdjacentHTML(
                            'beforeend',
                            '\u000A\u003Cdiv\u0020data\u002Dpage\u002Dbuilder\u002Dslider\u002Dnav\u0020class\u003D\u0022flex\u0020justify\u002Dbetween\u0020items\u002Dcenter\u0020gap\u002D2\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u003Cbutton\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020class\u003D\u0022btn\u0020btn\u002Dsecondary\u0020p\u002D2\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020aria\u002Dlabel\u003D\u0022Previous\u0020Slide\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020data\u002Dprev\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020disabled\u000A\u0020\u0020\u0020\u0020\u003E\u003Csvg\u0020xmlns\u003D\u0022http\u003A\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\u0022\u0020width\u003D\u002218\u0022\u0020height\u003D\u002218\u0022\u0020fill\u003D\u0022none\u0022\u0020stroke\u003D\u0022currentColor\u0022\u0020stroke\u002Dlinecap\u003D\u0022round\u0022\u0020stroke\u002Dlinejoin\u003D\u0022round\u0022\u0020stroke\u002Dwidth\u003D\u00221.5\u0022\u0020viewBox\u003D\u00220\u00200\u002024\u002024\u0022\u0020class\u003D\u0022rtl\u003A\u002Drotate\u002D180\u0022\u0020aria\u002Dhidden\u003D\u0022true\u0022\u003E\u003Cpath\u0020d\u003D\u0022m12\u002019\u002D7\u002D7\u00207\u002D7M19\u002012H5\u0022\u002F\u003E\u003C\u002Fsvg\u003E\u000A\u003C\u002Fbutton\u003E\u000A\u0020\u0020\u0020\u0020\u003Cdiv\u0020class\u003D\u0022snap\u002Dpager\u0020mx\u002Dauto\u0022\u0020data\u002Dinit\u002Dpager\u003E\u003C\u002Fdiv\u003E\u000A\u0020\u0020\u0020\u0020\u003Cbutton\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020class\u003D\u0022btn\u0020btn\u002Dsecondary\u0020p\u002D2\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020aria\u002Dlabel\u003D\u0022Next\u0020Slide\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020data\u002Dnext\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020disabled\u000A\u0020\u0020\u0020\u0020\u003E\u003Csvg\u0020xmlns\u003D\u0022http\u003A\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\u0022\u0020width\u003D\u002218\u0022\u0020height\u003D\u002218\u0022\u0020fill\u003D\u0022none\u0022\u0020stroke\u003D\u0022currentColor\u0022\u0020stroke\u002Dlinecap\u003D\u0022round\u0022\u0020stroke\u002Dlinejoin\u003D\u0022round\u0022\u0020stroke\u002Dwidth\u003D\u00221.5\u0022\u0020viewBox\u003D\u00220\u00200\u002024\u002024\u0022\u0020class\u003D\u0022rtl\u003A\u002Drotate\u002D180\u0022\u0020aria\u002Dhidden\u003D\u0022true\u0022\u003E\u003Cpath\u0020d\u003D\u0022M5\u002012h14M12\u00205l7\u00207\u002D7\u00207\u0022\u002F\u003E\u003C\u002Fsvg\u003E\u000A\u003C\u002Fbutton\u003E\u000A\u003C\u002Fdiv\u003E\u000A'
                        );
                    }

                    if (autoPager) {
                        const pager = el.querySelector('[data-init-pager]');
                        if (pager) {
                            pager.setAttribute('data-pager', '');
                            pager.removeAttribute('data-init-pager');
                        }
                    }

                    new SnapSlider(el, { autoPager, groupPager: true });
                }

                if (el.dataset.contentType === 'products') {
                    const slider = el.querySelector('[data-slider-type]');
                    if (!slider) return;

                    const sliderNav = el.querySelector('[data-page-builder-slider-nav]');

                    if (sliderNav && autoPager) {
                        const pager = sliderNav.querySelector('[data-init-pager]');
                        if (pager) {
                            pager.setAttribute('data-pager', '');
                            pager.removeAttribute('data-init-pager');
                        }
                    }

                    if (sliderNav && !showArrows) {
                        sliderNav.querySelectorAll('[data-prev],[data-next]').forEach((btn) => btn.remove());
                    }

                    new SnapSlider(slider, { autoPager, groupPager: true });
                }
            });
        });
    })();
</script>
<style>
    .is-loading > :not(.loader) {
        visibility: hidden;
    }
</style>
<script>
    window.setAjaxCart = (selectors = '.product_addtocart_form,\u0020\u0023product_addtocart_form', recursive = true) => {
        const forms = document.querySelectorAll(selectors);
        const delay = parseInt('1000', 10);

        forms.forEach(form => {
            if(form.classList.contains('ajaxcart')) { return; }
            form.classList.add('ajaxcart');
            form.addEventListener('submit', async (e) => {
                e.preventDefault();
                const formData = new URLSearchParams(new FormData(form));
                const button = form.querySelector('button[type=submit]') ?
                    form.querySelector('button[type=submit]') :
                    document.getElementById('product-addtocart-button');
                const loader = document.createElement('div');

                loader.className = 'absolute inset-0 flex justify-center items-center loader';
                loader.innerHTML = `
                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" xml:space="preserve" width="32" height="32">
                    <path fill="#fff"
                        d="M73 50c0-12.7-10.3-23-23-23S27 37.3 27 50m3.9 0c0-10.5 8.5-19.1 19.1-19.1S69.1 39.5 69.1 50">
                        <animateTransform attributeName="transform" attributeType="XML" type="rotate" dur="1s"
                            from="0 50 50" to="360 50 50"
                            repeatCount="indefinite"/>
                    </path>
                </svg>
            `;

                button.prepend(loader);
                button.classList.add('relative', 'is-loading');
                button.disabled = true;

                try {
                    const response = await fetch(e.currentTarget.action, {
                        method: 'POST',
                        body: formData,
                        headers: {
                            'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
                            'X-Requested-With': 'XMLHttpRequest'
                        }
                    });

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

                    if (response.redirected) {
                        return window.location.href = response.url;
                    }

                    const data = await response.json();

                    if (data.backUrl) {
                        return window.location.href = data.backUrl;
                    }

                    if (recursive) {
                        window.dispatchEvent(new CustomEvent('product-addtocart-success'));
                    }

                                                                        window.dispatchEvent(new CustomEvent('toggle-cart', {
                                detail: {
                                    isOpen: true
                                }
                            }));
                                            
                    return window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
                } catch (err) {
                    console.warn(err);
                    window.dispatchEvent(new CustomEvent('product-addtocart-error'));

                    setMessage({
                        text:'There\u0020was\u0020a\u0020problem\u0020adding\u0020your\u0020item\u0020to\u0020the\u0020cart.',
                        type: 'error'
                    });
                } finally {
                    try {
                        var messages = hyva.getCookie('mage-messages');
                        messages = messages ? JSON.parse(decodeURIComponent(messages).replace(/\+/g, ' ')) : [];
                        document.cookie = 'mage-messages=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';

                        if (messages.length && typeof window.dispatchMessages !== "undefined") {
                            window.dispatchMessages(messages, 5000);
                        }
                    } catch (error) {
                        console.warn('Error parsing Cookie Messages:', error);
                        return;
                    }

                    setTimeout(() => {
                        loader.remove();
                        button.classList.remove('is-loading');
                        button.disabled = false;
                    }, delay);
                }
            });
        });
    }

    /**
     * Set Message
     */
    function setMessage(message) {
        typeof window.dispatchMessages !== "undefined" &&
        window.dispatchMessages([message], 5000);
    }

    /** Init on pageload */
    window.setAjaxCart();
</script>
<script>
    function packagingFeeTooltip() {
        return {
            open: false,
            openedAt: 0,
            closeTimer: null,
            show() {
                clearTimeout(this.closeTimer);
                if (!this.open) {
                    this.openedAt = Date.now();
                }
                this.open = true;
                this.position();
            },
            hide() {
                this.closeTimer = setTimeout(() => this.open = false, 150);
            },
            toggle() {
                clearTimeout(this.closeTimer);
                // On touch devices a tap fires mouseenter/focus right before click, which already opened it
                if (this.open && Date.now() - this.openedAt < 400) {
                    return;
                }
                this.open = !this.open;
                this.openedAt = Date.now();
                if (this.open) {
                    this.position();
                }
            },
            position() {
                this.$nextTick(() => {
                    const panel = this.$refs.panel;
                    if (!panel) {
                        return;
                    }
                    const gutter = 8;
                    const viewportWidth = document.documentElement.clientWidth;
                    panel.style.transform = '';
                    const rect = panel.getBoundingClientRect();
                    let offset = 0;
                    if (rect.right > viewportWidth - gutter) {
                        offset = viewportWidth - gutter - rect.right;
                    }
                    if (rect.left + offset < gutter) {
                        offset = gutter - rect.left;
                    }
                    panel.style.transform = `translateX(${Math.round(offset)}px)`;
                });
            }
        };
    }
</script>
<script>
    function isScrolledIntoView(elem){
        let rect = elem.getBoundingClientRect(),
            viewTop = window.scrollY,
            viewBottom = viewTop + window.innerHeight,
            elemTop = rect.top + window.scrollY,
            elemBottom = elemTop + elem.offsetHeight,
            compareTop = elem === true ? elemBottom : elemTop,
            compareBottom = elem === true ? elemTop : elemBottom;

        return (compareBottom <= viewBottom && compareTop >= viewTop);
    }

    window.addEventListener('scroll', function() {
        document.querySelectorAll('.post--img-animation').forEach(function(element) {
            if (isScrolledIntoView(element)) {
                element.classList.add('process_animation');
            } else {
                element.classList.remove('process_animation');
            }
        });
    });
</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"}}},"data_id":1793194170},"instant-purchase":[],"loggedAsCustomer":[],"captcha":[],"review":[],"wishlist":{"items":[]},"additional_cart_upsell":[],"club_profile_completion":[],"gtm":{"datalayer":"[]"},"recently_viewed_product":[],"recently_compared_product":[],"product_data_storage":[],"paypal-billing-agreement":[],"paypal-buyer-country":[]}</script>

<script>
    'use strict';

    function GoogleAnalytics () {
        let self = this;
        this.config = {
            isCookieRestrictionModeEnabled: 0,
            currentWebsite: 12,
            cookieName: "user_allowed_save_cookie",
            ordersTrackingData: [],
            pageTrackingData: {"optPageUrl":"","isAnonymizedIpActive":true,"accountId":"UA-83930822-12"},
        }

        this.initGoogleAnalytics =  function () {

            let allowServices = false,
                allowedCookies,
                allowedWebsites;

            if (self.config.isCookieRestrictionModeEnabled) {
                allowedCookies = hyva.getCookie(self.config.cookieName);

                if (allowedCookies !== null) {
                    allowedWebsites = JSON.parse(decodeURIComponent(allowedCookies));

                    if (allowedWebsites[self.config.currentWebsite] === 1) {
                        allowServices = true;
                    }
                }
            } else {
                allowServices = true;
            }

            if (allowServices) {
                (function (i, s, o, g, r, a, m) {
                    i.GoogleAnalyticsObject = r;
                    i[r] = i[r] || function () {
                        (i[r].q = i[r].q || []).push(arguments)
                    }, i[r].l = 1 * new Date();
                    a = s.createElement(o),
                        m = s.getElementsByTagName(o)[0];
                    a.defer = 1;
                    a.src = g;
                    m.parentNode.insertBefore(a, m)
                })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');

                // Process page info
                ga('create', self.config.pageTrackingData.accountId, 'auto');

                if (self.config.pageTrackingData.isAnonymizedIpActive) {
                    ga('set', 'anonymizeIp', true);
                }

                // Process orders data
                if (self.config.ordersTrackingData.hasOwnProperty('currency')) {
                    ga('require', 'ec', 'ec.js');

                    ga('set', 'currencyCode', self.config.ordersTrackingData.currency);

                    // Collect product data for GA
                    if (self.config.ordersTrackingData.products) {
                        self.config.ordersTrackingData.products.forEach(function (value) {
                            ga('ec:addProduct', value);
                        });
                    }

                    // Collect orders data for GA
                    if (self.config.ordersTrackingData.orders) {
                        self.config.ordersTrackingData.orders.forEach(function (value) {
                            ga('ec:setAction', 'purchase', value);
                        });
                    }

                    ga('send', 'pageview');
                } else {
                    // Process Data if not orders
                    ga('send', 'pageview' + self.config.pageTrackingData.optPageUrl);
                }
            }
        };
    }

    window.addEventListener("load", new GoogleAnalytics().initGoogleAnalytics);

</script>
</div></body>
</html>
