{"title":"Pet Portrait Bags","description":"\u003c!-- MY DOLLFY Pet Portrait Bags Banner v1 — Force override theme CSS --\u003e\n\n\u003cstyle\u003e\n .dollfy-bm {\n background: #fff !important;\n padding: 32px 16px 28px !important;\n text-align: center !important;\n font-family: 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;\n color: #1a1a1a !important;\n margin: 0 !important;\n }\n\n .dollfy-bm-inner {\n max-width: 820px !important;\n margin: 0 auto !important;\n padding: 0 !important;\n }\n\n .dollfy-bm-headline {\n font-size: 44px !important;\n font-weight: 800 !important;\n line-height: 1.1 !important;\n letter-spacing: -1px !important;\n margin: 0 0 18px 0 !important;\n padding: 0 !important;\n color: #1a1a1a !important;\n font-family: 'Nunito', sans-serif !important;\n display: block !important;\n }\n\n .dollfy-bm-headline .italic {\n font-family: 'Playfair Display', Georgia, serif !important;\n font-style: italic !important;\n font-weight: 700 !important;\n color: #008000 !important;\n letter-spacing: -1px !important;\n }\n\n .dollfy-bm-headline .emoji {\n font-style: normal !important;\n display: inline-block !important;\n margin-left: 6px !important;\n }\n\n .dollfy-bm-subhead {\n font-size: 17px !important;\n line-height: 1.5 !important;\n color: #444 !important;\n margin: 0 auto 28px !important;\n max-width: 680px !important;\n font-weight: 400 !important;\n font-family: 'Nunito', sans-serif !important;\n }\n\n .dollfy-bm-subhead strong {\n color: #008000 !important;\n font-weight: 800 !important;\n }\n\n .dollfy-bm-offer {\n font-size: 15px !important;\n line-height: 1.5 !important;\n color: #1a1a1a !important;\n margin: 0 auto 26px !important;\n font-weight: 700 !important;\n font-family: 'Nunito', sans-serif !important;\n }\n\n .dollfy-bm-offer .code {\n display: inline-block !important;\n color: #ffffff !important;\n font-size: 14px !important;\n font-weight: 800 !important;\n letter-spacing: 1px !important;\n line-height: 1 !important;\n background: #008000 !important;\n border: none !important;\n border-radius: 100px !important;\n padding: 8px 16px !important;\n margin: 0 3px !important;\n cursor: pointer !important;\n vertical-align: middle !important;\n font-family: 'Nunito', sans-serif !important;\n box-shadow: 0 2px 6px rgba(0,128,0,0.25) !important;\n -webkit-appearance: none !important;\n appearance: none !important;\n -webkit-tap-highlight-color: transparent !important;\n transition: background 0.15s, transform 0.1s !important;\n }\n\n .dollfy-bm-offer .code:hover {\n background: #006e00 !important;\n }\n\n .dollfy-bm-offer .code:active {\n background: #005c00 !important;\n transform: translateY(1px) !important;\n }\n\n .dollfy-bm-offer .copied-hint {\n display: inline-block !important;\n font-size: 12px !important;\n font-weight: 700 !important;\n color: #86a896 !important;\n margin-left: 8px !important;\n font-family: 'Nunito', sans-serif !important;\n }\n\n .dollfy-bm-offer-code-row {\n display: inline-flex !important;\n align-items: center !important;\n flex-wrap: wrap !important;\n justify-content: center !important;\n gap: 4px !important;\n }\n\n \/* Desktop: 3 pills in ONE row, no wrap *\/\n .dollfy-bm-pills {\n display: flex !important;\n gap: 10px !important;\n justify-content: center !important;\n flex-wrap: nowrap !important;\n margin: 0 !important;\n padding: 0 !important;\n list-style: none !important;\n }\n\n .dollfy-bm-pill {\n border: 1.5px solid #d0d0d0 !important;\n border-radius: 100px !important;\n padding: 10px 20px !important;\n font-size: 12px !important;\n font-weight: 700 !important;\n leter-spacing: 1.2px !important;\n text-transform: uppercase !important;\n color: #1a1a1a !important;\n background: #fff !important;\n display: inline-flex !important;\n align-items: center !important;\n gap: 6px !important;\n white-space: nowrap !important;\n font-family: 'Nunito', sans-serif !important;\n flex-shrink: 0 !important;\n }\n\n .dollfy-bm-pill::before {\n content: '\\2726' !important;\n color: #888 !important;\n font-size: 13px !important;\n }\n\n \/* Tablet *\/\n @media (max-width: 900px) {\n .dollfy-bm {\n pading: 28px 16px 24px !important;\n }\n .dollfy-bm-headline {\n font-size: 32px !important;\n }\n }\n\n \/* Mobile: 2 pills row 1 + 1 pill row 2 *\/\n @media (max-width: 640px) {\n .dollfy-bm {\n padding: 24px 16px 22px !important;\n }\n\n .dollfy-bm-headline {\n font-size: 28px !important;\n line-height: 1.2 !important;\n letter-spacing: -0.5px !important;\n margin-bottom: 16px !important;\n }\n\n .dollfy-bm-headline .emoji {\n margin-left: 4px !important;\n }\n\n .dollfy-bm-subhead {\n font-size: 16px !important;\n line-height: 1.5 !important;\n margin-bottom: 22px !important;\n }\n\n .dollfy-bm-offer {\n font-size: 14px !important;\n line-height: 1.7 !important;\n margin-bottom: 22px !important;\n }\n\n .dollfy-bm-offer .code {\n padding: 4px 12px !important;\n margin-left: 0 !important;\n }\n\n .dollfy-bm-offer .copied-hint {\n display: block !important;\n margin-left: 0 !important;\n margin-top: 6px !important;\n }\n\n .dollfy-bm-pills {\n gap: 8px !important;\n flex-wrap: wrap !important;\n max-width: 360px !important;\n margin: 0 auto !important;\n }\n\n .dollfy-bm-pill {\n padding: 10px 14px !important;\n font-size: 11.5px !important;\n letter-spacing: 0.8px !important;\n gap: 5px !important;\n }\n\n .dollfy-bm-pill::before {\n font-size: 12px !important;\n }\n\n .dollfy-bm-pill-wide {\n flex-basis: 100% !important;\n justify-content: center !important;\n }\n }\n\n \/* Very small phones *\/\n @media (max-width: 380px) {\n .dollfy-bm-headline {\n font-size: 25px !important;\n }\n\n .dollfy-bm-pill {\n font-size: 11px !important;\n padding: 9px 13px !important;\n letter-spacing: 0.7px !important;\n }\n\n .dollfy-bm-subhead {\n font-size: 15px !important;\n }\n\n .dollfy-bm-pills {\n max-width: 310px !important;\n }\n }\n\u003c\/style\u003e\n\n\u003csection class=\"dollfy-bm\"\u003e\n \u003cdiv class=\"dollfy-bm-inner\"\u003e\n\n \u003cdiv class=\"dollfy-bm-headline\"\u003e\n Take your \u003cspan class=\"italic\"\u003ebest friend\u003c\/span\u003e everywhere you go.\n \u003cspan class=\"emoji\"\u003e🐾\u003c\/span\u003e\n \u003c\/div\u003e\n\n \u003cp class=\"dollfy-bm-subhead\"\u003e\n A handmade bag carrying \u003cstrong\u003eyour pet\u003c\/strong\u003e made two ways from a single photo — hand-embroidered on the canvas and a little 3D crochet doll dangling from the strap. Same fur, same face, riding along wherever your day takes you.\n \u003c\/p\u003e\n\n \u003cp class=\"dollfy-bm-offer\"\u003e\n New collection — enjoy \u003cstrong\u003e20% off\u003c\/strong\u003e your first bag\u003cbr\u003e\n \u003cspan class=\"dollfy-bm-offer-code-row\"\u003ewith code \u003cbutton type=\"button\" class=\"code\" id=\"dbmCode\" aria-label=\"Copy code NEWTOTE20\"\u003eNEWTOTE20\u003c\/button\u003e\u003cspan class=\"copied-hint\" id=\"dbmHint\"\u003eTap to copy\u003c\/span\u003e\u003c\/span\u003e\n \u003c\/p\u003e\n\n \u003cdiv class=\"dollfy-bm-pills\"\u003e\n \u003cspan class=\"dollfy-bm-pill\"\u003eEMBROIDERED\u003c\/span\u003e\n \u003cspan class=\"dollfy-bm-pill\"\u003e3D CROCHET DOLL\u003c\/span\u003e\n \u003cspan class=\"dollfy-bm-pill dollfy-bm-pill-wide\"\u003eMADE FROM YOUR PHOTO\u003c\/span\u003e\n \u003c\/div\u003e\n\n \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003cscript\u003e\n(function(){\n  var b=document.getElementById('dbmCode'),h=document.getElementById('dbmHint');\n  if(!b)return;\n  b.addEventListener('click',function(){\n    var t='NEWTOTE20';\n    if(navigator.clipboard\u0026\u0026navigator.clipboard.writeText){navigator.clipboard.writeText(t);}\n    else{var x=document.createElement('textarea');x.value=t;document.body.appendChild(x);x.select();try{document.execCommand('copy');}catch(e){}document.body.removeChild(x);}\n    h.textContent='\\u2713 Copied!';setTimeout(function(){h.textContent='Tap to copy';},2000);\n  });\n})();\n\u003c\/script\u003e","products":[{"product_id":"sweet-bow-carry-me-tote","title":"\"Sweet Bow\" Carry-Me Tote","description":"\u003ch2\u003e\"Sweet Bow\" Carry-Me Tote\u003c\/h2\u003e\n\u003cp\u003eMeet the\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003e\"Sweet Bow\" Carry-Me Tote\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e— the only bag that lets you carry your best friend everywhere, twice over. 🐾\u003c\/p\u003e\n\u003cp\u003eYour pet's name and a delicate little bow are hand-embroidered right onto a sturdy, everyday canvas tote. And clipped to the strap? A tiny\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003ehand-crocheted portrait of your dog or cat\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e— stitched from your photo to match their real fur, face, and personality, hanging like the world's most heartfelt bag charm.\u003c\/p\u003e\n\u003cp\u003eThe doll clips on and off with an antique-bronze snap hook, so your little companion can ride along on the tote, sit on your desk, or hang from your bag — wherever you go, they go too.\u003c\/p\u003e\n\u003cp\u003eHandmade by our artisans in Vietnam, every tote is one of a kind, just like your best friend. Because some friends are too good to leave at home. 🧶\u003c\/p\u003e","brand":"My Dollfy","offers":[{"title":"⭐ The Full Set (Save 20%) \/ Black","offer_id":52358144000280,"sku":null,"price":110.0,"currency_code":"USD","in_stock":true},{"title":"⭐ The Full Set (Save 20%) \/ Pink","offer_id":52358172803352,"sku":null,"price":110.0,"currency_code":"USD","in_stock":true},{"title":"⭐ The Full Set (Save 20%) \/ Blue","offer_id":52358172836120,"sku":null,"price":110.0,"currency_code":"USD","in_stock":true},{"title":"⭐ The Full Set (Save 20%) \/ Red","offer_id":52358172868888,"sku":null,"price":110.0,"currency_code":"USD","in_stock":true},{"title":"⭐ The Full Set (Save 20%) \/ Purple","offer_id":52358172901656,"sku":null,"price":110.0,"currency_code":"USD","in_stock":true},{"title":"⭐ The Full Set (Save 20%) \/ Green","offer_id":52358172934424,"sku":null,"price":110.0,"currency_code":"USD","in_stock":true},{"title":"⭐ The Full Set (Save 20%) \/ Gray","offer_id":52358172967192,"sku":null,"price":110.0,"currency_code":"USD","in_stock":true},{"title":"⭐ The Full Set (Save 20%) \/ White","offer_id":52358172999960,"sku":null,"price":110.0,"currency_code":"USD","in_stock":true},{"title":"👜 Just the Tote \/ Black","offer_id":52358144033048,"sku":null,"price":79.0,"currency_code":"USD","in_stock":true},{"title":"👜 Just the Tote \/ Pink","offer_id":52358173032728,"sku":null,"price":110.0,"currency_code":"USD","in_stock":true},{"title":"👜 Just the Tote \/ Blue","offer_id":52358173065496,"sku":null,"price":110.0,"currency_code":"USD","in_stock":true},{"title":"👜 Just the Tote \/ Red","offer_id":52358173098264,"sku":null,"price":110.0,"currency_code":"USD","in_stock":true},{"title":"👜 Just the Tote \/ Purple","offer_id":52358173131032,"sku":null,"price":110.0,"currency_code":"USD","in_stock":true},{"title":"👜 Just the Tote \/ Green","offer_id":52358173163800,"sku":null,"price":110.0,"currency_code":"USD","in_stock":true},{"title":"👜 Just the Tote \/ Gray","offer_id":52358173196568,"sku":null,"price":110.0,"currency_code":"USD","in_stock":true},{"title":"👜 Just the Tote \/ White","offer_id":52358173229336,"sku":null,"price":110.0,"currency_code":"USD","in_stock":true},{"title":"🧸 Just the Doll Charm \/ Black","offer_id":52358144065816,"sku":null,"price":59.0,"currency_code":"USD","in_stock":true},{"title":"🧸 Just the Doll Charm \/ Pink","offer_id":52358173262104,"sku":null,"price":110.0,"currency_code":"USD","in_stock":true},{"title":"🧸 Just the Doll Charm \/ Blue","offer_id":52358173294872,"sku":null,"price":110.0,"currency_code":"USD","in_stock":true},{"title":"🧸 Just the Doll Charm \/ Red","offer_id":52358173327640,"sku":null,"price":110.0,"currency_code":"USD","in_stock":true},{"title":"🧸 Just the Doll Charm \/ Purple","offer_id":52358173360408,"sku":null,"price":110.0,"currency_code":"USD","in_stock":true},{"title":"🧸 Just the Doll Charm \/ Green","offer_id":52358173393176,"sku":null,"price":110.0,"currency_code":"USD","in_stock":true},{"title":"🧸 Just the Doll Charm \/ Gray","offer_id":52358173425944,"sku":null,"price":110.0,"currency_code":"USD","in_stock":true},{"title":"🧸 Just the Doll Charm \/ White","offer_id":52358173458712,"sku":null,"price":110.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0759\/7562\/2936\/files\/oody-tote-doll-v9-smaller-charm-2026-07-02.png?v=1783066489"}],"url":"https:\/\/mydollfy.com\/collections\/pet-portrait-bags.oembed","provider":"My Dollfy","version":"1.0","type":"link"}