{"title":"Best Sellers","description":null,"products":[{"product_id":"customsolo-love-you-mom-test-v1","title":"Personalized Acrylic Photo Plaque for Mom — Love You, Mom","description":"\u003cdiv class=\"cs-lb-root\"\u003e\n\u003cstyle\u003e\n.cs-lb-root,.cs-lb-root *{box-sizing:border-box}\n.cs-lb-root *{text-transform:none}\n.cs-lb-root{font-family:-apple-system, BlinkMacSystemFont, 'system-ui', 'SF Pro Text', 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;color:#1d1d1f;font-size:16px;line-height:1.6;margin:0}\n\n\/* break out of the theme's 720px desc column; width = pdp-lookbook-v5 .wrap content box (1200-96=1104) *\/\n@media(min-width:1024px){\n.cs-lb-root{width:min(1104px,100vw - 96px);\nmargin-left:calc(50% - min(552px,50vw - 48px));margin-right:calc(50% - min(552px,50vw - 48px))}\n}\n\n.cs-lb-root .cs-lb-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-display{font-size:52px;line-height:1.05;font-weight:700;letter-spacing:-.025em;margin:20px 0 18px;color:#1d1d1f}\n.cs-lb-root .cs-lb-display .cs-lb-line{display:block}\n.cs-lb-root .cs-lb-lede{font-size:17px;line-height:1.62;color:#707070;max-width:46ch;margin:0}\n\n\/* story lead: single column by default, two columns from 1024px *\/\n.cs-lb-root .cs-lb-lead{margin:0}\n.cs-lb-root .cs-lb-visual{margin:32px 0 0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-visual img{display:block;width:100%;height:auto;aspect-ratio:4\/5;object-fit:cover;border-radius:16px}\n@media(min-width:1024px){\n.cs-lb-root .cs-lb-lead{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}\n.cs-lb-root .cs-lb-visual{margin:0}\n}\n@media(min-width:1024px) and (max-width:1199px){\n.cs-lb-root .cs-lb-display{font-size:44px}\n}\n\n\/* icon row *\/\n.cs-lb-root .cs-lb-iconrow{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}\n.cs-lb-root .cs-lb-ico{width:46px;height:46px;border-radius:50%;background:#f5f5f7;display:flex;align-items:center;justify-content:center}\n.cs-lb-root .cs-lb-iconrow h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-iconrow p{font-size:14px;line-height:1.5;color:#707070;margin:0}\n\n\/* your story card *\/\n.cs-lb-root .cs-lb-storycard{background:#f5f5f7;border-radius:16px;padding:18px;display:flex;gap:18px;align-items:center;margin-top:40px}\n.cs-lb-root .cs-lb-storycard img{width:76px;height:76px;border-radius:10px;object-fit:cover;flex:0 0 76px;display:block}\n.cs-lb-root .cs-lb-storycard .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-storycard .cs-lb-v{font-size:20px;font-weight:600;margin:4px 0 0;color:#1d1d1f}\n.cs-lb-root .cs-lb-storycard .cs-lb-s{font-size:15px;color:#707070;margin:2px 0 0}\n\n\/* buy row (v5 .buyrow) *\/\n.cs-lb-root .cs-lb-buyrow{display:flex;align-items:center;gap:22px;margin-top:26px}\n.cs-lb-root .cs-lb-btn{height:48px;padding:0 28px;border-radius:999px;background:#1d1d1f;color:#fff;\n  font-size:15px;font-weight:500;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;\n  text-decoration:none;transition:opacity .2s}\n.cs-lb-root .cs-lb-btn:hover{opacity:.85;color:#fff}\n.cs-lb-root .cs-lb-btn svg{flex:0 0 16px}\n.cs-lb-root .cs-lb-from{font-size:18px;font-weight:600;color:#1d1d1f}\n\n\/* specs (v5: right after story lead) *\/\n.cs-lb-root .cs-lb-specs{display:grid;grid-template-columns:repeat(4,1fr);margin:88px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec{padding:34px 30px 36px 0;border-right:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec:last-child{border-right:0;padding-right:0}\n.cs-lb-root .cs-lb-spec .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 12px;\n  display:flex;align-items:center;gap:8px}\n.cs-lb-root .cs-lb-spec .cs-lb-v{margin:12px 0 0;font-size:16px;line-height:1.5;color:#1d1d1f}\n\n\/* chapter head *\/\n.cs-lb-root .cs-lb-chaphead{margin-top:96px;margin-bottom:12px;max-width:720px}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:44px;margin:0}\n\n\/* chapters *\/\n\/* closing band (v5 .closing): mist CTA band at the very end of the description.\n   It is wider than the 1104px column (100vw-32 pulled back by half, padding re-centres copy).\n   The -32px \/ +16px offset is deliberate: even if a browser ignores `overflow-x:clip`\n   (pre-Safari-16), the band still stays inside clientWidth, so no horizontal scrollbar.\n   The theme's own full-bleed band is `.cs-pdp-desc.is-band{margin-inline:-120px}` inside\n   `.cs-main{max-width:1440px;padding:0 120px}` -\u003e it spans the whole .cs-main box (1440px).\n   We cannot add a class to that theme element, so we reproduce the same result from inside:\n   the band is 100vw-48px wide (measured: a bare 100vw gives scrollWidth 1433 \u003e clientWidth\n   1425, i.e. a horizontal scrollbar, so we keep 24px of headroom on each side).\n   Do NOT clamp this with `overflow-x:clip` on `.cs-pdp-desc` - that element is only the\n   1200px grid column, so clipping would shrink the band to the column (120px gutters). *\/\n.cs-lb-root .cs-lb-closing{background:#f5f5f7;margin:0;padding:88px 0;text-align:left;\n  width:calc(100vw - 48px);margin-left:calc(50% - 50vw + 24px);margin-right:calc(50% - 50vw + 24px);\n  padding-left:calc(50vw - 50% - 24px);padding-right:calc(50vw - 50% - 24px)}\n.cs-lb-root .cs-lb-closing h2{font-size:40px;line-height:1.1;font-weight:700;letter-spacing:-.02em;\n  color:#1d1d1f;margin:0}\n.cs-lb-root .cs-lb-closing p{font-size:17px;line-height:1.5;color:#707070;margin:14px 0 0}\n.cs-lb-root .cs-lb-closing .cs-lb-btn{margin:28px 0 0;padding:0 30px}\n\n.cs-lb-root .cs-lb-rows{margin:40px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row{display:grid;grid-template-columns:1.24fr .86fr;gap:72px;align-items:center;\n  padding:60px 0;border-bottom:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row:last-child{border-bottom:0}\n.cs-lb-root .cs-lb-media{margin:0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-media img{display:block;width:100%;height:auto;aspect-ratio:1536\/938;object-fit:cover;border-radius:16px}\n.cs-lb-root .cs-lb-copy{max-width:42ch}\n.cs-lb-root .cs-lb-idx{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 16px}\n.cs-lb-root .cs-lb-copy h3{font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-.022em;margin:0 0 14px;color:#1d1d1f;text-transform:none}\n.cs-lb-root .cs-lb-copy p{margin:0;font-size:16px;line-height:1.66;color:#707070}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:2}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n\n\/* hide the theme's own \"The details\" eyebrow (user approved 2026-09-28:\n   both `THE DETAILS` and `The details` are removed, so the two are not duplicated).\n   Scoped to the direct child span of the desc inner -\u003e only this product page is\n   affected, because this \u003cstyle\u003e ships inside this product's body_html. *\/\n.cs-pdp-desc__inner \u003e .cs-pdp-desc__eyebrow{display:none}\n\n\/* trust row (v5 .trust, right after the chapters; the 72px gap below the last\n   chapter comes from v5 `.chapters{padding:96px 0 72px}` and is carried by margin-top here) *\/\n.cs-lb-root .cs-lb-trust{border-top:1px solid #e5e5e5;padding:64px 0;\n  display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin:72px 0 0}\n.cs-lb-root .cs-lb-trust svg{display:block;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust h4{font-size:14px;line-height:1.4;font-weight:500;letter-spacing:0;\n  margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust p{font-size:13px;line-height:1.55;color:#707070;margin:0}\n\n@media(max-width:960px){\n.cs-lb-root .cs-lb-display{font-size:34px}\n.cs-lb-root .cs-lb-chaphead{margin-top:56px;margin-bottom:0}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:30px}\n.cs-lb-root .cs-lb-rows .cs-lb-row{grid-template-columns:1fr;gap:22px;padding:36px 0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n.cs-lb-root .cs-lb-copy{max-width:none}\n.cs-lb-root .cs-lb-copy h3{font-size:24px;margin:0 0 10px}\n.cs-lb-root .cs-lb-copy p{font-size:15px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:repeat(2,1fr);column-gap:22px;margin-top:56px}\n.cs-lb-root .cs-lb-spec{border-right:0;border-bottom:1px solid #e5e5e5;padding:24px 0}\n.cs-lb-root .cs-lb-trust{grid-template-columns:repeat(2,1fr);gap:28px;margin-top:56px;padding:48px 0}\n.cs-lb-root .cs-lb-closing{margin-top:0;padding:64px 0}\n.cs-lb-root .cs-lb-closing h2{font-size:30px}\n.cs-lb-root .cs-lb-closing p{font-size:16px}\n}\n@media(max-width:520px){\n.cs-lb-root .cs-lb-display{font-size:28px}\n.cs-lb-root .cs-lb-lede{font-size:16px}\n.cs-lb-root .cs-lb-iconrow{gap:14px}\n.cs-lb-root .cs-lb-iconrow h4{font-size:11px;letter-spacing:.1em}\n.cs-lb-root .cs-lb-iconrow p{font-size:12px;line-height:1.4}\n.cs-lb-root .cs-lb-copy h3{font-size:21px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:1fr}\n.cs-lb-root .cs-lb-buyrow{flex-wrap:wrap;gap:14px}\n.cs-lb-root .cs-lb-trust{grid-template-columns:1fr;gap:24px}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"cs-lb-lead\"\u003e\n\u003cdiv class=\"cs-lb-leadcopy\"\u003e\n\u003cp class=\"cs-lb-eyebrow\"\u003eMade from your story\u003c\/p\u003e\n\u003cp class=\"cs-lb-display\"\u003e\u003cspan class=\"cs-lb-line\"\u003elove you, mom\u003c\/span\u003e\u003cspan class=\"cs-lb-line\"\u003esaid once, kept forever.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"cs-lb-lede\"\u003eTurn a photo, a name or a date into a keepsake she keeps out all year — not in a drawer. Printed in high resolution behind cast acrylic, standing on a wooden base.\u003c\/p\u003e\n\u003cdiv class=\"cs-lb-iconrow\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\u003e\u003c\/rect\u003e\u003ccircle cx=\"8.5\" cy=\"10\" r=\"1.6\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 17l4.5-4.5 3.5 3.5 3-3L20 17\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003ePhoto\u003c\/h4\u003e\n\u003cp\u003eAdd your favorite photo\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M6 5h12M12 5v14M9 19h6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eName\u003c\/h4\u003e\n\u003cp\u003eAdd a name that matters\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M4 10h16M9 3v4M15 3v4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eDate\u003c\/h4\u003e\n\u003cp\u003eAdd a date or message\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-storycard\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/story-thumb_34fdb39f-f158-4fdb-8d34-7a5c78c27f05.jpg?v=1790577678\" alt=\"Preview of the personalized plaque\" loading=\"lazy\"\u003e\u003cdiv\u003e\n\u003cp class=\"cs-lb-k\"\u003eYour story\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eMom\u003c\/p\u003e\n\u003cp class=\"cs-lb-s\"\u003eAlways with me ♡\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-buyrow\"\u003e\n\u003ca class=\"cs-lb-btn\" href=\"#customizer\"\u003ePersonalize Yours\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M5 12h13M13 6l6 6-6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\u003cspan class=\"cs-lb-from\"\u003eFrom $27.95\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-visual\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/story-visual.jpg?v=1790577690\" alt=\"Mom holding the personalized acrylic plaque\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-specs\"\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M9 4v16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eMaterial\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eCast acrylic, printed with UV-cured inks\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M3 17h18M7 17V8h10v9\"\u003e\u003c\/path\u003e\u003c\/svg\u003eBase\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eA wooden slot base, so it stands on its own\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 9l8-4 8 4v9l-8 4-8-4V9z\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 9l8 4 8-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003ePackaging\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eArrives in a gift box, ready to give\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 16V5M8 9l4-4 4 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 16v2.5A1.5 1.5 0 006.5 20h11a1.5 1.5 0 001.5-1.5V16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eYour photo\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eJPG, PNG or WebP up to 10 MB\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-chaphead\"\u003e\u003cp class=\"cs-lb-display\"\u003eEverything about it, up close.\u003c\/p\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-rows\"\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/detail-01-the-moment.jpg?v=1790574963\" alt=\"Mom opening the gift box at a kitchen table and looking at the plaque\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e01 — The moment\u003c\/p\u003e\n\u003ch3\u003eGive it to her in person if you can.\u003c\/h3\u003e\n\u003cp\u003eIt arrives gift-boxed and ribbon-ready. The first thirty seconds are the whole gift — everything after that is her keeping it out where the light reaches it.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/detail-02-the-home.jpg?v=1790574973\" alt=\"The plaque on a warm bedroom nightstand beside a lamp and eucalyptus\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e02 — The home\u003c\/p\u003e\n\u003ch3\u003eOn her nightstand, not in a drawer.\u003c\/h3\u003e\n\u003cp\u003eA wooden base so it stands where the light actually reaches it — lamplight at night, morning light on the shelf. No frame to clash, no colour to argue with.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/detail-03-the-making.jpg?v=1790574987\" alt=\"Uploading a photo on a phone next to the finished plaque\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e03 — The making\u003c\/p\u003e\n\u003ch3\u003eUpload it. Preview it. Approve it.\u003c\/h3\u003e\n\u003cp\u003eThree steps, and nothing is made until you say so. What you see in the preview is exactly what she unwraps.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/detail-04-the-season.jpg?v=1790574998\" alt=\"The plaque standing in its kraft gift box under a Christmas tree\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e04 — The season\u003c\/p\u003e\n\u003ch3\u003eThe smallest box she opens, kept out all year.\u003c\/h3\u003e\n\u003cp\u003eSome gifts get used. This one gets displayed — and it will still be standing there next December.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-trust\"\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 20s-7-4.3-7-9a4 4 0 017-2.6A4 4 0 0119 11c0 4.7-7 9-7 9z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eEmotion First\u003c\/h4\u003e\n\u003cp\u003eDesigned around a real memory, not a template.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 3l8 3v6c0 4.4-3.3 7.9-8 9-4.7-1.1-8-4.6-8-9V6l8-3z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eLasting Quality\u003c\/h4\u003e\n\u003cp\u003eCast acrylic and UV-cured inks, built to last.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"10\" width=\"16\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 10V7.5a4 4 0 018 0V10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003ePrivacy Always\u003c\/h4\u003e\n\u003cp\u003eYour photos stay yours. Never shared or resold.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 21c5-2.5 8-6 8-11V5l-8-2-8 2v5c0 5 3 8.5 8 11z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8v6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eThoughtful Impact\u003c\/h4\u003e\n\u003cp\u003eMade to order, so nothing is made to be wasted.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-closing\"\u003e\n\u003ch2\u003eMade for their story.\u003c\/h2\u003e\n\u003cp\u003eGifts that capture what matters most.\u003c\/p\u003e\n\u003ca class=\"cs-lb-btn\" href=\"\/collections\/all\"\u003eFind the perfect gift\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\":\"https:\/\/schema.org\",\"@type\":\"Product\",\"name\":\"Personalized Acrylic Photo Plaque for Mom — Love You, Mom\",\"description\":\"Personalized Acrylic Photo Plaque for Mom. Made to order from your photo — you approve a preview before we print. $27.95.\",\"sku\":\"CS-LOVEMOM-V1\",\"brand\":{\"@type\":\"Brand\",\"name\":\"Custom Solo\"},\"category\":\"Acrylic Photo Plaque for Mom\",\"image\":[\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/2ccae9fe-a81c-4ecc-9160-cf5011860d45.png\"],\"offers\":{\"@type\":\"Offer\",\"url\":\"https:\/\/customsolo.com\/products\/customsolo-love-you-mom-test-v1\",\"priceCurrency\":\"USD\",\"price\":\"27.95\",\"availability\":\"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e","brand":"customsolo","offers":[{"title":"Default Title","offer_id":49039439265984,"sku":"CS-LOVEMOM-V1","price":27.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/2ccae9fe-a81c-4ecc-9160-cf5011860d45.png?v=1789714048"},{"product_id":"personalized-christmas-ornament-for-mom-home-is-with-you","title":"Personalized Christmas Ornament for Mom — Home Is With You","description":"\u003c!--\n  CUSTOMSOLO PDP LOOKBOOK - BODY_HTML TEMPLATE v1.0\n  Source: live product page customsolo.com\/products\/customsolo-love-you-mom-test-v1\n          (measured 2026-09-29, body_html 16101 bytes, 6 img slots, 47 text slots)\n  Usage: copy this file, replace every , then PUT as product body_html.\n  RULES\n    - EVERY selector in \u003cstyle\u003e is prefixed .cs-lb-  (protects the customizer). Do not add bare tag selectors.\n    - ENGLISH ONLY. No Chinese anywhere, including CSS comments.\n    - Module order is fixed: lead \/ specs \/ chaphead \/ 4 chapters \/ trust \/ closing.\n    - Image slots are 6 = story-thumb (reuse the customer photo preview, 76x76) + hero (4:5)\n      + 4 chapter images (1536x938). Only 5 images need to be generated.\n    - Do NOT hand-write this HTML from memory. Copy this template.\n--\u003e\n\u003cdiv class=\"cs-lb-root\"\u003e\n\u003cstyle\u003e\n.cs-lb-root,.cs-lb-root *{box-sizing:border-box}\n.cs-lb-root *{text-transform:none}\n.cs-lb-root{font-family:-apple-system, BlinkMacSystemFont, 'system-ui', 'SF Pro Text', 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;color:#1d1d1f;font-size:16px;line-height:1.6;margin:0}\n\n\/* break out of the theme's 720px desc column; width = pdp-lookbook-v5 .wrap content box (1200-96=1104) *\/\n@media(min-width:1024px){\n.cs-lb-root{width:min(1104px,100vw - 96px);\nmargin-left:calc(50% - min(552px,50vw - 48px));margin-right:calc(50% - min(552px,50vw - 48px))}\n}\n\n.cs-lb-root .cs-lb-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-display{font-size:52px;line-height:1.05;font-weight:700;letter-spacing:-.025em;margin:20px 0 18px;color:#1d1d1f}\n.cs-lb-root .cs-lb-display .cs-lb-line{display:block}\n.cs-lb-root .cs-lb-lede{font-size:17px;line-height:1.62;color:#707070;max-width:46ch;margin:0}\n\n\/* story lead: single column by default, two columns from 1024px *\/\n.cs-lb-root .cs-lb-lead{margin:0}\n.cs-lb-root .cs-lb-visual{margin:32px 0 0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-visual img{display:block;width:100%;height:auto;aspect-ratio:4\/5;object-fit:cover;border-radius:16px}\n@media(min-width:1024px){\n.cs-lb-root .cs-lb-lead{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}\n.cs-lb-root .cs-lb-visual{margin:0}\n}\n@media(min-width:1024px) and (max-width:1199px){\n.cs-lb-root .cs-lb-display{font-size:44px}\n}\n\n\/* icon row *\/\n.cs-lb-root .cs-lb-iconrow{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}\n.cs-lb-root .cs-lb-ico{width:46px;height:46px;border-radius:50%;background:#f5f5f7;display:flex;align-items:center;justify-content:center}\n.cs-lb-root .cs-lb-iconrow h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-iconrow p{font-size:14px;line-height:1.5;color:#707070;margin:0}\n\n\/* your story card *\/\n.cs-lb-root .cs-lb-storycard{background:#f5f5f7;border-radius:16px;padding:18px;display:flex;gap:18px;align-items:center;margin-top:40px}\n.cs-lb-root .cs-lb-storycard img{width:76px;height:76px;border-radius:10px;object-fit:cover;flex:0 0 76px;display:block}\n.cs-lb-root .cs-lb-storycard .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-storycard .cs-lb-v{font-size:20px;font-weight:600;margin:4px 0 0;color:#1d1d1f}\n.cs-lb-root .cs-lb-storycard .cs-lb-s{font-size:15px;color:#707070;margin:2px 0 0}\n\n\/* buy row (v5 .buyrow) *\/\n.cs-lb-root .cs-lb-buyrow{display:flex;align-items:center;gap:22px;margin-top:26px}\n.cs-lb-root .cs-lb-btn{height:48px;padding:0 28px;border-radius:999px;background:#1d1d1f;color:#fff;\n  font-size:15px;font-weight:500;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;\n  text-decoration:none;transition:opacity .2s}\n.cs-lb-root .cs-lb-btn:hover{opacity:.85;color:#fff}\n.cs-lb-root .cs-lb-btn svg{flex:0 0 16px}\n.cs-lb-root .cs-lb-from{font-size:18px;font-weight:600;color:#1d1d1f}\n\n\/* specs (v5: right after story lead) *\/\n.cs-lb-root .cs-lb-specs{display:grid;grid-template-columns:repeat(4,1fr);margin:88px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec{padding:34px 30px 36px 0;border-right:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec:last-child{border-right:0;padding-right:0}\n.cs-lb-root .cs-lb-spec .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 12px;\n  display:flex;align-items:center;gap:8px}\n.cs-lb-root .cs-lb-spec .cs-lb-v{margin:12px 0 0;font-size:16px;line-height:1.5;color:#1d1d1f}\n\n\/* chapter head *\/\n.cs-lb-root .cs-lb-chaphead{margin-top:96px;margin-bottom:12px;max-width:720px}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:44px;margin:0}\n\n\/* chapters *\/\n\/* closing band (v5 .closing): mist CTA band at the very end of the description.\n   It is wider than the 1104px column (100vw-32 pulled back by half, padding re-centres copy).\n   The -32px \/ +16px offset is deliberate: even if a browser ignores `overflow-x:clip`\n   (pre-Safari-16), the band still stays inside clientWidth, so no horizontal scrollbar.\n   The theme's own full-bleed band is `.cs-pdp-desc.is-band{margin-inline:-120px}` inside\n   `.cs-main{max-width:1440px;padding:0 120px}` -\u003e it spans the whole .cs-main box (1440px).\n   We cannot add a class to that theme element, so we reproduce the same result from inside:\n   the band is 100vw-48px wide (measured: a bare 100vw gives scrollWidth 1433 \u003e clientWidth\n   1425, i.e. a horizontal scrollbar, so we keep 24px of headroom on each side).\n   Do NOT clamp this with `overflow-x:clip` on `.cs-pdp-desc` - that element is only the\n   1200px grid column, so clipping would shrink the band to the column (120px gutters). *\/\n.cs-lb-root .cs-lb-closing{background:#f5f5f7;margin:0;padding:88px 0;text-align:left;\n  width:calc(100vw - 48px);margin-left:calc(50% - 50vw + 24px);margin-right:calc(50% - 50vw + 24px);\n  padding-left:calc(50vw - 50% - 24px);padding-right:calc(50vw - 50% - 24px)}\n.cs-lb-root .cs-lb-closing h2{font-size:40px;line-height:1.1;font-weight:700;letter-spacing:-.02em;\n  color:#1d1d1f;margin:0}\n.cs-lb-root .cs-lb-closing p{font-size:17px;line-height:1.5;color:#707070;margin:14px 0 0}\n.cs-lb-root .cs-lb-closing .cs-lb-btn{margin:28px 0 0;padding:0 30px}\n\n.cs-lb-root .cs-lb-rows{margin:40px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row{display:grid;grid-template-columns:1.24fr .86fr;gap:72px;align-items:center;\n  padding:60px 0;border-bottom:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row:last-child{border-bottom:0}\n.cs-lb-root .cs-lb-media{margin:0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-media img{display:block;width:100%;height:auto;aspect-ratio:1536\/938;object-fit:cover;border-radius:16px}\n.cs-lb-root .cs-lb-copy{max-width:42ch}\n.cs-lb-root .cs-lb-idx{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 16px}\n.cs-lb-root .cs-lb-copy h3{font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-.022em;margin:0 0 14px;color:#1d1d1f;text-transform:none}\n.cs-lb-root .cs-lb-copy p{margin:0;font-size:16px;line-height:1.66;color:#707070}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:2}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n\n\/* hide the theme's own \"The details\" eyebrow (user approved 2026-09-28:\n   both `THE DETAILS` and `The details` are removed, so the two are not duplicated).\n   Scoped to the direct child span of the desc inner -\u003e only this product page is\n   affected, because this \u003cstyle\u003e ships inside this product's body_html. *\/\n.cs-pdp-desc__inner \u003e .cs-pdp-desc__eyebrow{display:none}\n\n\/* trust row (v5 .trust, right after the chapters; the 72px gap below the last\n   chapter comes from v5 `.chapters{padding:96px 0 72px}` and is carried by margin-top here) *\/\n.cs-lb-root .cs-lb-trust{border-top:1px solid #e5e5e5;padding:64px 0;\n  display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin:72px 0 0}\n.cs-lb-root .cs-lb-trust svg{display:block;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust h4{font-size:14px;line-height:1.4;font-weight:500;letter-spacing:0;\n  margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust p{font-size:13px;line-height:1.55;color:#707070;margin:0}\n\n@media(max-width:960px){\n.cs-lb-root .cs-lb-display{font-size:34px}\n.cs-lb-root .cs-lb-chaphead{margin-top:56px;margin-bottom:0}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:30px}\n.cs-lb-root .cs-lb-rows .cs-lb-row{grid-template-columns:1fr;gap:22px;padding:36px 0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n.cs-lb-root .cs-lb-copy{max-width:none}\n.cs-lb-root .cs-lb-copy h3{font-size:24px;margin:0 0 10px}\n.cs-lb-root .cs-lb-copy p{font-size:15px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:repeat(2,1fr);column-gap:22px;margin-top:56px}\n.cs-lb-root .cs-lb-spec{border-right:0;border-bottom:1px solid #e5e5e5;padding:24px 0}\n.cs-lb-root .cs-lb-trust{grid-template-columns:repeat(2,1fr);gap:28px;margin-top:56px;padding:48px 0}\n.cs-lb-root .cs-lb-closing{margin-top:0;padding:64px 0}\n.cs-lb-root .cs-lb-closing h2{font-size:30px}\n.cs-lb-root .cs-lb-closing p{font-size:16px}\n}\n@media(max-width:520px){\n.cs-lb-root .cs-lb-display{font-size:28px}\n.cs-lb-root .cs-lb-lede{font-size:16px}\n.cs-lb-root .cs-lb-iconrow{gap:14px}\n.cs-lb-root .cs-lb-iconrow h4{font-size:11px;letter-spacing:.1em}\n.cs-lb-root .cs-lb-iconrow p{font-size:12px;line-height:1.4}\n.cs-lb-root .cs-lb-copy h3{font-size:21px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:1fr}\n.cs-lb-root .cs-lb-buyrow{flex-wrap:wrap;gap:14px}\n.cs-lb-root .cs-lb-trust{grid-template-columns:1fr;gap:24px}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"cs-lb-lead\"\u003e\n\u003cdiv class=\"cs-lb-leadcopy\"\u003e\n\u003cp class=\"cs-lb-eyebrow\"\u003ePERSONALIZED CHRISTMAS ORNAMENT FOR MOM\u003c\/p\u003e\n\u003cp class=\"cs-lb-display\"\u003e\u003cspan class=\"cs-lb-line\"\u003ehome stopped being a place\u003c\/span\u003e\u003cspan class=\"cs-lb-line\"\u003ea while ago.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"cs-lb-lede\"\u003eMom and Ellie, and the year underneath. Because home stopped being a place a while ago and became whoever you are standing next to — in front of a tree, in December, pretending the lights are not tangled again. Made to order, printed under the surface, and nothing is made until you have seen the proof.\u003c\/p\u003e\n\u003cdiv class=\"cs-lb-iconrow\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\u003e\u003c\/rect\u003e\u003ccircle cx=\"8.5\" cy=\"10\" r=\"1.6\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 17l4.5-4.5 3.5 3.5 3-3L20 17\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003ePhoto\u003c\/h4\u003e\n\u003cp\u003eThe one from in front of the tree\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M6 5h12M12 5v14M9 19h6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eName\u003c\/h4\u003e\n\u003cp\u003eBoth names, exactly as you want them printed\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M4 10h16M9 3v4M15 3v4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eDate\u003c\/h4\u003e\n\u003cp\u003eThe year, so you remember which Christmas this was\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-storycard\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/story-thumb-orn0004home.jpg\" alt=\"Close-up of the uploaded photo of a mother and her daughter printed inside the clear acrylic ornament for Mom\" loading=\"lazy\"\u003e\u003cdiv\u003e\n\u003cp class=\"cs-lb-k\"\u003eYour story\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eHome is with you\u003c\/p\u003e\n\u003cp class=\"cs-lb-s\"\u003eMom \u0026amp; Ellie · 2026\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-buyrow\"\u003e\n\u003ca class=\"cs-lb-btn\" href=\"#customizer\"\u003ePersonalize Yours\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M5 12h13M13 6l6 6-6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\u003cspan class=\"cs-lb-from\"\u003eFrom $16.95\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-visual\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-mom-orn0004home-main-1.jpg\" alt=\"Two hands offering the personalized Christmas ornament for Mom, held up by its gold cord\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-specs\"\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M9 4v16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eMaterial\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eCast acrylic disc, 5 in (12.7 cm) round\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M3 17h18M7 17V8h10v9\"\u003e\u003c\/path\u003e\u003c\/svg\u003eFinish\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003ePolished rim, print sealed under the surface\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 9l8-4 8 4v9l-8 4-8-4V9z\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 9l8 4 8-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003eHanging\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eGold cord loop included — straight onto the tree, no ribbon required\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 16V5M8 9l4-4 4 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 16v2.5A1.5 1.5 0 006.5 20h11a1.5 1.5 0 001.5-1.5V16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eYour photo\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eJPG, PNG or WebP up to 10 MB\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-chaphead\"\u003e\u003cp class=\"cs-lb-display\"\u003eEverything about it, up close.\u003c\/p\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-rows\"\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-mom-orn0004home-detail-1.jpg\" alt=\"A hand lifting the personalized Christmas ornament for Mom out of its kraft gift box, tissue paper still holding the shape\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e01 — The moment\u003c\/p\u003e\n\u003ch3\u003eThe one she will find while unpacking next year.\u003c\/h3\u003e\n\u003cp\u003eAnd get quiet about. That is the whole point of it.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-mom-orn0004home-detail-2.jpg\" alt=\"The personalized Christmas ornament for Mom hanging on a decorated tree in a bright room with a paper lantern behind\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e02 — The home\u003c\/p\u003e\n\u003ch3\u003eHang it where the tree light lands.\u003c\/h3\u003e\n\u003cp\u003eShe will move it twice, then leave it exactly there for the rest of December.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-mom-orn0004home-detail-3.jpg\" alt=\"A phone showing the uploaded photo of a mother and her daughter beside the finished personalized ornament on linen\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e03 — The making\u003c\/p\u003e\n\u003ch3\u003eBoth names, spelled the way you actually say them.\u003c\/h3\u003e\n\u003cp\u003eMom, Mama, Mum — whatever you call her. We print what you type, and nothing is made until you have seen the proof.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-mom-orn0004home-detail-4.jpg\" alt=\"The personalized Christmas ornament for Mom hanging on a Christmas tree among warm string lights in a dim room\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e04 — The season\u003c\/p\u003e\n\u003ch3\u003eThe lights are tangled again.\u003c\/h3\u003e\n\u003cp\u003eShe will not mention it. She never does.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-trust\"\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 20s-7-4.3-7-9a4 4 0 017-2.6A4 4 0 0119 11c0 4.7-7 9-7 9z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eEmotion First\u003c\/h4\u003e\n\u003cp\u003eDesigned around a real memory, not a template.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 3l8 3v6c0 4.4-3.3 7.9-8 9-4.7-1.1-8-4.6-8-9V6l8-3z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eLasting Quality\u003c\/h4\u003e\n\u003cp\u003eHand-finished acrylic, printed and sealed under the surface, built to last.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"10\" width=\"16\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 10V7.5a4 4 0 018 0V10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003ePrivacy Always\u003c\/h4\u003e\n\u003cp\u003eYour photos stay yours. Never shared or resold.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 21c5-2.5 8-6 8-11V5l-8-2-8 2v5c0 5 3 8.5 8 11z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8v6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eThoughtful Impact\u003c\/h4\u003e\n\u003cp\u003eMade to order, so nothing is made to be wasted.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-closing\"\u003e\n\u003ch2\u003eMade for the one who is home.\u003c\/h2\u003e\n\u003cp\u003eGifts that hold a year, not just a moment.\u003c\/p\u003e\n\u003ca class=\"cs-lb-btn\" href=\"\/collections\/all\"\u003eFind the perfect gift\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\": \"https:\/\/schema.org\/\", \"@type\": \"Product\", \"name\": \"Personalized Christmas Ornament for Mom — Home Is With You\", \"image\": [\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-mom-orn0004home-main-1.jpg\"], \"description\": \"Mom and Ellie, and the year underneath. Because home stopped being a place a while ago and became whoever you are standing next to \u0026mdash; in front of a tree, in December, pretending the lights are not tangled again. Made to order, printed under the surface, and nothing is made until you have seen the proof.\", \"sku\": \"CS-ORN-0004-HOME\", \"brand\": {\"@type\": \"Brand\", \"name\": \"CustomSolo\"}, \"offers\": {\"@type\": \"Offer\", \"url\": \"https:\/\/customsolo.com\/products\/personalized-christmas-ornament-for-mom-home-is-with-you\", \"priceCurrency\": \"USD\", \"price\": \"16.95\", \"availability\": \"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":49071356313792,"sku":"CS-ORN-0004-HOME","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/6c1977c9-519e-4061-80b1-ebb9c8631e83.png?v=1790065207"},{"product_id":"personalized-christmas-ornament-for-grandma-love-passed-down-1","title":"Personalized Christmas Ornament for Grandma — Love, Passed Down","description":"\u003c!--\n  CUSTOMSOLO PDP LOOKBOOK - BODY_HTML TEMPLATE v1.0\n  Source: live product page customsolo.com\/products\/customsolo-love-you-mom-test-v1\n          (measured 2026-09-29, body_html 16101 bytes, 6 img slots, 47 text slots)\n  Usage: copy this file, replace every , then PUT as product body_html.\n  RULES\n    - EVERY selector in \u003cstyle\u003e is prefixed .cs-lb-  (protects the customizer). Do not add bare tag selectors.\n    - ENGLISH ONLY. No Chinese anywhere, including CSS comments.\n    - Module order is fixed: lead \/ specs \/ chaphead \/ 4 chapters \/ trust \/ closing.\n    - Image slots are 6 = story-thumb (reuse the customer photo preview, 76x76) + hero (4:5)\n      + 4 chapter images (1536x938). Only 5 images need to be generated.\n    - Do NOT hand-write this HTML from memory. Copy this template.\n--\u003e\n\u003cdiv class=\"cs-lb-root\"\u003e\n\u003cstyle\u003e\n.cs-lb-root,.cs-lb-root *{box-sizing:border-box}\n.cs-lb-root *{text-transform:none}\n.cs-lb-root{font-family:-apple-system, BlinkMacSystemFont, 'system-ui', 'SF Pro Text', 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;color:#1d1d1f;font-size:16px;line-height:1.6;margin:0}\n\n\/* break out of the theme's 720px desc column; width = pdp-lookbook-v5 .wrap content box (1200-96=1104) *\/\n@media(min-width:1024px){\n.cs-lb-root{width:min(1104px,100vw - 96px);\nmargin-left:calc(50% - min(552px,50vw - 48px));margin-right:calc(50% - min(552px,50vw - 48px))}\n}\n\n.cs-lb-root .cs-lb-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-display{font-size:52px;line-height:1.05;font-weight:700;letter-spacing:-.025em;margin:20px 0 18px;color:#1d1d1f}\n.cs-lb-root .cs-lb-display .cs-lb-line{display:block}\n.cs-lb-root .cs-lb-lede{font-size:17px;line-height:1.62;color:#707070;max-width:46ch;margin:0}\n\n\/* story lead: single column by default, two columns from 1024px *\/\n.cs-lb-root .cs-lb-lead{margin:0}\n.cs-lb-root .cs-lb-visual{margin:32px 0 0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-visual img{display:block;width:100%;height:auto;aspect-ratio:4\/5;object-fit:cover;border-radius:16px}\n@media(min-width:1024px){\n.cs-lb-root .cs-lb-lead{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}\n.cs-lb-root .cs-lb-visual{margin:0}\n}\n@media(min-width:1024px) and (max-width:1199px){\n.cs-lb-root .cs-lb-display{font-size:44px}\n}\n\n\/* icon row *\/\n.cs-lb-root .cs-lb-iconrow{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}\n.cs-lb-root .cs-lb-ico{width:46px;height:46px;border-radius:50%;background:#f5f5f7;display:flex;align-items:center;justify-content:center}\n.cs-lb-root .cs-lb-iconrow h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-iconrow p{font-size:14px;line-height:1.5;color:#707070;margin:0}\n\n\/* your story card *\/\n.cs-lb-root .cs-lb-storycard{background:#f5f5f7;border-radius:16px;padding:18px;display:flex;gap:18px;align-items:center;margin-top:40px}\n.cs-lb-root .cs-lb-storycard img{width:76px;height:76px;border-radius:10px;object-fit:cover;flex:0 0 76px;display:block}\n.cs-lb-root .cs-lb-storycard .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-storycard .cs-lb-v{font-size:20px;font-weight:600;margin:4px 0 0;color:#1d1d1f}\n.cs-lb-root .cs-lb-storycard .cs-lb-s{font-size:15px;color:#707070;margin:2px 0 0}\n\n\/* buy row (v5 .buyrow) *\/\n.cs-lb-root .cs-lb-buyrow{display:flex;align-items:center;gap:22px;margin-top:26px}\n.cs-lb-root .cs-lb-btn{height:48px;padding:0 28px;border-radius:999px;background:#1d1d1f;color:#fff;\n  font-size:15px;font-weight:500;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;\n  text-decoration:none;transition:opacity .2s}\n.cs-lb-root .cs-lb-btn:hover{opacity:.85;color:#fff}\n.cs-lb-root .cs-lb-btn svg{flex:0 0 16px}\n.cs-lb-root .cs-lb-from{font-size:18px;font-weight:600;color:#1d1d1f}\n\n\/* specs (v5: right after story lead) *\/\n.cs-lb-root .cs-lb-specs{display:grid;grid-template-columns:repeat(4,1fr);margin:88px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec{padding:34px 30px 36px 0;border-right:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec:last-child{border-right:0;padding-right:0}\n.cs-lb-root .cs-lb-spec .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 12px;\n  display:flex;align-items:center;gap:8px}\n.cs-lb-root .cs-lb-spec .cs-lb-v{margin:12px 0 0;font-size:16px;line-height:1.5;color:#1d1d1f}\n\n\/* chapter head *\/\n.cs-lb-root .cs-lb-chaphead{margin-top:96px;margin-bottom:12px;max-width:720px}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:44px;margin:0}\n\n\/* chapters *\/\n\/* closing band (v5 .closing): mist CTA band at the very end of the description.\n   It is wider than the 1104px column (100vw-32 pulled back by half, padding re-centres copy).\n   The -32px \/ +16px offset is deliberate: even if a browser ignores `overflow-x:clip`\n   (pre-Safari-16), the band still stays inside clientWidth, so no horizontal scrollbar.\n   The theme's own full-bleed band is `.cs-pdp-desc.is-band{margin-inline:-120px}` inside\n   `.cs-main{max-width:1440px;padding:0 120px}` -\u003e it spans the whole .cs-main box (1440px).\n   We cannot add a class to that theme element, so we reproduce the same result from inside:\n   the band is 100vw-48px wide (measured: a bare 100vw gives scrollWidth 1433 \u003e clientWidth\n   1425, i.e. a horizontal scrollbar, so we keep 24px of headroom on each side).\n   Do NOT clamp this with `overflow-x:clip` on `.cs-pdp-desc` - that element is only the\n   1200px grid column, so clipping would shrink the band to the column (120px gutters). *\/\n.cs-lb-root .cs-lb-closing{background:#f5f5f7;margin:0;padding:88px 0;text-align:left;\n  width:calc(100vw - 48px);margin-left:calc(50% - 50vw + 24px);margin-right:calc(50% - 50vw + 24px);\n  padding-left:calc(50vw - 50% - 24px);padding-right:calc(50vw - 50% - 24px)}\n.cs-lb-root .cs-lb-closing h2{font-size:40px;line-height:1.1;font-weight:700;letter-spacing:-.02em;\n  color:#1d1d1f;margin:0}\n.cs-lb-root .cs-lb-closing p{font-size:17px;line-height:1.5;color:#707070;margin:14px 0 0}\n.cs-lb-root .cs-lb-closing .cs-lb-btn{margin:28px 0 0;padding:0 30px}\n\n.cs-lb-root .cs-lb-rows{margin:40px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row{display:grid;grid-template-columns:1.24fr .86fr;gap:72px;align-items:center;\n  padding:60px 0;border-bottom:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row:last-child{border-bottom:0}\n.cs-lb-root .cs-lb-media{margin:0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-media img{display:block;width:100%;height:auto;aspect-ratio:1536\/938;object-fit:cover;border-radius:16px}\n.cs-lb-root .cs-lb-copy{max-width:42ch}\n.cs-lb-root .cs-lb-idx{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 16px}\n.cs-lb-root .cs-lb-copy h3{font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-.022em;margin:0 0 14px;color:#1d1d1f;text-transform:none}\n.cs-lb-root .cs-lb-copy p{margin:0;font-size:16px;line-height:1.66;color:#707070}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:2}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n\n\/* hide the theme's own \"The details\" eyebrow (user approved 2026-09-28:\n   both `THE DETAILS` and `The details` are removed, so the two are not duplicated).\n   Scoped to the direct child span of the desc inner -\u003e only this product page is\n   affected, because this \u003cstyle\u003e ships inside this product's body_html. *\/\n.cs-pdp-desc__inner \u003e .cs-pdp-desc__eyebrow{display:none}\n\n\/* trust row (v5 .trust, right after the chapters; the 72px gap below the last\n   chapter comes from v5 `.chapters{padding:96px 0 72px}` and is carried by margin-top here) *\/\n.cs-lb-root .cs-lb-trust{border-top:1px solid #e5e5e5;padding:64px 0;\n  display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin:72px 0 0}\n.cs-lb-root .cs-lb-trust svg{display:block;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust h4{font-size:14px;line-height:1.4;font-weight:500;letter-spacing:0;\n  margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust p{font-size:13px;line-height:1.55;color:#707070;margin:0}\n\n@media(max-width:960px){\n.cs-lb-root .cs-lb-display{font-size:34px}\n.cs-lb-root .cs-lb-chaphead{margin-top:56px;margin-bottom:0}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:30px}\n.cs-lb-root .cs-lb-rows .cs-lb-row{grid-template-columns:1fr;gap:22px;padding:36px 0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n.cs-lb-root .cs-lb-copy{max-width:none}\n.cs-lb-root .cs-lb-copy h3{font-size:24px;margin:0 0 10px}\n.cs-lb-root .cs-lb-copy p{font-size:15px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:repeat(2,1fr);column-gap:22px;margin-top:56px}\n.cs-lb-root .cs-lb-spec{border-right:0;border-bottom:1px solid #e5e5e5;padding:24px 0}\n.cs-lb-root .cs-lb-trust{grid-template-columns:repeat(2,1fr);gap:28px;margin-top:56px;padding:48px 0}\n.cs-lb-root .cs-lb-closing{margin-top:0;padding:64px 0}\n.cs-lb-root .cs-lb-closing h2{font-size:30px}\n.cs-lb-root .cs-lb-closing p{font-size:16px}\n}\n@media(max-width:520px){\n.cs-lb-root .cs-lb-display{font-size:28px}\n.cs-lb-root .cs-lb-lede{font-size:16px}\n.cs-lb-root .cs-lb-iconrow{gap:14px}\n.cs-lb-root .cs-lb-iconrow h4{font-size:11px;letter-spacing:.1em}\n.cs-lb-root .cs-lb-iconrow p{font-size:12px;line-height:1.4}\n.cs-lb-root .cs-lb-copy h3{font-size:21px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:1fr}\n.cs-lb-root .cs-lb-buyrow{flex-wrap:wrap;gap:14px}\n.cs-lb-root .cs-lb-trust{grid-template-columns:1fr;gap:24px}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"cs-lb-lead\"\u003e\n\u003cdiv class=\"cs-lb-leadcopy\"\u003e\n\u003cp class=\"cs-lb-eyebrow\"\u003ePERSONALIZED CHRISTMAS ORNAMENT FOR GRANDMA\u003c\/p\u003e\n\u003cp class=\"cs-lb-display\"\u003e\u003cspan class=\"cs-lb-line\"\u003eone recipe, two pairs of hands,\u003c\/span\u003e\u003cspan class=\"cs-lb-line\"\u003etwenty years apart.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"cs-lb-lede\"\u003eTwo hands that learned the same thing from the same person, twenty years apart — and the flour on both of them. Her name, her granddaughter's, and the year, so the tradition finally has a date on it. Printed under the surface of a hand-finished crystal ornament that comes out of the box every December. Made to order, and nothing is made until you have seen the proof.\u003c\/p\u003e\n\u003cdiv class=\"cs-lb-iconrow\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\u003e\u003c\/rect\u003e\u003ccircle cx=\"8.5\" cy=\"10\" r=\"1.6\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 17l4.5-4.5 3.5 3.5 3-3L20 17\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003ePhoto\u003c\/h4\u003e\n\u003cp\u003eThe two of them, mid-recipe\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M6 5h12M12 5v14M9 19h6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eName\u003c\/h4\u003e\n\u003cp\u003eNana and Sophie, both on it\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M4 10h16M9 3v4M15 3v4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eDate\u003c\/h4\u003e\n\u003cp\u003eThe year this one was made\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-storycard\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/story-thumb-orn0006passed.jpg\" alt=\"Close-up of the uploaded photo of a grandmother and her granddaughter baking printed inside the crystal ornament\" loading=\"lazy\"\u003e\u003cdiv\u003e\n\u003cp class=\"cs-lb-k\"\u003eYour story\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eLove, passed down\u003c\/p\u003e\n\u003cp class=\"cs-lb-s\"\u003eNana \u0026amp; Sophie · Christmas 2026\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-buyrow\"\u003e\n\u003ca class=\"cs-lb-btn\" href=\"#customizer\"\u003ePersonalize Yours\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M5 12h13M13 6l6 6-6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\u003cspan class=\"cs-lb-from\"\u003eFrom $16.95\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-visual\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-grandma-orn0006passed-main-1.jpg\" alt=\"Two hands offering the personalized Christmas ornament for Grandma against a snowy window\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-specs\"\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M9 4v16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eMaterial\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eHand-finished crystal, 5 in (12.7 cm) round\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M3 17h18M7 17V8h10v9\"\u003e\u003c\/path\u003e\u003c\/svg\u003eFinish\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eFaceted, diamond-cut rim, print sealed under the surface\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 9l8-4 8 4v9l-8 4-8-4V9z\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 9l8 4 8-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003eHanging\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eRed-and-white striped ribbon loop, ready to hang\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 16V5M8 9l4-4 4 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 16v2.5A1.5 1.5 0 006.5 20h11a1.5 1.5 0 001.5-1.5V16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eYour photo\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eJPG, PNG or WebP up to 10 MB\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-chaphead\"\u003e\u003cp class=\"cs-lb-display\"\u003eEverything about it, up close.\u003c\/p\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-rows\"\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-grandma-orn0006passed-detail-1.jpg\" alt=\"A hand lifting the personalized Christmas ornament for Grandma out of an open kraft gift box by a snowy window\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e01 — The moment\u003c\/p\u003e\n\u003ch3\u003eThe first ornament she gets to hang herself.\u003c\/h3\u003e\n\u003cp\u003eSophie will have it on the tree before the dough is even cold.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-grandma-orn0006passed-detail-2.jpg\" alt=\"The personalized Christmas ornament for Grandma hanging on a decorated tree beside a snowy window at dusk\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e02 — The home\u003c\/p\u003e\n\u003ch3\u003eIn the kitchen window, all December.\u003c\/h3\u003e\n\u003cp\u003eWhich is where the two of them do their best work.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-grandma-orn0006passed-detail-3.jpg\" alt=\"A phone on a linen surface showing the uploaded photo of a grandmother and her granddaughter baking, the finished ornament beside it\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e03 — The making\u003c\/p\u003e\n\u003ch3\u003eSend the photo from the flour-covered afternoon.\u003c\/h3\u003e\n\u003cp\u003eNothing is made until you have seen the proof.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-grandma-orn0006passed-detail-4.jpg\" alt=\"The personalized Christmas ornament for Grandma hanging on a Christmas tree beside a snowy window in warm light\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e04 — The season\u003c\/p\u003e\n\u003ch3\u003eTwenty years from now, she will hang it again.\u003c\/h3\u003e\n\u003cp\u003eAnd she will know exactly who taught her.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-trust\"\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 20s-7-4.3-7-9a4 4 0 017-2.6A4 4 0 0119 11c0 4.7-7 9-7 9z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eEmotion First\u003c\/h4\u003e\n\u003cp\u003eDesigned around a real memory, not a template.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 3l8 3v6c0 4.4-3.3 7.9-8 9-4.7-1.1-8-4.6-8-9V6l8-3z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eLasting Quality\u003c\/h4\u003e\n\u003cp\u003eHand-finished crystal, printed and sealed under the surface, built to last.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"10\" width=\"16\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 10V7.5a4 4 0 018 0V10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003ePrivacy Always\u003c\/h4\u003e\n\u003cp\u003eYour photos stay yours. Never shared or resold.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 21c5-2.5 8-6 8-11V5l-8-2-8 2v5c0 5 3 8.5 8 11z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8v6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eThoughtful Impact\u003c\/h4\u003e\n\u003cp\u003eMade to order, so nothing is made to be wasted.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-closing\"\u003e\n\u003ch2\u003eMade for the one who started it.\u003c\/h2\u003e\n\u003cp\u003eGifts that hold a year, not just a moment.\u003c\/p\u003e\n\u003ca class=\"cs-lb-btn\" href=\"\/collections\/all\"\u003eFind the perfect gift\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\": \"https:\/\/schema.org\/\", \"@type\": \"Product\", \"name\": \"Personalized Christmas Ornament for Grandma — Love, Passed Down\", \"image\": [\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-christmas-ornament-for-grandma-orn0006passed-main-1.jpg\"], \"description\": \"Two hands that learned the same thing from the same person, twenty years apart \u0026mdash; and the flour on both of them. Her name, her granddaughter's, and the year, so the tradition finally has a date on it. Printed under the surface of a hand-finished crystal ornament that comes out of the box every December. Made to order, and nothing is made until you have seen the proof.\", \"sku\": \"CS-ORN-0006-PASSED\", \"brand\": {\"@type\": \"Brand\", \"name\": \"CustomSolo\"}, \"offers\": {\"@type\": \"Offer\", \"url\": \"https:\/\/customsolo.com\/products\/personalized-christmas-ornament-for-grandma-love-passed-down-1\", \"priceCurrency\": \"USD\", \"price\": \"16.95\", \"availability\": \"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50328228954304,"sku":"CS-ORN-0006-PASSED","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/cf1aa369-6043-4c4a-9911-d4e69ec7dbd8.png?v=1790144069"},{"product_id":"personalized-pet-christmas-ornament-our-christmas-has-paws","title":"Personalized Pet Christmas Ornament — Our Christmas Has Paws","description":"\u003c!--\n  CUSTOMSOLO PDP LOOKBOOK - BODY_HTML TEMPLATE v1.0\n  Source: live product page customsolo.com\/products\/customsolo-love-you-mom-test-v1\n          (measured 2026-09-29, body_html 16101 bytes, 6 img slots, 47 text slots)\n  Usage: copy this file, replace every , then PUT as product body_html.\n  RULES\n    - EVERY selector in \u003cstyle\u003e is prefixed .cs-lb-  (protects the customizer). Do not add bare tag selectors.\n    - ENGLISH ONLY. No Chinese anywhere, including CSS comments.\n    - Module order is fixed: lead \/ specs \/ chaphead \/ 4 chapters \/ trust \/ closing.\n    - Image slots are 6 = story-thumb (reuse the customer photo preview, 76x76) + hero (4:5)\n      + 4 chapter images (1536x938). Only 5 images need to be generated.\n    - Do NOT hand-write this HTML from memory. Copy this template.\n--\u003e\n\u003cdiv class=\"cs-lb-root\"\u003e\n\u003cstyle\u003e\n.cs-lb-root,.cs-lb-root *{box-sizing:border-box}\n.cs-lb-root *{text-transform:none}\n.cs-lb-root{font-family:-apple-system, BlinkMacSystemFont, 'system-ui', 'SF Pro Text', 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;color:#1d1d1f;font-size:16px;line-height:1.6;margin:0}\n\n\/* break out of the theme's 720px desc column; width = pdp-lookbook-v5 .wrap content box (1200-96=1104) *\/\n@media(min-width:1024px){\n.cs-lb-root{width:min(1104px,100vw - 96px);\nmargin-left:calc(50% - min(552px,50vw - 48px));margin-right:calc(50% - min(552px,50vw - 48px))}\n}\n\n.cs-lb-root .cs-lb-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-display{font-size:52px;line-height:1.05;font-weight:700;letter-spacing:-.025em;margin:20px 0 18px;color:#1d1d1f}\n.cs-lb-root .cs-lb-display .cs-lb-line{display:block}\n.cs-lb-root .cs-lb-lede{font-size:17px;line-height:1.62;color:#707070;max-width:46ch;margin:0}\n\n\/* story lead: single column by default, two columns from 1024px *\/\n.cs-lb-root .cs-lb-lead{margin:0}\n.cs-lb-root .cs-lb-visual{margin:32px 0 0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-visual img{display:block;width:100%;height:auto;aspect-ratio:4\/5;object-fit:cover;border-radius:16px}\n@media(min-width:1024px){\n.cs-lb-root .cs-lb-lead{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}\n.cs-lb-root .cs-lb-visual{margin:0}\n}\n@media(min-width:1024px) and (max-width:1199px){\n.cs-lb-root .cs-lb-display{font-size:44px}\n}\n\n\/* icon row *\/\n.cs-lb-root .cs-lb-iconrow{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}\n.cs-lb-root .cs-lb-ico{width:46px;height:46px;border-radius:50%;background:#f5f5f7;display:flex;align-items:center;justify-content:center}\n.cs-lb-root .cs-lb-iconrow h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-iconrow p{font-size:14px;line-height:1.5;color:#707070;margin:0}\n\n\/* your story card *\/\n.cs-lb-root .cs-lb-storycard{background:#f5f5f7;border-radius:16px;padding:18px;display:flex;gap:18px;align-items:center;margin-top:40px}\n.cs-lb-root .cs-lb-storycard img{width:76px;height:76px;border-radius:10px;object-fit:cover;flex:0 0 76px;display:block}\n.cs-lb-root .cs-lb-storycard .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-storycard .cs-lb-v{font-size:20px;font-weight:600;margin:4px 0 0;color:#1d1d1f}\n.cs-lb-root .cs-lb-storycard .cs-lb-s{font-size:15px;color:#707070;margin:2px 0 0}\n\n\/* buy row (v5 .buyrow) *\/\n.cs-lb-root .cs-lb-buyrow{display:flex;align-items:center;gap:22px;margin-top:26px}\n.cs-lb-root .cs-lb-btn{height:48px;padding:0 28px;border-radius:999px;background:#1d1d1f;color:#fff;\n  font-size:15px;font-weight:500;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;\n  text-decoration:none;transition:opacity .2s}\n.cs-lb-root .cs-lb-btn:hover{opacity:.85;color:#fff}\n.cs-lb-root .cs-lb-btn svg{flex:0 0 16px}\n.cs-lb-root .cs-lb-from{font-size:18px;font-weight:600;color:#1d1d1f}\n\n\/* specs (v5: right after story lead) *\/\n.cs-lb-root .cs-lb-specs{display:grid;grid-template-columns:repeat(4,1fr);margin:88px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec{padding:34px 30px 36px 0;border-right:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec:last-child{border-right:0;padding-right:0}\n.cs-lb-root .cs-lb-spec .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 12px;\n  display:flex;align-items:center;gap:8px}\n.cs-lb-root .cs-lb-spec .cs-lb-v{margin:12px 0 0;font-size:16px;line-height:1.5;color:#1d1d1f}\n\n\/* chapter head *\/\n.cs-lb-root .cs-lb-chaphead{margin-top:96px;margin-bottom:12px;max-width:720px}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:44px;margin:0}\n\n\/* chapters *\/\n\/* closing band (v5 .closing): mist CTA band at the very end of the description.\n   It is wider than the 1104px column (100vw-32 pulled back by half, padding re-centres copy).\n   The -32px \/ +16px offset is deliberate: even if a browser ignores `overflow-x:clip`\n   (pre-Safari-16), the band still stays inside clientWidth, so no horizontal scrollbar.\n   The theme's own full-bleed band is `.cs-pdp-desc.is-band{margin-inline:-120px}` inside\n   `.cs-main{max-width:1440px;padding:0 120px}` -\u003e it spans the whole .cs-main box (1440px).\n   We cannot add a class to that theme element, so we reproduce the same result from inside:\n   the band is 100vw-48px wide (measured: a bare 100vw gives scrollWidth 1433 \u003e clientWidth\n   1425, i.e. a horizontal scrollbar, so we keep 24px of headroom on each side).\n   Do NOT clamp this with `overflow-x:clip` on `.cs-pdp-desc` - that element is only the\n   1200px grid column, so clipping would shrink the band to the column (120px gutters). *\/\n.cs-lb-root .cs-lb-closing{background:#f5f5f7;margin:0;padding:88px 0;text-align:left;\n  width:calc(100vw - 48px);margin-left:calc(50% - 50vw + 24px);margin-right:calc(50% - 50vw + 24px);\n  padding-left:calc(50vw - 50% - 24px);padding-right:calc(50vw - 50% - 24px)}\n.cs-lb-root .cs-lb-closing h2{font-size:40px;line-height:1.1;font-weight:700;letter-spacing:-.02em;\n  color:#1d1d1f;margin:0}\n.cs-lb-root .cs-lb-closing p{font-size:17px;line-height:1.5;color:#707070;margin:14px 0 0}\n.cs-lb-root .cs-lb-closing .cs-lb-btn{margin:28px 0 0;padding:0 30px}\n\n.cs-lb-root .cs-lb-rows{margin:40px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row{display:grid;grid-template-columns:1.24fr .86fr;gap:72px;align-items:center;\n  padding:60px 0;border-bottom:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row:last-child{border-bottom:0}\n.cs-lb-root .cs-lb-media{margin:0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-media img{display:block;width:100%;height:auto;aspect-ratio:1536\/938;object-fit:cover;border-radius:16px}\n.cs-lb-root .cs-lb-copy{max-width:42ch}\n.cs-lb-root .cs-lb-idx{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 16px}\n.cs-lb-root .cs-lb-copy h3{font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-.022em;margin:0 0 14px;color:#1d1d1f;text-transform:none}\n.cs-lb-root .cs-lb-copy p{margin:0;font-size:16px;line-height:1.66;color:#707070}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:2}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n\n\/* hide the theme's own \"The details\" eyebrow (user approved 2026-09-28:\n   both `THE DETAILS` and `The details` are removed, so the two are not duplicated).\n   Scoped to the direct child span of the desc inner -\u003e only this product page is\n   affected, because this \u003cstyle\u003e ships inside this product's body_html. *\/\n.cs-pdp-desc__inner \u003e .cs-pdp-desc__eyebrow{display:none}\n\n\/* trust row (v5 .trust, right after the chapters; the 72px gap below the last\n   chapter comes from v5 `.chapters{padding:96px 0 72px}` and is carried by margin-top here) *\/\n.cs-lb-root .cs-lb-trust{border-top:1px solid #e5e5e5;padding:64px 0;\n  display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin:72px 0 0}\n.cs-lb-root .cs-lb-trust svg{display:block;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust h4{font-size:14px;line-height:1.4;font-weight:500;letter-spacing:0;\n  margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust p{font-size:13px;line-height:1.55;color:#707070;margin:0}\n\n@media(max-width:960px){\n.cs-lb-root .cs-lb-display{font-size:34px}\n.cs-lb-root .cs-lb-chaphead{margin-top:56px;margin-bottom:0}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:30px}\n.cs-lb-root .cs-lb-rows .cs-lb-row{grid-template-columns:1fr;gap:22px;padding:36px 0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n.cs-lb-root .cs-lb-copy{max-width:none}\n.cs-lb-root .cs-lb-copy h3{font-size:24px;margin:0 0 10px}\n.cs-lb-root .cs-lb-copy p{font-size:15px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:repeat(2,1fr);column-gap:22px;margin-top:56px}\n.cs-lb-root .cs-lb-spec{border-right:0;border-bottom:1px solid #e5e5e5;padding:24px 0}\n.cs-lb-root .cs-lb-trust{grid-template-columns:repeat(2,1fr);gap:28px;margin-top:56px;padding:48px 0}\n.cs-lb-root .cs-lb-closing{margin-top:0;padding:64px 0}\n.cs-lb-root .cs-lb-closing h2{font-size:30px}\n.cs-lb-root .cs-lb-closing p{font-size:16px}\n}\n@media(max-width:520px){\n.cs-lb-root .cs-lb-display{font-size:28px}\n.cs-lb-root .cs-lb-lede{font-size:16px}\n.cs-lb-root .cs-lb-iconrow{gap:14px}\n.cs-lb-root .cs-lb-iconrow h4{font-size:11px;letter-spacing:.1em}\n.cs-lb-root .cs-lb-iconrow p{font-size:12px;line-height:1.4}\n.cs-lb-root .cs-lb-copy h3{font-size:21px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:1fr}\n.cs-lb-root .cs-lb-buyrow{flex-wrap:wrap;gap:14px}\n.cs-lb-root .cs-lb-trust{grid-template-columns:1fr;gap:24px}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"cs-lb-lead\"\u003e\n\u003cdiv class=\"cs-lb-leadcopy\"\u003e\n\u003cp class=\"cs-lb-eyebrow\"\u003ePERSONALIZED PET CHRISTMAS ORNAMENT\u003c\/p\u003e\n\u003cp class=\"cs-lb-display\"\u003e\u003cspan class=\"cs-lb-line\"\u003ethe paper lasted four seconds.\u003c\/span\u003e\u003cspan class=\"cs-lb-line\"\u003ehe was in all of them.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"cs-lb-lede\"\u003eThe dog does not know what Christmas is — he knows everybody is home and something is being opened. His photo, his name, and the year, printed under the surface of hand-finished crystal. Made to order, and nothing is made until you have seen the proof.\u003c\/p\u003e\n\u003cdiv class=\"cs-lb-iconrow\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\u003e\u003c\/rect\u003e\u003ccircle cx=\"8.5\" cy=\"10\" r=\"1.6\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 17l4.5-4.5 3.5 3.5 3-3L20 17\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003ePhoto\u003c\/h4\u003e\n\u003cp\u003eThe one where he is looking at the camera and nobody else is\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M6 5h12M12 5v14M9 19h6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eName\u003c\/h4\u003e\n\u003cp\u003eHis name, spelled the way you actually call him\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M4 10h16M9 3v4M15 3v4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eDate\u003c\/h4\u003e\n\u003cp\u003eThe year, set under the picture\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-storycard\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/story-thumb-orn0009paws.jpg\" alt=\"Close-up of the uploaded photo of a child with a golden retriever printed inside the crystal pet ornament\" loading=\"lazy\"\u003e\u003cdiv\u003e\n\u003cp class=\"cs-lb-k\"\u003eYour story\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eOur christmas has paws\u003c\/p\u003e\n\u003cp class=\"cs-lb-s\"\u003eEmma · 2026\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-buyrow\"\u003e\n\u003ca class=\"cs-lb-btn\" href=\"#customizer\"\u003ePersonalize Yours\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M5 12h13M13 6l6 6-6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\u003cspan class=\"cs-lb-from\"\u003eFrom $16.95\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-visual\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-christmas-ornament-orn0009paws-main-1.jpg\" alt=\"Two hands offering the personalized pet Christmas ornament, held up by its red-and-white candy-cane cord\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-specs\"\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M9 4v16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eMaterial\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eHand-finished crystal, 5 in (12.7 cm) round\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M3 17h18M7 17V8h10v9\"\u003e\u003c\/path\u003e\u003c\/svg\u003eFinish\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eIridescent faceted rim, print sealed under the surface\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 9l8-4 8 4v9l-8 4-8-4V9z\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 9l8 4 8-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003eHanging\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eSilver loop and a red-and-white candy-cane cord, ready to hang\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 16V5M8 9l4-4 4 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 16v2.5A1.5 1.5 0 006.5 20h11a1.5 1.5 0 001.5-1.5V16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eYour photo\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eJPG, PNG or WebP up to 10 MB\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-chaphead\"\u003e\u003cp class=\"cs-lb-display\"\u003eEverything about it, up close.\u003c\/p\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-rows\"\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-christmas-ornament-orn0009paws-detail-1.jpg\" alt=\"A hand lifting the personalized pet Christmas ornament out of its kraft gift box, tissue paper still holding the shape\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e01 — The moment\u003c\/p\u003e\n\u003ch3\u003eHe does not know what Christmas is.\u003c\/h3\u003e\n\u003cp\u003eHe knows everybody is home and something is being opened. That is enough for him.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-christmas-ornament-orn0009paws-detail-2.jpg\" alt=\"The personalized pet Christmas ornament hanging on a decorated tree in a bright living room with a paper lantern behind\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e02 — The home\u003c\/p\u003e\n\u003ch3\u003eHang it low enough for him to inspect.\u003c\/h3\u003e\n\u003cp\u003eHe will check it every morning for the whole of December. Let him.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-christmas-ornament-orn0009paws-detail-3.jpg\" alt=\"A phone showing the uploaded photo of a child with a golden retriever beside the finished personalized pet ornament on linen\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e03 — The making\u003c\/p\u003e\n\u003ch3\u003eA tighter crop keeps both faces sharp.\u003c\/h3\u003e\n\u003cp\u003eAnd yes, we know whose face matters most here. Send the photo and we print it — nothing is made until you have seen the proof.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-christmas-ornament-orn0009paws-detail-4.jpg\" alt=\"The personalized pet Christmas ornament hanging on a Christmas tree among warm string lights in a dim room\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e04 — The season\u003c\/p\u003e\n\u003ch3\u003eHe will knock it off the tree at least once.\u003c\/h3\u003e\n\u003cp\u003eIt is crystal. It will be fine.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-trust\"\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 20s-7-4.3-7-9a4 4 0 017-2.6A4 4 0 0119 11c0 4.7-7 9-7 9z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eEmotion First\u003c\/h4\u003e\n\u003cp\u003eDesigned around a real memory, not a template.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 3l8 3v6c0 4.4-3.3 7.9-8 9-4.7-1.1-8-4.6-8-9V6l8-3z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eLasting Quality\u003c\/h4\u003e\n\u003cp\u003eHand-finished crystal, printed and sealed under the surface, built to last.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"10\" width=\"16\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 10V7.5a4 4 0 018 0V10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003ePrivacy Always\u003c\/h4\u003e\n\u003cp\u003eYour photos stay yours. Never shared or resold.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 21c5-2.5 8-6 8-11V5l-8-2-8 2v5c0 5 3 8.5 8 11z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8v6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eThoughtful Impact\u003c\/h4\u003e\n\u003cp\u003eMade to order, so nothing is made to be wasted.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-closing\"\u003e\n\u003ch2\u003eMade for the one with fur.\u003c\/h2\u003e\n\u003cp\u003eGifts that hold a year, not just a moment.\u003c\/p\u003e\n\u003ca class=\"cs-lb-btn\" href=\"\/collections\/all\"\u003eFind the perfect gift\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\": \"https:\/\/schema.org\/\", \"@type\": \"Product\", \"name\": \"Personalized Pet Christmas Ornament — Our Christmas Has Paws\", \"image\": [\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-christmas-ornament-orn0009paws-main-1.jpg\"], \"description\": \"The dog does not know what Christmas is \u0026mdash; he knows everybody is home and something is being opened. His photo, his name, and the year, printed under the surface of hand-finished crystal. Made to order, and nothing is made until you have seen the proof.\", \"sku\": \"CS-ORN-0009-PAWS\", \"brand\": {\"@type\": \"Brand\", \"name\": \"CustomSolo\"}, \"offers\": {\"@type\": \"Offer\", \"url\": \"https:\/\/customsolo.com\/products\/personalized-pet-christmas-ornament-our-christmas-has-paws\", \"priceCurrency\": \"USD\", \"price\": \"16.95\", \"availability\": \"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50328258838720,"sku":"CS-ORN-0009-PAWS","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/0cbcddc1-e525-46b1-b1b3-ae53a369d2a5.png?v=1790144890"},{"product_id":"personalized-christmas-ornament-for-couples-all-i-want-is-you-1","title":"Personalized Christmas Ornament for Couples — All I Want Is You","description":"\u003ch2\u003eyou were never going to ask for anything else\u003c\/h2\u003e\n\u003cp\u003ethe list you wrote was a formality — there was only ever one thing on it. built around your own photo of the two of you, with your names and the year. every piece is made to order: hand-finished in crystal, sized 5 in — built once, kept for years. preview your exact design before it ships, and make it yours.\u003c\/p\u003e\n\u003ch3\u003eWhat you are getting\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eanother christmas together, made into something you can hang\u003c\/li\u003e\n\u003cli\u003ethe photo where neither of you is trying to pose\u003c\/li\u003e\n\u003cli\u003eboth names and the year, set under the picture\u003c\/li\u003e\n\u003cli\u003ea present that doesn't need explaining when handed over\u003c\/li\u003e\n\u003cli\u003efully personalized — you preview the exact design before it ships\u003c\/li\u003e\n\u003cli\u003ehand-finished crystal build, made to outlast the season\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to personalize it\u003c\/h3\u003e\n\u003cp\u003eUpload the photo, then add your names and the year. A tighter crop keeps you both sharp. We send a preview before anything is made, and nothing goes into production until you approve it.\u003c\/p\u003e\n\u003ch3\u003eGood to know\u003c\/h3\u003e\n\u003cp\u003eSize: 5 in (12.7 cm) | Material: polished glass | Shape: round\u003c\/p\u003e\n\u003cp\u003ePrinted on the flat face, then sealed — the image sits under the surface, so it will not rub off.\u003c\/p\u003e\n\u003cp\u003eTen years of christmases later, this is still the one you look for first.\u003c\/p\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\":\"https:\/\/schema.org\",\"@type\":\"Product\",\"name\":\"Personalized Christmas Ornament for Couples — All I Want Is You\",\"description\":\"Personalized Christmas Ornament for Couples in polished glass. Made to order from your photo — you approve a preview before we print. $16.95.\",\"sku\":\"CS-ORN-0007-WANT\",\"brand\":{\"@type\":\"Brand\",\"name\":\"Custom Solo\"},\"category\":\"Christmas Ornament for Couples\",\"image\":[\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/697ee845-065a-4905-831c-6918fc63b117.png\"],\"offers\":{\"@type\":\"Offer\",\"url\":\"https:\/\/customsolo.com\/products\/personalized-christmas-ornament-for-couples-all-i-want-is-you-1\",\"priceCurrency\":\"USD\",\"price\":\"16.95\",\"availability\":\"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50328259559616,"sku":"CS-ORN-0007-WANT","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/697ee845-065a-4905-831c-6918fc63b117.png?v=1790145020"},{"product_id":"personalized-memorial-ornament-for-dad-still-beside-me","title":"Personalized Memorial Ornament for Dad — Still Beside Me","description":"\u003ch2\u003edad never left. he just got quieter about it\u003c\/h2\u003e\n\u003cp\u003ehis name, his years, and the one red bird that always turns up when you least expect it — hung on the tree where the room can see it. made for the christmas where one chair stays empty and one person somehow doesn't. every piece is made to order: hand-finished in crystal, sized 5 in — built once, kept for years. preview your exact design before it ships, and make it yours.\u003c\/p\u003e\n\u003ch3\u003eWhat you are getting\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003ea place on the tree for the dad who should be here\u003c\/li\u003e\n\u003cli\u003ehis name and his dates, printed clean and steady\u003c\/li\u003e\n\u003cli\u003esomething that lets the family say his name without a speech\u003c\/li\u003e\n\u003cli\u003ethe ornament the kids will remember hanging every year\u003c\/li\u003e\n\u003cli\u003efully personalized — you preview the exact design before it ships\u003c\/li\u003e\n\u003cli\u003ehand-finished crystal build, made to outlast the season\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to personalize it\u003c\/h3\u003e\n\u003cp\u003eUpload the photo, then add the name and the dates you want shown. A square or close-cropped image works better than a wide shot. We send a preview before anything is made, and nothing goes into production until you approve it.\u003c\/p\u003e\n\u003ch3\u003eGood to know\u003c\/h3\u003e\n\u003cp\u003eSize: 5 in (12.7 cm) | Material: polished glass | Shape: round\u003c\/p\u003e\n\u003cp\u003ePrinted on the flat face, then sealed — the image sits under the surface, so it will not rub off.\u003c\/p\u003e\n\u003cp\u003eSomebody will say \"that's him\" before anyone says merry christmas.\u003c\/p\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\":\"https:\/\/schema.org\",\"@type\":\"Product\",\"name\":\"Personalized Memorial Ornament for Dad — Still Beside Me\",\"description\":\"Personalized Memorial Ornament for Dad in polished glass. Made to order from your photo — you approve a preview before we print. $16.95.\",\"sku\":\"CS-MEM-0002-STILL\",\"brand\":{\"@type\":\"Brand\",\"name\":\"Custom Solo\"},\"category\":\"Memorial Ornament for Dad\",\"image\":[\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/c65cac0b-b7c3-4910-9dce-01e0bb38fd84.png\"],\"offers\":{\"@type\":\"Offer\",\"url\":\"https:\/\/customsolo.com\/products\/personalized-memorial-ornament-for-dad-still-beside-me\",\"priceCurrency\":\"USD\",\"price\":\"16.95\",\"availability\":\"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50328260378816,"sku":"CS-MEM-0002-STILL","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/c65cac0b-b7c3-4910-9dce-01e0bb38fd84.png?v=1790145386"},{"product_id":"personalized-pet-memorial-ornament-always-my-good-dog","title":"Personalized Pet Memorial Ornament — Always My Good Dog","description":"\u003ch2\u003ethey don't teach \"good boy\" in any language. he knew it anyway\u003c\/h2\u003e\n\u003cp\u003ethe leash by the door is still there. so is the spot on the rug. this one carries his photo, his name, and the two years that were never going to be enough — built around your own picture of him. every piece is made to order: hand-finished in crystal, sized 5 in — built once, kept for years. preview your exact design before it ships, and make it yours.\u003c\/p\u003e\n\u003ch3\u003eWhat you are getting\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehis name, and the years, set under the picture\u003c\/li\u003e\n\u003cli\u003ethe photo where his ears are wrong and it's perfect\u003c\/li\u003e\n\u003cli\u003ealways my good dog — said once a year, out loud, on purpose\u003c\/li\u003e\n\u003cli\u003ehanging at the front of the tree, where he'd have knocked it\u003c\/li\u003e\n\u003cli\u003efully personalized — you preview the exact design before it ships\u003c\/li\u003e\n\u003cli\u003ehand-finished crystal build, made to outlast the season\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to personalize it\u003c\/h3\u003e\n\u003cp\u003eUpload his photo, then add the name and the years if you want them. A tight crop on his face works best — a blurry muzzle is nobody's favourite photo. We send a preview before anything is made, and nothing goes into production until you approve it.\u003c\/p\u003e\n\u003ch3\u003eGood to know\u003c\/h3\u003e\n\u003cp\u003eSize: 5 in (12.7 cm) | Material: polished glass | Shape: round\u003c\/p\u003e\n\u003cp\u003ePrinted on the flat face, then sealed — the image sits under the surface, so it will not rub off.\u003c\/p\u003e\n\u003cp\u003eWarning: this is the ornament somebody touches every single year.\u003c\/p\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\":\"https:\/\/schema.org\",\"@type\":\"Product\",\"name\":\"Personalized Pet Memorial Ornament — Always My Good Dog\",\"description\":\"Personalized Pet Memorial Ornament in polished glass. Made to order from your photo — you approve a preview before we print. $16.95.\",\"sku\":\"CS-ORN-0009-DOGBOY\",\"brand\":{\"@type\":\"Brand\",\"name\":\"Custom Solo\"},\"category\":\"Pet Memorial Ornament\",\"image\":[\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/cb2e45fd-2e89-47d4-8a66-567cc24fecc4.png\"],\"offers\":{\"@type\":\"Offer\",\"url\":\"https:\/\/customsolo.com\/products\/personalized-pet-memorial-ornament-always-my-good-dog\",\"priceCurrency\":\"USD\",\"price\":\"16.95\",\"availability\":\"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50332131295424,"sku":"CS-ORN-0009-DOGBOY","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/cb2e45fd-2e89-47d4-8a66-567cc24fecc4.png?v=1790168811"},{"product_id":"personalized-baby-first-christmas-ornament-christmas-grew-by-one","title":"Personalized Baby First Christmas Ornament — Christmas Grew by One","description":"\u003c!--\n  CUSTOMSOLO PDP LOOKBOOK - BODY_HTML TEMPLATE v1.0\n  Source: live product page customsolo.com\/products\/customsolo-love-you-mom-test-v1\n          (measured 2026-09-29, body_html 16101 bytes, 6 img slots, 47 text slots)\n  Usage: copy this file, replace every , then PUT as product body_html.\n  RULES\n    - EVERY selector in \u003cstyle\u003e is prefixed .cs-lb-  (protects the customizer). Do not add bare tag selectors.\n    - ENGLISH ONLY. No Chinese anywhere, including CSS comments.\n    - Module order is fixed: lead \/ specs \/ chaphead \/ 4 chapters \/ trust \/ closing.\n    - Image slots are 6 = story-thumb (reuse the customer photo preview, 76x76) + hero (4:5)\n      + 4 chapter images (1536x938). Only 5 images need to be generated.\n    - Do NOT hand-write this HTML from memory. Copy this template.\n--\u003e\n\u003cdiv class=\"cs-lb-root\"\u003e\n\u003cstyle\u003e\n.cs-lb-root,.cs-lb-root *{box-sizing:border-box}\n.cs-lb-root *{text-transform:none}\n.cs-lb-root{font-family:-apple-system, BlinkMacSystemFont, 'system-ui', 'SF Pro Text', 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;color:#1d1d1f;font-size:16px;line-height:1.6;margin:0}\n\n\/* break out of the theme's 720px desc column; width = pdp-lookbook-v5 .wrap content box (1200-96=1104) *\/\n@media(min-width:1024px){\n.cs-lb-root{width:min(1104px,100vw - 96px);\nmargin-left:calc(50% - min(552px,50vw - 48px));margin-right:calc(50% - min(552px,50vw - 48px))}\n}\n\n.cs-lb-root .cs-lb-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-display{font-size:52px;line-height:1.05;font-weight:700;letter-spacing:-.025em;margin:20px 0 18px;color:#1d1d1f}\n.cs-lb-root .cs-lb-display .cs-lb-line{display:block}\n.cs-lb-root .cs-lb-lede{font-size:17px;line-height:1.62;color:#707070;max-width:46ch;margin:0}\n\n\/* story lead: single column by default, two columns from 1024px *\/\n.cs-lb-root .cs-lb-lead{margin:0}\n.cs-lb-root .cs-lb-visual{margin:32px 0 0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-visual img{display:block;width:100%;height:auto;aspect-ratio:4\/5;object-fit:cover;border-radius:16px}\n@media(min-width:1024px){\n.cs-lb-root .cs-lb-lead{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}\n.cs-lb-root .cs-lb-visual{margin:0}\n}\n@media(min-width:1024px) and (max-width:1199px){\n.cs-lb-root .cs-lb-display{font-size:44px}\n}\n\n\/* icon row *\/\n.cs-lb-root .cs-lb-iconrow{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}\n.cs-lb-root .cs-lb-ico{width:46px;height:46px;border-radius:50%;background:#f5f5f7;display:flex;align-items:center;justify-content:center}\n.cs-lb-root .cs-lb-iconrow h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-iconrow p{font-size:14px;line-height:1.5;color:#707070;margin:0}\n\n\/* your story card *\/\n.cs-lb-root .cs-lb-storycard{background:#f5f5f7;border-radius:16px;padding:18px;display:flex;gap:18px;align-items:center;margin-top:40px}\n.cs-lb-root .cs-lb-storycard img{width:76px;height:76px;border-radius:10px;object-fit:cover;flex:0 0 76px;display:block}\n.cs-lb-root .cs-lb-storycard .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-storycard .cs-lb-v{font-size:20px;font-weight:600;margin:4px 0 0;color:#1d1d1f}\n.cs-lb-root .cs-lb-storycard .cs-lb-s{font-size:15px;color:#707070;margin:2px 0 0}\n\n\/* buy row (v5 .buyrow) *\/\n.cs-lb-root .cs-lb-buyrow{display:flex;align-items:center;gap:22px;margin-top:26px}\n.cs-lb-root .cs-lb-btn{height:48px;padding:0 28px;border-radius:999px;background:#1d1d1f;color:#fff;\n  font-size:15px;font-weight:500;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;\n  text-decoration:none;transition:opacity .2s}\n.cs-lb-root .cs-lb-btn:hover{opacity:.85;color:#fff}\n.cs-lb-root .cs-lb-btn svg{flex:0 0 16px}\n.cs-lb-root .cs-lb-from{font-size:18px;font-weight:600;color:#1d1d1f}\n\n\/* specs (v5: right after story lead) *\/\n.cs-lb-root .cs-lb-specs{display:grid;grid-template-columns:repeat(4,1fr);margin:88px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec{padding:34px 30px 36px 0;border-right:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec:last-child{border-right:0;padding-right:0}\n.cs-lb-root .cs-lb-spec .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 12px;\n  display:flex;align-items:center;gap:8px}\n.cs-lb-root .cs-lb-spec .cs-lb-v{margin:12px 0 0;font-size:16px;line-height:1.5;color:#1d1d1f}\n\n\/* chapter head *\/\n.cs-lb-root .cs-lb-chaphead{margin-top:96px;margin-bottom:12px;max-width:720px}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:44px;margin:0}\n\n\/* chapters *\/\n\/* closing band (v5 .closing): mist CTA band at the very end of the description.\n   It is wider than the 1104px column (100vw-32 pulled back by half, padding re-centres copy).\n   The -32px \/ +16px offset is deliberate: even if a browser ignores `overflow-x:clip`\n   (pre-Safari-16), the band still stays inside clientWidth, so no horizontal scrollbar.\n   The theme's own full-bleed band is `.cs-pdp-desc.is-band{margin-inline:-120px}` inside\n   `.cs-main{max-width:1440px;padding:0 120px}` -\u003e it spans the whole .cs-main box (1440px).\n   We cannot add a class to that theme element, so we reproduce the same result from inside:\n   the band is 100vw-48px wide (measured: a bare 100vw gives scrollWidth 1433 \u003e clientWidth\n   1425, i.e. a horizontal scrollbar, so we keep 24px of headroom on each side).\n   Do NOT clamp this with `overflow-x:clip` on `.cs-pdp-desc` - that element is only the\n   1200px grid column, so clipping would shrink the band to the column (120px gutters). *\/\n.cs-lb-root .cs-lb-closing{background:#f5f5f7;margin:0;padding:88px 0;text-align:left;\n  width:calc(100vw - 48px);margin-left:calc(50% - 50vw + 24px);margin-right:calc(50% - 50vw + 24px);\n  padding-left:calc(50vw - 50% - 24px);padding-right:calc(50vw - 50% - 24px)}\n.cs-lb-root .cs-lb-closing h2{font-size:40px;line-height:1.1;font-weight:700;letter-spacing:-.02em;\n  color:#1d1d1f;margin:0}\n.cs-lb-root .cs-lb-closing p{font-size:17px;line-height:1.5;color:#707070;margin:14px 0 0}\n.cs-lb-root .cs-lb-closing .cs-lb-btn{margin:28px 0 0;padding:0 30px}\n\n.cs-lb-root .cs-lb-rows{margin:40px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row{display:grid;grid-template-columns:1.24fr .86fr;gap:72px;align-items:center;\n  padding:60px 0;border-bottom:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row:last-child{border-bottom:0}\n.cs-lb-root .cs-lb-media{margin:0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-media img{display:block;width:100%;height:auto;aspect-ratio:1536\/938;object-fit:cover;border-radius:16px}\n.cs-lb-root .cs-lb-copy{max-width:42ch}\n.cs-lb-root .cs-lb-idx{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 16px}\n.cs-lb-root .cs-lb-copy h3{font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-.022em;margin:0 0 14px;color:#1d1d1f;text-transform:none}\n.cs-lb-root .cs-lb-copy p{margin:0;font-size:16px;line-height:1.66;color:#707070}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:2}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n\n\/* hide the theme's own \"The details\" eyebrow (user approved 2026-09-28:\n   both `THE DETAILS` and `The details` are removed, so the two are not duplicated).\n   Scoped to the direct child span of the desc inner -\u003e only this product page is\n   affected, because this \u003cstyle\u003e ships inside this product's body_html. *\/\n.cs-pdp-desc__inner \u003e .cs-pdp-desc__eyebrow{display:none}\n\n\/* trust row (v5 .trust, right after the chapters; the 72px gap below the last\n   chapter comes from v5 `.chapters{padding:96px 0 72px}` and is carried by margin-top here) *\/\n.cs-lb-root .cs-lb-trust{border-top:1px solid #e5e5e5;padding:64px 0;\n  display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin:72px 0 0}\n.cs-lb-root .cs-lb-trust svg{display:block;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust h4{font-size:14px;line-height:1.4;font-weight:500;letter-spacing:0;\n  margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust p{font-size:13px;line-height:1.55;color:#707070;margin:0}\n\n@media(max-width:960px){\n.cs-lb-root .cs-lb-display{font-size:34px}\n.cs-lb-root .cs-lb-chaphead{margin-top:56px;margin-bottom:0}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:30px}\n.cs-lb-root .cs-lb-rows .cs-lb-row{grid-template-columns:1fr;gap:22px;padding:36px 0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n.cs-lb-root .cs-lb-copy{max-width:none}\n.cs-lb-root .cs-lb-copy h3{font-size:24px;margin:0 0 10px}\n.cs-lb-root .cs-lb-copy p{font-size:15px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:repeat(2,1fr);column-gap:22px;margin-top:56px}\n.cs-lb-root .cs-lb-spec{border-right:0;border-bottom:1px solid #e5e5e5;padding:24px 0}\n.cs-lb-root .cs-lb-trust{grid-template-columns:repeat(2,1fr);gap:28px;margin-top:56px;padding:48px 0}\n.cs-lb-root .cs-lb-closing{margin-top:0;padding:64px 0}\n.cs-lb-root .cs-lb-closing h2{font-size:30px}\n.cs-lb-root .cs-lb-closing p{font-size:16px}\n}\n@media(max-width:520px){\n.cs-lb-root .cs-lb-display{font-size:28px}\n.cs-lb-root .cs-lb-lede{font-size:16px}\n.cs-lb-root .cs-lb-iconrow{gap:14px}\n.cs-lb-root .cs-lb-iconrow h4{font-size:11px;letter-spacing:.1em}\n.cs-lb-root .cs-lb-iconrow p{font-size:12px;line-height:1.4}\n.cs-lb-root .cs-lb-copy h3{font-size:21px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:1fr}\n.cs-lb-root .cs-lb-buyrow{flex-wrap:wrap;gap:14px}\n.cs-lb-root .cs-lb-trust{grid-template-columns:1fr;gap:24px}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"cs-lb-lead\"\u003e\n\u003cdiv class=\"cs-lb-leadcopy\"\u003e\n\u003cp class=\"cs-lb-eyebrow\"\u003ePERSONALIZED BABY FIRST CHRISTMAS ORNAMENT\u003c\/p\u003e\n\u003cp class=\"cs-lb-display\"\u003e\u003cspan class=\"cs-lb-line\"\u003eChristmas grew by one\u003c\/span\u003e\u003cspan class=\"cs-lb-line\"\u003eand it will never be this small again\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"cs-lb-lede\"\u003eA personalized baby first Christmas ornament built around one photo from his first December — printed inside crystal, with his name and the year set underneath. Made to be hung low, kept for good.\u003c\/p\u003e\n\u003cdiv class=\"cs-lb-iconrow\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\u003e\u003c\/rect\u003e\u003ccircle cx=\"8.5\" cy=\"10\" r=\"1.6\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 17l4.5-4.5 3.5 3.5 3-3L20 17\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003ePhoto\u003c\/h4\u003e\n\u003cp\u003eThe one where he's asleep and it doesn't matter\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M6 5h12M12 5v14M9 19h6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eName\u003c\/h4\u003e\n\u003cp\u003ePicked before he could say it back\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M4 10h16M9 3v4M15 3v4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eDate\u003c\/h4\u003e\n\u003cp\u003eThe year the tree had one more name on it\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-storycard\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/story-thumb.jpg\" alt=\"Close-up of the uploaded photo printed on the crystal ornament\" loading=\"lazy\"\u003e\u003cdiv\u003e\n\u003cp class=\"cs-lb-k\"\u003eYour story\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eEmma · 2026\u003c\/p\u003e\n\u003cp class=\"cs-lb-s\"\u003eChristmas grew by one\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-buyrow\"\u003e\n\u003ca class=\"cs-lb-btn\" href=\"#customizer\"\u003ePersonalize Yours\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M5 12h13M13 6l6 6-6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\u003cspan class=\"cs-lb-from\"\u003eFrom $16.95\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-visual\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-baby-first-christmas-ornament-orn0005bfirst-main-1.jpg\" alt=\"Personalized Baby First Christmas Ornament handed over, held up by its candy-cane cord in daylight\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-specs\"\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M9 4v16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eMaterial\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003ePolished crystal, printed and sealed under the surface\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M3 17h18M7 17V8h10v9\"\u003e\u003c\/path\u003e\u003c\/svg\u003eSize\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003e5 in (12.7 cm) round, the same disc across every design\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 9l8-4 8 4v9l-8 4-8-4V9z\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 9l8 4 8-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003eHanging\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eRed-and-white candy-cane cord, ready to hang the day it arrives\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 16V5M8 9l4-4 4 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 16v2.5A1.5 1.5 0 006.5 20h11a1.5 1.5 0 001.5-1.5V16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eYour photo\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eJPG, PNG or WebP up to 10 MB — background removal available\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-chaphead\"\u003e\u003cp class=\"cs-lb-display\"\u003eEverything about it, up close.\u003c\/p\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-rows\"\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-baby-first-christmas-ornament-orn0005bfirst-detail-1.jpg\" alt=\"Personalized Baby First Christmas Ornament held in both hands the moment a gift box is opened\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e01 — The moment\u003c\/p\u003e\n\u003ch3\u003eThe first thirty seconds are the whole gift.\u003c\/h3\u003e\n\u003cp\u003eHe won't remember this December. You will — the moment the box came open and his first Christmas ornament went up to the window light, with the morning still ahead of you and nothing else to do.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-baby-first-christmas-ornament-orn0005bfirst-detail-2.jpg\" alt=\"Personalized Baby First Christmas Ornament hanging on a nursery door in warm evening lamplight\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e02 — The home\u003c\/p\u003e\n\u003ch3\u003eOn his door at night, not in a drawer.\u003c\/h3\u003e\n\u003cp\u003eA crystal disc on a candy-cane cord, made to hang where you already pass a hundred times a day — the nursery door now, the family tree later, his own tree the year he asks for one. That is where a keepsake earns its keep.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-baby-first-christmas-ornament-orn0005bfirst-detail-3.jpg\" alt=\"Personalized Baby First Christmas Ornament beside the phone showing the photo it was printed from\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e03 — The making\u003c\/p\u003e\n\u003ch3\u003eUpload it. Preview it. Approve it.\u003c\/h3\u003e\n\u003cp\u003eChoose the photo, type his name and the year, and see the exact design before anything is made. Prefer the crystal to stay clear behind him? Background removal is one tap, and the room you hang it in shows straight through.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-baby-first-christmas-ornament-orn0005bfirst-detail-4.jpg\" alt=\"Personalized Baby First Christmas Ornament hanging low on a fir tree lit with warm fairy lights\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e04 — The season\u003c\/p\u003e\n\u003ch3\u003eHang it low, where a small hand can find it.\u003c\/h3\u003e\n\u003cp\u003eThis is the one that starts the collection. Every December after this one gets a new disc beside it — and in three years he will reach for this exact one first, because it is the only one that has always been there.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-trust\"\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 20s-7-4.3-7-9a4 4 0 017-2.6A4 4 0 0119 11c0 4.7-7 9-7 9z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eEmotion First\u003c\/h4\u003e\n\u003cp\u003eDesigned around a real memory, not a template.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 3l8 3v6c0 4.4-3.3 7.9-8 9-4.7-1.1-8-4.6-8-9V6l8-3z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eLasting Quality\u003c\/h4\u003e\n\u003cp\u003eHand-finished crystal, printed to outlast the season.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"10\" width=\"16\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 10V7.5a4 4 0 018 0V10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003ePrivacy Always\u003c\/h4\u003e\n\u003cp\u003eYour photos stay yours. Never shared or resold.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 21c5-2.5 8-6 8-11V5l-8-2-8 2v5c0 5 3 8.5 8 11z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8v6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eThoughtful Impact\u003c\/h4\u003e\n\u003cp\u003eMade to order, so nothing is made to be wasted.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-closing\"\u003e\n\u003ch2\u003eMade to be kept, not packed away.\u003c\/h2\u003e\n\u003cp\u003ePersonalized keepsakes built from your own photos — printed, hand-finished and checked before they ship.\u003c\/p\u003e\n\u003ca class=\"cs-lb-btn\" href=\"\/collections\/all\"\u003eFind the perfect gift\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\": \"https:\/\/schema.org\/\", \"@type\": \"Product\", \"name\": \"Personalized Baby First Christmas Ornament — Christmas Grew by One\", \"image\": [\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-baby-first-christmas-ornament-orn0005bfirst-main-1.jpg\"], \"description\": \"A personalized baby first Christmas ornament built around one photo from his first December — printed inside crystal, with his name and the year set underneath. Made to be hung low, kept for good.\", \"sku\": \"CS-ORN-0005B-FIRST\", \"brand\": {\"@type\": \"Brand\", \"name\": \"CustomSolo\"}, \"offers\": {\"@type\": \"Offer\", \"url\": \"https:\/\/customsolo.com\/products\/personalized-baby-first-christmas-ornament-christmas-grew-by-one\", \"priceCurrency\": \"USD\", \"price\": \"16.95\", \"availability\": \"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50332178841792,"sku":"CS-ORN-0005B-FIRST","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/4ccc6bdf-c669-4528-8b13-838da47d0bf3.png?v=1790169072"},{"product_id":"personalized-memorial-ornament-for-grandma-love-goes-with-me","title":"Personalized Memorial Ornament for Grandma — Love Goes With Me","description":"\u003ch2\u003ea ginkgo leaf for the woman who never once asked for credit\u003c\/h2\u003e\n\u003cp\u003eshe made the gravy, remembered the sizes, and somehow got the one thing nobody mentioned. this carries her photo, her name, and a ginkgo leaf — the tree that outlives almost everything. every piece is made to order: hand-finished in crystal, sized 5 in — built once, kept for years. preview your exact design before it ships, and make it yours.\u003c\/p\u003e\n\u003ch3\u003eWhat you are getting\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003elove goes with me — her words, or yours, said properly\u003c\/li\u003e\n\u003cli\u003ea ginkgo leaf for the one who held the whole thing together\u003c\/li\u003e\n\u003cli\u003eher name set beneath the picture, where it belongs\u003c\/li\u003e\n\u003cli\u003enana, spelled the way she answers to\u003c\/li\u003e\n\u003cli\u003efully personalized — you preview the exact design before it ships\u003c\/li\u003e\n\u003cli\u003ehand-finished crystal build, made to outlast the season\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to personalize it\u003c\/h3\u003e\n\u003cp\u003eUpload her photo, then add the name and the dates. A tighter crop keeps her face sharp — a shot from twenty years ago is allowed. We send a preview before anything is made, and nothing goes into production until you approve it.\u003c\/p\u003e\n\u003ch3\u003eGood to know\u003c\/h3\u003e\n\u003cp\u003eSize: 5 in (12.7 cm) | Material: polished glass | Shape: round\u003c\/p\u003e\n\u003cp\u003ePrinted on the flat face, then sealed — the image sits under the surface, so it will not rub off.\u003c\/p\u003e\n\u003cp\u003eHang it where the light hits it. She'd have said it's too much, then told everyone where it came from.\u003c\/p\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\":\"https:\/\/schema.org\",\"@type\":\"Product\",\"name\":\"Personalized Memorial Ornament for Grandma — Love Goes With Me\",\"description\":\"Personalized Memorial Ornament for Grandma in polished glass. Made to order from your photo — you approve a preview before we print. $16.95.\",\"sku\":\"CS-ORN-0011-GINKGO\",\"brand\":{\"@type\":\"Brand\",\"name\":\"Custom Solo\"},\"category\":\"Memorial Ornament for Grandma\",\"image\":[\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/f38b4b15-e75b-46b9-88ec-52ede5c66a4c.png\"],\"offers\":{\"@type\":\"Offer\",\"url\":\"https:\/\/customsolo.com\/products\/personalized-memorial-ornament-for-grandma-love-goes-with-me\",\"priceCurrency\":\"USD\",\"price\":\"16.95\",\"availability\":\"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50332204630208,"sku":"CS-ORN-0011-GINKGO","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/f38b4b15-e75b-46b9-88ec-52ede5c66a4c.png?v=1790169202"},{"product_id":"personalized-pet-adoption-ornament-home-is-where-you-are","title":"Personalized Pet Adoption Ornament — Home Is Where You Are","description":"\u003c!--\n  CUSTOMSOLO PDP LOOKBOOK - BODY_HTML TEMPLATE v1.0\n  Source: live product page customsolo.com\/products\/customsolo-love-you-mom-test-v1\n          (measured 2026-09-29, body_html 16101 bytes, 6 img slots, 47 text slots)\n  Usage: copy this file, replace every , then PUT as product body_html.\n  RULES\n    - EVERY selector in \u003cstyle\u003e is prefixed .cs-lb-  (protects the customizer). Do not add bare tag selectors.\n    - ENGLISH ONLY. No Chinese anywhere, including CSS comments.\n    - Module order is fixed: lead \/ specs \/ chaphead \/ 4 chapters \/ trust \/ closing.\n    - Image slots are 6 = story-thumb (reuse the customer photo preview, 76x76) + hero (4:5)\n      + 4 chapter images (1536x938). Only 5 images need to be generated.\n    - Do NOT hand-write this HTML from memory. Copy this template.\n--\u003e\n\u003cdiv class=\"cs-lb-root\"\u003e\n\u003cstyle\u003e\n.cs-lb-root,.cs-lb-root *{box-sizing:border-box}\n.cs-lb-root *{text-transform:none}\n.cs-lb-root{font-family:-apple-system, BlinkMacSystemFont, 'system-ui', 'SF Pro Text', 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;color:#1d1d1f;font-size:16px;line-height:1.6;margin:0}\n\n\/* break out of the theme's 720px desc column; width = pdp-lookbook-v5 .wrap content box (1200-96=1104) *\/\n@media(min-width:1024px){\n.cs-lb-root{width:min(1104px,100vw - 96px);\nmargin-left:calc(50% - min(552px,50vw - 48px));margin-right:calc(50% - min(552px,50vw - 48px))}\n}\n\n.cs-lb-root .cs-lb-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-display{font-size:52px;line-height:1.05;font-weight:700;letter-spacing:-.025em;margin:20px 0 18px;color:#1d1d1f}\n.cs-lb-root .cs-lb-display .cs-lb-line{display:block}\n.cs-lb-root .cs-lb-lede{font-size:17px;line-height:1.62;color:#707070;max-width:46ch;margin:0}\n\n\/* story lead: single column by default, two columns from 1024px *\/\n.cs-lb-root .cs-lb-lead{margin:0}\n.cs-lb-root .cs-lb-visual{margin:32px 0 0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-visual img{display:block;width:100%;height:auto;aspect-ratio:4\/5;object-fit:cover;border-radius:16px}\n@media(min-width:1024px){\n.cs-lb-root .cs-lb-lead{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}\n.cs-lb-root .cs-lb-visual{margin:0}\n}\n@media(min-width:1024px) and (max-width:1199px){\n.cs-lb-root .cs-lb-display{font-size:44px}\n}\n\n\/* icon row *\/\n.cs-lb-root .cs-lb-iconrow{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}\n.cs-lb-root .cs-lb-ico{width:46px;height:46px;border-radius:50%;background:#f5f5f7;display:flex;align-items:center;justify-content:center}\n.cs-lb-root .cs-lb-iconrow h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-iconrow p{font-size:14px;line-height:1.5;color:#707070;margin:0}\n\n\/* your story card *\/\n.cs-lb-root .cs-lb-storycard{background:#f5f5f7;border-radius:16px;padding:18px;display:flex;gap:18px;align-items:center;margin-top:40px}\n.cs-lb-root .cs-lb-storycard img{width:76px;height:76px;border-radius:10px;object-fit:cover;flex:0 0 76px;display:block}\n.cs-lb-root .cs-lb-storycard .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-storycard .cs-lb-v{font-size:20px;font-weight:600;margin:4px 0 0;color:#1d1d1f}\n.cs-lb-root .cs-lb-storycard .cs-lb-s{font-size:15px;color:#707070;margin:2px 0 0}\n\n\/* buy row (v5 .buyrow) *\/\n.cs-lb-root .cs-lb-buyrow{display:flex;align-items:center;gap:22px;margin-top:26px}\n.cs-lb-root .cs-lb-btn{height:48px;padding:0 28px;border-radius:999px;background:#1d1d1f;color:#fff;\n  font-size:15px;font-weight:500;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;\n  text-decoration:none;transition:opacity .2s}\n.cs-lb-root .cs-lb-btn:hover{opacity:.85;color:#fff}\n.cs-lb-root .cs-lb-btn svg{flex:0 0 16px}\n.cs-lb-root .cs-lb-from{font-size:18px;font-weight:600;color:#1d1d1f}\n\n\/* specs (v5: right after story lead) *\/\n.cs-lb-root .cs-lb-specs{display:grid;grid-template-columns:repeat(4,1fr);margin:88px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec{padding:34px 30px 36px 0;border-right:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec:last-child{border-right:0;padding-right:0}\n.cs-lb-root .cs-lb-spec .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 12px;\n  display:flex;align-items:center;gap:8px}\n.cs-lb-root .cs-lb-spec .cs-lb-v{margin:12px 0 0;font-size:16px;line-height:1.5;color:#1d1d1f}\n\n\/* chapter head *\/\n.cs-lb-root .cs-lb-chaphead{margin-top:96px;margin-bottom:12px;max-width:720px}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:44px;margin:0}\n\n\/* chapters *\/\n\/* closing band (v5 .closing): mist CTA band at the very end of the description.\n   It is wider than the 1104px column (100vw-32 pulled back by half, padding re-centres copy).\n   The -32px \/ +16px offset is deliberate: even if a browser ignores `overflow-x:clip`\n   (pre-Safari-16), the band still stays inside clientWidth, so no horizontal scrollbar.\n   The theme's own full-bleed band is `.cs-pdp-desc.is-band{margin-inline:-120px}` inside\n   `.cs-main{max-width:1440px;padding:0 120px}` -\u003e it spans the whole .cs-main box (1440px).\n   We cannot add a class to that theme element, so we reproduce the same result from inside:\n   the band is 100vw-48px wide (measured: a bare 100vw gives scrollWidth 1433 \u003e clientWidth\n   1425, i.e. a horizontal scrollbar, so we keep 24px of headroom on each side).\n   Do NOT clamp this with `overflow-x:clip` on `.cs-pdp-desc` - that element is only the\n   1200px grid column, so clipping would shrink the band to the column (120px gutters). *\/\n.cs-lb-root .cs-lb-closing{background:#f5f5f7;margin:0;padding:88px 0;text-align:left;\n  width:calc(100vw - 48px);margin-left:calc(50% - 50vw + 24px);margin-right:calc(50% - 50vw + 24px);\n  padding-left:calc(50vw - 50% - 24px);padding-right:calc(50vw - 50% - 24px)}\n.cs-lb-root .cs-lb-closing h2{font-size:40px;line-height:1.1;font-weight:700;letter-spacing:-.02em;\n  color:#1d1d1f;margin:0}\n.cs-lb-root .cs-lb-closing p{font-size:17px;line-height:1.5;color:#707070;margin:14px 0 0}\n.cs-lb-root .cs-lb-closing .cs-lb-btn{margin:28px 0 0;padding:0 30px}\n\n.cs-lb-root .cs-lb-rows{margin:40px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row{display:grid;grid-template-columns:1.24fr .86fr;gap:72px;align-items:center;\n  padding:60px 0;border-bottom:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row:last-child{border-bottom:0}\n.cs-lb-root .cs-lb-media{margin:0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-media img{display:block;width:100%;height:auto;aspect-ratio:1536\/938;object-fit:cover;border-radius:16px}\n.cs-lb-root .cs-lb-copy{max-width:42ch}\n.cs-lb-root .cs-lb-idx{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 16px}\n.cs-lb-root .cs-lb-copy h3{font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-.022em;margin:0 0 14px;color:#1d1d1f;text-transform:none}\n.cs-lb-root .cs-lb-copy p{margin:0;font-size:16px;line-height:1.66;color:#707070}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:2}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n\n\/* hide the theme's own \"The details\" eyebrow (user approved 2026-09-28:\n   both `THE DETAILS` and `The details` are removed, so the two are not duplicated).\n   Scoped to the direct child span of the desc inner -\u003e only this product page is\n   affected, because this \u003cstyle\u003e ships inside this product's body_html. *\/\n.cs-pdp-desc__inner \u003e .cs-pdp-desc__eyebrow{display:none}\n\n\/* trust row (v5 .trust, right after the chapters; the 72px gap below the last\n   chapter comes from v5 `.chapters{padding:96px 0 72px}` and is carried by margin-top here) *\/\n.cs-lb-root .cs-lb-trust{border-top:1px solid #e5e5e5;padding:64px 0;\n  display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin:72px 0 0}\n.cs-lb-root .cs-lb-trust svg{display:block;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust h4{font-size:14px;line-height:1.4;font-weight:500;letter-spacing:0;\n  margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust p{font-size:13px;line-height:1.55;color:#707070;margin:0}\n\n@media(max-width:960px){\n.cs-lb-root .cs-lb-display{font-size:34px}\n.cs-lb-root .cs-lb-chaphead{margin-top:56px;margin-bottom:0}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:30px}\n.cs-lb-root .cs-lb-rows .cs-lb-row{grid-template-columns:1fr;gap:22px;padding:36px 0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n.cs-lb-root .cs-lb-copy{max-width:none}\n.cs-lb-root .cs-lb-copy h3{font-size:24px;margin:0 0 10px}\n.cs-lb-root .cs-lb-copy p{font-size:15px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:repeat(2,1fr);column-gap:22px;margin-top:56px}\n.cs-lb-root .cs-lb-spec{border-right:0;border-bottom:1px solid #e5e5e5;padding:24px 0}\n.cs-lb-root .cs-lb-trust{grid-template-columns:repeat(2,1fr);gap:28px;margin-top:56px;padding:48px 0}\n.cs-lb-root .cs-lb-closing{margin-top:0;padding:64px 0}\n.cs-lb-root .cs-lb-closing h2{font-size:30px}\n.cs-lb-root .cs-lb-closing p{font-size:16px}\n}\n@media(max-width:520px){\n.cs-lb-root .cs-lb-display{font-size:28px}\n.cs-lb-root .cs-lb-lede{font-size:16px}\n.cs-lb-root .cs-lb-iconrow{gap:14px}\n.cs-lb-root .cs-lb-iconrow h4{font-size:11px;letter-spacing:.1em}\n.cs-lb-root .cs-lb-iconrow p{font-size:12px;line-height:1.4}\n.cs-lb-root .cs-lb-copy h3{font-size:21px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:1fr}\n.cs-lb-root .cs-lb-buyrow{flex-wrap:wrap;gap:14px}\n.cs-lb-root .cs-lb-trust{grid-template-columns:1fr;gap:24px}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"cs-lb-lead\"\u003e\n\u003cdiv class=\"cs-lb-leadcopy\"\u003e\n\u003cp class=\"cs-lb-eyebrow\"\u003ePERSONALIZED PET ADOPTION ORNAMENT\u003c\/p\u003e\n\u003cp class=\"cs-lb-display\"\u003e\u003cspan class=\"cs-lb-line\"\u003eyou didn't rescue him.\u003c\/span\u003e\u003cspan class=\"cs-lb-line\"\u003ehe picked you and moved in.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"cs-lb-lede\"\u003eHis photo, his name, and the year he decided the couch was shared property — printed on a clear acrylic ornament with a clean polished rim. Made to order, and nothing is made until you have seen the proof.\u003c\/p\u003e\n\u003cdiv class=\"cs-lb-iconrow\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\u003e\u003c\/rect\u003e\u003ccircle cx=\"8.5\" cy=\"10\" r=\"1.6\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 17l4.5-4.5 3.5 3.5 3-3L20 17\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003ePhoto\u003c\/h4\u003e\n\u003cp\u003eThe one from the first week\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M6 5h12M12 5v14M9 19h6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eName\u003c\/h4\u003e\n\u003cp\u003eHis name, spelled the way you call him\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M4 10h16M9 3v4M15 3v4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eDate\u003c\/h4\u003e\n\u003cp\u003eThe year he came home\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-storycard\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/story-thumb-orn0012pethome.jpg\" alt=\"Close-up of the uploaded photo of a woman and her rescue dog printed inside the clear acrylic pet adoption ornament\" loading=\"lazy\"\u003e\u003cdiv\u003e\n\u003cp class=\"cs-lb-k\"\u003eYour story\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eHome is where you are\u003c\/p\u003e\n\u003cp class=\"cs-lb-s\"\u003eCharlie · 2026\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-buyrow\"\u003e\n\u003ca class=\"cs-lb-btn\" href=\"#customizer\"\u003ePersonalize Yours\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M5 12h13M13 6l6 6-6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\u003cspan class=\"cs-lb-from\"\u003eFrom $16.95\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-visual\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-adoption-ornament-orn0012pethome-main-1.jpg\" alt=\"Two hands offering the personalized pet adoption ornament, held up by its gold cord\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-specs\"\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M9 4v16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eMaterial\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eCast acrylic disc, 5 in (12.7 cm) round\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M3 17h18M7 17V8h10v9\"\u003e\u003c\/path\u003e\u003c\/svg\u003eFinish\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003ePolished rim, print sealed under the surface\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 9l8-4 8 4v9l-8 4-8-4V9z\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 9l8 4 8-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003eHanging\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eGold cord loop included — straight onto the tree, no ribbon required\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 16V5M8 9l4-4 4 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 16v2.5A1.5 1.5 0 006.5 20h11a1.5 1.5 0 001.5-1.5V16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eYour photo\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eJPG, PNG or WebP up to 10 MB\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-chaphead\"\u003e\u003cp class=\"cs-lb-display\"\u003eEverything about it, up close.\u003c\/p\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-rows\"\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-adoption-ornament-orn0012pethome-detail-1.jpg\" alt=\"A hand lifting the personalized pet adoption ornament out of its kraft gift box, tissue paper still holding the shape\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e01 — The moment\u003c\/p\u003e\n\u003ch3\u003eThe first ornament that belongs to the dog.\u003c\/h3\u003e\n\u003cp\u003eHe will not understand it. He will sit under it anyway.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-adoption-ornament-orn0012pethome-detail-2.jpg\" alt=\"The personalized pet adoption ornament hanging on a decorated fir tree in a bright room with a paper lantern behind\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e02 — The home\u003c\/p\u003e\n\u003ch3\u003eHang it low on the tree.\u003c\/h3\u003e\n\u003cp\u003eNose height. He inspects everything, and this one is his.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-adoption-ornament-orn0012pethome-detail-3.jpg\" alt=\"A phone showing the uploaded photo of a woman and her dog beside the finished personalized pet adoption ornament\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e03 — The making\u003c\/p\u003e\n\u003ch3\u003eUpload the photo, then add his name.\u003c\/h3\u003e\n\u003cp\u003eA tighter crop keeps the face sharp — and yes, we know whose face matters most here.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-adoption-ornament-orn0012pethome-detail-4.jpg\" alt=\"The personalized pet adoption ornament hanging on a Christmas tree among warm string lights in a dim room\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e04 — The season\u003c\/p\u003e\n\u003ch3\u003eThe wrapping paper lasted four seconds.\u003c\/h3\u003e\n\u003cp\u003eHe was in all of it. He will be in this too, eventually.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-trust\"\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 20s-7-4.3-7-9a4 4 0 017-2.6A4 4 0 0119 11c0 4.7-7 9-7 9z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eEmotion First\u003c\/h4\u003e\n\u003cp\u003eDesigned around a real memory, not a template.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 3l8 3v6c0 4.4-3.3 7.9-8 9-4.7-1.1-8-4.6-8-9V6l8-3z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eLasting Quality\u003c\/h4\u003e\n\u003cp\u003eHand-finished acrylic, printed and sealed under the surface, built to last.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"10\" width=\"16\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 10V7.5a4 4 0 018 0V10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003ePrivacy Always\u003c\/h4\u003e\n\u003cp\u003eYour photos stay yours. Never shared or resold.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 21c5-2.5 8-6 8-11V5l-8-2-8 2v5c0 5 3 8.5 8 11z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8v6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eThoughtful Impact\u003c\/h4\u003e\n\u003cp\u003eMade to order, so nothing is made to be wasted.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-closing\"\u003e\n\u003ch2\u003eMade for the one who chose you.\u003c\/h2\u003e\n\u003cp\u003eGifts that hold a year, not just a moment.\u003c\/p\u003e\n\u003ca class=\"cs-lb-btn\" href=\"\/collections\/all\"\u003eFind the perfect gift\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\": \"https:\/\/schema.org\/\", \"@type\": \"Product\", \"name\": \"Personalized Pet Adoption Ornament — Home Is Where You Are\", \"image\": [\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-pet-adoption-ornament-orn0012pethome-main-1.jpg\"], \"description\": \"His photo, his name, and the year he decided the couch was shared property \u0026mdash; printed on a clear acrylic ornament with a clean polished rim. Made to order, and nothing is made until you have seen the proof.\", \"sku\": \"CS-ORN-0012-PETHOME\", \"brand\": {\"@type\": \"Brand\", \"name\": \"CustomSolo\"}, \"offers\": {\"@type\": \"Offer\", \"url\": \"https:\/\/customsolo.com\/products\/personalized-pet-adoption-ornament-home-is-where-you-are\", \"priceCurrency\": \"USD\", \"price\": \"16.95\", \"availability\": \"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50332269609152,"sku":"CS-ORN-0012-PETHOME","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/314a9263-239a-4ecd-8faa-103fa3e3c281.png?v=1790169332"},{"product_id":"personalized-first-home-christmas-ornament-for-couples-home-begins-with-us","title":"Personalized First Home Christmas Ornament for Couples — Home Begins With Us","description":"\u003c!--\n  CUSTOMSOLO PDP LOOKBOOK - BODY_HTML TEMPLATE v1.0\n  Source: live product page customsolo.com\/products\/customsolo-love-you-mom-test-v1\n          (measured 2026-09-29, body_html 16101 bytes, 6 img slots, 47 text slots)\n  Usage: copy this file, replace every , then PUT as product body_html.\n  RULES\n    - EVERY selector in \u003cstyle\u003e is prefixed .cs-lb-  (protects the customizer). Do not add bare tag selectors.\n    - ENGLISH ONLY. No Chinese anywhere, including CSS comments.\n    - Module order is fixed: lead \/ specs \/ chaphead \/ 4 chapters \/ trust \/ closing.\n    - Image slots are 6 = story-thumb (reuse the customer photo preview, 76x76) + hero (4:5)\n      + 4 chapter images (1536x938). Only 5 images need to be generated.\n    - Do NOT hand-write this HTML from memory. Copy this template.\n--\u003e\n\u003cdiv class=\"cs-lb-root\"\u003e\n\u003cstyle\u003e\n.cs-lb-root,.cs-lb-root *{box-sizing:border-box}\n.cs-lb-root *{text-transform:none}\n.cs-lb-root{font-family:-apple-system, BlinkMacSystemFont, 'system-ui', 'SF Pro Text', 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;color:#1d1d1f;font-size:16px;line-height:1.6;margin:0}\n\n\/* break out of the theme's 720px desc column; width = pdp-lookbook-v5 .wrap content box (1200-96=1104) *\/\n@media(min-width:1024px){\n.cs-lb-root{width:min(1104px,100vw - 96px);\nmargin-left:calc(50% - min(552px,50vw - 48px));margin-right:calc(50% - min(552px,50vw - 48px))}\n}\n\n.cs-lb-root .cs-lb-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-display{font-size:52px;line-height:1.05;font-weight:700;letter-spacing:-.025em;margin:20px 0 18px;color:#1d1d1f}\n.cs-lb-root .cs-lb-display .cs-lb-line{display:block}\n.cs-lb-root .cs-lb-lede{font-size:17px;line-height:1.62;color:#707070;max-width:46ch;margin:0}\n\n\/* story lead: single column by default, two columns from 1024px *\/\n.cs-lb-root .cs-lb-lead{margin:0}\n.cs-lb-root .cs-lb-visual{margin:32px 0 0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-visual img{display:block;width:100%;height:auto;aspect-ratio:4\/5;object-fit:cover;border-radius:16px}\n@media(min-width:1024px){\n.cs-lb-root .cs-lb-lead{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}\n.cs-lb-root .cs-lb-visual{margin:0}\n}\n@media(min-width:1024px) and (max-width:1199px){\n.cs-lb-root .cs-lb-display{font-size:44px}\n}\n\n\/* icon row *\/\n.cs-lb-root .cs-lb-iconrow{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}\n.cs-lb-root .cs-lb-ico{width:46px;height:46px;border-radius:50%;background:#f5f5f7;display:flex;align-items:center;justify-content:center}\n.cs-lb-root .cs-lb-iconrow h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-iconrow p{font-size:14px;line-height:1.5;color:#707070;margin:0}\n\n\/* your story card *\/\n.cs-lb-root .cs-lb-storycard{background:#f5f5f7;border-radius:16px;padding:18px;display:flex;gap:18px;align-items:center;margin-top:40px}\n.cs-lb-root .cs-lb-storycard img{width:76px;height:76px;border-radius:10px;object-fit:cover;flex:0 0 76px;display:block}\n.cs-lb-root .cs-lb-storycard .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-storycard .cs-lb-v{font-size:20px;font-weight:600;margin:4px 0 0;color:#1d1d1f}\n.cs-lb-root .cs-lb-storycard .cs-lb-s{font-size:15px;color:#707070;margin:2px 0 0}\n\n\/* buy row (v5 .buyrow) *\/\n.cs-lb-root .cs-lb-buyrow{display:flex;align-items:center;gap:22px;margin-top:26px}\n.cs-lb-root .cs-lb-btn{height:48px;padding:0 28px;border-radius:999px;background:#1d1d1f;color:#fff;\n  font-size:15px;font-weight:500;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;\n  text-decoration:none;transition:opacity .2s}\n.cs-lb-root .cs-lb-btn:hover{opacity:.85;color:#fff}\n.cs-lb-root .cs-lb-btn svg{flex:0 0 16px}\n.cs-lb-root .cs-lb-from{font-size:18px;font-weight:600;color:#1d1d1f}\n\n\/* specs (v5: right after story lead) *\/\n.cs-lb-root .cs-lb-specs{display:grid;grid-template-columns:repeat(4,1fr);margin:88px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec{padding:34px 30px 36px 0;border-right:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec:last-child{border-right:0;padding-right:0}\n.cs-lb-root .cs-lb-spec .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 12px;\n  display:flex;align-items:center;gap:8px}\n.cs-lb-root .cs-lb-spec .cs-lb-v{margin:12px 0 0;font-size:16px;line-height:1.5;color:#1d1d1f}\n\n\/* chapter head *\/\n.cs-lb-root .cs-lb-chaphead{margin-top:96px;margin-bottom:12px;max-width:720px}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:44px;margin:0}\n\n\/* chapters *\/\n\/* closing band (v5 .closing): mist CTA band at the very end of the description.\n   It is wider than the 1104px column (100vw-32 pulled back by half, padding re-centres copy).\n   The -32px \/ +16px offset is deliberate: even if a browser ignores `overflow-x:clip`\n   (pre-Safari-16), the band still stays inside clientWidth, so no horizontal scrollbar.\n   The theme's own full-bleed band is `.cs-pdp-desc.is-band{margin-inline:-120px}` inside\n   `.cs-main{max-width:1440px;padding:0 120px}` -\u003e it spans the whole .cs-main box (1440px).\n   We cannot add a class to that theme element, so we reproduce the same result from inside:\n   the band is 100vw-48px wide (measured: a bare 100vw gives scrollWidth 1433 \u003e clientWidth\n   1425, i.e. a horizontal scrollbar, so we keep 24px of headroom on each side).\n   Do NOT clamp this with `overflow-x:clip` on `.cs-pdp-desc` - that element is only the\n   1200px grid column, so clipping would shrink the band to the column (120px gutters). *\/\n.cs-lb-root .cs-lb-closing{background:#f5f5f7;margin:0;padding:88px 0;text-align:left;\n  width:calc(100vw - 48px);margin-left:calc(50% - 50vw + 24px);margin-right:calc(50% - 50vw + 24px);\n  padding-left:calc(50vw - 50% - 24px);padding-right:calc(50vw - 50% - 24px)}\n.cs-lb-root .cs-lb-closing h2{font-size:40px;line-height:1.1;font-weight:700;letter-spacing:-.02em;\n  color:#1d1d1f;margin:0}\n.cs-lb-root .cs-lb-closing p{font-size:17px;line-height:1.5;color:#707070;margin:14px 0 0}\n.cs-lb-root .cs-lb-closing .cs-lb-btn{margin:28px 0 0;padding:0 30px}\n\n.cs-lb-root .cs-lb-rows{margin:40px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row{display:grid;grid-template-columns:1.24fr .86fr;gap:72px;align-items:center;\n  padding:60px 0;border-bottom:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row:last-child{border-bottom:0}\n.cs-lb-root .cs-lb-media{margin:0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-media img{display:block;width:100%;height:auto;aspect-ratio:1536\/938;object-fit:cover;border-radius:16px}\n.cs-lb-root .cs-lb-copy{max-width:42ch}\n.cs-lb-root .cs-lb-idx{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 16px}\n.cs-lb-root .cs-lb-copy h3{font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-.022em;margin:0 0 14px;color:#1d1d1f;text-transform:none}\n.cs-lb-root .cs-lb-copy p{margin:0;font-size:16px;line-height:1.66;color:#707070}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:2}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n\n\/* hide the theme's own \"The details\" eyebrow (user approved 2026-09-28:\n   both `THE DETAILS` and `The details` are removed, so the two are not duplicated).\n   Scoped to the direct child span of the desc inner -\u003e only this product page is\n   affected, because this \u003cstyle\u003e ships inside this product's body_html. *\/\n.cs-pdp-desc__inner \u003e .cs-pdp-desc__eyebrow{display:none}\n\n\/* trust row (v5 .trust, right after the chapters; the 72px gap below the last\n   chapter comes from v5 `.chapters{padding:96px 0 72px}` and is carried by margin-top here) *\/\n.cs-lb-root .cs-lb-trust{border-top:1px solid #e5e5e5;padding:64px 0;\n  display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin:72px 0 0}\n.cs-lb-root .cs-lb-trust svg{display:block;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust h4{font-size:14px;line-height:1.4;font-weight:500;letter-spacing:0;\n  margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust p{font-size:13px;line-height:1.55;color:#707070;margin:0}\n\n@media(max-width:960px){\n.cs-lb-root .cs-lb-display{font-size:34px}\n.cs-lb-root .cs-lb-chaphead{margin-top:56px;margin-bottom:0}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:30px}\n.cs-lb-root .cs-lb-rows .cs-lb-row{grid-template-columns:1fr;gap:22px;padding:36px 0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n.cs-lb-root .cs-lb-copy{max-width:none}\n.cs-lb-root .cs-lb-copy h3{font-size:24px;margin:0 0 10px}\n.cs-lb-root .cs-lb-copy p{font-size:15px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:repeat(2,1fr);column-gap:22px;margin-top:56px}\n.cs-lb-root .cs-lb-spec{border-right:0;border-bottom:1px solid #e5e5e5;padding:24px 0}\n.cs-lb-root .cs-lb-trust{grid-template-columns:repeat(2,1fr);gap:28px;margin-top:56px;padding:48px 0}\n.cs-lb-root .cs-lb-closing{margin-top:0;padding:64px 0}\n.cs-lb-root .cs-lb-closing h2{font-size:30px}\n.cs-lb-root .cs-lb-closing p{font-size:16px}\n}\n@media(max-width:520px){\n.cs-lb-root .cs-lb-display{font-size:28px}\n.cs-lb-root .cs-lb-lede{font-size:16px}\n.cs-lb-root .cs-lb-iconrow{gap:14px}\n.cs-lb-root .cs-lb-iconrow h4{font-size:11px;letter-spacing:.1em}\n.cs-lb-root .cs-lb-iconrow p{font-size:12px;line-height:1.4}\n.cs-lb-root .cs-lb-copy h3{font-size:21px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:1fr}\n.cs-lb-root .cs-lb-buyrow{flex-wrap:wrap;gap:14px}\n.cs-lb-root .cs-lb-trust{grid-template-columns:1fr;gap:24px}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"cs-lb-lead\"\u003e\n\u003cdiv class=\"cs-lb-leadcopy\"\u003e\n\u003cp class=\"cs-lb-eyebrow\"\u003ePERSONALIZED FIRST HOME CHRISTMAS ORNAMENT\u003c\/p\u003e\n\u003cp class=\"cs-lb-display\"\u003e\u003cspan class=\"cs-lb-line\"\u003ethe first one, in the first place,\u003c\/span\u003e\u003cspan class=\"cs-lb-line\"\u003eboxes still unpacked.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"cs-lb-lede\"\u003eOne lamp, two plates, and a tree smaller than last year's. Both names and the year printed on a clear acrylic ornament with a clean polished rim — the Christmas that belongs to the two of you alone.\u003c\/p\u003e\n\u003cdiv class=\"cs-lb-iconrow\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\u003e\u003c\/rect\u003e\u003ccircle cx=\"8.5\" cy=\"10\" r=\"1.6\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 17l4.5-4.5 3.5 3.5 3-3L20 17\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003ePhoto\u003c\/h4\u003e\n\u003cp\u003eThe one from the week you got the keys\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M6 5h12M12 5v14M9 19h6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eName\u003c\/h4\u003e\n\u003cp\u003eBoth names, exactly as you want them printed\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M4 10h16M9 3v4M15 3v4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eDate\u003c\/h4\u003e\n\u003cp\u003eThe year, so future-you knows which December\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-storycard\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/story-thumb-orn0013firsthome.jpg\" alt=\"Close-up of the uploaded photo of a couple with mugs printed inside the clear acrylic first home ornament\" loading=\"lazy\"\u003e\u003cdiv\u003e\n\u003cp class=\"cs-lb-k\"\u003eYour story\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eHome begins with us\u003c\/p\u003e\n\u003cp class=\"cs-lb-s\"\u003eEmma \u0026amp; Noah · 2026\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-buyrow\"\u003e\n\u003ca class=\"cs-lb-btn\" href=\"#customizer\"\u003ePersonalize Yours\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M5 12h13M13 6l6 6-6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\u003cspan class=\"cs-lb-from\"\u003eFrom $16.95\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-visual\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-first-home-christmas-ornament-for-couples-orn0013firsthome-main-1.jpg\" alt=\"Two hands offering the personalized first home Christmas ornament, held up by its gold cord\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-specs\"\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M9 4v16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eMaterial\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eCast acrylic disc, 5 in (12.7 cm) round\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M3 17h18M7 17V8h10v9\"\u003e\u003c\/path\u003e\u003c\/svg\u003eFinish\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003ePolished rim, print sealed under the surface\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 9l8-4 8 4v9l-8 4-8-4V9z\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 9l8 4 8-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003eHanging\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eGold cord loop included — straight onto the tree, no ribbon required\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 16V5M8 9l4-4 4 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 16v2.5A1.5 1.5 0 006.5 20h11a1.5 1.5 0 001.5-1.5V16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eYour photo\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eJPG, PNG or WebP up to 10 MB\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-chaphead\"\u003e\u003cp class=\"cs-lb-display\"\u003eEverything about it, up close.\u003c\/p\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-rows\"\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-first-home-christmas-ornament-for-couples-orn0013firsthome-detail-1.jpg\" alt=\"A hand lifting the personalized first home Christmas ornament out of its kraft gift box, tissue paper still holding the shape\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e01 — The moment\u003c\/p\u003e\n\u003ch3\u003eThe first decoration that was actually yours.\u003c\/h3\u003e\n\u003cp\u003eNot handed down, not borrowed from your mother's box. Yours.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-first-home-christmas-ornament-for-couples-orn0013firsthome-detail-2.jpg\" alt=\"The personalized first home Christmas ornament hanging on a small decorated fir tree in a bright room with a paper lantern behind\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e02 — The home\u003c\/p\u003e\n\u003ch3\u003eIt goes on the smallest tree you will ever own.\u003c\/h3\u003e\n\u003cp\u003eAnd it stays in the box marked for next year, not the one marked for the charity shop.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-first-home-christmas-ornament-for-couples-orn0013firsthome-detail-3.jpg\" alt=\"A phone showing the uploaded photo of a couple beside the finished personalized first home ornament\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e03 — The making\u003c\/p\u003e\n\u003ch3\u003eUpload the photo, then add both names and the year.\u003c\/h3\u003e\n\u003cp\u003eThe one where you are both laughing is usually the right one. We print what you approve.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-first-home-christmas-ornament-for-couples-orn0013firsthome-detail-4.jpg\" alt=\"The personalized first home Christmas ornament hanging on a Christmas tree among warm string lights in a dim room\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e04 — The season\u003c\/p\u003e\n\u003ch3\u003eTen years and four houses from now, it still says the same thing.\u003c\/h3\u003e\n\u003cp\u003eThe address changes. The line does not.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-trust\"\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 20s-7-4.3-7-9a4 4 0 017-2.6A4 4 0 0119 11c0 4.7-7 9-7 9z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eEmotion First\u003c\/h4\u003e\n\u003cp\u003eDesigned around a real memory, not a template.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 3l8 3v6c0 4.4-3.3 7.9-8 9-4.7-1.1-8-4.6-8-9V6l8-3z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eLasting Quality\u003c\/h4\u003e\n\u003cp\u003eHand-finished acrylic, printed and sealed under the surface, built to last.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"10\" width=\"16\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 10V7.5a4 4 0 018 0V10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003ePrivacy Always\u003c\/h4\u003e\n\u003cp\u003eYour photos stay yours. Never shared or resold.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 21c5-2.5 8-6 8-11V5l-8-2-8 2v5c0 5 3 8.5 8 11z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8v6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eThoughtful Impact\u003c\/h4\u003e\n\u003cp\u003eMade to order, so nothing is made to be wasted.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-closing\"\u003e\n\u003ch2\u003eMade for the first Christmas with your name on the lease.\u003c\/h2\u003e\n\u003cp\u003eGifts that hold a year, not just a moment.\u003c\/p\u003e\n\u003ca class=\"cs-lb-btn\" href=\"\/collections\/all\"\u003eFind the perfect gift\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\": \"https:\/\/schema.org\/\", \"@type\": \"Product\", \"name\": \"Personalized First Home Christmas Ornament for Couples — Home Begins With Us\", \"image\": [\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-first-home-christmas-ornament-for-couples-orn0013firsthome-main-1.jpg\"], \"description\": \"One lamp, two plates, and a tree smaller than last year's. Both names and the year printed on a clear acrylic ornament with a clean polished rim \u0026mdash; the Christmas that belongs to the two of you alone.\", \"sku\": \"CS-ORN-0013-FIRSTHOME\", \"brand\": {\"@type\": \"Brand\", \"name\": \"CustomSolo\"}, \"offers\": {\"@type\": \"Offer\", \"url\": \"https:\/\/customsolo.com\/products\/personalized-first-home-christmas-ornament-for-couples-home-begins-with-us\", \"priceCurrency\": \"USD\", \"price\": \"16.95\", \"availability\": \"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50332287533248,"sku":"CS-ORN-0013-FIRSTHOME","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/2f52d27c-8566-477b-8e6d-95c25049b20c.png?v=1790169472"},{"product_id":"personalized-long-distance-ornament-for-mom-always-close","title":"Personalized Long Distance Ornament for Mom — Always Close","description":"\u003c!--\n  CUSTOMSOLO PDP LOOKBOOK - BODY_HTML TEMPLATE v1.0\n  Source: live product page customsolo.com\/products\/customsolo-love-you-mom-test-v1\n          (measured 2026-09-29, body_html 16101 bytes, 6 img slots, 47 text slots)\n  Usage: copy this file, replace every , then PUT as product body_html.\n  RULES\n    - EVERY selector in \u003cstyle\u003e is prefixed .cs-lb-  (protects the customizer). Do not add bare tag selectors.\n    - ENGLISH ONLY. No Chinese anywhere, including CSS comments.\n    - Module order is fixed: lead \/ specs \/ chaphead \/ 4 chapters \/ trust \/ closing.\n    - Image slots are 6 = story-thumb (reuse the customer photo preview, 76x76) + hero (4:5)\n      + 4 chapter images (1536x938). Only 5 images need to be generated.\n    - Do NOT hand-write this HTML from memory. Copy this template.\n--\u003e\n\u003cdiv class=\"cs-lb-root\"\u003e\n\u003cstyle\u003e\n.cs-lb-root,.cs-lb-root *{box-sizing:border-box}\n.cs-lb-root *{text-transform:none}\n.cs-lb-root{font-family:-apple-system, BlinkMacSystemFont, 'system-ui', 'SF Pro Text', 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;color:#1d1d1f;font-size:16px;line-height:1.6;margin:0}\n\n\/* break out of the theme's 720px desc column; width = pdp-lookbook-v5 .wrap content box (1200-96=1104) *\/\n@media(min-width:1024px){\n.cs-lb-root{width:min(1104px,100vw - 96px);\nmargin-left:calc(50% - min(552px,50vw - 48px));margin-right:calc(50% - min(552px,50vw - 48px))}\n}\n\n.cs-lb-root .cs-lb-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-display{font-size:52px;line-height:1.05;font-weight:700;letter-spacing:-.025em;margin:20px 0 18px;color:#1d1d1f}\n.cs-lb-root .cs-lb-display .cs-lb-line{display:block}\n.cs-lb-root .cs-lb-lede{font-size:17px;line-height:1.62;color:#707070;max-width:46ch;margin:0}\n\n\/* story lead: single column by default, two columns from 1024px *\/\n.cs-lb-root .cs-lb-lead{margin:0}\n.cs-lb-root .cs-lb-visual{margin:32px 0 0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-visual img{display:block;width:100%;height:auto;aspect-ratio:4\/5;object-fit:cover;border-radius:16px}\n@media(min-width:1024px){\n.cs-lb-root .cs-lb-lead{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}\n.cs-lb-root .cs-lb-visual{margin:0}\n}\n@media(min-width:1024px) and (max-width:1199px){\n.cs-lb-root .cs-lb-display{font-size:44px}\n}\n\n\/* icon row *\/\n.cs-lb-root .cs-lb-iconrow{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}\n.cs-lb-root .cs-lb-ico{width:46px;height:46px;border-radius:50%;background:#f5f5f7;display:flex;align-items:center;justify-content:center}\n.cs-lb-root .cs-lb-iconrow h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-iconrow p{font-size:14px;line-height:1.5;color:#707070;margin:0}\n\n\/* your story card *\/\n.cs-lb-root .cs-lb-storycard{background:#f5f5f7;border-radius:16px;padding:18px;display:flex;gap:18px;align-items:center;margin-top:40px}\n.cs-lb-root .cs-lb-storycard img{width:76px;height:76px;border-radius:10px;object-fit:cover;flex:0 0 76px;display:block}\n.cs-lb-root .cs-lb-storycard .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0}\n.cs-lb-root .cs-lb-storycard .cs-lb-v{font-size:20px;font-weight:600;margin:4px 0 0;color:#1d1d1f}\n.cs-lb-root .cs-lb-storycard .cs-lb-s{font-size:15px;color:#707070;margin:2px 0 0}\n\n\/* buy row (v5 .buyrow) *\/\n.cs-lb-root .cs-lb-buyrow{display:flex;align-items:center;gap:22px;margin-top:26px}\n.cs-lb-root .cs-lb-btn{height:48px;padding:0 28px;border-radius:999px;background:#1d1d1f;color:#fff;\n  font-size:15px;font-weight:500;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;\n  text-decoration:none;transition:opacity .2s}\n.cs-lb-root .cs-lb-btn:hover{opacity:.85;color:#fff}\n.cs-lb-root .cs-lb-btn svg{flex:0 0 16px}\n.cs-lb-root .cs-lb-from{font-size:18px;font-weight:600;color:#1d1d1f}\n\n\/* specs (v5: right after story lead) *\/\n.cs-lb-root .cs-lb-specs{display:grid;grid-template-columns:repeat(4,1fr);margin:88px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec{padding:34px 30px 36px 0;border-right:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-spec:last-child{border-right:0;padding-right:0}\n.cs-lb-root .cs-lb-spec .cs-lb-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 12px;\n  display:flex;align-items:center;gap:8px}\n.cs-lb-root .cs-lb-spec .cs-lb-v{margin:12px 0 0;font-size:16px;line-height:1.5;color:#1d1d1f}\n\n\/* chapter head *\/\n.cs-lb-root .cs-lb-chaphead{margin-top:96px;margin-bottom:12px;max-width:720px}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:44px;margin:0}\n\n\/* chapters *\/\n\/* closing band (v5 .closing): mist CTA band at the very end of the description.\n   It is wider than the 1104px column (100vw-32 pulled back by half, padding re-centres copy).\n   The -32px \/ +16px offset is deliberate: even if a browser ignores `overflow-x:clip`\n   (pre-Safari-16), the band still stays inside clientWidth, so no horizontal scrollbar.\n   The theme's own full-bleed band is `.cs-pdp-desc.is-band{margin-inline:-120px}` inside\n   `.cs-main{max-width:1440px;padding:0 120px}` -\u003e it spans the whole .cs-main box (1440px).\n   We cannot add a class to that theme element, so we reproduce the same result from inside:\n   the band is 100vw-48px wide (measured: a bare 100vw gives scrollWidth 1433 \u003e clientWidth\n   1425, i.e. a horizontal scrollbar, so we keep 24px of headroom on each side).\n   Do NOT clamp this with `overflow-x:clip` on `.cs-pdp-desc` - that element is only the\n   1200px grid column, so clipping would shrink the band to the column (120px gutters). *\/\n.cs-lb-root .cs-lb-closing{background:#f5f5f7;margin:0;padding:88px 0;text-align:left;\n  width:calc(100vw - 48px);margin-left:calc(50% - 50vw + 24px);margin-right:calc(50% - 50vw + 24px);\n  padding-left:calc(50vw - 50% - 24px);padding-right:calc(50vw - 50% - 24px)}\n.cs-lb-root .cs-lb-closing h2{font-size:40px;line-height:1.1;font-weight:700;letter-spacing:-.02em;\n  color:#1d1d1f;margin:0}\n.cs-lb-root .cs-lb-closing p{font-size:17px;line-height:1.5;color:#707070;margin:14px 0 0}\n.cs-lb-root .cs-lb-closing .cs-lb-btn{margin:28px 0 0;padding:0 30px}\n\n.cs-lb-root .cs-lb-rows{margin:40px 0 0;border-top:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row{display:grid;grid-template-columns:1.24fr .86fr;gap:72px;align-items:center;\n  padding:60px 0;border-bottom:1px solid #e5e5e5}\n.cs-lb-root .cs-lb-row:last-child{border-bottom:0}\n.cs-lb-root .cs-lb-media{margin:0;border-radius:16px;overflow:hidden;background:#f5f5f7}\n.cs-lb-root .cs-lb-media img{display:block;width:100%;height:auto;aspect-ratio:1536\/938;object-fit:cover;border-radius:16px}\n.cs-lb-root .cs-lb-copy{max-width:42ch}\n.cs-lb-root .cs-lb-idx{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#707070;font-weight:500;margin:0 0 16px}\n.cs-lb-root .cs-lb-copy h3{font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-.022em;margin:0 0 14px;color:#1d1d1f;text-transform:none}\n.cs-lb-root .cs-lb-copy p{margin:0;font-size:16px;line-height:1.66;color:#707070}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:2}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n\n\/* hide the theme's own \"The details\" eyebrow (user approved 2026-09-28:\n   both `THE DETAILS` and `The details` are removed, so the two are not duplicated).\n   Scoped to the direct child span of the desc inner -\u003e only this product page is\n   affected, because this \u003cstyle\u003e ships inside this product's body_html. *\/\n.cs-pdp-desc__inner \u003e .cs-pdp-desc__eyebrow{display:none}\n\n\/* trust row (v5 .trust, right after the chapters; the 72px gap below the last\n   chapter comes from v5 `.chapters{padding:96px 0 72px}` and is carried by margin-top here) *\/\n.cs-lb-root .cs-lb-trust{border-top:1px solid #e5e5e5;padding:64px 0;\n  display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin:72px 0 0}\n.cs-lb-root .cs-lb-trust svg{display:block;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust h4{font-size:14px;line-height:1.4;font-weight:500;letter-spacing:0;\n  margin:16px 0 7px;color:#1d1d1f}\n.cs-lb-root .cs-lb-trust p{font-size:13px;line-height:1.55;color:#707070;margin:0}\n\n@media(max-width:960px){\n.cs-lb-root .cs-lb-display{font-size:34px}\n.cs-lb-root .cs-lb-chaphead{margin-top:56px;margin-bottom:0}\n.cs-lb-root .cs-lb-chaphead .cs-lb-display{font-size:30px}\n.cs-lb-root .cs-lb-rows .cs-lb-row{grid-template-columns:1fr;gap:22px;padding:36px 0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-media{order:0}\n.cs-lb-root .cs-lb-row.cs-lb-flip .cs-lb-copy{order:1}\n.cs-lb-root .cs-lb-copy{max-width:none}\n.cs-lb-root .cs-lb-copy h3{font-size:24px;margin:0 0 10px}\n.cs-lb-root .cs-lb-copy p{font-size:15px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:repeat(2,1fr);column-gap:22px;margin-top:56px}\n.cs-lb-root .cs-lb-spec{border-right:0;border-bottom:1px solid #e5e5e5;padding:24px 0}\n.cs-lb-root .cs-lb-trust{grid-template-columns:repeat(2,1fr);gap:28px;margin-top:56px;padding:48px 0}\n.cs-lb-root .cs-lb-closing{margin-top:0;padding:64px 0}\n.cs-lb-root .cs-lb-closing h2{font-size:30px}\n.cs-lb-root .cs-lb-closing p{font-size:16px}\n}\n@media(max-width:520px){\n.cs-lb-root .cs-lb-display{font-size:28px}\n.cs-lb-root .cs-lb-lede{font-size:16px}\n.cs-lb-root .cs-lb-iconrow{gap:14px}\n.cs-lb-root .cs-lb-iconrow h4{font-size:11px;letter-spacing:.1em}\n.cs-lb-root .cs-lb-iconrow p{font-size:12px;line-height:1.4}\n.cs-lb-root .cs-lb-copy h3{font-size:21px}\n.cs-lb-root .cs-lb-specs{grid-template-columns:1fr}\n.cs-lb-root .cs-lb-buyrow{flex-wrap:wrap;gap:14px}\n.cs-lb-root .cs-lb-trust{grid-template-columns:1fr;gap:24px}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"cs-lb-lead\"\u003e\n\u003cdiv class=\"cs-lb-leadcopy\"\u003e\n\u003cp class=\"cs-lb-eyebrow\"\u003ePERSONALIZED LONG DISTANCE ORNAMENT FOR MOM\u003c\/p\u003e\n\u003cp class=\"cs-lb-display\"\u003e\u003cspan class=\"cs-lb-line\"\u003esix hundred miles,\u003c\/span\u003e\u003cspan class=\"cs-lb-line\"\u003eand she still knows.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"cs-lb-lede\"\u003eTwo houses, one road between them, and the line that covers the distance — printed on a clear acrylic ornament with a clean polished rim. Her photo, her name and the year, made to order and sealed under the surface.\u003c\/p\u003e\n\u003cdiv class=\"cs-lb-iconrow\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\u003e\u003c\/rect\u003e\u003ccircle cx=\"8.5\" cy=\"10\" r=\"1.6\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 17l4.5-4.5 3.5 3.5 3-3L20 17\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003ePhoto\u003c\/h4\u003e\n\u003cp\u003eThe last time you were in the same room\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M6 5h12M12 5v14M9 19h6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eName\u003c\/h4\u003e\n\u003cp\u003eBoth names, or hers alone, set under the picture\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"cs-lb-ico\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"21\" height=\"21\" fill=\"none\" stroke=\"#1d1d1f\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M4 10h16M9 3v4M15 3v4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch4\u003eDate\u003c\/h4\u003e\n\u003cp\u003eThe Christmas this was, kept on the ornament\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-storycard\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/story-thumb-orn0014close.jpg\" alt=\"Close-up of the uploaded photo of a mother and her daughter printed inside the clear acrylic long distance ornament\" loading=\"lazy\"\u003e\u003cdiv\u003e\n\u003cp class=\"cs-lb-k\"\u003eYour story\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eAlways close wherever we are\u003c\/p\u003e\n\u003cp class=\"cs-lb-s\"\u003eMom \u0026amp; Lily · 2026\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-buyrow\"\u003e\n\u003ca class=\"cs-lb-btn\" href=\"#customizer\"\u003ePersonalize Yours\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M5 12h13M13 6l6 6-6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\u003cspan class=\"cs-lb-from\"\u003eFrom $16.95\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-visual\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-long-distance-ornament-for-mom-orn0014close-main-1.jpg\" alt=\"Two hands offering the personalized long distance ornament for Mom, held up by its gold cord\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-specs\"\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M9 4v16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eMaterial\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eCast acrylic disc, 5 in (12.7 cm) round\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M3 17h18M7 17V8h10v9\"\u003e\u003c\/path\u003e\u003c\/svg\u003eFinish\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003ePolished rim, print sealed under the surface\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 9l8-4 8 4v9l-8 4-8-4V9z\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 9l8 4 8-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003eHanging\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eGold cord loop included — straight onto the tree, no ribbon required\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-spec\"\u003e\n\u003cp class=\"cs-lb-k\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 16V5M8 9l4-4 4 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 16v2.5A1.5 1.5 0 006.5 20h11a1.5 1.5 0 001.5-1.5V16\"\u003e\u003c\/path\u003e\u003c\/svg\u003eYour photo\u003c\/p\u003e\n\u003cp class=\"cs-lb-v\"\u003eJPG, PNG or WebP up to 10 MB\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-chaphead\"\u003e\u003cp class=\"cs-lb-display\"\u003eEverything about it, up close.\u003c\/p\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-rows\"\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-long-distance-ornament-for-mom-orn0014close-detail-1.jpg\" alt=\"A hand lifting the personalized long distance ornament for Mom out of its kraft gift box, tissue paper still holding the shape\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e01 — The moment\u003c\/p\u003e\n\u003ch3\u003eShe will open it and go quiet for a second.\u003c\/h3\u003e\n\u003cp\u003eThen she will ask when you are coming home, which is what the ornament is really about.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-long-distance-ornament-for-mom-orn0014close-detail-2.jpg\" alt=\"The personalized long distance ornament for Mom hanging on a decorated fir tree beside a window with snow outside\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e02 — The home\u003c\/p\u003e\n\u003ch3\u003eIt hangs on her tree, on the side the window faces.\u003c\/h3\u003e\n\u003cp\u003eSo the daylight comes through the acrylic while she is doing the dishes.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-long-distance-ornament-for-mom-orn0014close-detail-3.jpg\" alt=\"A phone showing the uploaded photo of a mother and her daughter beside the finished personalized long distance ornament\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e03 — The making\u003c\/p\u003e\n\u003ch3\u003eUpload the photo, then check the spelling of her name.\u003c\/h3\u003e\n\u003cp\u003eMom, Mama, Mum — whatever you call her. Nothing is made until you approve the proof.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-row cs-lb-flip\"\u003e\n\u003cdiv class=\"cs-lb-media\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-long-distance-ornament-for-mom-orn0014close-detail-4.jpg\" alt=\"The personalized long distance ornament for Mom hanging on a Christmas tree among warm string lights in a dim room\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-copy\"\u003e\n\u003cp class=\"cs-lb-idx\"\u003e04 — The season\u003c\/p\u003e\n\u003ch3\u003eShe will send you a photo of it on the tree.\u003c\/h3\u003e\n\u003cp\u003eSame tree, same branch, every year. You will get the photo every year too.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-trust\"\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 20s-7-4.3-7-9a4 4 0 017-2.6A4 4 0 0119 11c0 4.7-7 9-7 9z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eEmotion First\u003c\/h4\u003e\n\u003cp\u003eDesigned around a real memory, not a template.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 3l8 3v6c0 4.4-3.3 7.9-8 9-4.7-1.1-8-4.6-8-9V6l8-3z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eLasting Quality\u003c\/h4\u003e\n\u003cp\u003eHand-finished acrylic, printed and sealed under the surface, built to last.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003crect x=\"4\" y=\"10\" width=\"16\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 10V7.5a4 4 0 018 0V10\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003ePrivacy Always\u003c\/h4\u003e\n\u003cp\u003eYour photos stay yours. Never shared or resold.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003csvg viewbox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 21c5-2.5 8-6 8-11V5l-8-2-8 2v5c0 5 3 8.5 8 11z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8v6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003ch4\u003eThoughtful Impact\u003c\/h4\u003e\n\u003cp\u003eMade to order, so nothing is made to be wasted.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-lb-closing\"\u003e\n\u003ch2\u003eMade for the one who is far away.\u003c\/h2\u003e\n\u003cp\u003eGifts that hold a year, not just a moment.\u003c\/p\u003e\n\u003ca class=\"cs-lb-btn\" href=\"\/collections\/all\"\u003eFind the perfect gift\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\": \"https:\/\/schema.org\/\", \"@type\": \"Product\", \"name\": \"Personalized Long Distance Ornament for Mom — Always Close\", \"image\": [\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/personalized-long-distance-ornament-for-mom-orn0014close-main-1.jpg\"], \"description\": \"Two houses, one road between them, and the line that covers the distance \u0026mdash; printed on a clear acrylic ornament with a clean polished rim. Her photo, her name and the year, made to order and sealed under the surface.\", \"sku\": \"CS-ORN-0014-CLOSE\", \"brand\": {\"@type\": \"Brand\", \"name\": \"CustomSolo\"}, \"offers\": {\"@type\": \"Offer\", \"url\": \"https:\/\/customsolo.com\/products\/personalized-long-distance-ornament-for-mom-always-close\", \"priceCurrency\": \"USD\", \"price\": \"16.95\", \"availability\": \"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50332306079936,"sku":"CS-ORN-0014-CLOSE","price":16.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/d85fcc56-5407-4cd8-8cf0-79462cd5121e.png?v=1790169598"},{"product_id":"personalized-heart-night-light-for-couples-where-our-paths-met","title":"Personalized Heart Night Light for Couples — Where Our Paths Met","description":"\u003ch2\u003etwo routes, one hallway, and nobody checked the schedule\u003c\/h2\u003e\n\u003cp\u003eneither of you was trying. that's how most of these start. this lamp carries your photo and the line that says it plainly, lit from behind so the picture holds up after dark — built around your own picture of the two of you. every piece is made to order: built once, kept for years. preview your exact design before it ships, and make it yours.\u003c\/p\u003e\n\u003ch3\u003eWhat you are getting\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003ewhere our paths met — which is a nicer story than either version\u003c\/li\u003e\n\u003cli\u003ea heart shape that actually sits on a nightstand, not just a shelf\u003c\/li\u003e\n\u003cli\u003eback-lit, so the photo reads at 2am without a switch\u003c\/li\u003e\n\u003cli\u003ea wood base, because plastic cheapens everything\u003c\/li\u003e\n\u003cli\u003efully personalized — you preview the exact design before it ships\u003c\/li\u003e\n\u003cli\u003earrives gift-ready with optional keepsake box\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to personalize it\u003c\/h3\u003e\n\u003cp\u003eUpload your photo, then check the wording. A square or close-cropped image works better than a wide shot — faces come out sharper that way. We send a preview before anything is made, and nothing goes into production until you approve it.\u003c\/p\u003e\n\u003ch3\u003eGood to know\u003c\/h3\u003e\n\u003cp\u003eMaterial: cast acrylic | Base: a wooden slot base | Power: USB corded | Packaging: gift box\u003c\/p\u003e\n\u003cp\u003eThe panel is printed and then back-lit tested, so the image reads evenly with the light on.\u003c\/p\u003e\n\u003cp\u003eLeave it on. Somebody will notice, and they'll be right.\u003c\/p\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\":\"https:\/\/schema.org\",\"@type\":\"Product\",\"name\":\"Personalized Heart Night Light for Couples — Where Our Paths Met\",\"description\":\"Personalized Heart Night Light for Couples in cast acrylic. Made to order from your photo — you approve a preview before we print. $27.95.\",\"sku\":\"CS-LGT-0004-PATHS\",\"brand\":{\"@type\":\"Brand\",\"name\":\"Custom Solo\"},\"category\":\"Heart Night Light for Couples\",\"image\":[\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/b1ff954a-b64f-44c5-a0af-adc770639916.png\"],\"offers\":{\"@type\":\"Offer\",\"url\":\"https:\/\/customsolo.com\/products\/personalized-heart-night-light-for-couples-where-our-paths-met\",\"priceCurrency\":\"USD\",\"price\":\"27.95\",\"availability\":\"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50332329148608,"sku":"CS-LGT-0004-PATHS","price":27.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/b1ff954a-b64f-44c5-a0af-adc770639916.png?v=1790169728"},{"product_id":"personalized-pet-adoption-acrylic-plaque-you-belong-with-us","title":"Personalized Pet Adoption Acrylic Plaque — You Belong With Us","description":"\u003ch2\u003ethey picked you. that was the whole interview\u003c\/h2\u003e\n\u003cp\u003eno resume, no references — just a dog who decided the couch was shared property. this one puts your photo beside the tag that finally has his name on it, with the year he came home set underneath. every piece is made to order: hand-finished in acrylic, set on a wooden slot base — built once, kept for years. preview your exact design before it ships, and make it yours.\u003c\/p\u003e\n\u003ch3\u003eWhat you are getting\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eyou belong with us. — the three words he never had to be told twice\u003c\/li\u003e\n\u003cli\u003ehis name on the gold tag, the way it should already be\u003c\/li\u003e\n\u003cli\u003ehome since 2026, because somebody had to write it down\u003c\/li\u003e\n\u003cli\u003ea wooden slot base so he stays on the shelf, not in a box\u003c\/li\u003e\n\u003cli\u003efully personalized — you preview the exact design before it ships\u003c\/li\u003e\n\u003cli\u003ehand-finished acrylic build, made to outlast the season\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to personalize it\u003c\/h3\u003e\n\u003cp\u003eUpload your photo, then add his name and the year he joined the family. A square or close-cropped image works better than a wide shot — faces come out sharper that way. We send a preview before anything is made, and nothing goes into production until you approve it.\u003c\/p\u003e\n\u003ch3\u003eGood to know\u003c\/h3\u003e\n\u003cp\u003eMaterial: cast acrylic | Base: a wooden slot base | Packaging: gift box\u003c\/p\u003e\n\u003cp\u003ePrinted in high resolution behind the clear face, so the color stays sharp instead of washing out.\u003c\/p\u003e\n\u003cp\u003ePut it next to the leash hook. That's where he checks first.\u003c\/p\u003e\n\u003cscript type=\"application\/ld+json\"\u003e{\"@context\":\"https:\/\/schema.org\",\"@type\":\"Product\",\"name\":\"Personalized Pet Adoption Acrylic Plaque — You Belong With Us\",\"description\":\"Personalized Pet Adoption Acrylic Plaque in cast acrylic. Made to order from your photo — you approve a preview before we print. $27.95.\",\"sku\":\"CS-PLQ-0002-BELONG\",\"brand\":{\"@type\":\"Brand\",\"name\":\"Custom Solo\"},\"category\":\"Pet Adoption Acrylic Plaque\",\"image\":[\"https:\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/3fc0a452-935d-4ecc-89b1-254ec587f1f0.png\"],\"offers\":{\"@type\":\"Offer\",\"url\":\"https:\/\/customsolo.com\/products\/personalized-pet-adoption-acrylic-plaque-you-belong-with-us\",\"priceCurrency\":\"USD\",\"price\":\"27.95\",\"availability\":\"https:\/\/schema.org\/InStock\"}}\u003c\/script\u003e\n","brand":"customsolo","offers":[{"title":"Default Title","offer_id":50336385630400,"sku":"CS-PLQ-0002-BELONG","price":27.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/files\/3fc0a452-935d-4ecc-89b1-254ec587f1f0.png?v=1790231118"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0573\/8286\/3040\/collections\/customsolo-cards-best-sellers.webp?v=1790681556","url":"https:\/\/customsolo.com\/collections\/best-sellers.oembed","provider":"customsolo","version":"1.0","type":"link"}