{"title":"Qi2.2","description":"","products":[{"product_id":"kuxiu-x40-turbo-stand","title":"KUXIU X40 Turbo Qi2.2-certificeret 25W 3-i-1 MagSafe-sammenfoldelig trådløs opladestand - grå","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\"\u003eSe nærmere efter.\u003c\/h2\u003e\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\u003eTil 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\"\u003eSæt den blot på, og oplad. Fungerer med MagSafe-kompatible covers.\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\u003eTil 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\"\u003eVend den om. Vip den op. Og oplad dit Apple Watch trådløst.\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\u003eTil 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\"\u003ePlacér dine AirPods i midten af opladningsområdet. Trådløs opladning starter med det samme.\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=\"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 \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\"\u003ePræcisionsfremstillet\u003cbr\u003ealuminium.\u003c\/h2\u003e\n \u003cp class=\"x40-section-copy\"\u003e\n Kugleblæst for en glat, raffineret tekstur. Anodiseret for langvarig beskyttelse. Hver overflade er udført med præcision - så den ser lige så godt ud, som den føles.\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=\"Udfoldet visning af X40 Turbo i grå aluminium\" loading=\"lazy\" decoding=\"async\" data-node-id=\"3:19\"\u003e\n \u003c\/section\u003e\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\/video\u003e\n \u003cdiv class=\"x40-overnight-copy\"\u003e\n \u003cp class=\"x40-content-eyebrow\"\u003eQi2.2-certificeret\u003c\/p\u003e\n \u003ch2 class=\"x40-content-headline\" id=\"overnight-title\"\u003eSpring opladningen natten over.\u003c\/h2\u003e\n \u003cp class=\"x40-content-description\"\u003eSæt den til, når du går i bad, tag din morgenkaffe, og gå ud ad døren med 80 % batteri. Alligevel kræver det kun én hånd at placere den på stativet.\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=\"Opladning af 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=\"Opladning af 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=\"Opladning af 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 \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 experience 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\/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\"\u003eDen perfekte MagSafe\u003cbr\u003eoplevelse\u003c\/h2\u003e\n \u003cp class=\"x40-content-description\"\u003eUdviklet til ubesværet betjening med én hånd og en sikker MagSafe-forbindelse, hvor hver magnet er præcist kalibreret for styrke og stabilitet - jævn, ubesværet, elegant.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003c\/section\u003e\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\/video\u003e\n \u003cdiv class=\"x40-full-bleed-copy x40-standby-copy\"\u003e\n \u003ch2 class=\"x40-content-headline\" id=\"standby-title\"\u003eKlar til StandBy\u003c\/h2\u003e\n \u003cp class=\"x40-content-description\"\u003eOverser du din iPhones praktiske StandBy-funktion? Med X40 Turbo skal du blot placere din telefon vandret for at aktivere den.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003c\/section\u003e\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\"\u003eMål\u003c\/p\u003e\n \u003ch2 class=\"x40-content-headline\" id=\"portable-title\"\u003eTransportabel,\u003cbr\u003eKlar til at tage med\u003cbr\u003euanset hvor du går\u003c\/h2\u003e\n \u003cp class=\"x40-content-description\"\u003eLille nok til at komme med overalt. Kraftfuld nok til hver dag. X40 Turbo holder dig klar, uanset hvor livet fører dig hen.\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 sammenfoldede mål og transportable størrelse\" loading=\"lazy\" decoding=\"async\"\u003e\n \u003c\/section\u003e\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\"\u003eHvad er der i æsken?\u003c\/h2\u003e\n \u003cp class=\"x40-content-description\"\u003eAlt, hvad du har brug for. Lige ud af æsken.\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-pakkets indhold\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/picture\u003e\n \u003c\/section\u003e\n \u003c\/main\u003e\n \u003c\/div\u003e\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: \"For iPhone\",\n          copy: \"Aluminum unibody. Optimized for performance and battery. Aluminum alloy is remarkably light and has exceptional thermal conductivity.\"\n        },\n        watch: {\n          label: \"For Apple Watch\",\n          copy: \"A dedicated charging surface keeps Apple Watch secure, visible, and ready throughout the day.\"\n        },\n        airpods: {\n          label: \"For AirPods\",\n          copy: \"A stable wireless charging base gives AirPods a precise place to recharge without adding clutter.\"\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","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 Qi2.2-certificeret 25W 3-i-1 MagSafe-sammenfoldelig trådløs opladestand  - sort","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: 0; }\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: 0; }\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: 0; }\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\"\u003eSe nærmere\u003c\/h2\u003e\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\u003eTil 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\"\u003eKlik den på. Lad den oplade. Fungerer med MagSafe-kompatible covers.\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\u003eTil 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\"\u003eVip opladeren op. Læg dit Apple Watch på. Opladning gjort enkelt.\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\u003eTil 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\"\u003eEn plads kun til dine AirPods. Læg dem i midten for at oplade trådløst.\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\/9d544d9d1d72471094d4f99c5fc4737f.webm\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-x40-black-default.jpg?v=1789803869\" 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\/73d6ef7d293f47708d523c053fa1d00a.webm\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-x40-black-for-iphone.jpg?v=1789803872\" 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\/ea82865ee0a8464f8b629612424fc9b2.webm\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-x40-black-for-watch.jpg?v=1789803874\" 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\/81f7c669618e468382e801062e7d1bd0.webm\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-x40-black-for-airpods.jpg?v=1789803873\" 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 \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\"\u003eRaffineret aluminium.\u003cbr\u003eHelt ned i detaljen.\u003c\/h2\u003e\n \u003cp class=\"x40-section-copy\"\u003e\n Blæst med glasperler for en glat overflade. Anodiseret for ekstra beskyttelse. En aluminiumsfinish, der føles lige så gennemtænkt, som den ser ud.\n \u003c\/p\u003e\n \u003cimg class=\"x40-exploded-product\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/x40-turbo-Black-exploded-finish.jpg?v=1789803874\" alt=\"Eksploderet visning af X40 Turbo i grå aluminium\" loading=\"lazy\" decoding=\"async\" data-node-id=\"3:19\"\u003e\n \u003c\/section\u003e\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-black-fast-charging-pc.png?v=1789803881\" data-poster-pc=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/x40-turbo-black-fast-charging-pc.png?v=1789803881\" data-poster-mb=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/x40-turbo-black-fast-charging-mb.png?v=1789803878\" aria-label=\"X40 Turbo fast charging demonstration\"\u003e\n \u003csource media=\"(max-width: 900px)\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/95c081fe23ec4733a7964a8d4507e280.webm\" type=\"video\/webm\"\u003e\n \u003csource data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/7a129063c9f746f58dca02ac58d1c7f6.webm\" type=\"video\/webm\"\u003e\u003c\/video\u003e\n \u003cdiv class=\"x40-overnight-copy\"\u003e\n \u003cp class=\"x40-content-eyebrow\"\u003eHurtig trådløs opladning\u003c\/p\u003e\n \u003ch2 class=\"x40-content-headline\" id=\"overnight-title\"\u003eMindre tid på opladning.\u003cbr\u003eMere tid til at komme videre.\u003c\/h2\u003e\n \u003cp class=\"x40-content-description\"\u003eLidt tid til opladning kan gøre en stor forskel. Med op til 25W trådløs strøm til kompatible iPhone-modeller gør X40 Turbo en hurtig opladning til en del af din dag.\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=\"Opladning af iPhone\" loading=\"lazy\" decoding=\"async\"\u003e\n \u003cp class=\"x40-charge-power\"\u003eOp til 25W\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=\"Opladning af Apple Watch\" loading=\"lazy\" decoding=\"async\"\u003e\n \u003cp class=\"x40-charge-power\"\u003eOp til 5W\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=\"Opladning af AirPods\" loading=\"lazy\" decoding=\"async\"\u003e\n \u003cp class=\"x40-charge-power\"\u003eOp til 5W\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 \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-black-MagSafe-PC.jpg?v=1789803869\" data-poster-pc=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-x40-black-MagSafe-PC.jpg?v=1789803869\" data-poster-mb=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-x40-black-MagSafe-MB.jpg?v=1789803869\" aria-label=\"X40 Turbo MagSafe experience demonstration\"\u003e\n \u003csource media=\"(max-width: 900px)\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/0777accea13746fc9e50082a626adc1a.webm\" type=\"video\/webm\"\u003e\n \u003csource data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/65675e5e96204aee8dc59a83da1f1f1f.webm\" type=\"video\/webm\"\u003e\u003c\/video\u003e\n \u003cdiv class=\"x40-full-bleed-copy\"\u003e\n \u003cp class=\"x40-content-eyebrow\"\u003eMagnetisk justering\u003c\/p\u003e\n \u003ch2 class=\"x40-content-headline\" id=\"magsafe-title\"\u003eKlikker på plads.\u003cbr\u003ePasser ind i din dag.\u003c\/h2\u003e\n \u003cp class=\"x40-content-description\"\u003eFør din iPhone hen til den, og lad magneterne føre den på plads. Et sikkert greb og nem placering med én hånd gør opladning helt ubesværet.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003c\/section\u003e\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-black-StandBy-PC.png?v=1789803881\" data-poster-pc=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-x40-black-StandBy-PC.png?v=1789803881\" data-poster-mb=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/poster-x40-black-StandBy-MB.png?v=1789803879\" aria-label=\"X40 Turbo StandBy mode demonstration\"\u003e\n \u003csource media=\"(max-width: 900px)\" data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/e9fe15e77ab24601b6a31ee1a2d19f26.webm\" type=\"video\/webm\"\u003e\n \u003csource data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/837d163fa6c04ed8bf4893da80e0813d.webm\" type=\"video\/webm\"\u003e\u003c\/video\u003e\n \u003cdiv class=\"x40-full-bleed-copy x40-standby-copy\"\u003e\n \u003ch2 class=\"x40-content-headline\" id=\"standby-title\"\u003eOpladningstid.\u003cbr\u003eTid ved et blik.\u003c\/h2\u003e\n \u003cp class=\"x40-content-description\"\u003eLæg din iPhone vandret under opladning, og brug StandBy. Hav tiden, billederne og widgets synlige - lige på skrivebordet eller natbordet.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003c\/section\u003e\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\"\u003eSkabt til at være med\u003c\/p\u003e\n \u003ch2 class=\"x40-content-headline\" id=\"portable-title\"\u003eFoldes sammen.\u003cbr\u003eTager med.\u003c\/h2\u003e\n \u003cp class=\"x40-content-description\"\u003eFold den sammen, og læg den i tasken. X40 Turbo giver dig en velkendt opladningsløsning ved dit næste skrivebord, på hotelværelset eller på weekendturen.\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\/x40T-Black-Dimensions.jpg?v=1789962348\" alt=\"X40 Turbos sammenfoldede mål og kompakte størrelse\" loading=\"lazy\" decoding=\"async\"\u003e\n \u003c\/section\u003e\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\"\u003eHvad er der i æsken?\u003c\/h2\u003e\n \u003cp class=\"x40-content-description\"\u003eMød din X40 Turbo og det medfølgende tilbehør.\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-black-Packaging-MB.jpg?v=1789803873\"\u003e\n \u003cimg class=\"x40-box-image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/x40-turbo-black-Packaging-PC.jpg?v=1789803873\" alt=\"Indhold i X40 Turbo-pakken\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/picture\u003e\n \u003c\/section\u003e\n \u003c\/main\u003e\n \u003c\/div\u003e\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: \"For iPhone\",\n          copy: \"Snap it on. Let it charge. Works with MagSafe-compatible cases.\"\n        },\n        watch: {\n          label: \"For Apple Watch\",\n          copy: \"Flip up the charger. Set down your Apple Watch. Charging made simple.\"\n        },\n        airpods: {\n          label: \"For AirPods\",\n          copy: \"A spot just for your AirPods. Place them in the center to charge wirelessly.\"\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\/9d544d9d1d72471094d4f99c5fc4737f.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","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 10000mAh 25W hurtigopladende 3-i-1 MagSafe-trådløs powerbank - sort","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\u003eUltrahurtig trådløs opladning med 25 W\u003c\/h1\u003e\n \u003cp\u003e Med Qi2.2-teknologi leverer KUXIU K1 Ultra en hidtil uset trådløs opladningsoplevelse.\n \u003c\/p\u003e\n \u003cp\u003e\u003ci\u003e*Bemærk: Opladning med 25 W understøttes i øjeblikket kun på iPhone 16-modeller og nyere (undtagen 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 25 W hurtigopladende 3-i-1 MagSafe trådløs powerbank\" 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 25 W hurtigopladende 3-i-1 MagSafe trådløs powerbank\" 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\u003eTrådløs opladning i én enhed\u003c\/h1\u003e\n \u003cp\u003eKUXIU K1 Ultra oplader din iPhone, Apple Watch og AirPods trådløst og er også kompatibel med andre Qi-aktiverede enheder. Takket være det mekaniske drejedesign foldes den ud for at oplade dit Apple Watch og fungerer samtidig som et sjovt fidget-legetøj.\n \u003c\/p\u003e\n \u003cp\u003eDet skjulte støtteben giver mulighed for håndfri visning, mens du ser videoer.\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\u003eOplad, mens du bruger den\u003c\/h1\u003e\n \u003cp\u003eKUXIU K1 Ultra understøtter opladning under brug, så du nemt kan skifte fra skrivebordstilstand til rejsetilstand.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"KUXIU K1 Ultra Qi2.2 25 W hurtigopladende 3-i-1 MagSafe trådløs powerbank\" 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 25 W hurtigopladende 3-i-1 MagSafe trådløs powerbank\" 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\u003eKraftfuld magnetisk forbindelse\u003c\/h1\u003e\n \u003cp\u003eKUXIU K1 Ultra har 16+2 N52-magneter, fremstillet af det samme materiale og med samme placering som i iPhone. Det sikrer et præcist og sikkert magnetisk greb - så din iPhone sidder fast uden den mindste risiko for at glide.\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\u003eKompromisløs kvalitet\n \u003c\/h1\u003e\n \u003cp\u003eKUXIU K1 Ultra er fremstillet af CNC-bearbejdet aluminiumslegering med sandblæst og anodiseret overflade, der giver en raffineret tekstur. Begge sider er udstyret med førsteklasses Corning-glas med et ekstra splintsikkert lag for holdbarhed og elegance. Det er ikke bare en trådløs powerbank - det er funktionel kunst, der gør indtryk.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"image-container\"\u003e\u003cimg alt=\"KUXIU K1 Ultra Qi2.2 25 W hurtigopladende 3-i-1 MagSafe trådløs powerbank\" 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","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-powerbank med solid-state-teknologi","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\u003eHurtigopladning i næste generation\u003c\/h1\u003e\n \u003cp\u003eS3 er udstyret med Qi2.2 25W MAX trådløs opladning, 35W MAX hurtigopladning via kabel og et 10.000mAh halvfast batteri og kombinerer de mest avancerede powerbank-teknologier i én enhed. Den leverer hurtig opladning både trådløst og via kabel og forlænger din iPhones batteritid 1,5-2 gange. Det halvfaste batteri har 3× så lang levetid som almindelige litium-ion-celler og forhindrer brandfare forårsaget af punkteringer, stød eller fald - hvilket gør det til det sikreste valg til indendørs brug.\u003c\/p\u003e\n \u003cp\u003e\u003ci\u003eBemærk: 25W hurtigopladning understøttes på iPhone 16-serien og nyere.\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-powerbank\" 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-powerbank\" 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\u003eDesign med indbygget kabel og støttefod\u003c\/h1\u003e\n \u003cp\u003eDu behøver ikke længere at medbringe ekstra opladningskabler. S3 har et skjult, indbygget opladningskabel og en praktisk støttefod. Skift nemt mellem kablet og trådløs opladning, mens telefonen står oprejst på et skrivebord - perfekt til videoopkald, streaming eller til at holde øje med vigtige notifikationer.\u003c\/p\u003e\n \u003cp\u003e\u003cb\u003eKompatibel med MagSafe-covers\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\u003eHalvfast batteri\u003c\/h1\u003e\n \u003cp\u003eKUXIU S3 trådløse powerbank bruger et førende halvfast batteri, der er designet til at forblive stabilt selv under ekstreme forhold som punkteringer eller fald. Det forhindrer termisk runaway og beskytter dig mod potentielle farer.\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-powerbank\" 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-powerbank\" 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 digitalt display\u003c\/h1\u003e\n \u003cp\u003eBevar kontrollen med et digitalt strøm-display i realtid. Tjek øjeblikkeligt batteriets tilstand og opladningsstatus, så du altid ved, hvornår det er tid til at genoplade.\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\u003eOmfattende sikkerhedsbeskyttelse\u003c\/h1\u003e\n \u003cp\u003eS3 er designet med maksimal sikkerhed og har beskyttelse mod overstrøm, overspænding og kortslutning. Den har bestået strenge tests for fald, stød, termiske cyklusser og kompression og opfylder fuldt ud internationale sikkerhedsstandarder til daglig brug.\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-powerbank\" 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 Qi2.2-certificeret 25W 3-i-1 MagSafe-sammenfoldelig trådløs opladestand  - kosmisk orange","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\"\u003eSe nærmere.\u003c\/h2\u003e\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\u003eTil 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\"\u003eSæt den bare på, og oplad. Fungerer med MagSafe-kompatible etuier.\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\u003eTil 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\"\u003eVend den rundt. Vip den op. Og oplad dit Apple Watch trådløst.\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\u003eTil 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\"\u003ePlacér dine AirPods i det centrale opladningsområde. Trådløs opladning starter med det samme.\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=\"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\/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=\"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 \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\"\u003ePræcisionsfremstillet\u003cbr\u003ealuminium.\u003c\/h2\u003e\n \u003cp class=\"x40-section-copy\"\u003e\n Perleblæst for en glat, raffineret tekstur. Anodiseret for langvarig beskyttelse. Hver overflade er udført med præcision - så den ser lige så godt ud, som den føles.\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=\"Sprængskitse af X40 Turbo med grå aluminiumsfinish\" loading=\"lazy\" decoding=\"async\" data-node-id=\"3:19\"\u003e\n \u003c\/section\u003e\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=\"X40 Turbo fast charging demonstration\"\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\/video\u003e\n \u003cdiv class=\"x40-overnight-copy\"\u003e\n \u003cp class=\"x40-content-eyebrow\"\u003eQi2.2-certificeret\u003c\/p\u003e\n \u003ch2 class=\"x40-content-headline\" id=\"overnight-title\"\u003eDrop opladning natten over.\u003c\/h2\u003e\n \u003cp class=\"x40-content-description\"\u003eSæt den til, når du går i bad, tag din morgenkaffe, og gå ud ad døren med 80 % batteri. Alligevel kræver det kun én hånd at placere den på standeren.\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=\"Opladning af 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=\"Opladning af 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=\"Opladning af 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 \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=\"X40 Turbo MagSafe experience demonstration\"\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\/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\"\u003eDen perfekte MagSafe\u003cbr\u003eoplevelse\u003c\/h2\u003e\n \u003cp class=\"x40-content-description\"\u003eUdviklet til ubesværet betjening med én hånd og en sikker MagSafe-forbindelse, hvor hver magnet er præcist kalibreret til styrke og stabilitet - jævn, ubesværet, elegant.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003c\/section\u003e\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=\"X40 Turbo StandBy mode demonstration\"\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\/video\u003e\n \u003cdiv class=\"x40-full-bleed-copy x40-standby-copy\"\u003e\n \u003ch2 class=\"x40-content-headline\" id=\"standby-title\"\u003eKlar til StandBy\u003c\/h2\u003e\n \u003cp class=\"x40-content-description\"\u003eOverser du din iPhones praktiske StandBy-funktion? Med X40 Turbo skal du blot placere din telefon vandret for at aktivere den.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003c\/section\u003e\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\"\u003eMål\u003c\/p\u003e\n \u003ch2 class=\"x40-content-headline\" id=\"portable-title\"\u003eBærbar,\u003cbr\u003eKlar til afgang\u003cbr\u003euanset hvor du tager hen\u003c\/h2\u003e\n \u003cp class=\"x40-content-description\"\u003eLille nok til at tage med overalt. Kraftfuld nok til hver dag. X40 Turbo holder dig klar, uanset hvor livet fører dig hen.\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=\"X40 Turbo sammenfoldede mål og bærbare størrelse\" loading=\"lazy\" decoding=\"async\"\u003e\n \u003c\/section\u003e\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\"\u003eHvad er der i æsken?\u003c\/h2\u003e\n \u003cp class=\"x40-content-description\"\u003eAlt, hvad du har brug for. Lige ud af æsken.\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=\"X40 Turbo-pakkets indhold\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/picture\u003e\n \u003c\/section\u003e\n \u003c\/main\u003e\n \u003c\/div\u003e\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: \"For iPhone\",\n          copy: \"Aluminum unibody. Optimized for performance and battery. Aluminum alloy is remarkably light and has exceptional thermal conductivity.\"\n        },\n        watch: {\n          label: \"For Apple Watch\",\n          copy: \"A dedicated charging surface keeps Apple Watch secure, visible, and ready throughout the day.\"\n        },\n        airpods: {\n          label: \"For AirPods\",\n          copy: \"A stable wireless charging base gives AirPods a precise place to recharge without adding clutter.\"\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","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-certificeret 25W 3-i-1 MagSafe-sammenfoldelig trådløs opladestand  - træmønster","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\u003eTurboopladning med Qi2.2 ved 25 W\u003c\/h1\u003e\n\u003cp\u003eUdstyret med et Apple-anbefalet Qi2.2-certificeret 25 W-modul til trådløs opladning. Oplad din iPhone 16 Pro Max til 50 % på blot 37 minutter - den hurtigste trådløse opladningshastighed, der findes til iPhone.\u003c\/p\u003e\n\u003cp\u003e\u003ci\u003eBemærk: Hurtigopladning med 25 W understøttes på iPhone 16-serien og nyere.\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-certificeret 25 W 3-i-1 sammenklappeligt MagSafe-stativ til trådløs opladning\"\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-certificeret 25 W 3-i-1 sammenklappeligt MagSafe-stativ til trådløs opladning\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"description-container\"\u003e\n\u003cdiv class=\"products_des\"\u003e\n\u003ch1\u003e25 % mindre og slankere design\u003c\/h1\u003e\n\u003cp\u003eSammenlignet med den tidligere X40 er X40 Turbo reduceret i størrelse med cirka 25 % og har dermed en slankere profil, samtidig med at den leverer forbedret ydeevne og førsteklasses kvalitet.\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\u003ePerfekt magnetisk forbindelse\u003c\/h1\u003e\n\u003cp\u003eUdstyret med 16 stærke N52-magneter, der holder din telefon sikkert på plads og sikrer præcis MagSafe-justering. Fastgør eller fjern nemt din iPhone med én hånd - problemfrit, naturligt og elegant.\u003c\/p\u003e\n\u003cp\u003e\u003cb\u003eKompatibel med MagSafe-etuier\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-certificeret 25 W 3-i-1 sammenklappeligt MagSafe-stativ til trådløs opladning\"\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-certificeret 25 W 3-i-1 sammenklappeligt MagSafe-stativ til trådløs opladning\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"description-container\"\u003e\n\u003cdiv class=\"products_des\"\u003e\n\u003ch1\u003eKonstruktion i CNC-bearbejdet aluminiumslegering\u003c\/h1\u003e\n\u003cp\u003eFremstillet af aluminiumslegering i høj kvalitet med CNC-bearbejdning, sandblæsning og anodiseret finish. Holdbart, raffineret og kompromisløst i kvalitet.\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\u003ePakken indeholder\u003c\/h1\u003e\n\u003cp\u003eX40 Turbo 3-i-1-opladningsstativ ×1\u003cbr\u003eOpladningskabel ×1\u003cbr\u003eOpbevaringsetui ×1 \u003cbr\u003eStrømadapter ×1 (Tilpasset specifikationerne i dit leveringsland)\u003cbr\u003eBrugervejledning ×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-certificeret 25 W 3-i-1 sammenklappeligt MagSafe-stativ til trådløs opladning\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","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 10000mAh 25W hurtigopladende 3-i-1 MagSafe-trådløs powerbank - kosmisk orange","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\u003e25W ultrahurtig trådløs opladning\u003c\/h1\u003e\n\u003cp\u003eMed Qi2.2-teknologi leverer KUXIU K1 Ultra en hidtil uset trådløs opladningsoplevelse.\u003c\/p\u003e\n\u003cp\u003e\u003ci\u003e*Bemærk: 25W-opladning understøttes i øjeblikket kun på iPhone 16-modeller og nyere (undtagen 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=\"KUXIU K1 Ultra Qi2.2 25W hurtigopladende 3-i-1 MagSafe trådløs powerbank\"\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=\"KUXIU K1 Ultra Qi2.2 25W hurtigopladende 3-i-1 MagSafe trådløs powerbank\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"description-container\"\u003e\n\u003cdiv class=\"products_des\"\u003e\n\u003ch1\u003eTrådløs opladning samlet i én enhed\u003c\/h1\u003e\n\u003cp\u003eKUXIU K1 Ultra oplader din iPhone, Apple Watch og AirPods trådløst og er også kompatibel med andre Qi-kompatible enheder. Med et mekanisk drejedesign foldes den ud for at oplade dit Apple Watch og fungerer samtidig som et sjovt fidget-legetøj.\u003c\/p\u003e\n\u003cp\u003eDet skjulte stativdesign giver dig mulighed for håndfri visning, mens du ser videoer.\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\u003eOplad, mens du bruger den\u003c\/h1\u003e\n\u003cp\u003eKUXIU K1 Ultra understøtter opladning under brug, så du nemt kan skifte fra skrivebordstilstand til rejsetilstand.\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=\"KUXIU K1 Ultra Qi2.2 25W hurtigopladende 3-i-1 MagSafe trådløs powerbank\"\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=\"KUXIU K1 Ultra Qi2.2 25W hurtigopladende 3-i-1 MagSafe trådløs powerbank\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"description-container\"\u003e\n\u003cdiv class=\"products_des\"\u003e\n\u003ch1\u003eKraftig magnetisk forbindelse\u003c\/h1\u003e\n\u003cp\u003eKUXIU K1 Ultra har 16+2 N52-magneter, fremstillet af samme materiale og med samme placering som i iPhone. Det sikrer et præcist og stabilt magnetisk greb - så din iPhone holdes sikkert på plads uden den mindste forskydning.\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\u003eUkompromitteret kvalitet\u003c\/h1\u003e\n\u003cp\u003eKUXIU K1 Ultra er fremstillet af CNC-bearbejdet aluminiumslegering med sandblæsning og anodisering, der giver en raffineret overflade. Begge sider har førsteklasses Corning-glas med et ekstra splintbeskyttende lag for holdbarhed og elegance. Den er ikke bare en trådløs powerbank - den er et stykke funktionel kunst.\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=\"KUXIU K1 Ultra Qi2.2 25W hurtigopladende 3-i-1 MagSafe trådløs powerbank\"\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":"KUXIU X55 Turbo Qi2.2 Certified 25W 3-in-1 MagSafe Foldable Wireless Charging Stand  - Black","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":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 10000mAh trådløs powerbank i aluminiumslegering med halvfast, sikker konstruktion — kosmisk orange","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\u003eEn ny sikkerhedsstandard\u003c\/h1\u003e\n \u003cp\u003eTFT-displayet giver realtidsindsigt i batteriets tilstand, driftstemperatur, resterende kapacitet, trådløs opladningseffekt, Type-C-input-\/outputeffekt og aktive sikkerhedsadvarsler - fuld kontrol med et enkelt blik.\n \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 trådløs powerbank i aluminiumslegering med halvfast batteri og høj sikkerhed\" 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 trådløs powerbank i aluminiumslegering med halvfast batteri og høj sikkerhed\" 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\u003eQi2.2-certificeret 25W MagSafe-hurtigopladning\u003c\/h1\u003e\n \u003cp\u003eOplad hurtigt med næste generations Qi2.2-teknologi - nå 58 % på bare 20 minutter.\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\u003eNæste generations halvfaststofbatteri\u003c\/h1\u003e\n \u003cp\u003eMed verdens tyndeste halvfaststofcelle på 10.000 mAh, udviklet til overlegen stabilitet og nul sikkerhedsrisiko.\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 trådløs powerbank i aluminiumslegering med halvfast batteri og høj sikkerhed\" 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 trådløs powerbank i aluminiumslegering med halvfast batteri og høj sikkerhed\" 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\u003eRamme i førsteklasses aluminiumslegering\u003c\/h1\u003e\n \u003cp\u003ePræcisionsfremstillet aluminiumslegering forbedrer varmeafledningen og giver samtidig en raffineret finish i høj kvalitet.\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\u003eIndbygget sammenfoldeligt stativ\u003c\/h1\u003e\n \u003cp\u003eOplad og se håndfrit med det integrerede sammenfoldelige stativ - perfekt til arbejde, rejser eller hverdagsbrug.\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 trådløs powerbank i aluminiumslegering med halvfast batteri og høj sikkerhed\" 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 10000mAh trådløs powerbank i aluminiumslegering med halvfast, sikker konstruktion — sort","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\u003eEn ny standard inden for sikkerhed\u003c\/h1\u003e\n \u003cp\u003eTFT-displayet giver indsigt i batteriets tilstand, driftstemperatur, resterende kapacitet, trådløs opladningseffekt, Type-C-input-\/outputeffekt og aktive sikkerhedsadvarsler i realtid - fuld kontrol på et øjeblik.\n \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 trådløs powerbank i aluminium med halvfast batteri og høj sikkerhed\" 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 trådløs powerbank i aluminium med halvfast batteri og høj sikkerhed\" 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\u003eQi2.2-certificeret 25W MagSafe-hurtigopladning\u003c\/h1\u003e\n \u003cp\u003eFå strøm hurtigt med næste generations Qi2.2-teknologi - nå 58 % på bare 20 minutter.\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\u003eNæste generations halvfaste batteri\u003c\/h1\u003e\n \u003cp\u003eMed verdens tyndeste halvfaste 10.000mAh-celle, udviklet til overlegen stabilitet og minimal sikkerhedsrisiko.\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 trådløs powerbank i aluminium med halvfast batteri og høj sikkerhed\" 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 trådløs powerbank i aluminium med halvfast batteri og høj sikkerhed\" 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\u003eRamme i førsteklasses aluminiumlegering\u003c\/h1\u003e\n \u003cp\u003ePræcisionsfremstillet aluminiumlegering forbedrer varmeafledningen og giver samtidig en raffineret finish i høj kvalitet.\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\u003eIndbygget sammenfoldeligt stativ\u003c\/h1\u003e\n \u003cp\u003eOplad og se håndfrit med det integrerede sammenfoldelige stativ - perfekt til arbejde, rejser eller hverdagsbrug.\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 trådløs powerbank i aluminium med halvfast batteri og høj sikkerhed\" 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":"KUXIU X1 Turbo 25W sammenfoldeligt MagSafe-trådløsopladningsstativ - grå","description":"\u003ch2\u003e25 W magnetisk hurtigopladning af næste generation\u003c\/h2\u003e\n\u003cp\u003eOplev trådløs strøm på højeste niveau. X1 Turbo leverer lynhurtig trådløs opladning på 25 W, så din enhed oplades markant hurtigere end med standardopladere. Med optimeret energieffektivitet og avanceret varmestyring giver den en hurtig, stabil og sikker opladningsoplevelse.\u003c\/p\u003e\n\n\u003ch2\u003eMinimalistisk design inspireret af en radarstation\u003c\/h2\u003e\n\u003cp\u003eOpgrader din arbejdsplads med den unikke silhuet fra en \"radarstation\". Det ikoniske, koniske design er ikke bare en oplader - det er et stykke teknologisk kunst, der tilfører ethvert skrivebord, sengebord eller kontor en futuristisk og sofistikeret stil.\u003c\/p\u003e\n\n\u003ch2\u003eFørsteklasses CNC-forarbejdning i aluminium\u003c\/h2\u003e\n\u003cp\u003eX1 Turbo er bygget til at holde og føles behagelig at røre ved takket være kabinettet i førsteklasses aluminiumslegering. Ved hjælp af præcisions-CNC-bearbejdning, sandblæsning og en anodiseret overfladebehandling får den en raffineret mat tekstur, der modstår fingeraftryk og passer perfekt til dine førsteklasses enheder.\u003c\/p\u003e\n\n\u003ch2\u003eJusterbar visning i 45° og StandBy-tilstand\u003c\/h2\u003e\n\u003cp\u003eFind den perfekte vinkel med en justering på 45 grader. Uanset om du bruger telefonen i portrættilstand eller skifter til landskabstilstand for StandBy-tilstand og videoafspilning, holder den stærke magnetiske justering din telefon sikkert på plads, så du kan se indhold håndfrit.\u003c\/p\u003e\n\n\u003ch2\u003eOmfattende intelligent beskyttelse\u003c\/h2\u003e\n\u003cp\u003eDin sikkerhed er vores højeste prioritet. Takket være en indbygget intelligent chip beskytter opladeren omfattende mod overophedning, overopladning, overstrøm og kortslutninger samt registrerer fremmedlegemer (FOD), så du kan føle dig helt tryg under hver opladning.\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":"KUXIU D5 Qi2.2 25W 3-i-1 trådløs opladningsstation","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\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\"\u003eAktiv køleblæser.\u003c\/h2\u003e\n \u003cp class=\"d5-copy\"\u003eUdstyret med en aktiv køleblæser og et design med ventilation i bunden sænker den effektivt opladningstemperaturen. Den opretholder en stabil effekt, selv når flere enheder oplades samtidigt, og forhindrer langsommere opladning på grund af overophedning.\u003c\/p\u003e\n \u003cp class=\"d5-copy\"\u003e*Understøtter manuel blæserstyring (Til\/Fra).\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-aktivt kølesystem\"\u003e\u003c\/picture\u003e\n \u003c\/section\u003e\n \u003csection class=\"d5-intro\"\u003e\n \u003ch2 class=\"d5-title\"\u003eSmart display.\u003c\/h2\u003e\n \u003cp class=\"d5-copy\"\u003eDen store TFT-skærm gør driftsstatussen tydelig og intuitiv ved første øjekast.\u003c\/p\u003e\n \u003c\/section\u003e\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\u003eEffektovervågning\u003c\/h3\u003e\n \u003cp class=\"d5-copy\"\u003eViser indgangsspænding, strømstyrke og effekt i realtid. Den overvåger også den individuelle opladningsstatus for din telefon, dit ur og dine øretelefoner.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"d5-feature\"\u003e\n \u003ch3\u003eUrvisning\u003c\/h3\u003e\n \u003cp class=\"d5-copy\"\u003eForvandler skærmen til et elegant skrivebordsur.\u003c\/p\u003e\n \u003cp class=\"d5-copy\"\u003e*Bemærk: Denne funktion kræver en Bluetooth-forbindelse til din telefon for at synkronisere tiden.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"d5-feature\"\u003e\n \u003ch3\u003eAnimerede udtryk\u003c\/h3\u003e\n \u003cp class=\"d5-copy\"\u003eUanset om den står på skrivebordet eller natbordet, er de muntre animationer altid der for at holde dig med selskab.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"d5-feature\"\u003e\n \u003ch3\u003eAdvarselssystem\u003c\/h3\u003e\n \u003cp class=\"d5-copy\"\u003eHver trådløs opladningszone er udstyret med registrering af fremmedlegemer (FOD), og øjeblikkelige advarsler vises direkte på skærmen.\u003c\/p\u003e\n \u003cp class=\"d5-copy\"\u003e*Displayet kan slukkes manuelt.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\n \u003c\/section\u003e\n \u003csection class=\"d5-split\"\u003e\n \u003cdiv class=\"d5-split__content\"\u003e\n \u003ch2 class=\"d5-title\"\u003eSkjult uroplader.\u003c\/h2\u003e\n \u003cp class=\"d5-copy\"\u003eApple Watch-opladningsmodulet har et præcist, motoriseret udtrækkeligt design og er sømløst skjult i kabinettet.\n \u003c\/p\u003e\n \u003cp class=\"d5-copy\"\u003eMed et langt tryk på berøringsknappen forlænges eller trækkes modulet jævnt ind. Det kommer frem, når der er brug for det, og forsvinder, når det ikke er, hvilket giver en renere opladningsoplevelse og holder skrivebordet perfekt ryddeligt.\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 \u003csection class=\"d5-all\"\u003e\n \u003ch2 class=\"d5-title\"\u003eAlt-i-én-trådløs oplader.\u003c\/h2\u003e\n \u003cp class=\"d5-copy\"\u003eSig farvel til sammenfiltrede kabler, og hold skrivebordet fri for rod.\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=\"Trådløs opladning af telefon\"\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"d5-card__body\"\u003e\n \u003ch3\u003eTil telefon\u003c\/h3\u003e\n \u003cp\u003eKompatibel med iPhone, Samsung Galaxy, Google Pixel og andre smartphones med understøttelse af trådløs opladning.\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=\"Trådløs opladning af telefon\"\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"d5-card__body\"\u003e\n \u003ch3\u003eTil ur\u003c\/h3\u003e\n \u003cp\u003eUnderstøtter 5W-hurtigopladning til Apple Watch (*opgraderet)\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=\"Trådløs opladning af telefon\"\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"d5-card__body\"\u003e\n \u003ch3\u003eTil øretelefoner\u003c\/h3\u003e\n \u003cp\u003eFungerer med AirPods, Galaxy Buds og alle andre Qi-certificerede trådløse opladningsøretelefoner.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003c\/article\u003e\n \u003c\/div\u003e\n \u003c\/section\u003e\n \u003csection class=\"d5-box\"\u003e\n \u003ch2 class=\"d5-title\"\u003eDette er inkluderet i æsken.\u003c\/h2\u003e\n \u003cp class=\"d5-copy\"\u003eD5 trådløs ladestation x1, 45W-strømadapter x1, 1 m ladekabel x1, brugervejledning 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-pakkets indhold\"\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 Qi2.2-certificeret 25W 3-i-1 MagSafe-sammenfoldeligt trådløst opladningsstativ  - 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\"\u003eSe nærmere.\u003c\/h2\u003e\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\u003eTil 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\"\u003eKlik den på, og oplad. Fungerer med MagSafe-kompatible etuier.\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\u003eTil 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\"\u003eVend den om. Vip den op. Og oplad dit Apple Watch trådløst.\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\u003eTil 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\"\u003ePlacér dine AirPods i det centrale opladningsområde. Trådløs opladning starter med det samme.\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 \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\"\u003ePræcisionsfremstillet\u003cbr\u003ealuminium.\u003c\/h2\u003e\n \u003cp class=\"x40-section-copy\"\u003e\n Perleblæst for en glat, raffineret tekstur. Anodiseret for langvarig beskyttelse. Hver overflade er udført med præcision - så den ser lige så godt ud, som den føles.\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=\"Sprængskitse af X40 Turbo i grå aluminium\" loading=\"lazy\" decoding=\"async\" data-node-id=\"3:19\"\u003e\n \u003c\/section\u003e\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\/video\u003e\n \u003cdiv class=\"x40-overnight-copy\"\u003e\n \u003cp class=\"x40-content-eyebrow\"\u003eQi2.2-certificeret\u003c\/p\u003e\n \u003ch2 class=\"x40-content-headline\" id=\"overnight-title\"\u003eDrop opladning natten over.\u003c\/h2\u003e\n \u003cp class=\"x40-content-description\"\u003eSæt den til, når du går i bad, tag din morgenkaffe, og gå ud ad døren med 80 % batteri. Og alligevel kræver det kun én hånd at placere den i holderen.\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=\"Opladning af iPhone\" loading=\"lazy\" decoding=\"async\"\u003e\n \u003cp class=\"x40-charge-power\"\u003e25W maks.\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=\"Opladning af Apple Watch\" loading=\"lazy\" decoding=\"async\"\u003e\n \u003cp class=\"x40-charge-power\"\u003e5W maks.\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=\"Opladning af AirPods\" loading=\"lazy\" decoding=\"async\"\u003e\n \u003cp class=\"x40-charge-power\"\u003e5W maks.\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 \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\/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\"\u003eDen perfekte MagSafe\u003cbr\u003eoplevelse\u003c\/h2\u003e\n \u003cp class=\"x40-content-description\"\u003eUdviklet til ubesværet betjening med én hånd og en sikker MagSafe-forbindelse, hvor hver magnet er præcist kalibreret til styrke og stabilitet - jævn, ubesværet, elegant.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003c\/section\u003e\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\/video\u003e\n \u003cdiv class=\"x40-full-bleed-copy x40-standby-copy\"\u003e\n \u003ch2 class=\"x40-content-headline\" id=\"standby-title\"\u003eKlar til StandBy\u003c\/h2\u003e\n \u003cp class=\"x40-content-description\"\u003eGå ikke glip af din iPhones praktiske StandBy-funktion. Med X40 Turbo skal du blot placere telefonen vandret for at aktivere den.\u003c\/p\u003e\n \u003c\/div\u003e\n \u003c\/section\u003e\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\"\u003eMål\u003c\/p\u003e\n \u003ch2 class=\"x40-content-headline\" id=\"portable-title\"\u003eBærbar,\u003cbr\u003eKlar til brug\u003cbr\u003euanset hvor du går\u003c\/h2\u003e\n \u003cp class=\"x40-content-description\"\u003eLille nok til at tage med overalt. Kraftig nok til hver dag. X40 Turbo holder dig klar, uanset hvor livet fører dig hen.\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 sammenfoldede mål og bærbare størrelse\" loading=\"lazy\" decoding=\"async\"\u003e\n \u003c\/section\u003e\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\"\u003eHvad er der i æsken.\u003c\/h2\u003e\n \u003cp class=\"x40-content-description\"\u003eAlt, hvad du har brug for. Lige ud af æsken.\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=\"Indhold i X40 Turbo-pakken\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/picture\u003e\n \u003c\/section\u003e\n \u003c\/main\u003e\n \u003c\/div\u003e\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: \"For iPhone\",\n          copy: \"Aluminum unibody. Optimized for performance and battery. Aluminum alloy is remarkably light and has exceptional thermal conductivity.\"\n        },\n        watch: {\n          label: \"For Apple Watch\",\n          copy: \"A dedicated charging surface keeps Apple Watch secure, visible, and ready throughout the day.\"\n        },\n        airpods: {\n          label: \"For AirPods\",\n          copy: \"A stable wireless charging base gives AirPods a precise place to recharge without adding clutter.\"\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","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-i-1 kreativ trådløs opladningsstation - 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\u003c!-- 1. HERO --\u003e\n\u003csection class=\"x85t-section x85t-hero\"\u003e\n \u003cdiv class=\"x85t-inner\"\u003e\n \u003ch1\u003eGiv dine enheder strøm.\u003cbr\u003eGiv din dag strøm.\u003c\/h1\u003e\n \u003cp class=\"x85t-sub\"\u003eMere end en trådløs opladningsstation. Det er også en magnetisk mini-basketballbane.\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\u003c!-- 2. NEAT \u0026 EFFICIENT --\u003e\n\u003csection class=\"x85t-section x85t-neat\"\u003e\n \u003cdiv class=\"x85t-inner\"\u003e\n \u003ch2\u003ePæn og effektiv.\u003c\/h2\u003e\n \u003cp class=\"x85t-sub\"\u003eMagSafe og et magnetisk design gør enhver påsætning og aftagning ubesværet og 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-trådløs opladningsstander på et skrivebord\"\u003e\u003c\/picture\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/section\u003e\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 25 W-certificeret\"\u003e\n \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/Rotatable.png?v=1783647425\" alt=\"Drejelig konstruktion\"\u003e\n \u003c\/div\u003e\n \u003ch2\u003e25 W hurtig trådløs opladning.\u003c\/h2\u003e\n \u003cp class=\"x85t-sub\"\u003eQi2.2-certificeret trådløs opladning · Klar til 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\u003c!-- 4. PRECISION ALUMINUM CONSTRUCTION --\u003e\n\u003csection class=\"x85t-section x85t-alum\"\u003e\n \u003cdiv class=\"x85t-inner\"\u003e\n \u003ch2\u003ePræcisionsaluminium\u003cbr\u003eKonstruktion.\u003c\/h2\u003e\n \u003cp class=\"x85t-sub\"\u003eBygget med et kabinet af førsteklasses aluminiumslegering, der giver en elegant finish, enestående styrke og lang holdbarhed.\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=\"Detalje af X85 Turbo-standerens aluminiumskonstruktion\"\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/section\u003e\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\u003eHvad er der i æsken.\u003c\/h2\u003e\n \u003cp class=\"x85t-sub\"\u003eElegant indpakket, hvilket gør den til den perfekte gave til enhver anledning.\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-æskens indhold: opladningsstander, kabel, adaptere, emballage\"\u003e\u003c\/picture\u003e\n \u003c\/div\u003e\n\u003c\/section\u003e\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-i-1 trådløs opladningsstation - bordeaux","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\u003csection class=\"d5-product-page\"\u003e\n\u003cdiv class=\"d5-wrap\"\u003e\n\u003csection class=\"d5-hero\"\u003e\n\u003cdiv class=\"d5-hero__content\"\u003e\n\u003ch2 class=\"d5-title\"\u003eAktiv køleblæser.\u003c\/h2\u003e\n\u003cp class=\"d5-copy\"\u003eUdstyret med en aktiv køleblæser og et design med ventilation i bunden sænker den effektivt opladningstemperaturen. Den opretholder en stabil effekt, selv når flere enheder oplades samtidigt, og forhindrer langsommere opladning på grund af overophedning.\u003c\/p\u003e\n\u003cp class=\"d5-copy\"\u003e*Understøtter manuel blæserstyring (Til\/Fra).\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cpicture class=\"d5-hero__image\"\u003e \u003csource media=\"(max-width: 989px)\" srcset=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-D5-Wirless-Charger-des-Burgundy-mb-1.jpg?v=1790136166\"\u003e \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/KUXIU-D5-Wirless-Charger-des-Burgundy-1.jpg?v=1790136166\" alt=\"D5 aktivt kølesystem\"\u003e\u003c\/picture\u003e\u003c\/section\u003e\n\u003csection class=\"d5-intro\"\u003e\n\u003ch2 class=\"d5-title\"\u003eSmart skærm.\u003c\/h2\u003e\n\u003cp class=\"d5-copy\"\u003eDen store TFT-skærm gør driftsstatussen tydelig og intuitiv med et enkelt blik.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003csection class=\"d5-display\"\u003e\n\u003cdiv class=\"d5-display__video\"\u003e\u003cvideo autoplay=\"autoplay\" muted=\"\" loop=\"loop\" playsinline=\"\" poster=\"\"\u003e\n \u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/8530d364a6e34824a5f09521d2fa356e.webm\" type=\"video\/mp4\"\u003e\u003c\/video\u003e\u003c\/div\u003e\n\u003cdiv class=\"d5-display__text\"\u003e\n\u003cdiv class=\"d5-feature\"\u003e\n\u003ch3\u003eEffektovervågning\u003c\/h3\u003e\n\u003cp class=\"d5-copy\"\u003eViser inputspænding, strømstyrke og effekt i realtid. Den følger også den individuelle opladningsstatus for din telefon, dit ur og dine øretelefoner.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"d5-feature\"\u003e\n\u003ch3\u003eUrvisning\u003c\/h3\u003e\n\u003cp class=\"d5-copy\"\u003eForvandler skærmen til et elegant skrivebordsur.\u003c\/p\u003e\n\u003cp class=\"d5-copy\"\u003e*Bemærk: Denne funktion kræver en Bluetooth-forbindelse til din telefon for at synkronisere klokkeslættet.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"d5-feature\"\u003e\n\u003ch3\u003eAnimerede udtryk\u003c\/h3\u003e\n\u003cp class=\"d5-copy\"\u003eUanset om den står på skrivebordet eller natbordet, er dens muntre animationer altid der for at holde dig med selskab.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"d5-feature\"\u003e\n\u003ch3\u003eAdvarselssystem\u003c\/h3\u003e\n\u003cp class=\"d5-copy\"\u003eHver trådløs opladningszone er udstyret med registrering af fremmedlegemer (FOD), og øjeblikkelige advarsler vises direkte på skærmen.\u003c\/p\u003e\n\u003cp class=\"d5-copy\"\u003e*Skærmen kan slukkes manuelt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"d5-split\"\u003e\n\u003cdiv class=\"d5-split__content\"\u003e\n\u003ch2 class=\"d5-title\"\u003eSkjult oplader til ur.\u003c\/h2\u003e\n\u003cp class=\"d5-copy\"\u003eApple Watch-opladningsmodulet har et præcist, motoriseret udtrækkeligt design og er elegant skjult i kabinettet.\u003c\/p\u003e\n\u003cp class=\"d5-copy\"\u003eMed et langt tryk på berøringsknappen forlænges eller trækkes modulet jævnt ind. Det kommer frem, når der er brug for det, og forsvinder, når det ikke er, hvilket giver en renere opladningsoplevelse og holder skrivebordet perfekt ryddeligt.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"d5-split__video\"\u003e\u003cvideo autoplay=\"autoplay\" muted=\"\" loop=\"loop\" playsinline=\"\" poster=\"\"\u003e\n \u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/86771440fc174530ad806a1c3bc38578.webm\" type=\"video\/mp4\"\u003e\u003c\/video\u003e\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"d5-all\"\u003e\n\u003ch2 class=\"d5-title\"\u003eAlt-i-én-trådløs oplader.\u003c\/h2\u003e\n\u003cp class=\"d5-copy\"\u003eSig farvel til sammenfiltrede kabler, og hold skrivebordet ryddeligt.\u003c\/p\u003e\n\u003cdiv class=\"d5-card-grid\"\u003e\n\u003carticle class=\"d5-card\"\u003e\n\u003cdiv class=\"d5-card__media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/D5-Burgundy-for-Phone.jpg?v=1790136165\" alt=\"Trådløs opladning af telefon\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"d5-card__body\"\u003e\n\u003ch3\u003eTil telefon\u003c\/h3\u003e\n\u003cp\u003eKompatibel med iPhone, Samsung Galaxy, Google Pixel og andre smartphones med understøttelse af trådløs opladning.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"d5-card\"\u003e\n\u003cdiv class=\"d5-card__media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/D5-Burgundy-for-Watch.jpg?v=1790136165\" alt=\"Trådløs opladning af telefon\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"d5-card__body\"\u003e\n\u003ch3\u003eTil ur\u003c\/h3\u003e\n\u003cp\u003eUnderstøtter 5W-hurtigopladning til Apple Watch (*opgraderet)\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"d5-card\"\u003e\n\u003cdiv class=\"d5-card__media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/D5-Burgundy-for-AirPods.jpg?v=1790136165\" alt=\"Trådløs opladning af telefon\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"d5-card__body\"\u003e\n\u003ch3\u003eTil øretelefoner\u003c\/h3\u003e\n\u003cp\u003eFungerer med AirPods, Galaxy Buds og alle andre trådløse øretelefoner med Qi-certificering.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"d5-box\"\u003e\n\u003ch2 class=\"d5-title\"\u003eHvad er der i æsken?\u003c\/h2\u003e\n\u003cp class=\"d5-copy\"\u003eD5 trådløs ladestation x1, 45 W-strømadapter x1, 1 m ladekabel x1, brugervejledning x1\u003c\/p\u003e\n\u003cdiv class=\"d5-box__media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/files\/D5_Burgundy-Packaging.jpg?v=1790136165\" alt=\"D5-pakkens indhold\"\u003e\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e","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\/KUXIUD5Qi2.225W3-in-1WirelessChargingStation-Burgundy_1.png?v=1790147627"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0548\/8594\/1300\/collections\/Qi22-Cate.jpg?v=1767333407","url":"https:\/\/kuxiu.com\/da\/collections\/qi2-2.oembed","provider":"KUXIU","version":"1.0","type":"link"}