{"product_id":"smart-bouncing-ball","title":"Smart Bounce Ball","description":"\u003c!-- TailVale Smart Bounce Ball | Paste into a Shopify Custom Liquid block --\u003e\n\u003cstyle\u003e\n    .tv-bounce {\n      --tv-ink: #16372d;\n      --tv-deep: #102820;\n      --tv-cream: #f6f4ec;\n      --tv-paper: #fffefa;\n      --tv-lime: #d4f27b;\n      --tv-coral: #ff927e;\n      --tv-muted: #68776d;\n      color: var(--tv-ink);\n      background: var(--tv-cream);\n      border-radius: 28px;\n      overflow: hidden;\n      font-family: inherit;\n      margin: 24px auto;\n      max-width: 1180px;\n      isolation: isolate;\n    }\n    .tv-bounce * { box-sizing: border-box; }\n    .tv-bounce a { color: inherit; }\n    .tv-bounce__hero {\n      position: relative;\n      display: grid;\n      grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr);\n      align-items: center;\n      gap: clamp(28px, 5vw, 72px);\n      min-height: 490px;\n      padding: clamp(30px, 6vw, 76px);\n      color: #fffefa;\n      background:\n        radial-gradient(ellipse at 84% 16%, rgba(212,242,123,.12), transparent 32%),\n        linear-gradient(135deg, #173b30 0%, #102820 70%, #0b211a 100%);\n    }\n    .tv-bounce__hero:after {\n      content: \"\";\n      position: absolute;\n      width: 280px;\n      height: 280px;\n      right: -120px;\n      bottom: -170px;\n      border: 1px solid rgba(255,255,255,.13);\n      border-radius: 50%;\n      box-shadow: 0 0 0 34px rgba(255,255,255,.025), 0 0 0 68px rgba(255,255,255,.02);\n      pointer-events: none;\n    }\n    .tv-bounce__copy { position: relative; z-index: 1; max-width: 590px; }\n    .tv-bounce__eyebrow {\n      display: inline-flex;\n      align-items: center;\n      gap: 10px;\n      margin: 0 0 22px;\n      color: var(--tv-lime);\n      font-size: 11px;\n      font-weight: 800;\n      letter-spacing: .2em;\n      text-transform: uppercase;\n    }\n    .tv-bounce__eyebrow:before {\n      content: \"\";\n      width: 25px;\n      height: 1px;\n      background: currentColor;\n    }\n    .tv-bounce h2, .tv-bounce h3, .tv-bounce p { margin-top: 0; }\n    .tv-bounce__title {\n      max-width: 620px;\n      margin-bottom: 22px;\n      font-size: clamp(42px, 6vw, 78px);\n      font-weight: 750;\n      letter-spacing: -.065em;\n      line-height: .98;\n      text-wrap: balance;\n    }\n    .tv-bounce__title em { color: var(--tv-lime); font-family: Georgia, serif; font-weight: 400; }\n    .tv-bounce__intro {\n      max-width: 500px;\n      margin-bottom: 30px;\n      color: rgba(255,254,250,.78);\n      font-size: clamp(15px, 1.5vw, 18px);\n      line-height: 1.7;\n    }\n    .tv-bounce__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }\n    .tv-bounce__button {\n      display: inline-flex;\n      justify-content: center;\n      align-items: center;\n      min-height: 48px;\n      padding: 0 19px;\n      border: 1px solid transparent;\n      border-radius: 999px;\n      background: var(--tv-lime);\n      color: var(--tv-deep) !important;\n      font-size: 13px;\n      font-weight: 800;\n      text-decoration: none;\n      transition: transform .2s ease, background .2s ease;\n      cursor: pointer;\n    }\n    .tv-bounce__button:hover { transform: translateY(-2px); background: #e1f9a1; }\n    .tv-bounce__button--quiet {\n      border-color: rgba(255,255,255,.27);\n      background: transparent;\n      color: #fffefa !important;\n    }\n    .tv-bounce__button--quiet:hover { background: rgba(255,255,255,.09); }\n    .tv-bounce__micro { margin: 18px 0 0; color: rgba(255,254,250,.55); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }\n    .tv-bounce__stage {\n      position: relative;\n      display: grid;\n      min-height: 350px;\n      place-items: center;\n      overflow: hidden;\n      border: 1px solid rgba(255,255,255,.14);\n      border-radius: 48% 48% 42% 42% \/ 43% 43% 52% 52%;\n      background: radial-gradient(ellipse at 50% 58%, rgba(212,242,123,.11), transparent 52%);\n    }\n    .tv-bounce__orbit {\n      position: absolute;\n      width: min(83%, 330px);\n      aspect-ratio: 1;\n      border: 1px solid rgba(255,255,255,.2);\n      border-radius: 50%;\n      transform: rotate(-24deg) scaleY(.49);\n    }\n    .tv-bounce__orbit:before, .tv-bounce__orbit:after {\n      content: \"\";\n      position: absolute;\n      border: 1px solid rgba(255,255,255,.1);\n      border-radius: 50%;\n      inset: -22px;\n    }\n    .tv-bounce__orbit:after { inset: -48px; border-color: rgba(255,255,255,.07); }\n    .tv-bounce__dot {\n      position: absolute;\n      top: 15%;\n      left: 14%;\n      width: 9px;\n      height: 9px;\n      border-radius: 50%;\n      background: var(--tv-coral);\n      box-shadow: 0 0 18px var(--tv-coral);\n    }\n    .tv-bounce__ball-wrap {\n      position: relative;\n      z-index: 1;\n      display: grid;\n      width: clamp(150px, 21vw, 220px);\n      aspect-ratio: 1;\n      place-items: center;\n      animation: tv-bob 2.1s ease-in-out infinite;\n    }\n    .tv-bounce__ball {\n      position: relative;\n      display: grid;\n      width: 75%;\n      aspect-ratio: 1;\n      place-items: center;\n      border: 1px solid rgba(255,255,255,.18);\n      border-radius: 50%;\n      background:\n        radial-gradient(circle at 35% 27%, rgba(255,255,255,.22), transparent 13%),\n        radial-gradient(circle at 38% 30%, #424b45 0%, #202a25 28%, #101713 68%, #070b09 100%);\n      box-shadow: inset -15px -18px 28px rgba(0,0,0,.56), inset 8px 8px 18px rgba(255,255,255,.08), 0 28px 42px rgba(0,0,0,.3);\n    }\n    .tv-bounce__ball:before, .tv-bounce__ball:after {\n      content: \"\";\n      position: absolute;\n      border: 1px solid rgba(255,255,255,.08);\n      border-radius: 50%;\n      inset: 12%;\n    }\n    .tv-bounce__ball:after { inset: 25%; border-color: rgba(255,255,255,.06); }\n    .tv-bounce__led {\n      position: absolute;\n      width: 43%;\n      aspect-ratio: 1;\n      border: 5px solid transparent;\n      border-top-color: #cbfc77;\n      border-right-color: #66e2ce;\n      border-bottom-color: #ff867c;\n      border-left-color: #8d8cff;\n      border-radius: 50%;\n      filter: drop-shadow(0 0 8px rgba(212,242,123,.75));\n      animation: tv-spin 4s linear infinite;\n    }\n    .tv-bounce__shadow {\n      position: absolute;\n      bottom: 16%;\n      width: 36%;\n      height: 18px;\n      border-radius: 50%;\n      background: rgba(0,0,0,.38);\n      filter: blur(9px);\n      animation: tv-shadow 2.1s ease-in-out infinite;\n    }\n    .tv-bounce__tag {\n      position: absolute;\n      z-index: 2;\n      display: flex;\n      align-items: center;\n      gap: 8px;\n      padding: 9px 12px;\n      border: 1px solid rgba(255,255,255,.17);\n      border-radius: 999px;\n      background: rgba(10,30,23,.74);\n      color: #fffefa;\n      font-size: 10px;\n      font-weight: 800;\n      letter-spacing: .12em;\n      text-transform: uppercase;\n      backdrop-filter: blur(8px);\n    }\n    .tv-bounce__tag:before { content: \"\"; width: 6px; height: 6px; border-radius: 50%; background: var(--tv-lime); }\n    .tv-bounce__tag--one { top: 17%; right: 4%; }\n    .tv-bounce__tag--two { bottom: 19%; left: 0; }\n    .tv-bounce__stage.is-paused .tv-bounce__ball-wrap,\n    .tv-bounce__stage.is-paused .tv-bounce__led,\n    .tv-bounce__stage.is-paused .tv-bounce__shadow { animation-play-state: paused; }\n    @keyframes tv-bob { 0%,100% { transform: translateY(2px) rotate(-5deg); } 50% { transform: translateY(-16px) rotate(5deg); } }\n    @keyframes tv-shadow { 0%,100% { transform: scale(1); opacity: .7; } 50% { transform: scale(.76); opacity: .42; } }\n    @keyframes tv-spin { to { transform: rotate(360deg); } }\n    .tv-bounce__strip {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      gap: 16px;\n      padding: 17px clamp(24px, 6vw, 76px);\n      border-bottom: 1px solid rgba(22,55,45,.12);\n      background: #e9eddf;\n      color: var(--tv-ink);\n      font-size: 11px;\n      font-weight: 800;\n      letter-spacing: .14em;\n      text-transform: uppercase;\n    }\n    .tv-bounce__strip span { display: inline-flex; align-items: center; gap: 10px; }\n    .tv-bounce__strip span:before { content: \"✳\"; color: #668247; font-size: 16px; }\n    .tv-bounce__body { padding: clamp(34px, 6vw, 74px); }\n    .tv-bounce__section-head {\n      display: flex;\n      justify-content: space-between;\n      align-items: end;\n      gap: 20px;\n      margin-bottom: 28px;\n    }\n    .tv-bounce__section-head .tv-bounce__eyebrow { margin-bottom: 12px; color: #64814a; }\n    .tv-bounce__section-head h3 {\n      max-width: 600px;\n      margin-bottom: 0;\n      color: var(--tv-ink);\n      font-size: clamp(30px, 4vw, 48px);\n      letter-spacing: -.055em;\n      line-height: 1.03;\n    }\n    .tv-bounce__section-note { max-width: 250px; margin: 0; color: var(--tv-muted); font-size: 13px; line-height: 1.6; }\n    .tv-bounce__features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }\n    .tv-bounce__feature {\n      position: relative;\n      min-height: 195px;\n      padding: 23px;\n      border: 1px solid rgba(22,55,45,.12);\n      border-radius: 19px;\n      background: var(--tv-paper);\n      transition: transform .2s ease, box-shadow .2s ease;\n    }\n    .tv-bounce__feature:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(22,55,45,.08); }\n    .tv-bounce__number { display: block; margin-bottom: 24px; color: #76905c; font-size: 11px; font-weight: 800; letter-spacing: .15em; }\n    .tv-bounce__feature h4 { margin: 0 0 9px; color: var(--tv-ink); font-size: 19px; letter-spacing: -.03em; }\n    .tv-bounce__feature p { margin: 0; color: var(--tv-muted); font-size: 13px; line-height: 1.65; }\n    .tv-bounce__how {\n      display: grid;\n      grid-template-columns: .8fr 1.2fr;\n      gap: clamp(28px, 5vw, 66px);\n      margin-top: clamp(42px, 7vw, 80px);\n      padding: clamp(24px, 4vw, 42px);\n      border-radius: 23px;\n      background: #e8eddf;\n    }\n    .tv-bounce__how-title h3 { margin: 0 0 12px; font-size: clamp(28px, 3vw, 39px); letter-spacing: -.055em; line-height: 1.03; }\n    .tv-bounce__how-title p { margin: 0; color: var(--tv-muted); font-size: 13px; line-height: 1.65; }\n    .tv-bounce__steps { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: tv-step; }\n    .tv-bounce__steps li { display: grid; grid-template-columns: 37px 1fr; align-items: center; gap: 13px; padding: 13px 0; border-bottom: 1px solid rgba(22,55,45,.12); color: var(--tv-ink); font-size: 14px; line-height: 1.5; counter-increment: tv-step; }\n    .tv-bounce__steps li:last-child { border-bottom: 0; padding-bottom: 0; }\n    .tv-bounce__steps li:before { content: \"0\" counter(tv-step); display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: var(--tv-ink); color: var(--tv-lime); font-size: 10px; font-weight: 800; }\n    .tv-bounce__safety { display: flex; gap: 15px; align-items: flex-start; margin-top: 14px; padding: 20px 22px; border: 1px solid rgba(255,146,126,.45); border-radius: 17px; background: #fff7f3; }\n    .tv-bounce__safety-mark { display: grid; flex: 0 0 30px; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: var(--tv-coral); color: #3d201b; font-size: 15px; font-weight: 900; }\n    .tv-bounce__safety strong { display: block; margin-bottom: 4px; color: #542d25; font-size: 13px; }\n    .tv-bounce__safety p { margin: 0; color: #73564e; font-size: 12px; line-height: 1.6; }\n    .tv-bounce__faq { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(28px, 5vw, 66px); margin-top: clamp(44px, 7vw, 82px); }\n    .tv-bounce__faq-intro h3 { margin: 0 0 12px; font-size: clamp(30px, 4vw, 46px); letter-spacing: -.055em; line-height: 1.02; }\n    .tv-bounce__faq-intro p { margin: 0; color: var(--tv-muted); font-size: 13px; line-height: 1.65; }\n    .tv-bounce__questions { border-top: 1px solid rgba(22,55,45,.18); }\n    .tv-bounce__questions details { border-bottom: 1px solid rgba(22,55,45,.18); }\n    .tv-bounce__questions summary { position: relative; padding: 18px 42px 18px 0; color: var(--tv-ink); font-size: 14px; font-weight: 750; list-style: none; cursor: pointer; }\n    .tv-bounce__questions summary::-webkit-details-marker { display: none; }\n    .tv-bounce__questions summary:after { content: \"+\"; position: absolute; top: 50%; right: 4px; display: grid; width: 25px; height: 25px; place-items: center; transform: translateY(-50%); border: 1px solid rgba(22,55,45,.24); border-radius: 50%; color: #64814a; font-size: 18px; font-weight: 400; transition: transform .2s ease; }\n    .tv-bounce__questions details[open] summary:after { content: \"−\"; transform: translateY(-50%) rotate(180deg); }\n    .tv-bounce__answer { max-width: 620px; padding: 0 30px 18px 0; color: var(--tv-muted); font-size: 13px; line-height: 1.7; }\n    .tv-bounce__footer { display: flex; justify-content: space-between; align-items: center; gap: 22px; margin-top: clamp(34px, 5vw, 58px); padding-top: 22px; border-top: 1px solid rgba(22,55,45,.12); }\n    .tv-bounce__footer p { margin: 0; color: var(--tv-muted); font-size: 11px; letter-spacing: .04em; }\n    @media (max-width: 760px) {\n      .tv-bounce { border-radius: 20px; }\n      .tv-bounce__hero { grid-template-columns: 1fr; gap: 28px; min-height: 0; padding: 34px 25px 25px; }\n      .tv-bounce__title { font-size: clamp(44px, 13vw, 68px); }\n      .tv-bounce__stage { min-height: 285px; margin: 0 7px 8px; }\n      .tv-bounce__ball-wrap { width: 175px; }\n      .tv-bounce__tag--one { right: 1%; }\n      .tv-bounce__tag--two { left: 1%; }\n      .tv-bounce__strip { justify-content: flex-start; overflow: auto; white-space: nowrap; padding: 15px 23px; }\n      .tv-bounce__body { padding: 35px 23px; }\n      .tv-bounce__section-head { display: block; }\n      .tv-bounce__section-note { margin-top: 13px; }\n      .tv-bounce__features { grid-template-columns: 1fr; }\n      .tv-bounce__feature { min-height: 0; }\n      .tv-bounce__number { margin-bottom: 15px; }\n      .tv-bounce__how, .tv-bounce__faq { grid-template-columns: 1fr; }\n      .tv-bounce__how { gap: 22px; }\n      .tv-bounce__footer { align-items: flex-start; flex-direction: column; }\n    }\n    @media (prefers-reduced-motion: reduce) {\n      .tv-bounce *, .tv-bounce *:before, .tv-bounce *:after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }\n    }\n  \u003c\/style\u003e\n\u003csection class=\"tv-bounce\"\u003e\n\u003cdiv class=\"tv-bounce__hero\"\u003e\n\u003cdiv class=\"tv-bounce__copy\"\u003e\n\u003cp class=\"tv-bounce__eyebrow\"\u003eTailVale · smart bounce ball\u003c\/p\u003e\n\u003ch2 class=\"tv-bounce__title\" id=\"tv-bounce-title\"\u003ePlay has a new \u003cem\u003epulse.\u003c\/em\u003e\n\u003c\/h2\u003e\n\u003cp class=\"tv-bounce__intro\"\u003eMake everyday play a little more exciting. The TailVale Smart Bounce Ball moves and bounces on its own, while a colourful LED ring invites your dog to follow the fun.\u003c\/p\u003e\n\u003cdiv class=\"tv-bounce__actions\"\u003e\n\u003ca class=\"tv-bounce__button\" href=\"#tv-play-details\"\u003eSee how play begins \u003cspan\u003e ↘\u003c\/span\u003e\u003c\/a\u003e \u003cbutton class=\"tv-bounce__button tv-bounce__button--quiet\" type=\"button\" data-tv-motion-toggle=\"\"\u003ePause the motion\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cp class=\"tv-bounce__micro\"\u003eA little chase. A little curiosity. Repeat.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"tv-bounce__stage\" data-tv-stage=\"\" role=\"img\"\u003e\n\u003cdiv class=\"tv-bounce__orbit\"\u003e\n\u003cspan class=\"tv-bounce__dot\"\u003e\u003c\/span\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003cspan class=\"tv-bounce__tag tv-bounce__tag--one\"\u003eColour-changing glow\u003c\/span\u003e \u003cspan class=\"tv-bounce__tag tv-bounce__tag--two\"\u003eChase · paw · play\u003c\/span\u003e\n\u003cdiv class=\"tv-bounce__ball-wrap\"\u003e\n\u003cdiv class=\"tv-bounce__ball\"\u003e\n\u003cspan class=\"tv-bounce__led\"\u003e\u003c\/span\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cspan class=\"tv-bounce__shadow\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"tv-bounce__strip\"\u003e\n\u003cspan\u003eSelf-moving play\u003c\/span\u003e\u003cspan\u003eColourful LED ring\u003c\/span\u003e\u003cspan\u003eRechargeable\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"tv-bounce__body\" id=\"tv-play-details\"\u003e\n\u003cdiv class=\"tv-bounce__section-head\"\u003e\n\u003cdiv\u003e\n\u003cp class=\"tv-bounce__eyebrow\"\u003eA new reason to get moving\u003c\/p\u003e\n\u003ch3\u003eMade for curious noses and quick paws.\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cp class=\"tv-bounce__section-note\"\u003eA playful moving target that gives your dog something bright and lively to discover.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"tv-bounce__features\"\u003e\n\u003carticle class=\"tv-bounce__feature\"\u003e\u003cspan class=\"tv-bounce__number\"\u003e01 \/ MOVEMENT\u003c\/span\u003e\n\u003ch4\u003eOn-the-go action\u003c\/h4\u003e\n\u003cp\u003eThe ball moves and bounces on its own to create a playful chase target.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"tv-bounce__feature\"\u003e\u003cspan class=\"tv-bounce__number\"\u003e02 \/ LIGHT\u003c\/span\u003e\n\u003ch4\u003eA flash of colour\u003c\/h4\u003e\n\u003cp\u003eA colour-changing LED ring adds a bright visual cue during play.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"tv-bounce__feature\"\u003e\u003cspan class=\"tv-bounce__number\"\u003e03 \/ RECHARGE\u003c\/span\u003e\n\u003ch4\u003eReady for another round\u003c\/h4\u003e\n\u003cp\u003eIts rechargeable design makes it easy to bring back for another play session.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"tv-bounce__how\"\u003e\n\u003cdiv class=\"tv-bounce__how-title\"\u003e\n\u003cp class=\"tv-bounce__eyebrow\"\u003eStart at their speed\u003c\/p\u003e\n\u003ch3\u003eFirst, let them get curious.\u003c\/h3\u003e\n\u003cp\u003eGive your dog a moment to watch, sniff and approach the ball in their own time.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003col class=\"tv-bounce__steps\"\u003e\n\u003cli\u003eCharge the ball as directed.\u003c\/li\u003e\n\u003cli\u003eSwitch it on and let your dog discover its movement at their own pace.\u003c\/li\u003e\n\u003cli\u003eBegin with a short, supervised play session.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"tv-bounce__safety\"\u003e\n\u003cspan class=\"tv-bounce__safety-mark\"\u003e!\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePlay safely\u003c\/strong\u003e\n\u003cp\u003eThis is an interactive play toy, not a chew toy. Supervise your pet and remove the ball if it becomes damaged.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"tv-bounce__faq\" id=\"tv-ball-faq\"\u003e\n\u003cdiv class=\"tv-bounce__faq-intro\"\u003e\n\u003cp class=\"tv-bounce__eyebrow\"\u003eGood to know\u003c\/p\u003e\n\u003ch3\u003eQuick answers for pet parents.\u003c\/h3\u003e\n\u003cp\u003eTap a question to open the answer.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"tv-bounce__questions\"\u003e\n\u003cdetails\u003e\n\u003csummary\u003eHow does the Smart Bounce Ball move?\u003c\/summary\u003e\n\u003cdiv class=\"tv-bounce__answer\"\u003eIt moves and bounces on its own, creating a lively target for your dog to chase and paw at.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eWhat does the LED ring do?\u003c\/summary\u003e\n\u003cdiv class=\"tv-bounce__answer\"\u003eThe LED ring changes colour and adds a bright visual cue during play.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eIs the ball rechargeable?\u003c\/summary\u003e\n\u003cdiv class=\"tv-bounce__answer\"\u003eYes. Charge it as directed so it is ready for another play session.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eHow should I introduce it to my dog?\u003c\/summary\u003e\n\u003cdiv class=\"tv-bounce__answer\"\u003eSwitch it on and give your dog time to discover the movement at their own pace. Start with a short, supervised session.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCan my dog chew on it?\u003c\/summary\u003e\n\u003cdiv class=\"tv-bounce__answer\"\u003eNo. It is an interactive play toy, not a chew toy. Supervise play and remove the ball if it becomes damaged.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"tv-bounce__footer\"\u003e\n\u003cp\u003eTAILVALE · SMALL MOMENTS, BIG TAIL WAGS\u003c\/p\u003e\n\u003ca class=\"tv-bounce__button\" href=\"#tv-bounce-title\"\u003eBack to the top ↑\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n    (function () {\n      var root = document.currentScript \u0026\u0026 document.currentScript.closest('.tv-bounce');\n      if (!root) return;\n      var stage = root.querySelector('[data-tv-stage]');\n      var toggle = root.querySelector('[data-tv-motion-toggle]');\n      if (!stage || !toggle) return;\n      toggle.addEventListener('click', function () {\n        var paused = stage.classList.toggle('is-paused');\n        toggle.setAttribute('aria-pressed', String(paused));\n        toggle.textContent = paused ? 'Play the motion' : 'Pause the motion';\n      });\n    })();\n  \u003c\/script\u003e\u003c\/section\u003e","brand":"TailVale","offers":[{"title":"Blue \/ Single ball","offer_id":67578039501042,"sku":null,"price":649.0,"currency_code":"ZAR","in_stock":true},{"title":"Blue \/ 2-ball pack","offer_id":67578039533810,"sku":null,"price":1099.0,"currency_code":"ZAR","in_stock":true},{"title":"Blue \/ 3-ball pack","offer_id":67578039566578,"sku":null,"price":1449.0,"currency_code":"ZAR","in_stock":true},{"title":"Black \/ Single ball","offer_id":67578039599346,"sku":null,"price":649.0,"currency_code":"ZAR","in_stock":true},{"title":"Black \/ 2-ball pack","offer_id":67578039632114,"sku":null,"price":1099.0,"currency_code":"ZAR","in_stock":true},{"title":"Black \/ 3-ball pack","offer_id":67578039664882,"sku":null,"price":1449.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0856\/3143\/4994\/files\/Black_Ball_2.jpg?v=1790582528","url":"https:\/\/tailvale.co.za\/products\/smart-bouncing-ball","provider":"TailVale","version":"1.0","type":"link"}