{"product_id":"gift-a-pet-portrait","title":"Gift a Pet Portrait","description":"\u003cstyle\u003e\n\/* ========================================\n   ALLCUSTOM PRODUCT DESCRIPTION\n   PREMIUM DESIGN SYSTEM - SCOPED STYLES\n   ======================================== *\/\n\/* === CONTAINER \u0026 RESETS === *\/\n.allcustom-product-description,\n.allcustom-product-description * {\n  box-sizing: border-box;\n}\n.allcustom-product-description {\n  width: 100%;\n  max-width: 900px;\n  margin: 0 auto;\n  padding: 0;\n  overflow-x: hidden;\n  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;\n  color: #925957;\n  line-height: 1.8;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n\/* === HERO SECTION === *\/\n.allcustom-pd-hero {\n  background: linear-gradient(135deg, #fdfaf7 0%, #f8f5ed 100%);\n  border-radius: 10px;\n  padding: 30px 28px;\n  margin-bottom: 20px;\n  border: 1px solid rgba(146, 89, 87, 0.12);\n  box-shadow: 0 4px 16px rgba(109, 36, 36, 0.06);\n}\n.allcustom-pd-hero h2 {\n  font-size: 24px;\n  font-weight: 600;\n  color: #6d2424;\n  line-height: 1.3;\n  letter-spacing: -0.01em;\n  margin: 0 0 16px 0;\n  border-bottom: 1px solid rgba(146, 89, 87, 0.15);\n  padding-bottom: 12px;\n}\n.allcustom-pd-hero p {\n  font-size: 16px;\n  color: #925957;\n  line-height: 1.75;\n  margin: 0 0 16px 0;\n}\n.allcustom-pd-hero p:last-child {\n  margin-bottom: 0;\n}\n.allcustom-pd-hero strong {\n  color: #6d2424;\n  font-weight: 600;\n}\n.allcustom-pd-hero em {\n  color: #6d2424;\n  font-style: italic;\n}\n\/* === FEATURE SECTIONS === *\/\n.allcustom-pd-section {\n  background: #ffffff;\n  border-radius: 8px;\n  padding: 24px 26px;\n  margin-bottom: 16px;\n  border: 1px solid rgba(146, 89, 87, 0.12);\n  box-shadow: 0 2px 8px rgba(109, 36, 36, 0.04);\n  transition: all 0.25s ease;\n}\n.allcustom-pd-section:hover {\n  box-shadow: 0 4px 12px rgba(109, 36, 36, 0.08);\n  border-color: rgba(146, 89, 87, 0.18);\n}\n.allcustom-pd-section h3 {\n  font-size: 18px;\n  font-weight: 600;\n  color: #6d2424;\n  line-height: 1.3;\n  margin: 0 0 14px 0;\n  display: flex;\n  align-items: center;\n  gap: 10px;\n}\n.allcustom-pd-icon {\n  width: 20px;\n  height: 20px;\n  flex-shrink: 0;\n  transform: translateZ(0);\n}\n.allcustom-pd-icon svg {\n  width: 100%;\n  height: 100%;\n  display: block;\n}\n.allcustom-pd-section p {\n  font-size: 15px;\n  color: #925957;\n  line-height: 1.75;\n  margin: 0;\n}\n.allcustom-pd-section p + p {\n  margin-top: 12px;\n}\n.allcustom-pd-section ul {\n  margin: 0;\n  padding-left: 22px;\n  list-style: none;\n}\n.allcustom-pd-section ul li {\n  font-size: 15px;\n  color: #925957;\n  line-height: 1.75;\n  margin-bottom: 10px;\n  padding-left: 8px;\n  position: relative;\n}\n.allcustom-pd-section ul li:last-child {\n  margin-bottom: 0;\n}\n.allcustom-pd-section ul li::before {\n  content: '•';\n  position: absolute;\n  left: -14px;\n  color: #6d2424;\n  font-weight: 700;\n  font-size: 18px;\n}\n\/* === NUMBERED STEPS (extends the section list style) === *\/\n.allcustom-pd-section ol.allcustom-pd-steps {\n  margin: 0;\n  padding-left: 26px;\n  list-style: none;\n  counter-reset: allcustom-step;\n}\n.allcustom-pd-section ol.allcustom-pd-steps li {\n  font-size: 15px;\n  color: #925957;\n  line-height: 1.75;\n  margin-bottom: 12px;\n  padding-left: 8px;\n  position: relative;\n  counter-increment: allcustom-step;\n}\n.allcustom-pd-section ol.allcustom-pd-steps li:last-child {\n  margin-bottom: 0;\n}\n.allcustom-pd-section ol.allcustom-pd-steps li::before {\n  content: counter(allcustom-step) '.';\n  position: absolute;\n  left: -18px;\n  color: #6d2424;\n  font-weight: 700;\n  font-size: 15px;\n}\n.allcustom-pd-section strong {\n  color: #6d2424;\n  font-weight: 600;\n}\n\/* === GUARANTEE SECTION === *\/\n.allcustom-pd-guarantee {\n  background: linear-gradient(135deg, #f8f5ed 0%, #fdfaf7 100%);\n  border-radius: 8px;\n  padding: 22px 26px;\n  margin-bottom: 16px;\n  border: 2px solid rgba(109, 36, 36, 0.15);\n  box-shadow: 0 3px 12px rgba(109, 36, 36, 0.08);\n  text-align: center;\n}\n.allcustom-pd-guarantee p {\n  font-size: 16px;\n  font-weight: 600;\n  color: #6d2424;\n  line-height: 1.6;\n  margin: 0;\n}\n\/* === CTA SECTION === *\/\n.allcustom-pd-cta {\n  background: linear-gradient(135deg, #6d2424 0%, #7d3030 100%);\n  border-radius: 10px;\n  padding: 28px 26px;\n  text-align: center;\n  border: 2px solid #6d2424;\n  box-shadow: 0 6px 20px rgba(109, 36, 36, 0.15);\n}\n.allcustom-pd-cta h3 {\n  font-size: 18px;\n  font-weight: 600;\n  font-style: italic;\n  color: #ffffff !important;\n  line-height: 1.5;\n  margin: 0;\n}\n\/* === RESPONSIVE BREAKPOINTS === *\/\n\/* Tablet - Large (≤989px) *\/\n@media (max-width: 989px) {\n  .allcustom-pd-hero {\n    padding: 28px 24px;\n  }\n  .allcustom-pd-hero h2 {\n    font-size: 22px;\n  }\n  .allcustom-pd-section {\n    padding: 22px 24px;\n  }\n  .allcustom-pd-section h3 {\n    font-size: 17px;\n  }\n  .allcustom-pd-guarantee,\n  .allcustom-pd-cta {\n    padding: 20px 24px;\n  }\n}\n\/* Mobile - Standard (≤749px) *\/\n@media (max-width: 749px) {\n  .allcustom-pd-hero {\n    padding: 24px 20px;\n    margin-bottom: 16px;\n  }\n  .allcustom-pd-hero h2 {\n    font-size: 20px;\n    margin-bottom: 14px;\n  }\n  .allcustom-pd-hero p {\n    font-size: 15px;\n  }\n  .allcustom-pd-section {\n    padding: 20px 20px;\n    margin-bottom: 14px;\n  }\n  .allcustom-pd-section h3 {\n    font-size: 16px;\n    gap: 8px;\n  }\n  .allcustom-pd-icon {\n    width: 18px;\n    height: 18px;\n  }\n  .allcustom-pd-section p,\n  .allcustom-pd-section ul li,\n  .allcustom-pd-section ol.allcustom-pd-steps li {\n    font-size: 14px;\n  }\n  .allcustom-pd-guarantee {\n    padding: 18px 20px;\n  }\n  .allcustom-pd-guarantee p {\n    font-size: 15px;\n  }\n  .allcustom-pd-cta {\n    padding: 24px 20px;\n  }\n  .allcustom-pd-cta h3 {\n    font-size: 16px;\n  }\n}\n\/* Mobile - XS (≤480px) *\/\n@media (max-width: 480px) {\n  .allcustom-pd-hero {\n    padding: 22px 16px;\n  }\n  .allcustom-pd-hero h2 {\n    font-size: 19px;\n  }\n  .allcustom-pd-hero p {\n    font-size: 14px;\n  }\n  .allcustom-pd-section {\n    padding: 18px 16px;\n  }\n  .allcustom-pd-section h3 {\n    font-size: 15px;\n  }\n  .allcustom-pd-icon {\n    width: 17px;\n    height: 17px;\n  }\n  .allcustom-pd-section p,\n  .allcustom-pd-section ul li,\n  .allcustom-pd-section ol.allcustom-pd-steps li {\n    font-size: 13px;\n  }\n  .allcustom-pd-guarantee {\n    padding: 16px 16px;\n  }\n  .allcustom-pd-guarantee p {\n    font-size: 14px;\n  }\n  .allcustom-pd-cta {\n    padding: 22px 16px;\n  }\n  .allcustom-pd-cta h3 {\n    font-size: 15px;\n  }\n}\n\/* Mobile - XXS (≤400px) *\/\n@media (max-width: 400px) {\n  .allcustom-pd-hero h2 {\n    font-size: 18px;\n  }\n  .allcustom-pd-section h3 {\n    font-size: 14px;\n  }\n  .allcustom-pd-cta h3 {\n    font-size: 14px;\n  }\n}\n\/* === ACCESSIBILITY === *\/\n@media (prefers-reduced-motion: reduce) {\n  .allcustom-pd-section {\n    transition: none;\n  }\n  .allcustom-pd-icon {\n    transform: none;\n  }\n}\n@media (prefers-contrast: high) {\n  .allcustom-pd-hero,\n  .allcustom-pd-section,\n  .allcustom-pd-guarantee,\n  .allcustom-pd-cta {\n    border-width: 2px;\n  }\n}\n\u003c\/style\u003e\n\u003cdiv class=\"allcustom-product-description\"\u003e\n\u003c!-- HERO DESCRIPTION --\u003e\n\u003cdiv class=\"allcustom-pd-hero\"\u003e\n\u003ch2\u003eGive Them the Portrait. Let Them Choose the Photo.\u003c\/h2\u003e\n\u003cp\u003eYou’d need a good photo of their pet to have a portrait made — and asking for one gives the surprise away.\u003c\/p\u003e\n\u003cp\u003eSo you choose the portrait, write your message, and we do the rest. They upload the photo they love most, watch it become a hand-drawn portrait on screen, and we make it here in our studio.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eThe surprise stays intact. And the portrait is the one they’d have chosen themselves.\u003c\/strong\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- HOW IT WORKS --\u003e\n\u003cdiv class=\"allcustom-pd-section\"\u003e\n\u003ch3\u003e\n\u003cspan class=\"allcustom-pd-icon\"\u003e \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\n          \u003cpath d=\"M20 12v10H4V12\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"#6d2424\"\u003e\u003c\/path\u003e\n          \u003cpath d=\"M2 7h20v5H2z\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"#6d2424\"\u003e\u003c\/path\u003e\n          \u003cpath d=\"M12 22V7\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"#6d2424\"\u003e\u003c\/path\u003e\n          \u003cpath d=\"M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"#6d2424\"\u003e\u003c\/path\u003e\n          \u003cpath d=\"M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"#6d2424\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e \u003c\/span\u003e How it works\u003c\/h3\u003e\n\u003col class=\"allcustom-pd-steps\"\u003e\n\u003cli\u003eChoose the portrait you’d like to give — A3 poster, A4 framed, or A3 framed\u003c\/li\u003e\n\u003cli\u003eAdd their name and email, write your message, and send it now or schedule it for a day you choose\u003c\/li\u003e\n\u003cli\u003eThey receive an email from us, then upload their own photo and watch the portrait appear on screen in seconds\u003c\/li\u003e\n\u003cli\u003eWe make it in our studio and post it out to them\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c!-- WHAT THEY RECEIVE --\u003e\n\u003cdiv class=\"allcustom-pd-section\"\u003e\n\u003ch3\u003e\n\u003cspan class=\"allcustom-pd-icon\"\u003e \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\n          \u003crect rx=\"2\" height=\"16\" width=\"20\" y=\"4\" x=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"#6d2424\"\u003e\u003c\/rect\u003e\n          \u003cpath d=\"M22 7L12 13L2 7\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"#6d2424\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e \u003c\/span\u003e What they receive\u003c\/h3\u003e\n\u003cp\u003eA warm email from us with your message front and centre — not a plain code in a box. It tells them what you’ve given them and walks them through choosing their photo.\u003c\/p\u003e\n\u003cp\u003eSend it straight away, or pick a date and it will arrive that morning.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- DISPLAY OPTIONS --\u003e\n\u003cdiv class=\"allcustom-pd-section\"\u003e\n\u003ch3\u003e\n\u003cspan class=\"allcustom-pd-icon\"\u003e \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\n          \u003crect rx=\"2\" height=\"18\" width=\"18\" y=\"3\" x=\"3\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"#6d2424\"\u003e\u003c\/rect\u003e\n          \u003cpath d=\"M9 3V21\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"#6d2424\"\u003e\u003c\/path\u003e\n          \u003cpath d=\"M15 3V21\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"#6d2424\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e \u003c\/span\u003e Choose what to give\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eA3 poster\u003c\/strong\u003e — ready to frame however they like\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eA4 framed\u003c\/strong\u003e — perfect for a desk or shelf\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eA3 framed\u003c\/strong\u003e — our most chosen\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eIf they’d prefer a larger size, they simply pay the difference.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- MADE TO ORDER --\u003e\n\u003cdiv class=\"allcustom-pd-section\"\u003e\n\u003ch3\u003e\n\u003cspan class=\"allcustom-pd-icon\"\u003e \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\n          \u003cpath d=\"M12 2L15.09 8.26L22 9.27L17 14.14L18.18 21.02L12 17.77L5.82 21.02L7 14.14L2 9.27L8.91 8.26L12 2Z\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke-linecap=\"round\" stroke=\"#6d2424\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e \u003c\/span\u003e Made to order and created just for them\u003c\/h3\u003e\n\u003cp\u003eCreated exactly as they preview it. Hand-checked with care and thoughtfully packaged — and nothing in the parcel shows a price.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- GOOD TO KNOW --\u003e\n\u003cdiv class=\"allcustom-pd-section\"\u003e\n\u003ch3\u003e\n\u003cspan class=\"allcustom-pd-icon\"\u003e \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\n          \u003cpath d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"#6d2424\"\u003e\u003c\/path\u003e\n          \u003cpath d=\"M9 11L12 14L22 4\" stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"#6d2424\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e \u003c\/span\u003e Good to know\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eArrives by email within minutes, or on a date you choose\u003c\/li\u003e\n\u003cli\u003eWorks for any pet\u003c\/li\u003e\n\u003cli\u003eNever expires\u003c\/li\u003e\n\u003cli\u003eThey choose their own photo, so it’s always the right one\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- GUARANTEE --\u003e\n\u003cdiv class=\"allcustom-pd-guarantee\"\u003e\n\u003cp\u003eLove it, or we’ll reprint — no questions asked.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- CTA --\u003e\n\u003cdiv class=\"allcustom-pd-cta\"\u003e\n\u003ch3\u003eGive the portrait they’d have chosen themselves.\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"AllCustom","offers":[{"title":"A3 Poster — $79","offer_id":55491734372674,"sku":null,"price":47.44,"currency_code":"USD","in_stock":true},{"title":"A4 Framed — $109","offer_id":55491734405442,"sku":null,"price":65.45,"currency_code":"USD","in_stock":true},{"title":"A3 Framed — $129","offer_id":55491734438210,"sku":null,"price":77.46,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0904\/3974\/5858\/files\/Untitleddesign-2026-08-01T205706.165.png?v=1785616709","url":"https:\/\/www.allcustom.co\/products\/gift-a-pet-portrait","provider":"AllCustom","version":"1.0","type":"link"}