{"product_id":"pet-spree™-soapbrush","title":"Pet Spree™ SoapBrush","description":"\u003c!-- Pet Spree™ SoapBrush — Mobile-Optimised Shopify Product Description --\u003e\n\u003csection class=\"pssb\" aria-label=\"Pet Spree SoapBrush product information\"\u003e\n  \u003cstyle\u003e\n    .pssb {\n      --pssb-navy: #102a43;\n      --pssb-navy-deep: #071b2e;\n      --pssb-navy-soft: #173f62;\n      --pssb-gold: #c89b3c;\n      --pssb-gold-light: #f6e9ca;\n      --pssb-cream: #fcfaf5;\n      --pssb-white: #ffffff;\n      --pssb-ink: #243443;\n      --pssb-muted: #687785;\n      box-sizing: border-box;\n      width: 100%;\n      max-width: 920px;\n      margin: 0 auto;\n      color: var(--pssb-ink);\n      font-family: inherit;\n      line-height: 1.55;\n      -webkit-font-smoothing: antialiased;\n    }\n\n    .pssb *,\n    .pssb *::before,\n    .pssb *::after {\n      box-sizing: inherit;\n    }\n\n    .pssb__hero {\n      position: relative;\n      isolation: isolate;\n      overflow: hidden;\n      padding: 36px 20px 34px;\n      border: 1px solid rgba(200, 155, 60, 0.18);\n      border-radius: 22px;\n      background:\n        radial-gradient(circle at 85% 15%, rgba(200, 155, 60, 0.18), transparent 28%),\n        linear-gradient(145deg, var(--pssb-navy-deep), var(--pssb-navy) 62%, var(--pssb-navy-soft));\n      color: var(--pssb-white);\n      text-align: center;\n      box-shadow: 0 18px 48px rgba(7, 27, 46, 0.18);\n      animation: pssb-reveal 700ms cubic-bezier(0.22, 1, 0.36, 1) both;\n    }\n\n    .pssb__hero::before {\n      content: \"\";\n      position: absolute;\n      z-index: -1;\n      top: -100px;\n      right: -90px;\n      width: 230px;\n      height: 230px;\n      border: 1px solid rgba(200, 155, 60, 0.2);\n      border-radius: 50%;\n      box-shadow:\n        0 0 0 26px rgba(200, 155, 60, 0.045),\n        0 0 0 58px rgba(200, 155, 60, 0.025);\n      animation: pssb-orbit 9s ease-in-out infinite;\n    }\n\n    .pssb__hero::after {\n      content: \"\";\n      position: absolute;\n      inset: 0;\n      z-index: -1;\n      background: linear-gradient(110deg, transparent 25%, rgba(255, 255, 255, 0.08) 45%, transparent 65%);\n      transform: translateX(-120%);\n      animation: pssb-sheen 5.5s ease-in-out 1.2s infinite;\n    }\n\n    .pssb__eyebrow {\n      display: inline-flex;\n      align-items: center;\n      gap: 8px;\n      margin-bottom: 13px;\n      padding: 7px 12px;\n      border: 1px solid rgba(200, 155, 60, 0.34);\n      border-radius: 999px;\n      background: rgba(7, 27, 46, 0.42);\n      color: var(--pssb-gold);\n      font-size: 11px;\n      font-weight: 800;\n      letter-spacing: 0.14em;\n      line-height: 1;\n      text-transform: uppercase;\n      animation: pssb-fade-up 650ms 140ms both;\n    }\n\n    .pssb__eyebrow::before {\n      content: \"\";\n      width: 6px;\n      height: 6px;\n      border-radius: 50%;\n      background: var(--pssb-gold);\n      box-shadow: 0 0 0 5px rgba(200, 155, 60, 0.12);\n      animation: pssb-pulse 2.8s ease-in-out infinite;\n    }\n\n    .pssb h2,\n    .pssb h3,\n    .pssb p {\n      margin-top: 0;\n    }\n\n    .pssb__hero h2 {\n      position: relative;\n      margin: 0 auto 13px;\n      color: var(--pssb-white);\n      font-size: clamp(30px, 9vw, 47px);\n      font-weight: 800;\n      letter-spacing: -0.035em;\n      line-height: 1.08;\n      animation: pssb-fade-up 700ms 220ms both;\n    }\n\n    .pssb__hero h2 span {\n      color: var(--pssb-gold);\n    }\n\n    .pssb__intro {\n      max-width: 690px;\n      margin: 0 auto;\n      color: rgba(255, 255, 255, 0.84);\n      font-size: 15px;\n      line-height: 1.65;\n      animation: pssb-fade-up 700ms 300ms both;\n    }\n\n    .pssb__chips {\n      display: flex;\n      flex-wrap: wrap;\n      justify-content: center;\n      gap: 7px;\n      margin-top: 20px;\n      animation: pssb-fade-up 700ms 380ms both;\n    }\n\n    .pssb__chip {\n      padding: 7px 10px;\n      border: 1px solid rgba(255, 255, 255, 0.12);\n      border-radius: 999px;\n      background: rgba(255, 255, 255, 0.07);\n      color: rgba(255, 255, 255, 0.88);\n      font-size: 11px;\n      font-weight: 700;\n      letter-spacing: 0.02em;\n    }\n\n    .pssb__features {\n      padding: 34px 2px 0;\n    }\n\n    .pssb__section-heading {\n      margin-bottom: 20px;\n      text-align: center;\n    }\n\n    .pssb__section-heading h2 {\n      margin-bottom: 8px;\n      color: var(--pssb-navy);\n      font-size: 24px;\n      font-weight: 800;\n      letter-spacing: -0.025em;\n      line-height: 1.2;\n    }\n\n    .pssb__gold-line {\n      position: relative;\n      overflow: hidden;\n      width: 54px;\n      height: 3px;\n      margin: 0 auto;\n      border-radius: 999px;\n      background: rgba(200, 155, 60, 0.22);\n    }\n\n    .pssb__gold-line::after {\n      content: \"\";\n      position: absolute;\n      inset: 0;\n      background: linear-gradient(90deg, transparent, var(--pssb-gold), transparent);\n      animation: pssb-line 2.6s ease-in-out infinite;\n    }\n\n    .pssb__grid {\n      display: grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 10px;\n    }\n\n    .pssb__card {\n      position: relative;\n      overflow: hidden;\n      min-height: 146px;\n      padding: 17px 14px 16px;\n      border: 1px solid rgba(16, 42, 67, 0.085);\n      border-radius: 17px;\n      background: linear-gradient(150deg, var(--pssb-white), var(--pssb-cream));\n      box-shadow: 0 8px 24px rgba(16, 42, 67, 0.07);\n      opacity: 0;\n      transform: translateY(14px);\n      animation: pssb-card-in 600ms cubic-bezier(0.22, 1, 0.36, 1) forwards;\n      transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;\n    }\n\n    .pssb__card:nth-child(1) { animation-delay: 420ms; }\n    .pssb__card:nth-child(2) { animation-delay: 500ms; }\n    .pssb__card:nth-child(3) { animation-delay: 580ms; }\n    .pssb__card:nth-child(4) { animation-delay: 660ms; }\n    .pssb__card:nth-child(5) { animation-delay: 740ms; }\n    .pssb__card:nth-child(6) { animation-delay: 820ms; }\n\n    .pssb__card::after {\n      content: \"\";\n      position: absolute;\n      right: -28px;\n      bottom: -28px;\n      width: 68px;\n      height: 68px;\n      border-radius: 50%;\n      background: rgba(200, 155, 60, 0.065);\n      transition: transform 280ms ease;\n    }\n\n    .pssb__card:hover,\n    .pssb__card:focus-within {\n      transform: translateY(-4px);\n      border-color: rgba(200, 155, 60, 0.32);\n      box-shadow: 0 14px 32px rgba(16, 42, 67, 0.11);\n    }\n\n    .pssb__card:hover::after {\n      transform: scale(1.35);\n    }\n\n    .pssb__icon {\n      display: grid;\n      width: 38px;\n      height: 38px;\n      margin-bottom: 11px;\n      border: 1px solid rgba(200, 155, 60, 0.22);\n      border-radius: 12px;\n      background: var(--pssb-gold-light);\n      color: var(--pssb-navy);\n      place-items: center;\n      transition: transform 240ms ease, background 240ms ease;\n    }\n\n    .pssb__card:hover .pssb__icon {\n      transform: translateY(-2px) rotate(-3deg);\n      background: #f3dfb0;\n    }\n\n    .pssb__icon svg {\n      width: 20px;\n      height: 20px;\n      fill: none;\n      stroke: currentColor;\n      stroke-width: 1.8;\n      stroke-linecap: round;\n      stroke-linejoin: round;\n    }\n\n    .pssb__card h3 {\n      margin-bottom: 4px;\n      color: var(--pssb-navy);\n      font-size: 14px;\n      font-weight: 800;\n      line-height: 1.25;\n    }\n\n    .pssb__card p {\n      position: relative;\n      z-index: 1;\n      margin-bottom: 0;\n      color: var(--pssb-muted);\n      font-size: 12px;\n      line-height: 1.45;\n    }\n\n    .pssb__closing {\n      position: relative;\n      overflow: hidden;\n      margin-top: 26px;\n      padding: 27px 20px;\n      border: 1px solid rgba(200, 155, 60, 0.25);\n      border-radius: 19px;\n      background: linear-gradient(135deg, var(--pssb-gold-light), var(--pssb-cream));\n      text-align: center;\n      box-shadow: 0 10px 28px rgba(16, 42, 67, 0.065);\n      animation: pssb-fade-up 700ms 860ms both;\n    }\n\n    .pssb__closing::before,\n    .pssb__closing::after {\n      content: \"\";\n      position: absolute;\n      width: 80px;\n      height: 80px;\n      border: 1px solid rgba(200, 155, 60, 0.16);\n      border-radius: 50%;\n    }\n\n    .pssb__closing::before {\n      top: -48px;\n      left: -38px;\n    }\n\n    .pssb__closing::after {\n      right: -42px;\n      bottom: -50px;\n    }\n\n    .pssb__closing p {\n      position: relative;\n      z-index: 1;\n      max-width: 630px;\n      margin: 0 auto 12px;\n      color: var(--pssb-ink);\n      font-size: 14px;\n    }\n\n    .pssb__closing strong {\n      position: relative;\n      z-index: 1;\n      display: block;\n      color: var(--pssb-navy);\n      font-size: 16px;\n      letter-spacing: 0.01em;\n    }\n\n    .pssb__safety {\n      display: flex;\n      align-items: flex-start;\n      gap: 8px;\n      margin: 14px 5px 0;\n      padding: 11px 12px;\n      border-radius: 11px;\n      background: rgba(16, 42, 67, 0.045);\n      color: var(--pssb-muted);\n      font-size: 11px;\n      line-height: 1.45;\n      animation: pssb-fade-up 650ms 940ms both;\n    }\n\n    .pssb__safety svg {\n      flex: 0 0 auto;\n      width: 15px;\n      height: 15px;\n      margin-top: 1px;\n      fill: none;\n      stroke: var(--pssb-gold);\n      stroke-width: 2;\n      stroke-linecap: round;\n      stroke-linejoin: round;\n    }\n\n    @keyframes pssb-reveal {\n      from { opacity: 0; transform: translateY(12px) scale(0.99); }\n      to { opacity: 1; transform: translateY(0) scale(1); }\n    }\n\n    @keyframes pssb-fade-up {\n      from { opacity: 0; transform: translateY(10px); }\n      to { opacity: 1; transform: translateY(0); }\n    }\n\n    @keyframes pssb-card-in {\n      to { opacity: 1; transform: translateY(0); }\n    }\n\n    @keyframes pssb-sheen {\n      0%, 64% { transform: translateX(-120%); }\n      86%, 100% { transform: translateX(120%); }\n    }\n\n    @keyframes pssb-pulse {\n      0%, 100% { box-shadow: 0 0 0 5px rgba(200, 155, 60, 0.1); }\n      50% { box-shadow: 0 0 0 8px rgba(200, 155, 60, 0.025); }\n    }\n\n    @keyframes pssb-orbit {\n      0%, 100% { transform: translate(0, 0) rotate(0deg); }\n      50% { transform: translate(-8px, 7px) rotate(8deg); }\n    }\n\n    @keyframes pssb-line {\n      from { transform: translateX(-110%); }\n      to { transform: translateX(110%); }\n    }\n\n    @media (min-width: 700px) {\n      .pssb__hero {\n        padding: 48px 36px 46px;\n        border-radius: 26px;\n      }\n\n      .pssb__intro {\n        font-size: 16px;\n      }\n\n      .pssb__features {\n        padding-top: 42px;\n      }\n\n      .pssb__section-heading h2 {\n        font-size: 28px;\n      }\n\n      .pssb__grid {\n        grid-template-columns: repeat(3, minmax(0, 1fr));\n        gap: 14px;\n      }\n\n      .pssb__card {\n        min-height: 165px;\n        padding: 21px 19px;\n      }\n\n      .pssb__card h3 {\n        font-size: 15px;\n      }\n\n      .pssb__card p {\n        font-size: 13px;\n      }\n\n      .pssb__closing {\n        margin-top: 34px;\n        padding: 32px 28px;\n      }\n\n      .pssb__closing p {\n        font-size: 15px;\n      }\n\n      .pssb__closing strong {\n        font-size: 18px;\n      }\n    }\n\n    @media (max-width: 370px) {\n      .pssb__grid {\n        grid-template-columns: 1fr;\n      }\n\n      .pssb__card {\n        min-height: 0;\n      }\n    }\n\n    @media (prefers-reduced-motion: reduce) {\n      .pssb *,\n      .pssb *::before,\n      .pssb *::after {\n        scroll-behavior: auto !important;\n        animation-duration: 0.01ms !important;\n        animation-iteration-count: 1 !important;\n        transition-duration: 0.01ms !important;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003cdiv class=\"pssb__hero\"\u003e\n    \u003cspan class=\"pssb__eyebrow\"\u003ePet Spree™ SoapBrush\u003c\/span\u003e\n    \u003ch2\u003eMore Lather.\u003cbr\u003e\u003cspan\u003eLess Bath-Time Fuss.\u003c\/span\u003e\n\u003c\/h2\u003e\n    \u003cp class=\"pssb__intro\"\u003e\n      The \u003cstrong\u003ePet Spree™ SoapBrush\u003c\/strong\u003e stores shampoo and dispenses it through the bristles as you wash—combining lathering, gentle scrubbing and soothing massage in one easy-to-use grooming tool.\n    \u003c\/p\u003e\n    \u003cdiv class=\"pssb__chips\" aria-label=\"Product highlights\"\u003e\n      \u003cspan class=\"pssb__chip\"\u003eRefillable\u003c\/span\u003e\n      \u003cspan class=\"pssb__chip\"\u003eEasy Dispense\u003c\/span\u003e\n      \u003cspan class=\"pssb__chip\"\u003eGentle Scrub\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"pssb__features\"\u003e\n    \u003cdiv class=\"pssb__section-heading\"\u003e\n      \u003ch2\u003eA Smarter Way to Wash\u003c\/h2\u003e\n      \u003cdiv class=\"pssb__gold-line\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"pssb__grid\"\u003e\n      \u003carticle class=\"pssb__card\"\u003e\n        \u003cspan class=\"pssb__icon\" aria-hidden=\"true\"\u003e\n          \u003csvg viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M8 3h8v4l2 3v9a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2v-9l2-3V3Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 7h8M8 14h8\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003c\/span\u003e\n        \u003ch3\u003eBuilt-In Shampoo Chamber\u003c\/h3\u003e\n        \u003cp\u003eFill the brush once and keep shampoo close while you wash.\u003c\/p\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"pssb__card\"\u003e\n        \u003cspan class=\"pssb__icon\" aria-hidden=\"true\"\u003e\n          \u003csvg viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M12 3s4 4.5 4 8a4 4 0 0 1-8 0c0-3.5 4-8 4-8Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 18h14M7 21h10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003c\/span\u003e\n        \u003ch3\u003eEasy Shampoo Dispensing\u003c\/h3\u003e\n        \u003cp\u003eRelease shampoo through the bristles as needed for controlled lathering.\u003c\/p\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"pssb__card\"\u003e\n        \u003cspan class=\"pssb__icon\" aria-hidden=\"true\"\u003e\n          \u003csvg viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M5 20V9M9 20V5M13 20V8M17 20V4M21 20V10\"\u003e\u003c\/path\u003e\u003cpath d=\"M3 20h20\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003c\/span\u003e\n        \u003ch3\u003eFlexible Cleaning Bristles\u003c\/h3\u003e\n        \u003cp\u003eGently work through wet fur to help lift dirt without harsh scrubbing.\u003c\/p\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"pssb__card\"\u003e\n        \u003cspan class=\"pssb__icon\" aria-hidden=\"true\"\u003e\n          \u003csvg viewbox=\"0 0 24 24\"\u003e\u003ccircle cx=\"8\" cy=\"8\" r=\"3\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"16\" cy=\"7\" r=\"2\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"16\" cy=\"16\" r=\"4\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 17c2-2 4-3 7-3\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003c\/span\u003e\n        \u003ch3\u003eRicher, More Even Lather\u003c\/h3\u003e\n        \u003cp\u003eHelps spread shampoo across the coat as you brush and massage.\u003c\/p\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"pssb__card\"\u003e\n        \u003cspan class=\"pssb__icon\" aria-hidden=\"true\"\u003e\n          \u003csvg viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M7 14c-1.5-1-2-2.5-2-4a2 2 0 0 1 4 0V7a2 2 0 0 1 4 0v2-3a2 2 0 0 1 4 0v4-2a2 2 0 0 1 4 0v5c0 5-3 8-8 8h-1c-3 0-5-1-7-4l-2-3a2 2 0 0 1 3-2l1 2Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003c\/span\u003e\n        \u003ch3\u003eSoothing Massage Action\u003c\/h3\u003e\n        \u003cp\u003eThe flexible bristles turn washing into a gentler grooming experience.\u003c\/p\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"pssb__card\"\u003e\n        \u003cspan class=\"pssb__icon\" aria-hidden=\"true\"\u003e\n          \u003csvg viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M7 7h10a3 3 0 0 1 3 3v4a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3v-4a3 3 0 0 1 3-3Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 7V5h8v2M9 12h6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003c\/span\u003e\n        \u003ch3\u003eComfortable Easy-Grip Shape\u003c\/h3\u003e\n        \u003cp\u003eDesigned to sit securely in your hand for better control while bathing.\u003c\/p\u003e\n      \u003c\/article\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"pssb__closing\"\u003e\n    \u003cp\u003eNo juggling shampoo bottles. No stopping mid-wash. Just a simpler way to lather, scrub and care for your dog’s coat.\u003c\/p\u003e\n    \u003cstrong\u003eFill. Lather. Rinse.\u003c\/strong\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"pssb__safety\"\u003e\n    \u003csvg viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"9\"\u003e\u003c\/circle\u003e\u003cpath d=\"M12 8v5M12 17h.01\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n    \u003cspan\u003e\u003cstrong\u003eCare note:\u003c\/strong\u003e Use pet-safe shampoo only and avoid contact with your pet’s eyes, ears and nose.\u003c\/span\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e","brand":"Pet Spree","offers":[{"title":"Default Title","offer_id":54311065125177,"sku":null,"price":249.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1005\/4739\/5897\/files\/DF64D49B-1B3F-451F-878D-3E4574D2742C.png?v=1786796740","url":"https:\/\/www.petspree.co.za\/products\/pet-spree%e2%84%a2-soapbrush","provider":"Pet Spree","version":"1.0","type":"link"}