{"title":"Home page","description":null,"products":[{"product_id":"powerspot™-wristcharge-charging-cable","title":"PowerSpot™ WristCharge (Charging Cable)","description":"\u003csection class=\"powerspot-product\" id=\"powerspot-wristcharge\"\u003e\n  \u003cdiv class=\"ps-background-grid\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"ps-background-glow ps-glow-cyan\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"ps-background-glow ps-glow-magenta\"\u003e\u003c\/div\u003e\n\n  \u003cdiv class=\"ps-container\"\u003e\n\n    \u003c!-- HERO --\u003e\n    \u003cdiv class=\"ps-hero ps-reveal\"\u003e\n      \u003cdiv class=\"ps-brand-pill\"\u003e\n        \u003cspan class=\"ps-pill-lightning\"\u003e⚡\u003c\/span\u003e\n        PowerSpot™ Everyday Tech\n      \u003c\/div\u003e\n\n      \u003ch2 class=\"ps-main-title\"\u003e\n        PowerSpot™\n        \u003cspan\u003eWristCharge\u003c\/span\u003e\n      \u003c\/h2\u003e\n\n      \u003cp class=\"ps-main-tagline\"\u003eStay Charged. Stay Stylish.\u003c\/p\u003e\n\n      \u003cp class=\"ps-intro\"\u003e\n        A charging cable, worn as a bracelet. Never scramble for a cord again.\n      \u003c\/p\u003e\n\n      \u003cp class=\"ps-small-note\"\u003e\n        Each bracelet includes one connector: Lightning, Type-C or Micro USB.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- CONNECTOR SELECTION --\u003e\n    \u003cdiv class=\"ps-connector-section\" id=\"ps-connector-section\"\u003e\n      \u003cdiv class=\"ps-connector-information ps-reveal\"\u003e\n        \u003cp class=\"ps-section-label\"\u003eChoose the correct connection\u003c\/p\u003e\n        \u003ch3\u003eWhich WristCharge fits your device?\u003c\/h3\u003e\n\n        \u003cp class=\"ps-connector-warning\"\u003e\n          \u003cstrong\u003ePlease note:\u003c\/strong\u003e each bracelet has one connector type —\n          not all three in the same bracelet.\n        \u003c\/p\u003e\n\n        \u003cdiv class=\"ps-current-selection\"\u003e\n          \u003cspan\u003eYour selected connector\u003c\/span\u003e\n          \u003cstrong id=\"ps-selected-connector\"\u003eLightning\u003c\/strong\u003e\n          \u003cp id=\"ps-connector-description\"\u003eCommonly used with compatible Apple iPhone devices.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ps-connector-options ps-reveal\"\u003e\n        \u003cbutton type=\"button\" class=\"ps-connector-card active\" data-connector=\"Lightning\" data-description=\"Commonly used with compatible Apple iPhone devices.\" aria-pressed=\"true\"\u003e\n          \u003cspan class=\"ps-selected-check\"\u003e✓\u003c\/span\u003e\n          \u003cspan class=\"ps-port-icon\"\u003eϟ\u003c\/span\u003e\n          \u003cstrong\u003eLightning\u003c\/strong\u003e\n          \u003csmall\u003eFor compatible Apple devices\u003c\/small\u003e\n        \u003c\/button\u003e\n\n        \u003cbutton type=\"button\" class=\"ps-connector-card\" data-connector=\"Type-C\" data-description=\"Suitable for many newer Android phones and compatible USB-C devices.\" aria-pressed=\"false\"\u003e\n          \u003cspan class=\"ps-selected-check\"\u003e✓\u003c\/span\u003e\n          \u003cspan class=\"ps-port-icon\"\u003eC\u003c\/span\u003e\n          \u003cstrong\u003eType-C\u003c\/strong\u003e\n          \u003csmall\u003eFor compatible USB-C devices\u003c\/small\u003e\n        \u003c\/button\u003e\n\n        \u003cbutton type=\"button\" class=\"ps-connector-card\" data-connector=\"Micro USB\" data-description=\"Suitable for compatible older Android phones and accessories.\" aria-pressed=\"false\"\u003e\n          \u003cspan class=\"ps-selected-check\"\u003e✓\u003c\/span\u003e\n          \u003cspan class=\"ps-port-icon\"\u003eμ\u003c\/span\u003e\n          \u003cstrong\u003eMicro USB\u003c\/strong\u003e\n          \u003csmall\u003eFor compatible Micro USB devices\u003c\/small\u003e\n        \u003c\/button\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- COLOUR SELECTION AND VISUAL --\u003e\n    \u003cdiv class=\"ps-style-section\"\u003e\n      \u003cdiv class=\"ps-product-visual ps-reveal\"\u003e\n        \u003cspan class=\"ps-product-visual-label\"\u003ePowerSpot™ WristCharge\u003c\/span\u003e\n\n        \u003cdiv class=\"ps-orbit-container\"\u003e\n          \u003cdiv class=\"ps-orbit ps-orbit-one\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"ps-orbit ps-orbit-two\"\u003e\u003c\/div\u003e\n\n          \u003cdiv class=\"ps-bracelet\" id=\"ps-bracelet\"\u003e\n            \u003cspan class=\"ps-bracelet-end ps-end-left\"\u003e\u003c\/span\u003e\n            \u003cspan class=\"ps-bracelet-end ps-end-right\"\u003e\u003c\/span\u003e\n          \u003c\/div\u003e\n\n          \u003cspan class=\"ps-centre-lightning\"\u003e⚡\u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ps-visual-selection\"\u003e\n          \u003cspan id=\"ps-visual-colour\"\u003eBrown\u003c\/span\u003e\n          \u003cspan class=\"ps-selection-dot\"\u003e\u003c\/span\u003e\n          \u003cspan id=\"ps-visual-connector\"\u003eLightning\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ps-colour-panel ps-reveal\"\u003e\n        \u003cp class=\"ps-section-label\"\u003eChoose your style\u003c\/p\u003e\n        \u003ch3\u003eSelect your colour\u003c\/h3\u003e\n\n        \u003cdiv class=\"ps-colour-options\"\u003e\n          \u003cbutton type=\"button\" class=\"ps-colour-button active\" data-colour=\"Brown\" data-hex=\"#875b43\" aria-pressed=\"true\"\u003e\n            \u003cspan class=\"ps-colour-dot ps-brown\"\u003e\u003c\/span\u003e\n            Brown\n          \u003c\/button\u003e\n\n          \u003cbutton type=\"button\" class=\"ps-colour-button\" data-colour=\"Black\" data-hex=\"#141414\" aria-pressed=\"false\"\u003e\n            \u003cspan class=\"ps-colour-dot ps-black\"\u003e\u003c\/span\u003e\n            Black\n          \u003c\/button\u003e\n\n          \u003cbutton type=\"button\" class=\"ps-colour-button\" data-colour=\"White\" data-hex=\"#eeeeea\" aria-pressed=\"false\"\u003e\n            \u003cspan class=\"ps-colour-dot ps-white\"\u003e\u003c\/span\u003e\n            White\n          \u003c\/button\u003e\n        \u003c\/div\u003e\n\n        \u003cp class=\"ps-colour-selection\"\u003e\n          Selected colour: \u003cstrong id=\"ps-selected-colour\"\u003eBrown\u003c\/strong\u003e\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- PRODUCT DETAILS --\u003e\n    \u003cdiv class=\"ps-details-section\" id=\"ps-product-details\"\u003e\n      \u003cdiv class=\"ps-section-heading ps-reveal\"\u003e\n        \u003cp class=\"ps-section-label\"\u003eProduct information\u003c\/p\u003e\n        \u003ch3\u003eEverything you need to know\u003c\/h3\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ps-details-grid ps-reveal\"\u003e\n        \u003cdiv class=\"ps-detail\"\u003e\n          \u003cspan\u003eProduct\u003c\/span\u003e\n          \u003cstrong\u003ePowerSpot™ WristCharge\u003c\/strong\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ps-detail\"\u003e\n          \u003cspan\u003eWearable length\u003c\/span\u003e\n          \u003cstrong\u003e22.5cm\u003c\/strong\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ps-detail\"\u003e\n          \u003cspan\u003eConnector options\u003c\/span\u003e\n          \u003cstrong\u003eLightning, Type-C or Micro USB\u003c\/strong\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ps-detail\"\u003e\n          \u003cspan\u003eConnectors per bracelet\u003c\/span\u003e\n          \u003cstrong\u003eOne connector\u003c\/strong\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ps-detail\"\u003e\n          \u003cspan\u003eAvailable colours\u003c\/span\u003e\n          \u003cstrong\u003eBrown, Black and White\u003c\/strong\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ps-detail\"\u003e\n          \u003cspan\u003eProduct style\u003c\/span\u003e\n          \u003cstrong\u003eWearable charging cable\u003c\/strong\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003cstyle\u003e\n  \/* ============================================================\n     Mobile-first: everything below is a single column by default.\n     One optional breakpoint (min-width:760px) widens things\n     slightly for tablet\/desktop previews of the same page.\n  ============================================================= *\/\n  .powerspot-product {\n    --ps-black: #050505;\n    --ps-white: #ffffff;\n    --ps-grey: #656b76;\n\n    --ps-cyan: #00bdf2;\n    --ps-blue: #1769ff;\n    --ps-purple: #8b3dff;\n    --ps-magenta: #f000e8;\n\n    --ps-gradient: linear-gradient(\n      90deg,\n      #00bdf2 0%,\n      #1769ff 33%,\n      #8b3dff 66%,\n      #f000e8 100%\n    );\n\n    position: relative;\n    overflow: hidden;\n    padding: 44px 16px;\n    background:\n      radial-gradient(circle at 8% 5%, rgba(0, 189, 242, 0.16), transparent 28%),\n      radial-gradient(circle at 92% 22%, rgba(139, 61, 255, 0.12), transparent 28%),\n      radial-gradient(circle at 87% 75%, rgba(240, 0, 232, 0.08), transparent 25%),\n      linear-gradient(180deg, #ffffff 0%, #fafaff 48%, #ffffff 100%);\n    color: var(--ps-black);\n    isolation: isolate;\n  }\n\n  .powerspot-product *,\n  .powerspot-product *::before,\n  .powerspot-product *::after {\n    box-sizing: border-box;\n  }\n\n  .ps-container {\n    position: relative;\n    z-index: 2;\n    width: 100%;\n    max-width: 560px;\n    margin: 0 auto;\n  }\n\n  .ps-background-grid {\n    position: absolute;\n    inset: 0;\n    z-index: -2;\n    opacity: 0.35;\n    background-image:\n      linear-gradient(rgba(23, 105, 255, 0.04) 1px, transparent 1px),\n      linear-gradient(90deg, rgba(139, 61, 255, 0.04) 1px, transparent 1px);\n    background-size: 32px 32px;\n    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.7), transparent 65%);\n  }\n\n  .ps-background-glow {\n    position: absolute;\n    z-index: -1;\n    border-radius: 50%;\n    filter: blur(60px);\n    pointer-events: none;\n    animation: psGlowMove 8s ease-in-out infinite alternate;\n  }\n\n  .ps-glow-cyan {\n    width: 200px;\n    height: 200px;\n    top: 1%;\n    left: -110px;\n    background: rgba(0, 189, 242, 0.22);\n  }\n\n  .ps-glow-magenta {\n    width: 230px;\n    height: 230px;\n    top: 30%;\n    right: -130px;\n    background: rgba(240, 0, 232, 0.14);\n    animation-delay: 1.2s;\n  }\n\n  .ps-hero {\n    text-align: center;\n  }\n\n  .ps-brand-pill {\n    display: inline-flex;\n    align-items: center;\n    gap: 7px;\n    padding: 7px 13px;\n    border: 1px solid rgba(139, 61, 255, 0.17);\n    border-radius: 999px;\n    background: rgba(255, 255, 255, 0.88);\n    color: var(--ps-black);\n    font-size: 10.5px;\n    font-weight: 800;\n    letter-spacing: 0.8px;\n    text-transform: uppercase;\n    box-shadow: 0 10px 26px rgba(23, 105, 255, 0.08);\n  }\n\n  .ps-pill-lightning {\n    background: var(--ps-gradient);\n    -webkit-background-clip: text;\n    background-clip: text;\n    color: transparent;\n    filter: drop-shadow(0 0 6px rgba(139, 61, 255, 0.45));\n    animation: psPulse 1.7s ease-in-out infinite;\n  }\n\n  .ps-section-label {\n    margin: 0 0 8px;\n    background: var(--ps-gradient);\n    -webkit-background-clip: text;\n    background-clip: text;\n    color: transparent;\n    font-size: 10.5px;\n    font-weight: 900;\n    letter-spacing: 1.4px;\n    text-transform: uppercase;\n  }\n\n  .ps-main-title {\n    margin: 16px 0 0;\n    color: var(--ps-black);\n    font-size: clamp(32px, 11vw, 44px);\n    font-weight: 950;\n    line-height: 0.98;\n    letter-spacing: -1.5px;\n  }\n\n  .ps-main-title span {\n    display: block;\n    background: linear-gradient(\n      90deg,\n      #050505 0%, #00bdf2 17%, #1769ff 38%,\n      #8b3dff 61%, #f000e8 82%, #050505 100%\n    );\n    background-size: 240% auto;\n    -webkit-background-clip: text;\n    background-clip: text;\n    color: transparent;\n    animation: psTextShine 5s linear infinite;\n  }\n\n  .ps-main-tagline {\n    margin: 12px 0 0;\n    font-size: clamp(17px, 5vw, 20px);\n    font-weight: 850;\n  }\n\n  .ps-intro {\n    max-width: 340px;\n    margin: 12px auto 0;\n    color: var(--ps-grey);\n    font-size: 14.5px;\n    line-height: 1.6;\n  }\n\n  .ps-small-note {\n    margin: 12px 0 0;\n    color: #7c828c;\n    font-size: 11.5px;\n  }\n\n  .ps-section-heading {\n    text-align: center;\n    margin-bottom: 20px;\n  }\n\n  .ps-section-heading h3,\n  .ps-connector-information h3,\n  .ps-colour-panel h3 {\n    margin: 0;\n    color: var(--ps-black);\n    font-size: clamp(22px, 6vw, 26px);\n    line-height: 1.1;\n    letter-spacing: -0.8px;\n  }\n\n  \/* ---------- CONNECTOR ---------- *\/\n  .ps-connector-section {\n    display: flex;\n    flex-direction: column;\n    gap: 18px;\n    margin-top: 46px;\n    padding: 24px 18px;\n    border: 1px solid rgba(139, 61, 255, 0.16);\n    border-radius: 22px;\n    background:\n      radial-gradient(circle at 5% 10%, rgba(0, 189, 242, 0.1), transparent 35%),\n      radial-gradient(circle at 95% 90%, rgba(240, 0, 232, 0.08), transparent 35%),\n      rgba(255, 255, 255, 0.96);\n    box-shadow: 0 18px 55px rgba(23, 105, 255, 0.1);\n  }\n\n  .ps-connector-warning {\n    margin: 14px 0 0;\n    padding: 12px 14px;\n    border-left: 4px solid var(--ps-purple);\n    border-radius: 0 10px 10px 0;\n    background: linear-gradient(\n      90deg, rgba(0, 189, 242, 0.09), rgba(139, 61, 255, 0.07), rgba(240, 0, 232, 0.04)\n    );\n    color: #434b56;\n    font-size: 12px;\n    line-height: 1.55;\n  }\n\n  .ps-current-selection {\n    position: relative;\n    margin-top: 16px;\n    padding: 16px;\n    overflow: hidden;\n    border-radius: 15px;\n    background:\n      radial-gradient(circle at top right, rgba(139, 61, 255, 0.27), transparent 48%),\n      linear-gradient(145deg, #050505, #141419);\n    color: var(--ps-white);\n    box-shadow: 0 14px 35px rgba(5, 5, 5, 0.18);\n  }\n\n  .ps-current-selection::before {\n    content: \"\";\n    position: absolute;\n    top: 0; right: 0; left: 0;\n    height: 3px;\n    background: var(--ps-gradient);\n  }\n\n  .ps-current-selection span {\n    display: block;\n    color: #b8c0cb;\n    font-size: 10px;\n    font-weight: 850;\n    letter-spacing: 1px;\n    text-transform: uppercase;\n  }\n\n  .ps-current-selection strong {\n    display: block;\n    margin-top: 6px;\n    background: var(--ps-gradient);\n    -webkit-background-clip: text;\n    background-clip: text;\n    color: transparent;\n    font-size: 21px;\n  }\n\n  .ps-current-selection p {\n    margin: 6px 0 0;\n    color: #d4d8df;\n    font-size: 12px;\n    line-height: 1.5;\n  }\n\n  .ps-connector-options {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 8px;\n  }\n\n  .ps-connector-card {\n    position: relative;\n    padding: 14px 6px;\n    border: 1px solid rgba(5, 5, 5, 0.12);\n    border-radius: 15px;\n    background: rgba(255, 255, 255, 0.94);\n    color: var(--ps-black);\n    font: inherit;\n    text-align: center;\n    cursor: pointer;\n    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;\n  }\n\n  .ps-connector-card:active,\n  .ps-connector-card.active {\n    transform: translateY(-3px);\n    border-color: var(--ps-purple);\n    box-shadow: 0 12px 28px rgba(23, 105, 255, 0.13);\n  }\n\n  .ps-selected-check {\n    position: absolute;\n    top: 6px;\n    right: 6px;\n    display: grid;\n    width: 18px;\n    height: 18px;\n    place-items: center;\n    border-radius: 50%;\n    background: var(--ps-gradient);\n    color: var(--ps-white);\n    font-size: 9px;\n    opacity: 0;\n    transform: scale(0.6);\n    transition: opacity 0.2s ease, transform 0.2s ease;\n  }\n\n  .ps-connector-card.active .ps-selected-check {\n    opacity: 1;\n    transform: scale(1);\n  }\n\n  .ps-port-icon {\n    display: grid;\n    width: 42px;\n    height: 42px;\n    margin: 2px auto 10px;\n    place-items: center;\n    border-radius: 13px;\n    background:\n      radial-gradient(circle at 25% 20%, rgba(0, 189, 242, 0.22), transparent 45%),\n      linear-gradient(145deg, #050505, #16161b);\n    color: var(--ps-white);\n    font-size: 19px;\n    font-weight: 900;\n    box-shadow: inset 0 0 14px rgba(139, 61, 255, 0.18);\n  }\n\n  .ps-connector-card.active .ps-port-icon {\n    background: var(--ps-gradient);\n  }\n\n  .ps-connector-card strong {\n    display: block;\n    font-size: 12.5px;\n  }\n\n  .ps-connector-card small {\n    display: block;\n    margin-top: 4px;\n    color: var(--ps-grey);\n    font-size: 9.5px;\n    line-height: 1.3;\n  }\n\n  \/* ---------- STYLE \/ VISUAL ---------- *\/\n  .ps-style-section {\n    display: flex;\n    flex-direction: column;\n    gap: 16px;\n    margin-top: 40px;\n  }\n\n  .ps-colour-panel,\n  .ps-product-visual {\n    padding: 26px 22px;\n    border: 1px solid rgba(5, 5, 5, 0.1);\n    border-radius: 22px;\n    background: rgba(255, 255, 255, 0.94);\n    box-shadow: 0 14px 40px rgba(23, 35, 48, 0.08);\n  }\n\n  .ps-colour-options {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 9px;\n    margin-top: 18px;\n  }\n\n  .ps-colour-button {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    padding: 10px 14px;\n    border: 1px solid rgba(5, 5, 5, 0.13);\n    border-radius: 999px;\n    background: var(--ps-white);\n    color: var(--ps-grey);\n    font: inherit;\n    font-size: 12.5px;\n    font-weight: 750;\n    cursor: pointer;\n    transition: transform 0.2s ease, border-color 0.2s ease, color 0.2s ease;\n  }\n\n  .ps-colour-button:active,\n  .ps-colour-button.active {\n    transform: translateY(-2px);\n    border-color: var(--ps-purple);\n    color: var(--ps-black);\n  }\n\n  .ps-colour-dot {\n    display: block;\n    width: 15px;\n    height: 15px;\n    border: 1px solid rgba(5, 5, 5, 0.22);\n    border-radius: 50%;\n  }\n\n  .ps-brown { background: #875b43; }\n  .ps-black { background: #141414; }\n  .ps-white { background: #eeeeea; }\n\n  .ps-colour-selection {\n    margin-top: 16px;\n    color: var(--ps-grey);\n    font-size: 12.5px;\n  }\n\n  .ps-colour-selection strong {\n    background: var(--ps-gradient);\n    -webkit-background-clip: text;\n    background-clip: text;\n    color: transparent;\n  }\n\n  .ps-product-visual {\n    position: relative;\n    overflow: hidden;\n    min-height: 320px;\n    border-color: rgba(139, 61, 255, 0.3);\n    background:\n      radial-gradient(circle at 25% 24%, rgba(0, 189, 242, 0.24), transparent 38%),\n      radial-gradient(circle at 77% 72%, rgba(240, 0, 232, 0.2), transparent 42%),\n      radial-gradient(circle at center, rgba(139, 61, 255, 0.15), transparent 55%),\n      linear-gradient(145deg, #050505, #131318);\n    color: var(--ps-white);\n  }\n\n  .ps-product-visual::before {\n    content: \"\";\n    position: absolute;\n    top: 0; right: 0; left: 0;\n    height: 4px;\n    background: var(--ps-gradient);\n  }\n\n  .ps-product-visual-label {\n    position: relative;\n    z-index: 3;\n    font-size: 10.5px;\n    font-weight: 900;\n    letter-spacing: 1.3px;\n    text-transform: uppercase;\n  }\n\n  .ps-orbit-container {\n    position: absolute;\n    inset: 30px 0 40px;\n    display: grid;\n    place-items: center;\n  }\n\n  .ps-orbit {\n    position: absolute;\n    border-radius: 50%;\n  }\n\n  .ps-orbit-one {\n    width: 190px;\n    height: 190px;\n    border: 1px solid rgba(0, 189, 242, 0.36);\n    animation: psOrbitClockwise 15s linear infinite;\n  }\n\n  .ps-orbit-one::before {\n    content: \"\";\n    position: absolute;\n    top: 15px;\n    left: 35px;\n    width: 7px;\n    height: 7px;\n    border-radius: 50%;\n    background: var(--ps-cyan);\n    box-shadow: 0 0 8px var(--ps-cyan), 0 0 16px var(--ps-blue);\n  }\n\n  .ps-orbit-two {\n    width: 250px;\n    height: 250px;\n    border: 1px dashed rgba(240, 0, 232, 0.3);\n    opacity: 0.6;\n    animation: psOrbitAntiClockwise 24s linear infinite;\n  }\n\n  .ps-bracelet {\n    position: relative;\n    width: 128px;\n    height: 128px;\n    border: 14px solid #875b43;\n    border-radius: 50%;\n    box-shadow:\n      inset 0 0 14px rgba(255, 255, 255, 0.16),\n      0 0 0 5px rgba(255, 255, 255, 0.035),\n      0 20px 50px rgba(0, 0, 0, 0.5),\n      0 0 18px rgba(23, 105, 255, 0.2);\n    animation: psBraceletFloat 4s ease-in-out infinite;\n    transition: border-color 0.4s ease, box-shadow 0.4s ease;\n  }\n\n  .ps-bracelet::before {\n    content: \"\";\n    position: absolute;\n    inset: -8px;\n    border: 2px solid rgba(255, 255, 255, 0.18);\n    border-radius: inherit;\n  }\n\n  .ps-bracelet-end {\n    position: absolute;\n    top: 48px;\n    width: 23px;\n    height: 32px;\n    border: 3px solid #24242b;\n    background: linear-gradient(145deg, #60616b, #17171d);\n    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.35);\n  }\n\n  .ps-end-left { left: -19px; border-radius: 6px 2px 2px 6px; }\n  .ps-end-right { right: -19px; border-radius: 2px 6px 6px 2px; }\n\n  .ps-centre-lightning {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    background: var(--ps-gradient);\n    -webkit-background-clip: text;\n    background-clip: text;\n    color: transparent;\n    font-size: 27px;\n    transform: translate(-50%, -50%);\n    filter: drop-shadow(0 0 6px rgba(0, 189, 242, 0.7)) drop-shadow(0 0 10px rgba(240, 0, 232, 0.55));\n    animation: psPulse 1.7s ease-in-out infinite;\n  }\n\n  .ps-visual-selection {\n    position: absolute;\n    right: 18px;\n    bottom: 18px;\n    left: 18px;\n    z-index: 3;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n    color: #d8dae2;\n    font-size: 10.5px;\n    font-weight: 850;\n    letter-spacing: 0.6px;\n    text-transform: uppercase;\n  }\n\n  .ps-selection-dot {\n    display: block;\n    width: 4px;\n    height: 4px;\n    border-radius: 50%;\n    background: var(--ps-magenta);\n    box-shadow: 0 0 6px var(--ps-magenta);\n  }\n\n  \/* ---------- DETAILS ---------- *\/\n  .ps-details-section {\n    margin-top: 44px;\n  }\n\n  .ps-details-grid {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    overflow: hidden;\n    border: 1px solid rgba(139, 61, 255, 0.14);\n    border-radius: 18px;\n    background: rgba(255, 255, 255, 0.94);\n    box-shadow: 0 14px 40px rgba(23, 105, 255, 0.07);\n  }\n\n  .ps-detail {\n    padding: 15px 14px;\n    border-right: 1px solid rgba(5, 5, 5, 0.1);\n    border-bottom: 1px solid rgba(5, 5, 5, 0.1);\n  }\n\n  .ps-detail:nth-child(2n) { border-right: 0; }\n  .ps-detail:nth-last-child(-n + 2) { border-bottom: 0; }\n\n  .ps-detail span {\n    display: block;\n    margin-bottom: 5px;\n    color: var(--ps-grey);\n    font-size: 9.5px;\n    font-weight: 850;\n    letter-spacing: 0.8px;\n    text-transform: uppercase;\n  }\n\n  .ps-detail strong {\n    font-size: 12.5px;\n    line-height: 1.3;\n  }\n\n  .ps-reveal {\n    opacity: 0;\n    transform: translateY(20px);\n    transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);\n  }\n\n  .ps-reveal.ps-visible {\n    opacity: 1;\n    transform: translateY(0);\n  }\n\n  @keyframes psGlowMove {\n    from { transform: translate3d(0, -8px, 0) scale(0.95); }\n    to { transform: translate3d(18px, 16px, 0) scale(1.08); }\n  }\n\n  @keyframes psTextShine {\n    to { background-position: 240% center; }\n  }\n\n  @keyframes psOrbitClockwise {\n    to { transform: rotate(360deg); }\n  }\n\n  @keyframes psOrbitAntiClockwise {\n    to { transform: rotate(-360deg); }\n  }\n\n  @keyframes psBraceletFloat {\n    0%, 100% { transform: translateY(0) rotate(-7deg); }\n    50% { transform: translateY(-10px) rotate(5deg); }\n  }\n\n  @keyframes psPulse {\n    0%, 100% { opacity: 0.75; transform: scale(1); }\n    50% { opacity: 1; transform: scale(1.16); }\n  }\n\n  \/* Slightly roomier on tablet\/desktop previews of the same page *\/\n  @media (min-width: 760px) {\n    .ps-container { max-width: 640px; }\n\n    .ps-connector-section { padding: 34px 30px; }\n\n    .ps-connector-options { gap: 12px; }\n\n    .ps-port-icon { width: 54px; height: 54px; }\n\n    .ps-details-grid { grid-template-columns: repeat(3, 1fr); }\n\n    .ps-detail:nth-child(2n) { border-right: 1px solid rgba(5, 5, 5, 0.1); }\n    .ps-detail:nth-child(3n) { border-right: 0; }\n    .ps-detail:nth-last-child(-n + 2) { border-bottom: 1px solid rgba(5, 5, 5, 0.1); }\n    .ps-detail:nth-last-child(-n + 3) { border-bottom: 0; }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    .powerspot-product *,\n    .powerspot-product *::before,\n    .powerspot-product *::after {\n      animation-duration: 0.01ms !important;\n      animation-iteration-count: 1 !important;\n      transition-duration: 0.01ms !important;\n    }\n\n    .ps-reveal { opacity: 1; transform: none; }\n  }\n\u003c\/style\u003e\n\n\u003cscript\u003e\n  document.addEventListener(\"DOMContentLoaded\", function () {\n    const section = document.getElementById(\"powerspot-wristcharge\");\n\n    if (!section || section.dataset.initialized === \"true\") {\n      return;\n    }\n\n    section.dataset.initialized = \"true\";\n\n    let selectedConnector = \"Lightning\";\n    let selectedColour = \"Brown\";\n\n    const connectorButtons = section.querySelectorAll(\".ps-connector-card\");\n    const colourButtons = section.querySelectorAll(\".ps-colour-button\");\n    const connectorText = section.querySelector(\"#ps-selected-connector\");\n    const connectorDescription = section.querySelector(\"#ps-connector-description\");\n    const colourText = section.querySelector(\"#ps-selected-colour\");\n    const visualConnector = section.querySelector(\"#ps-visual-connector\");\n    const visualColour = section.querySelector(\"#ps-visual-colour\");\n    const bracelet = section.querySelector(\"#ps-bracelet\");\n\n    connectorButtons.forEach(function (button) {\n      button.addEventListener(\"click\", function () {\n        selectedConnector = button.dataset.connector;\n\n        connectorButtons.forEach(function (item) {\n          item.classList.remove(\"active\");\n          item.setAttribute(\"aria-pressed\", \"false\");\n        });\n\n        button.classList.add(\"active\");\n        button.setAttribute(\"aria-pressed\", \"true\");\n\n        connectorText.textContent = selectedConnector;\n        connectorDescription.textContent = button.dataset.description;\n        visualConnector.textContent = selectedConnector;\n\n        button.animate(\n          [\n            { transform: \"translateY(-3px) scale(1)\" },\n            { transform: \"translateY(-3px) scale(1.04)\" },\n            { transform: \"translateY(-3px) scale(1)\" }\n          ],\n          { duration: 320, easing: \"ease-out\" }\n        );\n      });\n    });\n\n    colourButtons.forEach(function (button) {\n      button.addEventListener(\"click\", function () {\n        selectedColour = button.dataset.colour;\n\n        colourButtons.forEach(function (item) {\n          item.classList.remove(\"active\");\n          item.setAttribute(\"aria-pressed\", \"false\");\n        });\n\n        button.classList.add(\"active\");\n        button.setAttribute(\"aria-pressed\", \"true\");\n\n        colourText.textContent = selectedColour;\n        visualColour.textContent = selectedColour;\n\n        bracelet.style.borderColor = button.dataset.hex;\n\n        bracelet.animate(\n          [\n            { transform: \"scale(1) rotate(-7deg)\" },\n            { transform: \"scale(1.08) rotate(5deg)\" },\n            { transform: \"scale(1) rotate(-7deg)\" }\n          ],\n          { duration: 400, easing: \"ease-out\" }\n        );\n      });\n    });\n\n    const revealItems = section.querySelectorAll(\".ps-reveal\");\n\n    if (\"IntersectionObserver\" in window) {\n      const observer = new IntersectionObserver(\n        function (entries, revealObserver) {\n          entries.forEach(function (entry) {\n            if (entry.isIntersecting) {\n              entry.target.classList.add(\"ps-visible\");\n              revealObserver.unobserve(entry.target);\n            }\n          });\n        },\n        { threshold: 0.12 }\n      );\n\n      revealItems.forEach(function (item, index) {\n        item.style.transitionDelay = Math.min(index * 50, 200) + \"ms\";\n        observer.observe(item);\n      });\n    } else {\n      revealItems.forEach(function (item) {\n        item.classList.add(\"ps-visible\");\n      });\n    }\n  });\n\u003c\/script\u003e","brand":"PowerSpot","offers":[{"title":"Black","offer_id":47813734236265,"sku":null,"price":499.0,"currency_code":"ZAR","in_stock":true},{"title":"White","offer_id":47813734269033,"sku":null,"price":499.0,"currency_code":"ZAR","in_stock":true},{"title":"Brown","offer_id":47813734301801,"sku":null,"price":499.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0778\/4821\/5657\/files\/22.5cm_3.png?v=1782596883"}],"url":"https:\/\/powerspot.co.za\/collections\/frontpage.oembed","provider":"PowerSpot","version":"1.0","type":"link"}