{"product_id":"custom-official-cat-servant-comfort-colors-tee","title":"Custom Official Cat Servant Tee","description":"\u003cp\u003eLet's be completely honest about the household hierarchy. You don't own the cat—you work for them. Our \u003cstrong\u003e\"Custom Official Cat Servant\"\u003c\/strong\u003e vintage varsity badge tee honors your unpaid, full-time career catering to feline royalty. Featuring an authentic collegiate seal with a custom portrait triptych, it’s the ultimate badge of honor for dedicated cat staff.\u003c\/p\u003e\n\u003cp\u003ePrinted on the iconic \u003cstrong\u003eComfort Colors 1717\u003c\/strong\u003e heavyweight garment-dyed blank—famous for its ultra-soft ring-spun cotton, lived-in vintage fade, and relaxed streetwear drape.\u003c\/p\u003e\n\n\u003cdetails style=\"border: 1px solid #e5e5e5; border-radius: 8px; padding: 14px 18px; margin-bottom: 12px; background: #fafafa;\"\u003e\n\u003csummary style=\"font-weight: 700; font-size: 15px; cursor: pointer; color: #111; list-style: none; display: flex; justify-content: space-between; align-items: center;\"\u003e\n\u003cspan\u003e📏 Comfort Colors 1717 Sizing \u0026amp; Fit Guide\u003c\/span\u003e\n\u003cspan style=\"font-size: 18px; color: #666;\"\u003e▾\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cdiv style=\"margin-top: 14px; color: #333; line-height: 1.6; font-size: 14px;\"\u003e\n\u003cp\u003eCrafted on authentic \u003cstrong\u003eComfort Colors 1717\u003c\/strong\u003e unisex garment-dyed heavyweight t-shirts. Features a relaxed, boxy vintage streetwear fit with zero shrink (pre-shrunk 100% US ring-spun cotton, 6.1 oz\/yd²).\u003c\/p\u003e\n\u003cul style=\"margin: 8px 0 14px 20px;\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eStandard Relaxed Fit:\u003c\/strong\u003e Order your normal unisex size.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOversized Streetwear Fit:\u003c\/strong\u003e Size up 1–2 sizes for an exaggerated drop-shoulder look.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv style=\"text-align: center; margin: 16px 0;\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1020\/2385\/6491\/files\/comfort_colors_1717_size_guide_canonical.jpg?v=1793699622\" alt=\"Comfort Colors 1717 Size Chart (Inches)\" style=\"max-width: 100%; border-radius: 8px; border: 1px solid #eee; box-shadow: 0 2px 8px rgba(0,0,0,0.06);\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\n\u003cdetails style=\"border: 1px solid #e5e5e5; border-radius: 8px; padding: 14px 18px; margin-bottom: 12px; background: #fafafa;\"\u003e\n\u003csummary style=\"font-weight: 700; font-size: 15px; cursor: pointer; color: #111; list-style: none; display: flex; justify-content: space-between; align-items: center;\"\u003e\n\u003cspan\u003e🧼 Care \u0026amp; Laundering Guide\u003c\/span\u003e\n\u003cspan style=\"font-size: 18px; color: #666;\"\u003e▾\u003c\/span\u003e\n\u003c\/summary\u003e\n\u003cdiv style=\"margin-top: 14px; color: #333; line-height: 1.6; font-size: 14px;\"\u003e\n\u003cul style=\"margin: 8px 0 10px 20px;\"\u003e\n\u003cli\u003eMachine wash cold, inside-out, with like colors on gentle cycle.\u003c\/li\u003e\n\u003cli\u003eUse mild detergent only; avoid fabric softeners and optical brighteners.\u003c\/li\u003e\n\u003cli\u003eTumble dry low or hang dry for longest print longevity.\u003c\/li\u003e\n\u003cli\u003eCool iron inside-out if needed; \u003cstrong\u003enever iron directly over decoration\u003c\/strong\u003e.\u003c\/li\u003e\n\u003cli\u003eDue to the nature of authentic garment dyeing, minor vintage shade variations are normal.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cscript data-strxke-customizer=\"custom-servant\"\u003e\n(function() {\n  const MODE = \"custom-servant\";\n  function initStrxkeCustomizer() {\n    const prodForm = document.querySelector('product-form-component form.shopify-product-form') || document.querySelector('form[action*=\"\/cart\/add\"]');\n    if (!prodForm) return;\n    const formId = prodForm.id;\n    const existingInput = document.getElementById('custom_personalization');\n    let wrapper = existingInput ? existingInput.closest('div') : null;\n    const buyBlock = prodForm.querySelector('.buy-buttons-block, .product-form__buttons, button[type=\"submit\"]') || prodForm.lastElementChild;\n    if (!wrapper) {\n      if (buyBlock) {\n        wrapper = document.createElement('div');\n        wrapper.id = 'strxke-customizer-container';\n        buyBlock.parentNode.insertBefore(wrapper, buyBlock);\n      }\n    } else if (buyBlock \u0026\u0026 buyBlock.parentNode \u0026\u0026 wrapper.nextElementSibling !== buyBlock) {\n      buyBlock.parentNode.insertBefore(wrapper, buyBlock);\n    }\n    if (!wrapper || wrapper.dataset.strxkeUpgraded === 'true') return;\n    wrapper.dataset.strxkeUpgraded = 'true';\n    wrapper.id = 'strxke-customizer-container';\n    wrapper.style.cssText = 'margin: 18px 0 22px 0; padding: 18px; background: #141518; color: #f5f5f7; border: 1.5px solid #d8b258; border-radius: 10px; box-shadow: 0 4px 16px rgba(0,0,0,0.08);';\n\n    if (!document.getElementById('strxke-customizer-styles')) {\n      const st = document.createElement('style');\n      st.id = 'strxke-customizer-styles';\n      st.textContent = `\n        [data-strxke-upgraded=\"true\"] input[type=\"text\"] {\n          color: #FFFFFF !important;\n          background-color: #1E2026 !important;\n          -webkit-text-fill-color: #FFFFFF !important;\n        }\n        [data-strxke-upgraded=\"true\"] input[type=\"text\"]::placeholder,\n        [data-strxke-upgraded=\"true\"] input[type=\"text\"]::-webkit-input-placeholder,\n        [data-strxke-upgraded=\"true\"] input[type=\"text\"]::-moz-placeholder {\n          color: #9CA3AF !important;\n          -webkit-text-fill-color: #9CA3AF !important;\n          opacity: 1 !important;\n        }\n        [data-strxke-upgraded=\"true\"] .strxke-field-label {\n          display: block;\n          font-weight: 700;\n          font-size: 11.5px;\n          text-transform: uppercase;\n          letter-spacing: 0.3px;\n          white-space: nowrap;\n          overflow: hidden;\n          text-overflow: ellipsis;\n          margin-bottom: 6px;\n          color: #FFFFFF !important;\n        }\n      `;\n      document.head.appendChild(st);\n    }\n\n    if (MODE === 'custom-photo') {\n      wrapper.innerHTML = `\n        \u003cdiv style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:12px;\"\u003e\n          \u003cspan style=\"font-weight:800; font-size:13px; text-transform:uppercase; letter-spacing:0.8px; color:#f5d069;\"\u003e⚡ Custom 90s Bootleg Studio\u003c\/span\u003e\n          \u003cspan style=\"font-size:11px; background:#23262e; color:#2ecc71; padding:3px 8px; border-radius:4px; font-weight:600;\"\u003e✓ 24-Hr Proof Included\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv style=\"margin-bottom:14px;\"\u003e\n          \u003clabel for=\"strxke_pet_name\" class=\"strxke-field-label\"\u003e\n            1. Pet Name (3D Chrome Headline) *\n          \u003c\/label\u003e\n          \u003cinput type=\"text\" id=\"strxke_pet_name\" name=\"properties[Pet Name]\" form=\"${formId}\" maxlength=\"18\" required\n            placeholder=\"e.g., LUNA\"\n            style=\"width:100%; padding:11px 13px; font-size:14px; font-weight:600; border:1.5px solid #4b5563; border-radius:6px; box-sizing:border-box; background:#1e2026; color:#FFFFFF !important;\"\u003e\n        \u003c\/div\u003e\n        \u003cdiv style=\"margin-bottom:14px;\"\u003e\n          \u003clabel class=\"strxke-field-label\"\u003e\n            2. Upload 1–3 Pet Photos (Any Background) *\n          \u003c\/label\u003e\n          \u003clabel for=\"strxke_pet_photo_1\" id=\"strxke_dropzone\" style=\"display:flex; flex-direction:column; align-items:center; justify-content:center; padding:16px 12px; border:2px dashed #d8b258; border-radius:8px; background:#1c1e24; cursor:pointer; text-align:center; transition:all 0.2s;\"\u003e\n            \u003cspan style=\"font-size:13px; font-weight:700; color:#f5d069;\"\u003e📸 Click or Drag \u0026 Drop Primary Pet Photo *\u003c\/span\u003e\n            \u003cspan style=\"font-size:11px; color:#d1d5db; margin-top:4px;\"\u003eJPG, PNG, HEIC • Messy backgrounds removed automatically\u003c\/span\u003e\n          \u003c\/label\u003e\n          \u003cinput type=\"file\" id=\"strxke_pet_photo_1\" name=\"properties[Pet Photo 1]\" form=\"${formId}\" accept=\"image\/*\" required style=\"position:absolute; width:1px; height:1px; opacity:0; pointer-events:none;\"\u003e\n          \u003cdiv id=\"strxke_photo_preview_box\" style=\"display:none; margin-top:10px; padding:10px; background:#1e2026; border-radius:6px; border:1px solid #333;\"\u003e\u003c\/div\u003e\n          \u003cdiv style=\"margin-top:8px; display:flex; gap:8px;\"\u003e\n            \u003clabel style=\"flex:1; font-size:11px; color:#e5e7eb; background:#1e2026; padding:7px 10px; border-radius:5px; border:1px solid #3a3d46; cursor:pointer; text-align:center;\"\u003e\n              + Add 2nd Pose (Optional)\n              \u003cinput type=\"file\" id=\"strxke_pet_photo_2\" name=\"properties[Pet Photo 2]\" form=\"${formId}\" accept=\"image\/*\" style=\"display:none;\"\u003e\n            \u003c\/label\u003e\n            \u003clabel style=\"flex:1; font-size:11px; color:#e5e7eb; background:#1e2026; padding:7px 10px; border-radius:5px; border:1px solid #3a3d46; cursor:pointer; text-align:center;\"\u003e\n              + Add 3rd Pose (Optional)\n              \u003cinput type=\"file\" id=\"strxke_pet_photo_3\" name=\"properties[Pet Photo 3]\" form=\"${formId}\" accept=\"image\/*\" style=\"display:none;\"\u003e\n            \u003c\/label\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv\u003e\n          \u003clabel for=\"strxke_subtitle\" class=\"strxke-field-label\" style=\"color:#e5e7eb !important;\"\u003e\n            3. Bottom Text \/ Era (Optional — Defaults to \"WORLD TOUR\")\n          \u003c\/label\u003e\n          \u003cinput type=\"text\" id=\"strxke_subtitle\" name=\"properties[Subtitle \/ Era]\" form=\"${formId}\" maxlength=\"28\"\n            placeholder=\"e.g., WORLD TOUR (or leave blank)\"\n            style=\"width:100%; padding:10px 13px; font-size:13px; border:1.5px solid #4b5563; border-radius:6px; box-sizing:border-box; background:#1e2026; color:#FFFFFF !important;\"\u003e\n        \u003c\/div\u003e\n        \u003cinput type=\"hidden\" name=\"properties[_Custom_Mode]\" value=\"custom-photo\" form=\"${formId}\"\u003e\n      `;\n\n      const f1 = document.getElementById('strxke_pet_photo_1');\n      const f2 = document.getElementById('strxke_pet_photo_2');\n      const f3 = document.getElementById('strxke_pet_photo_3');\n      const pBox = document.getElementById('strxke_photo_preview_box');\n      function updatePreviews() {\n        const files = [f1?.files?.[0], f2?.files?.[0], f3?.files?.[0]].filter(Boolean);\n        if (!files.length) { pBox.style.display = 'none'; return; }\n        pBox.style.display = 'block';\n        pBox.innerHTML = '\u003cdiv style=\"font-size:11px; font-weight:700; color:#2ecc71; margin-bottom:6px;\"\u003e✓ ' + files.length + ' Photo(s) Attached \u0026 Ready for AI Cutout:\u003c\/div\u003e\u003cdiv id=\"strxke_thumbs\" style=\"display:flex; gap:8px; flex-wrap:wrap;\"\u003e\u003c\/div\u003e';\n        const tContainer = document.getElementById('strxke_thumbs');\n        files.forEach((file, idx) =\u003e {\n          const reader = new FileReader();\n          reader.onload = function(e) {\n            const img = new Image();\n            img.onload = function() {\n              const minDim = Math.min(img.width, img.height);\n              const badgeColor = minDim \u003e= 600 ? '#2ecc71' : '#f39c12';\n              const badgeTxt = minDim \u003e= 600 ? 'HD Ready (' + img.width + '×' + img.height + ')' : 'OK (' + img.width + '×' + img.height + ')';\n              const card = document.createElement('div');\n              card.style.cssText = 'display:flex; align-items:center; gap:8px; background:#141518; padding:5px 8px; border-radius:5px; border:1px solid #333;';\n              card.innerHTML = '\u003cimg src=\"' + e.target.result + '\" style=\"width:38px; height:38px; object-fit:cover; border-radius:4px; border:1px solid #d8b258;\"\u003e' +\n                '\u003cdiv style=\"font-size:11px; line-height:1.3;\"\u003e\u003cdiv style=\"color:#fff; font-weight:600;\"\u003ePose #' + (idx+1) + '\u003c\/div\u003e\u003cdiv style=\"color:' + badgeColor + ';\"\u003e' + badgeTxt + '\u003c\/div\u003e\u003c\/div\u003e';\n              tContainer.appendChild(card);\n            };\n            img.src = e.target.result;\n          };\n          reader.readAsDataURL(file);\n        });\n      }\n      [f1, f2, f3].forEach(inp =\u003e inp \u0026\u0026 inp.addEventListener('change', updatePreviews));\n\n      const dz = document.getElementById('strxke_dropzone');\n      if (dz \u0026\u0026 f1) {\n        dz.addEventListener('dragover', (e) =\u003e { e.preventDefault(); dz.style.borderColor = '#2ecc71'; });\n        dz.addEventListener('dragleave', (e) =\u003e { e.preventDefault(); dz.style.borderColor = '#d8b258'; });\n        dz.addEventListener('drop', (e) =\u003e {\n          e.preventDefault();\n          dz.style.borderColor = '#d8b258';\n          if (e.dataTransfer \u0026\u0026 e.dataTransfer.files.length) {\n            f1.files = e.dataTransfer.files;\n            updatePreviews();\n          }\n        });\n      }\n    } else if (MODE === 'custom-servant') {\n      wrapper.innerHTML = `\n        \u003cdiv style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:12px;\"\u003e\n          \u003cspan style=\"font-weight:800; font-size:13px; text-transform:uppercase; letter-spacing:0.8px; color:#f5d069;\"\u003e🐾 Official Cat Servant Personalizer\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv style=\"margin-bottom:12px;\"\u003e\n          \u003clabel for=\"strxke_est_year\" class=\"strxke-field-label\"\u003e\n            1. Servant Since (\"EST.\" Year) *\n          \u003c\/label\u003e\n          \u003cinput type=\"text\" id=\"strxke_est_year\" name=\"properties[Est. Year]\" form=\"${formId}\" pattern=\"^[0-9]{4}$\" maxlength=\"4\" required\n            placeholder=\"e.g., 2020\"\n            style=\"width:100%; padding:11px 13px; font-size:14px; font-weight:600; border:1.5px solid #4b5563; border-radius:6px; box-sizing:border-box; background:#1e2026; color:#FFFFFF !important;\"\u003e\n        \u003c\/div\u003e\n        \u003cdiv style=\"margin-bottom:14px;\"\u003e\n          \u003clabel for=\"strxke_cat_names\" class=\"strxke-field-label\"\u003e\n            2. Enter Your Cat Name(s) (1 to 3 Names) *\n          \u003c\/label\u003e\n          \u003cinput type=\"text\" id=\"strxke_cat_names\" name=\"properties[Cat Names]\" form=\"${formId}\" maxlength=\"36\" required\n            placeholder=\"e.g., Luna, Milo \u0026 Oliver\"\n            style=\"width:100%; padding:11px 13px; font-size:14px; font-weight:600; border:1.5px solid #4b5563; border-radius:6px; box-sizing:border-box; background:#1e2026; color:#FFFFFF !important;\"\u003e\n        \u003c\/div\u003e\n        \u003cdiv style=\"margin-bottom:14px;\"\u003e\n          \u003clabel class=\"strxke-field-label\"\u003e\n            3. Upload 1–3 Cat Photos (Any Background) *\n          \u003c\/label\u003e\n          \u003clabel for=\"strxke_cat_photo_1\" id=\"strxke_cat_dropzone\" style=\"display:flex; flex-direction:column; align-items:center; justify-content:center; padding:16px 12px; border:2px dashed #d8b258; border-radius:8px; background:#1c1e24; cursor:pointer; text-align:center; transition:all 0.2s;\"\u003e\n            \u003cspan style=\"font-size:13px; font-weight:700; color:#f5d069;\"\u003e📸 Click or Drag \u0026 Drop Primary Cat Photo *\u003c\/span\u003e\n            \u003cspan style=\"font-size:11px; color:#d1d5db; margin-top:4px;\"\u003eJPG, PNG, WebP, HEIC • We crop into vintage portrait ovals\u003c\/span\u003e\n          \u003c\/label\u003e\n          \u003cinput type=\"file\" id=\"strxke_cat_photo_1\" name=\"properties[Cat Photo 1]\" form=\"${formId}\" accept=\"image\/jpeg,image\/png,image\/webp,image\/heic,image\/*\" required style=\"position:absolute; width:1px; height:1px; opacity:0; pointer-events:none;\"\u003e\n          \u003cdiv id=\"strxke_cat_photo_preview_box\" style=\"display:none; margin-top:10px; padding:10px; background:#1e2026; border-radius:6px; border:1px solid #333;\"\u003e\u003c\/div\u003e\n          \u003cdiv style=\"margin-top:8px; display:flex; gap:8px;\"\u003e\n            \u003clabel style=\"flex:1; font-size:11px; color:#e5e7eb; background:#1e2026; padding:7px 10px; border-radius:5px; border:1px solid #3a3d46; cursor:pointer; text-align:center;\"\u003e\n              + Add Cat #2 (Optional)\n              \u003cinput type=\"file\" id=\"strxke_cat_photo_2\" name=\"properties[Cat Photo 2]\" form=\"${formId}\" accept=\"image\/jpeg,image\/png,image\/webp,image\/heic,image\/*\" style=\"display:none;\"\u003e\n            \u003c\/label\u003e\n            \u003clabel style=\"flex:1; font-size:11px; color:#e5e7eb; background:#1e2026; padding:7px 10px; border-radius:5px; border:1px solid #3a3d46; cursor:pointer; text-align:center;\"\u003e\n              + Add Cat #3 (Optional)\n              \u003cinput type=\"file\" id=\"strxke_cat_photo_3\" name=\"properties[Cat Photo 3]\" form=\"${formId}\" accept=\"image\/jpeg,image\/png,image\/webp,image\/heic,image\/*\" style=\"display:none;\"\u003e\n            \u003c\/label\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cp style=\"font-size:11px; color:#d1d5db; margin:8px 0 0 0;\"\u003e* Automatically centered in vintage portrait ovals with matching distressed typography.\u003c\/p\u003e\n        \u003cinput type=\"hidden\" name=\"properties[_Custom_Mode]\" value=\"custom-servant\" form=\"${formId}\"\u003e\n      `;\n\n      const cf1 = document.getElementById('strxke_cat_photo_1');\n      const cf2 = document.getElementById('strxke_cat_photo_2');\n      const cf3 = document.getElementById('strxke_cat_photo_3');\n      const cpBox = document.getElementById('strxke_cat_photo_preview_box');\n      function updateCatPreviews() {\n        const files = [cf1?.files?.[0], cf2?.files?.[0], cf3?.files?.[0]].filter(Boolean);\n        if (!files.length) { cpBox.style.display = 'none'; return; }\n        cpBox.style.display = 'block';\n        cpBox.innerHTML = '\u003cdiv style=\"font-size:11px; font-weight:700; color:#2ecc71; margin-bottom:6px;\"\u003e✓ ' + files.length + ' Cat Photo(s) Attached \u0026 Ready for Oval Crop:\u003c\/div\u003e\u003cdiv id=\"strxke_cat_thumbs\" style=\"display:flex; gap:8px; flex-wrap:wrap;\"\u003e\u003c\/div\u003e';\n        const tContainer = document.getElementById('strxke_cat_thumbs');\n        files.forEach((file, idx) =\u003e {\n          const reader = new FileReader();\n          reader.onload = function(e) {\n            const img = new Image();\n            img.onload = function() {\n              const minDim = Math.min(img.width, img.height);\n              const badgeColor = minDim \u003e= 600 ? '#2ecc71' : '#f39c12';\n              const badgeTxt = minDim \u003e= 600 ? 'HD Ready (' + img.width + '×' + img.height + ')' : 'OK (' + img.width + '×' + img.height + ')';\n              const card = document.createElement('div');\n              card.style.cssText = 'display:flex; align-items:center; gap:8px; background:#141518; padding:5px 8px; border-radius:5px; border:1px solid #333;';\n              card.innerHTML = '\u003cimg src=\"' + e.target.result + '\" style=\"width:38px; height:38px; object-fit:cover; border-radius:4px; border:1px solid #d8b258;\"\u003e' +\n                '\u003cdiv style=\"font-size:11px; line-height:1.3;\"\u003e\u003cdiv style=\"color:#fff; font-weight:600;\"\u003eCat #' + (idx+1) + '\u003c\/div\u003e\u003cdiv style=\"color:' + badgeColor + ';\"\u003e' + badgeTxt + '\u003c\/div\u003e\u003c\/div\u003e';\n              tContainer.appendChild(card);\n            };\n            img.src = e.target.result;\n          };\n          reader.readAsDataURL(file);\n        });\n      }\n      [cf1, cf2, cf3].forEach(inp =\u003e inp \u0026\u0026 inp.addEventListener('change', updateCatPreviews));\n\n      const cdz = document.getElementById('strxke_cat_dropzone');\n      if (cdz \u0026\u0026 cf1) {\n        cdz.addEventListener('dragover', (e) =\u003e { e.preventDefault(); cdz.style.borderColor = '#2ecc71'; });\n        cdz.addEventListener('dragleave', (e) =\u003e { e.preventDefault(); cdz.style.borderColor = '#d8b258'; });\n        cdz.addEventListener('drop', (e) =\u003e {\n          e.preventDefault();\n          cdz.style.borderColor = '#d8b258';\n          if (e.dataTransfer \u0026\u0026 e.dataTransfer.files.length) {\n            cf1.files = e.dataTransfer.files;\n            updateCatPreviews();\n          }\n        });\n      }\n    } else if (MODE === 'custom-year') {\n      wrapper.innerHTML = `\n        \u003cdiv style=\"display:flex; justify-content:space-between; align-items:center; margin-bottom:12px;\"\u003e\n          \u003cspan style=\"font-weight:800; font-size:13px; text-transform:uppercase; letter-spacing:0.8px; color:#f5d069;\"\u003e🏛️ Custom Vintage Year Personalizer\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv\u003e\n          \u003clabel for=\"strxke_vintage_year\" class=\"strxke-field-label\"\u003e\n            Enter 4-Digit Birth or Milestone Year *\n          \u003c\/label\u003e\n          \u003cinput type=\"text\" id=\"strxke_vintage_year\" name=\"properties[Vintage Year]\" form=\"${formId}\" pattern=\"^(19|20)[0-9]{2}$\" maxlength=\"4\" inputmode=\"numeric\" required\n            placeholder=\"e.g., 1986\"\n            style=\"width:100%; padding:12px 14px; font-size:16px; font-weight:700; letter-spacing:1.5px; border:1.5px solid #4b5563; border-radius:6px; box-sizing:border-box; background:#1e2026; color:#FFFFFF !important;\"\u003e\n        \u003c\/div\u003e\n        \u003cp style=\"font-size:11px; color:#d1d5db; margin:8px 0 0 0;\"\u003e* Your custom 4-digit year is distressed in vintage gold slab-serif to match the crest.\u003c\/p\u003e\n        \u003cinput type=\"hidden\" name=\"properties[_Custom_Mode]\" value=\"custom-year\" form=\"${formId}\"\u003e\n      `;\n    }\n  }\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initStrxkeCustomizer);\n  } else {\n    initStrxkeCustomizer();\n  }\n})();\n\u003c\/script\u003e\n\n\u003cscript data-strxke-switcher=\"true\" data-group=\"custom_official_cat_servant\" data-current=\"tee\"\u003e\n(function() {\n  const REGISTRY = {\"custom_90s_bootleg_cat_world_tour\": {\"title\": \"Custom 90s Bootleg Pet\", \"is_custom\": true, \"garments\": {\"tee\": {\"name\": \"Heavyweight Tee\", \"handle\": \"vintage-90s-bootleg-rap-cat-shirt-retro-streetwear-heavyweight-graphic-tee\", \"price\": \"$34.99\"}, \"hoodie\": {\"name\": \"Pullover Hoodie\", \"handle\": \"custom-90s-bootleg-cat-pullover-hoodie\", \"price\": \"$57.99\"}}}, \"aged_to_perfection\": {\"title\": \"Custom Aged to Perfection\", \"is_custom\": true, \"garments\": {\"tee\": {\"name\": \"Heavyweight Tee\", \"handle\": \"vintage-limited-edition-shirt-aged-to-perfection-classic-birthday-tee\", \"price\": \"$34.99\"}, \"crewneck\": {\"name\": \"Crewneck\", \"handle\": \"custom-aged-to-perfection-crewneck-sweatshirt\", \"price\": \"$49.99\"}}}, \"custom_official_cat_servant\": {\"title\": \"Custom Official Cat Servant\", \"is_custom\": true, \"garments\": {\"tee\": {\"name\": \"Heavyweight Tee\", \"handle\": \"custom-official-cat-servant-comfort-colors-tee\", \"price\": \"$34.99\"}, \"crewneck\": {\"name\": \"Crewneck\", \"handle\": \"custom-official-cat-servant-crewneck-sweatshirt\", \"price\": \"$49.99\"}, \"hoodie\": {\"name\": \"Pullover Hoodie\", \"handle\": \"custom-official-cat-servant-pullover-hoodie\", \"price\": \"$57.99\"}}}, \"night_shift_crew_raccoon_nurse\": {\"title\": \"Night Shift Raccoon Nurse\", \"is_custom\": false, \"garments\": {\"tee\": {\"name\": \"Heavyweight Tee\", \"handle\": \"night-shift-crew-raccoon-nurse-shirt-funny-healthcare-vintage-graphic-tee\", \"price\": \"$29.99\"}, \"crewneck\": {\"name\": \"Crewneck\", \"handle\": \"night-shift-raccoon-nurse-crewneck-sweatshirt\", \"price\": \"$44.99\"}, \"hoodie\": {\"name\": \"Pullover Hoodie\", \"handle\": \"night-shift-raccoon-nurse-pullover-hoodie\", \"price\": \"$52.99\"}}}, \"fueled_by_spite_iced_coffee_cat\": {\"title\": \"Fueled by Spite Cat\", \"is_custom\": false, \"garments\": {\"tee\": {\"name\": \"Heavyweight Tee\", \"handle\": \"fueled-by-spite-iced-coffee-tee-heavyweight-vintage-cat-shirt\", \"price\": \"$29.99\"}, \"crewneck\": {\"name\": \"Crewneck\", \"handle\": \"fueled-by-spite-cat-crewneck-sweatshirt\", \"price\": \"$44.99\"}, \"hoodie\": {\"name\": \"Pullover Hoodie\", \"handle\": \"fueled-by-spite-cat-pullover-hoodie\", \"price\": \"$52.99\"}}}, \"feral_and_festive\": {\"title\": \"Feral \u0026 Festive Cat\", \"is_custom\": false, \"garments\": {\"tee\": {\"name\": \"Heavyweight Tee\", \"handle\": \"feral-festive-christmas-cat-shirt-grunge-holiday-heavyweight-graphic-tee\", \"price\": \"$29.99\"}, \"crewneck\": {\"name\": \"Crewneck\", \"handle\": \"feral-and-festive-cat-crewneck-sweatshirt\", \"price\": \"$44.99\"}, \"hoodie\": {\"name\": \"Pullover Hoodie\", \"handle\": \"feral-and-festive-cat-pullover-hoodie\", \"price\": \"$52.99\"}}}, \"merry_catmas_tree\": {\"title\": \"Merry Catmas Tree\", \"is_custom\": false, \"garments\": {\"tee\": {\"name\": \"Heavyweight Tee\", \"handle\": \"merry-catmas-tree-shirt-vintage-retro-christmas-cat-lover-graphic-tee\", \"price\": \"$29.99\"}, \"crewneck\": {\"name\": \"Crewneck\", \"handle\": \"merry-catmas-tree-crewneck-sweatshirt\", \"price\": \"$44.99\"}, \"hoodie\": {\"name\": \"Pullover Hoodie\", \"handle\": \"merry-catmas-tree-pullover-hoodie\", \"price\": \"$52.99\"}}}, \"old_enough_to_know_better\": {\"title\": \"Old Enough to Know Better\", \"is_custom\": false, \"garments\": {\"tee\": {\"name\": \"Heavyweight Tee\", \"handle\": \"old-enough-to-know-better-vintage-graphic-tee\", \"price\": \"$29.99\"}, \"crewneck\": {\"name\": \"Crewneck\", \"handle\": \"old-enough-to-know-better-crewneck-sweatshirt\", \"price\": \"$44.99\"}}}, \"sleigh_bells_trauma_calls\": {\"title\": \"Sleigh Bells \u0026 Trauma Calls\", \"is_custom\": false, \"garments\": {\"tee\": {\"name\": \"Heavyweight Tee\", \"handle\": \"sleigh-bells-trauma-calls-shirt-funny-er-nurse-holiday-graphic-tee\", \"price\": \"$29.99\"}, \"crewneck\": {\"name\": \"Crewneck\", \"handle\": \"sleigh-bells-trauma-calls-crewneck-sweatshirt\", \"price\": \"$44.99\"}, \"hoodie\": {\"name\": \"Pullover Hoodie\", \"handle\": \"sleigh-bells-trauma-calls-pullover-hoodie\", \"price\": \"$52.99\"}}}, \"sleighing_the_night_shift\": {\"title\": \"Sleighing the Night Shift\", \"is_custom\": false, \"garments\": {\"tee\": {\"name\": \"Heavyweight Tee\", \"handle\": \"sleighing-the-night-shift-shirt-skeleton-hand-iced-coffee-nurse-holiday-tee\", \"price\": \"$29.99\"}, \"crewneck\": {\"name\": \"Crewneck\", \"handle\": \"sleighing-the-night-shift-crewneck-sweatshirt\", \"price\": \"$44.99\"}, \"hoodie\": {\"name\": \"Pullover Hoodie\", \"handle\": \"sleighing-the-night-shift-pullover-hoodie\", \"price\": \"$52.99\"}}}, \"due_to_not_wanting_to_cat\": {\"title\": \"Due to Not Wanting to Cat\", \"is_custom\": false, \"garments\": {\"tee\": {\"name\": \"Heavyweight Tee\", \"handle\": \"due-to-not-wanting-to-i-will-simply-not-cat-shirt-sarcastic-vintage-tee\", \"price\": \"$29.99\"}, \"crewneck\": {\"name\": \"Crewneck\", \"handle\": \"due-to-not-wanting-to-cat-crewneck-sweatshirt\", \"price\": \"$44.99\"}, \"hoodie\": {\"name\": \"Pullover Hoodie\", \"handle\": \"due-to-not-wanting-to-cat-pullover-hoodie\", \"price\": \"$52.99\"}}}};\n  const CURRENT_GROUP = \"custom_official_cat_servant\";\n  const CURRENT_TYPE = \"tee\";\n\n  function findMountTarget() {\n    const customizer = document.getElementById('strxke-customizer-container');\n\n    \/\/ Find the Color variant fieldset in Horizon theme\n    const fieldsets = document.querySelectorAll('fieldset, .product-form__input, variant-radios \u003e fieldset, variant-selects \u003e div');\n    let colorFieldset = null;\n    for (const fs of fieldsets) {\n      const text = (fs.querySelector('legend, label, .form__label') || fs).textContent.toLowerCase();\n      if (text.includes('color')) {\n        colorFieldset = fs;\n        break;\n      }\n    }\n\n    if (!colorFieldset) {\n      colorFieldset = document.querySelector('variant-radios fieldset, variant-selects fieldset, variant-radios, variant-selects, .product-variant-picker');\n    }\n\n    \/\/ Rule: Always mount at top of options column, directly above Color, and never below Custom Personalizer Studio\n    if (customizer \u0026\u0026 colorFieldset \u0026\u0026 customizer.parentNode === colorFieldset.parentNode) {\n      const isCustomizerFirst = (customizer.compareDocumentPosition(colorFieldset) \u0026 Node.DOCUMENT_POSITION_FOLLOWING);\n      if (isCustomizerFirst) {\n        return customizer;\n      }\n    }\n\n    if (colorFieldset) return colorFieldset;\n    if (customizer) return customizer;\n    return document.querySelector('product-form-component, form[action*=\"\/cart\/add\"], .product-form');\n  }\n\n  async function renderSwitcher() {\n    if (document.getElementById('strxke-garment-switcher')) return;\n\n    const groupData = REGISTRY[CURRENT_GROUP];\n    if (!groupData) return;\n\n    const entries = Object.entries(groupData.garments);\n    const currentPath = window.location.pathname;\n\n    \/\/ Check each garment style via \/products\/\u003chandle\u003e.js so zero dead links are ever rendered\n    const liveChecks = await Promise.all(\n      entries.map(async ([gType, gInfo]) =\u003e {\n        const isCurrent = (gType === CURRENT_TYPE) || currentPath.includes(gInfo.handle);\n        if (isCurrent) {\n          return { gType, gInfo, isLive: true, isActive: true };\n        }\n        try {\n          const resp = await fetch('\/products\/' + gInfo.handle + '.js');\n          if (resp.ok) {\n            return { gType, gInfo, isLive: true, isActive: false };\n          }\n        } catch (e) {}\n        return { gType, gInfo, isLive: false, isActive: false };\n      })\n    );\n\n    const availableGarments = liveChecks.filter(item =\u003e item.isLive);\n\n    \/\/ If only 1 style is live on Shopify, do not render switcher (avoids clutter and dead links)\n    if (availableGarments.length \u003c= 1) {\n      return;\n    }\n\n    const target = findMountTarget();\n    if (!target || !target.parentNode) return;\n\n    if (document.getElementById('strxke-garment-switcher')) return;\n\n    const switcher = document.createElement('div');\n    switcher.id = 'strxke-garment-switcher';\n    switcher.style.cssText = 'margin: 16px 0 20px 0; padding: 14px 16px; background: #181A1F; border: 1.5px solid #3A3D46; border-radius: 10px; box-sizing: border-box; font-family: inherit;';\n\n    const header = document.createElement('div');\n    header.style.cssText = 'display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;';\n    header.innerHTML = `\n      \u003cspan style=\"font-size: 11.5px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.8px; color: #D8B258;\"\u003e\n        GARMENT STYLE\n      \u003c\/span\u003e\n      \u003cspan style=\"font-size: 11px; color: #9CA3AF; font-weight: 500;\"\u003e\n        100% Combed Cotton Faces\n      \u003c\/span\u003e\n    `;\n    switcher.appendChild(header);\n\n    const pillsRow = document.createElement('div');\n    pillsRow.style.cssText = 'display: flex; gap: 8px; flex-wrap: wrap;';\n\n    const ICONS = {\n      tee: `\u003csvg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#D8B258\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"flex-shrink:0; vertical-align: middle;\"\u003e\u003cpath d=\"M6 2L1.5 7.5L5 10L6 9V21C6 21.55 6.45 22 7 22H17C17.55 22 18 21.55 18 21V9L19 10L22.5 7.5L18 2H14.5C14.5 3.38 13.38 4.5 12 4.5C10.62 4.5 9.5 3.38 9.5 2H6Z\"\/\u003e\u003c\/svg\u003e`,\n      crewneck: `\u003csvg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#D8B258\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"flex-shrink:0; vertical-align: middle;\"\u003e\u003cpath d=\"M7 2.5L1 11L4 12.5L6.5 8.5V20.5C6.5 21.3 7.2 22 8 22H16C16.8 22 17.5 21.3 17.5 20.5V8.5L20 12.5L23 11L17 2.5H14C14 3.6 13.1 4.5 12 4.5C10.9 4.5 10 3.6 10 2.5H7Z\"\/\u003e\u003cline x1=\"6.5\" y1=\"19.5\" x2=\"17.5\" y2=\"19.5\"\/\u003e\u003c\/svg\u003e`,\n      hoodie: `\u003csvg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#D8B258\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"flex-shrink:0; vertical-align: middle;\"\u003e\u003cpath d=\"M7 6L1 13L4 14.5L6.5 10.5V20.5C6.5 21.3 7.2 22 8 22H16C16.8 22 17.5 21.3 17.5 20.5V10.5L20 14.5L23 13L17 6\"\/\u003e\u003cpath d=\"M7.5 6C7.5 3 9 1 12 1C15 1 16.5 3 16.5 6\"\/\u003e\u003cpath d=\"M9.5 15H14.5L15.5 19H8.5L9.5 15Z\"\/\u003e\u003c\/svg\u003e`\n    };\n\n    for (const item of availableGarments) {\n      const { gType, gInfo, isActive } = item;\n      const iconSvg = ICONS[gType] || '';\n      const pill = document.createElement('a');\n      pill.href = '\/products\/' + gInfo.handle;\n      pill.className = 'strxke-style-pill' + (isActive ? ' active' : '');\n      pill.style.cssText = `\n        flex: 1;\n        min-width: 95px;\n        text-decoration: none;\n        padding: 9px 12px;\n        border-radius: 8px;\n        text-align: center;\n        transition: all 0.2s ease;\n        border: 1.5px solid ${isActive ? '#D8B258' : '#3A3D46'};\n        background: ${isActive ? '#23262E' : '#141518'};\n        color: #FFFFFF;\n        display: block;\n        box-shadow: ${isActive ? '0 0 10px rgba(216,178,88,0.2)' : 'none'};\n      `;\n\n      pill.innerHTML = `\n        \u003cdiv style=\"display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 12px; font-weight: 700; color: #FFFFFF; letter-spacing: 0.2px;\"\u003e\n          ${iconSvg}\n          \u003cspan\u003e${gInfo.name}\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv style=\"font-size: 11px; color: #D8B258; font-weight: 700; margin-top: 3px;\"\u003e${gInfo.price}\u003c\/div\u003e\n      `;\n\n      pill.addEventListener('mouseenter', () =\u003e {\n        if (!isActive) pill.style.borderColor = '#D8B258';\n      });\n      pill.addEventListener('mouseleave', () =\u003e {\n        if (!isActive) pill.style.borderColor = '#3A3D46';\n      });\n\n      pillsRow.appendChild(pill);\n    }\n\n    switcher.appendChild(pillsRow);\n    target.parentNode.insertBefore(switcher, target);\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', renderSwitcher);\n  } else {\n    renderSwitcher();\n  }\n\n  \/\/ Re-run if Shopify Horizon dynamic variant sections update the DOM\n  const observer = new MutationObserver(() =\u003e {\n    if (!document.getElementById('strxke-garment-switcher')) {\n      renderSwitcher();\n    }\n  });\n  observer.observe(document.body, { childList: true, subtree: true });\n})();\n\u003c\/script\u003e\n","brand":"STRXKE Apparel Co.","offers":[{"title":"Black \/ S","offer_id":54273666515307,"sku":"2909954_15114","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":54273666548075,"sku":"2909954_15115","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":54273666580843,"sku":"2909954_15116","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":54273666613611,"sku":"2909954_15117","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":54273666646379,"sku":"2909954_15118","price":36.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 3XL","offer_id":54273666679147,"sku":"2909954_16326","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Black \/ 4XL","offer_id":54273666711915,"sku":"2909954_17500","price":39.99,"currency_code":"USD","in_stock":true},{"title":"True Navy \/ S","offer_id":54273666744683,"sku":"2909954_15181","price":34.99,"currency_code":"USD","in_stock":true},{"title":"True Navy \/ M","offer_id":54273666777451,"sku":"2909954_15182","price":34.99,"currency_code":"USD","in_stock":true},{"title":"True Navy \/ L","offer_id":54273666810219,"sku":"2909954_15183","price":34.99,"currency_code":"USD","in_stock":true},{"title":"True Navy \/ XL","offer_id":54273666842987,"sku":"2909954_15184","price":34.99,"currency_code":"USD","in_stock":true},{"title":"True Navy \/ 2XL","offer_id":54273666875755,"sku":"2909954_15185","price":36.99,"currency_code":"USD","in_stock":true},{"title":"True Navy \/ 3XL","offer_id":54273666908523,"sku":"2909954_16332","price":37.99,"currency_code":"USD","in_stock":true},{"title":"True Navy \/ 4XL","offer_id":54273666941291,"sku":"2909954_17499","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Pepper \/ S","offer_id":54273666974059,"sku":"2909954_17693","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Pepper \/ M","offer_id":54273667006827,"sku":"2909954_17694","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Pepper \/ L","offer_id":54273667039595,"sku":"2909954_17695","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Pepper \/ XL","offer_id":54273667072363,"sku":"2909954_17696","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Pepper \/ 2XL","offer_id":54273667105131,"sku":"2909954_17697","price":36.99,"currency_code":"USD","in_stock":true},{"title":"Pepper \/ 3XL","offer_id":54273667137899,"sku":"2909954_17698","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Pepper \/ 4XL","offer_id":54273667170667,"sku":"2909954_17699","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Crimson \/ S","offer_id":54273667203435,"sku":"2909954_16547","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Crimson \/ M","offer_id":54273667236203,"sku":"2909954_16548","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Crimson \/ L","offer_id":54273667268971,"sku":"2909954_16549","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Crimson \/ XL","offer_id":54273667301739,"sku":"2909954_16550","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Crimson \/ 2XL","offer_id":54273667334507,"sku":"2909954_16551","price":36.99,"currency_code":"USD","in_stock":true},{"title":"Crimson \/ 3XL","offer_id":54273667367275,"sku":"2909954_16552","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Crimson \/ 4XL","offer_id":54273667400043,"sku":"2909954_17513","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Blue Jean \/ S","offer_id":54273667432811,"sku":"2909954_16511","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Blue Jean \/ M","offer_id":54273667465579,"sku":"2909954_16512","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Blue Jean \/ L","offer_id":54273667498347,"sku":"2909954_16513","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Blue Jean \/ XL","offer_id":54273667531115,"sku":"2909954_16514","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Blue Jean \/ 2XL","offer_id":54273667563883,"sku":"2909954_16515","price":36.99,"currency_code":"USD","in_stock":true},{"title":"Blue Jean \/ 3XL","offer_id":54273667596651,"sku":"2909954_16516","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Blue Jean \/ 4XL","offer_id":54273667629419,"sku":"2909954_17506","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Ivory \/ S","offer_id":54273667662187,"sku":"2909954_16523","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Ivory \/ M","offer_id":54273667694955,"sku":"2909954_16524","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Ivory \/ L","offer_id":54273667727723,"sku":"2909954_16525","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Ivory \/ XL","offer_id":54273667760491,"sku":"2909954_16526","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Ivory \/ 2XL","offer_id":54273667793259,"sku":"2909954_16527","price":36.99,"currency_code":"USD","in_stock":true},{"title":"Ivory \/ 3XL","offer_id":54273667826027,"sku":"2909954_16528","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Ivory \/ 4XL","offer_id":54273667858795,"sku":"2909954_17507","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Granite \/ S","offer_id":54320974496107,"sku":"2909954_17655","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Granite \/ M","offer_id":54320974528875,"sku":"2909954_17656","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Granite \/ L","offer_id":54320975479147,"sku":"2909954_17657","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Granite \/ XL","offer_id":54320975511915,"sku":"2909954_17658","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Granite \/ 2XL","offer_id":54320975544683,"sku":"2909954_17659","price":36.99,"currency_code":"USD","in_stock":true},{"title":"Granite \/ 3XL","offer_id":54320975577451,"sku":"2909954_17660","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Granite \/ 4XL","offer_id":54320975610219,"sku":"2909954_17661","price":39.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1020\/2385\/6491\/files\/06_Official_Cat_Servant_Crimson_FlatLay_1500x1500_f03f20ef-e69f-4ce1-8d70-ec486f706cdf.jpg?v=1794576442","url":"https:\/\/strxkeapparel.com\/products\/custom-official-cat-servant-comfort-colors-tee","provider":"STRXKE Apparel Co.","version":"1.0","type":"link"}