{"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}}\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\u003eDelivery\u003c\/summary\u003e\u003cdiv\u003e\n\u003cp\u003eFree nationwide delivery on every order in South Africa.\u003c\/p\u003e\n\u003cp\u003ePlease allow 7 to 14 days for your order to arrive.\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":649.0,"currency_code":"ZAR","in_stock":true},{"title":"White","offer_id":56360356872484,"sku":"VIRAL-0010","price":649.0,"currency_code":"ZAR","in_stock":true},{"title":"Green","offer_id":56360356905252,"sku":"VIRAL-0011","price":649.0,"currency_code":"ZAR","in_stock":true},{"title":"Purple","offer_id":56360356938020,"sku":"VIRAL-0012","price":649.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1027\/6139\/8564\/files\/IMG-3410.png?v=1789892834","url":"https:\/\/viral-store.co.za\/products\/viral-portable-blender","provider":"VIRAL","version":"1.0","type":"link"}