{"title":"Home page","description":null,"products":[{"product_id":"muzzle-puzzle™-interactive-treat-ball","title":"Muzzle Puzzle™ Interactive Treat Toy","description":"\u003cstyle\u003e\n  @keyframes mzpFadeUp{\n    from{opacity:0; transform:translateY(16px);}\n    to{opacity:1; transform:translateY(0);}\n  }\n  @keyframes mzpShimmer{\n    0%{background-position:0% 50%;}\n    100%{background-position:200% 50%;}\n  }\n  @keyframes mzpPulse{\n    0%,100%{box-shadow:0 0 0 0 rgba(214,96,61,0.35);}\n    50%{box-shadow:0 0 0 12px rgba(214,96,61,0);}\n  }\n  @keyframes mzpFloat{\n    0%,100%{transform:translateY(0);}\n    50%{transform:translateY(-5px);}\n  }\n  @keyframes mzpDrop{\n    0%{opacity:0; transform:translateY(-4px) scale(.7);}\n    30%{opacity:1; transform:translateY(0) scale(1);}\n    70%{opacity:1;}\n    100%{opacity:0; transform:translateY(6px) scale(.8);}\n  }\n  @keyframes mzpLine{\n    0%{background-position:0% 0;}\n    100%{background-position:100% 0;}\n  }\n\n  .mzp-wrap{\n    font-family:'Segoe UI', Helvetica, Arial, sans-serif;\n    color:#123734;\n    max-width:720px;\n    margin:0 auto;\n  }\n  .mzp-wrap *{box-sizing:border-box;}\n\n  .mzp-badge{\n    display:inline-flex;\n    align-items:center;\n    gap:6px;\n    background:#123734;\n    color:#F7F1E4;\n    font-size:12px;\n    font-weight:700;\n    letter-spacing:.08em;\n    text-transform:uppercase;\n    padding:7px 14px;\n    border-radius:100px;\n    animation:mzpFadeUp .7s ease both;\n  }\n  .mzp-badge span{\n    width:6px; height:6px; border-radius:50%;\n    background:#E8AC3D;\n    display:inline-block;\n    animation:mzpPulse 2s infinite;\n  }\n\n  .mzp-hook{\n    font-size:26px;\n    font-weight:800;\n    line-height:1.25;\n    margin:18px 0 10px;\n    color:#0E2C2A;\n    animation:mzpFadeUp .8s ease .1s both;\n  }\n  .mzp-shimmer{\n    background:linear-gradient(90deg, #2F7B74, #E8AC3D, #D6603D, #2F7B74);\n    background-size:300% 100%;\n    -webkit-background-clip:text;\n    background-clip:text;\n    color:transparent;\n    animation:mzpShimmer 5s linear infinite;\n  }\n\n  .mzp-lead{\n    font-size:16px;\n    line-height:1.65;\n    color:#12373466;\n    margin:0 0 22px;\n    animation:mzpFadeUp .8s ease .2s both;\n  }\n  .mzp-lead strong{color:#123734;}\n\n  .mzp-divider{\n    height:2px;\n    width:100%;\n    margin:30px 0;\n    background:linear-gradient(90deg, #2F7B74, #E8AC3D, #D6603D, #2F7B74);\n    background-size:200% 100%;\n    animation:mzpLine 4s linear infinite alternate;\n    border-radius:2px;\n    opacity:.55;\n  }\n\n  .mzp-h3{\n    font-size:19px;\n    font-weight:800;\n    color:#0E2C2A;\n    margin:0 0 16px;\n    display:flex;\n    align-items:center;\n    gap:8px;\n    animation:mzpFadeUp .7s ease both;\n  }\n\n  .mzp-benefits{\n    list-style:none;\n    padding:0;\n    margin:0 0 8px;\n  }\n  .mzp-benefits li{\n    display:flex;\n    align-items:flex-start;\n    gap:14px;\n    padding:14px 16px;\n    margin-bottom:10px;\n    background:#F7F1E4;\n    border-radius:14px;\n    border-left:3px solid #2F7B74;\n    animation:mzpFadeUp .6s ease both;\n    transition:transform .3s ease, box-shadow .3s ease;\n  }\n  .mzp-benefits li:hover{\n    transform:translateX(4px);\n    box-shadow:0 8px 22px rgba(14,44,42,0.12);\n  }\n  .mzp-benefits li:nth-child(2){border-left-color:#E8AC3D; animation-delay:.05s;}\n  .mzp-benefits li:nth-child(3){border-left-color:#D6603D; animation-delay:.1s;}\n  .mzp-benefits li:nth-child(4){border-left-color:#2F7B74; animation-delay:.15s;}\n  .mzp-benefits li:nth-child(5){border-left-color:#E8AC3D; animation-delay:.2s;}\n  .mzp-icon{\n    font-size:20px;\n    flex-shrink:0;\n    animation:mzpFloat 2.6s ease-in-out infinite;\n  }\n  .mzp-benefits li:nth-child(2) .mzp-icon{animation-delay:.2s;}\n  .mzp-benefits li:nth-child(3) .mzp-icon{animation-delay:.4s;}\n  .mzp-benefits li:nth-child(4) .mzp-icon{animation-delay:.6s;}\n  .mzp-benefits li:nth-child(5) .mzp-icon{animation-delay:.8s;}\n  .mzp-benefits b{display:block; font-size:15px; color:#0E2C2A; margin-bottom:2px;}\n  .mzp-benefits span.mzp-sub{font-size:13.5px; color:#12373499; line-height:1.5;}\n\n  .mzp-how{\n    background:linear-gradient(135deg, #123734, #0E2C2A);\n    color:#F7F1E4;\n    border-radius:18px;\n    padding:26px 24px;\n    margin:26px 0;\n    position:relative;\n    overflow:hidden;\n  }\n  .mzp-how::before{\n    content:\"\";\n    position:absolute; top:-40px; right:-40px;\n    width:140px; height:140px; border-radius:50%;\n    background:radial-gradient(circle, rgba(232,172,61,0.25), transparent 70%);\n  }\n  .mzp-how .mzp-h3{color:#F7F1E4;}\n  .mzp-how p{\n    font-size:15px; line-height:1.7; color:#F7F1E4cc; margin:0; position:relative;\n  }\n  .mzp-dots{display:flex; gap:6px; margin:14px 0 0;}\n  .mzp-dots i{\n    width:8px; height:8px; border-radius:50%;\n    background:#E8AC3D;\n    display:inline-block;\n    animation:mzpDrop 1.8s ease-in-out infinite;\n  }\n  .mzp-dots i:nth-child(2){animation-delay:.3s; background:#D6603D;}\n  .mzp-dots i:nth-child(3){animation-delay:.6s;}\n\n  .mzp-colors{\n    display:flex;\n    gap:14px;\n    margin:18px 0 8px;\n  }\n  .mzp-swatch{\n    flex:1;\n    border-radius:14px;\n    padding:18px;\n    color:#fff;\n    position:relative;\n    overflow:hidden;\n    transition:transform .35s ease;\n  }\n  .mzp-swatch:hover{transform:translateY(-4px);}\n  .mzp-swatch.teal{background:linear-gradient(135deg,#2F7B74,#123734);}\n  .mzp-swatch.red{background:linear-gradient(135deg,#D6603D,#7a2a1c);}\n  .mzp-swatch b{font-size:15.5px; display:block;}\n  .mzp-swatch span{font-size:12.5px; opacity:.75;}\n\n  .mzp-table{\n    width:100%;\n    border-collapse:collapse;\n    margin:8px 0 4px;\n    font-size:14px;\n  }\n  .mzp-table tr{\n    animation:mzpFadeUp .5s ease both;\n    border-bottom:1px solid #12373420;\n  }\n  .mzp-table td{padding:12px 8px;}\n  .mzp-table td:first-child{\n    color:#12373480;\n    font-weight:700;\n    text-transform:uppercase;\n    font-size:11.5px;\n    letter-spacing:.05em;\n    width:36%;\n  }\n  .mzp-table td:last-child{font-weight:600;}\n\n  .mzp-cta{\n    margin-top:30px;\n    background:#E8AC3D;\n    border-radius:18px;\n    padding:28px 24px;\n    text-align:center;\n    animation:mzpPulse 2.6s infinite;\n  }\n  .mzp-cta b{\n    display:block;\n    font-size:19px;\n    color:#0E2C2A;\n    margin-bottom:6px;\n  }\n  .mzp-cta span{\n    font-size:14px;\n    color:#12373499;\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"mzp-wrap\"\u003e\n\n  \u003cspan class=\"mzp-badge\"\u003e\u003cspan\u003e\u003c\/span\u003eBestselling enrichment toy\u003c\/span\u003e\n\n  \u003cdiv class=\"mzp-hook\"\u003eYour dog inhales food in \u003cspan class=\"mzp-shimmer\"\u003eunder 60 seconds\u003c\/span\u003e. Then what?\u003c\/div\u003e\n\n  \u003cp class=\"mzp-lead\"\u003eFast eating leads to bloating, weight gain, and a bored dog looking for something to destroy five minutes later. The \u003cstrong\u003eMuzzle Puzzle™ Treat Dispenser\u003c\/strong\u003e turns every meal into a 15–20 minute game your dog has to roll, nudge, and think their way through. 🐾\u003c\/p\u003e\n\n  \u003cdiv class=\"mzp-divider\"\u003e\u003c\/div\u003e\n\n  \u003cdiv class=\"mzp-h3\"\u003e🐶 What your dog gets out of it\u003c\/div\u003e\n  \u003cul class=\"mzp-benefits\"\u003e\n    \u003cli\u003e\n\u003cspan class=\"mzp-icon\"\u003e🐢\u003c\/span\u003e\u003cspan\u003e\u003cb\u003eEats slower, digests better\u003c\/b\u003e\u003cspan class=\"mzp-sub\"\u003eNo more gulping — less bloating and after-meal discomfort.\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/li\u003e\n    \u003cli\u003e\n\u003cspan class=\"mzp-icon\"\u003e🧠\u003c\/span\u003e\u003cspan\u003e\u003cb\u003eBurns mental energy, not just physical\u003c\/b\u003e\u003cspan class=\"mzp-sub\"\u003e15 minutes of puzzle-solving tires a dog out like a much longer walk.\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/li\u003e\n    \u003cli\u003e\n\u003cspan class=\"mzp-icon\"\u003e🪑\u003c\/span\u003e\u003cspan\u003e\u003cb\u003eFewer destructive habits\u003c\/b\u003e\u003cspan class=\"mzp-sub\"\u003eLess chewing, digging, or barking out of pure boredom.\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/li\u003e\n    \u003cli\u003e\n\u003cspan class=\"mzp-icon\"\u003e🏠\u003c\/span\u003e\u003cspan\u003e\u003cb\u003eStays calm when left alone\u003c\/b\u003e\u003cspan class=\"mzp-sub\"\u003eIdeal for crate time, work-from-home meetings, or solo afternoons.\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/li\u003e\n    \u003cli\u003e\n\u003cspan class=\"mzp-icon\"\u003e🍖\u003c\/span\u003e\u003cspan\u003e\u003cb\u003eWorks with what you already feed\u003c\/b\u003e\u003cspan class=\"mzp-sub\"\u003eFill it with kibble or treats — no special food required.\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cdiv class=\"mzp-how\"\u003e\n    \u003cdiv class=\"mzp-h3\"\u003e⚙️ How it works\u003c\/div\u003e\n    \u003cp\u003eTwo weighted, rounded ends and a clear center chamber create an unpredictable roll. Fill the chamber, and as your dog noses the toy around, treats drop through the angled holes in small, satisfying portions.\u003c\/p\u003e\n    \u003cdiv class=\"mzp-dots\"\u003e\n\u003ci\u003e\u003c\/i\u003e\u003ci\u003e\u003c\/i\u003e\u003ci\u003e\u003c\/i\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"mzp-h3\"\u003e🎨 Choose your color\u003c\/div\u003e\n  \u003cdiv class=\"mzp-colors\"\u003e\n    \u003cdiv class=\"mzp-swatch teal\"\u003e\n\u003cb\u003eTeal\u003c\/b\u003e\u003cspan\u003eCalm, bold, easy to spot outdoors\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"mzp-swatch red\"\u003e\n\u003cb\u003eRed\u003c\/b\u003e\u003cspan\u003eHigh-contrast, unmistakable indoors\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"mzp-h3\" style=\"margin-top:26px;\"\u003e📏 Specs\u003c\/div\u003e\n  \u003ctable class=\"mzp-table\"\u003e\n    \u003ctr\u003e\n\u003ctd\u003eHeight\u003c\/td\u003e\n\u003ctd\u003e15.5 cm \/ 6.1 in\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eDiameter\u003c\/td\u003e\n\u003ctd\u003e8.75 cm \/ 3.45 in\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eDurable, pet-safe plastic, clear viewing chamber\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eColors\u003c\/td\u003e\n\u003ctd\u003eTeal · Red\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eFill type\u003c\/td\u003e\n\u003ctd\u003eDry treats or kibble\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eCleaning\u003c\/td\u003e\n\u003ctd\u003eTwists open at center — hand wash in seconds\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eBest for\u003c\/td\u003e\n\u003ctd\u003eSmall to large breeds, moderate chewers\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/table\u003e\n\n  \u003cdiv class=\"mzp-cta\"\u003e\n    \u003cb\u003eGive your dog a snack time that actually pays off. 🦴\u003c\/b\u003e\n    \u003cspan\u003eAdd the Muzzle Puzzle™ to your cart and see the difference at the very next meal.\u003c\/span\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e","brand":"My Store 3","offers":[{"title":"Default Title","offer_id":47244724830377,"sku":null,"price":499.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0741\/5372\/2025\/files\/muzzle_puzzle_box_and_product_v3_1_468d2cfc-1afa-4711-9fb0-32ad170065f5.png?v=1785753885"}],"url":"https:\/\/muzzlepuzzle.co.za\/collections\/frontpage.oembed","provider":"Muzzle Puzzle","version":"1.0","type":"link"}