{"product_id":"bumblebee-cat-hoodie","title":"Bumblebee Cat Hoodie","description":"\u003cdiv class=\"pawse-pdp\"\u003e\n\n\u003cdiv class=\"pawse-value-strip\"\u003e\n  \u003cp class=\"pawse-notify-line\"\u003eSold out for now. \u003ca href=\"mailto:support@pawse.au?subject=Notify%20me%3A%20Bumblebee%20Cat%20Hoodie\"\u003eEmail me when it’s back →\u003c\/a\u003e\u003c\/p\u003e\n  \u003cul class=\"pawse-trust-badges\"\u003e\n    \u003cli\u003e\n\u003cspan class=\"icon\"\u003e🧶\u003c\/span\u003e\u003cspan\u003e80% cotton, brushed inner\u003c\/span\u003e\n\u003c\/li\u003e\n    \u003cli\u003e\n\u003cspan class=\"icon\"\u003e🐱\u003c\/span\u003e\u003cspan\u003eAdult cats 4.5–6.5 kg · chest 38–46 cm\u003c\/span\u003e\n\u003c\/li\u003e\n    \u003cli\u003e\n\u003cspan class=\"icon\"\u003e🫧\u003c\/span\u003e\u003cspan\u003eOpen belly, free movement\u003c\/span\u003e\n\u003c\/li\u003e\n    \u003cli\u003e\n\u003cspan class=\"icon\"\u003e📦\u003c\/span\u003e\u003cspan\u003eFree AU shipping over $65\u003c\/span\u003e\n\u003c\/li\u003e\n  \u003c\/ul\u003e\n\u003c\/div\u003e\n\n\u003cp class=\"pawse-hook\"\u003e\u003cem\u003eSoft enough to sleep in. Striking enough to remember.\u003c\/em\u003e\u003c\/p\u003e\n\u003cdiv class=\"pawse-jdgm-preview\"\u003e\n  \u003cdiv class=\"jdgm-widget jdgm-prev-badge\" data-id=\"10204229337401\" data-template=\"product\" data-style=\"\" data-product-title=\"Bumblebee Cat Hoodie\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"pawse-tagline\"\u003eA soft pull-on bee costume for adult cats.\u003c\/p\u003e\n\u003cp class=\"pawse-intro-para\"\u003eThe PAWSE Bumblebee Hoodie is a soft pull-on costume sweater designed for adult cats. Cut from a lightweight brushed cotton blend with a yellow-and-black stripe, it has a wide neck opening, a hood with two soft pom-pom antennae, and a roomy chest so your cat moves the way they always do. Made for the moments you’ll want a photo of — and small enough to live folded in a drawer the rest of the year.\u003c\/p\u003e\n\n\u003ch3\u003eAt a glance\u003c\/h3\u003e\n\u003cul class=\"pawse-bullets\"\u003e\n  \u003cli\u003eBrushed cotton-blend body with hood and 3D antennae\u003c\/li\u003e\n  \u003cli\u003ePull-on design — no zippers near fur or face\u003c\/li\u003e\n  \u003cli\u003eSoft side seams sit flat against the body, not the spine\u003c\/li\u003e\n  \u003cli\u003eHand wash cold, lay flat to dry\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eCats love it\u003c\/h3\u003e\n\u003cul class=\"pawse-bullets\"\u003e\n  \u003cli\u003eSide seams stay flat against the body, never on the spine\u003c\/li\u003e\n  \u003cli\u003eLoose hood at the ears — never weighted or strapped\u003c\/li\u003e\n  \u003cli\u003eOpen belly leaves walking, jumping, and the litter tray free\u003c\/li\u003e\n  \u003cli\u003eLight enough that most cats forget within minutes (the sleeping photo isn’t staged)\u003c\/li\u003e\n  \u003cli\u003e80% cotton brushed inner, soft against fur\u003c\/li\u003e\n  \u003cli\u003eHand wash cold, lay flat to dry\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eSizing\u003c\/h3\u003e\n\u003cdiv class=\"pawse-size-illustration\"\u003e\n  \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0975\/2310\/6105\/files\/pawse-sizing-cat.png?v=1778856565\" alt=\"PAWSE measurement diagram showing chest, neck, and back length\" loading=\"lazy\"\u003e\n\u003c\/div\u003e\n\u003ctable class=\"pawse-size-table\"\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eSize\u003c\/th\u003e\n\u003cth\u003eWeight\u003c\/th\u003e\n\u003cth\u003eChest\u003c\/th\u003e\n\u003cth\u003eNeck\u003c\/th\u003e\n\u003cth\u003eBack\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eM (coming soon)\u003c\/td\u003e\n\u003ctd\u003e3.0–4.5 kg\u003c\/td\u003e\n\u003ctd\u003e32–38 cm\u003c\/td\u003e\n\u003ctd\u003e20–24 cm\u003c\/td\u003e\n\u003ctd\u003e27–32 cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eL\u003c\/td\u003e\n\u003ctd\u003e4.5–6.5 kg\u003c\/td\u003e\n\u003ctd\u003e38–46 cm\u003c\/td\u003e\n\u003ctd\u003e24–28 cm\u003c\/td\u003e\n\u003ctd\u003e32–38 cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cul class=\"pawse-bullets pawse-size-notes\"\u003e\n  \u003cli\u003eChest at the widest point, just behind the front legs.\u003c\/li\u003e\n  \u003cli\u003eNeck loose enough to fit two fingers between tape and fur.\u003c\/li\u003e\n  \u003cli\u003eBack from shoulder blades to the base of the tail.\u003c\/li\u003e\n  \u003cli\u003eBetween sizes? Go up — a pull-on is kinder loose than tight.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003caside class=\"pawse-attention\"\u003e\n  \u003cp class=\"pawse-attention-eyebrow\"\u003eWhere it belongs\u003c\/p\u003e\n  \u003cul class=\"pawse-attention-bullets\"\u003e\n    \u003cli\u003eHalloween costume photos\u003c\/li\u003e\n    \u003cli\u003eThe cat’s first birthday at home\u003c\/li\u003e\n    \u003cli\u003eChristmas group chats that need more cat photos\u003c\/li\u003e\n    \u003cli\u003eQuiet weekends when the cat looks like a bee for no reason\u003c\/li\u003e\n  \u003c\/ul\u003e\n  \u003cp class=\"pawse-attention-note\"\u003e\u003cem\u003eBest for short photo sessions and supervised wear. If your cat dislikes anything around the face, start with the hood folded back at the shoulders — it sits just as well that way, and most cats forget about it within minutes.\u003c\/em\u003e\u003c\/p\u003e\n\u003c\/aside\u003e\n\n\u003cdetails class=\"pawse-accordion\"\u003e\n  \u003csummary\u003eQuestions\u003c\/summary\u003e\n  \u003cdiv class=\"pawse-qa\"\u003e\n\u003cp class=\"pawse-q\"\u003eDoes the hood stay up?\u003c\/p\u003e\n\u003cp class=\"pawse-a\"\u003eLoosely. Cats with thick fur tend to keep it up; sleeker cats may push it down within a minute. The hood looks just as good folded back at the shoulders.\u003c\/p\u003e\n\u003c\/div\u003e\n  \u003cdiv class=\"pawse-qa\"\u003e\n\u003cp class=\"pawse-q\"\u003eWill it bunch up when they walk?\u003c\/p\u003e\n\u003cp class=\"pawse-a\"\u003eNo. The side seams sit flat against the body, not over the spine.\u003c\/p\u003e\n\u003c\/div\u003e\n  \u003cdiv class=\"pawse-qa\"\u003e\n\u003cp class=\"pawse-q\"\u003eCan I machine wash it?\u003c\/p\u003e\n\u003cp class=\"pawse-a\"\u003eHand wash gives the best longevity. If you must machine wash, cold + gentle cycle + air dry.\u003c\/p\u003e\n\u003c\/div\u003e\n  \u003cdiv class=\"pawse-qa\"\u003e\n\u003cp class=\"pawse-q\"\u003eDo you ship internationally?\u003c\/p\u003e\n\u003cp class=\"pawse-a\"\u003eYes, from Melbourne. Free shipping inside Australia on orders over $99.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cdiv class=\"pawse-particles\" data-id=\"bottom\" data-catdog=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0975\/2310\/6105\/files\/pawse-particles-catdog.png?v=1778857581\" data-paw=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0975\/2310\/6105\/files\/pawse-particles-paw.png?v=1778857587\"\u003e\n  \u003ccanvas aria-hidden=\"true\"\u003e\u003c\/canvas\u003e\n  \u003cdiv class=\"pawse-particles-fallback\"\u003e\n    \u003cp class=\"pawse-particles-mark\"\u003ePAWSE\u003c\/p\u003e\n    \u003cp class=\"pawse-particles-line\"\u003ePause for the one who lives for you.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cspan class=\"pawse-particles-sr\"\u003ePAWSE — Pause for the one who lives for you. A brand for cats and dogs designed in Melbourne.\u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003ch3 class=\"pawse-reviews-heading\"\u003eReviews\u003c\/h3\u003e\n\u003cdiv class=\"pawse-jdgm-widget\"\u003e\n  \u003cdiv class=\"jdgm-widget jdgm-review-widget\" data-id=\"10204229337401\" data-product-title=\"Bumblebee Cat Hoodie\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"pawse-sticky-cta\" role=\"complementary\" aria-label=\"Quick actions\"\u003e\n  \u003cdiv class=\"pawse-sticky-info\"\u003e\n    \u003cspan class=\"pawse-sticky-name\"\u003eBumblebee Cat Hoodie\u003c\/span\u003e\n    \u003cspan class=\"pawse-sticky-price\"\u003e$44.95\u003c\/span\u003e\n  \u003c\/div\u003e\n  \u003ca class=\"pawse-sticky-btn\" href=\"mailto:support@pawse.au?subject=Notify%20me%3A%20Bumblebee%20Cat%20Hoodie\"\u003eNotify me\u003c\/a\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function(){\n  if (typeof window === 'undefined') return;\n  if (window.__pawseParticlesV8) return; window.__pawseParticlesV8 = true;\n\n  function init(){\n    var blocks = document.querySelectorAll('.pawse-particles');\n    if (!blocks.length) return;\n\n    blocks.forEach(function(block){\n      var canvas = block.querySelector('canvas');\n      if (!canvas || !canvas.getContext) return;\n      var ctx = canvas.getContext('2d');\n      var dpr = Math.max(1, window.devicePixelRatio || 1);\n      var W=0, H=0;\n      var particles = [];\n      var mouse = { x:-9999, y:-9999, active:false };\n      var startTime = 0, running = false, rafId = 0;\n      var fonts = (document.fonts \u0026\u0026 document.fonts.ready) ? document.fonts.ready : Promise.resolve();\n\n      var catDogUrl = block.getAttribute('data-catdog');\n      var pawUrl    = block.getAttribute('data-paw');\n      var catDogImg = null, pawImg = null;\n\n      var CFG = {\n        particleSize: 1.1,\n        densityStep: 1,\n        mouseRadius: 90,\n        repulsion: 3.5,\n        spring: 0.18,\n        damping: 0.92,\n        jitter: 0.02,\n        trailAlpha: 0.22,\n        entranceMs: 900\n      };\n\n      function loadImage(url){\n        if (!url) return Promise.resolve(null);\n        return new Promise(function(res){\n          var img = new Image();\n          img.crossOrigin = 'anonymous';\n          img.onload = function(){ res(img); };\n          img.onerror = function(){ res(null); };\n          img.src = url;\n        });\n      }\n\n      function size(){\n        var rect = block.getBoundingClientRect();\n        W = rect.width|0; H = rect.height|0;\n        if (W\u003c=0 || H\u003c=0) return false;\n        canvas.width = W*dpr; canvas.height = H*dpr;\n        canvas.style.width = W+'px'; canvas.style.height = H+'px';\n        ctx.setTransform(dpr,0,0,dpr,0,0);\n        return true;\n      }\n\n      function buildParticles(){\n        var off = document.createElement('canvas');\n        off.width = W; off.height = H;\n        var o = off.getContext('2d');\n        var isMobile = W \u003c 480;\n\n        \/\/ Cat+dog illustration at top — closer to PAWSE\n        var catDogBottom = 0;\n        if (catDogImg){\n          var imgW = Math.min(isMobile ? 175 : 240, W * 0.50);\n          var imgH = imgW * (catDogImg.height \/ catDogImg.width);\n          var imgX = W\/2 - imgW\/2;\n          var imgY = isMobile ? 6 : 10;\n          try { o.drawImage(catDogImg, imgX, imgY, imgW, imgH); } catch(e){}\n          catDogBottom = imgY + imgH;\n        } else {\n          catDogBottom = H * 0.12;\n        }\n\n        \/\/ PAWSE wordmark — small gap below cat+dog (18 instead of 55)\n        var gap = isMobile ? -14 : -22;\n        var pawseSize = Math.min(isMobile ? 56 : 92, W * 0.14);\n        var pawseY = catDogBottom + gap + pawseSize\/2;\n\n        \/\/ Paws on left + right\n        if (pawImg){\n          var pawSize = isMobile ? 40 : 60;\n          var pawseHalfW = pawseSize * 1.45;\n          var pawXLeft = W\/2 - pawseHalfW - pawSize - 4;\n          var pawXRight = W\/2 + pawseHalfW + 4;\n          if (pawXLeft \u003e 4){\n            try {\n              o.drawImage(pawImg, pawXLeft, pawseY - pawSize\/2, pawSize, pawSize);\n              o.drawImage(pawImg, pawXRight, pawseY - pawSize\/2, pawSize, pawSize);\n            } catch(e){}\n          }\n        }\n\n        \/\/ PAWSE text in brand brown\n        o.fillStyle = '#984B2C';\n        o.textAlign = 'center';\n        o.textBaseline = 'middle';\n        o.font = '400 ' + pawseSize + \"px 'Fraunces', 'Times New Roman', serif\";\n        o.fillText('PAWSE', W\/2, pawseY);\n\n        \/\/ Larger tagline\n        var size2 = Math.min(isMobile ? 22 : 30, W * 0.045);\n        var taglineY = pawseY + pawseSize*0.55 + (isMobile ? 18 : 26);\n        if (taglineY \u003e H - 8){ taglineY = H - 14; }\n        o.font = 'italic 300 ' + size2 + \"px 'Fraunces', 'Times New Roman', serif\";\n        o.fillText('Pause for the one who lives for you.', W\/2, taglineY);\n\n        \/\/ Sample pixels with original colors\n        var imgData;\n        try { imgData = o.getImageData(0,0,W,H); }\n        catch(err){ return; }\n        var d = imgData.data;\n        var step = CFG.densityStep;\n        particles = [];\n        for (var y=0; y\u003cH; y+=step){\n          for (var x=0; x\u003cW; x+=step){\n            var idx = (y*W + x)*4;\n            if (d[idx+3] \u003e 50){\n              particles.push({\n                ox:x, oy:y,\n                x:x + (Math.random()-0.5)*20,\n                y:-25 - Math.random()*90,\n                vx:0, vy:0,\n                delay: Math.random()*350,\n                r:d[idx], g:d[idx+1], b:d[idx+2]\n              });\n            }\n          }\n        }\n      }\n\n      function frame(t){\n        var elapsed = t - startTime;\n        \/\/ Trail effect on TRANSPARENT background using destination-out\n        ctx.save();\n        ctx.globalCompositeOperation = 'destination-out';\n        ctx.fillStyle = 'rgba(0,0,0,' + CFG.trailAlpha + ')';\n        ctx.fillRect(0,0,W,H);\n        ctx.restore();\n\n        for (var i=0,n=particles.length; i\u003cn; i++){\n          var p = particles[i];\n          var et = elapsed - p.delay;\n          var ep = Math.min(1, Math.max(0, et \/ CFG.entranceMs));\n          var ease = 1 - Math.pow(1-ep, 2);\n\n          p.vx += (p.ox - p.x) * CFG.spring;\n          p.vy += (p.oy - p.y) * CFG.spring;\n\n          if (mouse.active \u0026\u0026 ep \u003e 0.4){\n            var dx = p.x - mouse.x;\n            var dy = p.y - mouse.y;\n            var d2 = dx*dx + dy*dy;\n            var r2 = CFG.mouseRadius*CFG.mouseRadius;\n            if (d2 \u003c r2 \u0026\u0026 d2 \u003e 1){\n              var dist = Math.sqrt(d2);\n              var f = (CFG.mouseRadius - dist)\/CFG.mouseRadius * CFG.repulsion;\n              p.vx += (dx\/dist)*f;\n              p.vy += (dy\/dist)*f;\n            }\n          }\n\n          if (CFG.jitter \u003e 0){\n            p.vx += (Math.random()-0.5)*CFG.jitter;\n            p.vy += (Math.random()-0.5)*CFG.jitter;\n          }\n          p.vx *= CFG.damping;\n          p.vy *= CFG.damping;\n          p.x += p.vx;\n          p.y += p.vy;\n\n          if (ease \u003c 0.05) continue;\n          ctx.globalAlpha = ease;\n          ctx.fillStyle = 'rgb(' + p.r + ',' + p.g + ',' + p.b + ')';\n          var s = CFG.particleSize * ease;\n          ctx.fillRect(p.x - s, p.y - s, s*2, s*2);\n        }\n        ctx.globalAlpha = 1;\n        if (running) rafId = requestAnimationFrame(frame);\n      }\n\n      function start(){\n        if (running) return;\n        if (!size()) return;\n        ctx.clearRect(0,0,W,H);\n        buildParticles();\n        if (!particles.length){ return; }\n        block.classList.add('pawse-particles-active');\n        running = true;\n        startTime = performance.now();\n        rafId = requestAnimationFrame(frame);\n      }\n      function stop(){ running = false; if (rafId) cancelAnimationFrame(rafId); }\n\n      function onMove(e){\n        var rect = canvas.getBoundingClientRect();\n        var p = e.touches ? e.touches[0] : e;\n        mouse.x = p.clientX - rect.left;\n        mouse.y = p.clientY - rect.top;\n        mouse.active = true;\n      }\n      function onLeave(){ mouse.active=false; mouse.x=-9999; mouse.y=-9999; }\n\n      canvas.addEventListener('mousemove', onMove);\n      canvas.addEventListener('mouseleave', onLeave);\n      canvas.addEventListener('touchmove', onMove, {passive:true});\n      canvas.addEventListener('touchend', onLeave);\n\n      try { new ResizeObserver(function(){ if (running){ stop(); start(); } }).observe(block); } catch(_){}\n\n      var beginWhenReady = function(){\n        Promise.all([loadImage(catDogUrl), loadImage(pawUrl), fonts]).then(function(arr){\n          catDogImg = arr[0]; pawImg = arr[1];\n          setTimeout(start, 80);\n        });\n      };\n      try {\n        var io = new IntersectionObserver(function(entries){\n          entries.forEach(function(en){ if (en.isIntersecting){ beginWhenReady(); } else { stop(); } });\n        }, { threshold: 0.05 });\n        io.observe(block);\n      } catch(_) { beginWhenReady(); }\n    });\n  }\n\n  if (document.readyState === 'loading'){\n    document.addEventListener('DOMContentLoaded', init);\n  } else { init(); }\n})();\n\u003c\/script\u003e\n\n\u003cstyle\u003e\n.pawse-pdp { font-family: 'Source Sans Pro', sans-serif; color: #3A3A3E; line-height: 1.7; font-size: 16px; max-width: 760px; }\n.pawse-pdp h3, .pawse-pdp .pawse-accordion summary {\n  font-family: 'Fraunces', serif; font-weight: 300; font-size: 1.4rem;\n  margin: 2.2em 0 0.55em; color: #3A3A3E;\n  border-bottom: 1px solid #E8E0DC; padding: 0 0 0.4em;\n  letter-spacing: 0.08em; text-transform: uppercase; display: block;\n}\n.pawse-pdp ul { padding-left: 0; margin: 0 0 1.6em; list-style: none; }\n.pawse-pdp ul li { margin-bottom: 0.5em; font-size: 1rem; }\n.pawse-bullets li { position: relative; padding-left: 1.9em; }\n.pawse-bullets li::before {\n  content: ''; position: absolute; left: 0; top: 0.4em; width: 16px; height: 16px;\n  background: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='12' cy='15' rx='5.5' ry='4.2' fill='%23984B2C'\/%3E%3Cellipse cx='5' cy='9' rx='2' ry='2.4' fill='%23984B2C'\/%3E%3Cellipse cx='19' cy='9' rx='2' ry='2.4' fill='%23984B2C'\/%3E%3Cellipse cx='9' cy='5' rx='1.8' ry='2.1' fill='%23984B2C'\/%3E%3Cellipse cx='15' cy='5' rx='1.8' ry='2.1' fill='%23984B2C'\/%3E%3C\/svg%3E\") no-repeat center;\n  background-size: contain;\n}\n\n.pawse-particles {\n  position: relative; width: 100%; height: 320px;\n  background: transparent; border-radius: 6px;\n  margin: 2.5em 0 0; overflow: hidden; cursor: crosshair;\n}\n.pawse-particles canvas { display: block; width: 100%; height: 100%; position: relative; z-index: 2; }\n.pawse-particles-fallback {\n  position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;\n  z-index: 1; text-align: center; pointer-events: none;\n}\n.pawse-particles-active .pawse-particles-fallback { display: none; }\n.pawse-particles-mark {\n  font-family: 'Fraunces', serif; font-size: 3rem; letter-spacing: 0.15em; color: #984B2C; margin: 0 0 0.5em; font-weight: 400; text-transform: uppercase;\n}\n.pawse-particles-line {\n  font-family: 'Fraunces', serif; font-style: italic; font-weight: 300; color: #6A6A6E; font-size: 1.4rem; margin: 0;\n}\n\n.pawse-value-strip { background: #F9F3F1; padding: 1.1em 1.2em; border-radius: 6px; margin: 0 0 1.6em; border-left: 3px solid #984B2C; }\n.pawse-notify-line { margin: 0 0 0.7em; font-size: 0.98rem; color: #3A3A3E; font-family: 'Fraunces', serif; font-style: italic; }\n.pawse-notify-line a { color: #984B2C; text-decoration: underline; font-weight: 500; font-style: normal; }\n.pawse-value-strip .pawse-trust-badges { display: grid; grid-template-columns: 1fr 1fr; gap: 0.45em 1.2em; list-style: none; padding: 0; margin: 0; }\n.pawse-value-strip .pawse-trust-badges li { font-size: 0.9rem; display: flex; align-items: flex-start; gap: 0.5em; margin: 0; padding: 0; }\n.pawse-value-strip .pawse-trust-badges li::before { display: none; }\n.pawse-value-strip .pawse-trust-badges .icon { font-size: 1.15em; flex-shrink: 0; line-height: 1.3; }\n\n.pawse-hook { font-family: 'Fraunces', serif; font-size: 1.65rem; font-weight: 300; line-height: 1.35; color: #3A3A3E; margin: 0 0 0.5em; letter-spacing: 0.003em; }\n.pawse-hook em { font-style: italic; }\n.pawse-tagline { font-size: 1.05rem; color: #3A3A3E; margin: 0 0 0.9em; }\n.pawse-intro-para { font-size: 1rem; color: #3A3A3E; margin: 0 0 1.3em; line-height: 1.75; }\n\n.pawse-size-illustration { background: #FFFFFF; padding: 1.2em 1em 1em; margin: 0.6em 0 1.2em; text-align: center; border: 1px solid #E8E0DC; border-radius: 6px; }\n.pawse-size-illustration img { max-width: 100%; width: 100%; max-height: 420px; object-fit: contain; height: auto; }\n.pawse-size-table { border-collapse: collapse; width: 100%; margin: 0.4em 0 1.4em; font-size: 0.93rem; }\n.pawse-size-table th, .pawse-size-table td { padding: 0.55em 0.8em; text-align: left; border-bottom: 1px solid #E8E0DC; }\n.pawse-size-table th { font-family: 'Fraunces', serif; font-weight: 400; color: #984B2C; background: #F9F3F1; }\n.pawse-size-notes { margin-top: 0.6em; }\n\n.pawse-attention { background: #F9F3F1; border-left: 3px solid #984B2C; padding: 1.3em 1.5em; margin: 2.2em 0; border-radius: 0 4px 4px 0; }\n.pawse-attention-eyebrow { font-family: 'Fraunces', serif; font-size: 1.4rem; font-weight: 300; color: #3A3A3E; margin: 0 0 0.6em; letter-spacing: 0.08em; text-transform: uppercase; border-bottom: 1px solid #E8E0DC; padding-bottom: 0.4em; }\n.pawse-attention-quote { font-family: 'Fraunces', serif; font-size: 1.15rem; font-style: italic; color: #3A3A3E; margin: 0 0 0.9em; }\n.pawse-attention-attrib { font-size: 0.85rem; color: #6A6A6E; font-style: normal; }\n.pawse-attention-bullets { padding-left: 0; margin: 0 0 0.9em; list-style: none; }\n.pawse-attention-bullets li { position: relative; padding-left: 1.9em; margin-bottom: 0.4em; font-size: 1rem; }\n.pawse-attention-bullets li::before {\n  content: ''; position: absolute; left: 0; top: 0.4em; width: 16px; height: 16px;\n  background: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='12' cy='15' rx='5.5' ry='4.2' fill='%23984B2C'\/%3E%3Cellipse cx='5' cy='9' rx='2' ry='2.4' fill='%23984B2C'\/%3E%3Cellipse cx='19' cy='9' rx='2' ry='2.4' fill='%23984B2C'\/%3E%3Cellipse cx='9' cy='5' rx='1.8' ry='2.1' fill='%23984B2C'\/%3E%3Cellipse cx='15' cy='5' rx='1.8' ry='2.1' fill='%23984B2C'\/%3E%3C\/svg%3E\") no-repeat center;\n  background-size: contain;\n}\n.pawse-attention-note { font-family: 'Fraunces', serif; font-size: 0.95rem; color: #6A6A6E; margin: 0.9em 0 0; font-style: italic; line-height: 1.55; }\n\n.pawse-accordion { margin: 2.2em 0 0; padding: 0; border-top: none; }\n.pawse-accordion summary { cursor: pointer; list-style: none; }\n.pawse-accordion summary::-webkit-details-marker { display: none; }\n.pawse-accordion summary::after { content: \" +\"; color: #984B2C; font-weight: 300; font-size: 0.9em; }\n.pawse-accordion[open] summary::after { content: \" –\"; }\n.pawse-accordion[open] summary { margin-bottom: 0.7em; }\n.pawse-qa { margin: 0 0 1.2em; padding: 0 0 0.9em; border-bottom: 1px solid #F0E8E4; }\n.pawse-qa:last-child { border-bottom: none; padding-bottom: 0; margin-bottom: 0; }\n.pawse-q { font-family: 'Fraunces', serif; font-size: 1rem; color: #984B2C; margin: 0 0 0.35em; font-style: italic; }\n.pawse-a { font-size: 0.97rem; color: #3A3A3E; margin: 0; line-height: 1.65; }\n\n@media (max-width: 768px) {\n  .pawse-pdp { font-size: 15px; max-width: 100%; }\n  .pawse-pdp h3, .pawse-pdp .pawse-accordion summary { font-size: 1.2rem; margin-top: 1.8em; letter-spacing: 0.06em; }\n  .pawse-hook { font-size: 1.35rem; }\n  .pawse-value-strip { padding: 0.95em 1em; }\n  .pawse-value-strip .pawse-trust-badges { grid-template-columns: 1fr; gap: 0.45em; }\n  .pawse-value-strip .pawse-trust-badges li { font-size: 0.88rem; }\n  .pawse-attention { padding: 1.1em 1.2em; }\n  .pawse-attention-eyebrow { font-size: 1.2rem; }\n  .pawse-attention-quote { font-size: 1.05rem; }\n  .pawse-size-table { font-size: 0.85rem; }\n  .pawse-particles { height: 240px; }\n  .pawse-particles-mark { font-size: 2.2rem; }\n  .pawse-particles-line { font-size: 1.1rem; }\n}\n\n\/* P1#8 cross-sell *\/\n.pawse-cross-sell { margin: 2.5em 0 0; }\n.pawse-cross-item {\n  display: flex; align-items: center; justify-content: space-between;\n  padding: 1.1em 1.4em;\n  background: #F9F3F1;\n  border-radius: 6px;\n  text-decoration: none;\n  color: #3A3A3E;\n  transition: background 0.2s;\n}\n.pawse-cross-item:hover { background: #F2E8E4; }\n.pawse-cross-text { display: flex; flex-direction: column; gap: 0.25em; }\n.pawse-cross-name { font-family: 'Fraunces', serif; font-size: 1.1rem; margin: 0; color: #3A3A3E; }\n.pawse-cross-price { font-size: 0.95rem; color: #6A6A6E; margin: 0; }\n.pawse-cross-arrow { font-family: 'Fraunces', serif; font-size: 1.4rem; color: #984B2C; }\n\n\/* P1#5 mobile sticky bottom CTA *\/\n.pawse-sticky-cta { display: none; }\n@media (max-width: 768px) {\n  .pawse-sticky-cta {\n    display: flex; align-items: center; justify-content: space-between;\n    position: fixed; left: 0; right: 0; bottom: 0;\n    background: #FFFFFF;\n    border-top: 1px solid #E8E0DC;\n    padding: 0.7em 1em;\n    z-index: 1000;\n    box-shadow: 0 -2px 8px rgba(58, 58, 62, 0.06);\n    gap: 1em;\n  }\n  .pawse-sticky-info { display: flex; flex-direction: column; gap: 0.1em; flex: 1; min-width: 0; overflow: hidden; }\n  .pawse-sticky-name { font-family: 'Fraunces', serif; font-size: 0.9rem; color: #3A3A3E; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n  .pawse-sticky-price { font-family: 'Fraunces', serif; font-size: 1.05rem; color: #984B2C; font-weight: 400; }\n  .pawse-sticky-btn {\n    background: #3A3A3E; color: #FFFFFF;\n    padding: 0.75em 1.2em; border-radius: 4px;\n    font-family: 'Fraunces', serif; font-size: 0.95rem;\n    text-decoration: none; flex-shrink: 0;\n    text-transform: uppercase; letter-spacing: 0.08em;\n  }\n  \/* prevent body content hidden under sticky bar *\/\n  .pawse-pdp { padding-bottom: 80px; }\n}\n\n\/* P2#13 motion safe *\/\n@media (prefers-reduced-motion: reduce) {\n  .pawse-particles canvas { display: none; }\n  .pawse-particles .pawse-particles-fallback { position: static; padding: 2em 1em; }\n}\n\n\/* P2#15 improved canvas fallback (visible to bot, hidden visually when canvas works) *\/\n.pawse-particles-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }\n\n\n.pawse-jdgm-preview { margin: 0 0 1.2em; min-height: 22px; }\n.pawse-jdgm-preview .jdgm-prev-badge { font-size: 0.95rem; }\n.pawse-reviews-heading {\n  font-family: 'Fraunces', serif; font-weight: 300; font-size: 1.4rem;\n  margin: 2.2em 0 0.55em; color: #3A3A3E;\n  border-bottom: 1px solid #E8E0DC; padding: 0 0 0.4em;\n  letter-spacing: 0.08em; text-transform: uppercase; display: block;\n}\n.pawse-jdgm-widget { margin: 0.6em 0 1.5em; min-height: 80px; }\n.pawse-jdgm-widget:empty::before {\n  content: \"Reviews will appear here once your Judge.me app embed is enabled in the theme editor.\";\n  display: block; color: #6A6A6E; font-style: italic; font-size: 0.92rem; padding: 1em 0;\n}\n\n\u003c\/style\u003e","brand":"PAWSE","offers":[{"title":"L","offer_id":53297823580473,"sku":"PAWSE-CL-AD-CU-TR-YL-L-01","price":44.95,"currency_code":"AUD","in_stock":false},{"title":"M (coming soon)","offer_id":53298277843257,"sku":"PAWSE-CL-AD-CU-TR-YL-M-01","price":44.95,"currency_code":"AUD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0975\/2310\/6105\/files\/PAWSE-CL-AD-CU-TR-YL-L-01_main_white.png?v=1779028541","url":"https:\/\/pawse.au\/products\/bumblebee-cat-hoodie","provider":"PAWSE","version":"1.0","type":"link"}