{"title":"End of Summer Sale: Battery Operated Water Spray Tanks","description":"\u003cp\u003eSave on battery operated water spray tanks in our End of Summer Sale. Discover portable, cordless spraying solutions for professional window cleaning, soft washing, chemical application and exterior cleaning, with reliable performance wherever the job takes you.\u003c\/p\u003e","products":[{"product_id":"aquaspray-backpack","title":"Aquaspray® Pro 16L Battery Operated Water Spray Backpack","description":"\u003c!-- Aquaspray® Pro 16L Backpack – Carded Product Description (Scoped, Enhanced Capacity Visual) --\u003e\n\u003cstyle\u003e\n  \/* ===== Scoped theme (affects only .e2c-desc) ===== *\/\n  .e2c-desc{\n    --e2c-brand:#00aeef;\n    --e2c-black:#111;\n    --e2c-white:#fff;\n    --e2c-muted:#667085;\n    --e2c-bg:#f7fbff;\n    --e2c-border:#e6f5fc;\n    font-family:system-ui,-apple-system, Segoe UI, Roboto, Arial, sans-serif;\n    color:var(--e2c-black);\n  }\n  .e2c-desc *{box-sizing:border-box;}\n  .e2c-desc img{max-width:100%;height:auto;display:block;margin:0 auto;}\n  .e2c-desc .center{text-align:center;}\n\n  \/* Cards *\/\n  .e2c-desc .card{\n    background:var(--e2c-white);\n    border:1px solid var(--e2c-border);\n    border-radius:14px;\n    padding:20px;\n    box-shadow:0 4px 18px rgba(0,0,0,.06);\n  }\n  .e2c-desc .card + .card{margin-top:16px;}\n\n  \/* Headings \u0026 text *\/\n  .e2c-desc h2,.e2c-desc h3{\n    margin:0 0 10px; line-height:1.15; letter-spacing:.2px; color:var(--e2c-black);\n  }\n  .e2c-desc h2{font-size:clamp(22px,3vw,28px); font-weight:800;}\n  .e2c-desc h3{font-size:clamp(18px,2.4vw,22px); font-weight:700;}\n  .e2c-desc p{margin:10px 0; color:#2b2b2b;}\n  .e2c-desc strong{font-weight:800;}\n\n  \/* Tick list *\/\n  .e2c-desc ul{list-style:none; padding:0; margin:10px 0; display:grid; gap:8px;}\n  .e2c-desc li{\n    position:relative; padding:10px 12px 10px 40px;\n    background:#fff; border:1px solid var(--e2c-border); border-radius:12px;\n  }\n  .e2c-desc li::before{\n    content:\"✓\"; position:absolute; left:12px; top:50%; transform:translateY(-50%);\n    width:22px; height:22px; border-radius:50%; display:grid; place-items:center;\n    background:var(--e2c-brand); color:#fff; font-weight:900; font-size:13px;\n    box-shadow:0 0 0 4px rgba(0,174,239,.1);\n  }\n\n  \/* Table *\/\n  .e2c-desc table{\n    width:100%; border-collapse:separate; border-spacing:0; margin-top:10px;\n    background:#fff; border:1px solid var(--e2c-border); border-radius:12px; overflow:hidden;\n  }\n  .e2c-desc thead th{\n    background:rgba(0,174,239,.08); text-align:left; padding:12px 14px;\n    font-weight:800; color:var(--e2c-black); border-bottom:1px solid var(--e2c-border);\n  }\n  .e2c-desc tbody td{padding:12px 14px; border-bottom:1px solid #f0f4f8;}\n  .e2c-desc tbody tr:nth-child(odd) td{background:#fbfdff;}\n  .e2c-desc tbody tr:last-child td{border-bottom:0;}\n  .e2c-desc tbody td:first-child{width:42%; font-weight:700; color:#1f2937;}\n\n  \/* Notice *\/\n  .e2c-desc .notice{\n    border-left:4px solid var(--e2c-brand);\n    background:linear-gradient(0deg,#f7fbff,#fff);\n  }\n\n  \/* CTA (consistent typography) *\/\n  .e2c-desc .cta{\n    text-align:center; background:linear-gradient(0deg,#f7fbff,#fff);\n    border:1px solid var(--e2c-border); border-radius:14px; padding:20px;\n    box-shadow:0 0 0 1px rgba(0,174,239,.1),0 6px 16px rgba(0,0,0,.08);\n  }\n  .e2c-desc .cta p{\n    margin:0; font-size:18px; font-weight:800; line-height:1.25; color:var(--e2c-black);\n  }\n\n  \/* ===== Enhanced Capacity Compare (3D capsule + wave + bubbles) ===== *\/\n  .e2c-desc .capacity{\n    display:grid; gap:14px;\n  }\n  .e2c-desc .capsules{\n    display:grid; grid-template-columns:repeat(4,1fr); gap:16px;\n  }\n  .e2c-desc .capsule-wrap{display:grid; gap:6px;}\n  .e2c-desc .capsule{\n    --litres:0;               \/* set per item *\/\n    --max:60;                 \/* scale cap *\/\n    --pct: calc(var(--litres)\/var(--max)); \/* 0–1 *\/\n    position:relative;\n    height:240px; border-radius:22px;\n    background:\n      linear-gradient(145deg,#ffffff 0%, #f3fbff 45%, #e9f7ff 100%);\n    border:1px solid var(--e2c-border);\n    box-shadow:\n      inset 0 2px 3px rgba(255,255,255,.9),\n      inset 0 -2px 6px rgba(0,0,0,.06),\n      0 6px 16px rgba(0,0,0,.08);\n    overflow:hidden;\n  }\n  \/* glass inner edge *\/\n  .e2c-desc .capsule::before{\n    content:\"\";\n    position:absolute; inset:6px;\n    border-radius:18px;\n    box-shadow:inset 0 0 0 1px rgba(11,74,99,.08);\n  }\n  \/* fill (masked by inner radius) *\/\n  .e2c-desc .fill{\n    position:absolute; left:6px; right:6px; bottom:6px;\n    height:calc((var(--pct)) * (100% - 12px));\n    border-radius:16px 16px 18px 18px;\n    background:linear-gradient(180deg, rgba(0,174,239,.95), rgba(0,174,239,.70));\n    overflow:hidden;\n    transition:height .9s cubic-bezier(.23,1,.32,1);\n  }\n  \/* animated waves (two layers) *\/\n  .e2c-desc .wave,\n  .e2c-desc .wave2{\n    position:absolute; left:-40%; right:-40%;\n    height:18px; top:-10px;\n    background:\n      radial-gradient(60px 12px at 20% 50%, rgba(255,255,255,.85), rgba(255,255,255,0) 70%) 0 0\/120px 18px repeat-x;\n    opacity:.9;\n    animation:slidewave 4.8s linear infinite;\n  }\n  .e2c-desc .wave2{\n    top:-6px; opacity:.65; filter:blur(0.6px);\n    animation-duration:6.2s; animation-direction:reverse;\n  }\n  @keyframes slidewave{ to{transform:translateX(40%)} }\n\n  \/* rising bubbles *\/\n  .e2c-desc .bubble{\n    position:absolute; bottom:6px; width:6px; height:6px; border-radius:50%;\n    background:rgba(255,255,255,.85);\n    left:calc(10% + var(--i)*15%);\n    animation:rise 3.6s ease-in infinite;\n    opacity:.7;\n  }\n  .e2c-desc .bubble:nth-child(odd){ width:5px; height:5px; animation-duration:3.1s; }\n  .e2c-desc .bubble:nth-child(3n){ width:7px; height:7px; animation-duration:4.2s; }\n  @keyframes rise{\n    0%{ transform:translateY(0) scale(.9); opacity:.0;}\n    10%{ opacity:.65;}\n    100%{ transform:translateY(-180px) scale(1.1); opacity:0;}\n  }\n\n  \/* litre ruler (outside, right) *\/\n  .e2c-desc .ruler{\n    position:absolute; top:10px; bottom:10px; right:8px; width:28px;\n    background:\n      repeating-linear-gradient(to bottom,\n        transparent 0 24px,\n        rgba(0,0,0,.1) 24px 25px);\n    border-left:1px solid rgba(11,74,99,.12);\n    border-radius:6px;\n    pointer-events:none;\n  }\n  .e2c-desc .tick-top,\n  .e2c-desc .tick-bottom{\n    position:absolute; right:6px;\n    font-size:11px; font-weight:800; color:#0b4a63;\n    background:rgba(255,255,255,.85);\n    padding:2px 6px; border-radius:999px; border:1px solid var(--e2c-border);\n  }\n  .e2c-desc .tick-top{ top:6px; } .e2c-desc .tick-bottom{ bottom:6px; }\n\n  \/* labels \u0026 highlight *\/\n  .e2c-desc .cap-head{\n    font-size:12px; font-weight:800; color:#0b4a63;\n    background:rgba(0,174,239,.08);\n    border:1px solid var(--e2c-border); padding:6px 10px; border-radius:999px;\n    display:inline-block;\n  }\n  .e2c-desc .cap-foot{ text-align:center; font-size:13px; font-weight:700; }\n  .e2c-desc .capsule.is-current{\n    box-shadow:\n      0 0 0 2px rgba(0,174,239,.45),\n      0 10px 24px rgba(0,0,0,.10),\n      inset 0 2px 4px rgba(0,0,0,.06);\n  }\n  \/* tooltip value badge *\/\n  .e2c-desc .cap-value{\n    position:absolute; left:12px; bottom:10px;\n    font-size:12px; font-weight:800; color:#0b4a63;\n    background:#fff; padding:3px 8px; border-radius:999px;\n    border:1px solid var(--e2c-border);\n    box-shadow:0 1px 0 rgba(0,0,0,.04);\n  }\n\n  @media (max-width:820px){\n    .e2c-desc .capsules{ grid-template-columns:repeat(2,1fr); }\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"e2c-desc aquaspray-pro-16l\"\u003e\n\u003c!-- Logo --\u003e\n\u003cdiv class=\"card center\"\u003e\u003cimg style=\"max-width: 260px;\" alt=\"Aquaspray® Logo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0457\/5471\/2228\/files\/aquaspray_logo.png?v=1759392955\"\u003e\u003c\/div\u003e\n\u003c!-- Intro --\u003e\n\u003cdiv class=\"card center\"\u003e\n\u003ch2\u003eAquaspray® Pro 16L Battery Backpack — Mobile, Quiet, Pure-Water Delivery\u003c\/h2\u003e\n\u003cp\u003eCompact, battery-powered water delivery for window \u0026amp; solar cleaning where hoses and mains taps can’t reach. The 16 L backpack pairs perfectly with Aquaspray® waterfed poles to work atriums, courtyards and rear-access jobs—no ladders, no fuss.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- Features --\u003e\n\u003cdiv class=\"card\"\u003e\n\u003ch3\u003e🔥 Key Features\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eBattery-Driven Pump\u003c\/strong\u003e — variable pressure for just-right flow (low-pressure, waterfed friendly).\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eHands-Free Mobility\u003c\/strong\u003e — thick padded back support, dual shoulder straps \u0026amp; waist belt.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTwo-Stage Filtration\u003c\/strong\u003e — helps prevent blockages for smoother operation.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eQuick Hook-Up\u003c\/strong\u003e — brass Hozelock-style female connector to standard garden systems.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePole Compatible\u003c\/strong\u003e — connects to Aquaspray® 20\/25\/30 waterfed poles or most standard window poles.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- Box contents --\u003e\n\u003cdiv class=\"card\"\u003e\n\u003ch3\u003e📦 In the Box\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAquaspray® Pro 16L Backpack unit\u003c\/li\u003e\n\u003cli\u003e12V maintenance-free rechargeable battery \u0026amp; 240V charger pack\u003c\/li\u003e\n\u003cli\u003eFemale Hozelock connector\u003c\/li\u003e\n\u003cli\u003e2 × chemical-resistant \u003cstrong\u003eViton™\u003c\/strong\u003e seals\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- ===== Enhanced Capacity Compare (animated) ===== --\u003e\n\u003cdiv class=\"card\"\u003e\n\u003ch3\u003e💧 Capacity Compared Across Aquaspray® Pro Range\u003c\/h3\u003e\n\u003cp style=\"margin-top: 4px; color: #334155;\" class=\"center\"\u003eEach capsule shows true relative fill from \u003cstrong\u003e0L\u003c\/strong\u003e to \u003cstrong\u003e60L\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cdiv class=\"capacity\"\u003e\n\u003cdiv class=\"capsules\"\u003e\n\u003c!-- Current: 16L --\u003e\n\u003cdiv class=\"capsule-wrap\"\u003e\n\u003cspan class=\"cap-head\"\u003ePro 16L Backpack\u003c\/span\u003e\n\u003cdiv style=\"--litres: 16;\" class=\"capsule is-current\"\u003e\n\u003cdiv class=\"ruler\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan class=\"tick-top\"\u003e60L\u003c\/span\u003e \u003cspan class=\"tick-bottom\"\u003e0L\u003c\/span\u003e\n\u003cdiv class=\"fill\"\u003e\n\u003cdiv class=\"wave\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"wave2\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- bubbles --\u003e \u003cspan style=\"--i: 0;\" class=\"bubble\"\u003e\u003c\/span\u003e \u003cspan style=\"--i: 1;\" class=\"bubble\"\u003e\u003c\/span\u003e \u003cspan style=\"--i: 2;\" class=\"bubble\"\u003e\u003c\/span\u003e \u003cspan style=\"--i: 3;\" class=\"bubble\"\u003e\u003c\/span\u003e \u003cspan style=\"--i: 4;\" class=\"bubble\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"cap-value\"\u003e16L\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cap-foot\"\u003eBackpack (16L)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 20L --\u003e\n\u003cdiv class=\"capsule-wrap\"\u003e\n\u003cspan class=\"cap-head\"\u003ePro 20L Trolley\u003c\/span\u003e\n\u003cdiv style=\"--litres: 20;\" class=\"capsule\"\u003e\n\u003cdiv class=\"ruler\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan class=\"tick-top\"\u003e60L\u003c\/span\u003e \u003cspan class=\"tick-bottom\"\u003e0L\u003c\/span\u003e\n\u003cdiv class=\"fill\"\u003e\n\u003cdiv class=\"wave\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"wave2\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan style=\"--i: 0;\" class=\"bubble\"\u003e\u003c\/span\u003e \u003cspan style=\"--i: 1;\" class=\"bubble\"\u003e\u003c\/span\u003e \u003cspan style=\"--i: 2;\" class=\"bubble\"\u003e\u003c\/span\u003e \u003cspan style=\"--i: 3;\" class=\"bubble\"\u003e\u003c\/span\u003e \u003cspan style=\"--i: 4;\" class=\"bubble\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"cap-value\"\u003e20L\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cap-foot\"\u003eTrolley (20L)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 45L --\u003e\n\u003cdiv class=\"capsule-wrap\"\u003e\n\u003cspan class=\"cap-head\"\u003ePro 45L Trolley\u003c\/span\u003e\n\u003cdiv style=\"--litres: 45;\" class=\"capsule\"\u003e\n\u003cdiv class=\"ruler\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan class=\"tick-top\"\u003e60L\u003c\/span\u003e \u003cspan class=\"tick-bottom\"\u003e0L\u003c\/span\u003e\n\u003cdiv class=\"fill\"\u003e\n\u003cdiv class=\"wave\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"wave2\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan style=\"--i: 0;\" class=\"bubble\"\u003e\u003c\/span\u003e \u003cspan style=\"--i: 1;\" class=\"bubble\"\u003e\u003c\/span\u003e \u003cspan style=\"--i: 2;\" class=\"bubble\"\u003e\u003c\/span\u003e \u003cspan style=\"--i: 3;\" class=\"bubble\"\u003e\u003c\/span\u003e \u003cspan style=\"--i: 4;\" class=\"bubble\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"cap-value\"\u003e45L\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cap-foot\"\u003eTrolley (45L)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 60L --\u003e\n\u003cdiv class=\"capsule-wrap\"\u003e\n\u003cspan class=\"cap-head\"\u003ePro 60L Trolley\u003c\/span\u003e\n\u003cdiv style=\"--litres: 60;\" class=\"capsule\"\u003e\n\u003cdiv class=\"ruler\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan class=\"tick-top\"\u003e60L\u003c\/span\u003e \u003cspan class=\"tick-bottom\"\u003e0L\u003c\/span\u003e\n\u003cdiv class=\"fill\"\u003e\n\u003cdiv class=\"wave\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"wave2\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan style=\"--i: 0;\" class=\"bubble\"\u003e\u003c\/span\u003e \u003cspan style=\"--i: 1;\" class=\"bubble\"\u003e\u003c\/span\u003e \u003cspan style=\"--i: 2;\" class=\"bubble\"\u003e\u003c\/span\u003e \u003cspan style=\"--i: 3;\" class=\"bubble\"\u003e\u003c\/span\u003e \u003cspan style=\"--i: 4;\" class=\"bubble\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"cap-value\"\u003e60L\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cap-foot\"\u003eTrolley (60L)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Technical specs --\u003e\n\u003cdiv class=\"card\"\u003e\n\u003ch3\u003e📊 Technical Specifications\u003c\/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eSpec\u003c\/th\u003e\n\u003cth\u003eDetails\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eAquaspray® Pro 16L Backpack\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWater Tank Capacity\u003c\/td\u003e\n\u003ctd\u003e16 Litres\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWorking Pressure\u003c\/td\u003e\n\u003ctd\u003eVariable 0.20–0.50 MPa (29–72 PSI)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFlow Rate\u003c\/td\u003e\n\u003ctd\u003e3.6 L\/min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDimensions\u003c\/td\u003e\n\u003ctd\u003e39 × 27 × 51 cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWeight (incl. battery)\u003c\/td\u003e\n\u003ctd\u003e6 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- Setup note --\u003e\n\u003cdiv class=\"card notice\"\u003e\n\u003ch3\u003e⚠️ Setup Note\u003c\/h3\u003e\n\u003cp\u003e\u003cstrong\u003eThe fuse must be installed\u003c\/strong\u003e (included in the packaging) for the unit to power on.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- CTA --\u003e\n\u003cdiv class=\"card cta\"\u003e\n\u003cp\u003eGo anywhere. Work smarter. Choose the Aquaspray® Pro 16L Backpack today.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Kiam Products","offers":[{"title":"Default Title","offer_id":35758894448804,"sku":"AquasprayBackpack","price":149.95,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0457\/5471\/2228\/files\/AQUASPRAYPRO16.jpg?v=1726573393"},{"product_id":"aquaspray-pro-20","title":"Aquaspray Pro 20 Battery Operated Water Spray Tank","description":"\u003c!-- Aquaspray® Pro 20L – Carded Product Description (Scoped, Enhanced Capacity Visual) --\u003e\n\u003cstyle\u003e\n  \/* ===== Scoped theme (affects only .e2c-desc) ===== *\/\n  .e2c-desc{\n    --e2c-brand:#00aeef;\n    --e2c-black:#111;\n    --e2c-white:#fff;\n    --e2c-muted:#667085;\n    --e2c-bg:#f7fbff;\n    --e2c-border:#e6f5fc;\n    font-family:system-ui,-apple-system, Segoe UI, Roboto, Arial, sans-serif;\n    color:var(--e2c-black);\n  }\n  .e2c-desc *{box-sizing:border-box;}\n  .e2c-desc img{max-width:100%;height:auto;display:block;margin:0 auto;}\n  .e2c-desc .center{text-align:center;}\n\n  \/* Cards *\/\n  .e2c-desc .card{\n    background:var(--e2c-white);\n    border:1px solid var(--e2c-border);\n    border-radius:14px;\n    padding:20px;\n    box-shadow:0 4px 18px rgba(0,0,0,.06);\n  }\n  .e2c-desc .card + .card{margin-top:16px;}\n\n  \/* Headings \u0026 text *\/\n  .e2c-desc h2,.e2c-desc h3{\n    margin:0 0 10px; line-height:1.15; letter-spacing:.2px; color:var(--e2c-black);\n  }\n  .e2c-desc h2{font-size:clamp(22px,3vw,28px); font-weight:800;}\n  .e2c-desc h3{font-size:clamp(18px,2.4vw,22px); font-weight:700;}\n  .e2c-desc p{margin:10px 0; color:#2b2b2b;}\n  .e2c-desc strong{font-weight:800;}\n\n  \/* Tick list *\/\n  .e2c-desc ul{list-style:none; padding:0; margin:10px 0; display:grid; gap:8px;}\n  .e2c-desc li{\n    position:relative; padding:10px 12px 10px 40px;\n    background:#fff; border:1px solid var(--e2c-border); border-radius:12px;\n  }\n  .e2c-desc li::before{\n    content:\"✓\"; position:absolute; left:12px; top:50%; transform:translateY(-50%);\n    width:22px; height:22px; border-radius:50%; display:grid; place-items:center;\n    background:var(--e2c-brand); color:#fff; font-weight:900; font-size:13px;\n    box-shadow:0 0 0 4px rgba(0,174,239,.1);\n  }\n\n  \/* Table *\/\n  .e2c-desc table{\n    width:100%; border-collapse:separate; border-spacing:0; margin-top:10px;\n    background:#fff; border:1px solid var(--e2c-border); border-radius:12px; overflow:hidden;\n  }\n  .e2c-desc thead th{\n    background:rgba(0,174,239,.08); text-align:left; padding:12px 14px;\n    font-weight:800; color:var(--e2c-black); border-bottom:1px solid var(--e2c-border);\n  }\n  .e2c-desc tbody td{padding:12px 14px; border-bottom:1px solid #f0f4f8;}\n  .e2c-desc tbody tr:nth-child(odd) td{background:#fbfdff;}\n  .e2c-desc tbody tr:last-child td{border-bottom:0;}\n  .e2c-desc tbody td:first-child{width:42%; font-weight:700; color:#1f2937;}\n\n  \/* Notice *\/\n  .e2c-desc .notice{\n    border-left:4px solid var(--e2c-brand);\n    background:linear-gradient(0deg,#f7fbff,#fff);\n  }\n\n  \/* CTA (consistent typography) *\/\n  .e2c-desc .cta{\n    text-align:center; background:linear-gradient(0deg,#f7fbff,#fff);\n    border:1px solid var(--e2c-border); border-radius:14px; padding:20px;\n    box-shadow:0 0 0 1px rgba(0,174,239,.1),0 6px 16px rgba(0,0,0,.08);\n  }\n  .e2c-desc .cta p{\n    margin:0; font-size:18px; font-weight:800; line-height:1.25; color:var(--e2c-black);\n  }\n\n  \/* ===== Enhanced Capacity Compare (3D capsule + wave + bubbles) ===== *\/\n  .e2c-desc .capacity{ display:grid; gap:14px; }\n  .e2c-desc .capsules{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }\n  .e2c-desc .capsule-wrap{display:grid; gap:6px;}\n  .e2c-desc .cap-head{\n    font-size:12px; font-weight:800; color:#0b4a63;\n    background:rgba(0,174,239,.08);\n    border:1px solid var(--e2c-border); padding:6px 10px; border-radius:999px;\n    display:inline-block;\n  }\n  .e2c-desc .cap-foot{ text-align:center; font-size:13px; font-weight:700; }\n\n  .e2c-desc .capsule{\n    --litres:0; --max:60; --pct: calc(var(--litres)\/var(--max));\n    position:relative; height:240px; border-radius:22px;\n    background:linear-gradient(145deg,#ffffff 0%, #f3fbff 45%, #e9f7ff 100%);\n    border:1px solid var(--e2c-border);\n    box-shadow:inset 0 2px 3px rgba(255,255,255,.9), inset 0 -2px 6px rgba(0,0,0,.06), 0 6px 16px rgba(0,0,0,.08);\n    overflow:hidden;\n  }\n  .e2c-desc .capsule::before{content:\"\"; position:absolute; inset:6px; border-radius:18px; box-shadow:inset 0 0 0 1px rgba(11,74,99,.08);}\n  .e2c-desc .fill{\n    position:absolute; left:6px; right:6px; bottom:6px;\n    height:calc((var(--pct)) * (100% - 12px));\n    border-radius:16px 16px 18px 18px;\n    background:linear-gradient(180deg, rgba(0,174,239,.95), rgba(0,174,239,.70));\n    overflow:hidden; transition:height .9s cubic-bezier(.23,1,.32,1);\n  }\n  .e2c-desc .wave, .e2c-desc .wave2{\n    position:absolute; left:-40%; right:-40%; height:18px; top:-10px;\n    background:radial-gradient(60px 12px at 20% 50%, rgba(255,255,255,.85), rgba(255,255,255,0) 70%) 0 0\/120px 18px repeat-x;\n    opacity:.9; animation:slidewave 4.8s linear infinite;\n  }\n  .e2c-desc .wave2{ top:-6px; opacity:.65; filter:blur(.6px); animation-duration:6.2s; animation-direction:reverse;}\n  @keyframes slidewave{ to{transform:translateX(40%)} }\n  .e2c-desc .bubble{\n    position:absolute; bottom:6px; width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.85);\n    left:calc(10% + var(--i)*15%); animation:rise 3.6s ease-in infinite; opacity:.7;\n  }\n  .e2c-desc .bubble:nth-child(odd){ width:5px; height:5px; animation-duration:3.1s;}\n  .e2c-desc .bubble:nth-child(3n){ width:7px; height:7px; animation-duration:4.2s;}\n  @keyframes rise{ 0%{transform:translateY(0) scale(.9); opacity:.0;} 10%{opacity:.65;} 100%{transform:translateY(-180px) scale(1.1); opacity:0;} }\n  .e2c-desc .ruler{ position:absolute; top:10px; bottom:10px; right:8px; width:28px;\n    background:repeating-linear-gradient(to bottom, transparent 0 24px, rgba(0,0,0,.1) 24px 25px);\n    border-left:1px solid rgba(11,74,99,.12); border-radius:6px; pointer-events:none;}\n  .e2c-desc .tick-top,.e2c-desc .tick-bottom{\n    position:absolute; right:6px; font-size:11px; font-weight:800; color:#0b4a63;\n    background:rgba(255,255,255,.85); padding:2px 6px; border-radius:999px; border:1px solid var(--e2c-border);\n  }\n  .e2c-desc .tick-top{ top:6px; } .e2c-desc .tick-bottom{ bottom:6px; }\n  .e2c-desc .cap-value{\n    position:absolute; left:12px; bottom:10px; font-size:12px; font-weight:800; color:#0b4a63;\n    background:#fff; padding:3px 8px; border-radius:999px; border:1px solid var(--e2c-border); box-shadow:0 1px 0 rgba(0,0,0,.04);\n  }\n  .e2c-desc .capsule.is-current{\n    box-shadow:0 0 0 2px rgba(0,174,239,.45), 0 10px 24px rgba(0,0,0,.10), inset 0 2px 4px rgba(0,0,0,.06);\n  }\n\n  @media (max-width:820px){\n    .e2c-desc .capsules{ grid-template-columns:repeat(2,1fr); }\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"e2c-desc aquaspray-pro-20l\"\u003e\n\u003c!-- Logo --\u003e\n\u003cdiv class=\"card center\"\u003e\u003cimg style=\"max-width: 260px;\" alt=\"Aquaspray® Logo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0457\/5471\/2228\/files\/aquaspray_logo.png?v=1759392955\"\u003e\u003c\/div\u003e\n\u003c!-- Intro --\u003e\n\u003cdiv class=\"card center\"\u003e\n\u003ch2\u003eAquaspray® Pro 20L Battery-Operated Water Spray Tank — Compact, Mobile Pure-Water Delivery\u003c\/h2\u003e\n\u003cp\u003eProvide low-pressure pure water on demand for water-fed poles. Fill the \u003cstrong\u003e20 L\u003c\/strong\u003e tank, connect, and clean — perfect for professional window cleaners and facilities teams in retail, hospitality, education, healthcare, and more.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- Features --\u003e\n\u003cdiv class=\"card\"\u003e\n\u003ch3\u003e🔥 Key Features\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eCommercial Trolley\u003c\/strong\u003e — 50 m hose \u0026amp; reel for long reaches without moving the unit.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePlug \u0026amp; Clean\u003c\/strong\u003e — connects to Aquaspray® 20\/25\/30ft poles or any standard water-fed pole.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRechargeable System\u003c\/strong\u003e — 12V battery with 240V charger; \u003cstrong\u003ebattery life indicator\u003c\/strong\u003e included.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVariable Pressure Pump\u003c\/strong\u003e — adjust flow instantly for glass, frames, cladding or panels.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBrass On\/Off Valve\u003c\/strong\u003e — positive shutoff at the handle.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eWide Fill Collar + Two-Stage Filtration\u003c\/strong\u003e — faster filling and fewer blockages.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- Box contents --\u003e\n\u003cdiv class=\"card\"\u003e\n\u003ch3\u003e📦 In the Box\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAquaspray® Pro 20 unit (trolley + 20L tank)\u003c\/li\u003e\n\u003cli\u003e12V 9Ah maintenance-free rechargeable battery\u003c\/li\u003e\n\u003cli\u003e240V battery charger pack\u003c\/li\u003e\n\u003cli\u003e50 m water hose \u0026amp; reel\u003c\/li\u003e\n\u003cli\u003eSpray handle \u0026amp; lance\u003c\/li\u003e\n\u003cli\u003eSet of spray nozzles\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- Enhanced Capacity Compare (range) --\u003e\n\u003cdiv class=\"card\"\u003e\n\u003ch3\u003e💧 Capacity Compared Across Aquaspray® Pro Range\u003c\/h3\u003e\n\u003cp style=\"margin-top: 4px; color: #334155;\" class=\"center\"\u003eEach capsule shows true relative fill from \u003cstrong\u003e0L\u003c\/strong\u003e to \u003cstrong\u003e60L\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cdiv class=\"capacity\"\u003e\n\u003cdiv class=\"capsules\"\u003e\n\u003c!-- 16L --\u003e\n\u003cdiv class=\"capsule-wrap\"\u003e\n\u003cspan class=\"cap-head\"\u003ePro 16L Backpack\u003c\/span\u003e\n\u003cdiv style=\"--litres: 16;\" class=\"capsule\"\u003e\n\u003cdiv class=\"ruler\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan class=\"tick-top\"\u003e60L\u003c\/span\u003e\u003cspan class=\"tick-bottom\"\u003e0L\u003c\/span\u003e\n\u003cdiv class=\"fill\"\u003e\n\u003cdiv class=\"wave\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"wave2\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan style=\"--i: 0;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 1;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 2;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 3;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 4;\" class=\"bubble\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"cap-value\"\u003e16L\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cap-foot\"\u003eBackpack (16L)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Current: 20L --\u003e\n\u003cdiv class=\"capsule-wrap\"\u003e\n\u003cspan class=\"cap-head\"\u003ePro 20L Trolley\u003c\/span\u003e\n\u003cdiv style=\"--litres: 20;\" class=\"capsule is-current\"\u003e\n\u003cdiv class=\"ruler\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan class=\"tick-top\"\u003e60L\u003c\/span\u003e\u003cspan class=\"tick-bottom\"\u003e0L\u003c\/span\u003e\n\u003cdiv class=\"fill\"\u003e\n\u003cdiv class=\"wave\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"wave2\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan style=\"--i: 0;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 1;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 2;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 3;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 4;\" class=\"bubble\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"cap-value\"\u003e20L\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cap-foot\"\u003eTrolley (20L)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 45L --\u003e\n\u003cdiv class=\"capsule-wrap\"\u003e\n\u003cspan class=\"cap-head\"\u003ePro 45L Trolley\u003c\/span\u003e\n\u003cdiv style=\"--litres: 45;\" class=\"capsule\"\u003e\n\u003cdiv class=\"ruler\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan class=\"tick-top\"\u003e60L\u003c\/span\u003e\u003cspan class=\"tick-bottom\"\u003e0L\u003c\/span\u003e\n\u003cdiv class=\"fill\"\u003e\n\u003cdiv class=\"wave\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"wave2\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan style=\"--i: 0;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 1;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 2;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 3;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 4;\" class=\"bubble\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"cap-value\"\u003e45L\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cap-foot\"\u003eTrolley (45L)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 60L --\u003e\n\u003cdiv class=\"capsule-wrap\"\u003e\n\u003cspan class=\"cap-head\"\u003ePro 60L Trolley\u003c\/span\u003e\n\u003cdiv style=\"--litres: 60;\" class=\"capsule\"\u003e\n\u003cdiv class=\"ruler\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan class=\"tick-top\"\u003e60L\u003c\/span\u003e\u003cspan class=\"tick-bottom\"\u003e0L\u003c\/span\u003e\n\u003cdiv class=\"fill\"\u003e\n\u003cdiv class=\"wave\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"wave2\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan style=\"--i: 0;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 1;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 2;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 3;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 4;\" class=\"bubble\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"cap-value\"\u003e60L\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cap-foot\"\u003eTrolley (60L)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Technical specs --\u003e\n\u003cdiv class=\"card\"\u003e\n\u003ch3\u003e📊 Technical Specifications\u003c\/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eSpec\u003c\/th\u003e\n\u003cth\u003eDetails\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eAquaspray® Pro 20\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWater Tank Capacity\u003c\/td\u003e\n\u003ctd\u003e20 Litres\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWorking Pressure\u003c\/td\u003e\n\u003ctd\u003eVariable 0.20–0.70 MPa (29–100 PSI)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFlow Rate\u003c\/td\u003e\n\u003ctd\u003e3.6 L\/min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDimensions\u003c\/td\u003e\n\u003ctd\u003e41.5 × 41.5 × 107 cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWeight (incl. battery)\u003c\/td\u003e\n\u003ctd\u003e6 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- Setup note --\u003e\n\u003cdiv class=\"card notice\"\u003e\n\u003ch3\u003e⚠️ Setup Note\u003c\/h3\u003e\n\u003cp\u003e\u003cstrong\u003eThe fuse must be installed\u003c\/strong\u003e (included in the packaging) for the unit to power on.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- CTA --\u003e\n\u003cdiv class=\"card cta\"\u003e\n\u003cp\u003eChoose Aquaspray® Pro 20L — compact capacity, long-reach hose, and precise flow control for everyday pro cleaning.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Kiam Products","offers":[{"title":"Default Title","offer_id":35758896087204,"sku":"AquasprayPro20","price":415.0,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0457\/5471\/2228\/files\/HERO_0e5420e3-65fc-4f8e-b2cf-2548ae5af3b9.jpg?v=1727076049"},{"product_id":"aquaspray-pro-45","title":"Aquaspray® Pro 45L Battery-Operated Water Spray Tank","description":"\u003c!-- Aquaspray® Pro 45L – Carded Product Description (Scoped, Enhanced Capacity Visual) --\u003e\n\u003cstyle\u003e\n  \/* ===== Scoped theme (affects only .e2c-desc) ===== *\/\n  .e2c-desc{\n    --e2c-brand:#00aeef;\n    --e2c-black:#111;\n    --e2c-white:#fff;\n    --e2c-muted:#667085;\n    --e2c-bg:#f7fbff;\n    --e2c-border:#e6f5fc;\n    font-family:system-ui,-apple-system, Segoe UI, Roboto, Arial, sans-serif;\n    color:var(--e2c-black);\n  }\n  .e2c-desc *{box-sizing:border-box;}\n  .e2c-desc img{max-width:100%;height:auto;display:block;margin:0 auto;}\n  .e2c-desc .center{text-align:center;}\n\n  \/* Cards *\/\n  .e2c-desc .card{\n    background:var(--e2c-white);\n    border:1px solid var(--e2c-border);\n    border-radius:14px;\n    padding:20px;\n    box-shadow:0 4px 18px rgba(0,0,0,.06);\n  }\n  .e2c-desc .card + .card{margin-top:16px;}\n\n  \/* Headings \u0026 text *\/\n  .e2c-desc h2,.e2c-desc h3{\n    margin:0 0 10px; line-height:1.15; letter-spacing:.2px; color:var(--e2c-black);\n  }\n  .e2c-desc h2{font-size:clamp(22px,3vw,28px); font-weight:800;}\n  .e2c-desc h3{font-size:clamp(18px,2.4vw,22px); font-weight:700;}\n  .e2c-desc p{margin:10px 0; color:#2b2b2b;}\n  .e2c-desc strong{font-weight:800;}\n\n  \/* Media (responsive YouTube) *\/\n  .e2c-desc .media{\n    position:relative; width:100%; aspect-ratio:16\/9;\n    border-radius:12px; overflow:hidden;\n    border:1px solid var(--e2c-border); background:#000; margin:12px 0 4px;\n  }\n  .e2c-desc .media iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}\n\n  \/* Tick list *\/\n  .e2c-desc ul{list-style:none; padding:0; margin:10px 0; display:grid; gap:8px;}\n  .e2c-desc li{\n    position:relative; padding:10px 12px 10px 40px;\n    background:#fff; border:1px solid var(--e2c-border); border-radius:12px;\n  }\n  .e2c-desc li::before{\n    content:\"✓\"; position:absolute; left:12px; top:50%; transform:translateY(-50%);\n    width:22px; height:22px; border-radius:50%; display:grid; place-items:center;\n    background:var(--e2c-brand); color:#fff; font-weight:900; font-size:13px;\n    box-shadow:0 0 0 4px rgba(0,174,239,.1);\n  }\n\n  \/* Table *\/\n  .e2c-desc table{\n    width:100%; border-collapse:separate; border-spacing:0; margin-top:10px;\n    background:#fff; border:1px solid var(--e2c-border); border-radius:12px; overflow:hidden;\n  }\n  .e2c-desc thead th{\n    background:rgba(0,174,239,.08); text-align:left; padding:12px 14px;\n    font-weight:800; color:var(--e2c-black); border-bottom:1px solid var(--e2c-border);\n  }\n  .e2c-desc tbody td{padding:12px 14px; border-bottom:1px solid #f0f4f8;}\n  .e2c-desc tbody tr:nth-child(odd) td{background:#fbfdff;}\n  .e2c-desc tbody tr:last-child td{border-bottom:0;}\n  .e2c-desc tbody td:first-child{width:42%; font-weight:700; color:#1f2937;}\n\n  \/* Notice *\/\n  .e2c-desc .notice{\n    border-left:4px solid var(--e2c-brand);\n    background:linear-gradient(0deg,#f7fbff,#fff);\n  }\n\n  \/* CTA (consistent typography) *\/\n  .e2c-desc .cta{\n    text-align:center; background:linear-gradient(0deg,#f7fbff,#fff);\n    border:1px solid var(--e2c-border); border-radius:14px; padding:20px;\n    box-shadow:0 0 0 1px rgba(0,174,239,.1),0 6px 16px rgba(0,0,0,.08);\n  }\n  .e2c-desc .cta p{\n    margin:0; font-size:18px; font-weight:800; line-height:1.25; color:var(--e2c-black);\n  }\n\n  \/* ===== Enhanced Capacity Compare (3D capsule + wave + bubbles) ===== *\/\n  .e2c-desc .capacity{ display:grid; gap:14px; }\n  .e2c-desc .capsules{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }\n  .e2c-desc .capsule-wrap{display:grid; gap:6px;}\n  .e2c-desc .cap-head{\n    font-size:12px; font-weight:800; color:#0b4a63;\n    background:rgba(0,174,239,.08);\n    border:1px solid var(--e2c-border); padding:6px 10px; border-radius:999px;\n    display:inline-block;\n  }\n  .e2c-desc .cap-foot{ text-align:center; font-size:13px; font-weight:700; }\n\n  .e2c-desc .capsule{\n    --litres:0; --max:60; --pct: calc(var(--litres)\/var(--max));\n    position:relative; height:240px; border-radius:22px;\n    background:linear-gradient(145deg,#ffffff 0%, #f3fbff 45%, #e9f7ff 100%);\n    border:1px solid var(--e2c-border);\n    box-shadow:inset 0 2px 3px rgba(255,255,255,.9), inset 0 -2px 6px rgba(0,0,0,.06), 0 6px 16px rgba(0,0,0,.08);\n    overflow:hidden;\n  }\n  .e2c-desc .capsule::before{content:\"\"; position:absolute; inset:6px; border-radius:18px; box-shadow:inset 0 0 0 1px rgba(11,74,99,.08);}\n  .e2c-desc .fill{\n    position:absolute; left:6px; right:6px; bottom:6px;\n    height:calc((var(--pct)) * (100% - 12px));\n    border-radius:16px 16px 18px 18px;\n    background:linear-gradient(180deg, rgba(0,174,239,.95), rgba(0,174,239,.70));\n    overflow:hidden; transition:height .9s cubic-bezier(.23,1,.32,1);\n  }\n  .e2c-desc .wave, .e2c-desc .wave2{\n    position:absolute; left:-40%; right:-40%; height:18px; top:-10px;\n    background:radial-gradient(60px 12px at 20% 50%, rgba(255,255,255,.85), rgba(255,255,255,0) 70%) 0 0\/120px 18px repeat-x;\n    opacity:.9; animation:slidewave 4.8s linear infinite;\n  }\n  .e2c-desc .wave2{ top:-6px; opacity:.65; filter:blur(.6px); animation-duration:6.2s; animation-direction:reverse;}\n  @keyframes slidewave{ to{transform:translateX(40%)} }\n  .e2c-desc .bubble{\n    position:absolute; bottom:6px; width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.85);\n    left:calc(10% + var(--i)*15%); animation:rise 3.6s ease-in infinite; opacity:.7;\n  }\n  .e2c-desc .bubble:nth-child(odd){ width:5px; height:5px; animation-duration:3.1s;}\n  .e2c-desc .bubble:nth-child(3n){ width:7px; height:7px; animation-duration:4.2s;}\n  @keyframes rise{ 0%{transform:translateY(0) scale(.9); opacity:.0;} 10%{opacity:.65;} 100%{transform:translateY(-180px) scale(1.1); opacity:0;} }\n  .e2c-desc .ruler{ position:absolute; top:10px; bottom:10px; right:8px; width:28px;\n    background:repeating-linear-gradient(to bottom, transparent 0 24px, rgba(0,0,0,.1) 24px 25px);\n    border-left:1px solid rgba(11,74,99,.12); border-radius:6px; pointer-events:none;}\n  .e2c-desc .tick-top,.e2c-desc .tick-bottom{\n    position:absolute; right:6px; font-size:11px; font-weight:800; color:#0b4a63;\n    background:rgba(255,255,255,.85); padding:2px 6px; border-radius:999px; border:1px solid var(--e2c-border);\n  }\n  .e2c-desc .tick-top{ top:6px; } .e2c-desc .tick-bottom{ bottom:6px; }\n  .e2c-desc .cap-value{\n    position:absolute; left:12px; bottom:10px; font-size:12px; font-weight:800; color:#0b4a63;\n    background:#fff; padding:3px 8px; border-radius:999px; border:1px solid var(--e2c-border); box-shadow:0 1px 0 rgba(0,0,0,.04);\n  }\n  .e2c-desc .capsule.is-current{\n    box-shadow:0 0 0 2px rgba(0,174,239,.45), 0 10px 24px rgba(0,0,0,.10), inset 0 2px 4px rgba(0,0,0,.06);\n  }\n\n  @media (max-width:820px){\n    .e2c-desc .capsules{ grid-template-columns:repeat(2,1fr); }\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"e2c-desc aquaspray-pro-45l\"\u003e\n\u003c!-- Logo --\u003e\n\u003cdiv class=\"card center\"\u003e\u003cimg style=\"max-width: 260px;\" alt=\"Aquaspray® Logo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0457\/5471\/2228\/files\/aquaspray_logo.png?v=1759392955\"\u003e\u003c\/div\u003e\n\u003c!-- Intro --\u003e\n\u003cdiv class=\"card center\"\u003e\n\u003ch2\u003eAquaspray® Pro 45L Battery-Operated Water Spray Tank — Pro Power, Mobile Reach\u003c\/h2\u003e\n\u003cp\u003eLow-pressure pure water on demand. Fill the tank, connect to your water-fed pole, and clean. Ideal for pro window cleaners and facilities teams in shopping centres, hotels, schools, hospitals and care homes. Supplied on a commercial trolley with \u003cstrong\u003e50 m hose \u0026amp; reel\u003c\/strong\u003e and a variable-pressure pump for precise flow control.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- Video --\u003e\n\u003cdiv class=\"card\"\u003e\n\u003cdiv class=\"media\"\u003e\u003ciframe title=\"Aquaspray Pro 45L Overview\" src=\"https:\/\/www.youtube.com\/embed\/1rPhI_EoGGQ\"\u003e\u003c\/iframe\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Features --\u003e\n\u003cdiv class=\"card\"\u003e\n\u003ch3\u003e🔥 Key Features\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eCommercial Trolley\u003c\/strong\u003e — 50 m hose \u0026amp; reel for long runs without moving the unit.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePlug \u0026amp; Clean\u003c\/strong\u003e — connects to Aquaspray® 20\/25\/30ft poles or any standard water-fed pole.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRechargeable System\u003c\/strong\u003e — 12V battery with 240V charger; battery-life indicator built in.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVariable Pressure Pump\u003c\/strong\u003e — dial your ideal flow for glass, frames, cladding or panels.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBrass On\/Off Valve\u003c\/strong\u003e — positive shutoff at the handle.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eWide Fill Collar + Filtration\u003c\/strong\u003e — large inlet with screen; two-stage filter reduces blockages.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- Box contents --\u003e\n\u003cdiv class=\"card\"\u003e\n\u003ch3\u003e📦 In the Box\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAquaspray® Pro 45 unit (trolley + 45L tank)\u003c\/li\u003e\n\u003cli\u003e12V 9Ah maintenance-free rechargeable battery\u003c\/li\u003e\n\u003cli\u003e240V battery charger pack\u003c\/li\u003e\n\u003cli\u003e50 m water hose \u0026amp; reel\u003c\/li\u003e\n\u003cli\u003eSpray handle \u0026amp; lance\u003c\/li\u003e\n\u003cli\u003eSet of spray nozzles\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- Enhanced Capacity Compare --\u003e\n\u003cdiv class=\"card\"\u003e\n\u003ch3\u003e💧 Capacity Compared Across Aquaspray® Pro Range\u003c\/h3\u003e\n\u003cp style=\"margin-top: 4px; color: #334155;\" class=\"center\"\u003eEach capsule shows true relative fill from \u003cstrong\u003e0L\u003c\/strong\u003e to \u003cstrong\u003e60L\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cdiv class=\"capacity\"\u003e\n\u003cdiv class=\"capsules\"\u003e\n\u003c!-- 16L --\u003e\n\u003cdiv class=\"capsule-wrap\"\u003e\n\u003cspan class=\"cap-head\"\u003ePro 16L Backpack\u003c\/span\u003e\n\u003cdiv style=\"--litres: 16;\" class=\"capsule\"\u003e\n\u003cdiv class=\"ruler\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan class=\"tick-top\"\u003e60L\u003c\/span\u003e\u003cspan class=\"tick-bottom\"\u003e0L\u003c\/span\u003e\n\u003cdiv class=\"fill\"\u003e\n\u003cdiv class=\"wave\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"wave2\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan style=\"--i: 0;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 1;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 2;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 3;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 4;\" class=\"bubble\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"cap-value\"\u003e16L\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cap-foot\"\u003eBackpack (16L)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 20L --\u003e\n\u003cdiv class=\"capsule-wrap\"\u003e\n\u003cspan class=\"cap-head\"\u003ePro 20L Trolley\u003c\/span\u003e\n\u003cdiv style=\"--litres: 20;\" class=\"capsule\"\u003e\n\u003cdiv class=\"ruler\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan class=\"tick-top\"\u003e60L\u003c\/span\u003e\u003cspan class=\"tick-bottom\"\u003e0L\u003c\/span\u003e\n\u003cdiv class=\"fill\"\u003e\n\u003cdiv class=\"wave\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"wave2\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan style=\"--i: 0;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 1;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 2;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 3;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 4;\" class=\"bubble\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"cap-value\"\u003e20L\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cap-foot\"\u003eTrolley (20L)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Current: 45L --\u003e\n\u003cdiv class=\"capsule-wrap\"\u003e\n\u003cspan class=\"cap-head\"\u003ePro 45L Trolley\u003c\/span\u003e\n\u003cdiv style=\"--litres: 45;\" class=\"capsule is-current\"\u003e\n\u003cdiv class=\"ruler\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan class=\"tick-top\"\u003e60L\u003c\/span\u003e\u003cspan class=\"tick-bottom\"\u003e0L\u003c\/span\u003e\n\u003cdiv class=\"fill\"\u003e\n\u003cdiv class=\"wave\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"wave2\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan style=\"--i: 0;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 1;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 2;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 3;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 4;\" class=\"bubble\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"cap-value\"\u003e45L\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cap-foot\"\u003eTrolley (45L)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 60L --\u003e\n\u003cdiv class=\"capsule-wrap\"\u003e\n\u003cspan class=\"cap-head\"\u003ePro 60L Trolley\u003c\/span\u003e\n\u003cdiv style=\"--litres: 60;\" class=\"capsule\"\u003e\n\u003cdiv class=\"ruler\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan class=\"tick-top\"\u003e60L\u003c\/span\u003e\u003cspan class=\"tick-bottom\"\u003e0L\u003c\/span\u003e\n\u003cdiv class=\"fill\"\u003e\n\u003cdiv class=\"wave\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"wave2\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan style=\"--i: 0;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 1;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 2;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 3;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 4;\" class=\"bubble\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"cap-value\"\u003e60L\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cap-foot\"\u003eTrolley (60L)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Technical specs --\u003e\n\u003cdiv class=\"card\"\u003e\n\u003ch3\u003e📊 Technical Specifications\u003c\/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eSpec\u003c\/th\u003e\n\u003cth\u003eDetails\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eAquaspray® Pro 45\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWater Tank Capacity\u003c\/td\u003e\n\u003ctd\u003e45 Litres\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWorking Pressure\u003c\/td\u003e\n\u003ctd\u003eVariable 0.20–0.70 MPa (29–100 PSI)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFlow Rate\u003c\/td\u003e\n\u003ctd\u003e3.6 L\/min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDimensions\u003c\/td\u003e\n\u003ctd\u003e66 × 42 × 94.5 cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWeight (incl. battery)\u003c\/td\u003e\n\u003ctd\u003e6 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- Setup note --\u003e\n\u003cdiv class=\"card notice\"\u003e\n\u003ch3\u003e⚠️ Setup Note\u003c\/h3\u003e\n\u003cp\u003e\u003cstrong\u003eThe fuse must be installed\u003c\/strong\u003e (included in the packaging) for the unit to power on.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- CTA --\u003e\n\u003cdiv class=\"card cta\"\u003e\n\u003cp\u003eStep up to the Aquaspray® Pro 45L — serious capacity, long-run hose, and precise flow control for pro results.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Kiam Products","offers":[{"title":"Default Title","offer_id":35758896742564,"sku":"AquasprayPro45","price":665.0,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0457\/5471\/2228\/files\/FRONTLEFT.jpg?v=1727075898"},{"product_id":"aquaspray-pro-60l-battery-operated-water-spray-tank","title":"Aquaspray® Pro 60L Battery-Operated Water Spray Tank","description":"\u003c!-- Aquaspray® Pro 60L – Carded Product Description (Scoped, Enhanced Capacity Visual) --\u003e\n\u003cstyle\u003e\n  \/* ===== Scoped theme (affects only .e2c-desc) ===== *\/\n  .e2c-desc{\n    --e2c-brand:#00aeef;\n    --e2c-black:#111;\n    --e2c-white:#fff;\n    --e2c-muted:#667085;\n    --e2c-bg:#f7fbff;\n    --e2c-border:#e6f5fc;\n    font-family:system-ui,-apple-system, Segoe UI, Roboto, Arial, sans-serif;\n    color:var(--e2c-black);\n  }\n  .e2c-desc *{box-sizing:border-box;}\n  .e2c-desc img{max-width:100%;height:auto;display:block;margin:0 auto;}\n  .e2c-desc .center{text-align:center;}\n\n  \/* Cards *\/\n  .e2c-desc .card{\n    background:var(--e2c-white);\n    border:1px solid var(--e2c-border);\n    border-radius:14px;\n    padding:20px;\n    box-shadow:0 4px 18px rgba(0,0,0,.06);\n  }\n  .e2c-desc .card + .card{margin-top:16px;}\n\n  \/* Headings \u0026 text *\/\n  .e2c-desc h2,.e2c-desc h3{\n    margin:0 0 10px; line-height:1.15; letter-spacing:.2px; color:var(--e2c-black);\n  }\n  .e2c-desc h2{font-size:clamp(22px,3vw,28px); font-weight:800;}\n  .e2c-desc h3{font-size:clamp(18px,2.4vw,22px); font-weight:700;}\n  .e2c-desc p{margin:10px 0; color:#2b2b2b;}\n  .e2c-desc strong{font-weight:800;}\n\n  \/* Tick list *\/\n  .e2c-desc ul{list-style:none; padding:0; margin:10px 0; display:grid; gap:8px;}\n  .e2c-desc li{\n    position:relative; padding:10px 12px 10px 40px;\n    background:#fff; border:1px solid var(--e2c-border); border-radius:12px;\n  }\n  .e2c-desc li::before{\n    content:\"✓\"; position:absolute; left:12px; top:50%; transform:translateY(-50%);\n    width:22px; height:22px; border-radius:50%; display:grid; place-items:center;\n    background:var(--e2c-brand); color:#fff; font-weight:900; font-size:13px;\n    box-shadow:0 0 0 4px rgba(0,174,239,.1);\n  }\n\n  \/* Table *\/\n  .e2c-desc table{\n    width:100%; border-collapse:separate; border-spacing:0; margin-top:10px;\n    background:#fff; border:1px solid var(--e2c-border); border-radius:12px; overflow:hidden;\n  }\n  .e2c-desc thead th{\n    background:rgba(0,174,239,.08); text-align:left; padding:12px 14px;\n    font-weight:800; color:var(--e2c-black); border-bottom:1px solid var(--e2c-border);\n  }\n  .e2c-desc tbody td{padding:12px 14px; border-bottom:1px solid #f0f4f8;}\n  .e2c-desc tbody tr:nth-child(odd) td{background:#fbfdff;}\n  .e2c-desc tbody tr:last-child td{border-bottom:0;}\n  .e2c-desc tbody td:first-child{width:42%; font-weight:700; color:#1f2937;}\n\n  \/* Notice *\/\n  .e2c-desc .notice{\n    border-left:4px solid var(--e2c-brand);\n    background:linear-gradient(0deg,#f7fbff,#fff);\n  }\n\n  \/* CTA (consistent typography) *\/\n  .e2c-desc .cta{\n    text-align:center; background:linear-gradient(0deg,#f7fbff,#fff);\n    border:1px solid var(--e2c-border); border-radius:14px; padding:20px;\n    box-shadow:0 0 0 1px rgba(0,174,239,.1),0 6px 16px rgba(0,0,0,.08);\n  }\n  .e2c-desc .cta p{\n    margin:0; font-size:18px; font-weight:800; line-height:1.25; color:var(--e2c-black);\n  }\n\n  \/* ===== Enhanced Capacity Compare (3D capsule + wave + bubbles) ===== *\/\n  .e2c-desc .capacity{ display:grid; gap:14px; }\n  .e2c-desc .capsules{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }\n  .e2c-desc .capsule-wrap{display:grid; gap:6px;}\n  .e2c-desc .cap-head{\n    font-size:12px; font-weight:800; color:#0b4a63;\n    background:rgba(0,174,239,.08);\n    border:1px solid var(--e2c-border); padding:6px 10px; border-radius:999px;\n    display:inline-block;\n  }\n  .e2c-desc .cap-foot{ text-align:center; font-size:13px; font-weight:700; }\n\n  .e2c-desc .capsule{\n    --litres:0; --max:60; --pct: calc(var(--litres)\/var(--max));\n    position:relative; height:240px; border-radius:22px;\n    background:linear-gradient(145deg,#ffffff 0%, #f3fbff 45%, #e9f7ff 100%);\n    border:1px solid var(--e2c-border);\n    box-shadow:inset 0 2px 3px rgba(255,255,255,.9), inset 0 -2px 6px rgba(0,0,0,.06), 0 6px 16px rgba(0,0,0,.08);\n    overflow:hidden;\n  }\n  .e2c-desc .capsule::before{content:\"\"; position:absolute; inset:6px; border-radius:18px; box-shadow:inset 0 0 0 1px rgba(11,74,99,.08);}\n  .e2c-desc .fill{\n    position:absolute; left:6px; right:6px; bottom:6px;\n    height:calc((var(--pct)) * (100% - 12px));\n    border-radius:16px 16px 18px 18px;\n    background:linear-gradient(180deg, rgba(0,174,239,.95), rgba(0,174,239,.70));\n    overflow:hidden; transition:height .9s cubic-bezier(.23,1,.32,1);\n  }\n  .e2c-desc .wave, .e2c-desc .wave2{\n    position:absolute; left:-40%; right:-40%; height:18px; top:-10px;\n    background:radial-gradient(60px 12px at 20% 50%, rgba(255,255,255,.85), rgba(255,255,255,0) 70%) 0 0\/120px 18px repeat-x;\n    opacity:.9; animation:slidewave 4.8s linear infinite;\n  }\n  .e2c-desc .wave2{ top:-6px; opacity:.65; filter:blur(.6px); animation-duration:6.2s; animation-direction:reverse;}\n  @keyframes slidewave{ to{transform:translateX(40%)} }\n  .e2c-desc .bubble{\n    position:absolute; bottom:6px; width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.85);\n    left:calc(10% + var(--i)*15%); animation:rise 3.6s ease-in infinite; opacity:.7;\n  }\n  .e2c-desc .bubble:nth-child(odd){ width:5px; height:5px; animation-duration:3.1s;}\n  .e2c-desc .bubble:nth-child(3n){ width:7px; height:7px; animation-duration:4.2s;}\n  @keyframes rise{ 0%{transform:translateY(0) scale(.9); opacity:.0;} 10%{opacity:.65;} 100%{transform:translateY(-180px) scale(1.1); opacity:0;} }\n  .e2c-desc .ruler{ position:absolute; top:10px; bottom:10px; right:8px; width:28px;\n    background:repeating-linear-gradient(to bottom, transparent 0 24px, rgba(0,0,0,.1) 24px 25px);\n    border-left:1px solid rgba(11,74,99,.12); border-radius:6px; pointer-events:none;}\n  .e2c-desc .tick-top,.e2c-desc .tick-bottom{\n    position:absolute; right:6px; font-size:11px; font-weight:800; color:#0b4a63;\n    background:rgba(255,255,255,.85); padding:2px 6px; border-radius:999px; border:1px solid var(--e2c-border);\n  }\n  .e2c-desc .tick-top{ top:6px; } .e2c-desc .tick-bottom{ bottom:6px; }\n  .e2c-desc .cap-value{\n    position:absolute; left:12px; bottom:10px; font-size:12px; font-weight:800; color:#0b4a63;\n    background:#fff; padding:3px 8px; border-radius:999px; border:1px solid var(--e2c-border); box-shadow:0 1px 0 rgba(0,0,0,.04);\n  }\n  .e2c-desc .capsule.is-current{\n    box-shadow:0 0 0 2px rgba(0,174,239,.45), 0 10px 24px rgba(0,0,0,.10), inset 0 2px 4px rgba(0,0,0,.06);\n  }\n\n  @media (max-width:820px){\n    .e2c-desc .capsules{ grid-template-columns:repeat(2,1fr); }\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"e2c-desc aquaspray-pro-60l\"\u003e\n\u003c!-- Logo --\u003e\n\u003cdiv class=\"card center\"\u003e\u003cimg style=\"max-width: 260px;\" alt=\"Aquaspray® Logo\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0457\/5471\/2228\/files\/aquaspray_logo.png?v=1759392955\"\u003e\u003c\/div\u003e\n\u003c!-- Intro --\u003e\n\u003cdiv class=\"card center\"\u003e\n\u003ch2\u003eAquaspray® Pro 60L Battery-Operated Water Spray Tank — Max Capacity, Minimal Hassle\u003c\/h2\u003e\n\u003cp\u003eOur largest mobile pure-water tank. Fill, connect to your water-fed pole, and clean—simple. The Pro 60L is built for demanding sites: shopping centres, hotels, schools, hospitals and pro window cleaning teams. Comes on a commercial trolley with \u003cstrong\u003e100 m hose \u0026amp; reel\u003c\/strong\u003e and variable-pressure pump for perfect flow control.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- Features --\u003e\n\u003cdiv class=\"card\"\u003e\n\u003ch3\u003e🔥 Key Features\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eCommercial Trolley\u003c\/strong\u003e — 4 pneumatic tyres (front brakes) for smooth mobility.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e100 m Hose \u0026amp; Reel\u003c\/strong\u003e — reach deep into sites without moving the trolley.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePlug \u0026amp; Clean\u003c\/strong\u003e — connects to Aquaspray® 20\/25\/28\/30\/40ft poles or standard water-fed poles.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVariable Pressure Pump\u003c\/strong\u003e — dial in your ideal flow; brass on\/off valve at the handle.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eWide Fill Collar + Filter\u003c\/strong\u003e — easy top-up; two-stage filtration reduces blockages.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e60 L Tank with Bottom Drain\u003c\/strong\u003e — quick emptying \u0026amp; rinse after jobs.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRechargeable System\u003c\/strong\u003e — 12V battery \u0026amp; 240V charger pack included.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- Box contents --\u003e\n\u003cdiv class=\"card\"\u003e\n\u003ch3\u003e📦 In the Box\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAquaspray® Pro 60 unit (trolley + 60L tank)\u003c\/li\u003e\n\u003cli\u003e12V 9Ah maintenance-free rechargeable battery\u003c\/li\u003e\n\u003cli\u003e240V battery charger pack\u003c\/li\u003e\n\u003cli\u003e100 m water hose \u0026amp; reel with female Hozelock connector\u003c\/li\u003e\n\u003cli\u003eSpray handle \u0026amp; lance + set of spray nozzles\u003c\/li\u003e\n\u003cli style=\"font-weight: bold;\"\u003e\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0457\/5471\/2228\/files\/Aquaspray_Pro60_Rolling_Water_Tank_MANUAL_bfb9c99b-0e3f-41b5-9321-ae759fab7343.pdf?v=1784711222\" title=\"Aquaspray Pro 60 Instruction Manual \"\u003e\u003cstrong\u003e\u003cspan style=\"text-decoration: underline;\"\u003eInstruction Manual PDF\u003c\/span\u003e\u003c\/strong\u003e\u003c\/a\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- Enhanced Capacity Compare --\u003e\n\u003cdiv class=\"card\"\u003e\n\u003ch3\u003e💧 Capacity Compared Across Aquaspray® Pro Range\u003c\/h3\u003e\n\u003cp style=\"margin-top: 4px; color: #334155;\" class=\"center\"\u003eEach capsule shows true relative fill from \u003cstrong\u003e0L\u003c\/strong\u003e to \u003cstrong\u003e60L\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cdiv class=\"capacity\"\u003e\n\u003cdiv class=\"capsules\"\u003e\n\u003c!-- 16L --\u003e\n\u003cdiv class=\"capsule-wrap\"\u003e\n\u003cspan class=\"cap-head\"\u003ePro 16L Backpack\u003c\/span\u003e\n\u003cdiv style=\"--litres: 16;\" class=\"capsule\"\u003e\n\u003cdiv class=\"ruler\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan class=\"tick-top\"\u003e60L\u003c\/span\u003e\u003cspan class=\"tick-bottom\"\u003e0L\u003c\/span\u003e\n\u003cdiv class=\"fill\"\u003e\n\u003cdiv class=\"wave\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"wave2\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan style=\"--i: 0;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 1;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 2;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 3;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 4;\" class=\"bubble\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"cap-value\"\u003e16L\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cap-foot\"\u003eBackpack (16L)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 20L --\u003e\n\u003cdiv class=\"capsule-wrap\"\u003e\n\u003cspan class=\"cap-head\"\u003ePro 20L Trolley\u003c\/span\u003e\n\u003cdiv style=\"--litres: 20;\" class=\"capsule\"\u003e\n\u003cdiv class=\"ruler\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan class=\"tick-top\"\u003e60L\u003c\/span\u003e\u003cspan class=\"tick-bottom\"\u003e0L\u003c\/span\u003e\n\u003cdiv class=\"fill\"\u003e\n\u003cdiv class=\"wave\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"wave2\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan style=\"--i: 0;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 1;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 2;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 3;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 4;\" class=\"bubble\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"cap-value\"\u003e20L\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cap-foot\"\u003eTrolley (20L)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 45L --\u003e\n\u003cdiv class=\"capsule-wrap\"\u003e\n\u003cspan class=\"cap-head\"\u003ePro 45L Trolley\u003c\/span\u003e\n\u003cdiv style=\"--litres: 45;\" class=\"capsule\"\u003e\n\u003cdiv class=\"ruler\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan class=\"tick-top\"\u003e60L\u003c\/span\u003e\u003cspan class=\"tick-bottom\"\u003e0L\u003c\/span\u003e\n\u003cdiv class=\"fill\"\u003e\n\u003cdiv class=\"wave\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"wave2\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan style=\"--i: 0;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 1;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 2;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 3;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 4;\" class=\"bubble\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"cap-value\"\u003e45L\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cap-foot\"\u003eTrolley (45L)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Current: 60L --\u003e\n\u003cdiv class=\"capsule-wrap\"\u003e\n\u003cspan class=\"cap-head\"\u003ePro 60L Trolley\u003c\/span\u003e\n\u003cdiv style=\"--litres: 60;\" class=\"capsule is-current\"\u003e\n\u003cdiv class=\"ruler\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan class=\"tick-top\"\u003e60L\u003c\/span\u003e\u003cspan class=\"tick-bottom\"\u003e0L\u003c\/span\u003e\n\u003cdiv class=\"fill\"\u003e\n\u003cdiv class=\"wave\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"wave2\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan style=\"--i: 0;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 1;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 2;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 3;\" class=\"bubble\"\u003e\u003c\/span\u003e\u003cspan style=\"--i: 4;\" class=\"bubble\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"cap-value\"\u003e60L\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cap-foot\"\u003eTrolley (60L)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Technical specs --\u003e\n\u003cdiv class=\"card\"\u003e\n\u003ch3\u003e📊 Technical Specifications\u003c\/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eSpec\u003c\/th\u003e\n\u003cth\u003eDetails\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eAquaspray® Pro 60\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWater Tank Capacity\u003c\/td\u003e\n\u003ctd\u003e60 Litres\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWorking Pressure\u003c\/td\u003e\n\u003ctd\u003eVariable 0.20–1.00 MPa (29–100 PSI)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFlow Rate\u003c\/td\u003e\n\u003ctd\u003e4.5 L\/min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDimensions\u003c\/td\u003e\n\u003ctd\u003e89 × 47 × 84.5 cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWeight (incl. battery)\u003c\/td\u003e\n\u003ctd\u003e47.5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- Setup note --\u003e\n\u003cdiv class=\"card notice\"\u003e\n\u003ch3\u003e⚠️ Setup Note\u003c\/h3\u003e\n\u003cp\u003e\u003cstrong\u003eThe fuse must be installed\u003c\/strong\u003e (included in the packaging) for the unit to power on.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- CTA --\u003e\n\u003cdiv class=\"card cta\"\u003e\n\u003cp\u003eMaximise reach and runtime with the Aquaspray® Pro 60L — power, capacity, and control in one system.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Kiam Products","offers":[{"title":"Default Title","offer_id":44520668594418,"sku":"AquasprayPro60L","price":895.0,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0457\/5471\/2228\/files\/AQUASPRAYPRO60BATTERYPOWEREDMOBILEWATERTANKEQUIP2CLEAN2.jpg?v=1684932777"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0457\/5471\/2228\/collections\/END_OF_SUMMER_SALE_12233.jpg?v=1785320729","url":"https:\/\/equip2clean.myshopify.com\/collections\/end-of-summer-sale-battery-operated-water-spray-tanks.oembed","provider":"Equip2clean","version":"1.0","type":"link"}