{"product_id":"poppa-pete","title":"Poppa Pete","description":"\u003cdiv class=\"gr-pd gr-pd--poppa\"\u003e\n  \u003cdiv class=\"gr-pd__grid\"\u003e\n\n    \u003cdiv class=\"gr-pd__intro\"\u003e\n      \u003cp class=\"gr-pd__kicker\"\u003eBig glide. \u003cspan\u003eSlow sink.\u003c\/span\u003e\u003c\/p\u003e\n      \u003cp class=\"gr-pd__lead\"\u003ePoppa Pete is a \u003cstrong\u003esilent, slow-sinking glide bait\u003c\/strong\u003e built with heavy-duty hardware, size 2\/0 hooks and rotating hangers, plus easily replaceable tails.\u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cul class=\"gr-pd__facts\"\u003e\n      \u003cli\u003e\n\u003csmall\u003eLength\u003c\/small\u003e\u003cb\u003e10 in\u003c\/b\u003e\n\u003c\/li\u003e\n      \u003cli\u003e\n\u003csmall\u003eWeight\u003c\/small\u003e\u003cb\u003e5 oz\u003c\/b\u003e\n\u003c\/li\u003e\n      \u003cli\u003e\n\u003csmall\u003eHooks\u003c\/small\u003e\u003cb\u003eSize 2\/0\u003c\/b\u003e\n\u003c\/li\u003e\n      \u003cli\u003e\n\u003csmall\u003eSound\u003c\/small\u003e\u003cb\u003eSilent\u003c\/b\u003e\n\u003c\/li\u003e\n      \u003cli\u003e\n\u003csmall\u003eSink\u003c\/small\u003e\u003cb\u003eSlow \u0026amp; Level\u003c\/b\u003e\n\u003c\/li\u003e\n      \u003cli\u003e\n\u003csmall\u003eTails\u003c\/small\u003e\u003cb\u003eReplaceable\u003c\/b\u003e\n\u003c\/li\u003e\n    \u003c\/ul\u003e\n\n    \u003cul class=\"gr-pd__features\"\u003e\n      \u003cli\u003e\n\u003cstrong\u003eWide Glide\u003c\/strong\u003e\u003cspan\u003eA nice, wide glide on slow reel cranks.\u003c\/span\u003e\n\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eErratic When Fished Fast\u003c\/strong\u003e\u003cspan\u003eSpeed it up for an erratic baitfish action.\u003c\/span\u003e\n\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eSinks Slow \u0026amp; Level\u003c\/strong\u003e\u003cspan\u003eSinks extremely slowly in a level position.\u003c\/span\u003e\n\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eHeavy-Duty Hardware\u003c\/strong\u003e\u003cspan\u003eSize 2\/0 hooks on rotating hangers.\u003c\/span\u003e\n\u003c\/li\u003e\n    \u003c\/ul\u003e\n\n    \u003cdiv class=\"gr-pd__colors\"\u003e\n      \u003cdiv class=\"gr-pd__colors-head\"\u003e\n        \u003ch3 class=\"gr-pd__label\"\u003e6 Colors\u003c\/h3\u003e\n        \u003cspan class=\"gr-pd__hint\"\u003eTap a color to select it\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cul class=\"gr-pd__swatches\"\u003e\n        \u003cli\u003e\u003ca class=\"gr-pd__swatch\" href=\"?variant=46852864180411\" data-variant=\"46852864180411\" data-color=\"Bunker\"\u003e\u003cspan class=\"gr-pd__thumb\"\u003e\u003cimg style=\"--iw:1.064;--tx:-2.167%;--ty:-49.213%\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0673\/1808\/7867\/files\/GRatt-Bunker-POP005-013415992396.png?v=1754828773\u0026amp;width=600\" alt=\"Poppa Pete in Bunker\" width=\"600\" height=\"254\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan class=\"gr-pd__name\"\u003eBunker\u003c\/span\u003e\u003c\/a\u003e\u003c\/li\u003e\n        \u003cli\u003e\u003ca class=\"gr-pd__swatch\" href=\"?variant=46852864213179\" data-variant=\"46852864213179\" data-color=\"Steve's Gizzard Shad\"\u003e\u003cspan class=\"gr-pd__thumb\"\u003e\u003cimg style=\"--iw:1.064;--tx:-1.667%;--ty:-51.378%\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0673\/1808\/7867\/files\/GRatt-Steve_sGizzardShad-POP010-723706121618.png?v=1754828773\u0026amp;width=600\" alt=\"Poppa Pete in Steve's Gizzard Shad\" width=\"600\" height=\"254\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan class=\"gr-pd__name\"\u003eSteve's Gizzard Shad\u003c\/span\u003e\u003c\/a\u003e\u003c\/li\u003e\n        \u003cli\u003e\u003ca class=\"gr-pd__swatch\" href=\"?variant=46852864245947\" data-variant=\"46852864245947\" data-color=\"Bone\"\u003e\u003cspan class=\"gr-pd__thumb\"\u003e\u003cimg style=\"--iw:1.062;--tx:-1.5%;--ty:-51.378%\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0673\/1808\/7867\/files\/GRatt-Bone-POP011-013415992365.png?v=1754828773\u0026amp;width=600\" alt=\"Poppa Pete in Bone\" width=\"600\" height=\"254\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan class=\"gr-pd__name\"\u003eBone\u003c\/span\u003e\u003c\/a\u003e\u003c\/li\u003e\n        \u003cli\u003e\u003ca class=\"gr-pd__swatch\" href=\"?variant=46852864278715\" data-variant=\"46852864278715\" data-color=\"Lite Trout\"\u003e\u003cspan class=\"gr-pd__thumb\"\u003e\u003cimg style=\"--iw:1.06;--tx:-3.167%;--ty:-50%\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0673\/1808\/7867\/files\/GRatt-LiteTrout-POP012-723706121915.png?v=1754828773\u0026amp;width=600\" alt=\"Poppa Pete in Lite Trout\" width=\"600\" height=\"254\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan class=\"gr-pd__name\"\u003eLite Trout\u003c\/span\u003e\u003c\/a\u003e\u003c\/li\u003e\n        \u003cli\u003e\u003ca class=\"gr-pd__swatch\" href=\"?variant=46852864311483\" data-variant=\"46852864311483\" data-color=\"Dirty Hitch\"\u003e\u003cspan class=\"gr-pd__thumb\"\u003e\u003cimg style=\"--iw:1.062;--tx:-3.167%;--ty:-52.362%\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0673\/1808\/7867\/files\/GRatt-DirtyHitch-POP013-723706121601.png?v=1754828773\u0026amp;width=600\" alt=\"Poppa Pete in Dirty Hitch\" width=\"600\" height=\"254\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan class=\"gr-pd__name\"\u003eDirty Hitch\u003c\/span\u003e\u003c\/a\u003e\u003c\/li\u003e\n        \u003cli\u003e\u003ca class=\"gr-pd__swatch\" href=\"?variant=47445526872251\" data-variant=\"47445526872251\" data-color=\"Perch\"\u003e\u003cspan class=\"gr-pd__thumb\"\u003e\u003cimg style=\"--iw:1;--tx:0%;--ty:-50%\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0673\/1808\/7867\/files\/29_2.png?v=1770830934\u0026amp;width=600\" alt=\"Poppa Pete in Perch\" width=\"600\" height=\"244\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan class=\"gr-pd__name\"\u003ePerch\u003c\/span\u003e\u003c\/a\u003e\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003clink rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Barlow+Condensed:wght@600;700;800\u0026amp;display=swap\"\u003e\n\u003cstyle\u003e\n  .gr-pd{\n    --gr-accent:#02817a;\n    --gr-line:rgba(128,128,128,.25);\n    --gr-line:color-mix(in srgb, currentColor 14%, transparent);\n    --gr-surface:rgba(128,128,128,.06);\n    --gr-surface:color-mix(in srgb, currentColor 4%, transparent);\n    --gr-display:'Barlow Condensed','Oswald','Arial Narrow',sans-serif;\n    --gr-check:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'\/%3E%3C\/svg%3E\");\n    container-type:inline-size;\n    margin:0 0 8px;\n  }\n  .gr-pd *,.gr-pd *::before,.gr-pd *::after{box-sizing:border-box}\n  .gr-pd p,.gr-pd h3,.gr-pd ul,.gr-pd li,.gr-pd figure{margin:0;padding:0}\n  .gr-pd ul{list-style:none}\n\n  .gr-pd__grid{display:grid;gap:30px}\n\n  \/* Section labels *\/\n  .gr-pd .gr-pd__label{\n    display:flex;align-items:center;gap:10px;margin:0 0 12px;\n    font:700 13px\/1 var(--gr-display);letter-spacing:.2em;text-transform:uppercase;color:inherit;\n  }\n  .gr-pd .gr-pd__label::before{content:\"\";width:18px;height:2px;background:var(--gr-accent)}\n\n  \/* Intro *\/\n  .gr-pd .gr-pd__kicker{margin:0 0 12px;font:800 36px\/.95 var(--gr-display);font-size:clamp(30px,6cqi,42px);text-transform:uppercase;letter-spacing:.005em}\n  .gr-pd .gr-pd__kicker span{color:var(--gr-accent)}\n  .gr-pd__lead{font-size:1.1em;line-height:1.65}\n  .gr-pd__lead strong{font-weight:700;box-shadow:inset 0 -.38em 0 rgba(2,129,122,.25)}\n\n  \/* Key facts *\/\n  .gr-pd__facts{\n    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));\n    border:1px solid var(--gr-line);border-radius:16px;background:var(--gr-surface);overflow:hidden;\n  }\n  .gr-pd .gr-pd__facts li{\n    display:flex;flex-direction:column;gap:6px;padding:16px 18px;\n    box-shadow:-1px -1px 0 var(--gr-line);\n  }\n  .gr-pd__facts small{\n    display:flex;align-items:center;gap:8px;\n    font:700 12px\/1 var(--gr-display);letter-spacing:.2em;text-transform:uppercase;opacity:.75;\n  }\n  .gr-pd__facts small::before{content:\"\";width:14px;height:2px;background:var(--gr-accent)}\n  .gr-pd__facts b{font:700 21px\/1.1 var(--gr-display);letter-spacing:.02em;text-transform:uppercase}\n\n  \/* Features *\/\n  .gr-pd__features{display:grid;gap:16px}\n  .gr-pd__features li{position:relative;padding-left:40px}\n  .gr-pd__features li::before{\n    content:\"\";position:absolute;left:0;top:0;width:26px;height:26px;border-radius:8px;background:var(--gr-accent);\n  }\n  .gr-pd__features li::after{\n    content:\"\";position:absolute;left:5px;top:5px;width:16px;height:16px;background:#fff;\n    -webkit-mask:var(--gr-check) center\/contain no-repeat;mask:var(--gr-check) center\/contain no-repeat;\n  }\n  .gr-pd__features strong{display:block;margin-bottom:4px;font:700 19px\/1.2 var(--gr-display);letter-spacing:.02em;text-transform:uppercase}\n  .gr-pd__features span{display:block;font-size:.95em;line-height:1.5;opacity:.8}\n\n  \/* Colors *\/\n  .gr-pd__colors-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;margin:0 0 14px}\n  .gr-pd__colors-head .gr-pd__label{margin:0}\n  .gr-pd__hint{font-size:13px;opacity:.6}\n  .gr-pd__swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px}\n  .gr-pd .gr-pd__swatch{\n    position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;height:100%;padding:16px 12px 12px;\n    border:1px solid var(--gr-line);border-radius:14px;background:var(--gr-surface);\n    color:inherit;text-decoration:none;cursor:pointer;\n    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;\n  }\n  \/* Each photo is cropped to the worm so every color shows at the same size *\/\n  .gr-pd .gr-pd__thumb{position:relative;display:block;width:100%;aspect-ratio:2.1\/1;overflow:hidden;transition:transform .25s ease}\n  .gr-pd .gr-pd__thumb img{\n    position:absolute;left:4%;top:50%;display:block;width:calc(92% * var(--iw,1));max-width:none;height:auto;\n    margin:0;border:0;border-radius:0;transform:translate(var(--tx,0),var(--ty,-50%));\n  }\n  .gr-pd .gr-pd__name{font:700 14px\/1.15 var(--gr-display);letter-spacing:.04em;text-transform:uppercase;text-align:center}\n  .gr-pd .gr-pd__swatch:hover{border-color:var(--gr-accent);transform:translateY(-2px);box-shadow:0 12px 24px -16px rgba(0,0,0,.45);text-decoration:none}\n  .gr-pd .gr-pd__swatch:hover .gr-pd__thumb{transform:scale(1.04) rotate(-1.5deg)}\n  .gr-pd .gr-pd__swatch.is-selected{border-color:var(--gr-accent);box-shadow:inset 0 0 0 1px var(--gr-accent)}\n  .gr-pd .gr-pd__swatch:focus-visible{outline:2px solid var(--gr-accent);outline-offset:2px}\n  \/* Sold-out colors are flagged automatically from the product's live stock *\/\n  .gr-pd .gr-pd__swatch.is-soldout .gr-pd__thumb{opacity:.45;filter:grayscale(.6)}\n  .gr-pd .gr-pd__swatch.is-soldout::after{\n    content:\"Sold out\";position:absolute;top:6px;right:6px;padding:4px 7px;border-radius:6px;\n    background:rgba(0,0,0,.72);color:#fff;font:700 10px\/1 var(--gr-display);letter-spacing:.14em;text-transform:uppercase;\n  }\n\n  \/* Vertical video *\/\n  .gr-pd .gr-pd__video{width:100%;max-width:540px;margin:0 auto}\n  .gr-pd__frame{\n    position:relative;aspect-ratio:9\/16;border-radius:16px;overflow:hidden;background:#000;\n    box-shadow:0 24px 48px -24px rgba(0,0,0,.55);\n  }\n  .gr-pd__frame--wide{aspect-ratio:16\/9}\n  @supports not (aspect-ratio:1){.gr-pd__frame{padding-top:177.78%}.gr-pd__frame--wide{padding-top:56.25%}}\n  .gr-pd__frame iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0}\n  \/* The theme auto-wraps Vimeo embeds in a 16:9 .video-wrapper; make it fill the tall frame instead *\/\n  .gr-pd .gr-pd__frame \u003e div,\n  .gr-pd .gr-pd__frame .video-wrapper{\n    position:absolute !important;top:0 !important;left:0 !important;\n    width:100% !important;height:100% !important;max-width:none !important;\n    margin:0 !important;padding:0 !important;\n  }\n  .gr-pd .gr-pd__frame iframe{\n    position:absolute !important;top:0 !important;left:0 !important;\n    width:100% !important;height:100% !important;max-width:none !important;max-height:none !important;\n  }\n  .gr-pd__video figcaption,.gr-pd__film figcaption{\n    margin-top:12px;text-align:center;\n    font:700 12px\/1 var(--gr-display);letter-spacing:.2em;text-transform:uppercase;opacity:.7;\n  }\n\n  \/* Wide description: video sits beside the text and stays in view *\/\n  @container (min-width:720px){\n    .gr-pd--poppa .gr-pd__grid{\n      grid-template-columns:minmax(0,1fr) minmax(0,1fr);\n      grid-template-areas:\"intro facts\" \"features facts\" \"colors colors\";\n      grid-template-rows:auto 1fr auto;\n      column-gap:40px;\n    }\n    .gr-pd--poppa .gr-pd__intro{grid-area:intro}\n    .gr-pd--poppa .gr-pd__facts{grid-area:facts;align-self:start}\n    .gr-pd--poppa .gr-pd__features{grid-area:features;align-self:start}\n    .gr-pd--poppa .gr-pd__colors{grid-area:colors;margin-top:10px}\n  }\n  @media (prefers-reduced-motion:reduce){\n    .gr-pd .gr-pd__swatch,.gr-pd .gr-pd__thumb{transition:none}\n    .gr-pd .gr-pd__swatch:hover,.gr-pd .gr-pd__swatch:hover .gr-pd__thumb{transform:none}\n  }\n\u003c\/style\u003e\n\n\u003cscript\u003e\n  (function(){\n    document.querySelectorAll('.gr-pd').forEach(function(root){\n      if (root.dataset.ready) return;\n      root.dataset.ready = '1';\n\n      \/\/ Color cards: select the matching color in the product form\n      var swatches = root.querySelectorAll('.gr-pd__swatch');\n      if (!swatches.length) return;\n\n      function optionName(o){ return o.text.replace(\/\\s*[-(]?\\s*sold out\\s*\\)?\\s*$\/i, '').trim(); }\n      function colorOption(color){\n        \/\/ The theme's color \u003cselect\u003e lists the names; its radio swatches share the same values\n        var sel = Array.prototype.find.call(document.querySelectorAll('select'), function(s){\n          return Array.prototype.some.call(s.options, function(o){ return optionName(o) === color; });\n        });\n        if (!sel) return null;\n        var opt = Array.prototype.find.call(sel.options, function(o){ return optionName(o) === color; });\n        return {\n          dropdown: sel,\n          option: opt,\n          radio: document.querySelector('input[type=\"radio\"][value=\"' + opt.value + '\"]')\n        };\n      }\n      function currentVariant(){\n        \/\/ Re-query each time: the theme re-renders the product form when the color changes\n        var input = document.querySelector('form[action*=\"\/cart\/add\"] [name=\"id\"]');\n        return input ? input.value : new URLSearchParams(location.search).get('variant');\n      }\n      function refresh(){\n        var id = currentVariant();\n        swatches.forEach(function(a){\n          a.classList.toggle('is-selected', a.dataset.variant === id);\n          var c = colorOption(a.dataset.color);\n          a.classList.toggle('is-soldout', !!(c \u0026\u0026 \/sold out\/i.test(c.option.text)));\n        });\n      }\n      function optionGroup(radio){\n        \/\/ Smallest wrapper that holds every swatch in this option (so the whole picker is in view)\n        var q = 'input[type=\"radio\"][name=\"' + radio.name + '\"]';\n        var total = document.querySelectorAll(q).length, n = radio.parentElement;\n        while (n \u0026\u0026 n.querySelectorAll(q).length \u003c total) n = n.parentElement;\n        return n || radio.parentElement;\n      }\n      function reveal(color){\n        \/\/ Wait for the theme to re-render, then bring the product's color picker into view\n        function find(){\n          var c = colorOption(color);\n          return c \u0026\u0026 (c.radio ? optionGroup(c.radio) : c.dropdown);\n        }\n        setTimeout(function(){\n          var el = find(), y = window.scrollY;\n          if (!el) return;\n          el.scrollIntoView({ behavior: 'smooth', block: 'center' });\n          setTimeout(function(){\n            var again = find();\n            if (again \u0026\u0026 Math.abs(window.scrollY - y) \u003c 2) again.scrollIntoView({ block: 'center' });\n          }, 450);\n        }, 200);\n      }\n      function refreshSoon(){ setTimeout(refresh, 400); setTimeout(refresh, 1200); }\n\n      swatches.forEach(function(a){\n        a.addEventListener('click', function(e){\n          var c = colorOption(a.dataset.color);\n          if (!c) return; \/\/ fall back to the ?variant= link\n          e.preventDefault();\n          if (c.radio) {\n            c.radio.click();\n          } else {\n            c.dropdown.value = c.option.value;\n            c.dropdown.dispatchEvent(new Event('change', { bubbles: true }));\n          }\n          reveal(a.dataset.color);\n          swatches.forEach(function(s){ s.classList.toggle('is-selected', s === a); });\n          refreshSoon();\n        });\n      });\n\n      document.addEventListener('change', refreshSoon);\n      refresh();\n    });\n  })();\n\u003c\/script\u003e\n","brand":"G-Ratt Baits","offers":[{"title":"Bunker","offer_id":43340249727185,"sku":"POP005","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Steve's Gizzard Shad","offer_id":43340249759953,"sku":"POP010","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Bone","offer_id":43340249792721,"sku":"POP011","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Lite Trout","offer_id":43340249825489,"sku":"POP012","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Dirty Hitch","offer_id":43340249858257,"sku":"POP013","price":54.99,"currency_code":"USD","in_stock":true},{"title":"Perch","offer_id":43340249891025,"sku":"sku-47445526872251","price":54.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0679\/0361\/9281\/files\/GRatt-Bone-POP011-013415992365.png?v=1790743668","url":"https:\/\/digitaltownsmarket.com\/products\/poppa-pete","provider":"Digital Towns Market ","version":"1.0","type":"link"}