{"title":"Tapis de souris","description":"\u003ch1\u003eErgonomic Mouse Pads – Support Your Wrist, Improve Your Comfort\u003c\/h1\u003e\n\u003cp\u003eProtoArc mouse pads are designed to reduce wrist strain and prevent fatigue during long hours of computer use. The MP50 features an 8° ergonomic slope, memory foam wrist rest with massage bumps, smooth Lycra surface for precise tracking, and a non‑slip PU base. Whether you're working, designing, or gaming, this mouse pad keeps your wrist in a natural, relaxed position.\u003c\/p\u003e\n\u003ch2\u003eWhy Choose a ProtoArc Mouse Pad?\u003c\/h2\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003e8° Ergonomic Slope\u003c\/strong\u003e – Elevates your wrist to a neutral angle, reducing pressure on the carpal tunnel.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eMemory Foam Core\u003c\/strong\u003e – Slow‑recovery foam conforms to your wrist, providing all‑day comfort without flattening.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eMassage Bump Design\u003c\/strong\u003e – Gentle texture promotes air circulation and reduces sweating.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSmooth Lycra Surface\u003c\/strong\u003e – Low‑friction fabric ensures fast, precise mouse tracking (optical, laser, wireless).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eNon‑Slip PU Base\u003c\/strong\u003e – Keeps the pad firmly in place even during rapid movements.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGenerous Size\u003c\/strong\u003e – 30 x 19.5 x 3 cm (11.8 x 7.7 x 1.2 inches) – spacious for office or gaming mice.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eUpgrade Your Mouse Experience\u003c\/h2\u003e\n\u003cp\u003eA standard mouse pad does nothing for wrist health. ProtoArc's ergonomic mouse pad actively supports your wrist, letting you click and scroll for hours without discomfort. Perfect for home offices, corporate desks, or gaming setups.\u003c\/p\u003e\n\u003cp\u003eLooking for complete ergonomic accessories? Explore \u003ca href=\"\/fr-fr\/collections\/seat-cushions\"\u003eSeat Cushions\u003c\/a\u003e, \u003ca href=\"\/fr-fr\/collections\/touchpads\"\u003eTouchpads\u003c\/a\u003e, or \u003ca href=\"\/fr-fr\/collections\/accessories\"\u003eAll Accessories\u003c\/a\u003e. For wrist pain relief, visit \u003ca href=\"\/fr-fr\/collections\/wrist-pain\"\u003eWrist Pain Solutions\u003c\/a\u003e.\u003c\/p\u003e","products":[{"product_id":"mp50-ergonomic-mouse-pad","title":"Tapis de souris ergonomique MP50 avec repose-poignet","description":"\u003cbody\u003e\n\n\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1\"\u003e\n\u003cstyle\u003e\n\/* ===== Global Reset + Brand Standards ===== *\/\n* { margin:0; padding:0; box-sizing:border-box; }\nbody { background-color: #ffffff; font-family: Arial, sans-serif; }\n.responsive { width: 100%; height: auto; }\n\n\/* Top Title Area *\/\n.k90-feature-wrap {\n    margin: 40px auto 0;\n    padding: 0 20px;\n    text-align: center;\n}\n.k90-model {\n    font-size: 35px;\n    font-weight: 700;\n    color: #f3a330;\n    margin-bottom: 8px;\n    line-height: 1.2;\n}\n.k90-title {\n    font-size: 24px;\n    font-weight: 700;\n    color: #222;\n    line-height: 1.3;\n    margin-bottom: 30px;\n}\n@media (max-width:750px) {\n    .k90-model {font-size:22px;}\n    .k90-title {font-size:18px; margin-bottom:20px;}\n}\n\n\/* Selling Point Icon Area *\/\n.page_specs_container2 {\n    display: flex !important;\n    flex-wrap: wrap !important;\n    width: 100% !important;\n    margin: 0 auto !important;\n    background-color: #f5f7f8;\n    padding: 10px 0 !important;\n}\n.specs_wrapper2 {\n    width: 33.3333% !important;\n    flex: 0 0 33.3333% !important;\n    padding: 25px 15px !important;\n    display: flex !important;\n    justify-content: center !important;\n    align-items: center !important;\n    min-height: 120px !important;\n    box-sizing: border-box !important;\n}\n@media (max-width:750px) {\n    .page_specs_container2 {max-width: 100% !important;}\n    .specs_wrapper2 {\n        width: 50% !important; \n        flex: 0 0 50% !important;\n        padding:20px 8px !important;\n        min-height: 100px !important;\n    }\n}\n.gm_icon_blocks_a {\n    line-height: 1.5;\n    color: #000000;\n    font-size: 14px;\n    margin: auto;\n    text-align: center;\n    width: 100%;\n}\n.material-icons_shopifyuse {\n    font-family: 'Material Icons_shopifyuse';\n    font-weight: normal;\n    font-style: normal;\n    line-height: 1;\n    display: block;\n    text-align: center;\n    font-size: 28px;\n    color: #f3a330;\n    margin-bottom: 12px;\n}\n@media (max-width:750px) {\n    .material-icons_shopifyuse {font-size:24px;}\n}\n\n\/* ===== Core Adjustment: Carousel Area Layout (Title Top \/ Image Middle \/ Text Bottom) ===== *\/\n.product_detail_banner {\n    position: relative;\n    display: block;\n    text-align: center;\n    background-color: #ffffff;\n    margin: 40px auto 0; \/* Carousel section spacing *\/\n    padding: 0 20px 30px;\n}\n\n\/* Carousel Title (Separated, placed above carousel images) *\/\n.carousel-title {\n    font-size: 18px;\n    font-weight: 700;\n    margin-bottom:20px;\n    color:#222;\n    line-height:1.2;\n    text-align: center;\n}\n\n\/* Carousel Container (Center display, core fix for arrow centering) *\/\n.carousel-container {\n    position: relative;\n    overflow: hidden;\n    touch-action: pan-y;\n    display: block !important;\n    margin: 0 auto 20px; \/* Spacing between carousel image and text below *\/\n    width: 100% !important;\n    \/* Ensure container height follows image, arrows centered *\/\n    aspect-ratio: 1464 \/ 600; \/* Match image ratio, force container ratio *\/\n}\n.carousel-slides {\n    display: flex;\n    transition: transform 0.3s ease-out;\n    will-change: transform;\n    height: 100%; \/* Carousel slides fill container height *\/\n}\n.carousel-slide {\n    width: 100% !important;\n    flex-shrink: 0;\n    height: 100%; \/* Carousel slide fill container height *\/\n}\n.carousel-slide img {\n    display: block;\n    width: 100% !important;\n    height: 100% !important;\n    object-fit: contain; \/* Image center display, no stretching *\/\n}\n\n\/* Carousel Text Description (Below carousel) *\/\n.carousel-desc {\n    line-height: 1.6;\n    color: #555;\n    font-size:14px;\n    text-align: center;\n    padding: 0 10px;\n}\n\n\/* Carousel Arrows (Vertically centered based on container height) *\/\n.carousel-prev, .carousel-next {\n    position: absolute;\n    top: 50%;\n    transform: translateY(-50%); \/* Precise vertical centering *\/\n    background: rgba(255,255,255,0.8);\n    border: none;\n    width: 40px;\n    height: 40px;\n    border-radius: 50%;\n    cursor: pointer;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    z-index:10;\n    box-shadow: 0 2px 6px rgba(0,0,0,0.1);\n    transition: all 0.2s ease;\n}\n.carousel-prev {left: 15px;}\n.carousel-next {right: 15px;}\n.carousel-prev::before {\n    content:''; width:8px; height:8px;\n    border-top:2px solid #f3a330; border-left:2px solid #f3a330;\n    transform: rotate(-45deg);\n}\n.carousel-next::before {\n    content:''; width:8px; height:8px;\n    border-top:2px solid #f3a330; border-right:2px solid #f3a330;\n    transform: rotate(45deg);\n}\n.carousel-prev:hover, .carousel-next:hover {background:#fff;}\n@media (max-width:750px) {\n    .carousel-prev, .carousel-next {width:32px; height:32px;}\n    .carousel-prev {left:8px;}\n    .carousel-next {right:8px;}\n}\n\n\/* Carousel Dots *\/\n.carousel-dots {\n    position: absolute;\n    bottom:20px;\n    left:50%;\n    transform: translateX(-50%);\n    display:flex;\n    gap:10px;\n    z-index:10;\n}\n.carousel-dot {\n    width:10px;\n    height:10px;\n    border-radius:50%;\n    background:rgba(255,255,255,0.6);\n    cursor:pointer;\n    transition:all 0.3s ease;\n}\n.carousel-dot.active {\n    background:#f3a330;\n    width:24px;\n    border-radius:5px;\n}\n@media (max-width:750px) {\n    .carousel-dot {width:8px; height:8px;}\n    .carousel-dot.active {width:20px;}\n}\n\n\/* Font Library *\/\n@font-face {\n    font-family: 'Material Icons_shopifyuse';\n    font-style: normal;\n    font-weight: 400;\n    src: url(https:\/\/fonts.gstatic.com\/s\/materialicons\/v128\/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format('woff2');\n    font-display: swap;\n}\n\u003c\/style\u003e\n\n\n\u003c!-- Top Title Area --\u003e\n\u003cdiv class=\"k90-feature-wrap\"\u003e\n    \u003cdiv class=\"k90-model\"\u003eMP50\u003c\/div\u003e\n    \u003cdiv class=\"k90-title\"\u003eTapis de Souris Ergonomique ProtoArc\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- Selling Point Icon Area --\u003e\n\u003cdiv class=\"page_specs_container2\"\u003e\n    \u003cdiv class=\"specs_wrapper2\"\u003e\n        \u003cdiv class=\"gm_icon_blocks_a\"\u003e\n            \u003cspan class=\"material-icons_shopifyuse\"\u003eaccessibility\u003c\/span\u003e\n            \u003cp\u003ePente Ergonomique\u003cbr\u003ede 8°\u003c\/p\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"specs_wrapper2\"\u003e\n        \u003cdiv class=\"gm_icon_blocks_a\"\u003e\n            \u003cspan class=\"material-icons_shopifyuse\"\u003espa\u003c\/span\u003e\n            \u003cp\u003eDesign de Billes\u003cbr\u003ede Massage\u003c\/p\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"specs_wrapper2\"\u003e\n        \u003cdiv class=\"gm_icon_blocks_a\"\u003e\n            \u003cspan class=\"material-icons_shopifyuse\"\u003efitness_center\u003c\/span\u003e\n            \u003cp\u003eMousse à Mémoire\u003cbr\u003ede Forme Premium\u003c\/p\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"specs_wrapper2\"\u003e\n        \u003cdiv class=\"gm_icon_blocks_a\"\u003e\n            \u003cspan class=\"material-icons_shopifyuse\"\u003etexture\u003c\/span\u003e\n            \u003cp\u003eCuir PU de\u003cbr\u003eHaute Qualité\u003c\/p\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"specs_wrapper2\"\u003e\n        \u003cdiv class=\"gm_icon_blocks_a\"\u003e\n            \u003cspan class=\"material-icons_shopifyuse\"\u003elock\u003c\/span\u003e\n            \u003cp\u003eBase PU\u003cbr\u003eAntidérapante\u003c\/p\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"specs_wrapper2\"\u003e\n        \u003cdiv class=\"gm_icon_blocks_a\"\u003e\n            \u003cspan class=\"material-icons_shopifyuse\"\u003etrack_changes\u003c\/span\u003e\n            \u003cp\u003eSuivi Précis\u003cbr\u003ede la Souris\u003c\/p\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- First Carousel (Ergonomic Comfort Support) --\u003e\n\u003cdiv class=\"product_detail_banner\"\u003e\n    \u003c!-- Carousel Title (Top) --\u003e\n    \u003ch4 class=\"carousel-title\"\u003ePente ergonomique de 8° et confort\u003c\/h4\u003e\n    \u003c!-- Carousel Images (Middle) - Replace with actual image links --\u003e\n    \u003cdiv class=\"carousel-container\" aria-label=\"Carrousel de confort ergonomique\"\u003e\n        \u003cbutton class=\"carousel-prev\"\u003e\u003c\/button\u003e\n        \u003cbutton class=\"carousel-next\"\u003e\u003c\/button\u003e\n        \u003cdiv class=\"carousel-slides\"\u003e\n            \u003cdiv class=\"carousel-slide\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0551\/3972\/9497\/files\/58541a59-aed4-477c-bf70-47f6f92b6ba3.__CR0_0_1464_600_PT0_SX1464_V1.png?v=1766713163\" loading=\"lazy\" alt=\"Design de pente ergonomique de 8°\"\u003e\u003c\/div\u003e\n            \u003cdiv class=\"carousel-slide\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0551\/3972\/9497\/files\/122b1f43-7f29-45f1-9bac-202afa71775a.__CR0_0_1464_600_PT0_SX1464_V1____1.png?v=1766713163\" loading=\"lazy\" alt=\"Billes de massage pour le confort du poignet\"\u003e\u003c\/div\u003e\n            \u003cdiv class=\"carousel-slide\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0551\/3972\/9497\/files\/06467c3e-d229-4fbf-9bfe-f5672342cc80.__CR0_0_1464_600_PT0_SX1464_V1.png?v=1766713163\" loading=\"lazy\" alt=\"Soulagement du syndrome du canal carpien\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"carousel-dots\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003c!-- Carousel Text (Bottom) --\u003e\n    \u003cdiv class=\"carousel-desc\"\u003e\n        Ce tapis de souris ergonomique présente une inclinaison de 8 degrés pour un soutien stable de votre poignet et de votre paume, soulageant efficacement la fatigue due à une utilisation prolongée, tout en aidant à améliorer l'inconfort associé au syndrome du canal carpien (SCC). La conception à picots massants favorise la circulation de l'air, prévenant l'inconfort lié à la transpiration et gardant votre poignet frais et sec toute la journée.\u003cbr\u003e\u003cbr\u003eCourbe d'apprentissage : 1 à 2 semaines d'adaptation pour la première utilisation.\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- Second Carousel (PU Surface \u0026 Non-Slip Base) --\u003e\n\u003cdiv class=\"product_detail_banner\"\u003e\n    \u003c!-- Carousel Title (Top) --\u003e\n    \u003ch4 class=\"carousel-title\"\u003eSurface en PU avec base antidérapante et suivi précis\u003c\/h4\u003e\n    \u003c!-- Carousel Images (Middle) - Replace with actual image links --\u003e\n    \u003cdiv class=\"carousel-container\" aria-label=\"Carrousel de surface PU\"\u003e\n        \u003cbutton class=\"carousel-prev\"\u003e\u003c\/button\u003e\n        \u003cbutton class=\"carousel-next\"\u003e\u003c\/button\u003e\n        \u003cdiv class=\"carousel-slides\"\u003e\n            \u003cdiv class=\"carousel-slide\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0551\/3972\/9497\/files\/9ca58383-2461-474f-8ad6-73bbc894c034.__CR0_0_1464_600_PT0_SX1464_V1.png?v=1766713163\" loading=\"lazy\" alt=\"Surface lisse en cuir PU\"\u003e\u003c\/div\u003e\n            \u003cdiv class=\"carousel-slide\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0551\/3972\/9497\/files\/875049e3-02dd-4520-bdfb-a2ad98c723c1.__CR0_0_1464_600_PT0_SX1464_V1.png?v=1766713163\" loading=\"lazy\" alt=\"Base PU antidérapante\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"carousel-dots\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003c!-- Carousel Text (Bottom) --\u003e\n    \u003cdiv class=\"carousel-desc\"\u003e\n        Doté d'une surface lisse en cuir PU pour un suivi au pixel près et d'une base en caoutchouc antidérapante pour une stabilité ferme, ce tapis de souris offre une double assurance pour un mouvement fluide et contrôlé. La surface lisse assure un glissement sans effort de la souris et un positionnement précis du curseur, compatible avec les souris sans fil, verticales et de jeu.\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- Third Carousel (Size \u0026 Applicability) --\u003e\n\u003cdiv class=\"product_detail_banner\"\u003e\n    \u003c!-- Carousel Title (Top) --\u003e\n    \u003ch4 class=\"carousel-title\"\u003eTaille parfaite pour tous les utilisateurs et large applicabilité\u003c\/h4\u003e\n    \u003c!-- Carousel Images (Middle) - Replace with actual image links --\u003e\n    \u003cdiv class=\"carousel-container\" aria-label=\"Carrousel de taille et d'applicabilité\"\u003e\n        \u003cbutton class=\"carousel-prev\"\u003e\u003c\/button\u003e\n        \u003cbutton class=\"carousel-next\"\u003e\u003c\/button\u003e\n        \u003cdiv class=\"carousel-slides\"\u003e\n            \u003cdiv class=\"carousel-slide\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0551\/3972\/9497\/files\/eac66cf1-cfa4-4941-94c9-be3e73785d29.__CR0_0_1464_600_PT0_SX1464_V1.png?v=1766713162\" loading=\"lazy\" alt=\"Taille 11,81x7,67 pouces\"\u003e\u003c\/div\u003e\n            \u003cdiv class=\"carousel-slide\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0551\/3972\/9497\/files\/9ca58383-2461-474f-8ad6-73bbc894c034.__CR0_0_1464_600_PT0_SX1464_V1____1.png?v=1766713163\" loading=\"lazy\" alt=\"Utilisation à domicile\/bureau\/jeux\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"carousel-dots\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003c!-- Carousel Text (Bottom) --\u003e\n    \u003cdiv class=\"carousel-desc\"\u003e\n        Mesurant 30x19,5x4cm (11,81x7,67x1,57 pouces), il offre un espace suffisant pour le mouvement de la souris et convient aux utilisateurs droitiers et gauchers. Idéal pour les jeux, le travail de bureau ou l'utilisation à domicile. Conseils : Comme il faut un certain temps pour s'habituer à la forme lors de la première utilisation de notre tapis de souris ergonomique, cela peut initialement causer des désagréments, mais il contribuera à réduire la pression et la douleur au poignet dues à une utilisation prolongée de la souris.\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- Carousel JS (Keep unchanged) --\u003e\n\u003cscript\u003e\ndocument.querySelectorAll('.carousel-container').forEach(container =\u003e {\n    const slides = container.querySelector('.carousel-slides');\n    const slideItems = container.querySelectorAll('.carousel-slide');\n    const prevBtn = container.querySelector('.carousel-prev');\n    const nextBtn = container.querySelector('.carousel-next');\n    const dotsContainer = container.querySelector('.carousel-dots');\n    const slideCount = slideItems.length;\n    let currentIndex = 0;\n    let isDragging = false;\n    let startX = 0;\n    let startTranslate = 0;\n    let currentTranslate = 0;\n    let autoPlayInterval;\n\n    const generateDots = () =\u003e {\n        dotsContainer.innerHTML = '';\n        slideItems.forEach((_, index) =\u003e {\n            const dot = document.createElement('div');\n            dot.className = `carousel-dot ${index === 0 ? 'active' : ''}`;\n            dot.addEventListener('click', () =\u003e goToSlide(index));\n            dotsContainer.appendChild(dot);\n        });\n    };\n    const getSlideWidth = () =\u003e slideItems[0].offsetWidth;\n    const updateCarousel = () =\u003e {\n        const slideWidth = getSlideWidth();\n        currentTranslate = -currentIndex * slideWidth;\n        slides.style.transform = `translateX(${currentTranslate}px)`;\n        container.querySelectorAll('.carousel-dot').forEach((dot, i) =\u003e {\n            dot.classList.toggle('active', i === currentIndex);\n        });\n    };\n    const goToSlide = (index) =\u003e {currentIndex = index; updateCarousel(); resetAutoPlay();};\n    const prevSlide = () =\u003e {currentIndex = (currentIndex -1 + slideCount) % slideCount; updateCarousel(); resetAutoPlay();};\n    const nextSlide = () =\u003e {currentIndex = (currentIndex +1) % slideCount; updateCarousel(); resetAutoPlay();};\n\n    const handleTouchStart = (e) =\u003e {\n        isDragging = true; startX = e.touches[0].clientX; startTranslate = currentTranslate; slides.style.transition = 'none'; resetAutoPlay();\n    };\n    const handleTouchMove = (e) =\u003e {\n        if (!isDragging) return;\n        const diffX = e.touches[0].clientX - startX;\n        currentTranslate = (currentIndex===0\u0026\u0026diffX\u003e0)||(currentIndex===slideCount-1\u0026\u0026diffX\u003c0) ? startTranslate + diffX*0.3 : startTranslate + diffX;\n        slides.style.transform = `translateX(${currentTranslate}px)`;\n    };\n    const handleTouchEnd = (e) =\u003e {\n        if (!isDragging) return; isDragging = false; slides.style.transition = 'transform 0.3s ease-out';\n        const diffX = e.changedTouches[0].clientX - startX;\n        const threshold = getSlideWidth() * 0.15;\n        diffX\u003ethreshold ? prevSlide() : diffX\u003c-threshold ? nextSlide() : updateCarousel();\n    };\n\n    const startAutoPlay = () =\u003e autoPlayInterval = setInterval(nextSlide,5000);\n    const resetAutoPlay = () =\u003e {clearInterval(autoPlayInterval); startAutoPlay();};\n    window.addEventListener('resize', updateCarousel);\n    slideItems.forEach(s=\u003es.querySelector('img').addEventListener('load',updateCarousel));\n\n    prevBtn.addEventListener('click', prevSlide);\n    nextBtn.addEventListener('click', nextSlide);\n    container.addEventListener('touchstart', handleTouchStart, {passive:true});\n    container.addEventListener('touchmove', handleTouchMove, {passive:true});\n    container.addEventListener('touchend', handleTouchEnd);\n    container.addEventListener('mouseenter',()=\u003eclearInterval(autoPlayInterval));\n    container.addEventListener('mouseleave', startAutoPlay);\n\n    generateDots();\n    slideItems[0].querySelector('img').complete ? updateCarousel() : slideItems[0].querySelector('img').addEventListener('load', updateCarousel);\n    startAutoPlay();\n});\n\u003c\/script\u003e\n\n\u003c\/body\u003e","brand":"ProtoArc","offers":[{"title":"Black","offer_id":42943090589785,"sku":"CP016706","price":26.59,"currency_code":"USD","in_stock":false},{"title":"Gray","offer_id":42943119720537,"sku":"CP016708","price":28.49,"currency_code":"USD","in_stock":false},{"title":"Beige","offer_id":42943119753305,"sku":"CP016707","price":28.49,"currency_code":"USD","in_stock":false},{"title":"Black PU Leather","offer_id":42943146197081,"sku":"CP016704","price":20.49,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0551\/3972\/9497\/files\/MP50_Mouse_Pad_Main.png?v=1775031852"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0551\/3972\/9497\/collections\/mousepad_collection_cover.webp?v=1778299407","url":"https:\/\/www.protoarc.com\/fr-fr\/collections\/mouse-pads.oembed","provider":"ProtoArc","version":"1.0","type":"link"}