{"title":"Qi2.2","description":"","products":[{"product_id":"kuxiu-x40-turbo-stand","title":"KUXIU X40 Turbo Station de charge sans fil pliable 3-en-1 MagSafe 25W, certifiée Qi2.2 - Gris","description":"\u003cstyle\u003e\n      .x40-shell {\n        color-scheme: dark;\n        --page: #1d1d1f;\n        --panel: #000;\n        --control: #232325;\n        --card: #242426;\n        --text: #f5f5f7;\n        --muted: #a6a6ab;\n        --accent: #ff5a00;\n        --app-pv-icon-fill: #f5f5f7;\n        width: 100%;\n        max-width: none;\n        background: var(--page);\n      }\n\n      .x40-page,\n      .x40-page * { box-sizing: border-box; }\n\n      .x40-page button { font: inherit; }\n\n      .x40-page {\n        position: relative;\n        left: 50%;\n        width: min(1536px, calc(100vw - 48px));\n        max-width: none;\n        margin: 0;\n        padding: 104px 0 70px;\n        transform: translateX(-50%);\n        background: var(--page);\n        color: var(--text);\n        isolation: isolate;\n      }\n\n      .x40-shell h1,\n      .x40-shell h2 { color: var(--text) !important; }\n\n      .x40-shell h2.x40-top-title {\n        max-width: none;\n        margin: 0 0 36px !important;\n        text-align: left;\n      }\n\n      .x40-feature-panel {\n        position: relative;\n        width: min(1440px, 100%);\n        margin-inline: auto;\n        aspect-ratio: 1120 \/ 528;\n        overflow: hidden;\n        border-radius: 20px;\n        background: var(--panel);\n      }\n\n      .x40-selector-stack {\n        position: absolute;\n        z-index: 2;\n        top: 50%;\n        left: 6.05%;\n        width: 28.58%;\n        transform: translateY(-50%);\n        transition: opacity 560ms cubic-bezier(.22, 1, .36, 1), transform 700ms cubic-bezier(.22, 1, .36, 1);\n      }\n\n      .x40-feature-item {\n        transition: opacity 480ms ease, transform 620ms cubic-bezier(.22, 1, .36, 1);\n      }\n      .x40-feature-item + .x40-feature-item { margin-top: 12px; }\n      .x40-feature-panel:not(.x40-is-visible) .x40-selector-stack {\n        visibility: hidden;\n        opacity: 0;\n        transform: translateY(calc(-50% + 34px));\n      }\n      .x40-feature-panel:not(.x40-is-visible) .x40-feature-item { opacity: 0; transform: translateY(18px); }\n      .x40-feature-panel.x40-is-visible .x40-feature-item { opacity: 1; transform: translateY(0); }\n      .x40-feature-panel.x40-is-visible .x40-feature-item:nth-child(1) { transition-delay: 100ms; }\n      .x40-feature-panel.x40-is-visible .x40-feature-item:nth-child(2) { transition-delay: 180ms; }\n      .x40-feature-panel.x40-is-visible .x40-feature-item:nth-child(3) { transition-delay: 260ms; }\n\n      .x40-selector {\n        display: flex;\n        width: max-content;\n        align-items: center;\n        gap: 10px;\n        border: 0;\n        border-radius: 999px;\n        padding: 15px 20px;\n        background: var(--control);\n        color: var(--text);\n        cursor: pointer;\n        font-size: 17px;\n        line-height: 1.2;\n        font-weight: 500;\n        transition: background-color 160ms ease, transform 160ms ease;\n      }\n\n      .x40-selector:hover { background: #303033; }\n      .x40-selector:active { transform: scale(0.98); }\n      .x40-selector:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }\n\n      .x40-selector__icon {\n        display: block;\n        width: 24px;\n        height: 24px;\n        flex: 0 0 24px;\n      }\n\n      .x40-plus-icon { display: block; width: 24px; height: 24px; stroke-width: 1.4; }\n\n      .x40-selector[aria-expanded=\"true\"] .x40-selector__icon { display: none; }\n\n      .x40-feature-copy {\n        display: grid;\n        grid-template-rows: 1fr;\n        width: 100%;\n        margin-top: 12px;\n        border-radius: 16px;\n        background: var(--card);\n        color: var(--text);\n        font-size: 12px;\n        line-height: 1.45;\n        opacity: 1;\n        transition: grid-template-rows 240ms ease, opacity 180ms ease, margin 240ms ease;\n      }\n\n      .x40-feature-copy__inner {\n        min-height: 0;\n        overflow: hidden;\n      }\n\n      .x40-feature-copy__text { margin: 0; padding: 17px 16px; font-size: 17px; }\n\n      .x40-feature-copy.x40-is-collapsed {\n        grid-template-rows: 0fr;\n        margin-top: 0;\n        opacity: 0;\n      }\n\n      .x40-hero-product {\n        display: block;\n        position: absolute;\n        top: 0;\n        left: 50%;\n        width: 50%;\n        height: 100%;\n        margin: 0;\n        padding: 0;\n        object-fit: cover;\n        pointer-events: none;\n        visibility: hidden;\n        opacity: 0;\n        transition: opacity 180ms ease, transform 180ms ease, visibility 0s linear 180ms;\n      }\n\n      .x40-hero-product.x40-is-active {\n        visibility: visible;\n        opacity: 1;\n        transition-delay: 0s;\n      }\n\n      .x40-hero-product.x40-is-changing { opacity: 0.62; transform: scale(0.985); }\n\n      .x40-feature-panel::after,\n      .x40-media-card::after,\n      .x40-full-bleed-section::after {\n        content: \"\";\n        position: absolute;\n        z-index: 3;\n        top: 50%;\n        left: 50%;\n        width: 34px;\n        height: 34px;\n        margin: -17px 0 0 -17px;\n        border: 3px solid rgba(255, 255, 255, 0.34);\n        border-top-color: #fff;\n        border-radius: 50%;\n        opacity: 0;\n        pointer-events: none;\n        transform: scale(.82);\n        transition: opacity 180ms ease, transform 180ms ease;\n      }\n\n      .x40-feature-panel.x40-is-buffering::after,\n      .x40-media-card.x40-is-buffering::after,\n      .x40-full-bleed-section.x40-is-buffering::after {\n        opacity: 1;\n        transform: scale(1);\n        animation: x40-video-spin 800ms linear infinite;\n      }\n\n      @keyframes x40-video-spin { to { transform: scale(1) rotate(360deg); } }\n\n      @media (prefers-reduced-motion: reduce) {\n        .x40-feature-panel.x40-is-buffering::after,\n        .x40-media-card.x40-is-buffering::after,\n        .x40-full-bleed-section.x40-is-buffering::after { animation-duration: 1600ms; }\n      }\n\n      .x40-mobile-feature-detail { display: none; }\n\n      .x40-design-section {\n        padding-top: 56px;\n        text-align: center;\n      }\n\n      .x40-section-kicker,\n      .x40-content-eyebrow {\n        margin: 0 0 14px;\n        color: var(--accent);\n        font-size: 13px;\n        line-height: 1.2;\n        font-weight: 600;\n      }\n\n      .x40-shell h2.x40-section-title,\n      .x40-shell h2.x40-content-headline {\n        max-width: 780px;\n        margin: 0 auto !important;\n        font-size: 48px !important;\n        line-height: 1.1 !important;\n        letter-spacing: -1px !important;\n        font-weight: 600 !important;\n        padding-bottom: 50px;\n      }\n\n      .x40-section-copy,\n      .x40-content-description {\n        max-width: 810px;\n        margin: 18px auto 0;\n        color: var(--muted);\n        font-size: 14px;\n        line-height: 1.5;\n        font-weight: 400;\n      }\n\n      .x40-exploded-product {\n        display: block;\n        width: min(940px, 100%);\n        height: auto;\n        margin: 74px auto 0;\n        object-fit: cover;\n      }\n\n      .x40-section-block { margin-top: 96px; }\n\n      .x40-media-card {\n        position: relative;\n        overflow: hidden;\n        border-radius: 20px;\n      }\n\n      .x40-scroll-video {\n        display: block;\n        width: 100%;\n        height: 100%;\n        margin: 0;\n        object-fit: cover;\n      }\n\n      .x40-overnight-card { aspect-ratio: 1120 \/ 615; }\n\n      .x40-overnight-copy {\n        position: absolute;\n        z-index: 1;\n        top: 33%;\n        left: 5.6%;\n        width: min(34%, 430px);\n        transform: translateY(-20%);\n      }\n\n      .x40-overnight-copy .x40-content-headline,\n      .x40-overnight-copy .x40-content-description { margin-left: 0; text-align: left; }\n      .x40-overnight-copy .x40-content-description { color: var(--text); }\n\n      .x40-charge-stats {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        padding: 76px 0 0;\n      }\n\n      .x40-charge-stat { text-align: center; }\n      .x40-charge-stat img { display: block; width: 52px; height: 72px; margin: 0 auto 18px; object-fit: contain; }\n      .x40-charge-stat:nth-child(2) img { width: 42px; }\n      .x40-charge-stat:nth-child(3) img { width: 58px; }\n      .x40-charge-power, .x40-charge-range { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.15; }\n      .x40-charge-time { margin: 10px 0 14px; color: var(--accent); font-size: 28px; line-height: 1.15; font-weight: 600; }\n\n      .x40-full-bleed-section {\n        position: relative;\n        width: 100vw;\n        aspect-ratio: 1492 \/ 778;\n        margin-left: calc(50% - 50vw);\n        overflow: hidden;\n      }\n\n      .x40-full-bleed-copy {\n        position: absolute;\n        z-index: 1;\n        top: 9.8%;\n        left: 50%;\n        width: min(722px, calc(100% - 48px));\n        transform: translateX(-50%);\n        text-align: center;\n      }\n\n      .x40-standby-copy { top: 12%; }\n\n      .x40-portable-section {\n        display: grid;\n        width: calc(50% + 50vw);\n        grid-template-columns: minmax(340px, 520px) minmax(0, 1fr);\n        column-gap: 0;\n        align-items: start;\n        min-height: 674px;\n        padding-left: 8px;\n        padding-right: 0;\n      }\n\n      .x40-portable-copy { padding-top: 0; }\n      .x40-portable-copy .x40-content-headline,\n      .x40-portable-copy .x40-content-description { margin-left: 0; text-align: left; }\n      .x40-portable-copy .x40-content-description { max-width: 430px; }\n\n      .x40-dimensions-image {\n        display: block;\n        width: 100%;\n        height: 800px;\n        justify-self: end;\n        margin: 0;\n        padding: 0;\n        object-fit: contain;\n        object-position: right top;\n      }\n\n      .x40-box-section { padding-bottom: 0; text-align: center; }\n      .x40-box-picture { display: block; margin-top: 112px; }\n      .x40-box-image {\n        display: block;\n        width: 100%;\n        height: auto;\n        border-radius: 20px;\n      }\n\n      @media (max-width: 900px) {\n        .x40-page { width: min(calc(100vw - 32px), 720px); padding-top: 64px; }\n        .x40-shell h2.x40-section-title,\n        .x40-shell h2.x40-content-headline { padding-bottom: 25px; }\n        .x40-eyebrow-title { margin-bottom: 28px; }\n        .x40-feature-panel {\n          display: block;\n          min-height: 0;\n          aspect-ratio: 390 \/ 600;\n        }\n        .x40-selector-stack {\n          position: absolute;\n          top: auto;\n          bottom: 20px;\n          left: 0;\n          right: 0;\n          display: flex;\n          width: 100%;\n          gap: 10px;\n          margin: 0;\n          padding: 0 20px;\n          overflow-x: auto;\n          overscroll-behavior-inline: contain;\n          scrollbar-width: none;\n          scroll-snap-type: inline proximity;\n          transform: none;\n        }\n        .x40-selector-stack::-webkit-scrollbar { display: none; }\n        .x40-feature-panel:not(.x40-is-visible) .x40-selector-stack { transform: translateY(24px); }\n        .x40-feature-panel.x40-is-visible .x40-selector-stack { transform: translateY(0); }\n        .x40-feature-panel.x40-is-detail .x40-selector-stack {\n          visibility: hidden;\n          opacity: 0;\n          pointer-events: none;\n          transform: translateY(20px);\n        }\n        .x40-feature-item { flex: 0 0 auto; scroll-snap-align: start; }\n        .x40-feature-item + .x40-feature-item { margin-top: 0; }\n        .x40-feature-copy { display: none; }\n        .x40-selector { padding: 12px 16px; font-size: 14px; white-space: nowrap; }\n        .x40-selector__icon,\n        .x40-plus-icon { width: 20px; height: 20px; flex-basis: 20px; }\n        .x40-hero-product {\n          position: absolute;\n          top: 0;\n          left: 0;\n          width: 100%;\n          height: 100%;\n          aspect-ratio: auto;\n          transform: none;\n        }\n        .x40-hero-product.x40-is-changing { transform: scale(0.985); }\n        .x40-mobile-feature-detail {\n          position: absolute;\n          z-index: 4;\n          inset: 0;\n          display: block;\n          visibility: hidden;\n          opacity: 0;\n          pointer-events: none;\n          transition: opacity 320ms ease, visibility 320ms ease;\n        }\n        .x40-feature-panel.x40-is-detail .x40-mobile-feature-detail {\n          visibility: visible;\n          opacity: 1;\n          pointer-events: auto;\n        }\n        .x40-mobile-detail-close,\n        .x40-mobile-detail-arrow {\n          position: absolute;\n          display: grid;\n          width: 44px;\n          height: 44px;\n          place-items: center;\n          border: 0;\n          border-radius: 50%;\n          background: rgba(45, 45, 47, 0.68) !important;\n          color: var(--text);\n          cursor: pointer;\n          font-size: 28px;\n          line-height: 1;\n          -webkit-backdrop-filter: blur(18px) saturate(140%);\n          backdrop-filter: blur(18px) saturate(140%);\n        }\n        .x40-mobile-detail-close::before,\n        .x40-mobile-detail-close::after,\n        .x40-mobile-detail-arrow::before,\n        .x40-mobile-detail-arrow::after { display: none !important; content: none !important; }\n        .x40-mobile-detail-close { top: 18px; right: 18px; font-size: 24px; }\n        .x40-mobile-detail-arrow { bottom: 22px; }\n        .x40-mobile-detail-arrow--prev { left: 12px; }\n        .x40-mobile-detail-arrow--next { right: 12px; }\n        .x40-mobile-detail-card {\n          position: absolute;\n          bottom: 22px;\n          left: 50%;\n          width: min(72%, 420px);\n          min-height: 92px;\n          margin: 0;\n          padding: 18px 20px;\n          transform: translateX(-50%);\n          border-radius: 18px;\n          background: rgba(45, 45, 47, 0.72) !important;\n          color: var(--text);\n          font-size: 14px;\n          line-height: 1.45;\n          text-align: left;\n          -webkit-backdrop-filter: blur(22px) saturate(145%);\n          backdrop-filter: blur(22px) saturate(145%);\n        }\n        .x40-mobile-detail-card strong { font-weight: 600; }\n        .x40-design-section { padding-top: 64px; }\n        .x40-exploded-product { margin-top: 44px; }\n        .x40-section-block { margin-top: 72px; }\n        .x40-overnight-card { aspect-ratio: 4 \/ 5; }\n        .x40-overnight-copy {\n          top: 9%;\n          left: 7%;\n          width: 72%;\n          transform: none;\n        }\n        .x40-charge-stats { gap: 12px; padding-top: 48px; }\n        .x40-full-bleed-section { min-height: 680px; aspect-ratio: auto; }\n        .x40-full-bleed-copy { top: 9%; }\n        .x40-standby-copy { top: 9%; }\n        .x40-portable-section { grid-template-columns: 1fr; min-height: 0; padding-left: 0; }\n        .x40-portable-copy { padding: 0 8px; }\n        .x40-dimensions-image { height: auto; margin-top: 34px; object-position: center; }\n        .x40-box-picture { margin-top: 64px; }\n      }\n\n      @media (min-width: 901px) {\n        .x40-shell h2.x40-section-title,\n        .x40-shell h2.x40-content-headline { font-size: 80px !important; line-height: 1.1 !important; }\n        .x40-section-copy,\n        .x40-content-description { font-size: 21px; }\n        .x40-section-kicker,\n        .x40-content-eyebrow { font-size: 24px; }\n      }\n\n      @media (max-width: 520px) {\n        .x40-page { width: min(calc(100vw - 24px), 420px); padding-top: 42px; }\n        .x40-feature-panel { border-radius: 16px; }\n        .x40-hero-product { width: 100%; height: 100%; }\n        .x40-selector-stack { bottom: 16px; padding-inline: 16px; }\n        .x40-mobile-detail-card { bottom: 18px; width: calc(100% - 112px); padding: 16px; }\n        .x40-mobile-detail-arrow { bottom: 18px; }\n        .x40-shell h2.x40-section-title,\n        .x40-shell h2.x40-content-headline { font-size: 36px !important; line-height: 1.1 !important; }\n        .x40-section-kicker,\n        .x40-content-eyebrow { margin-bottom: 12px; }\n        .x40-section-copy,\n        .x40-content-description { margin-top: 16px; font-size: 14px; }\n        .x40-section-block { margin-top: 64px; }\n        .x40-overnight-card { min-height: 610px; aspect-ratio: auto; }\n        .x40-overnight-copy { top: 7%; width: 82%; }\n        .x40-charge-stats { padding-top: 40px; }\n        .x40-charge-stat img { width: 40px; height: 56px; }\n        .x40-charge-time { font-size: 23px; }\n        .x40-full-bleed-section { min-height: 600px; }\n        .x40-full-bleed-copy { width: calc(100% - 32px); }\n        .x40-box-picture { margin-top: 48px; }\n        .x40-box-image { border-radius: 16px; }\n      }\n\n      @media (prefers-reduced-motion: reduce) {\n        .x40-page,\n        .x40-page *,\n        .x40-page *::before,\n        .x40-page *::after { scroll-behavior: auto !important; transition: none !important; }\n        .x40-feature-panel:not(.x40-is-visible) .x40-selector-stack,\n        .x40-feature-panel:not(.x40-is-visible) .x40-feature-item { transform: none; }\n      }\n    \u003c\/style\u003e\n  \u003cdiv class=\"x40-shell\"\u003e\n  \u003cmain class=\"x40-page\" data-x40-root data-node-id=\"2:12\"\u003e\n      \u003ch2 class=\"x40-section-title x40-top-title\" data-node-id=\"3:2\"\u003eRegardez de plus près.\u003c\/h2\u003e\n\n      \u003csection class=\"x40-feature-panel\" aria-label=\"X40 Turbo charging features\" data-node-id=\"2:13\"\u003e\n        \u003cdiv class=\"x40-selector-stack\"\u003e\n          \u003cdiv class=\"x40-feature-item\"\u003e\n            \u003cbutton class=\"x40-selector\" type=\"button\" aria-expanded=\"false\" aria-controls=\"copy-iphone\" data-feature=\"iphone\"\u003e\n              \u003cspan class=\"x40-selector__icon\" aria-hidden=\"true\"\u003e\u003csvg class=\"x40-plus-icon\" version=\"1.1\" width=\"24px\" height=\"24px\" viewbox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"11.3\" style=\"stroke: var(--app-pv-icon-fill); fill: none;\"\u003e\u003c\/circle\u003e\u003cg transform=\"translate(7 7)\" style=\"stroke: none; fill: var(--app-pv-icon-fill);\"\u003e\u003cpath d=\"m9 4h-3v-3c0-0.553-0.447-1-1-1s-1 0.447-1 1v3h-3c-0.553 0-1 0.447-1 1s0.447 1 1 1h3v3c0 0.553 0.447 1 1 1s1-0.447 1-1v-3h3c0.553 0 1-0.447 1-1s-0.447-1-1-1\"\u003e\u003c\/path\u003e\u003c\/g\u003e\u003c\/svg\u003e\u003c\/span\u003ePour iPhone\n            \u003c\/button\u003e\n            \u003cdiv class=\"x40-feature-copy x40-is-collapsed\" id=\"copy-iphone\" aria-hidden=\"true\"\u003e\n              \u003cdiv class=\"x40-feature-copy__inner\"\u003e\u003cp class=\"x40-feature-copy__text\"\u003eFixez-le magnétiquement et rechargez. Compatible avec les coques MagSafe.\u003c\/p\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"x40-feature-item\"\u003e\n            \u003cbutton class=\"x40-selector\" type=\"button\" aria-expanded=\"false\" aria-controls=\"copy-watch\" data-feature=\"watch\"\u003e\n              \u003cspan class=\"x40-selector__icon\" aria-hidden=\"true\"\u003e\u003csvg class=\"x40-plus-icon\" version=\"1.1\" width=\"24px\" height=\"24px\" viewbox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"11.3\" style=\"stroke: var(--app-pv-icon-fill); fill: none;\"\u003e\u003c\/circle\u003e\u003cg transform=\"translate(7 7)\" style=\"stroke: none; fill: var(--app-pv-icon-fill);\"\u003e\u003cpath d=\"m9 4h-3v-3c0-0.553-0.447-1-1-1s-1 0.447-1 1v3h-3c-0.553 0-1 0.447-1 1s0.447 1 1 1h3v3c0 0.553 0.447 1 1 1s1-0.447 1-1v-3h3c0.553 0 1-0.447 1-1s-0.447-1-1-1\"\u003e\u003c\/path\u003e\u003c\/g\u003e\u003c\/svg\u003e\u003c\/span\u003ePour Apple Watch\n            \u003c\/button\u003e\n            \u003cdiv class=\"x40-feature-copy x40-is-collapsed\" id=\"copy-watch\" aria-hidden=\"true\"\u003e\n              \u003cdiv class=\"x40-feature-copy__inner\"\u003e\u003cp class=\"x40-feature-copy__text\"\u003eFaites-le pivoter, relevez-le et rechargez votre Apple Watch sans fil.\u003c\/p\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"x40-feature-item\"\u003e\n            \u003cbutton class=\"x40-selector\" type=\"button\" aria-expanded=\"false\" aria-controls=\"copy-airpods\" data-feature=\"airpods\"\u003e\n              \u003cspan class=\"x40-selector__icon\" aria-hidden=\"true\"\u003e\u003csvg class=\"x40-plus-icon\" version=\"1.1\" width=\"24px\" height=\"24px\" viewbox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"11.3\" style=\"stroke: var(--app-pv-icon-fill); fill: none;\"\u003e\u003c\/circle\u003e\u003cg transform=\"translate(7 7)\" style=\"stroke: none; fill: var(--app-pv-icon-fill);\"\u003e\u003cpath d=\"m9 4h-3v-3c0-0.553-0.447-1-1-1s-1 0.447-1 1v3h-3c-0.553 0-1 0.447-1 1s0.447 1 1 1h3v3c0 0.553 0.447 1 1 1s1-0.447 1-1v-3h3c0.553 0 1-0.447 1-1s-0.447-1-1-1\"\u003e\u003c\/path\u003e\u003c\/g\u003e\u003c\/svg\u003e\u003c\/span\u003ePour AirPods\n            \u003c\/button\u003e\n            \u003cdiv class=\"x40-feature-copy x40-is-collapsed\" id=\"copy-airpods\" aria-hidden=\"true\"\u003e\n              \u003cdiv class=\"x40-feature-copy__inner\"\u003e\u003cp class=\"x40-feature-copy__text\"\u003ePlacez vos AirPods au centre de la zone de recharge. La recharge sans fil démarre immédiatement.\u003c\/p\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cvideo class=\"x40-hero-product x40-is-active\" data-video-key=\"default\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/c029f597bae4430293bf9ce219cad8d6.webm\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-x40-default.jpg?v=1785824406\" muted playsinline preload=\"none\" aria-label=\"X40 Turbo Gray product animation\" data-node-id=\"3:15\"\u003e\u003c\/video\u003e\n        \u003cvideo class=\"x40-hero-product\" data-video-key=\"iphone\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/4f5590a5f5284cf9acfbc66f6010fe58.webm\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-x40-for-iphone.jpg?v=1785822027\" muted playsinline preload=\"none\" aria-hidden=\"true\"\u003e\u003c\/video\u003e\n        \u003cvideo class=\"x40-hero-product\" data-video-key=\"watch\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/e6b847b52a5e42bc91ce1e1679587576.webm\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-x40-for-apple-watch.jpg?v=1785822028\" muted playsinline preload=\"none\" aria-hidden=\"true\"\u003e\u003c\/video\u003e\n        \u003cvideo class=\"x40-hero-product\" data-video-key=\"airpods\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/662e0a2dba874890a205c9f7adceabc5.webm\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-x40-for-airpods.jpg?v=1785822028\" muted playsinline preload=\"none\" aria-hidden=\"true\"\u003e\u003c\/video\u003e\n        \u003cdiv class=\"x40-mobile-feature-detail\" aria-hidden=\"true\"\u003e\n          \u003cbutton class=\"x40-mobile-detail-close\" type=\"button\" aria-label=\"Fermer les détails\"\u003e×\u003c\/button\u003e\n          \u003cbutton class=\"x40-mobile-detail-arrow x40-mobile-detail-arrow--prev\" type=\"button\" aria-label=\"Fonction précédente\"\u003e‹\u003c\/button\u003e\n          \u003cp class=\"x40-mobile-detail-card\" role=\"status\"\u003e\u003c\/p\u003e\n          \u003cbutton class=\"x40-mobile-detail-arrow x40-mobile-detail-arrow--next\" type=\"button\" aria-label=\"Fonction suivante\"\u003e›\u003c\/button\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"x40-design-section\" data-node-id=\"2:14\"\u003e\n        \u003cp class=\"x40-section-kicker\"\u003eDesign\u003c\/p\u003e\n        \u003ch2 class=\"x40-section-title\"\u003eAluminium usiné\u003cbr\u003eavec précision.\u003c\/h2\u003e\n        \u003cp class=\"x40-section-copy\"\u003e\n          Bead-blasted for a smooth, refined texture. Anodized for lasting protection. Every surface is finished with precision—so it looks as good as it feels.\n        \u003c\/p\u003e\n        \u003cimg class=\"x40-exploded-product\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/x40-turbo-exploded-finish.png?v=1785736513\" alt=\"Exploded view of the X40 Turbo Gray aluminum finish\" loading=\"lazy\" decoding=\"async\" data-node-id=\"3:19\"\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"x40-section-block x40-overnight-section\" data-node-id=\"27:2\" aria-labelledby=\"overnight-title\"\u003e\n        \u003cdiv class=\"x40-media-card x40-overnight-card\"\u003e\n          \u003cvideo class=\"x40-scroll-video\" muted playsinline preload=\"none\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-section3-pc.jpg?v=1785816127\" data-poster-pc=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-section3-pc.jpg?v=1785816127\" data-poster-mb=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-section3-mb.jpg?v=1785816132\" aria-label=\"X40 Turbo fast charging demonstration\"\u003e\n            \u003csource media=\"(max-width: 900px)\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/e36449687c37486b994605da1fe7212e.webm\" type=\"video\/webm\"\u003e\n            \u003csource data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/8fb92b8d2e804443ade60ba84cdf7c97.webm\" type=\"video\/webm\"\u003e\u003c\/source\u003e\u003c\/video\u003e\n          \u003cdiv class=\"x40-overnight-copy\"\u003e\n            \u003cp class=\"x40-content-eyebrow\"\u003eCertifié Qi2.2\u003c\/p\u003e\n            \u003ch2 class=\"x40-content-headline\" id=\"overnight-title\"\u003ePlus besoin de recharger toute la nuit.\u003c\/h2\u003e\n            \u003cp class=\"x40-content-description\"\u003ePosez votre téléphone avant la douche, prenez votre café et partez avec 80 % de batterie. Une seule main suffit pour le placer sur le support.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"x40-charge-stats\" aria-label=\"Charging performance\"\u003e\n          \u003carticle class=\"x40-charge-stat\"\u003e\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/Charging_for_iPhone.svg?v=1785736195\" alt=\"Charging for iPhone\" loading=\"lazy\" decoding=\"async\"\u003e\n            \u003cp class=\"x40-charge-power\"\u003e25W Max\u003c\/p\u003e\n            \u003cp class=\"x40-charge-time\"\u003e45min\u003c\/p\u003e\n            \u003cp class=\"x40-charge-range\"\u003e0~80%\u003c\/p\u003e\n          \u003c\/article\u003e\n          \u003carticle class=\"x40-charge-stat\"\u003e\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/Charging_for_Apple_Watch.svg?v=1785736195\" alt=\"Charging for Apple Watch\" loading=\"lazy\" decoding=\"async\"\u003e\n            \u003cp class=\"x40-charge-power\"\u003e5W Max\u003c\/p\u003e\n            \u003cp class=\"x40-charge-time\"\u003e40min\u003c\/p\u003e\n            \u003cp class=\"x40-charge-range\"\u003e0~50%\u003c\/p\u003e\n          \u003c\/article\u003e\n          \u003carticle class=\"x40-charge-stat\"\u003e\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/Charging_for_AirPods.svg?v=1785736195\" alt=\"Charging for AirPods\" loading=\"lazy\" decoding=\"async\"\u003e\n            \u003cp class=\"x40-charge-power\"\u003e5W Max\u003c\/p\u003e\n            \u003cp class=\"x40-charge-time\"\u003e50min\u003c\/p\u003e\n            \u003cp class=\"x40-charge-range\"\u003e0~80%\u003c\/p\u003e\n          \u003c\/article\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"x40-section-block x40-full-bleed-section x40-full-bleed-section--green\" data-node-id=\"27:3\" aria-labelledby=\"magsafe-title\"\u003e\n        \u003cvideo class=\"x40-scroll-video\" muted playsinline preload=\"none\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-section4-pc.jpg?v=1785816112\" data-poster-pc=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-section4-pc.jpg?v=1785816112\" data-poster-mb=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-section4-mb.jpg?v=1785816107\" aria-label=\"X40 Turbo MagSafe parfaite demonstration\"\u003e\n          \u003csource media=\"(max-width: 900px)\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/6883aeb72b99430e95537ed20a85fce7.webm\" type=\"video\/webm\"\u003e\n          \u003csource data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/a9ab39e25095471c901ddc6f9f7f0ab3.webm\" type=\"video\/webm\"\u003e\u003c\/source\u003e\u003c\/video\u003e\n        \u003cdiv class=\"x40-full-bleed-copy\"\u003e\n          \u003cp class=\"x40-content-eyebrow\"\u003eDesign\u003c\/p\u003e\n          \u003ch2 class=\"x40-content-headline\" id=\"magsafe-title\"\u003eL’expérience MagSafe\u003cbr\u003eparfaite\u003c\/h2\u003e\n          \u003cp class=\"x40-content-description\"\u003eConçu pour une utilisation aisée à une main et une connexion MagSafe sûre. Chaque aimant est calibré avec précision pour offrir puissance et stabilité—fluidité, simplicité et élégance.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"x40-full-bleed-section x40-full-bleed-section--blue\" data-node-id=\"27:4\" aria-labelledby=\"standby-title\"\u003e\n        \u003cvideo class=\"x40-scroll-video\" muted playsinline preload=\"none\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-section5-pc.jpg?v=1785816121\" data-poster-pc=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-section5-pc.jpg?v=1785816121\" data-poster-mb=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-section5-mb.jpg?v=1785816101\" aria-label=\"X40 Turbo StandBy mode demonstration\"\u003e\n          \u003csource media=\"(max-width: 900px)\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/61baa79e68f949a5af01c0ce3c864024.webm\" type=\"video\/webm\"\u003e\n          \u003csource data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/460896e131bb4af69227ce6b215ef957.webm\" type=\"video\/webm\"\u003e\u003c\/source\u003e\u003c\/video\u003e\n        \u003cdiv class=\"x40-full-bleed-copy x40-standby-copy\"\u003e\n          \u003ch2 class=\"x40-content-headline\" id=\"standby-title\"\u003ePrêt pour le mode En veille\u003c\/h2\u003e\n          \u003cp class=\"x40-content-description\"\u003eProfitez du pratique mode En veille de votre iPhone. Avec le X40 Turbo, placez simplement votre téléphone à l’horizontale pour l’activer.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"x40-section-block x40-portable-section\" data-node-id=\"27:5\" aria-labelledby=\"portable-title\"\u003e\n        \u003cdiv class=\"x40-portable-copy\"\u003e\n          \u003cp class=\"x40-content-eyebrow\"\u003eDimensions\u003c\/p\u003e\n          \u003ch2 class=\"x40-content-headline\" id=\"portable-title\"\u003ePortable,\u003cbr\u003eprêt à vous suivre\u003cbr\u003epartout\u003c\/h2\u003e\n          \u003cp class=\"x40-content-description\"\u003eAssez compact pour vous suivre partout. Assez puissant pour chaque journée. Le X40 Turbo vous permet de rester prêt, où que la vie vous mène.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cimg class=\"x40-dimensions-image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/X40Turbo_Dimensions-Gray.png?v=1785736069\" alt=\"X40 Turbo folded dimensions and portable size\" loading=\"lazy\" decoding=\"async\"\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"x40-section-block x40-box-section\" data-node-id=\"27:6\" aria-labelledby=\"box-title\"\u003e\n        \u003ch2 class=\"x40-content-headline\" id=\"box-title\"\u003eContenu de la boîte.\u003c\/h2\u003e\n        \u003cp class=\"x40-content-description\"\u003eTout ce dont vous avez besoin, dès l’ouverture.\u003c\/p\u003e\n        \u003cpicture class=\"x40-box-picture\"\u003e\n          \u003csource media=\"(max-width: 900px)\" srcset=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/in-the-box-MB-0819.jpg?v=1787128357\"\u003e\n          \u003cimg class=\"x40-box-image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/in-the-box-PC-0819.jpg?v=1787128356\" alt=\"X40 Turbo package contents\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/picture\u003e\n      \u003c\/section\u003e\n    \u003c\/main\u003e\n  \u003c\/div\u003e\n\n    \u003cscript\u003e\n    (() =\u003e {\n      const initX40 = (root) =\u003e {\n      if (root.dataset.x40Ready === \"true\") return;\n      root.dataset.x40Ready = \"true\";\n\n      const buttons = [...root.querySelectorAll(\"[data-feature]\")];\n      const product = root.querySelector('[data-video-key=\"default\"]');\n      const featureVideoElements = new Map(\n        [...root.querySelectorAll(\".x40-hero-product[data-video-key]\")]\n          .filter((video) =\u003e video.dataset.videoKey !== \"default\")\n          .map((video) =\u003e [video.dataset.videoKey, video])\n      );\n      let activeProductVideo = product;\n      const instanceId = `x40-${Math.random().toString(36).slice(2, 9)}`;\n      buttons.forEach((button) =\u003e {\n        const panel = root.querySelector(`[id=\"${button.getAttribute(\"aria-controls\")}\"]`);\n        if (!panel) return;\n        panel.id = `${panel.id}-${instanceId}`;\n        button.setAttribute(\"aria-controls\", panel.id);\n      });\n      const featureContent = {\n        iphone: {\n          label: \"Pour iPhone\",\n          copy: \"Structure monocoque en aluminium, optimisée pour les performances et la batterie. L’alliage d’aluminium est remarquablement léger et possède une conductivité thermique exceptionnelle.\"\n        },\n        watch: {\n          label: \"Pour Apple Watch\",\n          copy: \"Une surface de recharge dédiée maintient l’Apple Watch en sécurité, bien visible et prête à fonctionner toute la journée.\"\n        },\n        airpods: {\n          label: \"Pour AirPods\",\n          copy: \"Une base de recharge sans fil stable offre aux AirPods un emplacement précis pour se recharger sans encombrer l’espace.\"\n        }\n      };\n      const featureKeys = [...featureVideoElements.keys()];\n      const mobileQuery = window.matchMedia(\"(max-width: 900px)\");\n      const defaultVideo = \"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/c029f597bae4430293bf9ce219cad8d6.webm\";\n      const observedVideos = [...root.querySelectorAll(\".x40-scroll-video\")];\n      const allFeatureVideos = [product, ...featureVideoElements.values()];\n      const allVideos = [...allFeatureVideos, ...observedVideos];\n      const preloadQueue = [];\n      const queuedVideos = new Set();\n      let preloadBusy = false;\n\n      const updateResponsivePosters = () =\u003e {\n        observedVideos.forEach((video) =\u003e {\n          const poster = mobileQuery.matches ? video.dataset.posterMb : video.dataset.posterPc;\n          if (poster \u0026\u0026 video.poster !== new URL(poster, document.baseURI).href) video.poster = poster;\n        });\n      };\n      updateResponsivePosters();\n\n      const hydrateVideo = (video) =\u003e {\n        if (video.dataset.hydrated === \"true\") return;\n        video.preload = \"auto\";\n        if (video.dataset.src) {\n          video.src = video.dataset.src;\n          video.removeAttribute(\"data-src\");\n        }\n        video.querySelectorAll(\"source[data-src]\").forEach((source) =\u003e {\n          source.src = source.dataset.src;\n          source.removeAttribute(\"data-src\");\n        });\n        video.dataset.hydrated = \"true\";\n        video.load();\n      };\n\n      const videoHost = (video) =\u003e video.closest(\".x40-feature-panel, .x40-media-card, .x40-full-bleed-section\");\n      const setBuffering = (video, buffering) =\u003e videoHost(video)?.classList.toggle(\"x40-is-buffering\", buffering);\n\n      const prepareAndPlay = (video) =\u003e {\n        queuedVideos.delete(video);\n        video.dataset.wantsPlayback = \"true\";\n        hydrateVideo(video);\n        if (video.readyState \u003c HTMLMediaElement.HAVE_FUTURE_DATA) setBuffering(video, true);\n        const playback = video.play();\n        if (playback) playback.catch(() =\u003e {});\n      };\n\n      const drainPreloadQueue = () =\u003e {\n        if (preloadBusy) return;\n        const video = preloadQueue.shift();\n        if (!video) return;\n        queuedVideos.delete(video);\n        if (video.dataset.hydrated === \"true\") {\n          drainPreloadQueue();\n          return;\n        }\n        preloadBusy = true;\n        let finished = false;\n        const finish = () =\u003e {\n          if (finished) return;\n          finished = true;\n          preloadBusy = false;\n          video.removeEventListener(\"canplay\", finish);\n          video.removeEventListener(\"error\", finish);\n          window.clearTimeout(timeout);\n          drainPreloadQueue();\n        };\n        const timeout = window.setTimeout(finish, 6000);\n        video.addEventListener(\"canplay\", finish, { once: true });\n        video.addEventListener(\"error\", finish, { once: true });\n        hydrateVideo(video);\n        if (video.readyState \u003e= HTMLMediaElement.HAVE_FUTURE_DATA) finish();\n      };\n\n      const queuePreload = (video, priority = false) =\u003e {\n        if (video.dataset.hydrated === \"true\" || queuedVideos.has(video)) return;\n        queuedVideos.add(video);\n        priority ? preloadQueue.unshift(video) : preloadQueue.push(video);\n        drainPreloadQueue();\n      };\n\n      allVideos.forEach((video) =\u003e {\n        video.addEventListener(\"waiting\", () =\u003e {\n          const canControlIndicator = !allFeatureVideos.includes(video) || video === activeProductVideo;\n          if (canControlIndicator \u0026\u0026 video.dataset.wantsPlayback === \"true\") setBuffering(video, true);\n        });\n        [\"canplay\", \"playing\", \"ended\", \"error\"].forEach((eventName) =\u003e {\n          video.addEventListener(eventName, () =\u003e {\n            const canControlIndicator = !allFeatureVideos.includes(video) || video === activeProductVideo;\n            if (canControlIndicator) setBuffering(video, false);\n          });\n        });\n        video.addEventListener(\"playing\", () =\u003e {\n          video.dataset.started = \"true\";\n          video.dataset.autoPaused = \"false\";\n        });\n        video.addEventListener(\"ended\", () =\u003e {\n          video.dataset.wantsPlayback = \"false\";\n          video.dataset.finished = \"true\";\n        });\n      });\n\n      const featurePanel = root.querySelector(\".x40-feature-panel\");\n      const mobileDetail = root.querySelector(\".x40-mobile-feature-detail\");\n      const mobileDetailCard = root.querySelector(\".x40-mobile-detail-card\");\n      const mobileClose = root.querySelector(\".x40-mobile-detail-close\");\n      const mobilePrevious = root.querySelector(\".x40-mobile-detail-arrow--prev\");\n      const mobileNext = root.querySelector(\".x40-mobile-detail-arrow--next\");\n      let activeFeature = null;\n      const revealFeaturePanel = () =\u003e {\n        if (featurePanel.classList.contains(\"x40-is-visible\")) return;\n        featurePanel.classList.add(\"x40-is-visible\");\n        product.dataset.played = \"true\";\n        prepareAndPlay(product);\n      };\n\n      if (\"IntersectionObserver\" in window) {\n        const featureObserver = new IntersectionObserver((entries, observer) =\u003e {\n          entries.forEach((entry) =\u003e {\n            if (!entry.isIntersecting) return;\n            revealFeaturePanel();\n            observer.unobserve(entry.target);\n          });\n        }, { rootMargin: \"0px 0px -78% 0px\", threshold: 0 });\n        featureObserver.observe(featurePanel);\n      } else {\n        revealFeaturePanel();\n      }\n\n      const playFeatureVideo = (key) =\u003e {\n        const nextVideo = featureVideoElements.get(key);\n        if (!nextVideo) return;\n        const shouldRestart = nextVideo.dataset.started === \"true\";\n        if (activeProductVideo !== nextVideo) {\n          activeProductVideo.pause();\n          activeProductVideo.dataset.wantsPlayback = \"false\";\n          activeProductVideo.classList.remove(\"x40-is-active\", \"x40-is-changing\");\n          activeProductVideo.setAttribute(\"aria-hidden\", \"true\");\n          activeProductVideo = nextVideo;\n          activeProductVideo.classList.add(\"x40-is-active\", \"x40-is-changing\");\n          activeProductVideo.removeAttribute(\"aria-hidden\");\n        }\n        hydrateVideo(activeProductVideo);\n        activeProductVideo.dataset.finished = \"false\";\n        if (shouldRestart) {\n          if (nextVideo.readyState \u003e= HTMLMediaElement.HAVE_METADATA) {\n            nextVideo.currentTime = 0;\n          } else {\n            nextVideo.addEventListener(\"loadedmetadata\", () =\u003e { nextVideo.currentTime = 0; }, { once: true });\n          }\n        }\n        prepareAndPlay(activeProductVideo);\n        window.setTimeout(() =\u003e nextVideo.classList.remove(\"x40-is-changing\"), 180);\n      };\n\n      const selectFeature = (key) =\u003e {\n        activeFeature = key;\n        buttons.forEach((item) =\u003e {\n          const active = item.dataset.feature === key;\n          item.setAttribute(\"aria-expanded\", String(active));\n          const panel = root.querySelector(`[id=\"${item.getAttribute(\"aria-controls\")}\"]`);\n          panel.classList.toggle(\"x40-is-collapsed\", !active || mobileQuery.matches);\n          panel.setAttribute(\"aria-hidden\", String(!active || mobileQuery.matches));\n        });\n\n        if (mobileQuery.matches) {\n          const content = featureContent[key];\n          const label = document.createElement(\"strong\");\n          label.textContent = `${content.label}.`;\n          mobileDetailCard.replaceChildren(label, document.createTextNode(` ${content.copy}`));\n          featurePanel.classList.add(\"x40-is-detail\");\n          mobileDetail.setAttribute(\"aria-hidden\", \"false\");\n        }\n        playFeatureVideo(key);\n      };\n\n      const closeMobileDetail = () =\u003e {\n        activeFeature = null;\n        featurePanel.classList.remove(\"x40-is-detail\");\n        mobileDetail.setAttribute(\"aria-hidden\", \"true\");\n        buttons.forEach((item) =\u003e item.setAttribute(\"aria-expanded\", \"false\"));\n        activeProductVideo.pause();\n        activeProductVideo.dataset.wantsPlayback = \"false\";\n        activeProductVideo.classList.remove(\"x40-is-active\", \"x40-is-changing\");\n        activeProductVideo.setAttribute(\"aria-hidden\", \"true\");\n        activeProductVideo = product;\n        activeProductVideo.classList.add(\"x40-is-active\");\n        activeProductVideo.removeAttribute(\"aria-hidden\");\n        hydrateVideo(activeProductVideo);\n        activeProductVideo.dataset.finished = \"false\";\n        if (activeProductVideo.readyState \u003e= HTMLMediaElement.HAVE_METADATA) {\n          activeProductVideo.currentTime = 0;\n        } else {\n          product.addEventListener(\"loadedmetadata\", () =\u003e { product.currentTime = 0; }, { once: true });\n        }\n        prepareAndPlay(activeProductVideo);\n      };\n\n      const warmFeatureVideo = (key) =\u003e {\n        const video = featureVideoElements.get(key);\n        if (video) queuePreload(video, true);\n      };\n\n      let featureCacheQueued = false;\n      const beginFeatureCacheAfterDefault = () =\u003e {\n        const activeSource = product.currentSrc || product.src;\n        if (featureCacheQueued || activeSource !== defaultVideo) return;\n        featureCacheQueued = true;\n        featureKeys.forEach((key) =\u003e {\n          const video = featureVideoElements.get(key);\n          if (video) queuePreload(video);\n        });\n      };\n      product.addEventListener(\"canplay\", beginFeatureCacheAfterDefault);\n      if (product.readyState \u003e= HTMLMediaElement.HAVE_FUTURE_DATA) beginFeatureCacheAfterDefault();\n\n      buttons.forEach((button) =\u003e {\n        button.addEventListener(\"click\", () =\u003e selectFeature(button.dataset.feature));\n        let hoverTimer;\n        button.addEventListener(\"pointerenter\", () =\u003e {\n          hoverTimer = window.setTimeout(() =\u003e warmFeatureVideo(button.dataset.feature), 160);\n        });\n        button.addEventListener(\"pointerleave\", () =\u003e window.clearTimeout(hoverTimer));\n        button.addEventListener(\"focus\", () =\u003e warmFeatureVideo(button.dataset.feature), { once: true });\n        button.addEventListener(\"touchstart\", () =\u003e warmFeatureVideo(button.dataset.feature), { passive: true, once: true });\n      });\n\n      const moveMobileFeature = (direction) =\u003e {\n        const currentIndex = Math.max(0, featureKeys.indexOf(activeFeature));\n        const nextIndex = (currentIndex + direction + featureKeys.length) % featureKeys.length;\n        selectFeature(featureKeys[nextIndex]);\n      };\n\n      mobileClose.addEventListener(\"click\", closeMobileDetail);\n      mobilePrevious.addEventListener(\"click\", () =\u003e moveMobileFeature(-1));\n      mobileNext.addEventListener(\"click\", () =\u003e moveMobileFeature(1));\n      mobileQuery.addEventListener(\"change\", () =\u003e {\n        updateResponsivePosters();\n        if (!mobileQuery.matches \u0026\u0026 featurePanel.classList.contains(\"x40-is-detail\")) closeMobileDetail();\n      });\n\n      if (\"IntersectionObserver\" in window) {\n        const preloadObserver = new IntersectionObserver((entries, observer) =\u003e {\n          entries.forEach((entry) =\u003e {\n            if (!entry.isIntersecting) return;\n            queuePreload(entry.target);\n            observer.unobserve(entry.target);\n          });\n        }, { rootMargin: \"1200px 0px\", threshold: 0 });\n\n        [product, ...observedVideos].forEach((video) =\u003e preloadObserver.observe(video));\n\n        const videoObserver = new IntersectionObserver((entries, observer) =\u003e {\n          entries.forEach((entry) =\u003e {\n            if (!entry.isIntersecting || entry.target.dataset.played === \"true\") return;\n            entry.target.dataset.played = \"true\";\n            prepareAndPlay(entry.target);\n            observer.unobserve(entry.target);\n          });\n        }, { rootMargin: \"0px 0px -78% 0px\", threshold: 0 });\n        observedVideos.forEach((video) =\u003e videoObserver.observe(video));\n\n        const visibilityObserver = new IntersectionObserver((entries) =\u003e {\n          entries.forEach((entry) =\u003e {\n            const video = entry.target;\n            const isFeatureVideo = allFeatureVideos.includes(video);\n            if (isFeatureVideo \u0026\u0026 video !== activeProductVideo) {\n              video.pause();\n              video.dataset.autoPaused = \"false\";\n              setBuffering(video, false);\n              return;\n            }\n            if (!entry.isIntersecting) {\n              if (!video.paused \u0026\u0026 !video.ended) {\n                video.pause();\n                video.dataset.autoPaused = \"true\";\n              }\n              setBuffering(video, false);\n              return;\n            }\n            if (video.dataset.autoPaused === \"true\" \u0026\u0026 video.dataset.finished !== \"true\") prepareAndPlay(video);\n          });\n        }, { rootMargin: \"80px 0px\", threshold: 0.06 });\n        allVideos.forEach((video) =\u003e visibilityObserver.observe(video));\n      } else {\n        allVideos.forEach(queuePreload);\n      }\n      };\n\n      const bootX40 = (scope = document) =\u003e {\n        if (scope.matches?.(\"[data-x40-root]\")) initX40(scope);\n        scope.querySelectorAll?.(\"[data-x40-root]\").forEach(initX40);\n      };\n\n      bootX40();\n      if (!window.__x40ShopifySectionListener) {\n        window.__x40ShopifySectionListener = true;\n        document.addEventListener(\"shopify:section:load\", (event) =\u003e bootX40(event.target));\n      }\n    })();\n    \u003c\/script\u003e\n\n","brand":"KUXIU","offers":[{"title":"Default Title","offer_id":47048892743732,"sku":"X40Turbo-QI2.2-Grey","price":78.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/X40Turbo_Gray_14.png?v=1766554633"},{"product_id":"kuxiu-x40-turbo-stand-black","title":"KUXIU X40 Turbo Station de charge sans fil pliable 3-en-1 MagSafe 25W, certifiée Qi2.2 - Noir","description":"\u003cdiv class=\"cus_container\"\u003e\n\u003cdiv class=\"cus_section\"\u003e\n\u003cdiv class=\"description-container\"\u003e\n\u003cdiv class=\"products_des\"\u003e\n\u003ch1\u003eCharge Qi2.2 25W Turbo\u003c\/h1\u003e\n\u003cp\u003eIntégré avec le module de charge sans fil Qi2.2 certifié 25W recommandé par Apple. Chargez votre iPhone 17 Pro à 50% en seulement 25 minutes — la vitesse de charge sans fil la plus rapide disponible pour iPhone.\u003c\/p\u003e\n\u003cp\u003e\u003ci\u003eNote : La charge rapide 25W est prise en charge sur la série iPhone 16 et supérieure.\u003c\/i\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"KUXIU X40 Turbo Qi2.2 Certifié 25W Support de Charge Sans Fil Pliable 3-en-1 MagSafe\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-X40-Turbo-Gray-1-1.jpg?v=1764300154\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cus_section\"\u003e\n\u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"KUXIU X40 Turbo Qi2.2 Certifié 25W Support de Charge Sans Fil Pliable 3-en-1 MagSafe\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-X40-Turbo-black-2.jpg?v=1756784310\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"description-container\"\u003e\n\u003cdiv class=\"products_des\"\u003e\n\u003ch1\u003eDesign 25 % Plus Petit et Mince\u003c\/h1\u003e\n\u003cp\u003eComparé au X40 précédent, le X40 Turbo est réduit d'environ 25 % en taille, offrant un profil plus mince tout en offrant des performances améliorées et une qualité premium.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cus_section\"\u003e\n\u003cdiv class=\"description-container\"\u003e\n\u003cdiv class=\"products_des\"\u003e\n\u003ch1\u003eConnexion Magnétique Parfaite\u003c\/h1\u003e\n\u003cp\u003eÉquipé de 16 puissants aimants N52 pour maintenir votre téléphone solidement en place tout en assurant un alignement MagSafe précis. Fixez ou détachez facilement votre iPhone d'une seule main — fluide, naturel et élégant.\u003c\/p\u003e\n\u003cp\u003e\u003cb\u003eCompatible avec les coques MagSafe\u003c\/b\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"KUXIU X40 Turbo Qi2.2 Certifié 25W Support de Charge Sans Fil Pliable 3-en-1 MagSafe\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-X40-Turbo-black-3.jpg?v=1756784311\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cus_section\"\u003e\n\u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"KUXIU X40 Turbo Qi2.2 Certifié 25W Support de Charge Sans Fil Pliable 3-en-1 MagSafe\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-X40-Turbo-black-4.jpg?v=1756784311\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"description-container\"\u003e\n\u003cdiv class=\"products_des\"\u003e\n\u003ch1\u003eConstruction en Alliage d'Aluminium CNC\u003c\/h1\u003e\n\u003cp\u003eFabriqué à partir d'un alliage d'aluminium de haute qualité avec usinage CNC, sablage et finition anodisée. Durable, raffiné et d'une qualité sans compromis.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cus_section\"\u003e\n\u003cdiv class=\"description-container\"\u003e\n\u003cdiv class=\"products_des\"\u003e\n\u003ch1\u003eLe paquet contient\u003c\/h1\u003e\n\u003cp\u003eSupport de charge 3-en-1 X40 Turbo ×1\u003cbr\u003eCâble de charge ×1\u003cbr\u003ePochette de rangement ×1 \u003cbr\u003eAdaptateur secteur ×1 (Adapté aux spécifications de votre pays de livraison)\u003cbr\u003eManuel d'utilisation ×1\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"KUXIU X40 Turbo Qi2.2 Certifié 25W Support de Charge Sans Fil Pliable 3-en-1 MagSafe\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-X40-Turbo-black-5.jpg?v=1756784310\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"KUXIU","offers":[{"title":"Default Title","offer_id":47053932757044,"sku":"X40Turbo-QI2.2-Black","price":78.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/X40Turbo_Black_18.png?v=1789624499"},{"product_id":"kuxiu-k1-ultra-power-bank","title":"KUXIU K1 Ultra Batterie Externe Sans Fil MagSafe 3-en-1 10000mAh avec Charge Rapide 25W - Noir","description":"\u003cdiv class=\"cus_container\"\u003e\n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eRecharge sans fil ultra-rapide 25 W\u003c\/h1\u003e\n                \u003cp\u003e Alimentée par la technologie Qi2.2, la KUXIU K1 Ultra offre une expérience de recharge sans fil inédite.\n                \u003c\/p\u003e\n                \u003cp\u003e\u003ci\u003e*Remarque : la recharge 25 W est actuellement prise en charge uniquement sur les modèles iPhone 16 et supérieurs (à l’exception de l’iPhone 16e).\u003c\/i\u003e\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"KUXIU K1 Ultra Qi2.2 25W Fast Charging 3-in-1 MagSafe Wireless Power Bank\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/K1-Ultra-Des-1.jpg?v=1761042883\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"KUXIU K1 Ultra Qi2.2 25W Fast Charging 3-in-1 MagSafe Wireless Power Bank\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/K1-Ultra-Des-2.jpg?v=1761042882\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eRecharge sans fil tout-en-un\u003c\/h1\u003e\n                \u003cp\u003eLa KUXIU K1 Ultra recharge sans fil votre iPhone, Apple Watch et AirPods, et est également compatible avec d’autres appareils compatibles Qi. Dotée d’une conception mécanique rotative, elle se déploie pour recharger l’Apple Watch et peut également servir de petit gadget anti-stress amusant.\n                \u003c\/p\u003e\n                \u003cp\u003eSon support intégré vous permet de profiter d’une visualisation mains libres lorsque vous regardez des vidéos.\n                \u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eRechargez tout en utilisant\u003c\/h1\u003e\n                \u003cp\u003eLa KUXIU K1 Ultra prend en charge la recharge indirecte (pass-through), vous permettant de passer facilement du mode bureau au mode voyage.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"KUXIU K1 Ultra Qi2.2 25W Fast Charging 3-in-1 MagSafe Wireless Power Bank\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/K1-Ultra-Des-3.jpg?v=1761042883\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"cus_section bg-black\"\u003e\n        \u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"KUXIU K1 Ultra Qi2.2 25W Fast Charging 3-in-1 MagSafe Wireless Power Bank\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-K1-Gray-Des-3.jpg?v=1745918918\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eConnexion magnétique puissante\u003c\/h1\u003e\n                \u003cp\u003eLa KUXIU K1 Ultra dispose de 16+2 aimants N52, fabriqués dans le même matériau et alignement que ceux de l’iPhone. Cela garantit une fixation magnétique précise et solide—maintenant votre iPhone fermement en place sans le moindre glissement.\n                \u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eQualité irréprochable\n                \u003c\/h1\u003e\n                \u003cp\u003eLa KUXIU K1 Ultra est conçue en alliage d’aluminium usiné CNC, avec une finition sablée et anodisée pour une texture sophistiquée. Les deux faces sont dotées de verre Corning premium avec une couche anti-explosion supplémentaire pour plus de durabilité et d’élégance. Ce n’est pas seulement une batterie externe sans fil—c’est une véritable pièce d’art fonctionnel.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"KUXIU K1 Ultra Qi2.2 25W Fast Charging 3-in-1 MagSafe Wireless Power Bank\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/K1-Ultra-Des-5.jpg?v=1761042882\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n","brand":"KUXIU","offers":[{"title":"Default Title","offer_id":47070054875188,"sku":"K1ULTRA-qi2.2-10000mAh-Black","price":77.98,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/K1-Ultra-Wireless-Power-Bank-Black-IF-RD-2-1.jpg?v=1776736212"},{"product_id":"kuxiu-s3-power-bank","title":"KUXIU S3 Qi2.2 25W 10000mAh MagSafe Solid-State Power Bank","description":"\u003cdiv class=\"cus_container\"\u003e\n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eNext-Gen Fast Charging\u003c\/h1\u003e\n                \u003cp\u003eEquipped with Qi2.2 25W MAX wireless charging, 35W MAX wired fast charging, and a 10,000mAh semi–solid-state battery, the S3 combines the most advanced power bank technologies in one device. It delivers both wireless and wired fast charging, extending your iPhone’s battery life by 1.5–2 times. The semi–solid-state battery offers 3× the lifespan of standard lithium-ion cells and prevents fire risks caused by punctures, collisions, or drops—making it the safest choice for indoor use.\u003c\/p\u003e\n                \u003cp\u003e\u003ci\u003eNote: 25W fast charging is supported on iPhone 16 series and above.\u003c\/i\u003e\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"image-container\"\u003e\n\u003cimg alt=\"KUXIU S3 Qi2.2 25W 10000mAh MagSafe Solid-State Power Bank\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-S3-Wireless-Power-Bank-Des-1.jpg?v=1764410559\"\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"image-container\"\u003e\n\u003cimg alt=\"KUXIU S3 Qi2.2 25W 10000mAh MagSafe Solid-State Power Bank\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-S3-Wireless-Power-Bank-Des-2.jpg?v=1764410558\"\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eBuilt-in Cable \u0026amp; Kickstand Design\u003c\/h1\u003e\n                \u003cp\u003eNo more carrying extra charging cables. The S3 features a hidden built-in charging cable and a convenient kickstand. Easily switch between wired and wireless charging while keeping your phone upright on a desk—perfect for video calls, streaming, or staying on top of important notifications.\u003c\/p\u003e\n                \u003cp\u003e\u003cb\u003eCompatible with MagSafe cases\u003c\/b\u003e\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eSemi-Solid State Batter\u003c\/h1\u003e\n                \u003cp\u003eThe KUXIU S3 Wireless Power Bank uses a world-leading semi-solid state battery, designed to remain stable even under extreme conditions such as punctures or drops. It prevents thermal runaway and keeps you safe from potential hazards.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"image-container\"\u003e\n\u003cimg alt=\"KUXIU S3 Qi2.2 25W 10000mAh MagSafe Solid-State Power Bank\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-S3-Wireless-Power-Bank-Des-3.jpg?v=1764410559\"\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"cus_section bg-black\"\u003e\n        \u003cdiv class=\"image-container\"\u003e\n\u003cimg alt=\"KUXIU S3 Qi2.2 25W 10000mAh MagSafe Solid-State Power Bank\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-S3-Wireless-Power-Bank-Des-4.jpg?v=1764411777\"\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eSmart Digital Display\u003c\/h1\u003e\n                \u003cp\u003eStay in control with a real-time digital power display. Instantly check battery health and charging status so you’ll always know when it’s time to recharge.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eComprehensive Safety Protection\u003c\/h1\u003e\n                \u003cp\u003eDesigned for ultimate safety, the S3 includes over-current protection, voltage protection, and short-circuit prevention. It has passed rigorous drop, collision, thermal cycle, and compression tests, fully meeting international safety standards for everyday use.\u003c\/p\u003e\n                \n            \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"image-container\"\u003e\n\u003cimg alt=\"KUXIU S3 Qi2.2 25W 10000mAh MagSafe Solid-State Power Bank\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-S3-Wireless-Power-Bank-Des-5.jpg?v=1764410557\"\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e","brand":"KUXIU","offers":[{"title":"Default Title","offer_id":47081963552820,"sku":"qi2.2-10000mAh-Black","price":62.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIUS3WirelessPowerBank.png?v=1770985377"},{"product_id":"kuxiu-x40-turbo-stand-cosmic-orange","title":"KUXIU X40 Turbo Support de Charge Sans Fil Pliable 3-en-1 MagSafe 25W Certifié Qi2.2 – Orange Cosmique","description":"\u003cstyle\u003e\n      .x40-shell {\n        color-scheme: dark;\n        --page: #1d1d1f;\n        --panel: #000;\n        --control: #232325;\n        --card: #242426;\n        --text: #f5f5f7;\n        --muted: #a6a6ab;\n        --accent: #ff5a00;\n        --app-pv-icon-fill: #f5f5f7;\n        width: 100%;\n        max-width: none;\n        background: var(--page);\n      }\n\n      .x40-page,\n      .x40-page * { box-sizing: border-box; }\n\n      .x40-page button { font: inherit; }\n\n      .x40-page {\n        position: relative;\n        left: 50%;\n        width: min(1536px, calc(100vw - 48px));\n        max-width: none;\n        margin: 0;\n        padding: 104px 0 70px;\n        transform: translateX(-50%);\n        background: var(--page);\n        color: var(--text);\n        isolation: isolate;\n      }\n\n      .x40-shell h1,\n      .x40-shell h2 { color: var(--text) !important; }\n\n      .x40-shell h2.x40-top-title {\n        max-width: none;\n        margin: 0 0 36px !important;\n        text-align: left;\n      }\n\n      .x40-feature-panel {\n        position: relative;\n        width: min(1440px, 100%);\n        margin-inline: auto;\n        aspect-ratio: 1120 \/ 528;\n        overflow: hidden;\n        border-radius: 20px;\n        background: var(--panel);\n      }\n\n      .x40-selector-stack {\n        position: absolute;\n        z-index: 2;\n        top: 50%;\n        left: 6.05%;\n        width: 28.58%;\n        transform: translateY(-50%);\n        transition: opacity 560ms cubic-bezier(.22, 1, .36, 1), transform 700ms cubic-bezier(.22, 1, .36, 1);\n      }\n\n      .x40-feature-item {\n        transition: opacity 480ms ease, transform 620ms cubic-bezier(.22, 1, .36, 1);\n      }\n      .x40-feature-item + .x40-feature-item { margin-top: 12px; }\n      .x40-feature-panel:not(.x40-is-visible) .x40-selector-stack {\n        visibility: hidden;\n        opacity: 0;\n        transform: translateY(calc(-50% + 34px));\n      }\n      .x40-feature-panel:not(.x40-is-visible) .x40-feature-item { opacity: 0; transform: translateY(18px); }\n      .x40-feature-panel.x40-is-visible .x40-feature-item { opacity: 1; transform: translateY(0); }\n      .x40-feature-panel.x40-is-visible .x40-feature-item:nth-child(1) { transition-delay: 100ms; }\n      .x40-feature-panel.x40-is-visible .x40-feature-item:nth-child(2) { transition-delay: 180ms; }\n      .x40-feature-panel.x40-is-visible .x40-feature-item:nth-child(3) { transition-delay: 260ms; }\n\n      .x40-selector {\n        display: flex;\n        width: max-content;\n        align-items: center;\n        gap: 10px;\n        border: 0;\n        border-radius: 999px;\n        padding: 15px 20px;\n        background: var(--control);\n        color: var(--text);\n        cursor: pointer;\n        font-size: 17px;\n        line-height: 1.2;\n        font-weight: 500;\n        transition: background-color 160ms ease, transform 160ms ease;\n      }\n\n      .x40-selector:hover { background: #303033; }\n      .x40-selector:active { transform: scale(0.98); }\n      .x40-selector:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }\n\n      .x40-selector__icon {\n        display: block;\n        width: 24px;\n        height: 24px;\n        flex: 0 0 24px;\n      }\n\n      .x40-plus-icon { display: block; width: 24px; height: 24px; stroke-width: 1.4; }\n\n      .x40-selector[aria-expanded=\"true\"] .x40-selector__icon { display: none; }\n\n      .x40-feature-copy {\n        display: grid;\n        grid-template-rows: 1fr;\n        width: 100%;\n        margin-top: 12px;\n        border-radius: 16px;\n        background: var(--card);\n        color: var(--text);\n        font-size: 12px;\n        line-height: 1.45;\n        opacity: 1;\n        transition: grid-template-rows 240ms ease, opacity 180ms ease, margin 240ms ease;\n      }\n\n      .x40-feature-copy__inner {\n        min-height: 0;\n        overflow: hidden;\n      }\n\n      .x40-feature-copy__text { margin: 0; padding: 17px 16px; font-size: 17px; }\n\n      .x40-feature-copy.x40-is-collapsed {\n        grid-template-rows: 0fr;\n        margin-top: 0;\n        opacity: 0;\n      }\n\n      .x40-hero-product {\n        display: block;\n        position: absolute;\n        top: 0;\n        left: 50%;\n        width: 50%;\n        height: 100%;\n        margin: 0;\n        padding: 0;\n        object-fit: cover;\n        pointer-events: none;\n        visibility: hidden;\n        opacity: 0;\n        transition: opacity 180ms ease, transform 180ms ease, visibility 0s linear 180ms;\n      }\n\n      .x40-hero-product.x40-is-active {\n        visibility: visible;\n        opacity: 1;\n        transition-delay: 0s;\n      }\n\n      .x40-hero-product.x40-is-changing { opacity: 0.62; transform: scale(0.985); }\n\n      .x40-feature-panel::after,\n      .x40-media-card::after,\n      .x40-full-bleed-section::after {\n        content: \"\";\n        position: absolute;\n        z-index: 3;\n        top: 50%;\n        left: 50%;\n        width: 34px;\n        height: 34px;\n        margin: -17px 0 0 -17px;\n        border: 3px solid rgba(255, 255, 255, 0.34);\n        border-top-color: #fff;\n        border-radius: 50%;\n        opacity: 0;\n        pointer-events: none;\n        transform: scale(.82);\n        transition: opacity 180ms ease, transform 180ms ease;\n      }\n\n      .x40-feature-panel.x40-is-buffering::after,\n      .x40-media-card.x40-is-buffering::after,\n      .x40-full-bleed-section.x40-is-buffering::after {\n        opacity: 1;\n        transform: scale(1);\n        animation: x40-video-spin 800ms linear infinite;\n      }\n\n      @keyframes x40-video-spin { to { transform: scale(1) rotate(360deg); } }\n\n      @media (prefers-reduced-motion: reduce) {\n        .x40-feature-panel.x40-is-buffering::after,\n        .x40-media-card.x40-is-buffering::after,\n        .x40-full-bleed-section.x40-is-buffering::after { animation-duration: 1600ms; }\n      }\n\n      .x40-mobile-feature-detail { display: none; }\n\n      .x40-design-section {\n        padding-top: 56px;\n        text-align: center;\n      }\n\n      .x40-section-kicker,\n      .x40-content-eyebrow {\n        margin: 0 0 14px;\n        color: var(--accent);\n        font-size: 13px;\n        line-height: 1.2;\n        font-weight: 600;\n      }\n\n      .x40-shell h2.x40-section-title,\n      .x40-shell h2.x40-content-headline {\n        max-width: 780px;\n        margin: 0 auto !important;\n        font-size: 48px !important;\n        line-height: 1.1 !important;\n        letter-spacing: -1px !important;\n        font-weight: 600 !important;\n        padding-bottom: 50px;\n      }\n\n      .x40-section-copy,\n      .x40-content-description {\n        max-width: 810px;\n        margin: 18px auto 0;\n        color: var(--muted);\n        font-size: 14px;\n        line-height: 1.5;\n        font-weight: 400;\n      }\n\n      .x40-exploded-product {\n        display: block;\n        width: min(940px, 100%);\n        height: auto;\n        margin: 74px auto 0;\n        object-fit: cover;\n      }\n\n      .x40-section-block { margin-top: 96px; }\n\n      .x40-media-card {\n        position: relative;\n        overflow: hidden;\n        border-radius: 20px;\n      }\n\n      .x40-scroll-video {\n        display: block;\n        width: 100%;\n        height: 100%;\n        margin: 0;\n        object-fit: cover;\n      }\n\n      .x40-overnight-card { aspect-ratio: 1120 \/ 615; }\n\n      .x40-overnight-copy {\n        position: absolute;\n        z-index: 1;\n        top: 33%;\n        left: 5.6%;\n        width: min(34%, 430px);\n        transform: translateY(-20%);\n      }\n\n      .x40-overnight-copy .x40-content-headline,\n      .x40-overnight-copy .x40-content-description { margin-left: 0; text-align: left; }\n      .x40-overnight-copy .x40-content-description { color: var(--text); }\n\n      .x40-charge-stats {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        padding: 76px 0 0;\n      }\n\n      .x40-charge-stat { text-align: center; }\n      .x40-charge-stat img { display: block; width: 52px; height: 72px; margin: 0 auto 18px; object-fit: contain; }\n      .x40-charge-stat:nth-child(2) img { width: 42px; }\n      .x40-charge-stat:nth-child(3) img { width: 58px; }\n      .x40-charge-power, .x40-charge-range { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.15; }\n      .x40-charge-time { margin: 10px 0 14px; color: var(--accent); font-size: 28px; line-height: 1.15; font-weight: 600; }\n\n      .x40-full-bleed-section {\n        position: relative;\n        width: 100vw;\n        aspect-ratio: 1492 \/ 778;\n        margin-left: calc(50% - 50vw);\n        overflow: hidden;\n      }\n\n      .x40-full-bleed-copy {\n        position: absolute;\n        z-index: 1;\n        top: 9.8%;\n        left: 50%;\n        width: min(722px, calc(100% - 48px));\n        transform: translateX(-50%);\n        text-align: center;\n      }\n\n      .x40-standby-copy { top: 12%; }\n\n      .x40-portable-section {\n        display: grid;\n        width: calc(50% + 50vw);\n        grid-template-columns: minmax(340px, 520px) minmax(0, 1fr);\n        column-gap: 0;\n        align-items: start;\n        min-height: 674px;\n        padding-left: 8px;\n        padding-right: 0;\n      }\n\n      .x40-portable-copy { padding-top: 0; }\n      .x40-portable-copy .x40-content-headline,\n      .x40-portable-copy .x40-content-description { margin-left: 0; text-align: left; }\n      .x40-portable-copy .x40-content-description { max-width: 430px; }\n\n      .x40-dimensions-image {\n        display: block;\n        width: 100%;\n        height: 800px;\n        justify-self: end;\n        margin: 0;\n        padding: 0;\n        object-fit: contain;\n        object-position: right top;\n      }\n\n      .x40-box-section { padding-bottom: 0; text-align: center; }\n      .x40-box-picture { display: block; margin-top: 112px; }\n      .x40-box-image {\n        display: block;\n        width: 100%;\n        height: auto;\n        border-radius: 20px;\n      }\n\n      @media (max-width: 900px) {\n        .x40-page { width: min(calc(100vw - 32px), 720px); padding-top: 64px; }\n        .x40-shell h2.x40-section-title,\n        .x40-shell h2.x40-content-headline { padding-bottom: 25px; }\n        .x40-eyebrow-title { margin-bottom: 28px; }\n        .x40-feature-panel {\n          display: block;\n          min-height: 0;\n          aspect-ratio: 390 \/ 600;\n        }\n        .x40-selector-stack {\n          position: absolute;\n          top: auto;\n          bottom: 20px;\n          left: 0;\n          right: 0;\n          display: flex;\n          width: 100%;\n          gap: 10px;\n          margin: 0;\n          padding: 0 20px;\n          overflow-x: auto;\n          overscroll-behavior-inline: contain;\n          scrollbar-width: none;\n          scroll-snap-type: inline proximity;\n          transform: none;\n        }\n        .x40-selector-stack::-webkit-scrollbar { display: none; }\n        .x40-feature-panel:not(.x40-is-visible) .x40-selector-stack { transform: translateY(24px); }\n        .x40-feature-panel.x40-is-visible .x40-selector-stack { transform: translateY(0); }\n        .x40-feature-panel.x40-is-detail .x40-selector-stack {\n          visibility: hidden;\n          opacity: 0;\n          pointer-events: none;\n          transform: translateY(20px);\n        }\n        .x40-feature-item { flex: 0 0 auto; scroll-snap-align: start; }\n        .x40-feature-item + .x40-feature-item { margin-top: 0; }\n        .x40-feature-copy { display: none; }\n        .x40-selector { padding: 12px 16px; font-size: 14px; white-space: nowrap; }\n        .x40-selector__icon,\n        .x40-plus-icon { width: 20px; height: 20px; flex-basis: 20px; }\n        .x40-hero-product {\n          position: absolute;\n          top: 0;\n          left: 0;\n          width: 100%;\n          height: 100%;\n          aspect-ratio: auto;\n          transform: none;\n        }\n        .x40-hero-product.x40-is-changing { transform: scale(0.985); }\n        .x40-mobile-feature-detail {\n          position: absolute;\n          z-index: 4;\n          inset: 0;\n          display: block;\n          visibility: hidden;\n          opacity: 0;\n          pointer-events: none;\n          transition: opacity 320ms ease, visibility 320ms ease;\n        }\n        .x40-feature-panel.x40-is-detail .x40-mobile-feature-detail {\n          visibility: visible;\n          opacity: 1;\n          pointer-events: auto;\n        }\n        .x40-mobile-detail-close,\n        .x40-mobile-detail-arrow {\n          position: absolute;\n          display: grid;\n          width: 44px;\n          height: 44px;\n          place-items: center;\n          border: 0;\n          border-radius: 50%;\n          background: rgba(45, 45, 47, 0.68) !important;\n          color: var(--text);\n          cursor: pointer;\n          font-size: 28px;\n          line-height: 1;\n          -webkit-backdrop-filter: blur(18px) saturate(140%);\n          backdrop-filter: blur(18px) saturate(140%);\n        }\n        .x40-mobile-detail-close::before,\n        .x40-mobile-detail-close::after,\n        .x40-mobile-detail-arrow::before,\n        .x40-mobile-detail-arrow::after { display: none !important; content: none !important; }\n        .x40-mobile-detail-close { top: 18px; right: 18px; font-size: 24px; }\n        .x40-mobile-detail-arrow { bottom: 22px; }\n        .x40-mobile-detail-arrow--prev { left: 12px; }\n        .x40-mobile-detail-arrow--next { right: 12px; }\n        .x40-mobile-detail-card {\n          position: absolute;\n          bottom: 22px;\n          left: 50%;\n          width: min(72%, 420px);\n          min-height: 92px;\n          margin: 0;\n          padding: 18px 20px;\n          transform: translateX(-50%);\n          border-radius: 18px;\n          background: rgba(45, 45, 47, 0.72) !important;\n          color: var(--text);\n          font-size: 14px;\n          line-height: 1.45;\n          text-align: left;\n          -webkit-backdrop-filter: blur(22px) saturate(145%);\n          backdrop-filter: blur(22px) saturate(145%);\n        }\n        .x40-mobile-detail-card strong { font-weight: 600; }\n        .x40-design-section { padding-top: 64px; }\n        .x40-exploded-product { margin-top: 44px; }\n        .x40-section-block { margin-top: 72px; }\n        .x40-overnight-card { aspect-ratio: 4 \/ 5; }\n        .x40-overnight-copy {\n          top: 9%;\n          left: 7%;\n          width: 72%;\n          transform: none;\n        }\n        .x40-charge-stats { gap: 12px; padding-top: 48px; }\n        .x40-full-bleed-section { min-height: 680px; aspect-ratio: auto; }\n        .x40-full-bleed-copy { top: 9%; }\n        .x40-standby-copy { top: 9%; }\n        .x40-portable-section { grid-template-columns: 1fr; min-height: 0; padding-left: 0; }\n        .x40-portable-copy { padding: 0 8px; }\n        .x40-dimensions-image { height: auto; margin-top: 34px; object-position: center; }\n        .x40-box-picture { margin-top: 64px; }\n      }\n\n      @media (min-width: 901px) {\n        .x40-shell h2.x40-section-title,\n        .x40-shell h2.x40-content-headline { font-size: 80px !important; line-height: 1.1 !important; }\n        .x40-section-copy,\n        .x40-content-description { font-size: 21px; }\n        .x40-section-kicker,\n        .x40-content-eyebrow { font-size: 24px; }\n      }\n\n      @media (max-width: 520px) {\n        .x40-page { width: min(calc(100vw - 24px), 420px); padding-top: 42px; }\n        .x40-feature-panel { border-radius: 16px; }\n        .x40-hero-product { width: 100%; height: 100%; }\n        .x40-selector-stack { bottom: 16px; padding-inline: 16px; }\n        .x40-mobile-detail-card { bottom: 18px; width: calc(100% - 112px); padding: 16px; }\n        .x40-mobile-detail-arrow { bottom: 18px; }\n        .x40-shell h2.x40-section-title,\n        .x40-shell h2.x40-content-headline { font-size: 36px !important; line-height: 1.1 !important; }\n        .x40-section-kicker,\n        .x40-content-eyebrow { margin-bottom: 12px; }\n        .x40-section-copy,\n        .x40-content-description { margin-top: 16px; font-size: 14px; }\n        .x40-section-block { margin-top: 64px; }\n        .x40-overnight-card { min-height: 610px; aspect-ratio: auto; }\n        .x40-overnight-copy { top: 7%; width: 82%; }\n        .x40-charge-stats { padding-top: 40px; }\n        .x40-charge-stat img { width: 40px; height: 56px; }\n        .x40-charge-time { font-size: 23px; }\n        .x40-full-bleed-section { min-height: 600px; }\n        .x40-full-bleed-copy { width: calc(100% - 32px); }\n        .x40-box-picture { margin-top: 48px; }\n        .x40-box-image { border-radius: 16px; }\n      }\n\n      @media (prefers-reduced-motion: reduce) {\n        .x40-page,\n        .x40-page *,\n        .x40-page *::before,\n        .x40-page *::after { scroll-behavior: auto !important; transition: none !important; }\n        .x40-feature-panel:not(.x40-is-visible) .x40-selector-stack,\n        .x40-feature-panel:not(.x40-is-visible) .x40-feature-item { transform: none; }\n      }\n    \u003c\/style\u003e\n  \u003cdiv class=\"x40-shell\"\u003e\n  \u003cmain class=\"x40-page\" data-x40-root data-node-id=\"2:12\"\u003e\n      \u003ch2 class=\"x40-section-title x40-top-title\" data-node-id=\"3:2\"\u003eRegardez-le de plus près.\u003c\/h2\u003e\n\n      \u003csection class=\"x40-feature-panel\" aria-label=\"Fonctions de charge du X40 Turbo\" data-node-id=\"2:13\"\u003e\n        \u003cdiv class=\"x40-selector-stack\"\u003e\n          \u003cdiv class=\"x40-feature-item\"\u003e\n            \u003cbutton class=\"x40-selector\" type=\"button\" aria-expanded=\"false\" aria-controls=\"copy-iphone\" data-feature=\"iphone\"\u003e\n              \u003cspan class=\"x40-selector__icon\" aria-hidden=\"true\"\u003e\u003csvg class=\"x40-plus-icon\" version=\"1.1\" width=\"24px\" height=\"24px\" viewbox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"11.3\" style=\"stroke: var(--app-pv-icon-fill); fill: none;\"\u003e\u003c\/circle\u003e\u003cg transform=\"translate(7 7)\" style=\"stroke: none; fill: var(--app-pv-icon-fill);\"\u003e\u003cpath d=\"m9 4h-3v-3c0-0.553-0.447-1-1-1s-1 0.447-1 1v3h-3c-0.553 0-1 0.447-1 1s0.447 1 1 1h3v3c0 0.553 0.447 1 1 1s1-0.447 1-1v-3h3c0.553 0 1-0.447 1-1s-0.447-1-1-1\"\u003e\u003c\/path\u003e\u003c\/g\u003e\u003c\/svg\u003e\u003c\/span\u003ePour iPhone\n            \u003c\/button\u003e\n            \u003cdiv class=\"x40-feature-copy x40-is-collapsed\" id=\"copy-iphone\" aria-hidden=\"true\"\u003e\n              \u003cdiv class=\"x40-feature-copy__inner\"\u003e\u003cp class=\"x40-feature-copy__text\"\u003eIl suffit de le poser pour le recharger. Compatible avec les coques MagSafe.\u003c\/p\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"x40-feature-item\"\u003e\n            \u003cbutton class=\"x40-selector\" type=\"button\" aria-expanded=\"false\" aria-controls=\"copy-watch\" data-feature=\"watch\"\u003e\n              \u003cspan class=\"x40-selector__icon\" aria-hidden=\"true\"\u003e\u003csvg class=\"x40-plus-icon\" version=\"1.1\" width=\"24px\" height=\"24px\" viewbox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"11.3\" style=\"stroke: var(--app-pv-icon-fill); fill: none;\"\u003e\u003c\/circle\u003e\u003cg transform=\"translate(7 7)\" style=\"stroke: none; fill: var(--app-pv-icon-fill);\"\u003e\u003cpath d=\"m9 4h-3v-3c0-0.553-0.447-1-1-1s-1 0.447-1 1v3h-3c-0.553 0-1 0.447-1 1s0.447 1 1 1h3v3c0 0.553 0.447 1 1 1s1-0.447 1-1v-3h3c0.553 0 1-0.447 1-1s-0.447-1-1-1\"\u003e\u003c\/path\u003e\u003c\/g\u003e\u003c\/svg\u003e\u003c\/span\u003ePour Apple Watch\n            \u003c\/button\u003e\n            \u003cdiv class=\"x40-feature-copy x40-is-collapsed\" id=\"copy-watch\" aria-hidden=\"true\"\u003e\n              \u003cdiv class=\"x40-feature-copy__inner\"\u003e\u003cp class=\"x40-feature-copy__text\"\u003eRetournez-le. Relevez-le. Puis rechargez votre Apple Watch sans fil.\u003c\/p\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"x40-feature-item\"\u003e\n            \u003cbutton class=\"x40-selector\" type=\"button\" aria-expanded=\"false\" aria-controls=\"copy-airpods\" data-feature=\"airpods\"\u003e\n              \u003cspan class=\"x40-selector__icon\" aria-hidden=\"true\"\u003e\u003csvg class=\"x40-plus-icon\" version=\"1.1\" width=\"24px\" height=\"24px\" viewbox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"11.3\" style=\"stroke: var(--app-pv-icon-fill); fill: none;\"\u003e\u003c\/circle\u003e\u003cg transform=\"translate(7 7)\" style=\"stroke: none; fill: var(--app-pv-icon-fill);\"\u003e\u003cpath d=\"m9 4h-3v-3c0-0.553-0.447-1-1-1s-1 0.447-1 1v3h-3c-0.553 0-1 0.447-1 1s0.447 1 1 1h3v3c0 0.553 0.447 1 1 1s1-0.447 1-1v-3h3c0.553 0 1-0.447 1-1s-0.447-1-1-1\"\u003e\u003c\/path\u003e\u003c\/g\u003e\u003c\/svg\u003e\u003c\/span\u003ePour AirPods\n            \u003c\/button\u003e\n            \u003cdiv class=\"x40-feature-copy x40-is-collapsed\" id=\"copy-airpods\" aria-hidden=\"true\"\u003e\n              \u003cdiv class=\"x40-feature-copy__inner\"\u003e\u003cp class=\"x40-feature-copy__text\"\u003ePlacez vos AirPods au centre de la zone de charge. La recharge sans fil commence immédiatement.\u003c\/p\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cvideo class=\"x40-hero-product x40-is-active\" data-video-key=\"default\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/8e32bed16d594e378bc24a938867d6a2.webm\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU_X40_Turbo_Orange_Default.png?v=1787298081\" muted playsinline preload=\"none\" aria-label=\"animation du produit X40 Turbo Gray\" data-node-id=\"3:15\"\u003e\u003c\/video\u003e\n        \u003cvideo class=\"x40-hero-product\" data-video-key=\"iphone\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/f3595101fb914386ad9cb49c4d2d3802.webm\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU_X40_Turbo_Orange_for_iPhone.png?v=1787298083\" muted playsinline preload=\"none\" aria-hidden=\"true\"\u003e\u003c\/video\u003e\n        \u003cvideo class=\"x40-hero-product\" data-video-key=\"watch\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/e46afe6e02614031bbf2fb0b4ebc5eb6.webm\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU_X40_Turbo_Orange_for_Apple_Watch.png?v=1787298087\" muted playsinline preload=\"none\" aria-hidden=\"true\"\u003e\u003c\/video\u003e\n        \u003cvideo class=\"x40-hero-product\" data-video-key=\"airpods\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/de180a63ed58466abc896a4a24f6aabf.webm\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU_X40_Turbo_Orange_for_AirPods.png?v=1787298085\" muted playsinline preload=\"none\" aria-hidden=\"true\"\u003e\u003c\/video\u003e\n        \u003cdiv class=\"x40-mobile-feature-detail\" aria-hidden=\"true\"\u003e\n          \u003cbutton class=\"x40-mobile-detail-close\" type=\"button\" aria-label=\"Fermer les détails de la fonction\"\u003e×\u003c\/button\u003e\n          \u003cbutton class=\"x40-mobile-detail-arrow x40-mobile-detail-arrow--prev\" type=\"button\" aria-label=\"Fonction précédente\"\u003e‹\u003c\/button\u003e\n          \u003cp class=\"x40-mobile-detail-card\" role=\"status\"\u003e\u003c\/p\u003e\n          \u003cbutton class=\"x40-mobile-detail-arrow x40-mobile-detail-arrow--next\" type=\"button\" aria-label=\"Fonction suivante\"\u003e›\u003c\/button\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"x40-design-section\" data-node-id=\"2:14\"\u003e\n        \u003cp class=\"x40-section-kicker\"\u003eDesign\u003c\/p\u003e\n        \u003ch2 class=\"x40-section-title\"\u003eAluminium\u003cbr\u003efabriqué avec précision.\u003c\/h2\u003e\n        \u003cp class=\"x40-section-copy\"\u003e\n          Sablé pour une texture lisse et raffinée. Anodisé pour une protection durable. Chaque surface est finie avec précision, pour être aussi agréable à regarder qu’au toucher.\n        \u003c\/p\u003e\n        \u003cimg class=\"x40-exploded-product\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/x40-turbo-orange-exploded-finish.jpg?v=1787367598\" alt=\"Vue éclatée de la finition en aluminium du X40 Turbo Gray\" loading=\"lazy\" decoding=\"async\" data-node-id=\"3:19\"\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"x40-section-block x40-overnight-section\" data-node-id=\"27:2\" aria-labelledby=\"overnight-title\"\u003e\n        \u003cdiv class=\"x40-media-card x40-overnight-card\"\u003e\n          \u003cvideo class=\"x40-scroll-video\" muted playsinline preload=\"none\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU_X40_Turbo_Orange_Qi2_PC.png?v=1787298087\" data-poster-pc=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU_X40_Turbo_Orange_Qi2_PC.png?v=1787298087\" data-poster-mb=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU_X40_Turbo_Orange_Qi2_MB.png?v=1787298083\" aria-label=\"démonstration de la charge rapide du X40 Turbo\"\u003e\n            \u003csource media=\"(max-width: 900px)\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/42e428960c4b419b89eb68ae765ddc20.webm\" type=\"video\/webm\"\u003e\n            \u003csource data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/6b6b2d59ec0940fc9635999907b660a2.webm\" type=\"video\/webm\"\u003e\u003c\/source\u003e\u003c\/video\u003e\n          \u003cdiv class=\"x40-overnight-copy\"\u003e\n            \u003cp class=\"x40-content-eyebrow\"\u003eCertifié Qi2.2\u003c\/p\u003e\n            \u003ch2 class=\"x40-content-headline\" id=\"overnight-title\"\u003eOubliez la recharge pendant la nuit.\u003c\/h2\u003e\n            \u003cp class=\"x40-content-description\"\u003eBranchez-le en entrant sous la douche, prenez votre café du matin et sortez avec 80 % de batterie. Il suffit pourtant d’une seule main pour le poser sur le support.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"x40-charge-stats\" aria-label=\"Performances de charge\"\u003e\n          \u003carticle class=\"x40-charge-stat\"\u003e\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/Charging_for_iPhone.svg?v=1785736195\" alt=\"Charge pour iPhone\" loading=\"lazy\" decoding=\"async\"\u003e\n            \u003cp class=\"x40-charge-power\"\u003e25W Max\u003c\/p\u003e\n            \u003cp class=\"x40-charge-time\"\u003e45min\u003c\/p\u003e\n            \u003cp class=\"x40-charge-range\"\u003e0~80%\u003c\/p\u003e\n          \u003c\/article\u003e\n          \u003carticle class=\"x40-charge-stat\"\u003e\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/Charging_for_Apple_Watch.svg?v=1785736195\" alt=\"Charge pour Apple Watch\" loading=\"lazy\" decoding=\"async\"\u003e\n            \u003cp class=\"x40-charge-power\"\u003e5W Max\u003c\/p\u003e\n            \u003cp class=\"x40-charge-time\"\u003e40min\u003c\/p\u003e\n            \u003cp class=\"x40-charge-range\"\u003e0~50%\u003c\/p\u003e\n          \u003c\/article\u003e\n          \u003carticle class=\"x40-charge-stat\"\u003e\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/Charging_for_AirPods.svg?v=1785736195\" alt=\"Charge pour AirPods\" loading=\"lazy\" decoding=\"async\"\u003e\n            \u003cp class=\"x40-charge-power\"\u003e5W Max\u003c\/p\u003e\n            \u003cp class=\"x40-charge-time\"\u003e50min\u003c\/p\u003e\n            \u003cp class=\"x40-charge-range\"\u003e0~80%\u003c\/p\u003e\n          \u003c\/article\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"x40-section-block x40-full-bleed-section x40-full-bleed-section--green\" data-node-id=\"27:3\" aria-labelledby=\"magsafe-title\"\u003e\n        \u003cvideo class=\"x40-scroll-video\" muted playsinline preload=\"none\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU_X40_Turbo_Orange_MagSafe_PC.png?v=1787298078\" data-poster-pc=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU_X40_Turbo_Orange_MagSafe_PC.png?v=1787298078\" data-poster-mb=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU_X40_Turbo_Orange_MagSafe_MB.png?v=1787298079\" aria-label=\"démonstration de l’expérience MagSafe du X40 Turbo\"\u003e\n          \u003csource media=\"(max-width: 900px)\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/368475f8b58947eeb3062be1b45ae878.webm\" type=\"video\/webm\"\u003e\n          \u003csource data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/3398c86af3ab4357b154b312377a19f8.webm\" type=\"video\/webm\"\u003e\u003c\/source\u003e\u003c\/video\u003e\n        \u003cdiv class=\"x40-full-bleed-copy\"\u003e\n          \u003cp class=\"x40-content-eyebrow\"\u003eDesign\u003c\/p\u003e\n          \u003ch2 class=\"x40-content-headline\" id=\"magsafe-title\"\u003eL’expérience\u003cbr\u003eMagSafe parfaite\u003c\/h2\u003e\n          \u003cp class=\"x40-content-description\"\u003eConçu pour une utilisation facile d’une seule main et une connexion MagSafe sécurisée, chaque aimant étant calibré avec précision pour offrir force et stabilité—fluide, simple, élégant.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"x40-full-bleed-section x40-full-bleed-section--blue\" data-node-id=\"27:4\" aria-labelledby=\"standby-title\"\u003e\n        \u003cvideo class=\"x40-scroll-video\" muted playsinline preload=\"none\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-X40-Turbo-Orange-StandBy-PC.jpg?v=1787298078\" data-poster-pc=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-X40-Turbo-Orange-StandBy-PC.jpg?v=1787298078\" data-poster-mb=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-X40-Turbo-Orange-StandBy-MB.jpg?v=1787298078\" aria-label=\"démonstration du mode StandBy du X40 Turbo\"\u003e\n          \u003csource media=\"(max-width: 900px)\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/70b789f75acb49aba768cb8c91dd13da.webm\" type=\"video\/webm\"\u003e\n          \u003csource data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/45954b3837a34c3d954cbd8fb1ccd741.webm\" type=\"video\/webm\"\u003e\u003c\/source\u003e\u003c\/video\u003e\n        \u003cdiv class=\"x40-full-bleed-copy x40-standby-copy\"\u003e\n          \u003ch2 class=\"x40-content-headline\" id=\"standby-title\"\u003ePrêt pour StandBy\u003c\/h2\u003e\n          \u003cp class=\"x40-content-description\"\u003eNe passez pas à côté de la fonction StandBy pratique de votre iPhone. Avec le X40 Turbo, placez simplement votre téléphone à l’horizontale pour l’activer.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"x40-section-block x40-portable-section\" data-node-id=\"27:5\" aria-labelledby=\"portable-title\"\u003e\n        \u003cdiv class=\"x40-portable-copy\"\u003e\n          \u003cp class=\"x40-content-eyebrow\"\u003eDimensions\u003c\/p\u003e\n          \u003ch2 class=\"x40-content-headline\" id=\"portable-title\"\u003ePortable,\u003cbr\u003eprêt à partir\u003cbr\u003eoù que vous alliez\u003c\/h2\u003e\n          \u003cp class=\"x40-content-description\"\u003eAssez petit pour vous accompagner partout. Assez puissant pour tous les jours. Le X40 Turbo vous garde prêt, où que la vie vous mène.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cimg class=\"x40-dimensions-image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/x40-turbo-orange-Size.jpg?v=1787369442\" alt=\"Dimensions pliées et format portable du X40 Turbo\" loading=\"lazy\" decoding=\"async\"\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"x40-section-block x40-box-section\" data-node-id=\"27:6\" aria-labelledby=\"box-title\"\u003e\n        \u003ch2 class=\"x40-content-headline\" id=\"box-title\"\u003eQue contient la boîte ?\u003c\/h2\u003e\n        \u003cp class=\"x40-content-description\"\u003eTout ce dont vous avez besoin. Dès la sortie de la boîte.\u003c\/p\u003e\n        \u003cpicture class=\"x40-box-picture\"\u003e\n          \u003csource media=\"(max-width: 900px)\" srcset=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/in-the-box-orange-MB.jpg?v=1787367602\"\u003e\n          \u003cimg class=\"x40-box-image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/in-the-box-orange-PC.jpg?v=1787367597\" alt=\"Contenu de l’emballage du X40 Turbo\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/picture\u003e\n      \u003c\/section\u003e\n    \u003c\/main\u003e\n  \u003c\/div\u003e\n\n    \u003cscript\u003e\n    (() =\u003e {\n      const initX40 = (root) =\u003e {\n      if (root.dataset.x40Ready === \"true\") return;\n      root.dataset.x40Ready = \"true\";\n\n      const buttons = [...root.querySelectorAll(\"[data-feature]\")];\n      const product = root.querySelector('[data-video-key=\"default\"]');\n      const featureVideoElements = new Map(\n        [...root.querySelectorAll(\".x40-hero-product[data-video-key]\")]\n          .filter((video) =\u003e video.dataset.videoKey !== \"default\")\n          .map((video) =\u003e [video.dataset.videoKey, video])\n      );\n      let activeProductVideo = product;\n      const instanceId = `x40-${Math.random().toString(36).slice(2, 9)}`;\n      buttons.forEach((button) =\u003e {\n        const panel = root.querySelector(`[id=\"${button.getAttribute(\"aria-controls\")}\"]`);\n        if (!panel) return;\n        panel.id = `${panel.id}-${instanceId}`;\n        button.setAttribute(\"aria-controls\", panel.id);\n      });\n      const featureContent = {\n        iphone: {\n          label: \"Pour iPhone\",\n          copy: \"Boîtier monocoque en aluminium. Optimisé pour les performances et l’autonomie. L’alliage d’aluminium est remarquablement léger et possède une conductivité thermique exceptionnelle.\"\n        },\n        watch: {\n          label: \"Pour Apple Watch\",\n          copy: \"Une surface de charge dédiée maintient l’Apple Watch en sécurité, visible et prête tout au long de la journée.\"\n        },\n        airpods: {\n          label: \"Pour AirPods\",\n          copy: \"Une base de recharge sans fil stable offre aux AirPods un emplacement précis pour se recharger sans encombrer.\"\n        }\n      };\n      const featureKeys = [...featureVideoElements.keys()];\n      const mobileQuery = window.matchMedia(\"(max-width: 900px)\");\n      const defaultVideo = \"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/8e32bed16d594e378bc24a938867d6a2.webm\";\n      const observedVideos = [...root.querySelectorAll(\".x40-scroll-video\")];\n      const allFeatureVideos = [product, ...featureVideoElements.values()];\n      const allVideos = [...allFeatureVideos, ...observedVideos];\n      const preloadQueue = [];\n      const queuedVideos = new Set();\n      let preloadBusy = false;\n\n      const updateResponsivePosters = () =\u003e {\n        observedVideos.forEach((video) =\u003e {\n          const poster = mobileQuery.matches ? video.dataset.posterMb : video.dataset.posterPc;\n          if (poster \u0026\u0026 video.poster !== new URL(poster, document.baseURI).href) video.poster = poster;\n        });\n      };\n      updateResponsivePosters();\n\n      const hydrateVideo = (video) =\u003e {\n        if (video.dataset.hydrated === \"true\") return;\n        video.preload = \"auto\";\n        if (video.dataset.src) {\n          video.src = video.dataset.src;\n          video.removeAttribute(\"data-src\");\n        }\n        video.querySelectorAll(\"source[data-src]\").forEach((source) =\u003e {\n          source.src = source.dataset.src;\n          source.removeAttribute(\"data-src\");\n        });\n        video.dataset.hydrated = \"true\";\n        video.load();\n      };\n\n      const videoHost = (video) =\u003e video.closest(\".x40-feature-panel, .x40-media-card, .x40-full-bleed-section\");\n      const setBuffering = (video, buffering) =\u003e videoHost(video)?.classList.toggle(\"x40-is-buffering\", buffering);\n\n      const prepareAndPlay = (video) =\u003e {\n        queuedVideos.delete(video);\n        video.dataset.wantsPlayback = \"true\";\n        hydrateVideo(video);\n        if (video.readyState \u003c HTMLMediaElement.HAVE_FUTURE_DATA) setBuffering(video, true);\n        const playback = video.play();\n        if (playback) playback.catch(() =\u003e {});\n      };\n\n      const drainPreloadQueue = () =\u003e {\n        if (preloadBusy) return;\n        const video = preloadQueue.shift();\n        if (!video) return;\n        queuedVideos.delete(video);\n        if (video.dataset.hydrated === \"true\") {\n          drainPreloadQueue();\n          return;\n        }\n        preloadBusy = true;\n        let finished = false;\n        const finish = () =\u003e {\n          if (finished) return;\n          finished = true;\n          preloadBusy = false;\n          video.removeEventListener(\"canplay\", finish);\n          video.removeEventListener(\"error\", finish);\n          window.clearTimeout(timeout);\n          drainPreloadQueue();\n        };\n        const timeout = window.setTimeout(finish, 6000);\n        video.addEventListener(\"canplay\", finish, { once: true });\n        video.addEventListener(\"error\", finish, { once: true });\n        hydrateVideo(video);\n        if (video.readyState \u003e= HTMLMediaElement.HAVE_FUTURE_DATA) finish();\n      };\n\n      const queuePreload = (video, priority = false) =\u003e {\n        if (video.dataset.hydrated === \"true\" || queuedVideos.has(video)) return;\n        queuedVideos.add(video);\n        priority ? preloadQueue.unshift(video) : preloadQueue.push(video);\n        drainPreloadQueue();\n      };\n\n      allVideos.forEach((video) =\u003e {\n        video.addEventListener(\"waiting\", () =\u003e {\n          const canControlIndicator = !allFeatureVideos.includes(video) || video === activeProductVideo;\n          if (canControlIndicator \u0026\u0026 video.dataset.wantsPlayback === \"true\") setBuffering(video, true);\n        });\n        [\"canplay\", \"playing\", \"ended\", \"error\"].forEach((eventName) =\u003e {\n          video.addEventListener(eventName, () =\u003e {\n            const canControlIndicator = !allFeatureVideos.includes(video) || video === activeProductVideo;\n            if (canControlIndicator) setBuffering(video, false);\n          });\n        });\n        video.addEventListener(\"playing\", () =\u003e {\n          video.dataset.started = \"true\";\n          video.dataset.autoPaused = \"false\";\n        });\n        video.addEventListener(\"ended\", () =\u003e {\n          video.dataset.wantsPlayback = \"false\";\n          video.dataset.finished = \"true\";\n        });\n      });\n\n      const featurePanel = root.querySelector(\".x40-feature-panel\");\n      const mobileDetail = root.querySelector(\".x40-mobile-feature-detail\");\n      const mobileDetailCard = root.querySelector(\".x40-mobile-detail-card\");\n      const mobileClose = root.querySelector(\".x40-mobile-detail-close\");\n      const mobilePrevious = root.querySelector(\".x40-mobile-detail-arrow--prev\");\n      const mobileNext = root.querySelector(\".x40-mobile-detail-arrow--next\");\n      let activeFeature = null;\n      const revealFeaturePanel = () =\u003e {\n        if (featurePanel.classList.contains(\"x40-is-visible\")) return;\n        featurePanel.classList.add(\"x40-is-visible\");\n        product.dataset.played = \"true\";\n        prepareAndPlay(product);\n      };\n\n      if (\"IntersectionObserver\" in window) {\n        const featureObserver = new IntersectionObserver((entries, observer) =\u003e {\n          entries.forEach((entry) =\u003e {\n            if (!entry.isIntersecting) return;\n            revealFeaturePanel();\n            observer.unobserve(entry.target);\n          });\n        }, { rootMargin: \"0px 0px -78% 0px\", threshold: 0 });\n        featureObserver.observe(featurePanel);\n      } else {\n        revealFeaturePanel();\n      }\n\n      const playFeatureVideo = (key) =\u003e {\n        const nextVideo = featureVideoElements.get(key);\n        if (!nextVideo) return;\n        const shouldRestart = nextVideo.dataset.started === \"true\";\n        if (activeProductVideo !== nextVideo) {\n          activeProductVideo.pause();\n          activeProductVideo.dataset.wantsPlayback = \"false\";\n          activeProductVideo.classList.remove(\"x40-is-active\", \"x40-is-changing\");\n          activeProductVideo.setAttribute(\"aria-hidden\", \"true\");\n          activeProductVideo = nextVideo;\n          activeProductVideo.classList.add(\"x40-is-active\", \"x40-is-changing\");\n          activeProductVideo.removeAttribute(\"aria-hidden\");\n        }\n        hydrateVideo(activeProductVideo);\n        activeProductVideo.dataset.finished = \"false\";\n        if (shouldRestart) {\n          if (nextVideo.readyState \u003e= HTMLMediaElement.HAVE_METADATA) {\n            nextVideo.currentTime = 0;\n          } else {\n            nextVideo.addEventListener(\"loadedmetadata\", () =\u003e { nextVideo.currentTime = 0; }, { once: true });\n          }\n        }\n        prepareAndPlay(activeProductVideo);\n        window.setTimeout(() =\u003e nextVideo.classList.remove(\"x40-is-changing\"), 180);\n      };\n\n      const selectFeature = (key) =\u003e {\n        activeFeature = key;\n        buttons.forEach((item) =\u003e {\n          const active = item.dataset.feature === key;\n          item.setAttribute(\"aria-expanded\", String(active));\n          const panel = root.querySelector(`[id=\"${item.getAttribute(\"aria-controls\")}\"]`);\n          panel.classList.toggle(\"x40-is-collapsed\", !active || mobileQuery.matches);\n          panel.setAttribute(\"aria-hidden\", String(!active || mobileQuery.matches));\n        });\n\n        if (mobileQuery.matches) {\n          const content = featureContent[key];\n          const label = document.createElement(\"strong\");\n          label.textContent = `${content.label}.`;\n          mobileDetailCard.replaceChildren(label, document.createTextNode(` ${content.copy}`));\n          featurePanel.classList.add(\"x40-is-detail\");\n          mobileDetail.setAttribute(\"aria-hidden\", \"false\");\n        }\n        playFeatureVideo(key);\n      };\n\n      const closeMobileDetail = () =\u003e {\n        activeFeature = null;\n        featurePanel.classList.remove(\"x40-is-detail\");\n        mobileDetail.setAttribute(\"aria-hidden\", \"true\");\n        buttons.forEach((item) =\u003e item.setAttribute(\"aria-expanded\", \"false\"));\n        activeProductVideo.pause();\n        activeProductVideo.dataset.wantsPlayback = \"false\";\n        activeProductVideo.classList.remove(\"x40-is-active\", \"x40-is-changing\");\n        activeProductVideo.setAttribute(\"aria-hidden\", \"true\");\n        activeProductVideo = product;\n        activeProductVideo.classList.add(\"x40-is-active\");\n        activeProductVideo.removeAttribute(\"aria-hidden\");\n        hydrateVideo(activeProductVideo);\n        activeProductVideo.dataset.finished = \"false\";\n        if (activeProductVideo.readyState \u003e= HTMLMediaElement.HAVE_METADATA) {\n          activeProductVideo.currentTime = 0;\n        } else {\n          product.addEventListener(\"loadedmetadata\", () =\u003e { product.currentTime = 0; }, { once: true });\n        }\n        prepareAndPlay(activeProductVideo);\n      };\n\n      const warmFeatureVideo = (key) =\u003e {\n        const video = featureVideoElements.get(key);\n        if (video) queuePreload(video, true);\n      };\n\n      let featureCacheQueued = false;\n      const beginFeatureCacheAfterDefault = () =\u003e {\n        const activeSource = product.currentSrc || product.src;\n        if (featureCacheQueued || activeSource !== defaultVideo) return;\n        featureCacheQueued = true;\n        featureKeys.forEach((key) =\u003e {\n          const video = featureVideoElements.get(key);\n          if (video) queuePreload(video);\n        });\n      };\n      product.addEventListener(\"canplay\", beginFeatureCacheAfterDefault);\n      if (product.readyState \u003e= HTMLMediaElement.HAVE_FUTURE_DATA) beginFeatureCacheAfterDefault();\n\n      buttons.forEach((button) =\u003e {\n        button.addEventListener(\"click\", () =\u003e selectFeature(button.dataset.feature));\n        let hoverTimer;\n        button.addEventListener(\"pointerenter\", () =\u003e {\n          hoverTimer = window.setTimeout(() =\u003e warmFeatureVideo(button.dataset.feature), 160);\n        });\n        button.addEventListener(\"pointerleave\", () =\u003e window.clearTimeout(hoverTimer));\n        button.addEventListener(\"focus\", () =\u003e warmFeatureVideo(button.dataset.feature), { once: true });\n        button.addEventListener(\"touchstart\", () =\u003e warmFeatureVideo(button.dataset.feature), { passive: true, once: true });\n      });\n\n      const moveMobileFeature = (direction) =\u003e {\n        const currentIndex = Math.max(0, featureKeys.indexOf(activeFeature));\n        const nextIndex = (currentIndex + direction + featureKeys.length) % featureKeys.length;\n        selectFeature(featureKeys[nextIndex]);\n      };\n\n      mobileClose.addEventListener(\"click\", closeMobileDetail);\n      mobilePrevious.addEventListener(\"click\", () =\u003e moveMobileFeature(-1));\n      mobileNext.addEventListener(\"click\", () =\u003e moveMobileFeature(1));\n      mobileQuery.addEventListener(\"change\", () =\u003e {\n        updateResponsivePosters();\n        if (!mobileQuery.matches \u0026\u0026 featurePanel.classList.contains(\"x40-is-detail\")) closeMobileDetail();\n      });\n\n      if (\"IntersectionObserver\" in window) {\n        const preloadObserver = new IntersectionObserver((entries, observer) =\u003e {\n          entries.forEach((entry) =\u003e {\n            if (!entry.isIntersecting) return;\n            queuePreload(entry.target);\n            observer.unobserve(entry.target);\n          });\n        }, { rootMargin: \"1200px 0px\", threshold: 0 });\n\n        [product, ...observedVideos].forEach((video) =\u003e preloadObserver.observe(video));\n\n        const videoObserver = new IntersectionObserver((entries, observer) =\u003e {\n          entries.forEach((entry) =\u003e {\n            if (!entry.isIntersecting || entry.target.dataset.played === \"true\") return;\n            entry.target.dataset.played = \"true\";\n            prepareAndPlay(entry.target);\n            observer.unobserve(entry.target);\n          });\n        }, { rootMargin: \"0px 0px -78% 0px\", threshold: 0 });\n        observedVideos.forEach((video) =\u003e videoObserver.observe(video));\n\n        const visibilityObserver = new IntersectionObserver((entries) =\u003e {\n          entries.forEach((entry) =\u003e {\n            const video = entry.target;\n            const isFeatureVideo = allFeatureVideos.includes(video);\n            if (isFeatureVideo \u0026\u0026 video !== activeProductVideo) {\n              video.pause();\n              video.dataset.autoPaused = \"false\";\n              setBuffering(video, false);\n              return;\n            }\n            if (!entry.isIntersecting) {\n              if (!video.paused \u0026\u0026 !video.ended) {\n                video.pause();\n                video.dataset.autoPaused = \"true\";\n              }\n              setBuffering(video, false);\n              return;\n            }\n            if (video.dataset.autoPaused === \"true\" \u0026\u0026 video.dataset.finished !== \"true\") prepareAndPlay(video);\n          });\n        }, { rootMargin: \"80px 0px\", threshold: 0.06 });\n        allVideos.forEach((video) =\u003e visibilityObserver.observe(video));\n      } else {\n        allVideos.forEach(queuePreload);\n      }\n      };\n\n      const bootX40 = (scope = document) =\u003e {\n        if (scope.matches?.(\"[data-x40-root]\")) initX40(scope);\n        scope.querySelectorAll?.(\"[data-x40-root]\").forEach(initX40);\n      };\n\n      bootX40();\n      if (!window.__x40ShopifySectionListener) {\n        window.__x40ShopifySectionListener = true;\n        document.addEventListener(\"shopify:section:load\", (event) =\u003e bootX40(event.target));\n      }\n    })();\n    \u003c\/script\u003e\n\n","brand":"KUXIU","offers":[{"title":"Default Title","offer_id":47120224354356,"sku":"X40Turbo-Orange-45WOrange-60C","price":78.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIUX40TurboQi2.2Certified25W3-in-1MagSafeFoldableWirelessChargingStand-CosmicOrange30.png?v=1777287479"},{"product_id":"kuxiu-x40-turbo-stand-wood-grain","title":"KUXIU X40 Turbo Qi2.2 Certifié 25W Support de Chargement Sans Fil Pliable 3-en-1 MagSafe","description":"\u003cdiv class=\"cus_container\"\u003e\n    \n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eCharge Turbo Qi2.2 25W\u003c\/h1\u003e\n                \u003cp\u003eÉquipé d’un module de charge sans fil Qi2.2 certifié de 25W, recommandé par Apple. Rechargez votre iPhone 16 Pro Max jusqu’à 50% en seulement 37 minutes — la vitesse de charge sans fil la plus rapide disponible pour iPhone.\u003c\/p\u003e\n                \u003cp\u003e\u003ci\u003eRemarque : la charge rapide 25W est prise en charge à partir de la série iPhone 16 et supérieure.\u003c\/i\u003e\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"image-container\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-X40-Turbo-Gray-1.jpg?v=1756784312\" alt=\"KUXIU X40 Turbo Qi2.2 Certifié 25W Station de Charge Sans Fil Pliable 3-en-1 MagSafe\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"image-container\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-X40-Turbo-black-2.jpg?v=1756784310\" alt=\"KUXIU X40 Turbo Qi2.2 Certifié 25W Station de Charge Sans Fil Pliable 3-en-1 MagSafe\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eDesign 25% Plus Compact et Fin\u003c\/h1\u003e\n                \u003cp\u003eComparé à l’ancien X40, le X40 Turbo est réduit d’environ 25% en taille, offrant un profil plus élégant tout en assurant des performances améliorées et une qualité premium.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eConnexion Magnétique Parfaite\u003c\/h1\u003e\n                \u003cp\u003eÉquipé de 16 puissants aimants N52 pour maintenir solidement votre iPhone en place tout en garantissant un alignement MagSafe précis. Attachez ou détachez facilement votre iPhone d’une seule main — fluide, naturel et élégant.\u003c\/p\u003e\n                \u003cp\u003e\u003cb\u003eCompatible avec les coques MagSafe\u003c\/b\u003e\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"image-container\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-X40-Turbo-black-3.jpg?v=1756784311\" alt=\"KUXIU X40 Turbo Qi2.2 Certifié 25W Station de Charge Sans Fil Pliable 3-en-1 MagSafe\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"image-container\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-X40-Turbo-black-4.jpg?v=1756784311\" alt=\"KUXIU X40 Turbo Qi2.2 Certifié 25W Station de Charge Sans Fil Pliable 3-en-1 MagSafe\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eStructure en Alliage d’Aluminium CNC\u003c\/h1\u003e\n                \u003cp\u003eFabriqué en alliage d’aluminium de haute qualité avec usinage CNC, sablage et finition anodisée. Durable, raffiné et sans compromis sur la qualité.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eContenu du Paquet\u003c\/h1\u003e\n                \u003cp\u003eStation de Charge X40 Turbo 3-en-1 ×1\u003cbr\u003e\n                    Câble de Charge ×1\u003cbr\u003e\n                    Pochette de Rangement ×1 \u003cbr\u003e\n                    Adaptateur Secteur ×1 (adapté aux spécifications de votre pays de livraison)\u003cbr\u003e\n                    Manuel d’Utilisation ×1\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"image-container\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-X40-Turbo-black-5.jpg?v=1756784310\" alt=\"KUXIU X40 Turbo Qi2.2 Certifié 25W Station de Charge Sans Fil Pliable 3-en-1 MagSafe\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n    \n\u003c\/div\u003e\n","brand":"KUXIU","offers":[{"title":"Default Title","offer_id":47138610053172,"sku":"X40Turbo-QI2.2-walnut","price":78.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/X40Turbo_Wood_Grain_4.png?v=1766554768"},{"product_id":"kuxiu-k1-ultra-power-bank-orange","title":"KUXIU K1 Ultra Batterie Externe Sans Fil MagSafe 3-en-1 10000mAh avec Charge Rapide 25W - Orange Cosmique","description":"\u003cdiv class=\"cus_container\"\u003e\n\u003cdiv class=\"cus_section\"\u003e\n\u003cdiv class=\"description-container\"\u003e\n\u003cdiv class=\"products_des\"\u003e\n\u003ch1\u003eCharge Sans Fil Ultra-Rapide 25W\u003c\/h1\u003e\n\u003cp\u003eAlimenté par la technologie Qi2.2, le KUXIU K1 Ultra offre une expérience de charge sans fil sans précédent.\u003c\/p\u003e\n\u003cp\u003e\u003ci\u003e*Note : La charge 25W est actuellement prise en charge uniquement sur les modèles iPhone 16 et supérieurs (à l'exclusion de l'iPhone 16e).\u003c\/i\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"image-container\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/K1-Ultra-Orange-Des-1.jpg?v=1764247370\" alt=\"Batterie Externe Sans Fil MagSafe 3-en-1 KUXIU K1 Ultra Qi2.2 25W Charge Rapide\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cus_section\"\u003e\n\u003cdiv class=\"image-container\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/K1-Ultra-Orange-Des-2.jpg?v=1764247367\" alt=\"Batterie Externe Sans Fil MagSafe 3-en-1 KUXIU K1 Ultra Qi2.2 25W Charge Rapide\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"description-container\"\u003e\n\u003cdiv class=\"products_des\"\u003e\n\u003ch1\u003eCharge Sans Fil Tout-en-Un\u003c\/h1\u003e\n\u003cp\u003eLe KUXIU K1 Ultra charge sans fil votre iPhone, Apple Watch et AirPods, et est également compatible avec d'autres appareils compatibles Qi. Doté d'un design rotatif mécanique, il se déplie pour charger votre Apple Watch et sert également de gadget anti-stress amusant.\u003c\/p\u003e\n\u003cp\u003eLe support caché vous permet de profiter d'une visualisation mains libres en regardant des vidéos.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cus_section\"\u003e\n\u003cdiv class=\"description-container\"\u003e\n\u003cdiv class=\"products_des\"\u003e\n\u003ch1\u003eCharger Tout en Utilisant\u003c\/h1\u003e\n\u003cp\u003eLe KUXIU K1 Ultra prend en charge la charge pass-through, vous permettant de passer facilement du mode bureau au mode voyage.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"image-container\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/K1-Ultra-Orange-Des-4.jpg?v=1764247521\" alt=\"Batterie Externe Sans Fil MagSafe 3-en-1 KUXIU K1 Ultra Qi2.2 25W Charge Rapide\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cus_section bg-black\"\u003e\n\u003cdiv class=\"image-container\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/K1-Ultra-Orange-Des-5.jpg?v=1764247367\" alt=\"Batterie Externe Sans Fil MagSafe 3-en-1 KUXIU K1 Ultra Qi2.2 25W Charge Rapide\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"description-container\"\u003e\n\u003cdiv class=\"products_des\"\u003e\n\u003ch1\u003eConnexion Magnétique Puissante\u003c\/h1\u003e\n\u003cp\u003eLe KUXIU K1 Ultra est doté de 16+2 aimants N52, fabriqués avec le même matériau et alignement que ceux de l'iPhone. Cela garantit un maintien magnétique précis et sécurisé, maintenant votre iPhone fermement en place sans le moindre glissement.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cus_section\"\u003e\n\u003cdiv class=\"description-container\"\u003e\n\u003cdiv class=\"products_des\"\u003e\n\u003ch1\u003eQualité Sans Compromis\u003c\/h1\u003e\n\u003cp\u003eLe KUXIU K1 Ultra est fabriqué à partir d'un alliage d'aluminium usiné CNC, fini par sablage et anodisation pour une texture raffinée. Les deux côtés sont dotés de verre Corning premium avec une couche anti-explosion ajoutée pour la durabilité et l'élégance. Ce n'est pas seulement une batterie externe sans fil, c'est une pièce maîtresse d'art fonctionnel.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"image-container\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/K1-Ultra-Orange-Des-3.jpg?v=1764247370\" alt=\"Batterie Externe Sans Fil MagSafe 3-en-1 KUXIU K1 Ultra Qi2.2 25W Charge Rapide\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"KUXIU","offers":[{"title":"Default Title","offer_id":47186315149364,"sku":"K1ULTRA-qi2.2-10000mAh-Orange","price":77.98,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/K1-Ultra-Wireless-Power-Bank-Orange-IF-RD-2-1.jpg?v=1776736275"},{"product_id":"kuxiu-x55-turbo-black","title":"Support de charge sans fil pliable 3-en-1 MagSafe certifié Qi2.2 25W Turbo KUXIU X55 - Noir","description":"\u003ch5\u003eChargement sans fil MagSafe Qi2.2 25W\u003c\/h5\u003e\n\u003cp\u003eDécouvrez la prochaine génération de puissance avec la technologie Qi2.2. Le X55 Turbo offre une vitesse de charge magnétique ultra-rapide maximale de 25W, garantissant que votre smartphone retrouve de l'énergie en un temps record avec un alignement parfait à chaque fois.\u003c\/p\u003e\n\u003ch5\u003eDesign pliable polyvalent 3-en-1\u003c\/h5\u003e\n\u003cp\u003eLe compagnon de voyage ultime est arrivé. Cette station innovante 3-en-1 charge simultanément votre téléphone, votre montre et vos écouteurs. Sa structure pliable vous permet de rester alimenté et organisé, que vous soyez au bureau ou en déplacement.\u003c\/p\u003e\n\u003ch5\u003eCharge dédiée rapide 5W pour montre\u003c\/h5\u003e\n\u003cp\u003eNe laissez jamais votre appareil portable à court d'énergie. Le module de charge spécialisé pour montre fournit une sortie stable et efficace de 5W, gardant votre montre connectée prête pour votre prochain entraînement ou réunion sans longue attente.\u003c\/p\u003e\n\u003ch5\u003eLa solution ultime pour l’écosystème\u003c\/h5\u003e\n\u003cp\u003eConçu spécialement pour les passionnés d’Apple, le X55 Turbo est la solution « Tout-en-Un » définitive pour votre iPhone, Apple Watch et AirPods. Désencombrez votre bureau et simplifiez votre style de vie avec un hub élégant et puissant.\u003c\/p\u003e\n\u003ch5\u003eProtection intelligente pour la longévité de la batterie\u003c\/h5\u003e\n\u003cp\u003eSécurité et durabilité réunies. Équipé d’une protection intelligente avancée — incluant la protection contre les surtensions, les surintensités, les surchauffes et la détection d’objets étrangers (FOD) — il garantit que vos appareils restent au frais et que la santé de votre batterie est préservée.\u003c\/p\u003e","brand":"KUXIU","offers":[{"title":"Default Title","offer_id":47392168214580,"sku":"X55Turbo-QI2.2-Black","price":59.98,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/X55TurboV2_2.png?v=1770781343"},{"product_id":"kuxiu-s4-power-bank-orange","title":"KUXIU S4 Qi2.2 25W Batterie externe sans fil sécurisée semi-solide en alliage d’aluminium 10000mAh — Orange Cosmique","description":"\u003cdiv class=\"cus_container\"\u003e\n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eUn nouveau standard de sécurité\u003c\/h1\u003e\n                \u003cp\u003eL'écran TFT fournit des informations en temps réel sur la santé de la batterie, la température de fonctionnement, la capacité restante, la puissance de charge sans fil, la puissance d'entrée\/sortie Type-C et les alertes de sécurité actives — un contrôle total en un coup d'œil.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"KUXIU S4 Qi2.2 25W 10000mAh Aluminum Alloy Semi-Solid Safe Wireless Power Bank\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-S4-Power-Bank-Display-Orange.jpg?v=1776154398\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"KUXIU S4 Qi2.2 25W 10000mAh Aluminum Alloy Semi-Solid Safe Wireless Power Bank\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-S4-Power-Bank-Certified-Orange.jpg?v=1776154400\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eCharge rapide MagSafe 25W certifiée Qi2.2\u003c\/h1\u003e\n                \u003cp\u003eGagnez en puissance rapidement grâce à la technologie Qi2.2 de nouvelle génération — atteignez 58 % en seulement 20 minutes.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eBatterie semi-solide de nouvelle génération\u003c\/h1\u003e\n                \u003cp\u003eDotée de la cellule semi-solide de 10 000 mAh la plus fine au monde, conçue pour une stabilité supérieure et un risque de sécurité nul.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"KUXIU S4 Qi2.2 25W 10000mAh Aluminum Alloy Semi-Solid Safe Wireless Power Bank\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-S4-Power-Bank-Safe-Orange.jpg?v=1776154400\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"KUXIU S4 Qi2.2 25W 10000mAh Aluminum Alloy Semi-Solid Safe Wireless Power Bank\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-S4-Power-Bank-Cooling-Orange.jpg?v=1776154400\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eCadre en alliage d'aluminium premium\u003c\/h1\u003e\n                \u003cp\u003eL'alliage d'aluminium conçu avec précision améliore la dissipation thermique tout en offrant une finition raffinée et haut de gamme.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eSupport pliable intégré\u003c\/h1\u003e\n                \u003cp\u003eChargez et visionnez en mains libres grâce au support pliable intégré — parfait pour le travail, les voyages ou une utilisation quotidienne.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"KUXIU S4 Qi2.2 25W 10000mAh Aluminum Alloy Semi-Solid Safe Wireless Power Bank\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-S4-Power-Bank-Stand-Orange.jpg?v=1776154394\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e","brand":"KUXIU","offers":[{"title":"Default Title","offer_id":47436628066356,"sku":"S4-10000mAh-Orange","price":77.98,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIUS4WirelessPowerBankOrange.png?v=1770985484"},{"product_id":"kuxiu-s4-power-bank","title":"KUXIU S4 Qi2.2 25W Batterie externe sans fil sécurisée semi-solide en alliage d’aluminium 10000mAh — Noir","description":"\u003cdiv class=\"cus_container\"\u003e\n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eUn nouveau standard de sécurité\u003c\/h1\u003e\n                \u003cp\u003eL'écran TFT fournit des informations en temps réel sur la santé de la batterie, la température de fonctionnement, la capacité restante, la puissance de charge sans fil, la puissance d'entrée\/sortie Type-C et les alertes de sécurité actives — un contrôle total en un coup d'œil.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"KUXIU S4 Qi2.2 25W 10000mAh Aluminum Alloy Semi-Solid Safe Wireless Power Bank\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-S4-Power-Bank-Display-Black.jpg?v=1776154396\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"KUXIU S4 Qi2.2 25W 10000mAh Aluminum Alloy Semi-Solid Safe Wireless Power Bank\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-S4-Power-Bank-Certified-Black.jpg?v=1776154398\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eCharge rapide MagSafe 25W certifiée Qi2.2\u003c\/h1\u003e\n                \u003cp\u003eGagnez en puissance rapidement grâce à la technologie Qi2.2 de nouvelle génération — atteignez 58 % en seulement 20 minutes.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eBatterie semi-solide de nouvelle génération\u003c\/h1\u003e\n                \u003cp\u003eDotée de la cellule semi-solide de 10 000 mAh la plus fine au monde, conçue pour une stabilité supérieure et un risque de sécurité nul.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"KUXIU S4 Qi2.2 25W 10000mAh Aluminum Alloy Semi-Solid Safe Wireless Power Bank\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-S4-Power-Bank-Safe.jpg?v=1776154400\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"KUXIU S4 Qi2.2 25W 10000mAh Aluminum Alloy Semi-Solid Safe Wireless Power Bank\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-S4-Power-Bank-Cooling-Black.jpg?v=1776154398\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eCadre en alliage d'aluminium premium\u003c\/h1\u003e\n                \u003cp\u003eL'alliage d'aluminium conçu avec précision améliore la dissipation thermique tout en offrant une finition raffinée et haut de gamme.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"cus_section\"\u003e\n        \u003cdiv class=\"description-container\"\u003e\n            \u003cdiv class=\"products_des\"\u003e\n                \u003ch1\u003eSupport pliable intégré\u003c\/h1\u003e\n                \u003cp\u003eChargez et visionnez en mains libres grâce au support pliable intégré — parfait pour le travail, les voyages ou une utilisation quotidienne.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"KUXIU S4 Qi2.2 25W 10000mAh Aluminum Alloy Semi-Solid Safe Wireless Power Bank\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-S4-Power-Bank-Stand-Black.jpg?v=1776154393\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e","brand":"KUXIU","offers":[{"title":"Default Title","offer_id":47436958564404,"sku":"S4-10000mAh-Black","price":77.98,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIUS4WirelessPowerBankBlack.png?v=1770985518"},{"product_id":"kuxiu-x55-turbo-orange","title":"KUXIU X55 Turbo Qi2.2 Certified 25W 3-in-1 MagSafe Foldable Wireless Charging Stand  - Orange","description":"\u003ch5\u003eQi2.2 25W MagSafe  Wireless Charging\u003c\/h5\u003e\n\u003cp\u003eExperience the next generation of power with Qi2.2 technology. The X55 Turbo delivers a 25W Max blazing-fast magnetic charging speed, ensuring your smartphone regains power in record time with perfect alignment every time.\u003c\/p\u003e\n\u003ch5\u003eVersatile 3-in-1 Foldable Design\u003c\/h5\u003e\n\u003cp\u003eThe ultimate travel companion has arrived. This innovative 3-in-1 station charges your phone, watch, and earbuds simultaneously. Its foldable structure allows you to stay powered up and organized whether you are at the office or on the move.\u003c\/p\u003e\n\u003ch5\u003eDedicated 5W High-Speed Watch Charging\u003c\/h5\u003e\n\u003cp\u003eNever let your wearable run out of juice. The specialized watch charging module provides a stable and efficient 5W output, keeping your smartwatch ready for your next workout or meeting without the long wait.\u003c\/p\u003e\n\u003ch5\u003eThe Ultimate Ecosystem Solution\u003c\/h5\u003e\n\u003cp\u003eDesigned specifically for Apple enthusiasts, the X55 Turbo is the definitive \"All-in-One\" solution for your iPhone, Apple Watch, and AirPods. Declutter your desk and simplify your lifestyle with one sleek, powerful hub.\u003c\/p\u003e\n\u003ch5\u003eSmart Protection for Battery Longevity\u003c\/h5\u003e\n\u003cp\u003eSafety meets durability. Equipped with advanced intelligent protection—including over-voltage, over-current, over-temperature controls, and Foreign Object Detection (FOD)—it ensures your devices stay cool and your battery health remains protected.\u003c\/p\u003e","brand":"KUXIU","offers":[{"title":"Default Title","offer_id":47534350172212,"sku":"X55Turbo-Orange-45Worange-60C","price":59.98,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-X55-Turbo-orange-1.png?v=1772185782"},{"product_id":"kuxiu-x1-turbo","title":"Support de charge sans fil pliable KUXIU X1 Turbo 25W MagSafe - Gris","description":"\u003ch2\u003eCharge Rapide Magnétique 25W de Nouvelle Génération\u003c\/h2\u003e\n\u003cp\u003eDécouvrez l’excellence de la puissance sans fil. Le X1 Turbo offre une sortie sans fil ultra-rapide de 25W, garantissant que votre appareil se recharge bien plus vite qu’avec un chargeur standard. Avec une efficacité énergétique optimisée et une gestion avancée de la chaleur, il assure une expérience de charge rapide, stable et sécurisée.\u003c\/p\u003e\n\n\u003ch2\u003eDesign Minimaliste Inspiré des Stations Radar\u003c\/h2\u003e\n\u003cp\u003eRehaussez votre espace de travail avec une silhouette unique « Station Radar ». Ce design conique emblématique n’est pas seulement un chargeur — c’est une œuvre technologique qui apporte une touche futuriste et sophistiquée à tout bureau, table de chevet ou espace de travail.\u003c\/p\u003e\n\n\u003ch2\u003eArtisanat Premium en Aluminium CNC\u003c\/h2\u003e\n\u003cp\u003eConçu pour durer et agréable au toucher, le X1 Turbo est doté d’un corps en alliage d’aluminium de haute qualité. Grâce à l’usinage CNC de précision, au sablage et à une finition par anodisation, il offre une texture mate raffinée qui résiste aux traces de doigts et complète parfaitement vos appareils haut de gamme.\u003c\/p\u003e\n\n\u003ch2\u003eInclinaison Réglable à 45° \u0026amp; Mode Veille\u003c\/h2\u003e\n\u003cp\u003eTrouvez l’angle idéal avec un réglage d’inclinaison à 45 degrés. Que vous naviguiez en mode portrait ou passiez en mode paysage pour le mode Veille et la lecture vidéo, l’alignement magnétique puissant maintient votre téléphone solidement en place pour une visualisation mains libres.\u003c\/p\u003e\n\n\u003ch2\u003eProtection Intelligente Complète\u003c\/h2\u003e\n\u003cp\u003eVotre sécurité est notre priorité. Équipé d’une puce intelligente intégrée, le chargeur offre une protection complète contre la surchauffe, la surcharge, le surcourant et les courts-circuits, ainsi qu’une détection d’objets étrangers (FOD) pour une tranquillité d’esprit totale à chaque charge.\u003c\/p\u003e","brand":"KUXIU","offers":[{"title":"Default Title","offer_id":47649195622452,"sku":"X1Turbo-Gray","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIUX1Turbo_1.png?v=1775095965"},{"product_id":"kuxiu-d5-charging-station","title":"Station de recharge sans fil 5-en-1 KUXIU D5 Qi2.2 25 W","description":"\u003c!--\n  Shopify product description HTML for D5 page\n  Replace the placeholder URLs below with Shopify CDN file URLs.\n--\u003e\n\u003cstyle\u003e\n  .d5-product-page {\n    --black: #111111;\n    --body: #5f5f5f;\n    --light-gray: #e1e0de;\n    --white: #ffffff;\n    --media-radius: 16px;\n    width: 100%;\n    margin: 0;\n    padding: 0;\n    overflow: hidden;\n    color: var(--black);\n    background: var(--white);\n  }\n\n  .d5-product-page * {\n    box-sizing: border-box;\n  }\n\n  .d5-product-page img,\n  .d5-product-page video {\n    display: block;\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n  }\n\n  .d5-product-page img[src*=\"\/1\/0000\/0000\/\"],\n  .d5-product-page video[poster*=\"\/1\/0000\/0000\/\"] {\n    opacity: 0;\n  }\n\n  .d5-product-page h2,\n  .d5-product-page h3,\n  .d5-product-page p {\n    margin: 0;\n  }\n\n  .d5-wrap {\n    width: 100%;\n    margin: 0 auto;\n  }\n\n  .d5-title {\n    font-weight: 900;\n    color: var(--black);\n    letter-spacing: 0;\n    line-height: 0.95;\n    text-transform: uppercase;\n  }\n\n  .d5-copy {\n    color: var(--body);\n    font-size: 16px;\n    line-height: 1.45;\n    font-weight: 400;\n  }\n\n  .d5-hero {\n    position: relative;\n    min-height: 800px;\n    background: var(--light-gray);\n  }\n\n  .d5-hero__image {\n    position: absolute;\n    top: 0;\n    right: 0;\n    width: 80.2%;\n    height: 100%;\n\n  }\n\n  .d5-hero__content {\n    position: relative;\n    z-index: 2;\n    width: 50%;\n    padding: 178px 0 0 7.1%;\n  }\n\n  .d5-hero .d5-title {\n    max-width: 700px;\n    font-size: clamp(42px, 4.28vw, 78px) !important;\n  }\n\n  .d5-hero .d5-copy {\n    max-width: 510px;\n    margin-top: 28px;\n  }\n\n  .d5-intro {\n    padding: 58px 24px 66px;\n    text-align: center;\n    background: var(--white);\n  }\n\n  .d5-intro .d5-title,\n  .d5-box .d5-title {\n    font-size: clamp(38px, 3.4vw, 62px) !important;\n    line-height: 1;\n  }\n\n  .d5-intro .d5-copy,\n  .d5-box .d5-copy,\n  .d5-all .d5-copy {\n    max-width: 640px;\n    margin: 15px auto 0;\n    font-size: 16px;\n    line-height: 1.35;\n  }\n\n  .d5-display {\n    display: grid;\n    grid-template-columns: 46.65% 53.35%;\n    min-height: 669px;\n    background: var(--white);\n  }\n\n  .d5-display__video {\n    min-height: 669px;\n  }\n\n  .d5-display__text {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    gap: 52px;\n    padding: 52px 10.7% 52px 14%;\n  }\n\n  .d5-feature h3 {\n    font-size: 17px;\n    line-height: 1.2;\n    font-weight: 800;\n    color: var(--black);\n    margin-bottom: 16px;\n    margin-block-start: 0 !important;\n    margin-block-end: 0 !important;\n  }\n\n  .d5-feature .d5-copy {\n    max-width: 510px;\n    padding-inline-start: 10px;\n  }\n\n  .d5-split {\n    display: grid;\n    grid-template-columns: 53.35% 46.65%;\n    min-height: 669px;\n    background: var(--light-gray);\n  }\n\n  .d5-split__content {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    padding: 36px 9.6% 36px 10.7%;\n  }\n\n  .d5-split .d5-title {\n    max-width: 520px;\n    font-size: clamp(42px, 4.05vw, 74px) !important;\n  }\n\n  .d5-split .d5-copy {\n    max-width: 565px;\n    margin-top: 29px;\n  }\n\n  .d5-split__video {\n    min-height: 669px;\n  }\n\n  .d5-all {\n    padding: 83px 7.1% 74px;\n    background: var(--white);\n    text-align: center;\n  }\n\n  .d5-all .d5-title {\n    font-size: clamp(38px, 3.4vw, 62px) !important;\n    line-height: 1;\n  }\n\n  .d5-card-grid {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 18px;\n    margin-top: 77px;\n    text-align: left;\n  }\n\n  .d5-card__media {\n    aspect-ratio: 1.53 \/ 1;\n    overflow: hidden;\n    border-radius: var(--media-radius);\n  }\n\n  .d5-card__body {\n    padding: 22px 19px 0;\n  }\n\n  .d5-card__body h3 {\n    font-size: 16px;\n    line-height: 1.2;\n    font-weight: 800;\n    margin-bottom: 16px;\n    color: var(--black);\n  }\n\n  .d5-card__body p {\n    color: var(--body);\n    font-size: 16px;\n    line-height: 1.45;\n  }\n\n  .d5-box {\n    padding: 84px 7.1% 78px;\n    background: var(--light-gray);\n    text-align: center;\n  }\n\n  .d5-box__media {\n    margin-top: 80px;\n    aspect-ratio: 2.16 \/ 1;\n    overflow: hidden;\n    border-radius: var(--media-radius);\n  }\n\n  @media (max-width: 989px) {\n    .d5-copy {\n      font-size: 16px;\n      line-height: 1.45;\n    }\n\n    .d5-hero {\n      min-height: 0;\n      background: var(--white);\n    }\n\n    .d5-hero__content {\n      width: 100%;\n      padding: 52px 22px 38px;\n      background: var(--light-gray);\n    }\n\n    .d5-hero .d5-title {\n      max-width: 360px;\n      font-size: 42px;\n      line-height: 0.98;\n    }\n\n    .d5-hero .d5-copy {\n      max-width: 420px;\n      margin-top: 20px;\n    }\n\n    .d5-hero__image {\n      position: relative;\n      width: 100%;\n      height: auto;\n      aspect-ratio: 0.92 \/ 1;\n    }\n\n    .d5-intro {\n      padding: 48px 22px 52px;\n    }\n\n    .d5-intro .d5-title,\n    .d5-all .d5-title,\n    .d5-box .d5-title {\n      font-size: 38px;\n    }\n\n    .d5-display,\n    .d5-split {\n      grid-template-columns: 1fr;\n      min-height: 0;\n    }\n\n    .d5-display__video,\n    .d5-split__video {\n      min-height: 0;\n      aspect-ratio: 1 \/ 1;\n    }\n\n    .d5-display__text {\n      gap: 32px;\n      padding: 44px 22px 52px;\n    }\n\n    .d5-split__content {\n      padding: 54px 22px 52px;\n    }\n\n    .d5-split .d5-title {\n      max-width: 600px;\n      font-size: 42px !important;\n      line-height: 0.98;\n    }\n\n    .d5-split .d5-copy {\n      margin-top: 20px;\n    }\n\n    .d5-split__video {\n      order: 2;\n    }\n\n    .d5-card-grid {\n      grid-template-columns: 1fr;\n      gap: 34px;\n      margin-top: 48px;\n    }\n\n    .d5-all {\n      padding: 58px 22px 56px;\n    }\n\n    .d5-card__body {\n      padding: 16px 8px 0;\n    }\n\n    .d5-box {\n      padding: 58px 22px 52px;\n    }\n\n    .d5-box__media {\n      margin-top: 46px;\n      aspect-ratio: 1 \/ 1.05;\n      border-radius: 14px;\n    }\n  }\n\n  @media (max-width: 480px) {\n    .d5-hero .d5-title,\n    .d5-split .d5-title {\n      font-size: 34px;\n    }\n\n    .d5-intro .d5-title,\n    .d5-all .d5-title,\n    .d5-box .d5-title {\n      font-size: 32px;\n    }\n\n    .d5-feature h3,\n    .d5-card__body h3 {\n      font-size: 15px;\n\n    }\n  }\n\u003c\/style\u003e\n\n\u003csection class=\"d5-product-page\"\u003e\n  \u003cdiv class=\"d5-wrap\"\u003e\n    \u003csection class=\"d5-hero\" aria-label=\"Refroidissement actif et stabilité sans compromis\"\u003e\n      \u003cdiv class=\"d5-hero__content\"\u003e\n        \u003ch2 class=\"d5-title\"\u003eVentilateur de refroidissement actif.\u003c\/h2\u003e\n        \u003cp class=\"d5-copy\"\u003eÉquipé d’un ventilateur actif et d’une ventilation inférieure, il réduit efficacement la température pendant la recharge. La puissance reste stable même lorsque plusieurs appareils sont rechargés simultanément, évitant tout ralentissement dû à la surchauffe.\u003c\/p\u003e\n        \u003cp class=\"d5-copy\"\u003e*Le ventilateur peut être activé ou désactivé manuellement.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cpicture class=\"d5-hero__image\"\u003e\n        \u003csource media=\"(max-width: 989px)\" srcset=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-D5-Wirless-Charger-des-mb-1.jpg?v=1782441751\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-D5-Wirless-Charger-des-1.jpg?v=1782439417\" alt=\"Système de refroidissement actif D5\"\u003e\u003c\/picture\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"d5-intro\"\u003e\n      \u003ch2 class=\"d5-title\"\u003eÉcran intelligent.\u003c\/h2\u003e\n      \u003cp class=\"d5-copy\"\u003eSon grand écran TFT affiche l’état de fonctionnement de façon claire et intuitive.\u003c\/p\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"d5-display\"\u003e\n      \u003cdiv class=\"d5-display__video\"\u003e\n        \u003cvideo autoplay muted loop playsinline poster\u003e\n          \u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/5fe36ec3632440eeac9f0a602c3dee5e.webm\" type=\"video\/mp4\"\u003e\u003c\/video\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"d5-display__text\"\u003e\n        \u003cdiv class=\"d5-feature\"\u003e\n          \u003ch3\u003eSuivi de la puissance\u003c\/h3\u003e\n          \u003cp class=\"d5-copy\"\u003eAffiche en temps réel la tension, l’intensité et la puissance d’entrée. Il suit également séparément l’état de recharge du téléphone, de la montre et des écouteurs.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"d5-feature\"\u003e\n          \u003ch3\u003eAffichage de l’heure\u003c\/h3\u003e\n          \u003cp class=\"d5-copy\"\u003eTransforme l’écran en une élégante horloge de bureau.\u003c\/p\u003e\n          \u003cp class=\"d5-copy\"\u003e*Remarque : cette fonction nécessite une connexion Bluetooth avec votre téléphone pour synchroniser l’heure.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"d5-feature\"\u003e\n          \u003ch3\u003eExpressions animées\u003c\/h3\u003e\n          \u003cp class=\"d5-copy\"\u003eSur votre bureau comme sur votre table de nuit, ses animations joyeuses vous tiennent toujours compagnie.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"d5-feature\"\u003e\n          \u003ch3\u003eSystème d’alerte\u003c\/h3\u003e\n          \u003cp class=\"d5-copy\"\u003eChaque zone de recharge sans fil dispose d’une détection des corps étrangers (FOD), avec des avertissements instantanés affichés à l’écran.\u003c\/p\u003e\n          \u003cp class=\"d5-copy\"\u003e*L’écran peut être éteint manuellement.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"d5-split\"\u003e\n      \u003cdiv class=\"d5-split__content\"\u003e\n        \u003ch2 class=\"d5-title\"\u003eChargeur de montre dissimulé.\u003c\/h2\u003e\n        \u003cp class=\"d5-copy\"\u003eGrâce à un mécanisme rétractable motorisé de précision, le module de recharge de l’Apple Watch est parfaitement dissimulé dans le boîtier.\n        \u003c\/p\u003e\n        \u003cp class=\"d5-copy\"\u003eUne pression prolongée sur le bouton tactile permet de déployer ou de rétracter le module en douceur. Il apparaît uniquement lorsque vous en avez besoin, pour une recharge épurée et un bureau impeccable.\n\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"d5-split__video\"\u003e\n        \u003cvideo autoplay muted loop playsinline poster\u003e\n          \u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/3075cc9ad34f466c97aa5fe48fac23f9.webm\" type=\"video\/mp4\"\u003e\u003c\/video\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"d5-all\"\u003e\n      \u003ch2 class=\"d5-title\"\u003eChargeur sans fil tout-en-un.\u003c\/h2\u003e\n      \u003cp class=\"d5-copy\"\u003eDites adieu aux câbles emmêlés et gardez votre bureau parfaitement dégagé.\u003c\/p\u003e\n      \u003cdiv class=\"d5-card-grid\"\u003e\n        \u003carticle class=\"d5-card\"\u003e\n          \u003cdiv class=\"d5-card__media\"\u003e\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/D5-for-Phone.jpg?v=1782452073\" alt=\"Recharge sans fil pour téléphone\"\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"d5-card__body\"\u003e\n            \u003ch3\u003ePour téléphone\u003c\/h3\u003e\n            \u003cp\u003eCompatible avec iPhone, Samsung Galaxy, Google Pixel et les autres smartphones prenant en charge la recharge sans fil.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"d5-card\"\u003e\n          \u003cdiv class=\"d5-card__media\"\u003e\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/D5-for-Watch.jpg?v=1782452073\" alt=\"Recharge sans fil pour téléphone\"\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"d5-card__body\"\u003e\n            \u003ch3\u003ePour Apple Watch\u003c\/h3\u003e\n            \u003cp\u003ePrend en charge la recharge rapide 5 W de l’Apple Watch\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"d5-card\"\u003e\n          \u003cdiv class=\"d5-card__media\"\u003e\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/D5-for-Earphone.jpg?v=1782452073\" alt=\"Recharge sans fil pour téléphone\"\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"d5-card__body\"\u003e\n            \u003ch3\u003ePour écouteurs\u003c\/h3\u003e\n            \u003cp\u003eCompatible avec les AirPods, Galaxy Buds et tous les autres écouteurs à recharge sans fil certifiés Qi.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"d5-box\"\u003e\n      \u003ch2 class=\"d5-title\"\u003eContenu de la boîte.\u003c\/h2\u003e\n      \u003cp class=\"d5-copy\"\u003eStation de recharge sans fil D5 ×1, adaptateur secteur 45 W ×1, câble de recharge de 1 m ×1, manuel d’utilisation ×1\u003c\/p\u003e\n      \u003cdiv class=\"d5-box__media\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/D5_Packaging.jpg?v=1782441707\" alt=\"Contenu de l’emballage D5\"\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n","brand":"KUXIU","offers":[{"title":"Default Title","offer_id":47867424473140,"sku":"D5-Gray","price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIUD55-in-1WirelessChargingStation1.png?v=1780649316"},{"product_id":"kuxiu-x40-turbo-cherry","title":"KUXIU X40 Turbo support de charge sans fil MagSafe pliable 3-en-1 25 W certifié Qi2.2 – Bordeaux","description":"\u003cstyle\u003e\n      .x40-shell {\n        color-scheme: dark;\n        --page: #1d1d1f;\n        --panel: #000;\n        --control: #232325;\n        --card: #242426;\n        --text: #f5f5f7;\n        --muted: #a6a6ab;\n        --accent: #ff5a00;\n        --app-pv-icon-fill: #f5f5f7;\n        width: 100%;\n        max-width: none;\n        background: var(--page);\n      }\n\n      .x40-page,\n      .x40-page * { box-sizing: border-box; }\n\n      .x40-page button { font: inherit; }\n\n      .x40-page {\n        position: relative;\n        left: 50%;\n        width: min(1536px, calc(100vw - 48px));\n        max-width: none;\n        margin: 0;\n        padding: 104px 0 70px;\n        transform: translateX(-50%);\n        background: var(--page);\n        color: var(--text);\n        isolation: isolate;\n      }\n\n      .x40-shell h1,\n      .x40-shell h2 { color: var(--text) !important; }\n\n      .x40-shell h2.x40-top-title {\n        max-width: none;\n        margin: 0 0 36px !important;\n        text-align: left;\n      }\n\n      .x40-feature-panel {\n        position: relative;\n        width: min(1440px, 100%);\n        margin-inline: auto;\n        aspect-ratio: 1120 \/ 528;\n        overflow: hidden;\n        border-radius: 20px;\n        background: var(--panel);\n      }\n\n      .x40-selector-stack {\n        position: absolute;\n        z-index: 2;\n        top: 50%;\n        left: 6.05%;\n        width: 28.58%;\n        transform: translateY(-50%);\n        transition: opacity 560ms cubic-bezier(.22, 1, .36, 1), transform 700ms cubic-bezier(.22, 1, .36, 1);\n      }\n\n      .x40-feature-item {\n        transition: opacity 480ms ease, transform 620ms cubic-bezier(.22, 1, .36, 1);\n      }\n      .x40-feature-item + .x40-feature-item { margin-top: 12px; }\n      .x40-feature-panel:not(.x40-is-visible) .x40-selector-stack {\n        visibility: hidden;\n        opacity: 0;\n        transform: translateY(calc(-50% + 34px));\n      }\n      .x40-feature-panel:not(.x40-is-visible) .x40-feature-item { opacity: 0; transform: translateY(18px); }\n      .x40-feature-panel.x40-is-visible .x40-feature-item { opacity: 1; transform: translateY(0); }\n      .x40-feature-panel.x40-is-visible .x40-feature-item:nth-child(1) { transition-delay: 100ms; }\n      .x40-feature-panel.x40-is-visible .x40-feature-item:nth-child(2) { transition-delay: 180ms; }\n      .x40-feature-panel.x40-is-visible .x40-feature-item:nth-child(3) { transition-delay: 260ms; }\n\n      .x40-selector {\n        display: flex;\n        width: max-content;\n        align-items: center;\n        gap: 10px;\n        border: 0;\n        border-radius: 999px;\n        padding: 15px 20px;\n        background: var(--control);\n        color: var(--text);\n        cursor: pointer;\n        font-size: 17px;\n        line-height: 1.2;\n        font-weight: 500;\n        transition: background-color 160ms ease, transform 160ms ease;\n      }\n\n      .x40-selector:hover { background: #303033; }\n      .x40-selector:active { transform: scale(0.98); }\n      .x40-selector:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }\n\n      .x40-selector__icon {\n        display: block;\n        width: 24px;\n        height: 24px;\n        flex: 0 0 24px;\n      }\n\n      .x40-plus-icon { display: block; width: 24px; height: 24px; stroke-width: 1.4; }\n\n      .x40-selector[aria-expanded=\"true\"] .x40-selector__icon { display: none; }\n\n      .x40-feature-copy {\n        display: grid;\n        grid-template-rows: 1fr;\n        width: 100%;\n        margin-top: 12px;\n        border-radius: 16px;\n        background: var(--card);\n        color: var(--text);\n        font-size: 12px;\n        line-height: 1.45;\n        opacity: 1;\n        transition: grid-template-rows 240ms ease, opacity 180ms ease, margin 240ms ease;\n      }\n\n      .x40-feature-copy__inner {\n        min-height: 0;\n        overflow: hidden;\n      }\n\n      .x40-feature-copy__text { margin: 0; padding: 17px 16px; font-size: 17px; }\n\n      .x40-feature-copy.x40-is-collapsed {\n        grid-template-rows: 0fr;\n        margin-top: 0;\n        opacity: 0;\n      }\n\n      .x40-hero-product {\n        display: block;\n        position: absolute;\n        top: 0;\n        left: 50%;\n        width: 50%;\n        height: 100%;\n        margin: 0;\n        padding: 0;\n        object-fit: cover;\n        pointer-events: none;\n        visibility: hidden;\n        opacity: 0;\n        transition: opacity 180ms ease, transform 180ms ease, visibility 0s linear 180ms;\n      }\n\n      .x40-hero-product.x40-is-active {\n        visibility: visible;\n        opacity: 1;\n        transition-delay: 0s;\n      }\n\n      .x40-hero-product.x40-is-changing { opacity: 0.62; transform: scale(0.985); }\n\n      .x40-feature-panel::after,\n      .x40-media-card::after,\n      .x40-full-bleed-section::after {\n        content: \"\";\n        position: absolute;\n        z-index: 3;\n        top: 50%;\n        left: 50%;\n        width: 34px;\n        height: 34px;\n        margin: -17px 0 0 -17px;\n        border: 3px solid rgba(255, 255, 255, 0.34);\n        border-top-color: #fff;\n        border-radius: 50%;\n        opacity: 0;\n        pointer-events: none;\n        transform: scale(.82);\n        transition: opacity 180ms ease, transform 180ms ease;\n      }\n\n      .x40-feature-panel.x40-is-buffering::after,\n      .x40-media-card.x40-is-buffering::after,\n      .x40-full-bleed-section.x40-is-buffering::after {\n        opacity: 1;\n        transform: scale(1);\n        animation: x40-video-spin 800ms linear infinite;\n      }\n\n      @keyframes x40-video-spin { to { transform: scale(1) rotate(360deg); } }\n\n      @media (prefers-reduced-motion: reduce) {\n        .x40-feature-panel.x40-is-buffering::after,\n        .x40-media-card.x40-is-buffering::after,\n        .x40-full-bleed-section.x40-is-buffering::after { animation-duration: 1600ms; }\n      }\n\n      .x40-mobile-feature-detail { display: none; }\n\n      .x40-design-section {\n        padding-top: 56px;\n        text-align: center;\n      }\n\n      .x40-section-kicker,\n      .x40-content-eyebrow {\n        margin: 0 0 14px;\n        color: var(--accent);\n        font-size: 13px;\n        line-height: 1.2;\n        font-weight: 600;\n      }\n\n      .x40-shell h2.x40-section-title,\n      .x40-shell h2.x40-content-headline {\n        max-width: 780px;\n        margin: 0 auto !important;\n        font-size: 48px !important;\n        line-height: 1.1 !important;\n        letter-spacing: -1px !important;\n        font-weight: 600 !important;\n        padding-bottom: 50px;\n      }\n\n      .x40-section-copy,\n      .x40-content-description {\n        max-width: 810px;\n        margin: 18px auto 0;\n        color: var(--muted);\n        font-size: 14px;\n        line-height: 1.5;\n        font-weight: 400;\n      }\n\n      .x40-exploded-product {\n        display: block;\n        width: min(940px, 100%);\n        height: auto;\n        margin: 74px auto 0;\n        object-fit: cover;\n      }\n\n      .x40-section-block { margin-top: 96px; }\n\n      .x40-media-card {\n        position: relative;\n        overflow: hidden;\n        border-radius: 20px;\n      }\n\n      .x40-scroll-video {\n        display: block;\n        width: 100%;\n        height: 100%;\n        margin: 0;\n        object-fit: cover;\n      }\n\n      .x40-overnight-card { aspect-ratio: 1120 \/ 615; }\n\n      .x40-overnight-copy {\n        position: absolute;\n        z-index: 1;\n        top: 33%;\n        left: 5.6%;\n        width: min(34%, 430px);\n        transform: translateY(-20%);\n      }\n\n      .x40-overnight-copy .x40-content-headline,\n      .x40-overnight-copy .x40-content-description { margin-left: 0; text-align: left; }\n      .x40-overnight-copy .x40-content-description { color: var(--text); }\n\n      .x40-charge-stats {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        padding: 76px 0 0;\n      }\n\n      .x40-charge-stat { text-align: center; }\n      .x40-charge-stat img { display: block; width: 52px; height: 72px; margin: 0 auto 18px; object-fit: contain; }\n      .x40-charge-stat:nth-child(2) img { width: 42px; }\n      .x40-charge-stat:nth-child(3) img { width: 58px; }\n      .x40-charge-power, .x40-charge-range { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.15; }\n      .x40-charge-time { margin: 10px 0 14px; color: var(--accent); font-size: 28px; line-height: 1.15; font-weight: 600; }\n\n      .x40-full-bleed-section {\n        position: relative;\n        width: 100vw;\n        aspect-ratio: 1492 \/ 778;\n        margin-left: calc(50% - 50vw);\n        overflow: hidden;\n      }\n\n      .x40-full-bleed-copy {\n        position: absolute;\n        z-index: 1;\n        top: 9.8%;\n        left: 50%;\n        width: min(722px, calc(100% - 48px));\n        transform: translateX(-50%);\n        text-align: center;\n      }\n\n      .x40-standby-copy { top: 12%; }\n\n      .x40-portable-section {\n        display: grid;\n        width: calc(50% + 50vw);\n        grid-template-columns: minmax(340px, 520px) minmax(0, 1fr);\n        column-gap: 0;\n        align-items: start;\n        min-height: 674px;\n        padding-left: 8px;\n        padding-right: 0;\n      }\n\n      .x40-portable-copy { padding-top: 0; }\n      .x40-portable-copy .x40-content-headline,\n      .x40-portable-copy .x40-content-description { margin-left: 0; text-align: left; }\n      .x40-portable-copy .x40-content-description { max-width: 430px; }\n\n      .x40-dimensions-image {\n        display: block;\n        width: 100%;\n        height: 800px;\n        justify-self: end;\n        margin: 0;\n        padding: 0;\n        object-fit: contain;\n        object-position: right top;\n      }\n\n      .x40-box-section { padding-bottom: 0; text-align: center; }\n      .x40-box-picture { display: block; margin-top: 112px; }\n      .x40-box-image {\n        display: block;\n        width: 100%;\n        height: auto;\n        border-radius: 20px;\n      }\n\n      @media (max-width: 900px) {\n        .x40-page { width: min(calc(100vw - 32px), 720px); padding-top: 64px; }\n        .x40-shell h2.x40-section-title,\n        .x40-shell h2.x40-content-headline { padding-bottom: 25px; }\n        .x40-eyebrow-title { margin-bottom: 28px; }\n        .x40-feature-panel {\n          display: block;\n          min-height: 0;\n          aspect-ratio: 390 \/ 600;\n        }\n        .x40-selector-stack {\n          position: absolute;\n          top: auto;\n          bottom: 20px;\n          left: 0;\n          right: 0;\n          display: flex;\n          width: 100%;\n          gap: 10px;\n          margin: 0;\n          padding: 0 20px;\n          overflow-x: auto;\n          overscroll-behavior-inline: contain;\n          scrollbar-width: none;\n          scroll-snap-type: inline proximity;\n          transform: none;\n        }\n        .x40-selector-stack::-webkit-scrollbar { display: none; }\n        .x40-feature-panel:not(.x40-is-visible) .x40-selector-stack { transform: translateY(24px); }\n        .x40-feature-panel.x40-is-visible .x40-selector-stack { transform: translateY(0); }\n        .x40-feature-panel.x40-is-detail .x40-selector-stack {\n          visibility: hidden;\n          opacity: 0;\n          pointer-events: none;\n          transform: translateY(20px);\n        }\n        .x40-feature-item { flex: 0 0 auto; scroll-snap-align: start; }\n        .x40-feature-item + .x40-feature-item { margin-top: 0; }\n        .x40-feature-copy { display: none; }\n        .x40-selector { padding: 12px 16px; font-size: 14px; white-space: nowrap; }\n        .x40-selector__icon,\n        .x40-plus-icon { width: 20px; height: 20px; flex-basis: 20px; }\n        .x40-hero-product {\n          position: absolute;\n          top: 0;\n          left: 0;\n          width: 100%;\n          height: 100%;\n          aspect-ratio: auto;\n          transform: none;\n        }\n        .x40-hero-product.x40-is-changing { transform: scale(0.985); }\n        .x40-mobile-feature-detail {\n          position: absolute;\n          z-index: 4;\n          inset: 0;\n          display: block;\n          visibility: hidden;\n          opacity: 0;\n          pointer-events: none;\n          transition: opacity 320ms ease, visibility 320ms ease;\n        }\n        .x40-feature-panel.x40-is-detail .x40-mobile-feature-detail {\n          visibility: visible;\n          opacity: 1;\n          pointer-events: auto;\n        }\n        .x40-mobile-detail-close,\n        .x40-mobile-detail-arrow {\n          position: absolute;\n          display: grid;\n          width: 44px;\n          height: 44px;\n          place-items: center;\n          border: 0;\n          border-radius: 50%;\n          background: rgba(45, 45, 47, 0.68) !important;\n          color: var(--text);\n          cursor: pointer;\n          font-size: 28px;\n          line-height: 1;\n          -webkit-backdrop-filter: blur(18px) saturate(140%);\n          backdrop-filter: blur(18px) saturate(140%);\n        }\n        .x40-mobile-detail-close::before,\n        .x40-mobile-detail-close::after,\n        .x40-mobile-detail-arrow::before,\n        .x40-mobile-detail-arrow::after { display: none !important; content: none !important; }\n        .x40-mobile-detail-close { top: 18px; right: 18px; font-size: 24px; }\n        .x40-mobile-detail-arrow { bottom: 22px; }\n        .x40-mobile-detail-arrow--prev { left: 12px; }\n        .x40-mobile-detail-arrow--next { right: 12px; }\n        .x40-mobile-detail-card {\n          position: absolute;\n          bottom: 22px;\n          left: 50%;\n          width: min(72%, 420px);\n          min-height: 92px;\n          margin: 0;\n          padding: 18px 20px;\n          transform: translateX(-50%);\n          border-radius: 18px;\n          background: rgba(45, 45, 47, 0.72) !important;\n          color: var(--text);\n          font-size: 14px;\n          line-height: 1.45;\n          text-align: left;\n          -webkit-backdrop-filter: blur(22px) saturate(145%);\n          backdrop-filter: blur(22px) saturate(145%);\n        }\n        .x40-mobile-detail-card strong { font-weight: 600; }\n        .x40-design-section { padding-top: 64px; }\n        .x40-exploded-product { margin-top: 44px; }\n        .x40-section-block { margin-top: 72px; }\n        .x40-overnight-card { aspect-ratio: 4 \/ 5; }\n        .x40-overnight-copy {\n          top: 9%;\n          left: 7%;\n          width: 72%;\n          transform: none;\n        }\n        .x40-charge-stats { gap: 12px; padding-top: 48px; }\n        .x40-full-bleed-section { min-height: 680px; aspect-ratio: auto; }\n        .x40-full-bleed-copy { top: 9%; }\n        .x40-standby-copy { top: 9%; }\n        .x40-portable-section { grid-template-columns: 1fr; min-height: 0; padding-left: 0; }\n        .x40-portable-copy { padding: 0 8px; }\n        .x40-dimensions-image { height: auto; margin-top: 34px; object-position: center; }\n        .x40-box-picture { margin-top: 64px; }\n      }\n\n      @media (min-width: 901px) {\n        .x40-shell h2.x40-section-title,\n        .x40-shell h2.x40-content-headline { font-size: 80px !important; line-height: 1.1 !important; }\n        .x40-section-copy,\n        .x40-content-description { font-size: 21px; }\n        .x40-section-kicker,\n        .x40-content-eyebrow { font-size: 24px; }\n      }\n\n      @media (max-width: 520px) {\n        .x40-page { width: min(calc(100vw - 24px), 420px); padding-top: 42px; }\n        .x40-feature-panel { border-radius: 16px; }\n        .x40-hero-product { width: 100%; height: 100%; }\n        .x40-selector-stack { bottom: 16px; padding-inline: 16px; }\n        .x40-mobile-detail-card { bottom: 18px; width: calc(100% - 112px); padding: 16px; }\n        .x40-mobile-detail-arrow { bottom: 18px; }\n        .x40-shell h2.x40-section-title,\n        .x40-shell h2.x40-content-headline { font-size: 36px !important; line-height: 1.1 !important; }\n        .x40-section-kicker,\n        .x40-content-eyebrow { margin-bottom: 12px; }\n        .x40-section-copy,\n        .x40-content-description { margin-top: 16px; font-size: 14px; }\n        .x40-section-block { margin-top: 64px; }\n        .x40-overnight-card { min-height: 610px; aspect-ratio: auto; }\n        .x40-overnight-copy { top: 7%; width: 82%; }\n        .x40-charge-stats { padding-top: 40px; }\n        .x40-charge-stat img { width: 40px; height: 56px; }\n        .x40-charge-time { font-size: 23px; }\n        .x40-full-bleed-section { min-height: 600px; }\n        .x40-full-bleed-copy { width: calc(100% - 32px); }\n        .x40-box-picture { margin-top: 48px; }\n        .x40-box-image { border-radius: 16px; }\n      }\n\n      @media (prefers-reduced-motion: reduce) {\n        .x40-page,\n        .x40-page *,\n        .x40-page *::before,\n        .x40-page *::after { scroll-behavior: auto !important; transition: none !important; }\n        .x40-feature-panel:not(.x40-is-visible) .x40-selector-stack,\n        .x40-feature-panel:not(.x40-is-visible) .x40-feature-item { transform: none; }\n      }\n    \u003c\/style\u003e\n  \u003cdiv class=\"x40-shell\"\u003e\n  \u003cmain class=\"x40-page\" data-x40-root data-node-id=\"2:12\"\u003e\n      \u003ch2 class=\"x40-section-title x40-top-title\" data-node-id=\"3:2\"\u003eRegardez de plus près.\u003c\/h2\u003e\n\n      \u003csection class=\"x40-feature-panel\" aria-label=\"X40 Turbo charging features\" data-node-id=\"2:13\"\u003e\n        \u003cdiv class=\"x40-selector-stack\"\u003e\n          \u003cdiv class=\"x40-feature-item\"\u003e\n            \u003cbutton class=\"x40-selector\" type=\"button\" aria-expanded=\"false\" aria-controls=\"copy-iphone\" data-feature=\"iphone\"\u003e\n              \u003cspan class=\"x40-selector__icon\" aria-hidden=\"true\"\u003e\u003csvg class=\"x40-plus-icon\" version=\"1.1\" width=\"24px\" height=\"24px\" viewbox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"11.3\" style=\"stroke: var(--app-pv-icon-fill); fill: none;\"\u003e\u003c\/circle\u003e\u003cg transform=\"translate(7 7)\" style=\"stroke: none; fill: var(--app-pv-icon-fill);\"\u003e\u003cpath d=\"m9 4h-3v-3c0-0.553-0.447-1-1-1s-1 0.447-1 1v3h-3c-0.553 0-1 0.447-1 1s0.447 1 1 1h3v3c0 0.553 0.447 1 1 1s1-0.447 1-1v-3h3c0.553 0 1-0.447 1-1s-0.447-1-1-1\"\u003e\u003c\/path\u003e\u003c\/g\u003e\u003c\/svg\u003e\u003c\/span\u003ePour iPhone\n            \u003c\/button\u003e\n            \u003cdiv class=\"x40-feature-copy x40-is-collapsed\" id=\"copy-iphone\" aria-hidden=\"true\"\u003e\n              \u003cdiv class=\"x40-feature-copy__inner\"\u003e\u003cp class=\"x40-feature-copy__text\"\u003ePosez-le, il s’aimante et se recharge. Compatible avec les coques MagSafe.\u003c\/p\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"x40-feature-item\"\u003e\n            \u003cbutton class=\"x40-selector\" type=\"button\" aria-expanded=\"false\" aria-controls=\"copy-watch\" data-feature=\"watch\"\u003e\n              \u003cspan class=\"x40-selector__icon\" aria-hidden=\"true\"\u003e\u003csvg class=\"x40-plus-icon\" version=\"1.1\" width=\"24px\" height=\"24px\" viewbox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"11.3\" style=\"stroke: var(--app-pv-icon-fill); fill: none;\"\u003e\u003c\/circle\u003e\u003cg transform=\"translate(7 7)\" style=\"stroke: none; fill: var(--app-pv-icon-fill);\"\u003e\u003cpath d=\"m9 4h-3v-3c0-0.553-0.447-1-1-1s-1 0.447-1 1v3h-3c-0.553 0-1 0.447-1 1s0.447 1 1 1h3v3c0 0.553 0.447 1 1 1s1-0.447 1-1v-3h3c0.553 0 1-0.447 1-1s-0.447-1-1-1\"\u003e\u003c\/path\u003e\u003c\/g\u003e\u003c\/svg\u003e\u003c\/span\u003ePour Apple Watch\n            \u003c\/button\u003e\n            \u003cdiv class=\"x40-feature-copy x40-is-collapsed\" id=\"copy-watch\" aria-hidden=\"true\"\u003e\n              \u003cdiv class=\"x40-feature-copy__inner\"\u003e\u003cp class=\"x40-feature-copy__text\"\u003eRetournez-le. Dépliez-le. Et rechargez votre Apple Watch sans fil.\u003c\/p\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"x40-feature-item\"\u003e\n            \u003cbutton class=\"x40-selector\" type=\"button\" aria-expanded=\"false\" aria-controls=\"copy-airpods\" data-feature=\"airpods\"\u003e\n              \u003cspan class=\"x40-selector__icon\" aria-hidden=\"true\"\u003e\u003csvg class=\"x40-plus-icon\" version=\"1.1\" width=\"24px\" height=\"24px\" viewbox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"11.3\" style=\"stroke: var(--app-pv-icon-fill); fill: none;\"\u003e\u003c\/circle\u003e\u003cg transform=\"translate(7 7)\" style=\"stroke: none; fill: var(--app-pv-icon-fill);\"\u003e\u003cpath d=\"m9 4h-3v-3c0-0.553-0.447-1-1-1s-1 0.447-1 1v3h-3c-0.553 0-1 0.447-1 1s0.447 1 1 1h3v3c0 0.553 0.447 1 1 1s1-0.447 1-1v-3h3c0.553 0 1-0.447 1-1s-0.447-1-1-1\"\u003e\u003c\/path\u003e\u003c\/g\u003e\u003c\/svg\u003e\u003c\/span\u003ePour AirPods\n            \u003c\/button\u003e\n            \u003cdiv class=\"x40-feature-copy x40-is-collapsed\" id=\"copy-airpods\" aria-hidden=\"true\"\u003e\n              \u003cdiv class=\"x40-feature-copy__inner\"\u003e\u003cp class=\"x40-feature-copy__text\"\u003ePlacez vos AirPods au centre de la zone de charge. La recharge sans fil démarre immédiatement.\u003c\/p\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cvideo class=\"x40-hero-product x40-is-active\" data-video-key=\"default\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/c90dcd831fe44363b436ab6ae71a879b.webm\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-x40-burgundy-default.jpg?v=1789390899\" muted playsinline preload=\"none\" aria-label=\"X40 Turbo Gray product animation\" data-node-id=\"3:15\"\u003e\u003c\/video\u003e\n        \u003cvideo class=\"x40-hero-product\" data-video-key=\"iphone\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/e8ad64816d3c412dacf70a5c2ea2beb9.webm\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-x40-burgundy-for-iphone.jpg?v=1789390899\" muted playsinline preload=\"none\" aria-hidden=\"true\"\u003e\u003c\/video\u003e\n        \u003cvideo class=\"x40-hero-product\" data-video-key=\"watch\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/95229f06d0e04500a53f0961a89005f0.webm\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-x40-burgundy-for-apple-watch.jpg?v=1789390900\" muted playsinline preload=\"none\" aria-hidden=\"true\"\u003e\u003c\/video\u003e\n        \u003cvideo class=\"x40-hero-product\" data-video-key=\"airpods\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/b05899e3a6cb49618d21a501d7b7f347.webm\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-x40-burgundy-for-airpods.jpg?v=1789390900\" muted playsinline preload=\"none\" aria-hidden=\"true\"\u003e\u003c\/video\u003e\n        \u003cdiv class=\"x40-mobile-feature-detail\" aria-hidden=\"true\"\u003e\n          \u003cbutton class=\"x40-mobile-detail-close\" type=\"button\" aria-label=\"Close feature details\"\u003e×\u003c\/button\u003e\n          \u003cbutton class=\"x40-mobile-detail-arrow x40-mobile-detail-arrow--prev\" type=\"button\" aria-label=\"Previous feature\"\u003e‹\u003c\/button\u003e\n          \u003cp class=\"x40-mobile-detail-card\" role=\"status\"\u003e\u003c\/p\u003e\n          \u003cbutton class=\"x40-mobile-detail-arrow x40-mobile-detail-arrow--next\" type=\"button\" aria-label=\"Next feature\"\u003e›\u003c\/button\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"x40-design-section\" data-node-id=\"2:14\"\u003e\n        \u003cp class=\"x40-section-kicker\"\u003eDesign\u003c\/p\u003e\n        \u003ch2 class=\"x40-section-title\"\u003eL’aluminium,\u003cbr\u003efaçonné avec précision.\u003c\/h2\u003e\n        \u003cp class=\"x40-section-copy\"\u003e\n          Microbillé pour une texture douce et raffinée. Anodisé pour une protection durable. Chaque surface bénéficie d’une finition précise, aussi agréable à regarder qu’à toucher.\n        \u003c\/p\u003e\n        \u003cimg class=\"x40-exploded-product\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/x40-turbo-burgundy-exploded-finish.jpg?v=1789391117\" alt=\"Exploded view of the X40 Turbo Gray aluminum finish\" loading=\"lazy\" decoding=\"async\" data-node-id=\"3:19\"\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"x40-section-block x40-overnight-section\" data-node-id=\"27:2\" aria-labelledby=\"overnight-title\"\u003e\n        \u003cdiv class=\"x40-media-card x40-overnight-card\"\u003e\n          \u003cvideo class=\"x40-scroll-video\" muted playsinline preload=\"none\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/x40-turbo-burgundy-fast-charging-pc.jpg?v=1789391259\" data-poster-pc=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/x40-turbo-burgundy-fast-charging-pc.jpg?v=1789391259\" data-poster-mb=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/x40-turbo-burgundy-fast-charging-mb.jpg?v=1789391259\" aria-label=\"X40 Turbo fast charging demonstration\"\u003e\n            \u003csource media=\"(max-width: 900px)\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/c7de7921eaaa41b3839e68424cd59cc9.webm\" type=\"video\/webm\"\u003e\n            \u003csource data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/9c7606780e854c78878344a831256156.webm\" type=\"video\/webm\"\u003e\u003c\/source\u003e\u003c\/video\u003e\n          \u003cdiv class=\"x40-overnight-copy\"\u003e\n            \u003cp class=\"x40-content-eyebrow\"\u003eCertifié Qi2.2\u003c\/p\u003e\n            \u003ch2 class=\"x40-content-headline\" id=\"overnight-title\"\u003ePlus besoin de charger toute la nuit.\u003c\/h2\u003e\n            \u003cp class=\"x40-content-description\"\u003eMettez votre téléphone en charge avant de passer sous la douche, savourez votre café du matin et partez avec 80 % de batterie. Une seule main suffit pour le poser sur le support.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"x40-charge-stats\" aria-label=\"Charging performance\"\u003e\n          \u003carticle class=\"x40-charge-stat\"\u003e\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/Charging_for_iPhone.svg?v=1785736195\" alt=\"Charging for iPhone\" loading=\"lazy\" decoding=\"async\"\u003e\n            \u003cp class=\"x40-charge-power\"\u003e25 W max.\u003c\/p\u003e\n            \u003cp class=\"x40-charge-time\"\u003e45 min\u003c\/p\u003e\n            \u003cp class=\"x40-charge-range\"\u003e0~80%\u003c\/p\u003e\n          \u003c\/article\u003e\n          \u003carticle class=\"x40-charge-stat\"\u003e\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/Charging_for_Apple_Watch.svg?v=1785736195\" alt=\"Charging for Apple Watch\" loading=\"lazy\" decoding=\"async\"\u003e\n            \u003cp class=\"x40-charge-power\"\u003e5 W max.\u003c\/p\u003e\n            \u003cp class=\"x40-charge-time\"\u003e40 min\u003c\/p\u003e\n            \u003cp class=\"x40-charge-range\"\u003e0~50%\u003c\/p\u003e\n          \u003c\/article\u003e\n          \u003carticle class=\"x40-charge-stat\"\u003e\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/Charging_for_AirPods.svg?v=1785736195\" alt=\"Charging for AirPods\" loading=\"lazy\" decoding=\"async\"\u003e\n            \u003cp class=\"x40-charge-power\"\u003e5 W max.\u003c\/p\u003e\n            \u003cp class=\"x40-charge-time\"\u003e50 min\u003c\/p\u003e\n            \u003cp class=\"x40-charge-range\"\u003e0~80%\u003c\/p\u003e\n          \u003c\/article\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"x40-section-block x40-full-bleed-section x40-full-bleed-section--green\" data-node-id=\"27:3\" aria-labelledby=\"magsafe-title\"\u003e\n        \u003cvideo class=\"x40-scroll-video\" muted playsinline preload=\"none\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-x40-burgundy-MagSafe-PC.jpg?v=1789391506\" data-poster-pc=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-x40-burgundy-MagSafe-PC.jpg?v=1789391506\" data-poster-mb=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-x40-burgundy-MagSafe-MB.jpg?v=1789391506\" aria-label=\"X40 Turbo MagSafe experience demonstration\"\u003e\n          \u003csource media=\"(max-width: 900px)\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/86e559bc42664c55b8510cea83bbff3f.webm\" type=\"video\/webm\"\u003e\n          \u003csource data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/ffd90e105e5e48feaa58b2c89b7482d8.webm\" type=\"video\/webm\"\u003e\u003c\/source\u003e\u003c\/video\u003e\n        \u003cdiv class=\"x40-full-bleed-copy\"\u003e\n          \u003cp class=\"x40-content-eyebrow\"\u003eDesign\u003c\/p\u003e\n          \u003ch2 class=\"x40-content-headline\" id=\"magsafe-title\"\u003eL’expérience MagSafe\u003cbr\u003eparfaite\u003c\/h2\u003e\n          \u003cp class=\"x40-content-description\"\u003eConçu pour une utilisation facile d’une seule main et une fixation MagSafe sûre. Chaque aimant est calibré avec précision pour assurer force et stabilité : fluidité, simplicité, élégance.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"x40-full-bleed-section x40-full-bleed-section--blue\" data-node-id=\"27:4\" aria-labelledby=\"standby-title\"\u003e\n        \u003cvideo class=\"x40-scroll-video\" muted playsinline preload=\"none\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-x40-burgundy-StandBy-PC.jpg?v=1789391740\" data-poster-pc=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-x40-burgundy-StandBy-PC.jpg?v=1789391740\" data-poster-mb=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-x40-burgundy-StandBy-MB.jpg?v=1789391739\" aria-label=\"X40 Turbo StandBy mode demonstration\"\u003e\n          \u003csource media=\"(max-width: 900px)\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/5d5b0c03fcba41c1bd34bab543bf3a08.webm\" type=\"video\/webm\"\u003e\n          \u003csource data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/74e4c21b55b14bff8b229199df720057.webm\" type=\"video\/webm\"\u003e\u003c\/source\u003e\u003c\/video\u003e\n        \u003cdiv class=\"x40-full-bleed-copy x40-standby-copy\"\u003e\n          \u003ch2 class=\"x40-content-headline\" id=\"standby-title\"\u003ePrêt pour le mode En veille\u003c\/h2\u003e\n          \u003cp class=\"x40-content-description\"\u003eProfitez de la fonction En veille de votre iPhone. Avec le X40 Turbo, placez simplement votre téléphone à l’horizontale pour l’activer.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"x40-section-block x40-portable-section\" data-node-id=\"27:5\" aria-labelledby=\"portable-title\"\u003e\n        \u003cdiv class=\"x40-portable-copy\"\u003e\n          \u003cp class=\"x40-content-eyebrow\"\u003eDimensions\u003c\/p\u003e\n          \u003ch2 class=\"x40-content-headline\" id=\"portable-title\"\u003eCompact,\u003cbr\u003eprêt à vous suivre\u003cbr\u003epartout\u003c\/h2\u003e\n          \u003cp class=\"x40-content-description\"\u003eAssez petit pour vous suivre partout. Assez puissant pour le quotidien. Le X40 Turbo vous permet de rester prêt, où que la vie vous mène.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cimg class=\"x40-dimensions-image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/x40-turbo-Dimensions.jpg?v=1789391953\" alt=\"X40 Turbo folded dimensions and portable size\" loading=\"lazy\" decoding=\"async\"\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"x40-section-block x40-box-section\" data-node-id=\"27:6\" aria-labelledby=\"box-title\"\u003e\n        \u003ch2 class=\"x40-content-headline\" id=\"box-title\"\u003eContenu de la boîte.\u003c\/h2\u003e\n        \u003cp class=\"x40-content-description\"\u003eTout ce qu’il vous faut. Dès l’ouverture de la boîte.\u003c\/p\u003e\n        \u003cpicture class=\"x40-box-picture\"\u003e\n          \u003csource media=\"(max-width: 900px)\" srcset=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/x40-turbo-Packaging-MB.jpg?v=1789392050\"\u003e\n          \u003cimg class=\"x40-box-image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/x40-turbo-Packaging-PC.jpg?v=1789391953\" alt=\"X40 Turbo package contents\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/picture\u003e\n      \u003c\/section\u003e\n    \u003c\/main\u003e\n  \u003c\/div\u003e\n\n    \u003cscript\u003e\n    (() =\u003e {\n      const initX40 = (root) =\u003e {\n      if (root.dataset.x40Ready === \"true\") return;\n      root.dataset.x40Ready = \"true\";\n\n      const buttons = [...root.querySelectorAll(\"[data-feature]\")];\n      const product = root.querySelector('[data-video-key=\"default\"]');\n      const featureVideoElements = new Map(\n        [...root.querySelectorAll(\".x40-hero-product[data-video-key]\")]\n          .filter((video) =\u003e video.dataset.videoKey !== \"default\")\n          .map((video) =\u003e [video.dataset.videoKey, video])\n      );\n      let activeProductVideo = product;\n      const instanceId = `x40-${Math.random().toString(36).slice(2, 9)}`;\n      buttons.forEach((button) =\u003e {\n        const panel = root.querySelector(`[id=\"${button.getAttribute(\"aria-controls\")}\"]`);\n        if (!panel) return;\n        panel.id = `${panel.id}-${instanceId}`;\n        button.setAttribute(\"aria-controls\", panel.id);\n      });\n      const featureContent = {\n        iphone: {\n          label: \"Pour iPhone\",\n          copy: \"Coque monobloc en aluminium. Optimisée pour les performances et la batterie. L’alliage d’aluminium est remarquablement léger et offre une conductivité thermique exceptionnelle.\"\n        },\n        watch: {\n          label: \"Pour Apple Watch\",\n          copy: \"Une surface de charge dédiée maintient votre Apple Watch bien en place, visible et prête à l’emploi toute la journée.\"\n        },\n        airpods: {\n          label: \"Pour AirPods\",\n          copy: \"Une base de recharge sans fil stable offre à vos AirPods un emplacement précis pour se recharger sans encombrement supplémentaire.\"\n        }\n      };\n      const featureKeys = [...featureVideoElements.keys()];\n      const mobileQuery = window.matchMedia(\"(max-width: 900px)\");\n      const defaultVideo = \"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/c90dcd831fe44363b436ab6ae71a879b.webm\";\n      const observedVideos = [...root.querySelectorAll(\".x40-scroll-video\")];\n      const allFeatureVideos = [product, ...featureVideoElements.values()];\n      const allVideos = [...allFeatureVideos, ...observedVideos];\n      const preloadQueue = [];\n      const queuedVideos = new Set();\n      let preloadBusy = false;\n\n      const updateResponsivePosters = () =\u003e {\n        observedVideos.forEach((video) =\u003e {\n          const poster = mobileQuery.matches ? video.dataset.posterMb : video.dataset.posterPc;\n          if (poster \u0026\u0026 video.poster !== new URL(poster, document.baseURI).href) video.poster = poster;\n        });\n      };\n      updateResponsivePosters();\n\n      const hydrateVideo = (video) =\u003e {\n        if (video.dataset.hydrated === \"true\") return;\n        video.preload = \"auto\";\n        if (video.dataset.src) {\n          video.src = video.dataset.src;\n          video.removeAttribute(\"data-src\");\n        }\n        video.querySelectorAll(\"source[data-src]\").forEach((source) =\u003e {\n          source.src = source.dataset.src;\n          source.removeAttribute(\"data-src\");\n        });\n        video.dataset.hydrated = \"true\";\n        video.load();\n      };\n\n      const videoHost = (video) =\u003e video.closest(\".x40-feature-panel, .x40-media-card, .x40-full-bleed-section\");\n      const setBuffering = (video, buffering) =\u003e videoHost(video)?.classList.toggle(\"x40-is-buffering\", buffering);\n\n      const prepareAndPlay = (video) =\u003e {\n        queuedVideos.delete(video);\n        video.dataset.wantsPlayback = \"true\";\n        hydrateVideo(video);\n        if (video.readyState \u003c HTMLMediaElement.HAVE_FUTURE_DATA) setBuffering(video, true);\n        const playback = video.play();\n        if (playback) playback.catch(() =\u003e {});\n      };\n\n      const drainPreloadQueue = () =\u003e {\n        if (preloadBusy) return;\n        const video = preloadQueue.shift();\n        if (!video) return;\n        queuedVideos.delete(video);\n        if (video.dataset.hydrated === \"true\") {\n          drainPreloadQueue();\n          return;\n        }\n        preloadBusy = true;\n        let finished = false;\n        const finish = () =\u003e {\n          if (finished) return;\n          finished = true;\n          preloadBusy = false;\n          video.removeEventListener(\"canplay\", finish);\n          video.removeEventListener(\"error\", finish);\n          window.clearTimeout(timeout);\n          drainPreloadQueue();\n        };\n        const timeout = window.setTimeout(finish, 6000);\n        video.addEventListener(\"canplay\", finish, { once: true });\n        video.addEventListener(\"error\", finish, { once: true });\n        hydrateVideo(video);\n        if (video.readyState \u003e= HTMLMediaElement.HAVE_FUTURE_DATA) finish();\n      };\n\n      const queuePreload = (video, priority = false) =\u003e {\n        if (video.dataset.hydrated === \"true\" || queuedVideos.has(video)) return;\n        queuedVideos.add(video);\n        priority ? preloadQueue.unshift(video) : preloadQueue.push(video);\n        drainPreloadQueue();\n      };\n\n      allVideos.forEach((video) =\u003e {\n        video.addEventListener(\"waiting\", () =\u003e {\n          const canControlIndicator = !allFeatureVideos.includes(video) || video === activeProductVideo;\n          if (canControlIndicator \u0026\u0026 video.dataset.wantsPlayback === \"true\") setBuffering(video, true);\n        });\n        [\"canplay\", \"playing\", \"ended\", \"error\"].forEach((eventName) =\u003e {\n          video.addEventListener(eventName, () =\u003e {\n            const canControlIndicator = !allFeatureVideos.includes(video) || video === activeProductVideo;\n            if (canControlIndicator) setBuffering(video, false);\n          });\n        });\n        video.addEventListener(\"playing\", () =\u003e {\n          video.dataset.started = \"true\";\n          video.dataset.autoPaused = \"false\";\n        });\n        video.addEventListener(\"ended\", () =\u003e {\n          video.dataset.wantsPlayback = \"false\";\n          video.dataset.finished = \"true\";\n        });\n      });\n\n      const featurePanel = root.querySelector(\".x40-feature-panel\");\n      const mobileDetail = root.querySelector(\".x40-mobile-feature-detail\");\n      const mobileDetailCard = root.querySelector(\".x40-mobile-detail-card\");\n      const mobileClose = root.querySelector(\".x40-mobile-detail-close\");\n      const mobilePrevious = root.querySelector(\".x40-mobile-detail-arrow--prev\");\n      const mobileNext = root.querySelector(\".x40-mobile-detail-arrow--next\");\n      let activeFeature = null;\n      const revealFeaturePanel = () =\u003e {\n        if (featurePanel.classList.contains(\"x40-is-visible\")) return;\n        featurePanel.classList.add(\"x40-is-visible\");\n        product.dataset.played = \"true\";\n        prepareAndPlay(product);\n      };\n\n      if (\"IntersectionObserver\" in window) {\n        const featureObserver = new IntersectionObserver((entries, observer) =\u003e {\n          entries.forEach((entry) =\u003e {\n            if (!entry.isIntersecting) return;\n            revealFeaturePanel();\n            observer.unobserve(entry.target);\n          });\n        }, { rootMargin: \"0px 0px -78% 0px\", threshold: 0 });\n        featureObserver.observe(featurePanel);\n      } else {\n        revealFeaturePanel();\n      }\n\n      const playFeatureVideo = (key) =\u003e {\n        const nextVideo = featureVideoElements.get(key);\n        if (!nextVideo) return;\n        const shouldRestart = nextVideo.dataset.started === \"true\";\n        if (activeProductVideo !== nextVideo) {\n          activeProductVideo.pause();\n          activeProductVideo.dataset.wantsPlayback = \"false\";\n          activeProductVideo.classList.remove(\"x40-is-active\", \"x40-is-changing\");\n          activeProductVideo.setAttribute(\"aria-hidden\", \"true\");\n          activeProductVideo = nextVideo;\n          activeProductVideo.classList.add(\"x40-is-active\", \"x40-is-changing\");\n          activeProductVideo.removeAttribute(\"aria-hidden\");\n        }\n        hydrateVideo(activeProductVideo);\n        activeProductVideo.dataset.finished = \"false\";\n        if (shouldRestart) {\n          if (nextVideo.readyState \u003e= HTMLMediaElement.HAVE_METADATA) {\n            nextVideo.currentTime = 0;\n          } else {\n            nextVideo.addEventListener(\"loadedmetadata\", () =\u003e { nextVideo.currentTime = 0; }, { once: true });\n          }\n        }\n        prepareAndPlay(activeProductVideo);\n        window.setTimeout(() =\u003e nextVideo.classList.remove(\"x40-is-changing\"), 180);\n      };\n\n      const selectFeature = (key) =\u003e {\n        activeFeature = key;\n        buttons.forEach((item) =\u003e {\n          const active = item.dataset.feature === key;\n          item.setAttribute(\"aria-expanded\", String(active));\n          const panel = root.querySelector(`[id=\"${item.getAttribute(\"aria-controls\")}\"]`);\n          panel.classList.toggle(\"x40-is-collapsed\", !active || mobileQuery.matches);\n          panel.setAttribute(\"aria-hidden\", String(!active || mobileQuery.matches));\n        });\n\n        if (mobileQuery.matches) {\n          const content = featureContent[key];\n          const label = document.createElement(\"strong\");\n          label.textContent = `${content.label}.`;\n          mobileDetailCard.replaceChildren(label, document.createTextNode(` ${content.copy}`));\n          featurePanel.classList.add(\"x40-is-detail\");\n          mobileDetail.setAttribute(\"aria-hidden\", \"false\");\n        }\n        playFeatureVideo(key);\n      };\n\n      const closeMobileDetail = () =\u003e {\n        activeFeature = null;\n        featurePanel.classList.remove(\"x40-is-detail\");\n        mobileDetail.setAttribute(\"aria-hidden\", \"true\");\n        buttons.forEach((item) =\u003e item.setAttribute(\"aria-expanded\", \"false\"));\n        activeProductVideo.pause();\n        activeProductVideo.dataset.wantsPlayback = \"false\";\n        activeProductVideo.classList.remove(\"x40-is-active\", \"x40-is-changing\");\n        activeProductVideo.setAttribute(\"aria-hidden\", \"true\");\n        activeProductVideo = product;\n        activeProductVideo.classList.add(\"x40-is-active\");\n        activeProductVideo.removeAttribute(\"aria-hidden\");\n        hydrateVideo(activeProductVideo);\n        activeProductVideo.dataset.finished = \"false\";\n        if (activeProductVideo.readyState \u003e= HTMLMediaElement.HAVE_METADATA) {\n          activeProductVideo.currentTime = 0;\n        } else {\n          product.addEventListener(\"loadedmetadata\", () =\u003e { product.currentTime = 0; }, { once: true });\n        }\n        prepareAndPlay(activeProductVideo);\n      };\n\n      const warmFeatureVideo = (key) =\u003e {\n        const video = featureVideoElements.get(key);\n        if (video) queuePreload(video, true);\n      };\n\n      let featureCacheQueued = false;\n      const beginFeatureCacheAfterDefault = () =\u003e {\n        const activeSource = product.currentSrc || product.src;\n        if (featureCacheQueued || activeSource !== defaultVideo) return;\n        featureCacheQueued = true;\n        featureKeys.forEach((key) =\u003e {\n          const video = featureVideoElements.get(key);\n          if (video) queuePreload(video);\n        });\n      };\n      product.addEventListener(\"canplay\", beginFeatureCacheAfterDefault);\n      if (product.readyState \u003e= HTMLMediaElement.HAVE_FUTURE_DATA) beginFeatureCacheAfterDefault();\n\n      buttons.forEach((button) =\u003e {\n        button.addEventListener(\"click\", () =\u003e selectFeature(button.dataset.feature));\n        let hoverTimer;\n        button.addEventListener(\"pointerenter\", () =\u003e {\n          hoverTimer = window.setTimeout(() =\u003e warmFeatureVideo(button.dataset.feature), 160);\n        });\n        button.addEventListener(\"pointerleave\", () =\u003e window.clearTimeout(hoverTimer));\n        button.addEventListener(\"focus\", () =\u003e warmFeatureVideo(button.dataset.feature), { once: true });\n        button.addEventListener(\"touchstart\", () =\u003e warmFeatureVideo(button.dataset.feature), { passive: true, once: true });\n      });\n\n      const moveMobileFeature = (direction) =\u003e {\n        const currentIndex = Math.max(0, featureKeys.indexOf(activeFeature));\n        const nextIndex = (currentIndex + direction + featureKeys.length) % featureKeys.length;\n        selectFeature(featureKeys[nextIndex]);\n      };\n\n      mobileClose.addEventListener(\"click\", closeMobileDetail);\n      mobilePrevious.addEventListener(\"click\", () =\u003e moveMobileFeature(-1));\n      mobileNext.addEventListener(\"click\", () =\u003e moveMobileFeature(1));\n      mobileQuery.addEventListener(\"change\", () =\u003e {\n        updateResponsivePosters();\n        if (!mobileQuery.matches \u0026\u0026 featurePanel.classList.contains(\"x40-is-detail\")) closeMobileDetail();\n      });\n\n      if (\"IntersectionObserver\" in window) {\n        const preloadObserver = new IntersectionObserver((entries, observer) =\u003e {\n          entries.forEach((entry) =\u003e {\n            if (!entry.isIntersecting) return;\n            queuePreload(entry.target);\n            observer.unobserve(entry.target);\n          });\n        }, { rootMargin: \"1200px 0px\", threshold: 0 });\n\n        [product, ...observedVideos].forEach((video) =\u003e preloadObserver.observe(video));\n\n        const videoObserver = new IntersectionObserver((entries, observer) =\u003e {\n          entries.forEach((entry) =\u003e {\n            if (!entry.isIntersecting || entry.target.dataset.played === \"true\") return;\n            entry.target.dataset.played = \"true\";\n            prepareAndPlay(entry.target);\n            observer.unobserve(entry.target);\n          });\n        }, { rootMargin: \"0px 0px -78% 0px\", threshold: 0 });\n        observedVideos.forEach((video) =\u003e videoObserver.observe(video));\n\n        const visibilityObserver = new IntersectionObserver((entries) =\u003e {\n          entries.forEach((entry) =\u003e {\n            const video = entry.target;\n            const isFeatureVideo = allFeatureVideos.includes(video);\n            if (isFeatureVideo \u0026\u0026 video !== activeProductVideo) {\n              video.pause();\n              video.dataset.autoPaused = \"false\";\n              setBuffering(video, false);\n              return;\n            }\n            if (!entry.isIntersecting) {\n              if (!video.paused \u0026\u0026 !video.ended) {\n                video.pause();\n                video.dataset.autoPaused = \"true\";\n              }\n              setBuffering(video, false);\n              return;\n            }\n            if (video.dataset.autoPaused === \"true\" \u0026\u0026 video.dataset.finished !== \"true\") prepareAndPlay(video);\n          });\n        }, { rootMargin: \"80px 0px\", threshold: 0.06 });\n        allVideos.forEach((video) =\u003e visibilityObserver.observe(video));\n      } else {\n        allVideos.forEach(queuePreload);\n      }\n      };\n\n      const bootX40 = (scope = document) =\u003e {\n        if (scope.matches?.(\"[data-x40-root]\")) initX40(scope);\n        scope.querySelectorAll?.(\"[data-x40-root]\").forEach(initX40);\n      };\n\n      bootX40();\n      if (!window.__x40ShopifySectionListener) {\n        window.__x40ShopifySectionListener = true;\n        document.addEventListener(\"shopify:section:load\", (event) =\u003e bootX40(event.target));\n      }\n    })();\n    \u003c\/script\u003e\n\n","brand":"KUXIU","offers":[{"title":"Default Title","offer_id":47876908646452,"sku":"X40Turbo-QI2.2-Dark-Cherry","price":78.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIUX40TurboBurgundy_1.png?v=1789383941"},{"product_id":"kuxiu-x85-turbo-orange","title":"KUXIU X85 Turbo Qi2.2 25W 3-in-1 Creative Wireless Charging Station - Orange","description":"\u003cdiv id=\"x85t-page\"\u003e\n\u003cstyle\u003e\n  #x85t-page{\n    --ink:#0a0a0a;\n    --sub:#6b6b6b;\n    --bg-soft:#f8f8f8;\n    --orange:#ff9000;\n    --blue:#518ffe;\n    box-sizing:border-box;\n    color:var(--ink);\n    line-height:1.5;\n    overflow-x:hidden;\n  }\n  #x85t-page *,#x85t-page *::before,#x85t-page *::after{box-sizing:border-box;}\n  #x85t-page img,#x85t-page video{display:block;max-width:100%;height:auto;}\n\n  #x85t-page h1,\n  #x85t-page h2{\n    font-weight:800;\n    letter-spacing:.2px;\n    text-transform:uppercase;\n    line-height:1.1;\n    margin:0 0 14px;\n    color:var(--ink);\n  }\n  #x85t-page .x85t-eyebrow{\n    display:flex;\n    align-items:center;\n    justify-content:center;\n    gap:18px;\n    margin-bottom:18px;\n  }\n  #x85t-page .x85t-eyebrow img{height:34px;width:auto;}\n  #x85t-page .x85t-sub{\n    font-size:18px;\n    color:var(--sub);\n    max-width:640px;\n    margin:0 auto;\n  }\n  #x85t-page .x85t-section{\n    padding:80px 24px;\n    text-align:center;\n  }\n  #x85t-page .x85t-inner{\n    max-width:1535px;\n    margin:0 auto;\n  }\n\n  \/* show\/hide helpers for the section-3 pc\/mb videos — kept as a\n     tag+class selector on purpose so its specificity can't accidentally\n     be cancelled out by a plainer rule like \"video{display:block}\" *\/\n  #x85t-page video.x85t-mb-only{ display:none; }\n  #x85t-page video.x85t-pc-only{ display:block; }\n\n  \/* ---------- Section 1: Hero ---------- *\/\n  #x85t-page .x85t-hero{\n    background:var(--bg-soft);\n    padding-bottom:0;\n  }\n  #x85t-page .x85t-hero h1{ font-size:72px; margin-bottom:16px; }\n  #x85t-page .x85t-hero .x85t-sub{ margin-bottom:44px; }\n  #x85t-page .x85t-hero-media{\n    overflow:hidden;\n    max-width:1200px;\n    margin:0 auto;\n    aspect-ratio:2\/1;\n  }\n  #x85t-page .x85t-hero-media video{\n    width:100%;\n    height:100%;\n    object-fit:cover;\n  }\n\n  \/* ---------- Section 2: Neat \u0026 Efficient ---------- *\/\n  #x85t-page .x85t-neat{ background:#fff; }\n  #x85t-page .x85t-neat h2{ font-size:72px; }\n  #x85t-page .x85t-neat .x85t-sub{ margin-bottom:44px; }\n  #x85t-page .x85t-neat-media{\n    border-radius:20px;\n    overflow:hidden;\n    max-width:1535px;\n    margin:0 auto;\n  }\n  #x85t-page .x85t-neat-media img{ width:100%; }\n\n  \/* ---------- Section 3: 25W Wireless Fast Charging ---------- *\/\n  #x85t-page .x85t-charge{\n    padding:70px 0 0;\n    background: #f1f1f1;\n  }\n  #x85t-page .x85t-charge .x85t-eyebrow img{ height:38px; }\n  #x85t-page .x85t-charge h2{ font-size:72px; color:var(--ink); padding:0 24px; }\n  #x85t-page .x85t-charge .x85t-sub{ color:rgba(10,10,10,.62); margin-bottom:0;}\n  #x85t-page .x85t-charge-media{\n    width:100%;\n    line-height:0;\n  }\n  #x85t-page .x85t-charge-media video{\n    width:100%;\n    height:auto;\n  }\n\n  \/* ---------- Section 4: Precision Aluminum ---------- *\/\n  #x85t-page .x85t-alum{ background:#000; padding-bottom: 0;}\n  #x85t-page .x85t-alum h2{\n    font-size:72px;\n    font-weight:700;\n    background: linear-gradient(\n        120deg,\n        #ffffff 0%,\n        #ffe9c7 12%,\n        #ffc96e 22%,\n        #fff2da 32%,\n        #d88933 46%,\n        #b9651f 62%,\n        #f6d19d 76%,\n        #8c4317 100%\n    );\n    -webkit-background-clip:text;\n    -webkit-text-fill-color:transparent;\n    background-clip:text;\n    color:transparent;\n}\n  #x85t-page .x85t-alum .x85t-sub{ margin-bottom:20px; color: #aaa;}\n  #x85t-page .x85t-alum-media{ max-width:660px; margin:60px auto 0; }\n  #x85t-page .x85t-alum-media img{ width:100%; }\n\n  \/* ---------- Section 5: What's in the box ----------\n     The pc\/mb images already contain the full gradient\n     background, so they ARE the section background —\n     no extra CSS gradient is added. The heading + subtitle\n     sit in a text layer absolutely positioned on top of\n     the image (both images are light\/white in that top\n     area, so dark text reads fine on either). *\/\n  #x85t-page .x85t-box{\n    position:relative;\n    padding:0;\n    overflow:hidden;\n  }\n  #x85t-page .x85t-box-media img{ width:100%; display:block; }\n  #x85t-page .x85t-box-text{\n    position:absolute;\n    top:0;\n    text-align: center;\n    width:100%;\n    padding:76px 24px 0;\n  }\n  #x85t-page .x85t-box-text h2{ font-size:72px; }\n  #x85t-page .x85t-box-text .x85t-sub{ margin-bottom:0; }\n\n  \/* ================= MOBILE ================= *\/\n  @media (max-width:768px){\n    #x85t-page .x85t-hero h1{ font-size:28px; }\n    #x85t-page .x85t-neat h2,\n    #x85t-page .x85t-charge h2,\n    #x85t-page .x85t-alum h2{ font-size:26px; }\n    #x85t-page .x85t-box-text h2{ font-size:26px; }\n    #x85t-page .x85t-sub{ font-size:16px; }\n    #x85t-page .x85t-hero .x85t-sub{ margin-bottom:30px; }\n    #x85t-page .x85t-hero-media{  aspect-ratio:1\/1; }\n    #x85t-page .x85t-neat-media,\n    #x85t-page .x85t-alum-media{ }\n    #x85t-page .x85t-charge{ padding-top:48px; }\n    #x85t-page .x85t-charge .x85t-sub{ padding-bottom:36px; }\n    #x85t-page .x85t-eyebrow img{ height:26px; }\n    #x85t-page .x85t-charge .x85t-eyebrow img{ height:28px; }\n    #x85t-page .x85t-box-text{ padding:40px 18px 0; }\n\n    #x85t-page video.x85t-pc-only{ display:none; }\n    #x85t-page video.x85t-mb-only{ display:block; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- 1. HERO --\u003e\n\u003csection class=\"x85t-section x85t-hero\"\u003e\n  \u003cdiv class=\"x85t-inner\"\u003e\n    \u003ch1\u003ePower Your Devices.\u003cbr\u003ePower Your Day.\u003c\/h1\u003e\n    \u003cp class=\"x85t-sub\"\u003eMore than a wireless charging station. It's also a magnetic mini basketball court.\u003c\/p\u003e\n    \u003cdiv class=\"x85t-hero-media\"\u003e\n      \u003cvideo autoplay muted loop playsinline preload=\"auto\"\u003e\n        \u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/06923fdb3dd24a4599925c92f3847277.webm\" type=\"video\/webm\"\u003e\u003c\/video\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- 2. NEAT \u0026 EFFICIENT --\u003e\n\u003csection class=\"x85t-section x85t-neat\"\u003e\n  \u003cdiv class=\"x85t-inner\"\u003e\n    \u003ch2\u003eNeat \u0026amp; Efficient.\u003c\/h2\u003e\n    \u003cp class=\"x85t-sub\"\u003eMagSafe and a magnetic design make every attachment and removal effortless and elegant.\u003c\/p\u003e\n    \u003cdiv class=\"x85t-neat-media\"\u003e\n      \u003cpicture\u003e\n        \u003csource media=\"(max-width:768px)\" srcset=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/X85Turbo_orange_mb.jpg?v=1783647780\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/X85Turbo_orange_pc.jpg?v=1783647782\" alt=\"X85 Turbo wireless charging stand on a desk\"\u003e\u003c\/picture\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- 3. 25W WIRELESS FAST CHARGING --\u003e\n\u003csection class=\"x85t-section x85t-charge\"\u003e\n  \u003cdiv class=\"x85t-inner\"\u003e\n    \u003cdiv class=\"x85t-eyebrow\"\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/Qi2_Logo_Black.png?v=1783647424\" alt=\"Qi2 25W certified\"\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/Rotatable.png?v=1783647425\" alt=\"Rotatable design\"\u003e\n    \u003c\/div\u003e\n    \u003ch2\u003e25W Wireless Fast Charging.\u003c\/h2\u003e\n    \u003cp class=\"x85t-sub\"\u003eQi2.2 Certified Wireless Charging · Ready for StandBy. \u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"x85t-charge-media\"\u003e\n    \u003cvideo class=\"x85t-pc-only\" autoplay muted loop playsinline preload=\"auto\"\u003e\n      \u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/16cb26ca767f44aa9d98af12795a2826.webm\" type=\"video\/webm\"\u003e\u003c\/video\u003e\n    \u003cvideo class=\"x85t-mb-only\" autoplay muted loop playsinline preload=\"auto\"\u003e\n      \u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/531a2bc50db843d8914b57d1b5dd53cd.webm\" type=\"video\/webm\"\u003e\u003c\/video\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- 4. PRECISION ALUMINUM CONSTRUCTION --\u003e\n\u003csection class=\"x85t-section x85t-alum\"\u003e\n  \u003cdiv class=\"x85t-inner\"\u003e\n    \u003ch2\u003ePrecision Aluminum\u003cbr\u003eConstruction.\u003c\/h2\u003e\n    \u003cp class=\"x85t-sub\"\u003eBuilt with a premium aluminum alloy body for a sleek finish, exceptional strength, and lasting durability.\u003c\/p\u003e\n    \u003cdiv class=\"x85t-alum-media\"\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/X85Turbo_orange_images_2.png?v=1783647457\" alt=\"Aluminum construction detail of the X85 Turbo stand\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- 5. WHAT'S IN THE BOX (text overlaid on top of the supplied background image) --\u003e\n\u003csection class=\"x85t-box\"\u003e\n  \u003cdiv class=\"x85t-box-text\"\u003e\n    \u003ch2\u003eWhat's In The Box.\u003c\/h2\u003e\n    \u003cp class=\"x85t-sub\"\u003eElegantly packaged, making it the perfect gift for any occasion.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"x85t-box-media\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(max-width:768px)\" srcset=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/X85Turbo_orange_packaging_mb_786e45c1-7a07-484e-a1c1-2d558fb3a294.jpg?v=1786093480\"\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/X85Turbo_orange_packaging_pc_8b93fd3a-9c70-4a58-951a-376d13a6acb1.jpg?v=1786093481\" alt=\"X85 Turbo box contents: charging stand, cable, adapters, packaging\"\u003e\u003c\/picture\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c\/div\u003e\n","brand":"KUXIU","offers":[{"title":"Default Title","offer_id":47977651994676,"sku":"X85Turbo-QI2.2-Orange","price":79.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-X85-Turbo-3-in-1-MagSafe-Charging-Stand-Orange-2.png?v=1782877630"},{"product_id":"kuxiu-d5-charging-station-burgundy","title":"KUXIU D5 Qi2.2 25W 3-in-1 Wireless Charging Station - Burgundy","description":"\u003c!--\n  Shopify product description HTML for D5 page\n  Replace the placeholder URLs below with Shopify CDN file URLs.\n--\u003e\n\u003cstyle\u003e\n  .d5-product-page {\n    --black: #111111;\n    --body: #5f5f5f;\n    --light-gray: #e1e0de;\n    --white: #ffffff;\n    --media-radius: 16px;\n    width: 100%;\n    margin: 0;\n    padding: 0;\n    overflow: hidden;\n    color: var(--black);\n    background: var(--white);\n  }\n\n  .d5-product-page * {\n    box-sizing: border-box;\n  }\n\n  .d5-product-page img,\n  .d5-product-page video {\n    display: block;\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n  }\n\n  .d5-product-page img[src*=\"\/1\/0000\/0000\/\"],\n  .d5-product-page video[poster*=\"\/1\/0000\/0000\/\"] {\n    opacity: 0;\n  }\n\n  .d5-product-page h2,\n  .d5-product-page h3,\n  .d5-product-page p {\n    margin: 0;\n  }\n\n  .d5-wrap {\n    width: 100%;\n    margin: 0 auto;\n  }\n\n  .d5-title {\n    font-weight: 900;\n    color: var(--black);\n    letter-spacing: 0;\n    line-height: 0.95;\n    text-transform: uppercase;\n  }\n\n  .d5-copy {\n    color: var(--body);\n    font-size: 16px;\n    line-height: 1.45;\n    font-weight: 400;\n  }\n\n  .d5-hero {\n    position: relative;\n    min-height: 800px;\n    background: var(--light-gray);\n  }\n\n  .d5-hero__image {\n    position: absolute;\n    top: 0;\n    right: 0;\n    width: 80.2%;\n    height: 100%;\n\n  }\n\n  .d5-hero__content {\n    position: relative;\n    z-index: 2;\n    width: 50%;\n    padding: 178px 0 0 7.1%;\n  }\n\n  .d5-hero .d5-title {\n    max-width: 700px;\n    font-size: clamp(42px, 4.28vw, 78px) !important;\n  }\n\n  .d5-hero .d5-copy {\n    max-width: 510px;\n    margin-top: 28px;\n  }\n\n  .d5-intro {\n    padding: 58px 24px 66px;\n    text-align: center;\n    background: var(--white);\n  }\n\n  .d5-intro .d5-title,\n  .d5-box .d5-title {\n    font-size: clamp(38px, 3.4vw, 62px) !important;\n    line-height: 1;\n  }\n\n  .d5-intro .d5-copy,\n  .d5-box .d5-copy,\n  .d5-all .d5-copy {\n    max-width: 640px;\n    margin: 15px auto 0;\n    font-size: 16px;\n    line-height: 1.35;\n  }\n\n  .d5-display {\n    display: grid;\n    grid-template-columns: 46.65% 53.35%;\n    min-height: 669px;\n    background: var(--white);\n  }\n\n  .d5-display__video {\n    min-height: 669px;\n  }\n\n  .d5-display__text {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    gap: 52px;\n    padding: 52px 10.7% 52px 14%;\n  }\n\n  .d5-feature h3 {\n    font-size: 17px;\n    line-height: 1.2;\n    font-weight: 800;\n    color: var(--black);\n    margin-bottom: 16px;\n    margin-block-start: 0 !important;\n    margin-block-end: 0 !important;\n  }\n\n  .d5-feature .d5-copy {\n    max-width: 510px;\n    padding-inline-start: 10px;\n  }\n\n  .d5-split {\n    display: grid;\n    grid-template-columns: 53.35% 46.65%;\n    min-height: 669px;\n    background: var(--light-gray);\n  }\n\n  .d5-split__content {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    padding: 36px 9.6% 36px 10.7%;\n  }\n\n  .d5-split .d5-title {\n    max-width: 520px;\n    font-size: clamp(42px, 4.05vw, 74px) !important;\n  }\n\n  .d5-split .d5-copy {\n    max-width: 565px;\n    margin-top: 29px;\n  }\n\n  .d5-split__video {\n    min-height: 669px;\n  }\n\n  .d5-all {\n    padding: 83px 7.1% 74px;\n    background: var(--white);\n    text-align: center;\n  }\n\n  .d5-all .d5-title {\n    font-size: clamp(38px, 3.4vw, 62px) !important;\n    line-height: 1;\n  }\n\n  .d5-card-grid {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 18px;\n    margin-top: 77px;\n    text-align: left;\n  }\n\n  .d5-card__media {\n    aspect-ratio: 1.53 \/ 1;\n    overflow: hidden;\n    border-radius: var(--media-radius);\n  }\n\n  .d5-card__body {\n    padding: 22px 19px 0;\n  }\n\n  .d5-card__body h3 {\n    font-size: 16px;\n    line-height: 1.2;\n    font-weight: 800;\n    margin-bottom: 16px;\n    color: var(--black);\n  }\n\n  .d5-card__body p {\n    color: var(--body);\n    font-size: 16px;\n    line-height: 1.45;\n  }\n\n  .d5-box {\n    padding: 84px 7.1% 78px;\n    background: var(--light-gray);\n    text-align: center;\n  }\n\n  .d5-box__media {\n    margin-top: 80px;\n    aspect-ratio: 2.16 \/ 1;\n    overflow: hidden;\n    border-radius: var(--media-radius);\n  }\n\n  @media (max-width: 989px) {\n    .d5-copy {\n      font-size: 16px;\n      line-height: 1.45;\n    }\n\n    .d5-hero {\n      min-height: 0;\n      background: var(--white);\n    }\n\n    .d5-hero__content {\n      width: 100%;\n      padding: 52px 22px 38px;\n      background: var(--light-gray);\n    }\n\n    .d5-hero .d5-title {\n      max-width: 360px;\n      font-size: 42px;\n      line-height: 0.98;\n    }\n\n    .d5-hero .d5-copy {\n      max-width: 420px;\n      margin-top: 20px;\n    }\n\n    .d5-hero__image {\n      position: relative;\n      width: 100%;\n      height: auto;\n      aspect-ratio: 0.92 \/ 1;\n    }\n\n    .d5-intro {\n      padding: 48px 22px 52px;\n    }\n\n    .d5-intro .d5-title,\n    .d5-all .d5-title,\n    .d5-box .d5-title {\n      font-size: 38px;\n    }\n\n    .d5-display,\n    .d5-split {\n      grid-template-columns: 1fr;\n      min-height: 0;\n    }\n\n    .d5-display__video,\n    .d5-split__video {\n      min-height: 0;\n      aspect-ratio: 1 \/ 1;\n    }\n\n    .d5-display__text {\n      gap: 32px;\n      padding: 44px 22px 52px;\n    }\n\n    .d5-split__content {\n      padding: 54px 22px 52px;\n    }\n\n    .d5-split .d5-title {\n      max-width: 600px;\n      font-size: 42px !important;\n      line-height: 0.98;\n    }\n\n    .d5-split .d5-copy {\n      margin-top: 20px;\n    }\n\n    .d5-split__video {\n      order: 2;\n    }\n\n    .d5-card-grid {\n      grid-template-columns: 1fr;\n      gap: 34px;\n      margin-top: 48px;\n    }\n\n    .d5-all {\n      padding: 58px 22px 56px;\n    }\n\n    .d5-card__body {\n      padding: 16px 8px 0;\n    }\n\n    .d5-box {\n      padding: 58px 22px 52px;\n    }\n\n    .d5-box__media {\n      margin-top: 46px;\n      aspect-ratio: 1 \/ 1.05;\n      border-radius: 14px;\n    }\n  }\n\n  @media (max-width: 480px) {\n    .d5-hero .d5-title,\n    .d5-split .d5-title {\n      font-size: 34px;\n    }\n\n    .d5-intro .d5-title,\n    .d5-all .d5-title,\n    .d5-box .d5-title {\n      font-size: 32px;\n    }\n\n    .d5-feature h3,\n    .d5-card__body h3 {\n      font-size: 15px;\n\n    }\n  }\n\u003c\/style\u003e\n\n\u003csection class=\"d5-product-page\"\u003e\n  \u003cdiv class=\"d5-wrap\"\u003e\n    \u003csection class=\"d5-hero\" aria-label=\"Active cooling and uncompromised stability\"\u003e\n      \u003cdiv class=\"d5-hero__content\"\u003e\n        \u003ch2 class=\"d5-title\"\u003eActive Cooling Fan.\u003c\/h2\u003e\n        \u003cp class=\"d5-copy\"\u003eEquipped with an active cooling fan and a bottom-vented design, it effectively lowers charging temperatures. It maintains a stable output even when charging multiple devices simultaneously, preventing slowdowns caused by overheating.\u003c\/p\u003e\n        \u003cp class=\"d5-copy\"\u003e*Supports manual fan control (On\/Off).\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cpicture class=\"d5-hero__image\"\u003e\n        \u003csource media=\"(max-width: 989px)\" srcset=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-D5-Wirless-Charger-des-mb-1.jpg?v=1782441751\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-D5-Wirless-Charger-des-1.jpg?v=1782439417\" alt=\"D5 active cooling system\"\u003e\u003c\/picture\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"d5-intro\"\u003e\n      \u003ch2 class=\"d5-title\"\u003eSmart Display.\u003c\/h2\u003e\n      \u003cp class=\"d5-copy\"\u003eFeaturing a large TFT screen, it makes the operational status clear and intuitive at a glance.\u003c\/p\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"d5-display\"\u003e\n      \u003cdiv class=\"d5-display__video\"\u003e\n        \u003cvideo autoplay muted loop playsinline poster\u003e\n          \u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/5fe36ec3632440eeac9f0a602c3dee5e.webm\" type=\"video\/mp4\"\u003e\u003c\/video\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"d5-display__text\"\u003e\n        \u003cdiv class=\"d5-feature\"\u003e\n          \u003ch3\u003ePower Monitoring\u003c\/h3\u003e\n          \u003cp class=\"d5-copy\"\u003eReal-time display of input voltage, current, and power. It also tracks the individual charging status of your phone, watch, and earbuds.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"d5-feature\"\u003e\n          \u003ch3\u003eClock Display\u003c\/h3\u003e\n          \u003cp class=\"d5-copy\"\u003eTransforms the screen into a sleek desk clock.\u003c\/p\u003e\n          \u003cp class=\"d5-copy\"\u003e*Note: This feature requires a Bluetooth connection with your phone to sync the time.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"d5-feature\"\u003e\n          \u003ch3\u003eAnimated Expressions\u003c\/h3\u003e\n          \u003cp class=\"d5-copy\"\u003eWhether on your desk or nightstand, its cheerful animations are always there to keep you company.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"d5-feature\"\u003e\n          \u003ch3\u003eAlert System\u003c\/h3\u003e\n          \u003cp class=\"d5-copy\"\u003eEach wireless charging zone is equipped with Foreign Object Detection (FOD), with instant warnings displayed right on the screen.\u003c\/p\u003e\n          \u003cp class=\"d5-copy\"\u003e*The display can be turned off manually.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"d5-split\"\u003e\n      \u003cdiv class=\"d5-split__content\"\u003e\n        \u003ch2 class=\"d5-title\"\u003eHidden Watch Charger.\u003c\/h2\u003e\n        \u003cp class=\"d5-copy\"\u003eFeaturing a precision motorized retractable design, the Apple Watch charging module is seamlessly concealed within the body.\n        \u003c\/p\u003e\n        \u003cp class=\"d5-copy\"\u003eWith a long press of the touch button, the module smoothly extends or retracts. It appears when needed and vanishes when not, delivering a purer charging experience while keeping your desk impeccably neat.\n\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"d5-split__video\"\u003e\n        \u003cvideo autoplay muted loop playsinline poster\u003e\n          \u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/3075cc9ad34f466c97aa5fe48fac23f9.webm\" type=\"video\/mp4\"\u003e\u003c\/video\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"d5-all\"\u003e\n      \u003ch2 class=\"d5-title\"\u003eAll-in-One Wireless Charger.\u003c\/h2\u003e\n      \u003cp class=\"d5-copy\"\u003eSay goodbye to tangled cables and keep your desk clutter-free.\u003c\/p\u003e\n      \u003cdiv class=\"d5-card-grid\"\u003e\n        \u003carticle class=\"d5-card\"\u003e\n          \u003cdiv class=\"d5-card__media\"\u003e\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/D5-for-Phone.jpg?v=1782452073\" alt=\"Wireless charging for phone\"\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"d5-card__body\"\u003e\n            \u003ch3\u003eFor Phone\u003c\/h3\u003e\n            \u003cp\u003eCompatible with iPhone, Samsung Galaxy, Google Pixel, and other wireless-charging-enabled smartphones.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"d5-card\"\u003e\n          \u003cdiv class=\"d5-card__media\"\u003e\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/D5-for-Watch.jpg?v=1782452073\" alt=\"Wireless charging for phone\"\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"d5-card__body\"\u003e\n            \u003ch3\u003eFor Watch\u003c\/h3\u003e\n            \u003cp\u003eSupports 5W fast charging for Apple Watch (*Upgraded)\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"d5-card\"\u003e\n          \u003cdiv class=\"d5-card__media\"\u003e\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/D5-for-Earphone.jpg?v=1782452073\" alt=\"Wireless charging for phone\"\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"d5-card__body\"\u003e\n            \u003ch3\u003eFor Earbud\u003c\/h3\u003e\n            \u003cp\u003eWorks with AirPods, Galaxy Buds, and all other Qi-certified wireless charging earbuds.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"d5-box\"\u003e\n      \u003ch2 class=\"d5-title\"\u003eWhat's In The Box.\u003c\/h2\u003e\n      \u003cp class=\"d5-copy\"\u003eD5 Wireless Charging Station x1,45W Power Adapter x1,1m Charging Cable x1,User Manual x1\u003c\/p\u003e\n      \u003cdiv class=\"d5-box__media\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/D5_Packaging.jpg?v=1782441707\" alt=\"D5 package contents\"\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n","brand":"KUXIU","offers":[{"title":"Default Title","offer_id":48316827205684,"sku":"D5-Burgundy","price":62.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIUD5WirelessChargingStation-Burgundy.png?v=1789006871"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/collections\/Qi22-Cate.jpg?v=1767333407","url":"https:\/\/kuxiu.com\/fr\/collections\/qi2-2.oembed?page=2","provider":"KUXIU","version":"1.0","type":"link"}