{"product_id":"personalised-santa-sack-large-striped-christmas-gift-bag-with-custom-yarn-name","title":"Personalised Santa Sack, Large Striped Christmas Gift Bag with Custom Yarn Name","description":"\u003cstyle\u003e\n.cgc-template *{box-sizing:border-box}body{margin:0;background:#fff}.cgc-template{color:#222;font-family:Arial,Helvetica,sans-serif}\n.cgc-template{width:100%;max-width:600px;margin:0 auto;padding:12px 12px 30px;font-size:16px;line-height:1.42;overflow-wrap:break-word}\n.cgc-template img{display:block;max-width:100%;border:0}\n.cgc-template h2{font-size:24px;line-height:1.2;font-weight:700;text-align:center;margin:18px 0 10px;color:#111}\n.cgc-template h3{font-size:18px;line-height:1.3;font-weight:700;margin:0 0 5px;color:#222}\n.cgc-template p{margin:0;font-size:16px;line-height:1.42}\n.cgc-template .wide-photo{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:20px}\n.cgc-template .carousel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding:0 0 2px;touch-action:pan-x pan-y;outline-offset:3px}\n.cgc-template .carousel::-webkit-scrollbar{display:none}\n.cgc-template .slide{flex:0 0 70%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;border:1px solid #e6e6e6;border-radius:22px;background:#fafafa;overflow:hidden;text-align:center}\n.cgc-template .slide img{width:100%;aspect-ratio:1.5;object-fit:cover;object-position:center top}\n.cgc-template .slide-copy{padding:10px 10px 12px}\n.cgc-template .slide h3{font-size:18px;margin-bottom:5px;letter-spacing:-.4px}\n.cgc-template .slide p{font-size:16px;line-height:1.4}\n.cgc-template .showcase{margin-top:20px}\n.cgc-template .detail-list{display:grid;gap:18px;margin:18px 0 22px}\n.cgc-template .detail-row{display:grid;grid-template-columns:31% minmax(0,1fr);gap:18px;align-items:center}\n.cgc-template .detail-row img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%;border:2px solid #333}\n.cgc-template .detail-row h3{font-size:18px;margin-bottom:5px}\n.cgc-template .detail-row p{font-size:16px}\n.cgc-template .gift-photo{width:100%;aspect-ratio:1.78;object-fit:cover;border-radius:20px}\n.cgc-template .occasions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}\n.cgc-template .occasion{border:1px solid #d1a434;border-radius:21px;background:#fffdf8;padding:14px 12px 16px;text-align:center}\n.cgc-template .occasion-icon{width:54px;height:54px;border-radius:50%;background:#fce0bf;margin:0 auto 12px;display:grid;place-items:center}\n.cgc-template .occasion-icon svg{width:40px;height:40px;fill:none;stroke:#874333;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}\n.cgc-template .occasion h3{font-size:17px;line-height:1.35;margin:0 0 6px}\n.cgc-template .occasion p{font-size:16px;line-height:1.4}\n.cgc-template .care-list{display:grid;gap:16px;margin-top:18px}\n.cgc-template .care-row{display:grid;grid-template-columns:35% minmax(0,1fr);gap:16px;align-items:start}\n.cgc-template .care-image{position:relative}\n.cgc-template .care-image img{width:100%;aspect-ratio:1;object-fit:cover;border:2px solid #333;border-radius:18px}\n.cgc-template .check{position:absolute;left:-9px;top:-11px;width:29px;height:29px;border-radius:50%;border:1.5px solid #333;background:white;color:#22ab25;display:grid;place-items:center;transform:rotate(-10deg);font-size:29px;font-weight:bold;line-height:1}\n.cgc-template .care-row h3{font-size:18px;line-height:1.25;margin:0 0 5px}\n.cgc-template .care-row p{font-size:16px;line-height:1.4}\n@media(min-width:600px){.cgc-template{padding:16px 16px 36px}.cgc-template .slide-copy{min-height:125px}.cgc-template .detail-row{grid-template-columns:26% minmax(0,1fr)}.cgc-template .care-row{grid-template-columns:28% minmax(0,1fr)}}\n@media(prefers-reduced-motion:reduce){.cgc-template .carousel{scroll-behavior:auto}}\n\n.cgc-template .carousel{cursor:grab}\n.cgc-template .carousel img{-webkit-user-drag:none;user-select:none}\n.cgc-template .carousel.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none;scroll-behavior:auto}\n\n.cgc-template{box-sizing:border-box}\n.cgc-template .care-row{grid-template-columns:42% minmax(0,1fr);gap:14px;align-items:start}\n.cgc-template .care-row h3{font-size:18px;line-height:1.25;margin:0 0 5px}\n.cgc-template .care-row p{font-size:16px;line-height:1.32}\n@media(min-width:600px){.cgc-template .care-row{grid-template-columns:35% minmax(0,1fr)}}\n\n\/* Readable size information replaces the thumbnail inside the size row. *\/\n.cgc-template .detail-row.size-row{display:block}\n.cgc-template .size-guide-table{width:100%;table-layout:fixed;border-collapse:collapse;margin:10px 0 8px;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.4;color:#222}\n.cgc-template .size-guide-table th,.cgc-template .size-guide-table td{padding:9px 3px;border:1px solid #ddd4c9;text-align:center;vertical-align:middle;font-size:14px;font-weight:400;overflow-wrap:normal}\n.cgc-template .size-guide-table thead th{background:#f5efe6;font-weight:700}\n.cgc-template .size-guide-table tr\u003e:first-child{width:28%;text-align:left;padding-left:7px;font-weight:700;overflow-wrap:break-word}\n.cgc-template .size-guide-note{font-size:14px;line-height:1.4}\n.cgc-template .desktop-scroll-hint{display:none}\n@media(hover:hover) and (pointer:fine){\n .cgc-template .carousel{scrollbar-width:auto;scrollbar-color:auto;padding-bottom:6px}\n .cgc-template .carousel::-webkit-scrollbar{display:block;height:14px}\n .cgc-template .carousel::-webkit-scrollbar-track{background:#eee6dd;border-radius:10px}\n .cgc-template .carousel::-webkit-scrollbar-thumb{background:#957e67;border:3px solid #eee6dd;border-radius:10px;min-width:50px}\n .cgc-template .desktop-scroll-hint{display:block;margin:5px 0 0;font-size:13px;text-align:center;color:#666}\n}\n\n.cgc-template .robe-size-scroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}\n.cgc-template .robe-size-scroll .size-guide-table{min-width:580px;table-layout:fixed}\n.cgc-template .robe-size-scroll .size-guide-table tr\u003e:first-child{width:17%}\n.cgc-template .size-unit-title{font-size:16px;margin:14px 0 4px}\n.cgc-template .robe-option-copy{font-size:14px;line-height:1.45;margin:10px 0}\n\n.cgc-template .sweater-option-copy{font-size:14px;line-height:1.45;margin:10px 0}\n.cgc-template .slide img{object-fit:contain;background:#fafafa}\n.cgc-template .detail-row img{object-fit:contain;background:#fff}\n.cgc-template .gift-photo{object-fit:contain;background:#fff;aspect-ratio:1;height:auto}\n.cgc-template .care-row img{object-fit:contain}\n@media(max-width:360px){.cgc-template .care-row h3{font-size:16px}.cgc-template .care-row p{font-size:14px}}\n\n.cgc-template .sack-option-copy{font-size:14px;line-height:1.45;margin:10px 0}\n\u003c\/style\u003e\u003cmain aria-label=\"Personalised striped Christmas gift sack details\" class=\"cgc-template\"\u003e\u003cimg alt=\"Family with pink and green personalised Christmas sacks\" class=\"wide-photo\" decoding=\"async\" draggable=\"false\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0783\/8328\/4506\/files\/cgc-personalised-striped-santa-sack-detail-01.jpg?v=1793516075\"\u003e\u003csection aria-labelledby=\"love-title\"\u003e\u003ch2 id=\"love-title\"\u003eWhy You'll Love It\u003c\/h2\u003e\n\u003cdiv aria-label=\"Three product highlights. Swipe, use arrow keys or drag the desktop scrollbar.\" class=\"carousel\" role=\"region\" tabindex=\"0\"\u003e\n\u003carticle aria-label=\"1 of 3\" class=\"slide\"\u003e\u003cimg alt=\"Cream handmade raised yarn Oliver name on a multicolour sack\" class=\"\" decoding=\"async\" draggable=\"false\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0783\/8328\/4506\/files\/cgc-personalised-striped-santa-sack-detail-02.jpg?v=1793516078\" style=\"object-position:center center;\"\u003e\u003cdiv class=\"slide-copy\"\u003e\n\u003ch3\u003eA Handmade Name\u003c\/h3\u003e\n\u003cp\u003eRaised yarn-style lettering, handmade with their chosen name.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\u003carticle aria-label=\"2 of 3\" class=\"slide\"\u003e\u003cimg alt=\"Yellow and pink striped sacks with oversized bows\" class=\"\" decoding=\"async\" draggable=\"false\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0783\/8328\/4506\/files\/cgc-personalised-striped-santa-sack-detail-03.jpg?v=1793516082\" style=\"object-position:center center;\"\u003e\u003cdiv class=\"slide-copy\"\u003e\n\u003ch3\u003eFive Striped Designs\u003c\/h3\u003e\n\u003cp\u003eColourful stripes finished with a decorative oversized bow.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\u003carticle aria-label=\"3 of 3\" class=\"slide\"\u003e\u003cimg alt=\"Placing a wrapped Christmas present inside a personalised sack\" class=\"\" decoding=\"async\" draggable=\"false\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0783\/8328\/4506\/files\/cgc-personalised-striped-santa-sack-detail-04.jpg?v=1793516087\" style=\"object-position:center center;\"\u003e\u003cdiv class=\"slide-copy\"\u003e\n\u003ch3\u003eRoom for Christmas\u003c\/h3\u003e\n\u003cp\u003eA spacious 50 × 70 cm sack for their Christmas presents.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\n\u003c\/div\u003e\n\u003cp class=\"desktop-scroll-hint\"\u003eDrag the scrollbar to explore.\u003c\/p\u003e\u003c\/section\u003e\u003cdiv class=\"showcase\"\u003e\u003cimg alt=\"Three striped Christmas sacks with different names and icons\" class=\"wide-photo\" decoding=\"async\" draggable=\"false\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0783\/8328\/4506\/files\/cgc-personalised-striped-santa-sack-detail-05.jpg?v=1793516094\"\u003e\u003c\/div\u003e\n\u003csection aria-labelledby=\"details-title\"\u003e\u003ch2 id=\"details-title\"\u003eProduct Details\u003c\/h2\u003e\n\u003cdiv class=\"detail-list\"\u003e\n\u003carticle class=\"detail-row\"\u003e\u003cimg alt=\"Green and white striped polyester fabric with raised yarn lettering\" class=\"\" decoding=\"async\" draggable=\"false\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0783\/8328\/4506\/files\/cgc-personalised-striped-santa-sack-detail-06.jpg?v=1793516098\"\u003e\u003cdiv\u003e\n\u003ch3\u003ePolyester Fabric\u003c\/h3\u003e\n\u003cp\u003eA polyester gift sack with colourful vertical stripes.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\u003carticle class=\"detail-row\"\u003e\u003cimg alt=\"Oversized red bow and gathered striped sack top\" class=\"\" decoding=\"async\" draggable=\"false\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0783\/8328\/4506\/files\/cgc-personalised-striped-santa-sack-detail-07.jpg?v=1793516102\"\u003e\u003cdiv\u003e\n\u003ch3\u003eAn Oversized Bow\u003c\/h3\u003e\n\u003cp\u003eA decorative oversized bow completes the Christmas look.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\u003carticle class=\"detail-row size-row\"\u003e\u003ch3\u003eSize\u003c\/h3\u003e\n\u003ctable class=\"size-guide-table\" aria-label=\"Christmas sack dimensions\"\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth scope=\"col\"\u003eMeasurement\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eCentimetres\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eInches\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\u003ctr\u003e\n\u003cth scope=\"row\"\u003eSack Size\u003c\/th\u003e\n\u003ctd\u003e50 × 70 cm\u003c\/td\u003e\n\u003ctd\u003e19.7 × 27.6 in\u003c\/td\u003e\n\u003c\/tr\u003e\u003c\/tbody\u003e\n\u003c\/table\u003e\u003c\/article\u003e\n\u003c\/div\u003e\n\u003cp class=\"sack-option-copy\"\u003e\u003cstrong\u003ePersonalisation: \u003c\/strong\u003eOne chosen name, up to 12 characters. Choose up to 4 festive icons per sack.\u003c\/p\u003e\n\u003cp class=\"sack-option-copy\"\u003e\u003cstrong\u003eSack Colours: \u003c\/strong\u003ePink, Red, Green, Yellow, Multicolour.\u003c\/p\u003e\n\u003cp class=\"sack-option-copy\"\u003e\u003cstrong\u003eName Colours: \u003c\/strong\u003eCream, Red, Green, Brown, Pink, Sky Blue, Rainbow, Christmas Green Mix, Christmas Mix.\u003c\/p\u003e\n\u003cp class=\"sack-option-copy\"\u003e\u003cstrong\u003eFestive Icons: \u003c\/strong\u003e20 designs to choose from, C1–C20.\u003c\/p\u003e\u003c\/section\u003e\u003cimg alt=\"Grandparent and child with personalised Christmas gift sacks\" class=\"gift-photo\" decoding=\"async\" draggable=\"false\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0783\/8328\/4506\/files\/cgc-personalised-striped-santa-sack-detail-09.jpg?v=1793516106\"\u003e\u003csection aria-label=\"Gift occasions\" class=\"occasions\"\u003e\u003carticle class=\"occasion\"\u003e\u003cdiv class=\"occasion-icon\"\u003e\u003csvg aria-hidden=\"true\" viewbox=\"0 0 40 44\"\u003e\u003cpath d=\"M20 15C8 3 0 22 20 35c20-13 12-32 0-20z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch3\u003eChristmas Morning\u003c\/h3\u003e\n\u003cp\u003eTheir name on a sack filled with Christmas surprises.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"occasion\"\u003e\u003cdiv class=\"occasion-icon\"\u003e\u003csvg aria-hidden=\"true\" viewbox=\"0 0 40 44\"\u003e\u003cpath d=\"M20 15C8 3 0 22 20 35c20-13 12-32 0-20z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch3\u003eFor the Family\u003c\/h3\u003e\n\u003cp\u003eChoose a name and striped design for each person.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"occasion\"\u003e\u003cdiv class=\"occasion-icon\"\u003e\u003csvg aria-hidden=\"true\" viewbox=\"0 0 40 44\"\u003e\u003cpath d=\"M20 15C8 3 0 22 20 35c20-13 12-32 0-20z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch3\u003eUnder the Tree\u003c\/h3\u003e\n\u003cp\u003eColourful sacks for your Christmas presents.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"occasion\"\u003e\u003cdiv class=\"occasion-icon\"\u003e\u003csvg aria-hidden=\"true\" viewbox=\"0 0 40 44\"\u003e\u003cpath d=\"M20 15C8 3 0 22 20 35c20-13 12-32 0-20z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch3\u003eYear After Year\u003c\/h3\u003e\n\u003cp\u003eA personalised sack to reuse for Christmas celebrations.\u003c\/p\u003e\u003c\/article\u003e\u003c\/section\u003e\u003csection aria-labelledby=\"care-title\"\u003e\u003ch2 id=\"care-title\"\u003eGood To Know\u003c\/h2\u003e\n\u003cdiv class=\"care-list\"\u003e\n\u003carticle class=\"care-row\"\u003e\u003cdiv class=\"care-image\"\u003e\n\u003cimg alt=\"Checking the spelling of Oliver against the handmade name\" class=\"\" decoding=\"async\" draggable=\"false\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0783\/8328\/4506\/files\/cgc-personalised-striped-santa-sack-detail-10.jpg?v=1793516110\"\u003e\u003cspan aria-hidden=\"true\" class=\"check\"\u003e✓\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003ch3\u003eCheck the Name\u003c\/h3\u003e\n\u003cp\u003eUp to 12 characters. Please check spelling.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\u003carticle class=\"care-row\"\u003e\u003cdiv class=\"care-image\"\u003e\n\u003cimg alt=\"Choosing four festive icon designs from reference cards\" class=\"\" decoding=\"async\" draggable=\"false\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0783\/8328\/4506\/files\/cgc-personalised-striped-santa-sack-detail-11.jpg?v=1793516115\"\u003e\u003cspan aria-hidden=\"true\" class=\"check\"\u003e✓\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003ch3\u003eChoose Your Icons\u003c\/h3\u003e\n\u003cp\u003eChoose up to 4 icons from C1–C20.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\u003carticle class=\"care-row\"\u003e\u003cdiv class=\"care-image\"\u003e\n\u003cimg alt=\"Folded personalised Christmas sacks ready for another Christmas\" class=\"\" decoding=\"async\" draggable=\"false\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0783\/8328\/4506\/files\/cgc-personalised-striped-santa-sack-detail-12-v2.jpg?v=1793516276\"\u003e\u003cspan aria-hidden=\"true\" class=\"check\"\u003e✓\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003ch3\u003eReuse Next Christmas\u003c\/h3\u003e\n\u003cp\u003eBring it out for Christmas, year after year.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003c\/main\u003e\u003cscript\u003e(function () {\n  'use strict';\n  var productPath = \"\/products\/personalised-santa-sack-large-striped-christmas-gift-bag-with-custom-yarn-name\";\n  if (location.protocol !== 'file:' \u0026\u0026 !decodeURIComponent(location.pathname.replace(\/\\\/$\/, '')).endsWith(productPath)) return;\n  if (window.__cgcStripedSantaSackCarouselInstalled) return;\n  window.__cgcStripedSantaSackCarouselInstalled = true;\n  var drag = null;\n  document.addEventListener('pointerdown', function (e) {\n    if (e.pointerType !== 'mouse' || e.button !== 0 || !e.target.closest) return;\n    var track = e.target.closest('.cgc-template .carousel');\n    if (!track || e.target.closest('a,button,input,select,textarea')) return;\n    var rect = track.getBoundingClientRect();\n    var scrollbarHeight = track.offsetHeight - track.clientHeight;\n    \/\/ Keep the native desktop scrollbar fully usable.\n    if (scrollbarHeight \u003e 0 \u0026\u0026 e.clientY \u003e= rect.bottom - scrollbarHeight) return;\n    drag = {track: track, id: e.pointerId, x: e.clientX, left: track.scrollLeft};\n    track.classList.add('is-dragging');\n    track.setPointerCapture(e.pointerId);\n    e.preventDefault();\n  }, true);\n  document.addEventListener('pointermove', function (e) {\n    if (!drag || e.pointerId !== drag.id) return;\n    drag.track.scrollLeft = drag.left + drag.x - e.clientX;\n    e.preventDefault();\n  }, {capture: true, passive: false});\n  function finish(e) {\n    if (!drag || (e \u0026\u0026 e.pointerId !== drag.id)) return;\n    var state = drag, track = state.track, left = track.scrollLeft;\n    drag = null;\n    track.classList.remove('is-dragging');\n    if (track.hasPointerCapture(state.id)) track.releasePointerCapture(state.id);\n    var start = track.getBoundingClientRect().left;\n    var max = track.scrollWidth - track.clientWidth;\n    var positions = Array.from(track.querySelectorAll('.slide')).map(function (card) {\n      return Math.max(0, Math.min(max, card.getBoundingClientRect().left - start + left));\n    });\n    if (!positions.length) return;\n    var closest = positions.reduce(function (best, value) {\n      return Math.abs(value - left) \u003c Math.abs(best - left) ? value : best;\n    }, positions[0]);\n    track.scrollTo({left: closest, behavior: matchMedia('(prefers-reduced-motion: reduce)').matches ? 'auto' : 'smooth'});\n  }\n  document.addEventListener('pointerup', finish, true);\n  document.addEventListener('pointercancel', finish, true);\n  window.addEventListener('blur', function () { finish(); });\n  document.addEventListener('dragstart', function (e) {\n    if (e.target.closest \u0026\u0026 e.target.closest('.cgc-template .carousel')) e.preventDefault();\n  }, true);\n  document.addEventListener('keydown', function (e) {\n    if (e.key !== 'ArrowLeft' \u0026\u0026 e.key !== 'ArrowRight') return;\n    var track = e.target.closest \u0026\u0026 e.target.closest('.cgc-template .carousel');\n    if (!track) return;\n    var card = track.querySelector('.slide');\n    if (!card) return;\n    e.preventDefault();\n    track.scrollBy({left: (card.getBoundingClientRect().width + 16) * (e.key === 'ArrowRight' ? 1 : -1), behavior: 'smooth'});\n  }, true);\n}());\n\u003c\/script\u003e","brand":"Canvasgiftco","offers":[{"title":"Default Title","offer_id":53278695194906,"sku":"EG261101028-1-1","price":19.9,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0783\/8328\/4506\/files\/personalised-santa-sack-large-striped-christmas-gift-bag-with-custom-yarn-name-2962025.png?v=1793518754","url":"https:\/\/canvasgiftco.com\/de\/products\/personalised-santa-sack-large-striped-christmas-gift-bag-with-custom-yarn-name","provider":"Canvasgiftco","version":"1.0","type":"link"}