{"title":"Gone VIRAL","description":"\u003cp\u003eEvery VIRAL product, in one place.\u003c\/p\u003e","products":[{"product_id":"viral-portable-blender","title":"VIRAL Portable Blender","description":"\u003cstyle\u003e.vpd{--s:#e9edf2;--m:#aab3bd;--l:rgba(225,232,240,.22);color:var(--s);font-family:inherit;line-height:1.55;margin:0 0 8px} .vpd *{box-sizing:border-box} .vpd-card{position:relative;overflow:hidden;border:1px solid rgba(225,232,240,.28);border-radius:22px;padding:24px;background:linear-gradient(145deg,#0a0c0f,#16191e);box-shadow:0 18px 40px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.14);margin-bottom:12px} .vpd-card::before{content:\"\";position:absolute;top:-60%;left:-40%;width:40%;height:220%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);transform:rotate(18deg);animation:vpdSweep 6s ease-in-out infinite;pointer-events:none} .vpd-k{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#c8d0d9;margin:0 0 10px} .vpd-k i{width:7px;height:7px;border-radius:50%;background:#e9edf2;box-shadow:0 0 0 0 rgba(233,237,242,.6);animation:vpdPing 2s infinite} .vpd-h{margin:0 0 10px;font-size:clamp(24px,4.4vw,32px);line-height:1.06;letter-spacing:-.02em;font-weight:700;background:linear-gradient(100deg,#9aa1a8 0%,#ffffff 30%,#b9c0c7 50%,#ffffff 70%,#9aa1a8 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:vpdShine 5s linear infinite} .vpd-lead{margin:0;color:#c3cad2;font-size:15px;max-width:52ch} .vpd-in{animation:vpdUp .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--d,0s)} .vpd-t{margin:22px 0 10px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#9fa8b2} .vpd-acc{border:1px solid var(--l);border-radius:14px;background:rgba(255,255,255,.025);margin:0 0 8px;overflow:hidden;transition:border-color .25s} .vpd-acc[open]{border-color:rgba(233,237,242,.45)} .vpd-acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:600;font-size:14px;color:#eef1f4} .vpd-acc summary::-webkit-details-marker{display:none} .vpd-acc summary::after{content:\"+\";font-size:20px;line-height:1;color:#c9d0d7;transition:transform .3s} .vpd-acc[open] summary::after{transform:rotate(45deg)} .vpd-acc div{padding:0 16px 14px;color:var(--m);font-size:13.5px;animation:vpdUp .45s both} .vpd-acc div p{margin:0 0 6px} @keyframes vpdUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}} @keyframes vpdShine{to{background-position:-220% 0}} @keyframes vpdSweep{0%,55%{left:-40%}100%{left:130%}} @keyframes vpdPing{0%{box-shadow:0 0 0 0 rgba(233,237,242,.55)}80%,100%{box-shadow:0 0 0 9px rgba(233,237,242,0)}} @supports (animation-timeline:view()){.vpd-in{animation:vpdUp linear both;animation-timeline:view();animation-range:entry 0% entry 55%}} @media(max-width:749px){.vpd-card{padding:20px;border-radius:18px}} @media(prefers-reduced-motion:reduce){.vpd *,.vpd *::before,.vpd *::after{animation:none!important;transition:none!important}} .vpd-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px;position:relative} .vpd-step{position:relative;text-align:center;padding:16px 8px 14px;border:1px solid var(--l);border-radius:16px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.015));transition:transform .3s,border-color .3s} .vpd-step:hover{transform:translateY(-3px);border-color:rgba(233,237,242,.5)} .vpd-step svg{width:42px;height:42px;display:block;margin:0 auto 8px} .vpd-step b{display:block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#f3f5f7} .vpd-step span{display:block;font-size:12px;color:var(--m);margin-top:3px} .vpd-step:not(:last-child)::after{content:\"\";position:absolute;top:36px;right:-9px;width:8px;height:2px;background:linear-gradient(90deg,#e9edf2,transparent);animation:vpdFlow 1.6s ease-in-out infinite} .vpd-drop{animation:vpdDrop 1.8s cubic-bezier(.5,0,.5,1) infinite} .vpd-spin{transform-origin:24px 24px;animation:vpdSpin 1.1s linear infinite} .vpd-fill{transform-origin:24px 40px;animation:vpdFill 2.6s ease-in-out infinite} .vpd-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px} .vpd-f{padding:15px 14px;border:1px solid var(--l);border-radius:16px;background:rgba(255,255,255,.03);transition:transform .3s,border-color .3s,background .3s} .vpd-f:hover{transform:translateY(-3px);border-color:rgba(233,237,242,.5);background:rgba(255,255,255,.06)} .vpd-f em{display:block;font-style:normal;font-size:20px;margin-bottom:6px} .vpd-f b{display:block;font-size:13.5px;color:#f3f5f7;margin-bottom:3px} .vpd-f span{display:block;font-size:12.5px;color:var(--m);line-height:1.45} @keyframes vpdSpin{to{transform:rotate(360deg)}} @keyframes vpdDrop{0%{transform:translateY(-6px);opacity:0}25%{opacity:1}60%,100%{transform:translateY(6px);opacity:0}} @keyframes vpdFill{0%,15%{transform:scaleY(.15)}60%,85%{transform:scaleY(1)}100%{transform:scaleY(.15)}} @keyframes vpdFlow{0%,100%{opacity:.2}50%{opacity:1}} @media(max-width:749px){.vpd-grid{grid-template-columns:repeat(2,1fr)}.vpd-step b{font-size:12px}.vpd-step span{font-size:11px}} .vpd-specs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 16px;margin:1px 0 10px}.vpd-specs-grid p{margin:0!important;padding:7px 0;border-bottom:1px solid rgba(225,232,240,.10);font-size:12.5px;line-height:1.4;color:var(--m)}.vpd-specs-grid strong{display:block;color:#eef1f4;font-weight:600;font-size:12px;margin-bottom:2px}.vpd-spec-note{font-size:11px;color:#8994a0;margin:5px 0 0!important;line-height:1.45}@media(max-width:390px){.vpd-specs-grid{gap:5px 10px}.vpd-specs-grid p{font-size:12px}}\u003c\/style\u003e\n\u003cdiv class=\"vpd\"\u003e\n\u003csection class=\"vpd-card\"\u003e\n\u003cp class=\"vpd-k vpd-in\"\u003e\u003ci\u003e\u003c\/i\u003eBlend anywhere\u003c\/p\u003e\n\u003ch2 class=\"vpd-h vpd-in\" style=\"--d:.08s\"\u003eVIRAL PORTABLE BLENDER\u003c\/h2\u003e\n\u003cp class=\"vpd-lead vpd-in\" style=\"--d:.16s\"\u003eFresh smoothies and shakes, wherever your day takes you: the gym, the office or the road.\u003c\/p\u003e\n\u003cdiv class=\"vpd-steps\"\u003e\n\u003cdiv class=\"vpd-step vpd-in\" style=\"--d:.24s\"\u003e\n\u003csvg viewbox=\"0 0 48 48\" fill=\"none\" stroke=\"#e9edf2\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003cg class=\"vpd-drop\"\u003e\u003ccircle cx=\"24\" cy=\"14\" r=\"5\"\u003e\u003c\/circle\u003e\u003cpath d=\"M24 9c1-3 3-4 5-4\"\u003e\u003c\/path\u003e\u003c\/g\u003e\u003cpath d=\"M12 26h24l-3 14H15z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cb\u003eAdd\u003c\/b\u003e\u003cspan\u003eFruit, milk, yoghurt\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vpd-step vpd-in\" style=\"--d:.32s\"\u003e\n\u003csvg viewbox=\"0 0 48 48\" fill=\"none\" stroke=\"#e9edf2\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003ccircle cx=\"24\" cy=\"24\" r=\"19\" stroke-opacity=\".3\"\u003e\u003c\/circle\u003e\u003cg class=\"vpd-spin\"\u003e\u003cpath d=\"M24 24l-12-5M24 24l12 5M24 24l5-12M24 24l-5 12\"\u003e\u003c\/path\u003e\u003c\/g\u003e\u003ccircle cx=\"24\" cy=\"24\" r=\"2.5\" fill=\"#e9edf2\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003cb\u003eBlend\u003c\/b\u003e\u003cspan\u003ePress and go\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vpd-step vpd-in\" style=\"--d:.40s\"\u003e\n\u003csvg viewbox=\"0 0 48 48\" fill=\"none\" stroke=\"#e9edf2\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003crect class=\"vpd-fill\" x=\"16\" y=\"18\" width=\"16\" height=\"22\" rx=\"2\" fill=\"#c7cdd3\" fill-opacity=\".45\" stroke=\"none\"\u003e\u003c\/rect\u003e\u003cpath d=\"M14 14h20l-2 28H16z\"\u003e\u003c\/path\u003e\u003cpath d=\"M27 14l4-9h4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cb\u003eSip\u003c\/b\u003e\u003cspan\u003eStraight from the bottle\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cp class=\"vpd-t vpd-in\"\u003eWhy you'll love it\u003c\/p\u003e\n\u003cdiv class=\"vpd-grid\"\u003e\n\u003cdiv class=\"vpd-f vpd-in\" style=\"--d:.05s\"\u003e\n\u003cem\u003e⚡\u003c\/em\u003e\u003cb\u003eRechargeable\u003c\/b\u003e\u003cspan\u003eUSB charging, no plug or socket needed.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vpd-f vpd-in\" style=\"--d:.12s\"\u003e\n\u003cem\u003e⚙️\u003c\/em\u003e\u003cb\u003eStainless steel blades\u003c\/b\u003e\u003cspan\u003eHandles fresh and frozen fruit and protein powder.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vpd-f vpd-in\" style=\"--d:.19s\"\u003e\n\u003cem\u003e🎚️\u003c\/em\u003e\u003cb\u003eMultiple speeds\u003c\/b\u003e\u003cspan\u003eFrom silky shakes to thick smoothies.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vpd-f vpd-in\" style=\"--d:.26s\"\u003e\n\u003cem\u003e🎒\u003c\/em\u003e\u003cb\u003eBag-sized\u003c\/b\u003e\u003cspan\u003eFits your gym bag, desk or car.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"vpd-t vpd-in\"\u003eGood to know\u003c\/p\u003e\n\u003cdetails class=\"vpd-acc vpd-in\"\u003e\u003csummary\u003eWhat can I make?\u003c\/summary\u003e\u003cdiv\u003e\u003cp\u003eFruit smoothies, protein shakes, iced coffee and green blends. The VIRAL Blender Recipe Book has 30 recipes made for this blender.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails class=\"vpd-acc vpd-in\"\u003e\u003csummary\u003eCharging and cleaning\u003c\/summary\u003e\u003cdiv\u003e\n\u003cp\u003eCharge it with a USB cable, then blend wherever you are.\u003c\/p\u003e\n\u003cp\u003eTo clean it, blend some warm water and a drop of dish soap for a few seconds, then rinse.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails class=\"vpd-acc vpd-in\"\u003e\u003csummary\u003eTechnical specifications\u003c\/summary\u003e\u003cdiv\u003e\n\u003cdiv class=\"vpd-specs-grid\"\u003e\n\u003cp\u003e\u003cstrong\u003eMotor power\u003c\/strong\u003e25 W\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eCup capacity\u003c\/strong\u003e450 mL\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eBattery\u003c\/strong\u003e1,300 mAh rechargeable\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eRated voltage\u003c\/strong\u003e3.7 V\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eBlades\u003c\/strong\u003e10 stainless-steel blades\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eMotor speed\u003c\/strong\u003eApprox. 15,000 RPM under load; 20,000–22,000 RPM no-load\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eCharging\u003c\/strong\u003eUSB charging cable included\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003ePackaged weight\u003c\/strong\u003eApprox. 506 g\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp class=\"vpd-spec-note\"\u003eSupplier-rated figures; motor speed varies with load. For safety, the blender only runs with the cup properly aligned and does not operate while charging.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails class=\"vpd-acc vpd-in\"\u003e\u003csummary\u003eDelivery\u003c\/summary\u003e\u003cdiv\u003e\n\u003cp\u003eFree nationwide delivery on every order in South Africa.\u003c\/p\u003e\n\u003cp\u003eGreen \u0026amp; Purple: 3–7 business days\u003cbr\u003eBlack \u0026amp; White: 3–10 business days\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/details\u003e\n\u003c\/div\u003e","brand":"VIRAL","offers":[{"title":"Black","offer_id":56360356839716,"sku":"VIRAL-009","price":559.0,"currency_code":"ZAR","in_stock":true},{"title":"White","offer_id":56360356872484,"sku":"VIRAL-0010","price":559.0,"currency_code":"ZAR","in_stock":true},{"title":"Green","offer_id":56360356905252,"sku":"VIRAL-0011","price":559.0,"currency_code":"ZAR","in_stock":true},{"title":"Purple","offer_id":56360356938020,"sku":"VIRAL-0012","price":559.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1027\/6139\/8564\/files\/73034114-3267-4121-8043-dfebb089f562.png?v=1793631511"},{"product_id":"the-viral-blender-recipe-book","title":"The VIRAL Blender Recipe Book","description":"\u003cstyle\u003e.vbk{--s:#e9edf2;--m:#aab3bd;--l:rgba(225,232,240,.22);color:var(--s);font-family:inherit;line-height:1.55;margin:0 0 8px} .vbk *{box-sizing:border-box} .vbk-card{position:relative;overflow:hidden;border:1px solid rgba(225,232,240,.28);border-radius:22px;padding:24px;background:linear-gradient(145deg,#0a0c0f,#16191e);box-shadow:0 18px 40px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.14);margin-bottom:12px} .vbk-card::before{content:\"\";position:absolute;top:-60%;left:-40%;width:40%;height:220%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);transform:rotate(18deg);animation:vbkSweep 6s ease-in-out infinite;pointer-events:none} .vbk-k{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#c8d0d9;margin:0 0 10px} .vbk-k i{width:7px;height:7px;border-radius:50%;background:#e9edf2;box-shadow:0 0 0 0 rgba(233,237,242,.6);animation:vbkPing 2s infinite} .vbk-h{margin:0 0 10px;font-size:clamp(24px,4.4vw,32px);line-height:1.06;letter-spacing:-.02em;font-weight:700;background:linear-gradient(100deg,#9aa1a8 0%,#ffffff 30%,#b9c0c7 50%,#ffffff 70%,#9aa1a8 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:vbkShine 5s linear infinite} .vbk-lead{margin:0;color:#c3cad2;font-size:15px;max-width:52ch} .vbk-in{animation:vbkUp .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--d,0s)} .vbk-t{margin:22px 0 10px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#9fa8b2} .vbk-acc{border:1px solid var(--l);border-radius:14px;background:rgba(255,255,255,.025);margin:0 0 8px;overflow:hidden;transition:border-color .25s} .vbk-acc[open]{border-color:rgba(233,237,242,.45)} .vbk-acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:600;font-size:14px;color:#eef1f4} .vbk-acc summary::-webkit-details-marker{display:none} .vbk-acc summary::after{content:\"+\";font-size:20px;line-height:1;color:#c9d0d7;transition:transform .3s} .vbk-acc[open] summary::after{transform:rotate(45deg)} .vbk-acc div{padding:0 16px 14px;color:var(--m);font-size:13.5px;animation:vbkUp .45s both} .vbk-acc div p{margin:0 0 6px} @keyframes vbkUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}} @keyframes vbkShine{to{background-position:-220% 0}} @keyframes vbkSweep{0%,55%{left:-40%}100%{left:130%}} @keyframes vbkPing{0%{box-shadow:0 0 0 0 rgba(233,237,242,.55)}80%,100%{box-shadow:0 0 0 9px rgba(233,237,242,0)}} @supports (animation-timeline:view()){.vbk-in{animation:vbkUp linear both;animation-timeline:view();animation-range:entry 0% entry 55%}} @media(max-width:749px){.vbk-card{padding:20px;border-radius:18px}} @media(prefers-reduced-motion:reduce){.vbk *,.vbk *::before,.vbk *::after{animation:none!important;transition:none!important}} .vbk-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px} .vbk-s{text-align:center;padding:14px 6px;border:1px solid var(--l);border-radius:14px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.015))} .vbk-s b{display:block;font-size:26px;line-height:1;color:#fff;font-weight:700} .vbk-s span{display:block;margin-top:5px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--m)} .vbk-rail{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)} .vbk-track{display:flex;gap:8px;width:max-content;animation:vbkRoll 26s linear infinite} .vbk-rail:hover .vbk-track{animation-play-state:paused} .vbk-ch{white-space:nowrap;padding:9px 14px;border:1px solid var(--l);border-radius:999px;font-size:13px;color:#e6e9ec;background:rgba(255,255,255,.035)} .vbk-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px} .vbk-fs{padding:14px 10px;text-align:center;border:1px solid var(--l);border-radius:14px;background:rgba(255,255,255,.03);transition:transform .3s,border-color .3s} .vbk-fs:hover{transform:translateY(-3px);border-color:rgba(233,237,242,.5)} .vbk-fs em{display:block;font-style:normal;font-size:22px;margin-bottom:4px;animation:vbkBob 2.4s ease-in-out infinite;animation-delay:var(--d,0s)} .vbk-fs b{display:block;font-size:13px;color:#f3f5f7} .vbk-fs span{display:block;font-size:12px;color:var(--m)} .vbk-acc ul{margin:0;padding-left:18px} .vbk-acc li{margin:0 0 5px} .vbk-acc li b{color:#e6e9ec} .vbk-note{margin:10px 0 0;font-size:11.5px;color:#8f98a2;text-align:center} @keyframes vbkRoll{to{transform:translateX(-50%)}} @keyframes vbkBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}} @media(max-width:749px){.vbk-s b{font-size:22px}.vbk-s span{font-size:9.5px;letter-spacing:.08em}}\u003c\/style\u003e\n\u003cdiv class=\"vbk\"\u003e\n\u003csection class=\"vbk-card\"\u003e\n\u003cp class=\"vbk-k vbk-in\"\u003e\u003ci\u003e\u003c\/i\u003eDigital recipe book · instant PDF\u003c\/p\u003e\n\u003ch2 class=\"vbk-h vbk-in\" style=\"--d:.08s\"\u003e30 smoothies. Zero guesswork.\u003c\/h2\u003e\n\u003cp class=\"vbk-lead vbk-in\" style=\"--d:.16s\"\u003eSingle-serve recipes measured for your VIRAL PORTABLE BLENDER. Just add the ingredients in order, blend and enjoy.\u003c\/p\u003e\n\u003cdiv class=\"vbk-stats\"\u003e\n\u003cdiv class=\"vbk-s vbk-in\" style=\"--d:.22s\"\u003e\n\u003cb\u003e30\u003c\/b\u003e\u003cspan\u003eRecipes\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vbk-s vbk-in\" style=\"--d:.28s\"\u003e\n\u003cb\u003e6\u003c\/b\u003e\u003cspan\u003eChapters\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vbk-s vbk-in\" style=\"--d:.34s\"\u003e\n\u003cb\u003e43\u003c\/b\u003e\u003cspan\u003ePages\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vbk-s vbk-in\" style=\"--d:.40s\"\u003e\n\u003cb\u003e1\u003c\/b\u003e\u003cspan\u003eServing each\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cp class=\"vbk-t vbk-in\"\u003eSix chapters\u003c\/p\u003e\n\u003cdiv class=\"vbk-rail vbk-in\"\u003e\u003cdiv class=\"vbk-track\"\u003e\n\u003cspan class=\"vbk-ch\"\u003e🍓 Fresh \u0026amp; Fruity\u003c\/span\u003e\u003cspan class=\"vbk-ch\"\u003e🥬 Green \u0026amp; Clean\u003c\/span\u003e\u003cspan class=\"vbk-ch\"\u003e🥣 Breakfast Blends\u003c\/span\u003e\u003cspan class=\"vbk-ch\"\u003e💪 Protein \u0026amp; Gym\u003c\/span\u003e\u003cspan class=\"vbk-ch\"\u003e☕ Coffee \u0026amp; Café\u003c\/span\u003e\u003cspan class=\"vbk-ch\"\u003e🍫 Treat Yourself\u003c\/span\u003e\u003cspan class=\"vbk-ch\"\u003e🍓 Fresh \u0026amp; Fruity\u003c\/span\u003e\u003cspan class=\"vbk-ch\"\u003e🥬 Green \u0026amp; Clean\u003c\/span\u003e\u003cspan class=\"vbk-ch\"\u003e🥣 Breakfast Blends\u003c\/span\u003e\u003cspan class=\"vbk-ch\"\u003e💪 Protein \u0026amp; Gym\u003c\/span\u003e\u003cspan class=\"vbk-ch\"\u003e☕ Coffee \u0026amp; Café\u003c\/span\u003e\u003cspan class=\"vbk-ch\"\u003e🍫 Treat Yourself\u003c\/span\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cp class=\"vbk-t vbk-in\"\u003eHow you get it\u003c\/p\u003e\n\u003cdiv class=\"vbk-flow\"\u003e\n\u003cdiv class=\"vbk-fs vbk-in\" style=\"--d:.05s\"\u003e\n\u003cem\u003e🛒\u003c\/em\u003e\u003cb\u003eOrder\u003c\/b\u003e\u003cspan\u003eAdd it to your cart\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vbk-fs vbk-in\" style=\"--d:.12s\"\u003e\n\u003cem style=\"--d:.3s\"\u003e📩\u003c\/em\u003e\u003cb\u003eGet the email\u003c\/b\u003e\u003cspan\u003ePDF link sent right away\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vbk-fs vbk-in\" style=\"--d:.19s\"\u003e\n\u003cem style=\"--d:.6s\"\u003e🥤\u003c\/em\u003e\u003cb\u003eBlend\u003c\/b\u003e\u003cspan\u003eRead it on any device\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"vbk-t vbk-in\"\u003eTake a closer look\u003c\/p\u003e\n\u003cdetails class=\"vbk-acc vbk-in\"\u003e\u003csummary\u003eWhat else is inside?\u003c\/summary\u003e\u003cdiv\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cb\u003eA full-page photo\u003c\/b\u003e for every recipe\u003c\/li\u003e\n\u003cli\u003e\n\u003cb\u003eBlend It Right:\u003c\/b\u003e 8 tips for smooth results\u003c\/li\u003e\n\u003cli\u003e\n\u003cb\u003eBlend-Anywhere Pantry:\u003c\/b\u003e a ready-made shopping list\u003c\/li\u003e\n\u003cli\u003e\n\u003cb\u003eBuild Your Own Blend:\u003c\/b\u003e a simple formula for your own recipes\u003c\/li\u003e\n\u003cli\u003e\n\u003cb\u003eCare \u0026amp; Cleaning:\u003c\/b\u003e keep your blender fresh\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails class=\"vbk-acc vbk-in\"\u003e\u003csummary\u003eWhere do I buy the ingredients?\u003c\/summary\u003e\u003cdiv\u003e\u003cp\u003eEverything is available at Checkers, Pick n Pay, Spar and Woolworths.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails class=\"vbk-acc vbk-in\"\u003e\u003csummary\u003eIs anything shipped?\u003c\/summary\u003e\u003cdiv\u003e\u003cp\u003eNo, it's a digital download, so there's nothing to wait for. The PDF works on any phone, tablet or computer.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cp class=\"vbk-note\"\u003eFor personal use only. Please don't copy, share or resell.\u003c\/p\u003e\n\u003c\/div\u003e","brand":"VIRAL","offers":[{"title":"Default Title","offer_id":67906319515940,"sku":"VIRAL-RECIPE-BOOK","price":89.99,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1027\/6139\/8564\/files\/cca17b50-4ec8-48c5-997a-0dd739453815.png?v=1793629904"},{"product_id":"viral-spoon-scale","title":"VIRAL Digital Spoon Scale","description":"\u003cstyle\u003e.vpd{--s:#e9edf2;--m:#aab3bd;--l:rgba(225,232,240,.22);color:var(--s);font-family:inherit;line-height:1.55;margin:0 0 8px} .vpd *{box-sizing:border-box} .vpd-card{position:relative;overflow:hidden;border:1px solid rgba(225,232,240,.28);border-radius:22px;padding:24px;background:linear-gradient(145deg,#0a0c0f,#16191e);box-shadow:0 18px 40px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.14);margin-bottom:12px} .vpd-card::before{content:\"\";position:absolute;top:-60%;left:-40%;width:40%;height:220%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);transform:rotate(18deg);animation:vpdSweep 6s ease-in-out infinite;pointer-events:none} .vpd-k{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#c8d0d9;margin:0 0 10px} .vpd-k i{width:7px;height:7px;border-radius:50%;background:#e9edf2;box-shadow:0 0 0 0 rgba(233,237,242,.6);animation:vpdPing 2s infinite} .vpd-h{margin:0 0 10px;font-size:clamp(24px,4.4vw,32px);line-height:1.06;letter-spacing:-.02em;font-weight:700;background:linear-gradient(100deg,#9aa1a8 0%,#ffffff 30%,#b9c0c7 50%,#ffffff 70%,#9aa1a8 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:vpdShine 5s linear infinite} .vpd-lead{margin:0;color:#c3cad2;font-size:15px;max-width:52ch} .vpd-in{animation:vpdUp .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--d,0s)} .vpd-t{margin:22px 0 10px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#9fa8b2} .vpd-acc{border:1px solid var(--l);border-radius:14px;background:rgba(255,255,255,.025);margin:0 0 8px;overflow:hidden;transition:border-color .25s} .vpd-acc[open]{border-color:rgba(233,237,242,.45)} .vpd-acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:600;font-size:14px;color:#eef1f4} .vpd-acc summary::-webkit-details-marker{display:none} .vpd-acc summary::after{content:\"+\";font-size:20px;line-height:1;color:#c9d0d7;transition:transform .3s} .vpd-acc[open] summary::after{transform:rotate(45deg)} .vpd-acc div{padding:0 16px 14px;color:var(--m);font-size:13.5px;animation:vpdUp .45s both} .vpd-acc div p{margin:0 0 6px} @keyframes vpdUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}} @keyframes vpdShine{to{background-position:-220% 0}} @keyframes vpdSweep{0%,55%{left:-40%}100%{left:130%}} @keyframes vpdPing{0%{box-shadow:0 0 0 0 rgba(233,237,242,.55)}80%,100%{box-shadow:0 0 0 9px rgba(233,237,242,0)}} @supports (animation-timeline:view()){.vpd-in{animation:vpdUp linear both;animation-timeline:view();animation-range:entry 0% entry 55%}} @media(max-width:749px){.vpd-card{padding:20px;border-radius:18px}} @media(prefers-reduced-motion:reduce){.vpd *,.vpd *::before,.vpd *::after{animation:none!important;transition:none!important}} .vpd-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px;position:relative} .vpd-step{position:relative;text-align:center;padding:16px 8px 14px;border:1px solid var(--l);border-radius:16px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.015));transition:transform .3s,border-color .3s} .vpd-step:hover{transform:translateY(-3px);border-color:rgba(233,237,242,.5)} .vpd-step svg{width:42px;height:42px;display:block;margin:0 auto 8px} .vpd-step b{display:block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#f3f5f7} .vpd-step span{display:block;font-size:12px;color:var(--m);margin-top:3px} .vpd-step:not(:last-child)::after{content:\"\";position:absolute;top:36px;right:-9px;width:8px;height:2px;background:linear-gradient(90deg,#e9edf2,transparent);animation:vpdFlow 1.6s ease-in-out infinite} .vpd-drop{animation:vpdDrop 1.8s cubic-bezier(.5,0,.5,1) infinite} .vpd-spin{transform-origin:24px 24px;animation:vpdSpin 1.1s linear infinite} .vpd-fill{transform-origin:24px 40px;animation:vpdFill 2.6s ease-in-out infinite} .vpd-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px} .vpd-f{padding:15px 14px;border:1px solid var(--l);border-radius:16px;background:rgba(255,255,255,.03);transition:transform .3s,border-color .3s,background .3s} .vpd-f:hover{transform:translateY(-3px);border-color:rgba(233,237,242,.5);background:rgba(255,255,255,.06)} .vpd-f em{display:block;font-style:normal;font-size:20px;margin-bottom:6px} .vpd-f b{display:block;font-size:13.5px;color:#f3f5f7;margin-bottom:3px} .vpd-f span{display:block;font-size:12.5px;color:var(--m);line-height:1.45} @keyframes vpdSpin{to{transform:rotate(360deg)}} @keyframes vpdDrop{0%{transform:translateY(-6px);opacity:0}25%{opacity:1}60%,100%{transform:translateY(6px);opacity:0}} @keyframes vpdFill{0%,15%{transform:scaleY(.15)}60%,85%{transform:scaleY(1)}100%{transform:scaleY(.15)}} @keyframes vpdFlow{0%,100%{opacity:.2}50%{opacity:1}} @media(max-width:749px){.vpd-grid{grid-template-columns:repeat(2,1fr)}.vpd-step b{font-size:12px}.vpd-step span{font-size:11px}}\u003c\/style\u003e\n\u003cdiv class=\"vpd\"\u003e\n\u003csection class=\"vpd-card\"\u003e\n\u003cp class=\"vpd-k vpd-in\"\u003e\u003ci\u003e\u003c\/i\u003eWeigh as you scoop\u003c\/p\u003e\n\u003ch2 class=\"vpd-h vpd-in\" style=\"--d:.08s\"\u003eVIRAL SPOON SCALE\u003c\/h2\u003e\n\u003cp class=\"vpd-lead vpd-in\" style=\"--d:.16s\"\u003eA spoon and a digital scale in one. Scoop your creatine, protein or coffee and see the exact weight instantly, to a tenth of a gram.\u003c\/p\u003e\n\u003cdiv class=\"vpd-steps\"\u003e\n\u003cdiv class=\"vpd-step vpd-in\" style=\"--d:.24s\"\u003e\n\u003csvg viewbox=\"0 0 48 48\" fill=\"none\" stroke=\"#e9edf2\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003cellipse cx=\"17\" cy=\"17\" rx=\"9\" ry=\"11\" transform=\"rotate(-45 17 17)\"\u003e\u003c\/ellipse\u003e\u003cpath d=\"M23 23l17 17\"\u003e\u003c\/path\u003e\u003cg class=\"vpd-drop\"\u003e\u003ccircle cx=\"17\" cy=\"8\" r=\"1.6\" fill=\"#e9edf2\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"12\" cy=\"11\" r=\"1.2\" fill=\"#e9edf2\"\u003e\u003c\/circle\u003e\u003c\/g\u003e\u003c\/svg\u003e\u003cb\u003eScoop\u003c\/b\u003e\u003cspan\u003ePowder, beans or spices\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vpd-step vpd-in\" style=\"--d:.32s\"\u003e\n\u003csvg viewbox=\"0 0 48 48\" fill=\"none\" stroke=\"#e9edf2\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003crect x=\"8\" y=\"14\" width=\"32\" height=\"20\" rx=\"4\"\u003e\u003c\/rect\u003e\u003crect class=\"vpd-fill\" x=\"12\" y=\"18\" width=\"24\" height=\"12\" rx=\"2\" fill=\"#c7cdd3\" fill-opacity=\".35\" stroke=\"none\"\u003e\u003c\/rect\u003e\u003cpath d=\"M17 27v-6h4M27 21v6M31 21v6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cb\u003eRead\u003c\/b\u003e\u003cspan\u003eExact weight in seconds\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vpd-step vpd-in\" style=\"--d:.40s\"\u003e\n\u003csvg viewbox=\"0 0 48 48\" fill=\"none\" stroke=\"#e9edf2\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003ccircle cx=\"24\" cy=\"24\" r=\"17\" stroke-opacity=\".3\"\u003e\u003c\/circle\u003e\u003cpath d=\"M16 24.5l5.5 5.5L33 18.5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cb\u003eDone\u003c\/b\u003e\u003cspan\u003eNo guessing, no waste\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cp class=\"vpd-t vpd-in\"\u003eWhy you'll love it\u003c\/p\u003e\n\u003cdiv class=\"vpd-grid\"\u003e\n\u003cdiv class=\"vpd-f vpd-in\" style=\"--d:.05s\"\u003e\n\u003cem\u003e🎯\u003c\/em\u003e\u003cb\u003e0.1 g precision\u003c\/b\u003e\u003cspan\u003eAccurate down to a tenth of a gram.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vpd-f vpd-in\" style=\"--d:.12s\"\u003e\n\u003cem\u003e⚖️\u003c\/em\u003e\u003cb\u003eUp to 500 g\u003c\/b\u003e\u003cspan\u003eFrom a pinch of salt to a full scoop.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vpd-f vpd-in\" style=\"--d:.19s\"\u003e\n\u003cem\u003e🔁\u003c\/em\u003e\u003cb\u003eTare \u0026amp; hold\u003c\/b\u003e\u003cspan\u003eZero the scoop and lock your reading.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vpd-f vpd-in\" style=\"--d:.26s\"\u003e\n\u003cem\u003e🎒\u003c\/em\u003e\u003cb\u003eCompact\u003c\/b\u003e\u003cspan\u003e20.7 cm long and only 46 g. Hangs from its loop.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"vpd-t vpd-in\"\u003eGood to know\u003c\/p\u003e\n\u003cdetails class=\"vpd-acc vpd-in\"\u003e\u003csummary\u003eWhat can I weigh?\u003c\/summary\u003e\u003cdiv\u003e\n\u003cp\u003eCreatine, protein powder, pre-workout, coffee beans, flour, sugar, salt and spices. Anything up to 500 g that fits in the scoop.\u003c\/p\u003e\n\u003cp\u003eSwitch between grams, ounces, carats and grains with the MODE button.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails class=\"vpd-acc vpd-in\"\u003e\u003csummary\u003eBattery and first use\u003c\/summary\u003e\u003cdiv\u003e\n\u003cp\u003eRuns on one replaceable CR2032 button battery, included.\u003c\/p\u003e\n\u003cp\u003eBefore first use, undo the small screw on the battery cover, pull out the white insulating strip, close the cover and press ON\/TARE.\u003c\/p\u003e\n\u003cp\u003eHold the handle while weighing. It isn't made to stand on a counter.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails class=\"vpd-acc vpd-in\"\u003e\u003csummary\u003eCleaning\u003c\/summary\u003e\u003cdiv\u003e\u003cp\u003eWipe the scoop with a damp cloth and dry it. Don't put it under running water or in the dishwasher, because the handle has electronics inside.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails class=\"vpd-acc vpd-in\"\u003e\u003csummary\u003eDelivery\u003c\/summary\u003e\u003cdiv\u003e\u003cp\u003eFree nationwide delivery on every order in South Africa.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003c\/div\u003e","brand":"VIRAL","offers":[{"title":"Black","offer_id":67983668412708,"sku":null,"price":250.0,"currency_code":"ZAR","in_stock":true},{"title":"White","offer_id":67983668445476,"sku":null,"price":250.0,"currency_code":"ZAR","in_stock":true},{"title":"Black + White","offer_id":67984218947876,"sku":"VIRAL-SPOON-BW","price":399.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1027\/6139\/8564\/files\/1E27379B-6AA6-4B2D-B7AE-B7AF402FD9C4.png?v=1794005705"},{"product_id":"viral-carry-pouch","title":"VIRAL Blender Pouch","description":"\u003cstyle\u003e.vcp{--s:#e9edf2;--m:#aab3bd;--l:rgba(225,232,240,.22);color:var(--s);font-family:inherit;line-height:1.55;margin:0 0 8px} .vcp *{box-sizing:border-box} .vcp-card{position:relative;overflow:hidden;border:1px solid rgba(225,232,240,.28);border-radius:22px;padding:24px;background:linear-gradient(145deg,#0a0c0f,#16191e);box-shadow:0 18px 40px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.14);margin-bottom:12px} .vcp-card::before{content:\"\";position:absolute;top:-60%;left:-40%;width:40%;height:220%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);transform:rotate(18deg);animation:vcpSweep 6s ease-in-out infinite;pointer-events:none} .vcp-k{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#c8d0d9;margin:0 0 10px} .vcp-k i{width:7px;height:7px;border-radius:50%;background:#e9edf2;box-shadow:0 0 0 0 rgba(233,237,242,.6);animation:vcpPing 2s infinite} .vcp-h{margin:0 0 10px;font-size:clamp(24px,4.4vw,32px);line-height:1.06;letter-spacing:-.02em;font-weight:700;background:linear-gradient(100deg,#9aa1a8 0%,#ffffff 30%,#b9c0c7 50%,#ffffff 70%,#9aa1a8 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:vcpShine 5s linear infinite} .vcp-lead{margin:0;color:#c3cad2;font-size:15px;max-width:52ch} .vcp-in{animation:vcpUp .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--d,0s)} .vcp-t{margin:22px 0 10px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#9fa8b2} .vcp-acc{border:1px solid var(--l);border-radius:14px;background:rgba(255,255,255,.025);margin:0 0 8px;overflow:hidden;transition:border-color .25s} .vcp-acc[open]{border-color:rgba(233,237,242,.45)} .vcp-acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:600;font-size:14px;color:#eef1f4} .vcp-acc summary::-webkit-details-marker{display:none} .vcp-acc summary::after{content:\"+\";font-size:20px;line-height:1;color:#c9d0d7;transition:transform .3s} .vcp-acc[open] summary::after{transform:rotate(45deg)} .vcp-acc div{padding:0 16px 14px;color:var(--m);font-size:13.5px;animation:vcpUp .45s both} .vcp-acc div p{margin:0 0 6px} @keyframes vcpUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}} @keyframes vcpShine{to{background-position:-220% 0}} @keyframes vcpSweep{0%,55%{left:-40%}100%{left:130%}} @keyframes vcpPing{0%{box-shadow:0 0 0 0 rgba(233,237,242,.55)}80%,100%{box-shadow:0 0 0 9px rgba(233,237,242,0)}} @supports (animation-timeline:view()){.vcp-in{animation:vcpUp linear both;animation-timeline:view();animation-range:entry 0% entry 55%}} @media(max-width:749px){.vcp-card{padding:20px;border-radius:18px}} @media(prefers-reduced-motion:reduce){.vcp *,.vcp *::before,.vcp *::after{animation:none!important;transition:none!important}} .vcp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px;position:relative} .vcp-step{position:relative;text-align:center;padding:16px 8px 14px;border:1px solid var(--l);border-radius:16px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.015));transition:transform .3s,border-color .3s} .vcp-step:hover{transform:translateY(-3px);border-color:rgba(233,237,242,.5)} .vcp-step svg{width:42px;height:42px;display:block;margin:0 auto 8px} .vcp-step b{display:block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#f3f5f7} .vcp-step span{display:block;font-size:12px;color:var(--m);margin-top:3px} .vcp-step:not(:last-child)::after{content:\"\";position:absolute;top:36px;right:-9px;width:8px;height:2px;background:linear-gradient(90deg,#e9edf2,transparent);animation:vcpFlow 1.6s ease-in-out infinite} .vcp-drop{animation:vcpDrop 1.8s cubic-bezier(.5,0,.5,1) infinite} .vcp-spin{transform-origin:24px 24px;animation:vcpSpin 1.1s linear infinite} .vcp-fill{transform-origin:24px 40px;animation:vcpFill 2.6s ease-in-out infinite} .vcp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px} .vcp-f{padding:15px 14px;border:1px solid var(--l);border-radius:16px;background:rgba(255,255,255,.03);transition:transform .3s,border-color .3s,background .3s} .vcp-f:hover{transform:translateY(-3px);border-color:rgba(233,237,242,.5);background:rgba(255,255,255,.06)} .vcp-f em{display:block;font-style:normal;font-size:20px;margin-bottom:6px} .vcp-f b{display:block;font-size:13.5px;color:#f3f5f7;margin-bottom:3px} .vcp-f span{display:block;font-size:12.5px;color:var(--m);line-height:1.45} @keyframes vcpSpin{to{transform:rotate(360deg)}} @keyframes vcpDrop{0%{transform:translateY(-6px);opacity:0}25%{opacity:1}60%,100%{transform:translateY(6px);opacity:0}} @keyframes vcpFill{0%,15%{transform:scaleY(.15)}60%,85%{transform:scaleY(1)}100%{transform:scaleY(.15)}} @keyframes vcpFlow{0%,100%{opacity:.2}50%{opacity:1}} @media(max-width:749px){.vcp-grid{grid-template-columns:repeat(2,1fr)}.vcp-step b{font-size:12px}.vcp-step span{font-size:11px}}.vcp .vcp-card:before{z-index:0}.vcp-card\u003e*{position:relative;z-index:1}.vcp-f em{color:#c9a66d}.vcp-acc a{color:#e9edf2;text-underline-offset:3px}.vcp-note{padding:14px 16px;border:1px solid rgba(201,166,109,.3);border-radius:14px;background:rgba(201,166,109,.04);color:#c3cad2;font-size:13px;line-height:1.6;margin:12px 0}.vcp .vcp-h{overflow-wrap:anywhere}@media(max-width:380px){.vcp-steps{gap:6px}.vcp-step{padding:12px 5px}.vcp-step b{font-size:10px}.vcp-step span{font-size:10px}}\u003c\/style\u003e\u003cdiv class=\"vcp\"\u003e\n\u003csection class=\"vcp-card\"\u003e\u003cp class=\"vcp-k vcp-in\"\u003e\u003ci aria-hidden=\"true\"\u003e\u003c\/i\u003eYour blender. By your side.\u003c\/p\u003e\n\u003ch2 class=\"vcp-h vcp-in\" style=\"--d:.08s\"\u003eVIRAL BLENDER POUCH\u003c\/h2\u003e\n\u003cp class=\"vcp-lead vcp-in\" style=\"--d:.16s\"\u003eCarry your blender hands-free and keep small essentials close. A soft fabric pouch with an adjustable shoulder strap, front zip pocket and easy drawstring closure.\u003c\/p\u003e\n\u003cdiv class=\"vcp-steps\"\u003e\n\u003cdiv class=\"vcp-step vcp-in\" style=\"--d:0.24s\"\u003e\n\u003csvg viewbox=\"0 0 48 48\" fill=\"none\" stroke=\"#e9edf2\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 16h24v25H12zM12 22h24M18 16v-5h12v5M18 29h12v8H18z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cb\u003ePack\u003c\/b\u003e\u003cspan\u003eSlip your blender inside\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vcp-step vcp-in\" style=\"--d:0.32s\"\u003e\n\u003csvg viewbox=\"0 0 48 48\" fill=\"none\" stroke=\"#e9edf2\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\u003cpath d=\"M10 18h28v23H10zM16 18V9h16v9M16 26h16v11H16z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cb\u003eAdjust\u003c\/b\u003e\u003cspan\u003eSet your strap length\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vcp-step vcp-in\" style=\"--d:0.4s\"\u003e\n\u003csvg viewbox=\"0 0 48 48\" fill=\"none\" stroke=\"#e9edf2\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\u003ccircle cx=\"24\" cy=\"24\" r=\"18\" stroke-opacity=\".3\"\u003e\u003c\/circle\u003e\u003cpath d=\"M14 24h20M26 16l8 8-8 8\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cb\u003eGo\u003c\/b\u003e\u003cspan\u003eReady for your day\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003cp class=\"vcp-t vcp-in\"\u003eWhy you'll love it\u003c\/p\u003e\n\u003cdiv class=\"vcp-grid\"\u003e\n\u003cdiv class=\"vcp-f vcp-in\" style=\"--d:0.05s\"\u003e\n\u003cem aria-hidden=\"true\"\u003e↗\u003c\/em\u003e\u003cb\u003eHands-free carry\u003c\/b\u003e\u003cspan\u003eWear it over your shoulder or across your body.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vcp-f vcp-in\" style=\"--d:0.12000000000000001s\"\u003e\n\u003cem aria-hidden=\"true\"\u003e⌑\u003c\/em\u003e\u003cb\u003eSeparate storage\u003c\/b\u003e\u003cspan\u003eFront zip pocket for small everyday essentials.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vcp-f vcp-in\" style=\"--d:0.19s\"\u003e\n\u003cem aria-hidden=\"true\"\u003e◎\u003c\/em\u003e\u003cb\u003eEasy access\u003c\/b\u003e\u003cspan\u003eWide opening with a pull-to-close drawstring.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vcp-f vcp-in\" style=\"--d:0.26s\"\u003e\n\u003cem aria-hidden=\"true\"\u003e◈\u003c\/em\u003e\u003cb\u003eYour colour\u003c\/b\u003e\u003cspan\u003eBlack, Beige, Grey or Baby Pink.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"vcp-t vcp-in\"\u003eGood to know\u003c\/p\u003e\n\u003cdetails class=\"vcp-acc vcp-in\"\u003e\u003csummary\u003eMade for your VIRAL blender\u003c\/summary\u003e\u003cdiv\u003e\n\u003cp\u003eThe main compartment carries your VIRAL Portable Blender, with the lid accessible above the opening. The adjustable strap clips onto the pouch's side loops for shoulder or crossbody carry.\u003c\/p\u003e\n\u003cp\u003eApproximate pouch dimensions: 23 cm tall × 10 cm wide.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/details\u003e\u003cdetails class=\"vcp-acc vcp-in\"\u003e\u003csummary\u003eWhat fits in the front pocket?\u003c\/summary\u003e\u003cdiv\u003e\u003cp\u003eUse the separate zipped pocket for small essentials such as keys, cards or a slim phone that fits. Fit depends on the size of your phone and case.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\u003cdetails class=\"vcp-acc vcp-in\"\u003e\u003csummary\u003eWhat's included?\u003c\/summary\u003e\u003cdiv\u003e\n\u003cp\u003eOne VIRAL Blender Pouch in your selected colour, with its adjustable shoulder strap.\u003c\/p\u003e\n\u003cp\u003eThe blender, spoon scale, phone and other items shown in the photos are not included with the pouch on its own.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/details\u003e\u003cdetails class=\"vcp-acc vcp-in\"\u003e\u003csummary\u003eFabric and care\u003c\/summary\u003e\u003cdiv\u003e\n\u003cp\u003eA soft, textured fabric body with stitched edges, a zip pocket and drawstring top.\u003c\/p\u003e\n\u003cp\u003eSpot-clean gently with a damp cloth and allow it to air-dry before storing your blender.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/details\u003e\n\u003c\/div\u003e","brand":"VIRAL","offers":[{"title":"Black","offer_id":67983742501156,"sku":null,"price":399.0,"currency_code":"ZAR","in_stock":true},{"title":"Beige","offer_id":67983742566692,"sku":null,"price":399.0,"currency_code":"ZAR","in_stock":true},{"title":"Grey","offer_id":67983742599460,"sku":null,"price":399.0,"currency_code":"ZAR","in_stock":true},{"title":"Baby Pink","offer_id":67983742632228,"sku":null,"price":399.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1027\/6139\/8564\/files\/39F3DC07-CE67-4A63-B6F5-B9E49BD26222.png?v=1794005706"},{"product_id":"viral-on-the-go-pack","title":"VIRAL On-the-Go Pack","description":"\u003cstyle\u003e.vgo{--s:#e9edf2;--m:#aab3bd;--l:rgba(225,232,240,.22);color:var(--s);font-family:inherit;line-height:1.55;margin:0 0 8px} .vgo *{box-sizing:border-box} .vgo-card{position:relative;overflow:hidden;border:1px solid rgba(225,232,240,.28);border-radius:22px;padding:24px;background:linear-gradient(145deg,#0a0c0f,#16191e);box-shadow:0 18px 40px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.14);margin-bottom:12px} .vgo-card::before{content:\"\";position:absolute;top:-60%;left:-40%;width:40%;height:220%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);transform:rotate(18deg);animation:vgoSweep 6s ease-in-out infinite;pointer-events:none} .vgo-k{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#c8d0d9;margin:0 0 10px} .vgo-k i{width:7px;height:7px;border-radius:50%;background:#e9edf2;box-shadow:0 0 0 0 rgba(233,237,242,.6);animation:vgoPing 2s infinite} .vgo-h{margin:0 0 10px;font-size:clamp(24px,4.4vw,32px);line-height:1.06;letter-spacing:-.02em;font-weight:700;background:linear-gradient(100deg,#9aa1a8 0%,#ffffff 30%,#b9c0c7 50%,#ffffff 70%,#9aa1a8 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:vgoShine 5s linear infinite} .vgo-lead{margin:0;color:#c3cad2;font-size:15px;max-width:52ch} .vgo-in{animation:vgoUp .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--d,0s)} .vgo-t{margin:22px 0 10px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#9fa8b2} .vgo-acc{border:1px solid var(--l);border-radius:14px;background:rgba(255,255,255,.025);margin:0 0 8px;overflow:hidden;transition:border-color .25s} .vgo-acc[open]{border-color:rgba(233,237,242,.45)} .vgo-acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:600;font-size:14px;color:#eef1f4} .vgo-acc summary::-webkit-details-marker{display:none} .vgo-acc summary::after{content:\"+\";font-size:20px;line-height:1;color:#c9d0d7;transition:transform .3s} .vgo-acc[open] summary::after{transform:rotate(45deg)} .vgo-acc div{padding:0 16px 14px;color:var(--m);font-size:13.5px;animation:vgoUp .45s both} .vgo-acc div p{margin:0 0 6px} @keyframes vgoUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}} @keyframes vgoShine{to{background-position:-220% 0}} @keyframes vgoSweep{0%,55%{left:-40%}100%{left:130%}} @keyframes vgoPing{0%{box-shadow:0 0 0 0 rgba(233,237,242,.55)}80%,100%{box-shadow:0 0 0 9px rgba(233,237,242,0)}} @supports (animation-timeline:view()){.vgo-in{animation:vgoUp linear both;animation-timeline:view();animation-range:entry 0% entry 55%}} @media(max-width:749px){.vgo-card{padding:20px;border-radius:18px}} @media(prefers-reduced-motion:reduce){.vgo *,.vgo *::before,.vgo *::after{animation:none!important;transition:none!important}} .vgo-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px;position:relative} .vgo-step{position:relative;text-align:center;padding:16px 8px 14px;border:1px solid var(--l);border-radius:16px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.015));transition:transform .3s,border-color .3s} .vgo-step:hover{transform:translateY(-3px);border-color:rgba(233,237,242,.5)} .vgo-step svg{width:42px;height:42px;display:block;margin:0 auto 8px} .vgo-step b{display:block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#f3f5f7} .vgo-step span{display:block;font-size:12px;color:var(--m);margin-top:3px} .vgo-step:not(:last-child)::after{content:\"\";position:absolute;top:36px;right:-9px;width:8px;height:2px;background:linear-gradient(90deg,#e9edf2,transparent);animation:vgoFlow 1.6s ease-in-out infinite} .vgo-drop{animation:vgoDrop 1.8s cubic-bezier(.5,0,.5,1) infinite} .vgo-spin{transform-origin:24px 24px;animation:vgoSpin 1.1s linear infinite} .vgo-fill{transform-origin:24px 40px;animation:vgoFill 2.6s ease-in-out infinite} .vgo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px} .vgo-f{padding:15px 14px;border:1px solid var(--l);border-radius:16px;background:rgba(255,255,255,.03);transition:transform .3s,border-color .3s,background .3s} .vgo-f:hover{transform:translateY(-3px);border-color:rgba(233,237,242,.5);background:rgba(255,255,255,.06)} .vgo-f em{display:block;font-style:normal;font-size:20px;margin-bottom:6px} .vgo-f b{display:block;font-size:13.5px;color:#f3f5f7;margin-bottom:3px} .vgo-f span{display:block;font-size:12.5px;color:var(--m);line-height:1.45} @keyframes vgoSpin{to{transform:rotate(360deg)}} @keyframes vgoDrop{0%{transform:translateY(-6px);opacity:0}25%{opacity:1}60%,100%{transform:translateY(6px);opacity:0}} @keyframes vgoFill{0%,15%{transform:scaleY(.15)}60%,85%{transform:scaleY(1)}100%{transform:scaleY(.15)}} @keyframes vgoFlow{0%,100%{opacity:.2}50%{opacity:1}} @media(max-width:749px){.vgo-grid{grid-template-columns:repeat(2,1fr)}.vgo-step b{font-size:12px}.vgo-step span{font-size:11px}}.vgo .vgo-card:before{z-index:0}.vgo-card\u003e*{position:relative;z-index:1}.vgo-f em{color:#c9a66d}.vgo-acc a{color:#e9edf2;text-underline-offset:3px}.vgo-note{padding:14px 16px;border:1px solid rgba(201,166,109,.3);border-radius:14px;background:rgba(201,166,109,.04);color:#c3cad2;font-size:13px;line-height:1.6;margin:12px 0}.vgo .vgo-h{overflow-wrap:anywhere}@media(max-width:380px){.vgo-steps{gap:6px}.vgo-step{padding:12px 5px}.vgo-step b{font-size:10px}.vgo-step span{font-size:10px}}\u003c\/style\u003e\u003cdiv class=\"vgo\"\u003e\n\u003csection class=\"vgo-card\"\u003e\u003cp class=\"vgo-k vgo-in\"\u003e\u003ci aria-hidden=\"true\"\u003e\u003c\/i\u003eMeasure. Blend. Take it with you.\u003c\/p\u003e\n\u003ch2 class=\"vgo-h vgo-in\" style=\"--d:.08s\"\u003eVIRAL ON-THE-GO PACK\u003c\/h2\u003e\n\u003cp class=\"vgo-lead vgo-in\" style=\"--d:.16s\"\u003eYour shake routine, ready to go. One portable blender, one carry pouch and one digital spoon scale — choose each colour separately and make the combination yours.\u003c\/p\u003e\n\u003cdiv class=\"vgo-steps\"\u003e\n\u003cdiv class=\"vgo-step vgo-in\" style=\"--d:0.24s\"\u003e\n\u003csvg viewbox=\"0 0 48 48\" fill=\"none\" stroke=\"#e9edf2\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\u003cellipse cx=\"16\" cy=\"15\" rx=\"8\" ry=\"10\" transform=\"rotate(-40 16 15)\"\u003e\u003c\/ellipse\u003e\u003cpath d=\"M22 23l16 17\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cb\u003eMeasure\u003c\/b\u003e\u003cspan\u003eCheck your powder weight\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vgo-step vgo-in\" style=\"--d:0.32s\"\u003e\n\u003csvg viewbox=\"0 0 48 48\" fill=\"none\" stroke=\"#e9edf2\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\u003crect x=\"14\" y=\"8\" width=\"20\" height=\"34\" rx=\"5\"\u003e\u003c\/rect\u003e\u003cpath d=\"M14 15h20M14 33h20M20 5h8M21 22l6 6M27 22l-6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cb\u003eBlend\u003c\/b\u003e\u003cspan\u003eMake your smoothie or shake\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vgo-step vgo-in\" style=\"--d:0.4s\"\u003e\n\u003csvg viewbox=\"0 0 48 48\" fill=\"none\" stroke=\"#e9edf2\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\u003cpath d=\"M10 18h28v23H10zM16 18V9h16v9M16 26h16v11H16z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cb\u003eCarry\u003c\/b\u003e\u003cspan\u003ePack up and head out\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003cp class=\"vgo-t vgo-in\"\u003eWhy you'll love it\u003c\/p\u003e\n\u003cdiv class=\"vgo-grid\"\u003e\n\u003cdiv class=\"vgo-f vgo-in\" style=\"--d:0.05s\"\u003e\n\u003cem aria-hidden=\"true\"\u003e⚖\u003c\/em\u003e\u003cb\u003eKnow your grams\u003c\/b\u003e\u003cspan\u003eWeigh powders directly in the spoon before adding them.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vgo-f vgo-in\" style=\"--d:0.12000000000000001s\"\u003e\n\u003cem aria-hidden=\"true\"\u003e⚡\u003c\/em\u003e\u003cb\u003eBlend anywhere\u003c\/b\u003e\u003cspan\u003eUSB-rechargeable blender for your daily smoothies and shakes.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vgo-f vgo-in\" style=\"--d:0.19s\"\u003e\n\u003cem aria-hidden=\"true\"\u003e↗\u003c\/em\u003e\u003cb\u003eCarry hands-free\u003c\/b\u003e\u003cspan\u003eAdjustable pouch strap and a separate front zip pocket.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vgo-f vgo-in\" style=\"--d:0.26s\"\u003e\n\u003cem aria-hidden=\"true\"\u003e◈\u003c\/em\u003e\u003cb\u003eMix your colours\u003c\/b\u003e\u003cspan\u003e4 blender colours × 4 pouch colours × 2 spoon colours.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"vgo-t vgo-in\"\u003eGood to know\u003c\/p\u003e\n\u003cdetails class=\"vgo-acc vgo-in\"\u003e\u003csummary\u003eExactly what's in your pack?\u003c\/summary\u003e\u003cdiv\u003e\n\u003cp\u003e\u003cstrong\u003e1 × VIRAL Portable Blender\u003c\/strong\u003e in Black, White, Green or Purple.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e1 × VIRAL Blender Pouch\u003c\/strong\u003e with adjustable shoulder strap, in Black, Beige, Grey or Baby Pink.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e1 × VIRAL Spoon Scale\u003c\/strong\u003e in Black or White.\u003c\/p\u003e\n\u003cp\u003eChoose one colour for each item. Each pack contains three products; the colour pairings shown in the photos are examples, not fixed combinations.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/details\u003e\u003cdetails class=\"vgo-acc vgo-in\"\u003e\u003csummary\u003eHow do I choose my colours?\u003c\/summary\u003e\u003cdiv\u003e\n\u003cp\u003eUse the \u003cstrong\u003eBlender colour\u003c\/strong\u003e, \u003cstrong\u003ePouch colour\u003c\/strong\u003e and \u003cstrong\u003eSpoon scale colour\u003c\/strong\u003e selectors above before adding your pack to cart.\u003c\/p\u003e\n\u003cp\u003eMatch everything or mix it up. All 32 combinations include the same three products.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/details\u003e\u003cdetails class=\"vgo-acc vgo-in\"\u003e\u003csummary\u003eA simple routine, from home to gym\u003c\/summary\u003e\u003cdiv\u003e\n\u003cp\u003eHold the spoon scale level, tare it to zero and add your powder until the display shows the weight you need. Add your measured ingredients and liquid to the blender, secure the lid and blend.\u003c\/p\u003e\n\u003cp\u003ePlace your blender in the pouch, adjust the shoulder strap and take it with you. Follow your supplement's label for serving amounts.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/details\u003e\u003cdetails class=\"vgo-acc vgo-in\"\u003e\u003csummary\u003eSpoon scale: battery and first use\u003c\/summary\u003e\u003cdiv\u003e\n\u003cp\u003eThe spoon scale displays weight in 0.1 g increments, with a maximum capacity of 500 g. Tare resets the reading and HOLD locks it.\u003c\/p\u003e\n\u003cp\u003eIt uses a replaceable CR2032 button battery and is not rechargeable. Remove the white battery insulating strip before first use, refit the cover and switch it on.\u003c\/p\u003e\n\u003cp\u003eHold the handle level while weighing; it is not designed to weigh while resting on a counter.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/details\u003e\u003cdetails class=\"vgo-acc vgo-in\"\u003e\u003csummary\u003eKeep your kit looking its best\u003c\/summary\u003e\u003cdiv\u003e\n\u003cp\u003eSpot-clean the pouch and let it air-dry. Wipe the spoon scale with a damp cloth and keep its electronic handle dry.\u003c\/p\u003e\n\u003cp\u003eClean the blender according to its care instructions and dry it before placing it in the pouch.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/details\u003e\n\u003c\/div\u003e","brand":"VIRAL","offers":[{"title":"Black \/ Black \/ Black","offer_id":67983743418660,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Black \/ Black \/ White","offer_id":67983743451428,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Black \/ Beige \/ Black","offer_id":67983743484196,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Black \/ Beige \/ White","offer_id":67983743516964,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Black \/ Grey \/ Black","offer_id":67983743549732,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Black \/ Grey \/ White","offer_id":67983743582500,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Black \/ Baby Pink \/ Black","offer_id":67983743615268,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Black \/ Baby Pink \/ White","offer_id":67983743648036,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"White \/ Black \/ Black","offer_id":67983743680804,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"White \/ Black \/ White","offer_id":67983743713572,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"White \/ Beige \/ Black","offer_id":67983743746340,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"White \/ Beige \/ White","offer_id":67983743779108,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"White \/ Grey \/ Black","offer_id":67983743811876,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"White \/ Grey \/ White","offer_id":67983743844644,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"White \/ Baby Pink \/ Black","offer_id":67983743877412,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"White \/ Baby Pink \/ White","offer_id":67983743910180,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Green \/ Black \/ Black","offer_id":67983743942948,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Green \/ Black \/ White","offer_id":67983743975716,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Green \/ Beige \/ Black","offer_id":67983744008484,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Green \/ Beige \/ White","offer_id":67983744041252,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Green \/ Grey \/ Black","offer_id":67983744074020,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Green \/ Grey \/ White","offer_id":67983744106788,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Green \/ Baby Pink \/ Black","offer_id":67983744139556,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Green \/ Baby Pink \/ White","offer_id":67983744172324,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Purple \/ Black \/ Black","offer_id":67983744205092,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Purple \/ Black \/ White","offer_id":67983744237860,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Purple \/ Beige \/ Black","offer_id":67983744270628,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Purple \/ Beige \/ White","offer_id":67983744303396,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Purple \/ Grey \/ Black","offer_id":67983744336164,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Purple \/ Grey \/ White","offer_id":67983744368932,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Purple \/ Baby Pink \/ Black","offer_id":67983744401700,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Purple \/ Baby Pink \/ White","offer_id":67983744434468,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1027\/6139\/8564\/files\/44AA8B73-904A-41D5-9718-4A9A68536287.png?v=1793754837"},{"product_id":"viral-green-purple-duo","title":"VIRAL Green \u0026 Purple Duo","description":"\u003cstyle\u003e.vpd{--s:#e9edf2;--m:#aab3bd;--l:rgba(225,232,240,.22);color:var(--s);font-family:inherit;line-height:1.55;margin:0 0 8px} .vpd *{box-sizing:border-box} .vpd-card{position:relative;overflow:hidden;border:1px solid rgba(225,232,240,.28);border-radius:22px;padding:24px;background:linear-gradient(145deg,#0a0c0f,#16191e);box-shadow:0 18px 40px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.14);margin-bottom:12px} .vpd-card::before{content:\"\";position:absolute;top:-60%;left:-40%;width:40%;height:220%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);transform:rotate(18deg);animation:vpdSweep 6s ease-in-out infinite;pointer-events:none} .vpd-k{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#c8d0d9;margin:0 0 10px} .vpd-k i{width:7px;height:7px;border-radius:50%;background:#e9edf2;box-shadow:0 0 0 0 rgba(233,237,242,.6);animation:vpdPing 2s infinite} .vpd-h{margin:0 0 10px;font-size:clamp(24px,4.4vw,32px);line-height:1.06;letter-spacing:-.02em;font-weight:700;background:linear-gradient(100deg,#9aa1a8 0%,#ffffff 30%,#b9c0c7 50%,#ffffff 70%,#9aa1a8 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:vpdShine 5s linear infinite} .vpd-lead{margin:0;color:#c3cad2;font-size:15px;max-width:52ch} .vpd-in{animation:vpdUp .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--d,0s)} .vpd-t{margin:22px 0 10px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#9fa8b2} .vpd-acc{border:1px solid var(--l);border-radius:14px;background:rgba(255,255,255,.025);margin:0 0 8px;overflow:hidden;transition:border-color .25s} .vpd-acc[open]{border-color:rgba(233,237,242,.45)} .vpd-acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:600;font-size:14px;color:#eef1f4} .vpd-acc summary::-webkit-details-marker{display:none} .vpd-acc summary::after{content:\"+\";font-size:20px;line-height:1;color:#c9d0d7;transition:transform .3s} .vpd-acc[open] summary::after{transform:rotate(45deg)} .vpd-acc div{padding:0 16px 14px;color:var(--m);font-size:13.5px;animation:vpdUp .45s both} .vpd-acc div p{margin:0 0 6px} @keyframes vpdUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}} @keyframes vpdShine{to{background-position:-220% 0}} @keyframes vpdSweep{0%,55%{left:-40%}100%{left:130%}} @keyframes vpdPing{0%{box-shadow:0 0 0 0 rgba(233,237,242,.55)}80%,100%{box-shadow:0 0 0 9px rgba(233,237,242,0)}} @supports (animation-timeline:view()){.vpd-in{animation:vpdUp linear both;animation-timeline:view();animation-range:entry 0% entry 55%}} @media(max-width:749px){.vpd-card{padding:20px;border-radius:18px}} @media(prefers-reduced-motion:reduce){.vpd *,.vpd *::before,.vpd *::after{animation:none!important;transition:none!important}} .vpd-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px;position:relative} .vpd-step{position:relative;text-align:center;padding:16px 8px 14px;border:1px solid var(--l);border-radius:16px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.015));transition:transform .3s,border-color .3s} .vpd-step:hover{transform:translateY(-3px);border-color:rgba(233,237,242,.5)} .vpd-step svg{width:42px;height:42px;display:block;margin:0 auto 8px} .vpd-step b{display:block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#f3f5f7} .vpd-step span{display:block;font-size:12px;color:var(--m);margin-top:3px} .vpd-step:not(:last-child)::after{content:\"\";position:absolute;top:36px;right:-9px;width:8px;height:2px;background:linear-gradient(90deg,#e9edf2,transparent);animation:vpdFlow 1.6s ease-in-out infinite} .vpd-drop{animation:vpdDrop 1.8s cubic-bezier(.5,0,.5,1) infinite} .vpd-spin{transform-origin:24px 24px;animation:vpdSpin 1.1s linear infinite} .vpd-fill{transform-origin:24px 40px;animation:vpdFill 2.6s ease-in-out infinite} .vpd-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px} .vpd-f{padding:15px 14px;border:1px solid var(--l);border-radius:16px;background:rgba(255,255,255,.03);transition:transform .3s,border-color .3s,background .3s} .vpd-f:hover{transform:translateY(-3px);border-color:rgba(233,237,242,.5);background:rgba(255,255,255,.06)} .vpd-f em{display:block;font-style:normal;font-size:20px;margin-bottom:6px} .vpd-f b{display:block;font-size:13.5px;color:#f3f5f7;margin-bottom:3px} .vpd-f span{display:block;font-size:12.5px;color:var(--m);line-height:1.45} @keyframes vpdSpin{to{transform:rotate(360deg)}} @keyframes vpdDrop{0%{transform:translateY(-6px);opacity:0}25%{opacity:1}60%,100%{transform:translateY(6px);opacity:0}} @keyframes vpdFill{0%,15%{transform:scaleY(.15)}60%,85%{transform:scaleY(1)}100%{transform:scaleY(.15)}} @keyframes vpdFlow{0%,100%{opacity:.2}50%{opacity:1}} @media(max-width:749px){.vpd-grid{grid-template-columns:repeat(2,1fr)}.vpd-step b{font-size:12px}.vpd-step span{font-size:11px}}\u003c\/style\u003e\n\u003cdiv class=\"vpd\"\u003e\n\u003csection class=\"vpd-card\"\u003e\n\u003cp class=\"vpd-k vpd-in\"\u003e\u003ci\u003e\u003c\/i\u003eTwo blenders, one great price\u003c\/p\u003e\n\u003ch2 class=\"vpd-h vpd-in\" style=\"--d:.08s\"\u003eGREEN \u0026amp; PURPLE DUO\u003c\/h2\u003e\n\u003cp class=\"vpd-lead vpd-in\" style=\"--d:.16s\"\u003eOne green and one purple VIRAL PORTABLE BLENDER, plus the VIRAL Blender Recipe Book free. One for you, one for someone you love.\u003c\/p\u003e\n\u003cdiv class=\"vpd-steps\"\u003e\n\u003cdiv class=\"vpd-step vpd-in\" style=\"--d:.24s\"\u003e\n\u003csvg viewbox=\"0 0 48 48\" fill=\"none\" stroke=\"#e9edf2\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M10 14h12l-1 26h-10zM26 14h12l-1 26h-10z\"\u003e\u003c\/path\u003e\u003cg class=\"vpd-drop\"\u003e\u003ccircle cx=\"16\" cy=\"8\" r=\"2\" fill=\"#e9edf2\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"32\" cy=\"8\" r=\"2\" fill=\"#e9edf2\"\u003e\u003c\/circle\u003e\u003c\/g\u003e\u003c\/svg\u003e\u003cb\u003e2 blenders\u003c\/b\u003e\u003cspan\u003eGreen + Purple\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vpd-step vpd-in\" style=\"--d:.32s\"\u003e\n\u003csvg viewbox=\"0 0 48 48\" fill=\"none\" stroke=\"#e9edf2\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M10 10h22a6 6 0 0 1 6 6v24H16a6 6 0 0 1-6-6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 18h16M16 24h16M16 30h10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cb\u003eFree book\u003c\/b\u003e\u003cspan\u003e30 blender recipes\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vpd-step vpd-in\" style=\"--d:.40s\"\u003e\n\u003csvg viewbox=\"0 0 48 48\" fill=\"none\" stroke=\"#e9edf2\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003ccircle cx=\"24\" cy=\"24\" r=\"17\" stroke-opacity=\".3\"\u003e\u003c\/circle\u003e\u003cpath d=\"M16 24.5l5.5 5.5L33 18.5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cb\u003eFast delivery\u003c\/b\u003e\u003cspan\u003e3–7 business days\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cp class=\"vpd-t vpd-in\"\u003eWhy you'll love it\u003c\/p\u003e\n\u003cdiv class=\"vpd-grid\"\u003e\n\u003cdiv class=\"vpd-f vpd-in\" style=\"--d:.05s\"\u003e\n\u003cem\u003e💸\u003c\/em\u003e\u003cb\u003eBig saving\u003c\/b\u003e\u003cspan\u003eTwo blenders and the FREE digital Recipe Book for R849. Combined reference value: R1,548 (2 blenders at R699 each + Recipe Book at its R150 compare-at price). SAVE R699.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vpd-f vpd-in\" style=\"--d:.12s\"\u003e\n\u003cem\u003e🎁\u003c\/em\u003e\u003cb\u003ePerfect to share\u003c\/b\u003e\u003cspan\u003eOne to keep, one to give.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vpd-f vpd-in\" style=\"--d:.19s\"\u003e\n\u003cem\u003e⚡\u003c\/em\u003e\u003cb\u003eRechargeable\u003c\/b\u003e\u003cspan\u003eUSB charging, blend anywhere.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vpd-f vpd-in\" style=\"--d:.26s\"\u003e\n\u003cem\u003e📖\u003c\/em\u003e\u003cb\u003eFree recipe book\u003c\/b\u003e\u003cspan\u003eSmoothies, shakes and iced coffee.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"vpd-t vpd-in\"\u003eGood to know\u003c\/p\u003e\n\u003cdetails class=\"vpd-acc vpd-in\"\u003e\u003csummary\u003eWhat's in the box?\u003c\/summary\u003e\u003cdiv\u003e\u003cp\u003eOne green VIRAL PORTABLE BLENDER, one purple VIRAL PORTABLE BLENDER, and the VIRAL Blender Recipe Book (digital).\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails class=\"vpd-acc vpd-in\"\u003e\u003csummary\u003eCharging and cleaning\u003c\/summary\u003e\u003cdiv\u003e\n\u003cp\u003eCharge each blender with a USB cable, then blend wherever you are.\u003c\/p\u003e\n\u003cp\u003eTo clean, blend some warm water and a drop of dish soap for a few seconds, then rinse.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails class=\"vpd-acc vpd-in\"\u003e\u003csummary\u003eDelivery\u003c\/summary\u003e\u003cdiv\u003e\u003cp\u003eFree nationwide delivery in South Africa, in 3–7 business days.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003c\/div\u003e","brand":"VIRAL","offers":[{"title":"Default Title","offer_id":67990396797220,"sku":null,"price":849.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1027\/6139\/8564\/files\/fde39fb9-15d2-4b94-b159-2a3c0072f1ba.png?v=1793626975"},{"product_id":"viral-gains-pack","title":"VIRAL Gains Bundle","description":"\u003cstyle\u003e.vgp{--s:#e9edf2;--m:#aab3bd;--l:rgba(225,232,240,.22);color:var(--s);font-family:inherit;line-height:1.55;margin:0 0 8px} .vgp *{box-sizing:border-box} .vgp-card{position:relative;overflow:hidden;border:1px solid rgba(225,232,240,.28);border-radius:22px;padding:24px;background:linear-gradient(145deg,#0a0c0f,#16191e);box-shadow:0 18px 40px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.14);margin-bottom:12px} .vgp-card::before{content:\"\";position:absolute;top:-60%;left:-40%;width:40%;height:220%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);transform:rotate(18deg);animation:vgpSweep 6s ease-in-out infinite;pointer-events:none;z-index:0} .vgp-card\u003e*{position:relative;z-index:1} .vgp-k{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#c8d0d9;margin:0 0 10px} .vgp-k i{width:7px;height:7px;border-radius:50%;background:#c9a66d;box-shadow:0 0 0 0 rgba(201,166,109,.6);animation:vgpPing 2s infinite} .vgp-h{margin:0 0 10px;font-size:clamp(24px,4.4vw,32px);line-height:1.06;letter-spacing:-.02em;font-weight:700;overflow-wrap:anywhere;background:linear-gradient(100deg,#9aa1a8 0%,#ffffff 30%,#b9c0c7 50%,#ffffff 70%,#9aa1a8 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:vgpShine 5s linear infinite} .vgp-lead{margin:0;color:#c3cad2;font-size:15px;max-width:52ch} .vgp-in{animation:vgpUp .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--d,0s)} .vgp-t{margin:22px 0 10px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#9fa8b2} .vgp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px} .vgp-step{position:relative;text-align:center;padding:16px 8px 14px;border:1px solid var(--l);border-radius:16px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.015));transition:transform .3s,border-color .3s} .vgp-step:hover{transform:translateY(-3px);border-color:rgba(233,237,242,.5)} .vgp-step svg{width:42px;height:42px;display:block;margin:0 auto 8px;overflow:visible} .vgp-step b{display:block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#f3f5f7} .vgp-step span{display:block;font-size:12px;color:var(--m);margin-top:3px} .vgp-step:not(:last-child)::after{content:\"\";position:absolute;top:36px;right:-9px;width:8px;height:2px;background:linear-gradient(90deg,#c9a66d,transparent);animation:vgpFlow 1.6s ease-in-out infinite} .vgp-tilt{transform-origin:24px 30px;animation:vgpTilt 2.4s ease-in-out infinite} .vgp-drop{animation:vgpDrop 1.6s cubic-bezier(.5,0,.5,1) infinite} .vgp-spin{transform-origin:24px 26px;animation:vgpSpin 1.1s linear infinite} .vgp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px} .vgp-f{padding:15px 14px;border:1px solid var(--l);border-radius:16px;background:rgba(255,255,255,.03);transition:transform .3s,border-color .3s,background .3s} .vgp-f:hover{transform:translateY(-3px);border-color:rgba(233,237,242,.5);background:rgba(255,255,255,.06)} .vgp-f em{display:block;font-style:normal;font-size:20px;margin-bottom:6px;color:#c9a66d} .vgp-f b{display:block;font-size:13.5px;color:#f3f5f7;margin-bottom:3px} .vgp-f span{display:block;font-size:12.5px;color:var(--m);line-height:1.45} .vgp-val{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:12px 0;padding:16px 18px;border:1px solid rgba(201,166,109,.45);border-radius:16px;background:linear-gradient(135deg,rgba(201,166,109,.10),rgba(201,166,109,.02))} .vgp-val p{margin:0;color:#c3cad2;font-size:13.5px} .vgp-val s{color:#8f969c} .vgp-val strong{font-size:22px;color:#e1c28e;letter-spacing:-.01em} .vgp-acc{border:1px solid var(--l);border-radius:14px;background:rgba(255,255,255,.025);margin:0 0 8px;overflow:hidden;transition:border-color .25s} .vgp-acc[open]{border-color:rgba(233,237,242,.45)} .vgp-acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:600;font-size:14px;color:#eef1f4} .vgp-acc summary::-webkit-details-marker{display:none} .vgp-acc summary::after{content:\"+\";font-size:20px;line-height:1;color:#c9d0d7;transition:transform .3s} .vgp-acc[open] summary::after{transform:rotate(45deg)} .vgp-acc div{padding:0 16px 14px;color:var(--m);font-size:13.5px;animation:vgpUp .45s both} .vgp-acc div p{margin:0 0 6px} @keyframes vgpUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}} @keyframes vgpShine{to{background-position:-220% 0}} @keyframes vgpSweep{0%,55%{left:-40%}100%{left:130%}} @keyframes vgpPing{0%{box-shadow:0 0 0 0 rgba(201,166,109,.55)}80%,100%{box-shadow:0 0 0 9px rgba(201,166,109,0)}} @keyframes vgpFlow{0%,100%{opacity:.2}50%{opacity:1}} @keyframes vgpTilt{0%,100%{transform:rotate(0)}50%{transform:rotate(-8deg)}} @keyframes vgpDrop{0%{transform:translateY(-6px);opacity:0}25%{opacity:1}60%,100%{transform:translateY(7px);opacity:0}} @keyframes vgpSpin{to{transform:rotate(360deg)}} @supports (animation-timeline:view()){.vgp-in{animation:vgpUp linear both;animation-timeline:view();animation-range:entry 0% entry 55%}} @media(max-width:749px){.vgp-card{padding:20px;border-radius:18px}.vgp-grid{grid-template-columns:repeat(2,1fr)}.vgp-step b{font-size:12px}.vgp-step span{font-size:11px}} @media(max-width:380px){.vgp-steps{gap:6px}.vgp-step{padding:12px 5px}.vgp-step b{font-size:10px}.vgp-step span{font-size:10px}} @media(prefers-reduced-motion:reduce){.vgp *,.vgp *::before,.vgp *::after{animation:none!important;transition:none!important}}\u003c\/style\u003e\n\u003cdiv class=\"vgp\"\u003e\n\u003csection class=\"vgp-card\"\u003e\n\u003cp class=\"vgp-k vgp-in\"\u003e\u003ci aria-hidden=\"true\"\u003e\u003cbr\u003e\u003c\/i\u003eWeigh. Pour. Blend.\u003c\/p\u003e\n\u003ch2 class=\"vgp-h vgp-in\" style=\"--d: .08s;\"\u003eVIRAL GAINS BUNDLE\u003c\/h2\u003e\n\u003cp class=\"vgp-lead vgp-in\" style=\"--d: .16s;\"\u003eYour gym-day essentials, elevated. One VIRAL Portable Blender, one precise Digital Spoon Scale, the digital VIRAL Blender Recipe Book, and a \u003cstrong\u003eFREE NPL Creatine Monohydrate 150 g (30 servings)\u003c\/strong\u003e. Pick your blender and spoon-scale colours; the book and creatine are included with every combination.\u003c\/p\u003e\n\u003cdiv class=\"vgp-steps\"\u003e\n\u003cdiv class=\"vgp-step vgp-in\" style=\"--d: .24s;\"\u003e\n\u003csvg viewbox=\"0 0 48 48\" fill=\"none\" stroke=\"#e9edf2\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\u003cg class=\"vgp-tilt\"\u003e\u003cellipse cx=\"16\" cy=\"15\" rx=\"8\" ry=\"10\" transform=\"rotate(-40 16 15)\"\u003e\u003c\/ellipse\u003e\u003cpath d=\"M22 23l16 17\"\u003e\u003c\/path\u003e\u003c\/g\u003e\u003c\/svg\u003e\u003cb\u003eWeigh\u003c\/b\u003e\u003cspan\u003eExact grams, every scoop.    \u003cbr\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vgp-step vgp-in\" style=\"--d: .24s;\"\u003e\u003cspan\u003e\u003cspan style=\"color: rgb(243, 245, 247); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: bold; font-family: inherit; display: inline !important;\"\u003ePour\u003c\/span\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"vgp-step vgp-in\" style=\"--d: .40s;\"\u003e\n\u003csvg viewbox=\"0 0 48 48\" fill=\"none\" stroke=\"#e9edf2\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\u003crect x=\"14\" y=\"8\" width=\"20\" height=\"34\" rx=\"5\"\u003e\u003c\/rect\u003e\u003cpath d=\"M14 15h20M14 35h20\"\u003e\u003c\/path\u003e\u003cg class=\"vgp-spin\"\u003e\u003cpath d=\"M24 26l-5-3M24 26l5 3M24 26l3-5M24 26l-3 5\"\u003e\u003c\/path\u003e\u003c\/g\u003e\u003c\/svg\u003e\u003cb\u003eBlend\u003c\/b\u003e\u003cspan\u003eSmooth shake in seconds\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cdiv class=\"vgp-val vgp-in\"\u003e\n\u003cp\u003e\u003cb\u003eMore in every bundle.\u003c\/b\u003e\u003cbr\u003eCombined individual reference value: \u003cs\u003eR1,438\u003c\/s\u003e\u003cbr\u003e\u003csmall\u003eBlender R699 · Spoon Scale R389 · Recipe Book R150 · Creatine approximately R200\u003c\/small\u003e\u003c\/p\u003e\n\u003cstrong\u003eR885 · SAVE R553\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cp class=\"vgp-t vgp-in\"\u003eWhy you'll love it\u003c\/p\u003e\n\u003cdiv class=\"vgp-grid\"\u003e\n\u003cdiv class=\"vgp-f vgp-in\" style=\"--d: .05s;\"\u003e\n\u003cem aria-hidden=\"true\"\u003e⚖\u003c\/em\u003e\u003cb\u003eExact scoops\u003c\/b\u003e\u003cspan\u003eThe spoon scale reads to 0.1 g, so no more guessing.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vgp-f vgp-in\" style=\"--d: .19s;\"\u003e\n\u003cem aria-hidden=\"true\"\u003e⚡\u003c\/em\u003e\u003cb\u003eSmooth shakes\u003c\/b\u003e\u003cspan\u003eUSB-rechargeable blender with stainless steel blades.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vgp-f vgp-in\" style=\"--d: .26s;\"\u003e\n\u003cem aria-hidden=\"true\"\u003e◈\u003c\/em\u003e\u003cb\u003eFREE creatine\u003c\/b\u003e\u003cspan\u003eNPL Creatine Monohydrate 150 g, unflavoured, with 30 servings.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"vgp-f vgp-in\" style=\"--d: .33s;\"\u003e\n\u003cem aria-hidden=\"true\"\u003e▧\u003c\/em\u003e\u003cb\u003eRecipe inspiration\u003c\/b\u003e\u003cspan\u003e30 authentic VIRAL blender recipes in one digital recipe book.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"vgp-t vgp-in\"\u003eGood to know\u003c\/p\u003e\n\u003cdetails class=\"vgp-acc vgp-in\" open=\"\"\u003e\n\u003csummary\u003eExactly what's in your pack?\u003c\/summary\u003e\n\u003cdiv\u003e\n\u003cp\u003e\u003cstrong\u003e1 × VIRAL Portable Blender\u003c\/strong\u003e in Green, Purple, Black or White.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e1 × VIRAL Digital Spoon Scale\u003c\/strong\u003e in Black or White.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e1 × NPL Creatine Monohydrate 150 g — FREE\u003c\/strong\u003e, unflavoured (30 servings).\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e1 × VIRAL Blender Recipe Book\u003c\/strong\u003e, digital edition featuring 30 recipes (provided as a download, not a printed book).\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"vgp-acc vgp-in\"\u003e\n\u003csummary\u003eHow do I choose my colours?\u003c\/summary\u003e\n\u003cdiv\u003e\n\u003cp\u003eUse the \u003cstrong\u003eBlender colour\u003c\/strong\u003e \u0026amp; \u003cstrong\u003eSpoon scale colour \u003c\/strong\u003e selectors above before adding your pack to cart.\u003c\/p\u003e\n\u003cp\u003eMatch everything or mix it up. All eight colour combinations include the same four items. The creatine and digital recipe book have no separate options.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"vgp-acc vgp-in\"\u003e\n\u003csummary\u003eA simple routine, from home to gym\u003c\/summary\u003e\n\u003cdiv\u003e\n\u003cp\u003eHold the spoon scale level, tare it to zero and add your powder until the display shows the weight you need. Pour it into the blender, add your liquid, close the lid and blend.\u003c\/p\u003e\n\u003cp\u003eFollow your supplement's label for serving amounts.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"vgp-acc vgp-in\"\u003e\n\u003csummary\u003eSpoon scale: battery and first use\u003c\/summary\u003e\n\u003cdiv\u003e\n\u003cp\u003eThe spoon scale displays weight in 0.1 g increments, with a maximum capacity of 500 g. Tare resets the reading and HOLD locks it.\u003c\/p\u003e\n\u003cp\u003eIt uses a replaceable CR2032 button battery and is not rechargeable. Remove the battery insulating strip before first use.\u003c\/p\u003e\n\u003cp\u003eHold the handle level while weighing; it is not designed to weigh while resting on a counter.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"vgp-acc vgp-in\"\u003e\n\u003csummary\u003eCharging and cleaning\u003c\/summary\u003e\n\u003cdiv\u003e\n\u003cp\u003eCharge the blender with its USB-C cable, then blend wherever you are.\u003c\/p\u003e\n\u003cp\u003eTo clean, blend some warm water and a drop of dish soap for a few seconds, then rinse.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"vgp-acc vgp-in\"\u003e\n\u003csummary\u003eDelivery\u003c\/summary\u003e\n\u003cdiv\u003e\n\u003cp\u003eFree delivery anywhere in South Africa. Green and Purple packs arrive in 3–7 business days, Black and White in 3–10 business days. The digital recipe book is supplied separately from the physical parcel.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003c\/div\u003e","brand":"VIRAL","offers":[{"title":"Green \/ Black","offer_id":68142915944740,"sku":null,"price":885.0,"currency_code":"ZAR","in_stock":true},{"title":"Green \/ White","offer_id":68143091777828,"sku":null,"price":885.0,"currency_code":"ZAR","in_stock":true},{"title":"Purple \/ Black","offer_id":68142915977508,"sku":null,"price":885.0,"currency_code":"ZAR","in_stock":true},{"title":"Purple \/ White","offer_id":68143091876132,"sku":null,"price":885.0,"currency_code":"ZAR","in_stock":true},{"title":"Black \/ Black","offer_id":68142916010276,"sku":null,"price":885.0,"currency_code":"ZAR","in_stock":true},{"title":"Black \/ White","offer_id":68143091974436,"sku":null,"price":885.0,"currency_code":"ZAR","in_stock":true},{"title":"White \/ Black","offer_id":68142916043044,"sku":null,"price":885.0,"currency_code":"ZAR","in_stock":true},{"title":"White \/ White","offer_id":68143092072740,"sku":null,"price":885.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1027\/6139\/8564\/files\/409AB35E-23BA-47E6-B0E4-DD13A381B337.png?v=1794401971"}],"url":"https:\/\/viral-store.co.za\/collections\/gone-viral.oembed","provider":"VIRAL","version":"1.0","type":"link"}