{"product_id":"powerspot™-cablevault-pro","title":"PowerSpot™ CableVault Pro","description":"\u003c!-- =========================================================\n     POWERSPOT™ CABLEVAULT PRO — mobile-first, shortened\n     Background\/typography matches the WristCharge page:\n     white field, blue → violet → magenta gradient accent.\n========================================================== --\u003e\n\n\u003csection id=\"ps-cablevault-section\"\u003e\n\n  \u003cdiv class=\"ps-cv-background\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"ps-cv-grid\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"ps-cv-orb ps-cv-orb-one\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"ps-cv-orb ps-cv-orb-two\"\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"ps-cv-container\"\u003e\n\n    \u003c!-- HERO --\u003e\n    \u003cdiv class=\"ps-cv-hero ps-cv-reveal\"\u003e\n\n      \u003cdiv class=\"ps-cv-logo\"\u003e\n        \u003csvg class=\"ps-cv-logo-symbol\" viewbox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\n          \u003cpath d=\"M13 2 L4 14 H11 L9 22 L20 8 H12 Z\" fill=\"url(#psLogoGradient)\"\u003e\u003c\/path\u003e\n          \u003cdefs\u003e\n            \u003clineargradient id=\"psLogoGradient\" x1=\"4\" y1=\"2\" x2=\"20\" y2=\"22\" gradientunits=\"userSpaceOnUse\"\u003e\n              \u003cstop offset=\"0%\" stop-color=\"#00B8FF\"\u003e\u003c\/stop\u003e\n              \u003cstop offset=\"50%\" stop-color=\"#7857FF\"\u003e\u003c\/stop\u003e\n              \u003cstop offset=\"100%\" stop-color=\"#F000E8\"\u003e\u003c\/stop\u003e\n            \u003c\/lineargradient\u003e\n          \u003c\/defs\u003e\n        \u003c\/svg\u003e\n        \u003cspan class=\"ps-cv-logo-text\"\u003epowerspot\u003cspan\u003e™\u003c\/span\u003e\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ps-cv-eyebrow\"\u003e\n        \u003cspan class=\"ps-cv-pulse\"\u003e\u003c\/span\u003e\n        The complete everyday connection kit\n      \u003c\/div\u003e\n\n      \u003ch1 class=\"ps-cv-main-title\"\u003e\n        Meet the\n        \u003cspan class=\"ps-cv-gradient-text\"\u003eCableVault Pro\u003c\/span\u003e\n      \u003c\/h1\u003e\n\n      \u003cp class=\"ps-cv-tagline\"\u003eOne Box. Six Solutions. Zero Hassle.\u003c\/p\u003e\n\n      \u003cp class=\"ps-cv-hero-description\"\u003e\n        A 6-in-1 cable and adapter kit for charging, connecting and\n        transferring — everything stored inside one sleek, portable case.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"ps-cv-buttons\"\u003e\n        \u003ca href=\"#ps-cv-inside\" class=\"ps-cv-button ps-cv-primary-button\"\u003e\n          \u003cspan\u003eExplore What's Inside\u003c\/span\u003e\n          \u003cspan aria-hidden=\"true\"\u003e↓\u003c\/span\u003e\n        \u003c\/a\u003e\n        \u003ca href=\"#ps-cv-compatibility\" class=\"ps-cv-button ps-cv-secondary-button\"\u003e\n          Check Compatibility\n        \u003c\/a\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- PRODUCT GRAPHIC --\u003e\n    \u003cdiv class=\"ps-cv-showcase ps-cv-reveal\"\u003e\n      \u003cdiv class=\"ps-cv-product-glow\"\u003e\u003c\/div\u003e\n\n      \u003cdiv class=\"ps-cv-showcase-badge ps-cv-showcase-badge-one\"\u003e\n        \u003cspan\u003e⚡\u003c\/span\u003e Fast \u0026amp; convenient\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ps-cv-product-card\"\u003e\n        \u003cdiv class=\"ps-cv-product-header\"\u003e\n          \u003cspan\u003eCableVault Pro\u003c\/span\u003e\n          \u003cspan class=\"ps-cv-six-label\"\u003e6-IN-1\u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ps-cv-product-centre\"\u003e\n          \u003cdiv class=\"ps-cv-vault-ring\"\u003e\n            \u003cdiv class=\"ps-cv-vault-inner\"\u003e\n              \u003cspan class=\"ps-cv-vault-lightning\"\u003e⚡\u003c\/span\u003e\n              \u003cstrong\u003eCABLEVAULT\u003c\/strong\u003e\n              \u003csmall\u003ePRO\u003c\/small\u003e\n            \u003c\/div\u003e\n\n            \u003cspan class=\"ps-cv-port ps-cv-port-top\"\u003eUSB-C\u003c\/span\u003e\n            \u003cspan class=\"ps-cv-port ps-cv-port-right\"\u003eiOS\u003c\/span\u003e\n            \u003cspan class=\"ps-cv-port ps-cv-port-bottom\"\u003eUSB-A\u003c\/span\u003e\n            \u003cspan class=\"ps-cv-port ps-cv-port-left\"\u003eMICRO\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ps-cv-product-footer\"\u003e\n          \u003cspan\u003eCharge\u003c\/span\u003e\n          \u003cspan\u003eConnect\u003c\/span\u003e\n          \u003cspan\u003eTransfer\u003c\/span\u003e\n          \u003cspan\u003eOrganise\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ps-cv-showcase-badge ps-cv-showcase-badge-two\"\u003e\n        \u003cspan\u003e✓\u003c\/span\u003e Travel ready\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- COLOURS --\u003e\n    \u003cdiv class=\"ps-cv-colours ps-cv-reveal\"\u003e\n      \u003cp class=\"ps-cv-section-label\"\u003eAvailable colours\u003c\/p\u003e\n      \u003cdiv class=\"ps-cv-colour-row\"\u003e\n        \u003cspan class=\"ps-cv-colour-swatch ps-cv-colour-black\"\u003e\u003c\/span\u003e\n        \u003cspan class=\"ps-cv-colour-swatch ps-cv-colour-white\"\u003e\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"ps-cv-colour-caption\"\u003eBlack and White\u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- WHAT'S INSIDE --\u003e\n    \u003cdiv id=\"ps-cv-inside\" class=\"ps-cv-section\"\u003e\n      \u003cdiv class=\"ps-cv-section-heading ps-cv-reveal\"\u003e\n        \u003cp class=\"ps-cv-section-label\"\u003eProduct details\u003c\/p\u003e\n        \u003ch2 class=\"ps-cv-heading\"\u003eWhat's inside the \u003cspan class=\"ps-cv-gradient-text\"\u003evault?\u003c\/span\u003e\n\u003c\/h2\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ps-cv-feature-grid\"\u003e\n        \u003carticle class=\"ps-cv-feature-card ps-cv-reveal\"\u003e\n          \u003cdiv class=\"ps-cv-feature-icon\"\u003e🔌\u003c\/div\u003e\n          \u003ch3\u003eUSB-C to iOS Adapter\u003c\/h3\u003e\n          \u003cp\u003eConnects compatible USB-C cables to Apple Lightning devices.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"ps-cv-feature-card ps-cv-reveal\"\u003e\n          \u003cdiv class=\"ps-cv-feature-icon\"\u003e🔄\u003c\/div\u003e\n          \u003ch3\u003eUniversal Adapters\u003c\/h3\u003e\n          \u003cp\u003eType-A and Type-C adapters for Micro USB, USB-C and iOS.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"ps-cv-feature-card ps-cv-reveal\"\u003e\n          \u003cdiv class=\"ps-cv-feature-icon\"\u003e⚡\u003c\/div\u003e\n          \u003ch3\u003eData Transfer Cable\u003c\/h3\u003e\n          \u003cp\u003eTransfer files and photos between supported devices.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"ps-cv-feature-card ps-cv-reveal\"\u003e\n          \u003cdiv class=\"ps-cv-feature-icon\"\u003e💳\u003c\/div\u003e\n          \u003ch3\u003eCard Storage Tray\u003c\/h3\u003e\n          \u003cp\u003eKeeps compatible SIM and small memory cards secure.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"ps-cv-feature-card ps-cv-reveal\"\u003e\n          \u003cdiv class=\"ps-cv-feature-icon\"\u003e📍\u003c\/div\u003e\n          \u003ch3\u003eSIM Eject Pin\u003c\/h3\u003e\n          \u003cp\u003eA compact tool, stored inside the kit, ready when needed.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"ps-cv-feature-card ps-cv-reveal\"\u003e\n          \u003cdiv class=\"ps-cv-feature-icon\"\u003e📦\u003c\/div\u003e\n          \u003ch3\u003eStorage Case\u003c\/h3\u003e\n          \u003cp\u003eKeeps the cable, adapters and pin together in one place.\u003c\/p\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- COMPATIBILITY --\u003e\n    \u003cdiv id=\"ps-cv-compatibility\" class=\"ps-cv-compatibility ps-cv-reveal\"\u003e\n      \u003cdiv class=\"ps-cv-compatibility-copy\"\u003e\n        \u003cp class=\"ps-cv-section-label\"\u003eBuilt for your devices\u003c\/p\u003e\n        \u003ch2 class=\"ps-cv-heading\"\u003eOne kit. \u003cspan class=\"ps-cv-gradient-text\"\u003eMore compatibility.\u003c\/span\u003e\n\u003c\/h2\u003e\n        \u003cp\u003e\n          Supports USB-A and USB-C source connections, with adapters for\n          Micro USB, USB-C and iOS Lightning devices.\n        \u003c\/p\u003e\n\n        \u003cdiv class=\"ps-cv-tags\"\u003e\n          \u003cspan\u003eUSB-A\u003c\/span\u003e\n          \u003cspan\u003eUSB-C\u003c\/span\u003e\n          \u003cspan\u003eMicro USB\u003c\/span\u003e\n          \u003cspan\u003eiOS Lightning\u003c\/span\u003e\n          \u003cspan\u003eAndroid\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ps-cv-connection-graphic\" aria-hidden=\"true\"\u003e\n        \u003cdiv class=\"ps-cv-device\"\u003e\n          \u003cspan class=\"ps-cv-device-port\"\u003e\u003c\/span\u003e\n          \u003csmall\u003eUSB-A\u003c\/small\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ps-cv-connection-line\"\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/div\u003e\n\n        \u003cdiv class=\"ps-cv-connection-hub\"\u003e\n          \u003cspan\u003e⚡\u003c\/span\u003e\n          \u003cstrong\u003e6-IN-1\u003c\/strong\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ps-cv-connection-line ps-cv-pink-line\"\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/div\u003e\n\n        \u003cdiv class=\"ps-cv-device\"\u003e\n          \u003cspan class=\"ps-cv-device-port\"\u003e\u003c\/span\u003e\n          \u003csmall\u003eUSB-C\u003c\/small\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     BASE — mobile-first, light theme matching WristCharge\n  ========================================================== *\/\n\n  #ps-cablevault-section,\n  #ps-cablevault-section * {\n    box-sizing: border-box;\n  }\n\n  #ps-cablevault-section {\n    --blue: #00b8ff;\n    --purple: #7857ff;\n    --pink: #f000e8;\n    --grad: linear-gradient(90deg, var(--blue) 0%, var(--purple) 55%, var(--pink) 100%);\n\n    --ink: #0b0d14;\n    --muted: #656b76;\n    --surface: #f6f6f9;\n    --surface-2: #eceef4;\n    --line: rgba(10, 10, 20, 0.09);\n\n    \/* colour used only inside the dark device\/product-card chips *\/\n    --chip-bg: #0d1020;\n    --chip-text: #cfe8ff;\n\n    position: relative;\n    width: 100%;\n    overflow: hidden;\n    color: var(--ink);\n    background:\n      radial-gradient(circle at 8% 5%, rgba(0, 184, 255, 0.14), transparent 28%),\n      radial-gradient(circle at 92% 20%, rgba(120, 87, 255, 0.12), transparent 28%),\n      radial-gradient(circle at 85% 78%, rgba(240, 0, 232, 0.08), transparent 25%),\n      linear-gradient(180deg, #ffffff 0%, #fafaff 48%, #ffffff 100%);\n    font-family: Inter, Montserrat, Arial, Helvetica, sans-serif;\n    isolation: isolate;\n  }\n\n  #ps-cablevault-section h1,\n  #ps-cablevault-section h2,\n  #ps-cablevault-section h3,\n  #ps-cablevault-section p {\n    margin: 0;\n  }\n\n  #ps-cablevault-section a {\n    color: inherit;\n    text-decoration: none;\n  }\n\n  #ps-cablevault-section h1,\n  #ps-cablevault-section h2,\n  #ps-cablevault-section h3,\n  #ps-cablevault-section .ps-cv-main-title,\n  #ps-cablevault-section .ps-cv-heading {\n    color: var(--ink) !important;\n    -webkit-text-fill-color: var(--ink) !important;\n  }\n\n  #ps-cablevault-section .ps-cv-gradient-text {\n    display: inline-block !important;\n    color: transparent !important;\n    -webkit-text-fill-color: transparent !important;\n    background: var(--grad) !important;\n    background-size: 200% auto !important;\n    background-clip: text !important;\n    -webkit-background-clip: text !important;\n    animation: psGradientMove 5s linear infinite;\n  }\n\n  #ps-cablevault-section p {\n    color: var(--muted);\n  }\n\n  .ps-cv-container {\n    position: relative;\n    z-index: 2;\n    width: 100%;\n    max-width: 560px;\n    margin: auto;\n    padding: 40px 16px 56px;\n  }\n\n  \/* ---------- background ---------- *\/\n\n  .ps-cv-background {\n    position: absolute;\n    inset: 0;\n    pointer-events: none;\n  }\n\n  .ps-cv-grid {\n    position: absolute;\n    inset: 0;\n    opacity: 0.3;\n    background-image:\n      linear-gradient(rgba(23, 105, 255, 0.05) 1px, transparent 1px),\n      linear-gradient(90deg, rgba(139, 61, 255, 0.05) 1px, transparent 1px);\n    background-size: 32px 32px;\n    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.6), transparent 65%);\n  }\n\n  .ps-cv-orb {\n    position: absolute;\n    width: 200px;\n    height: 200px;\n    border-radius: 50%;\n    opacity: 0.5;\n    filter: blur(60px);\n    animation: psOrbMove 11s ease-in-out infinite;\n  }\n\n  .ps-cv-orb-one {\n    top: 2%;\n    left: -110px;\n    background: rgba(0, 184, 255, 0.22);\n  }\n\n  .ps-cv-orb-two {\n    top: 28%;\n    right: -120px;\n    background: rgba(240, 0, 232, 0.16);\n    animation-delay: -5s;\n  }\n\n  \/* ---------- hero ---------- *\/\n\n  .ps-cv-hero {\n    text-align: center;\n  }\n\n  .ps-cv-logo {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    margin-bottom: 18px;\n  }\n\n  .ps-cv-logo-symbol {\n    width: 20px;\n    height: 20px;\n  }\n\n  .ps-cv-logo-text {\n    color: var(--ink) !important;\n    font-size: 18px;\n    font-style: italic;\n    font-weight: 800;\n    letter-spacing: -0.3px;\n  }\n\n  .ps-cv-logo-text span {\n    color: var(--pink) !important;\n    font-size: 10px;\n    vertical-align: super;\n    font-style: normal;\n  }\n\n  .ps-cv-eyebrow {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    margin-bottom: 16px;\n    padding: 7px 13px;\n    border: 1px solid var(--line);\n    border-radius: 100px;\n    color: var(--purple) !important;\n    background: rgba(255, 255, 255, 0.7);\n    font-size: 9.5px;\n    font-weight: 800;\n    letter-spacing: 0.8px;\n    text-transform: uppercase;\n  }\n\n  .ps-cv-pulse {\n    width: 6px;\n    height: 6px;\n    flex: 0 0 auto;\n    border-radius: 50%;\n    background: var(--pink);\n    animation: psPulse 1.8s infinite;\n  }\n\n  .ps-cv-main-title {\n    font-size: clamp(32px, 11vw, 42px);\n    line-height: 1;\n    font-weight: 900;\n    letter-spacing: -1.4px;\n  }\n\n  .ps-cv-main-title .ps-cv-gradient-text {\n    display: block !important;\n    margin-top: 4px;\n  }\n\n  .ps-cv-tagline {\n    margin-top: 14px !important;\n    color: var(--ink) !important;\n    font-size: 17px;\n    font-weight: 800;\n  }\n\n  .ps-cv-hero-description {\n    max-width: 340px;\n    margin: 12px auto 0 !important;\n    color: var(--muted) !important;\n    font-size: 14px;\n    line-height: 1.6;\n  }\n\n  .ps-cv-buttons {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 9px;\n    margin-top: 22px;\n  }\n\n  .ps-cv-button {\n    position: relative;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 12px;\n    min-height: 52px;\n    padding: 12px 20px;\n    overflow: hidden;\n    border-radius: 14px;\n    font-size: 13px;\n    font-weight: 800;\n    transition: transform 0.25s ease, box-shadow 0.25s ease;\n  }\n\n  .ps-cv-primary-button {\n    color: #ffffff !important;\n    background: var(--grad);\n    background-size: 200% auto;\n    box-shadow: 0 12px 28px rgba(120, 87, 255, 0.28);\n    animation: psGradientMove 5s linear infinite;\n  }\n\n  .ps-cv-secondary-button {\n    color: var(--ink) !important;\n    border: 1px solid var(--line);\n    background: rgba(255, 255, 255, 0.85);\n  }\n\n  .ps-cv-button:active {\n    transform: translateY(-2px);\n  }\n\n  \/* ---------- showcase ---------- *\/\n\n  .ps-cv-showcase {\n    position: relative;\n    display: flex;\n    width: 100%;\n    min-height: 360px;\n    margin: 30px auto 50px;\n    padding: 40px 0 46px;\n    align-items: center;\n    justify-content: center;\n  }\n\n  .ps-cv-product-glow {\n    position: absolute;\n    width: 80%;\n    height: 60%;\n    border-radius: 50%;\n    background: var(--grad);\n    opacity: 0.22;\n    filter: blur(50px);\n    animation: psGlow 4s ease-in-out infinite;\n  }\n\n  .ps-cv-product-card {\n    position: relative;\n    z-index: 2;\n    width: min(300px, 82vw);\n    aspect-ratio: 1 \/ 1.03;\n    padding: 16px 14px;\n    overflow: hidden;\n    border: 1px solid rgba(130, 160, 255, 0.28);\n    border-radius: 26px;\n    background: linear-gradient(145deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.02)), var(--chip-bg);\n    box-shadow: 0 26px 60px rgba(20, 20, 40, 0.28);\n    transition: transform 0.15s linear;\n  }\n\n  .ps-cv-product-header {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    color: var(--chip-text) !important;\n    font-size: 9px;\n    font-weight: 900;\n    letter-spacing: 0.6px;\n    text-transform: uppercase;\n  }\n\n  .ps-cv-six-label {\n    padding: 6px 8px;\n    border: 1px solid rgba(0, 184, 255, 0.35);\n    border-radius: 100px;\n    color: var(--blue) !important;\n    background: rgba(0, 184, 255, 0.1);\n    font-size: 7px;\n  }\n\n  .ps-cv-product-centre {\n    display: grid;\n    min-height: calc(100% - 60px);\n    place-items: center;\n  }\n\n  .ps-cv-vault-ring {\n    position: relative;\n    display: grid;\n    width: 62%;\n    max-width: 195px;\n    aspect-ratio: 1;\n    place-items: center;\n    border-radius: 50%;\n    background: radial-gradient(circle, rgba(120, 87, 255, 0.14), transparent 65%);\n  }\n\n  .ps-cv-vault-ring::before,\n  .ps-cv-vault-ring::after {\n    content: \"\";\n    position: absolute;\n    inset: 0;\n    border: 1px solid rgba(158, 205, 255, 0.35);\n    border-radius: 50%;\n  }\n\n  .ps-cv-vault-ring::after {\n    inset: 12%;\n    border-style: dashed;\n    border-color: rgba(0, 184, 255, 0.6);\n    animation: psRotate 17s linear infinite reverse;\n  }\n\n  .ps-cv-vault-inner {\n    position: relative;\n    z-index: 3;\n    display: flex;\n    width: 55%;\n    aspect-ratio: 1;\n    align-items: center;\n    justify-content: center;\n    flex-direction: column;\n    border: 1px solid rgba(128, 189, 255, 0.35);\n    border-radius: 50%;\n    background: linear-gradient(145deg, rgba(0, 184, 255, 0.25), rgba(240, 0, 232, 0.2)), var(--chip-bg);\n    box-shadow: 0 0 30px rgba(104, 69, 255, 0.35);\n  }\n\n  .ps-cv-vault-lightning {\n    font-size: 27px;\n    filter: drop-shadow(0 0 8px rgba(0, 184, 255, 0.6));\n  }\n\n  .ps-cv-vault-inner strong {\n    margin-top: 4px;\n    color: #ffffff !important;\n    font-size: 7px;\n    letter-spacing: 0.6px;\n  }\n\n  .ps-cv-vault-inner small {\n    color: var(--blue) !important;\n    font-size: 6px;\n    font-weight: 900;\n    letter-spacing: 1.5px;\n  }\n\n  .ps-cv-port {\n    position: absolute;\n    z-index: 4;\n    display: grid;\n    min-width: 44px;\n    min-height: 23px;\n    padding: 4px 6px;\n    place-items: center;\n    border: 1px solid rgba(154, 190, 255, 0.3);\n    border-radius: 100px;\n    color: var(--chip-text) !important;\n    background: #090c18;\n    font-size: 6.5px;\n    font-weight: 900;\n    letter-spacing: 0.4px;\n  }\n\n  .ps-cv-port-top { top: 0; left: 50%; transform: translate(-50%, -50%); }\n  .ps-cv-port-right { top: 50%; right: 4px; transform: translate(45%, -50%); }\n  .ps-cv-port-bottom { bottom: 0; left: 50%; transform: translate(-50%, 50%); }\n  .ps-cv-port-left { top: 50%; left: 4px; transform: translate(-45%, -50%); }\n\n  .ps-cv-product-footer {\n    display: grid;\n    grid-template-columns: repeat(4, 1fr);\n    gap: 3px;\n    color: var(--chip-text) !important;\n    font-size: 6px;\n    font-weight: 850;\n    letter-spacing: 0.2px;\n    text-align: center;\n    text-transform: uppercase;\n  }\n\n  .ps-cv-showcase-badge {\n    position: absolute;\n    z-index: 5;\n    display: flex;\n    align-items: center;\n    gap: 6px;\n    max-width: 130px;\n    padding: 9px 11px;\n    border: 1px solid var(--line);\n    border-radius: 12px;\n    color: var(--ink) !important;\n    background: rgba(255, 255, 255, 0.94);\n    box-shadow: 0 12px 28px rgba(20, 20, 40, 0.1);\n    font-size: 8px;\n    font-weight: 800;\n    white-space: nowrap;\n    animation: psFloat 4s ease-in-out infinite;\n  }\n\n  .ps-cv-showcase-badge-one { top: 8px; left: 4px; }\n  .ps-cv-showcase-badge-two { bottom: 10px; right: 4px; animation-delay: -2s; }\n\n  \/* ---------- colours ---------- *\/\n\n  .ps-cv-colours {\n    text-align: center;\n    margin-bottom: 44px;\n  }\n\n  .ps-cv-colour-row {\n    display: flex;\n    justify-content: center;\n    gap: 14px;\n    margin-top: 4px;\n  }\n\n  .ps-cv-colour-swatch {\n    width: 30px;\n    height: 30px;\n    border-radius: 50%;\n    box-shadow: 0 4px 14px rgba(20, 20, 40, 0.18);\n  }\n\n  .ps-cv-colour-black {\n    background: #141414;\n    border: 1px solid var(--line);\n  }\n\n  .ps-cv-colour-white {\n    background: #eeeeea;\n    border: 1px solid var(--line);\n  }\n\n  .ps-cv-colour-caption {\n    margin-top: 10px !important;\n    color: var(--muted) !important;\n    font-size: 12.5px;\n  }\n\n  \/* ---------- section headings ---------- *\/\n\n  .ps-cv-section {\n    margin-bottom: 44px;\n  }\n\n  .ps-cv-section-heading {\n    margin-bottom: 22px;\n    text-align: center;\n  }\n\n  .ps-cv-section-label {\n    display: block;\n    margin-bottom: 8px !important;\n    color: var(--purple) !important;\n    font-size: 10px;\n    font-weight: 900;\n    letter-spacing: 1.2px;\n    text-transform: uppercase;\n  }\n\n  .ps-cv-heading {\n    font-size: clamp(24px, 8vw, 30px);\n    line-height: 1.08;\n    font-weight: 900;\n    letter-spacing: -0.8px;\n  }\n\n  \/* ---------- feature grid ---------- *\/\n\n  .ps-cv-feature-grid {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 10px;\n  }\n\n  .ps-cv-feature-card {\n    padding: 18px;\n    border: 1px solid var(--line);\n    border-radius: 18px;\n    background: var(--surface);\n    transition: transform 0.25s ease, border-color 0.25s ease;\n  }\n\n  .ps-cv-feature-card:active {\n    transform: translateY(-3px);\n    border-color: rgba(0, 184, 255, 0.4);\n  }\n\n  .ps-cv-feature-icon {\n    display: grid;\n    width: 40px;\n    height: 40px;\n    place-items: center;\n    border-radius: 12px;\n    background: linear-gradient(145deg, rgba(0, 184, 255, 0.16), rgba(240, 0, 232, 0.12));\n    font-size: 18px;\n  }\n\n  #ps-cablevault-section .ps-cv-feature-card h3 {\n    margin-top: 14px;\n    color: var(--ink) !important;\n    -webkit-text-fill-color: var(--ink) !important;\n    font-size: 15.5px;\n    font-weight: 800;\n  }\n\n  .ps-cv-feature-card p {\n    margin-top: 6px;\n    color: var(--muted) !important;\n    font-size: 12.5px;\n    line-height: 1.55;\n  }\n\n  \/* ---------- compatibility ---------- *\/\n\n  .ps-cv-compatibility {\n    display: flex;\n    flex-direction: column;\n    gap: 26px;\n    padding: 24px 18px;\n    border: 1px solid var(--line);\n    border-radius: 22px;\n    background:\n      linear-gradient(135deg, rgba(0, 184, 255, 0.07), rgba(120, 87, 255, 0.05), rgba(240, 0, 232, 0.05)),\n      var(--surface);\n  }\n\n  .ps-cv-compatibility-copy \u003e p:not(.ps-cv-section-label) {\n    margin-top: 12px;\n    color: var(--muted) !important;\n    font-size: 13px;\n    line-height: 1.6;\n  }\n\n  .ps-cv-tags {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 7px;\n    margin-top: 16px;\n  }\n\n  .ps-cv-tags span {\n    padding: 7px 11px;\n    border: 1px solid var(--line);\n    border-radius: 100px;\n    color: var(--ink) !important;\n    background: rgba(255, 255, 255, 0.85);\n    font-size: 10px;\n    font-weight: 750;\n  }\n\n  .ps-cv-connection-graphic {\n    position: relative;\n    display: grid;\n    grid-template-columns: 44px 1fr 66px 1fr 44px;\n    align-items: center;\n    min-height: 100px;\n  }\n\n  .ps-cv-device,\n  .ps-cv-connection-hub {\n    position: relative;\n    z-index: 2;\n    display: grid;\n    place-items: center;\n    border: 1px solid rgba(154, 190, 255, 0.3);\n    background: var(--chip-bg);\n  }\n\n  .ps-cv-device {\n    width: 44px;\n    height: 48px;\n    gap: 3px;\n    border-radius: 13px;\n  }\n\n  .ps-cv-device small {\n    color: var(--chip-text) !important;\n    font-size: 6px;\n    font-weight: 850;\n  }\n\n  .ps-cv-device-port {\n    width: 14px;\n    height: 6px;\n    border: 2px solid var(--blue);\n    border-radius: 4px;\n  }\n\n  .ps-cv-connection-hub {\n    width: 66px;\n    height: 66px;\n    border-radius: 50%;\n    background: linear-gradient(145deg, rgba(0, 184, 255, 0.25), rgba(240, 0, 232, 0.2)), var(--chip-bg);\n  }\n\n  .ps-cv-connection-hub span {\n    font-size: 20px;\n  }\n\n  .ps-cv-connection-hub strong {\n    color: var(--chip-text) !important;\n    font-size: 6px;\n    letter-spacing: 0.8px;\n  }\n\n  .ps-cv-connection-line {\n    position: relative;\n    height: 2px;\n    background: linear-gradient(to right, rgba(0, 184, 255, 0.15), var(--blue));\n  }\n\n  .ps-cv-pink-line {\n    background: linear-gradient(to right, var(--pink), rgba(240, 0, 232, 0.15));\n  }\n\n  .ps-cv-connection-line span {\n    position: absolute;\n    top: 50%;\n    left: 0;\n    width: 7px;\n    height: 7px;\n    border-radius: 50%;\n    background: #ffffff;\n    box-shadow: 0 0 10px var(--blue);\n    transform: translateY(-50%);\n    animation: psEnergy 2s linear infinite;\n  }\n\n  .ps-cv-pink-line span {\n    box-shadow: 0 0 10px var(--pink);\n    animation-direction: reverse;\n  }\n\n  \/* ---------- reveal animation ---------- *\/\n\n  .ps-cv-reveal {\n    opacity: 0;\n    transform: translateY(20px);\n    transition: opacity 0.6s ease, transform 0.6s ease;\n  }\n\n  .ps-cv-reveal.ps-cv-visible {\n    opacity: 1;\n    transform: translateY(0);\n  }\n\n  \/* ---------- slightly roomier on tablet\/desktop previews ---------- *\/\n\n  @media (min-width: 760px) {\n    .ps-cv-container { max-width: 640px; padding-top: 56px; }\n\n    .ps-cv-feature-grid { grid-template-columns: repeat(2, 1fr); }\n\n    .ps-cv-buttons { grid-template-columns: 1fr 1fr; }\n\n    .ps-cv-compatibility { flex-direction: row; align-items: center; padding: 30px 26px; }\n\n    .ps-cv-compatibility-copy { flex: 1; }\n\n    .ps-cv-connection-graphic { flex: 1; }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    #ps-cablevault-section *,\n    #ps-cablevault-section *::before,\n    #ps-cablevault-section *::after {\n      animation-duration: 0.01ms !important;\n      animation-iteration-count: 1 !important;\n      transition-duration: 0.01ms !important;\n    }\n\n    .ps-cv-reveal { opacity: 1; transform: none; }\n  }\n\n  \/* ---------- keyframes ---------- *\/\n\n  @keyframes psGradientMove {\n    from { background-position: 0% center; }\n    to { background-position: 200% center; }\n  }\n\n  @keyframes psPulse {\n    0% { box-shadow: 0 0 0 0 rgba(240, 0, 232, 0.55); }\n    70% { box-shadow: 0 0 0 8px rgba(240, 0, 232, 0); }\n    100% { box-shadow: 0 0 0 0 rgba(240, 0, 232, 0); }\n  }\n\n  @keyframes psOrbMove {\n    0%, 100% { transform: translate3d(0, 0, 0); }\n    50% { transform: translate3d(20px, -18px, 0); }\n  }\n\n  @keyframes psGlow {\n    0%, 100% { opacity: 0.18; transform: scale(0.93); }\n    50% { opacity: 0.28; transform: scale(1.07); }\n  }\n\n  @keyframes psRotate {\n    from { transform: rotate(0deg); }\n    to { transform: rotate(360deg); }\n  }\n\n  @keyframes psFloat {\n    0%, 100% { transform: translateY(0); }\n    50% { transform: translateY(-7px); }\n  }\n\n  @keyframes psEnergy {\n    0% { left: 0; opacity: 0; }\n    15%, 85% { opacity: 1; }\n    100% { left: calc(100% - 7px); opacity: 0; }\n  }\n\u003c\/style\u003e\n\n\u003cscript\u003e\n  (function () {\n    const section = document.getElementById(\"ps-cablevault-section\");\n    if (!section || section.dataset.psInitialised === \"true\") return;\n    section.dataset.psInitialised = \"true\";\n\n    const revealElements = section.querySelectorAll(\".ps-cv-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-cv-visible\");\n              revealObserver.unobserve(entry.target);\n            }\n          });\n        },\n        { threshold: 0.1, rootMargin: \"0px 0px -25px 0px\" }\n      );\n\n      revealElements.forEach(function (element, index) {\n        element.style.transitionDelay = Math.min((index % 5) * 55, 220) + \"ms\";\n        observer.observe(element);\n      });\n    } else {\n      revealElements.forEach(function (element) {\n        element.classList.add(\"ps-cv-visible\");\n      });\n    }\n\n    section.querySelectorAll('a[href^=\"#\"]').forEach(function (link) {\n      link.addEventListener(\"click\", function (event) {\n        const selector = link.getAttribute(\"href\");\n        if (!selector || selector === \"#\") return;\n\n        let target = null;\n        try { target = document.querySelector(selector); } catch (error) { target = null; }\n\n        if (target) {\n          event.preventDefault();\n          target.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n        }\n      });\n    });\n  })();\n\u003c\/script\u003e","brand":"PowerSpot","offers":[{"title":"Black","offer_id":47813940445289,"sku":null,"price":399.0,"currency_code":"ZAR","in_stock":true},{"title":"White","offer_id":47819120967785,"sku":null,"price":399.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0778\/4821\/5657\/files\/Cable_Box_5.1.png?v=1782647216","url":"https:\/\/powerspot.co.za\/products\/powerspot%e2%84%a2-cablevault-pro","provider":"PowerSpot","version":"1.0","type":"link"}