{"product_id":"crochet-christmas-gnome-toilet-paper","title":"Crochet Christmas Gnome Toilet Paper Holder Pattern","description":"\u003cdiv class=\"cs-product-wrapper cs-christmas\" id=\"csTop\"\u003e\n\u003c!-- ❄️ page-wide animated Christmas layer --\u003e\n\u003cdiv class=\"cs-page-fx\"\u003e\n\u003cspan class=\"cs-snow cs-snow--1\"\u003e❄️\u003c\/span\u003e \u003cspan class=\"cs-snow cs-snow--2\"\u003e❄️\u003c\/span\u003e \u003cspan class=\"cs-snow cs-snow--3\"\u003e❅\u003c\/span\u003e \u003cspan class=\"cs-snow cs-snow--4\"\u003e❄️\u003c\/span\u003e \u003cspan class=\"cs-snow cs-snow--5\"\u003e❆\u003c\/span\u003e \u003cspan class=\"cs-snow cs-snow--6\"\u003e❄️\u003c\/span\u003e \u003cspan class=\"cs-snow cs-snow--7\"\u003e❅\u003c\/span\u003e \u003cspan class=\"cs-snow cs-snow--8\"\u003e❄️\u003c\/span\u003e \u003cspan class=\"cs-snow cs-snow--9\"\u003e❆\u003c\/span\u003e \u003cspan class=\"cs-snow cs-snow--10\"\u003e❄️\u003c\/span\u003e \u003cspan class=\"cs-snow cs-snow--11\"\u003e❅\u003c\/span\u003e \u003cspan class=\"cs-snow cs-snow--12\"\u003e❄️\u003c\/span\u003e \u003cspan class=\"cs-pfx-drift cs-pfx-drift--1\"\u003e🎅\u003c\/span\u003e \u003cspan class=\"cs-pfx-drift cs-pfx-drift--2\"\u003e🧻\u003c\/span\u003e \u003cspan class=\"cs-pfx-drift cs-pfx-drift--3\"\u003e🎁\u003c\/span\u003e \u003cspan class=\"cs-pfx-drift cs-pfx-drift--4\"\u003e🦌\u003c\/span\u003e\n\u003cdiv class=\"cs-hang cs-hang--1\"\u003e\n\u003cspan class=\"cs-hang-thread\"\u003e\u003c\/span\u003e\u003cspan class=\"cs-hang-orn\"\u003e🔔\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-hang cs-hang--2\"\u003e\n\u003cspan class=\"cs-hang-thread\"\u003e\u003c\/span\u003e\u003cspan class=\"cs-hang-orn\"\u003e⭐\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-hang cs-hang--3\"\u003e\n\u003cspan class=\"cs-hang-thread\"\u003e\u003c\/span\u003e\u003cspan class=\"cs-hang-orn\"\u003e🎄\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-hang cs-hang--4\"\u003e\n\u003cspan class=\"cs-hang-thread\"\u003e\u003c\/span\u003e\u003cspan class=\"cs-hang-orn\"\u003e🔔\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-hang cs-hang--5\"\u003e\n\u003cspan class=\"cs-hang-thread\"\u003e\u003c\/span\u003e\u003cspan class=\"cs-hang-orn\"\u003e⭐\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-hang cs-hang--6\"\u003e\n\u003cspan class=\"cs-hang-thread\"\u003e\u003c\/span\u003e\u003cspan class=\"cs-hang-orn\"\u003e🎁\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 🎯 HERO --\u003e\n\u003cdiv class=\"cs-hero-section\"\u003e\n\u003cdiv class=\"cs-spooky-layer\"\u003e\n\u003cspan class=\"cs-corner-flake cs-corner-flake--l\"\u003e❄️\u003c\/span\u003e \u003cspan class=\"cs-corner-flake cs-corner-flake--r\"\u003e❄️\u003c\/span\u003e \u003cspan class=\"cs-drift cs-drift--1\"\u003e🎅\u003c\/span\u003e \u003cspan class=\"cs-drift cs-drift--2\"\u003e🍃\u003c\/span\u003e \u003cspan class=\"cs-drift cs-drift--3\"\u003e❄️\u003c\/span\u003e \u003cspan class=\"cs-fog cs-fog--1\"\u003e\u003c\/span\u003e \u003cspan class=\"cs-fog cs-fog--2\"\u003e\u003c\/span\u003e \u003cspan class=\"cs-tree\"\u003e🎄\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-hero-content\"\u003e\n\u003cspan class=\"cs-hero-badge\"\u003e✨ Instant Digital Download\u003c\/span\u003e\n\u003ch1 class=\"cs-hero-title\"\u003eGnome Toilet Paper Holder 🎅\u003c\/h1\u003e\n\u003cp class=\"cs-hero-subtitle\"\u003eBring a touch of Christmas magic to your bathroom with this festive crocheted gnome toilet paper holder pattern. The finished item depicts a whimsical gnome holding a toilet paper roll — combining a practical decorative element with a refined seasonal crochet piece. A faux-wood rod holds the roll in his hands, giving this gnome both a decorative look and a useful function, while the classic palette of red, cream, olive green, and warm brown creates a cozy, rustic Christmas atmosphere. You can also personalize your creation by choosing yarn colors to match your Christmas decorations. Please note: this listing is for the digital crochet pattern used to create this project, not the finished gnome.\u003c\/p\u003e\n\u003cdiv class=\"cs-hero-features\"\u003e\n\u003cdiv class=\"cs-hero-feature\"\u003e\n\u003cspan class=\"cs-hero-feature-icon\"\u003e🎅\u003c\/span\u003e \u003cspan\u003eWhimsical gnome holding a toilet paper roll\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-hero-feature\"\u003e\n\u003cspan class=\"cs-hero-feature-icon\"\u003e🧻\u003c\/span\u003e \u003cspan\u003ePractical \u0026amp; decorative in one piece\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-hero-feature\"\u003e\n\u003cspan class=\"cs-hero-feature-icon\"\u003e🎨\u003c\/span\u003e \u003cspan\u003eRed, cream, olive green \u0026amp; warm brown palette\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-hero-feature\"\u003e\n\u003cspan class=\"cs-hero-feature-icon\"\u003e🏡\u003c\/span\u003e \u003cspan\u003eCozy rustic Christmas bathroom decor\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-hero-image\"\u003e\n\u003cimg loading=\"eager\" class=\"cs-hero-img\" alt=\"Crochet Christmas Gnome Toilet Paper Holder Pattern - Digital PDF\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/Gnome_porte-papier_dans_un_salon_de_Noel_430x.webp?v=1791500849\"\u003e\n\u003cdiv class=\"cs-hero-image-badge\"\u003e\n\u003cspan class=\"cs-badge-icon\"\u003e🎅\u003c\/span\u003e\n\u003cdiv class=\"cs-badge-text\"\u003e\n\u003cstrong\u003eGnome Holder\u003c\/strong\u003e \u003cspan\u003eChristmas bathroom decoration\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ⭐ PHOTO REVIEWS --\u003e\n\u003cdiv class=\"cs-photo-reviews-section\"\u003e\n\u003cdiv class=\"cs-photo-reviews-header\"\u003e\n\u003cdiv class=\"cs-pr-rating\"\u003e\n\u003cdiv class=\"cs-pr-stars\"\u003e★★★★★\u003c\/div\u003e\n\u003cdiv class=\"cs-pr-rating-text\"\u003e\n\u003cstrong\u003e4.9\u003c\/strong\u003e · \u003cspan\u003eReal reviews from real makers\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-pr-title\"\u003e🎄 Loved by Festive Makers\u003c\/div\u003e\n\u003cdiv class=\"cs-pr-subtitle\"\u003eReal gnome holders made by real customers, standing guard in bathrooms every December\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"csPhotoReviewSlider\" class=\"cs-photo-reviews-slider\"\u003e\n\u003cdiv class=\"cs-photo-reviews-track\"\u003e\n\u003c!-- Review 1 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Gnome toilet paper holder by Ansgarda\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/Atelier_de_gnome_de_Noel_crochete-11_430x.webp?v=1791501262\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eBest gnome pattern I have ever bought the PDF is so detailed mine came out exactly like the photos\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eAnsgarda V\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 2 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Gnome toilet paper holder by Brandgifu\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/Atelier_de_tricotage_du_gnome_de_Noel-4_430x.webp?v=1791501262\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eThe curved brim hat with its snowflakes holly and berries is a little work of art\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eBrandgifu K\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 3 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Gnome toilet paper holder by Cwenhilda\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Oct_8_2026_11_11_15_PM-9_430x.webp?v=1791501262\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eThe soft white beard and round crocheted nose give him so much personality great pattern\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eCwenhilda R\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 4 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Gnome toilet paper holder by Domberga\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Oct_8_2026_11_11_18_PM-10_430x.webp?v=1791501262\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eThe heart patterned mittens are the sweetest detail this PDF thinks of everything\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eDomberga M\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 5 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Gnome toilet paper holder by Erkenberta\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/Gnome_au_crochet_sur_table_creative-8_430x.webp?v=1791501262\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eThe striped legs and little brown boots with bows and buttons made me smile the whole time\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eErkenberta B\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 6 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Gnome toilet paper holder by Fernilda\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/Gnome_crochete_porte-rouleau_de_Noel-9_430x.webp?v=1791501262\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eThe faux wood rod idea works perfectly he holds the roll like a proud little guard\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eFernilda T\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 7 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Gnome toilet paper holder by Gondulfa\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/Gnome_de_Noel_crochete_au_coeur_rouge-10_430x.webp?v=1791501262\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003ePractical and decorative at once our guest bathroom has never looked so festive\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eGondulfa S\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 8 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Gnome toilet paper holder by Helmburga\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/Gnome_de_Noel_crochete_sur_table_decoree-5_430x.webp?v=1791501262\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eThe raised cream flower and beads on the hat lift the whole design best festive PDF I own\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eHelmburga N\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 9 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Gnome toilet paper holder by Isolinda\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/Gnome_de_Noel_tricote_sur_comptoir-7_430x.webp?v=1791501262\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eThe red cream olive and warm brown palette is so cozy and rustic exactly my style\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eIsolinda D\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 10 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Gnome toilet paper holder by Jorsinda\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/Atelier_crochet_du_gnome_de_Noel-1_430x.webp?v=1791501256\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eI swapped the yarn colors to match my bathroom decorations and the pattern adapted beautifully\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eJorsinda F\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 11 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Gnome toilet paper holder by Kasmilda\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Oct_8_2026_11_10_55_PM-1_430x.webp?v=1791501256\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eEvery guest who visits comes out of the bathroom asking where we bought him\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eKasmilda H\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 12 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Gnome toilet paper holder by Lioba\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Oct_8_2026_11_10_57_PM-2_430x.webp?v=1791501256\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eThe cozy red and cream arms wrap around the roll so nicely such a clever construction\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eLioba G\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 13 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Gnome toilet paper holder by Mabilia\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Oct_8_2026_11_11_02_PM-4_430x.webp?v=1791501256\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eSuch a relaxing holiday craft project the pieces come together one cozy evening at a time\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eMabilia W\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 14 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Gnome toilet paper holder by Noyala\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Oct_8_2026_11_11_04_PM-5_430x.webp?v=1791501256\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eFits our rustic seasonal style perfectly this detailed easy pattern is a holiday treasure\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eNoyala P\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 15 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Gnome toilet paper holder by Oldrada\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Oct_8_2026_11_11_07_PM-6_430x.webp?v=1791501256\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eThe textured hat instructions are wonderfully clear every ridge landed right where it should\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eOldrada C\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 16 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Gnome toilet paper holder by Pharaildis\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Oct_8_2026_11_11_10_PM-7_430x.webp?v=1791501255\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eMade one as a holiday craft gift and my friend set him up in her bathroom that same evening\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003ePharaildis L\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 17 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Gnome toilet paper holder by Quineberta\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Oct_8_2026_11_11_12_PM-8_430x.webp?v=1791501256\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eThe olive holly leaves and red berries against the cream snowflakes are simply gorgeous\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eQuineberta A\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 18 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Gnome toilet paper holder by Ragenfrida\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/Gnome_de_Noel_au_crochet_en_cours-2_430x.webp?v=1791501256\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eSuch a unique seasonal piece for our home nobody else on the street has anything like him\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eRagenfrida E\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 19 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Gnome toilet paper holder by Sunniva\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/Gnome_de_Noel_crochete_et_chaleureux-3_430x.webp?v=1791501256\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eAlready crocheting a second gnome for the downstairs bathroom because this pattern is that good\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eSunniva J\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"csPhotoReviewDots\" class=\"cs-pr-dots\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- DELIVERY \u0026 INFO BOX --\u003e\n\u003cdiv class=\"cs-info-box\"\u003e\n\u003cdiv class=\"cs-info-item\"\u003e\n\u003csvg height=\"28\" width=\"28\" stroke-width=\"2\" stroke=\"#35553f\" fill=\"none\" viewbox=\"0 0 24 24\" class=\"cs-info-icon\"\u003e\u003cpath d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n\u003cdiv class=\"cs-info-text\"\u003e\n\u003cstrong\u003eInstant Delivery\u003c\/strong\u003e \u003cspan\u003ePDF arrives in your email within 1 minute\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-info-divider\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-info-item\"\u003e\n\u003csvg height=\"28\" width=\"28\" stroke-width=\"2\" stroke=\"#35553f\" fill=\"none\" viewbox=\"0 0 24 24\" class=\"cs-info-icon\"\u003e\u003cpath d=\"M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n\u003cdiv class=\"cs-info-text\"\u003e\n\u003cstrong\u003eLifetime Access\u003c\/strong\u003e \u003cspan\u003eDownload forever, display every December\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-info-divider\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-info-item\"\u003e\n\u003csvg height=\"28\" width=\"28\" stroke-width=\"2\" stroke=\"#35553f\" fill=\"none\" viewbox=\"0 0 24 24\" class=\"cs-info-icon\"\u003e\u003cpath d=\"M20 6L9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n\u003cdiv class=\"cs-info-text\"\u003e\n\u003cstrong\u003ePractical \u0026amp; Decorative\u003c\/strong\u003e \u003cspan\u003eA gnome that actually holds the roll\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 🔒 PREVIEW + LOCKED PAGE TEASER --\u003e\n\u003cdiv class=\"cs-preview-section\"\u003e\n\u003ch2 class=\"cs-section-title\"\u003e👀 Peek at the Design\u003c\/h2\u003e\n\u003cp class=\"cs-preview-subtitle\"\u003eGet a free look — unlock the full step-by-step pattern with the bundle\u003c\/p\u003e\n\u003cdiv class=\"cs-preview-grid cs-preview-grid-small\"\u003e\n\u003ca class=\"cs-preview-page cs-preview-visible\" href=\"#csZoom1\"\u003e\n\u003cdiv class=\"cs-preview-page-inner\"\u003e\u003cimg loading=\"lazy\" class=\"cs-preview-img\" alt=\"Gnome Toilet Paper Holder - Free Preview\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/GnomedeNoelaurouleaudepapiertoilette-7_430x.webp?v=1791500840\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-preview-label cs-preview-label-free\"\u003e\n\u003cspan\u003e✓\u003c\/span\u003e Free Preview · Tap to enlarge\u003c\/div\u003e\n\u003c\/a\u003e\u003ca class=\"cs-preview-page cs-preview-locked\" href=\"#csTop\"\u003e\n\u003cdiv class=\"cs-preview-page-inner\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-preview-img cs-preview-img-blurred\" alt=\"Gnome Toilet Paper Holder - Locked Preview\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/GnomedeNoelaurouleaudepapiertoilette-8_430x.webp?v=1791500839\"\u003e\n\u003cdiv class=\"cs-preview-overlay\"\u003e\n\u003cdiv class=\"cs-preview-lock-icon\"\u003e🔒\u003c\/div\u003e\n\u003cdiv class=\"cs-preview-lock-title\"\u003eUnlock the full pattern\u003c\/div\u003e\n\u003cdiv class=\"cs-preview-lock-text\"\u003eGet more patterns in our bundle\u003c\/div\u003e\n\u003cdiv class=\"cs-preview-lock-btn\"\u003eView Bundle Deal ↑\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-preview-label cs-preview-label-locked\"\u003e\n\u003cspan\u003e🔒\u003c\/span\u003e Members Only\u003c\/div\u003e\n\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 🔍 CSS-ONLY ZOOM TARGET --\u003e\n\u003cdiv class=\"cs-zoom\" id=\"csZoom1\"\u003e\n\u003ca class=\"cs-zoom-backdrop\" href=\"#csTop\"\u003e\u003c\/a\u003e \u003ca class=\"cs-zoom-close\" href=\"#csTop\"\u003e×\u003c\/a\u003e \u003cimg class=\"cs-zoom-img\" alt=\"Gnome Toilet Paper Holder - Free Preview enlarged\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/GnomedeNoelaurouleaudepapiertoilette-7_430x.webp?v=1791500840\"\u003e\n\u003c\/div\u003e\n\u003c!-- 🎨 LIFESTYLE IMAGE 1 --\u003e\n\u003cdiv class=\"cs-lifestyle-image\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-lifestyle-img\" alt=\"Gnome Toilet Paper Holder - Details\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/GnomedeNoelaurouleaudepapiertoilette-8_430x.webp?v=1791500839\"\u003e\n\u003cdiv class=\"cs-lifestyle-caption\"\u003e\n\u003cspan class=\"cs-lifestyle-icon\"\u003e🎅\u003c\/span\u003e\n\u003cp\u003eA richly textured curved-brim red hat with cream snowflakes, olive-green holly leaves, red berries, beads and a raised cream flower — plus a soft white beard, round crocheted nose, heart-patterned mittens, striped legs and warm brown boots with bows and buttons\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- WHAT YOU'LL RECEIVE --\u003e\n\u003cdiv class=\"cs-receive-section\"\u003e\n\u003ch2 class=\"cs-section-title\"\u003e🎁 What You'll Receive\u003c\/h2\u003e\n\u003cdiv class=\"cs-receive-grid\"\u003e\n\u003cdiv class=\"cs-receive-item\"\u003e\n\u003cspan class=\"cs-receive-emoji\"\u003e📖\u003c\/span\u003e\n\u003ch4\u003eDigital PDF Pattern\u003c\/h4\u003e\n\u003cp\u003eThe crochet gnome toilet paper holder pattern\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-receive-item\"\u003e\n\u003cspan class=\"cs-receive-emoji\"\u003e🎩\u003c\/span\u003e\n\u003ch4\u003eThe Showpiece Hat\u003c\/h4\u003e\n\u003cp\u003eCurved brim, snowflakes, holly, berries, beads \u0026amp; flower\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-receive-item\"\u003e\n\u003cspan class=\"cs-receive-emoji\"\u003e🎅\u003c\/span\u003e\n\u003ch4\u003eFull of Character\u003c\/h4\u003e\n\u003cp\u003eSoft white beard, round nose \u0026amp; cozy red-and-cream arms\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-receive-item\"\u003e\n\u003cspan class=\"cs-receive-emoji\"\u003e🧤\u003c\/span\u003e\n\u003ch4\u003eCharming Details\u003c\/h4\u003e\n\u003cp\u003eHeart-patterned mittens, striped legs \u0026amp; brown boots with bows\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-receive-item\"\u003e\n\u003cspan class=\"cs-receive-emoji\"\u003e🧻\u003c\/span\u003e\n\u003ch4\u003eWorking Holder\u003c\/h4\u003e\n\u003cp\u003eA faux-wood rod holds the roll in his hands\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-receive-item\"\u003e\n\u003cspan class=\"cs-receive-emoji\"\u003e🎨\u003c\/span\u003e\n\u003ch4\u003eYour Colors\u003c\/h4\u003e\n\u003cp\u003ePersonalize yarn colors to match your decorations\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- MATERIALS --\u003e\n\u003cdiv class=\"cs-why-section\"\u003e\n\u003ch2 class=\"cs-section-title\"\u003e🧶 Materials Needed\u003c\/h2\u003e\n\u003cdiv class=\"cs-why-grid\"\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eCoordinating yarn colors\u003c\/strong\u003e — classic red, cream, olive green \u0026amp; warm brown, or your own palette\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eCrochet tools\u003c\/strong\u003e — your usual crochet kit\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eStuffing\u003c\/strong\u003e — for the raised elements\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eDecorative buttons\u003c\/strong\u003e — for the boots \u0026amp; finishing touches\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eA suitable stand\/rod\u003c\/strong\u003e — to hold the toilet paper roll\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eNote\u003c\/strong\u003e — exact needs depend on your construction \u0026amp; finishing preferences\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- PATTERN AT A GLANCE --\u003e\n\u003cdiv class=\"cs-why-section\"\u003e\n\u003ch2 class=\"cs-section-title\"\u003e📋 Pattern at a Glance\u003c\/h2\u003e\n\u003cdiv class=\"cs-why-grid\"\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003ePattern type\u003c\/strong\u003e — crochet gnome toilet paper holder pattern\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eTheme\u003c\/strong\u003e — Christmas \/ Holidays\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eCategory\u003c\/strong\u003e — crochet home decor patterns\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eProduct type\u003c\/strong\u003e — digital crochet pattern download\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eSpecifications\u003c\/strong\u003e — exact yarn weight, hook size \u0026amp; finished dimensions are stated in the pattern itself\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eNote\u003c\/strong\u003e — the final result may vary depending on yarn, hook size, tension, materials \u0026amp; individual crochet technique\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 🎨 LIFESTYLE IMAGE 2 --\u003e\n\u003cdiv class=\"cs-lifestyle-image\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-lifestyle-img\" alt=\"Gnome Toilet Paper Holder - Festive display\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/GnomedeNoelaurouleaudepapiertoilette-10_430x.webp?v=1791500840\"\u003e\n\u003cdiv class=\"cs-lifestyle-caption\"\u003e\n\u003cspan class=\"cs-lifestyle-icon\"\u003e🎄\u003c\/span\u003e\n\u003cp\u003eBoth decorative and useful — a cozy, rustic Christmas touch for the bathroom, in the classic palette of red, cream, olive green and warm brown, or in colors matched to your own decorations\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- PERFECT FOR --\u003e\n\u003cdiv class=\"cs-why-section\"\u003e\n\u003ch2 class=\"cs-section-title\"\u003e🎄 Perfect For\u003c\/h2\u003e\n\u003cdiv class=\"cs-why-grid\"\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eChristmas bathroom decor\u003c\/strong\u003e — magic in an unexpected room\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eHoliday home decor\u003c\/strong\u003e — a whimsical seasonal touch\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eRustic-inspired seasonal style\u003c\/strong\u003e — cozy warm-toned charm\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eDIY Christmas crochet projects\u003c\/strong\u003e — a rewarding festive make\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eFestive toilet paper storage \u0026amp; display\u003c\/strong\u003e — practical charm\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eHoliday craft creations \u0026amp; unique pieces\u003c\/strong\u003e — one of a kind for your home\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- HOW IT WORKS --\u003e\n\u003cdiv class=\"cs-how-section\"\u003e\n\u003cdiv class=\"cs-spooky-layer cs-spooky-layer--dark\"\u003e\n\u003cspan class=\"cs-dark-fx cs-dark-fx--1\"\u003e❄️\u003c\/span\u003e \u003cspan class=\"cs-dark-fx cs-dark-fx--2\"\u003e⭐\u003c\/span\u003e \u003cspan class=\"cs-dark-fx cs-dark-fx--3\"\u003e❄️\u003c\/span\u003e \u003cspan class=\"cs-dark-fx cs-dark-fx--4\"\u003e🔔\u003c\/span\u003e \u003cspan class=\"cs-tree cs-tree--dark\"\u003e🎄\u003c\/span\u003e\n\u003c\/div\u003e\n\u003ch2 class=\"cs-section-title\"\u003e✨ How It Works\u003c\/h2\u003e\n\u003cdiv class=\"cs-steps-container\"\u003e\n\u003cdiv class=\"cs-step\"\u003e\n\u003cdiv class=\"cs-step-number\"\u003e1\u003c\/div\u003e\n\u003cdiv class=\"cs-step-content\"\u003e\n\u003ch4\u003eOrder Placed\u003c\/h4\u003e\n\u003cp\u003eToday · Secure checkout\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-step-arrow\"\u003e→\u003c\/div\u003e\n\u003cdiv class=\"cs-step\"\u003e\n\u003cdiv class=\"cs-step-number\"\u003e2\u003c\/div\u003e\n\u003cdiv class=\"cs-step-content\"\u003e\n\u003ch4\u003ePayment Confirmed\u003c\/h4\u003e\n\u003cp\u003eWithin 1 minute\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-step-arrow\"\u003e→\u003c\/div\u003e\n\u003cdiv class=\"cs-step\"\u003e\n\u003cdiv class=\"cs-step-number\"\u003e3\u003c\/div\u003e\n\u003cdiv class=\"cs-step-content\"\u003e\n\u003ch4\u003ePDF Delivered\u003c\/h4\u003e\n\u003cp\u003eInstantly to your email\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- WHY MAKERS LOVE --\u003e\n\u003cdiv class=\"cs-why-section\"\u003e\n\u003ch2 class=\"cs-section-title\"\u003e💚 Why Makers Love This Pattern\u003c\/h2\u003e\n\u003cdiv class=\"cs-why-grid\"\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eDecorative + useful\u003c\/strong\u003e — he actually holds the toilet paper roll\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eA showpiece hat\u003c\/strong\u003e — snowflakes, holly, berries, beads \u0026amp; flower\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eCharacter in every piece\u003c\/strong\u003e — beard, nose, mittens, boots \u0026amp; bows\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eCozy rustic palette\u003c\/strong\u003e — red, cream, olive green \u0026amp; warm brown\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eFully customizable\u003c\/strong\u003e — pick colors to match your decorations\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eLifetime access\u003c\/strong\u003e — download once, display every Christmas\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- FAQ --\u003e\n\u003cdiv class=\"cs-faq-section\"\u003e\n\u003ch2 class=\"cs-section-title\"\u003e❓ Frequently Asked Questions\u003c\/h2\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eIs this a finished gnome?\u003c\/summary\u003e\n\u003cp\u003eNo — this listing is for the digital crochet pattern used to create this project, not the finished gnome. It's a digital download only; no physical product will be shipped.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eWhat does the design include?\u003c\/summary\u003e\n\u003cp\u003eA whimsical gnome holding a toilet paper roll: a richly textured curved-brim red hat with cream snowflakes, olive-green holly leaves, red berries, beads, and a raised cream flower; a soft white beard; a round crocheted nose; cozy red and cream arms; heart-patterned mittens; striped legs; and warm brown boots with decorative bows and buttons. A faux-wood rod holds the roll in his hands.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eWhat materials do I need?\u003c\/summary\u003e\n\u003cp\u003eDepending on your construction and finishing preferences, this project involves coordinating yarn colors, crochet tools, stuffing for the raised elements, decorative buttons, and a suitable stand\/rod for the toilet paper roll.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eWhat are the exact specifications?\u003c\/summary\u003e\n\u003cp\u003eThe exact yarn weight, hook size, and finished dimensions are stated in the pattern itself. Please note the final result may vary depending on the yarn, hook size, tension, materials, and individual crochet technique.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eCan I use different colors?\u003c\/summary\u003e\n\u003cp\u003eYes — the classic palette is red, cream, olive green, and warm brown, but you can personalize your creation by choosing yarn colors to match your own Christmas decorations.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eWhen do I get the pattern?\u003c\/summary\u003e\n\u003cp\u003eRight after your purchase — the pattern is delivered as an instant digital download (PDF) to your email, so you can start your gnome straight away. If you enjoy your gnome creation, we would greatly appreciate it if you could leave a review and rating. Happy crocheting! 🧶\u003c\/p\u003e\n\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n    \/* ==================== BRAND VARIABLES — CHRISTMAS EDITION ==================== *\/\n    .cs-product-wrapper {\n      --cs-forest: #35553f;\n      --cs-forest-dark: #26402f;\n      --cs-sage: #7c9b78;\n      --cs-terracotta: #b23a3a;\n      --cs-terracotta-dark: #8e2b2b;\n      --cs-cream: #faf6ef;\n      --cs-cream-dark: #f0e7d8;\n      --cs-sand: #e7d8c4;\n      --cs-text: #2c2a26;\n      --cs-text-light: #6f665c;\n      --cs-star: #e0a92e;\n      --cs-success: #4a7c59;\n      --cs-serif: Georgia, 'Cormorant Garamond', 'Times New Roman', serif;\n      font-family: inherit;\n      color: var(--cs-text);\n      line-height: 1.65;\n      max-width: 100%;\n      margin: 0 auto;\n    }\n    .cs-product-wrapper * { box-sizing: border-box; }\n    .cs-product-wrapper h1, .cs-product-wrapper h2, .cs-product-wrapper h3, .cs-product-wrapper h4 { margin: 0 0 12px; line-height: 1.3; }\n    .cs-product-wrapper p { margin: 0 0 12px; }\n\n    \/* ==================== HERO ==================== *\/\n    .cs-hero-section {\n      display: block;\n      text-align: center;\n      padding: 56px 36px;\n      background:\n        radial-gradient(circle at 88% 12%, rgba(124,155,120,0.16) 0%, rgba(124,155,120,0) 42%),\n        linear-gradient(135deg, var(--cs-cream) 0%, #fffdf9 100%);\n      border: 1px solid var(--cs-sand); border-radius: 24px; margin-bottom: 32px;\n    }\n    .cs-hero-content { max-width: 800px; margin: 0 auto 36px; }\n    .cs-hero-badge { display: inline-block; background: var(--cs-terracotta); color: #fff; padding: 8px 16px; border-radius: 50px; font-size: 12px; font-weight: 700; letter-spacing: 0.6px; text-transform: uppercase; margin-bottom: 18px; box-shadow: 0 4px 14px rgba(178,58,58,0.28); }\n    .cs-hero-title { font-family: var(--cs-serif); font-size: 46px; font-weight: 700; color: var(--cs-forest-dark); margin-bottom: 16px; line-height: 1.15; letter-spacing: 0.2px; }\n    .cs-hero-subtitle { font-size: 17px; color: var(--cs-text-light); margin-bottom: 26px; line-height: 1.7; }\n    .cs-hero-features { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; max-width: 580px; margin: 0 auto; }\n    .cs-hero-feature { display: flex; align-items: center; gap: 9px; font-size: 14px; color: var(--cs-text); background: rgba(255,255,255,0.6); border: 1px solid var(--cs-sand); border-radius: 10px; padding: 9px 12px; text-align: left; }\n    .cs-hero-feature-icon { font-size: 19px; }\n    .cs-hero-image { position: relative; max-width: 740px; margin: 0 auto; }\n    .cs-hero-img { width: 100%; height: auto; border-radius: 18px; box-shadow: 0 16px 40px rgba(53,85,63,0.22); border: 4px solid #fff; }\n    .cs-hero-image-badge { position: absolute; bottom: 16px; right: 16px; background: #fff; padding: 7px 12px; border-radius: 50px; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 8px 24px rgba(38,64,47,0.18); white-space: nowrap; }\n    .cs-badge-icon { font-size: 18px; flex-shrink: 0; line-height: 1; }\n    .cs-badge-text strong { display: block; font-size: 13px; color: var(--cs-forest-dark); line-height: 1.15; white-space: nowrap; }\n    .cs-badge-text span { display: block; font-size: 11px; color: var(--cs-text-light); white-space: nowrap; }\n\n    \/* ==================== ⭐ PHOTO REVIEWS ==================== *\/\n    .cs-photo-reviews-section { background: linear-gradient(135deg, var(--cs-cream) 0%, #fffdf9 100%); border-radius: 24px; padding: 34px 26px; margin: 0 0 28px; border: 1px solid var(--cs-sand); box-shadow: 0 6px 20px rgba(53,85,63,0.06); }\n    .cs-photo-reviews-header { text-align: center; margin-bottom: 26px; }\n    .cs-pr-rating { display: inline-flex; align-items: center; gap: 12px; background: #fff; padding: 8px 18px; border-radius: 50px; border: 1px solid var(--cs-sand); margin-bottom: 14px; box-shadow: 0 2px 8px rgba(53,85,63,0.08); }\n    .cs-pr-stars { color: var(--cs-star); font-size: 18px; letter-spacing: 2px; }\n    .cs-pr-rating-text { font-size: 14px; color: var(--cs-text-light); }\n    .cs-pr-rating-text strong { color: var(--cs-forest-dark); font-size: 16px; font-weight: 700; }\n    .cs-pr-title { font-family: var(--cs-serif); font-size: 27px; color: var(--cs-forest-dark); font-weight: 700; margin-bottom: 6px; }\n    .cs-pr-subtitle { font-size: 14px; color: var(--cs-text-light); font-style: italic; }\n\n    .cs-photo-reviews-slider { overflow: hidden; margin: 0 -8px; padding: 8px; }\n    .cs-photo-reviews-track { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding-bottom: 8px; scrollbar-width: thin; scrollbar-color: var(--cs-sage) transparent; }\n    .cs-photo-reviews-track::-webkit-scrollbar { height: 6px; }\n    .cs-photo-reviews-track::-webkit-scrollbar-track { background: var(--cs-cream-dark); border-radius: 4px; }\n    .cs-photo-reviews-track::-webkit-scrollbar-thumb { background: var(--cs-sage); border-radius: 4px; }\n\n    .cs-photo-review-card { flex: 0 0 280px; background: #fff; border-radius: 16px; overflow: hidden; border: 1px solid var(--cs-sand); scroll-snap-align: start; transition: all 0.3s ease; display: flex; flex-direction: column; }\n    .cs-photo-review-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(53,85,63,0.15); border-color: var(--cs-sage); }\n    .cs-pr-image { width: 100%; height: 280px; object-fit: cover; display: block; transition: transform 0.5s ease; background: var(--cs-cream); }\n    .cs-photo-review-card:hover .cs-pr-image { transform: scale(1.05); }\n    .cs-pr-content { padding: 16px 18px; flex-grow: 1; display: flex; flex-direction: column; }\n    .cs-pr-stars-small { color: var(--cs-star); font-size: 14px; letter-spacing: 1px; margin-bottom: 8px; }\n    .cs-pr-text { font-size: 14px; color: var(--cs-text); line-height: 1.55; font-style: italic; margin-bottom: 12px; flex-grow: 1; }\n    .cs-pr-author { display: flex; flex-direction: column; gap: 2px; padding-top: 10px; border-top: 1px solid var(--cs-cream-dark); }\n    .cs-pr-name { font-size: 13px; font-weight: 700; color: var(--cs-forest-dark); }\n    .cs-pr-verified { font-size: 11px; color: var(--cs-success); font-weight: 600; }\n\n    .cs-pr-dots { display: flex; justify-content: center; gap: 8px; margin-top: 18px; flex-wrap: wrap; }\n    .cs-pr-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--cs-sand); border: none; cursor: pointer; transition: all 0.3s ease; padding: 0; }\n    .cs-pr-dot.active { background: var(--cs-sage); width: 24px; border-radius: 4px; }\n\n    \/* ==================== 🔒 PREVIEW + LOCKED PAGES ==================== *\/\n    .cs-preview-section { background: linear-gradient(135deg, var(--cs-cream) 0%, #fffdf9 100%); border-radius: 24px; padding: 38px 26px; margin: 36px 0; border: 1px solid var(--cs-sand); }\n    .cs-preview-subtitle { text-align: center; font-size: 14px; color: var(--cs-text-light); font-style: italic; margin: -8px 0 28px; }\n    .cs-preview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 800px; margin: 0 auto; }\n    .cs-preview-grid-small { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; max-width: 480px; margin: 0 auto; justify-items: center; }\n    .cs-preview-grid-small .cs-preview-page { width: 100%; max-width: 200px; }\n    .cs-preview-page { display: block; text-decoration: none; color: inherit; transition: all 0.3s ease; cursor: pointer; }\n    .cs-preview-page-inner { position: relative; border-radius: 12px; overflow: hidden; aspect-ratio: 8.5 \/ 11; background: #fff; border: 1px solid var(--cs-sand); box-shadow: 0 6px 18px rgba(53,85,63,0.1); transition: all 0.3s ease; }\n    .cs-preview-img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; }\n    .cs-preview-visible:hover .cs-preview-page-inner { transform: translateY(-3px); box-shadow: 0 12px 24px rgba(53,85,63,0.18); }\n    .cs-preview-locked { cursor: pointer; }\n    .cs-preview-locked:hover .cs-preview-page-inner { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(53,85,63,0.22); border-color: var(--cs-terracotta); }\n    .cs-preview-locked:hover .cs-preview-lock-btn { background: var(--cs-terracotta-dark); transform: translateY(-2px); }\n    .cs-preview-img-blurred { filter: blur(6px) brightness(0.7); transform: scale(1.05); }\n    .cs-preview-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(38,64,47,0.35) 0%, rgba(38,64,47,0.88) 100%); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 12px; color: #fff; }\n    .cs-preview-lock-icon { font-size: 28px; margin-bottom: 6px; filter: drop-shadow(0 4px 8px rgba(0,0,0,0.3)); animation: cs-lock-bounce 2s ease-in-out infinite; }\n    @keyframes cs-lock-bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }\n    .cs-preview-lock-title { font-size: 13px; font-weight: 800; margin-bottom: 4px; line-height: 1.2; text-shadow: 0 2px 8px rgba(0,0,0,0.3); }\n    .cs-preview-lock-text { font-size: 10px; opacity: 0.95; margin-bottom: 10px; max-width: 160px; line-height: 1.3; }\n    .cs-preview-lock-btn { display: inline-block; text-decoration: none; background: var(--cs-terracotta); color: #fff; padding: 7px 14px; border-radius: 50px; font-size: 11px; font-weight: 700; letter-spacing: 0.3px; box-shadow: 0 4px 12px rgba(178,58,58,0.4); transition: all 0.3s ease; }\n    .cs-preview-label { text-align: center; margin-top: 8px; font-size: 11px; font-weight: 700; padding: 5px 10px; border-radius: 50px; display: inline-flex; align-items: center; gap: 5px; width: 100%; justify-content: center; }\n    .cs-preview-label-free { background: rgba(74,124,89,0.14); color: var(--cs-success); }\n    .cs-preview-label-locked { background: rgba(178,58,58,0.12); color: var(--cs-terracotta-dark); }\n\n    \/* ==================== 🔍 CSS-ONLY ZOOM ==================== *\/\n    .cs-zoom { display: none; position: fixed; inset: 0; z-index: 99999; align-items: center; justify-content: center; padding: 24px; }\n    .cs-zoom:target { display: flex; }\n    .cs-zoom-backdrop { position: absolute; inset: 0; background: rgba(30,40,32,0.93); cursor: zoom-out; display: block; }\n    .cs-zoom-img { position: relative; max-width: 92%; max-height: 88%; border-radius: 12px; box-shadow: 0 20px 60px rgba(0,0,0,0.5); object-fit: contain; z-index: 1; }\n    .cs-zoom-close { position: absolute; top: 20px; right: 28px; font-size: 42px; line-height: 1; color: #fff; text-decoration: none; cursor: pointer; font-weight: 300; text-shadow: 0 2px 8px rgba(0,0,0,0.4); z-index: 2; }\n\n    \/* ==================== 🎨 LIFESTYLE IMAGES ==================== *\/\n    .cs-lifestyle-image { margin: 32px 0; border-radius: 18px; overflow: hidden; box-shadow: 0 10px 28px rgba(53,85,63,0.1); background: var(--cs-cream); border: 1px solid var(--cs-sand); }\n    .cs-lifestyle-img { width: 100%; height: auto; display: block; }\n    .cs-lifestyle-caption { padding: 20px 24px; background: linear-gradient(135deg, var(--cs-cream) 0%, #fffdf9 100%); display: flex; align-items: center; gap: 12px; border-top: 1px solid var(--cs-sand); }\n    .cs-lifestyle-icon { font-size: 24px; flex-shrink: 0; }\n    .cs-lifestyle-caption p { font-size: 15px; color: var(--cs-text); font-weight: 500; margin: 0; line-height: 1.45; }\n\n    \/* ==================== INFO BOX ==================== *\/\n    .cs-info-box { background: #fff; border: 1px solid var(--cs-sand); border-radius: 16px; padding: 20px 22px; margin: 24px 0; display: flex; align-items: center; justify-content: space-around; gap: 16px; flex-wrap: wrap; box-shadow: 0 4px 14px rgba(53,85,63,0.05); }\n    .cs-info-item { display: flex; align-items: center; gap: 11px; flex: 1; min-width: 200px; }\n    .cs-info-icon { width: 28px; height: 28px; flex-shrink: 0; }\n    .cs-info-text strong { display: block; font-size: 14px; color: var(--cs-forest-dark); font-weight: 700; }\n    .cs-info-text span { font-size: 12px; color: var(--cs-text-light); }\n    .cs-info-divider { width: 1px; height: 36px; background: var(--cs-sand); }\n\n    \/* ==================== SECTION TITLES ==================== *\/\n    .cs-section-title { font-family: var(--cs-serif); font-size: 27px; color: var(--cs-forest-dark); font-weight: 700; text-align: center; margin-bottom: 24px; padding-bottom: 14px; position: relative; }\n    .cs-section-title::after { content: ''; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 56px; height: 3px; border-radius: 3px; background: var(--cs-terracotta); }\n\n    \/* ==================== RECEIVE ==================== *\/\n    .cs-receive-section { margin: 40px 0; }\n    .cs-receive-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }\n    .cs-receive-item { background: #fff; border: 1px solid var(--cs-sand); border-radius: 14px; padding: 22px 16px; text-align: center; transition: all 0.3s ease; }\n    .cs-receive-item:hover { transform: translateY(-3px); box-shadow: 0 10px 22px rgba(53,85,63,0.12); border-color: var(--cs-sage); }\n    .cs-receive-emoji { font-size: 32px; display: block; margin-bottom: 10px; }\n    .cs-receive-item h4 { font-size: 15px; color: var(--cs-forest-dark); font-weight: 700; }\n    .cs-receive-item p { font-size: 13px; color: var(--cs-text-light); margin: 0; }\n\n    \/* ==================== HOW IT WORKS ==================== *\/\n    .cs-how-section { background: linear-gradient(135deg, var(--cs-forest) 0%, var(--cs-forest-dark) 100%); border-radius: 20px; padding: 34px 24px; margin: 40px 0; }\n    .cs-how-section .cs-section-title { color: #fff; }\n    .cs-how-section .cs-section-title::after { background: var(--cs-terracotta); }\n    .cs-steps-container { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }\n    .cs-step { flex: 1; min-width: 180px; display: flex; align-items: center; gap: 12px; }\n    .cs-step-number { width: 46px; height: 46px; border-radius: 50%; background: var(--cs-terracotta); color: #fff; font-weight: 700; font-size: 18px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 4px 14px rgba(178,58,58,0.4); }\n    .cs-step-content h4 { font-size: 14px; color: #fff; margin: 0; }\n    .cs-step-content p { font-size: 12px; color: rgba(255,255,255,0.72); margin: 0; }\n    .cs-step-arrow { font-size: 22px; color: var(--cs-sage); font-weight: 700; }\n\n    \/* ==================== WHY \/ GRID SECTIONS ==================== *\/\n    .cs-why-section { margin: 40px 0; }\n    .cs-why-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }\n    .cs-why-item { background: #fff; border: 1px solid var(--cs-sand); border-left: 3px solid var(--cs-sage); border-radius: 10px; padding: 14px 16px; display: flex; align-items: flex-start; gap: 10px; transition: all 0.25s ease; }\n    .cs-why-item:hover { border-left-color: var(--cs-terracotta); box-shadow: 0 6px 16px rgba(53,85,63,0.08); }\n    .cs-why-icon { width: 24px; height: 24px; border-radius: 50%; background: var(--cs-success); color: #fff; font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }\n    .cs-why-item p { font-size: 14px; margin: 0; color: var(--cs-text); }\n\n    \/* ==================== FAQ ==================== *\/\n    .cs-faq-section { margin: 40px 0; }\n    .cs-faq-item { background: #fff; border: 1px solid var(--cs-sand); border-radius: 12px; padding: 15px 18px; margin-bottom: 10px; transition: all 0.3s ease; }\n    .cs-faq-item:hover { border-color: var(--cs-sage); }\n    .cs-faq-item summary { font-weight: 700; color: var(--cs-forest-dark); cursor: pointer; list-style: none; position: relative; padding-right: 30px; font-size: 15px; }\n    .cs-faq-item summary::-webkit-details-marker { display: none; }\n    .cs-faq-item summary::after { content: '+'; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 24px; color: var(--cs-terracotta); font-weight: 300; }\n    .cs-faq-item[open] summary::after { content: '−'; }\n    .cs-faq-item p { margin-top: 12px; font-size: 14px; color: var(--cs-text-light); line-height: 1.65; }\n\n    \/* ==================== 🎄 CHRISTMAS ANIMATED EFFECTS ==================== *\/\n    .cs-christmas { position: relative; overflow: hidden; }\n    .cs-christmas .cs-hero-section { position: relative; overflow: hidden; }\n    .cs-christmas .cs-hero-content,\n    .cs-christmas .cs-hero-image { position: relative; z-index: 2; }\n\n    .cs-spooky-layer { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 1; }\n\n    \/* --- ❄️ PAGE-WIDE snowfall layer --- *\/\n    .cs-page-fx { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 4; }\n    .cs-snow { position: absolute; top: -40px; opacity: 0; will-change: transform, opacity; }\n    .cs-snow--1  { left: 4%;  font-size: 16px; animation: cs-snowfall 14s linear infinite; }\n    .cs-snow--2  { left: 12%; font-size: 12px; animation: cs-snowfall 18s linear infinite; animation-delay: -6s; }\n    .cs-snow--3  { left: 22%; font-size: 20px; animation: cs-snowfall-sway 16s linear infinite; animation-delay: -3s; }\n    .cs-snow--4  { left: 31%; font-size: 13px; animation: cs-snowfall 20s linear infinite; animation-delay: -11s; }\n    .cs-snow--5  { left: 40%; font-size: 17px; animation: cs-snowfall-sway 15s linear infinite; animation-delay: -8s; }\n    .cs-snow--6  { left: 49%; font-size: 12px; animation: cs-snowfall 19s linear infinite; animation-delay: -2s; }\n    .cs-snow--7  { left: 58%; font-size: 21px; animation: cs-snowfall-sway 17s linear infinite; animation-delay: -13s; }\n    .cs-snow--8  { left: 66%; font-size: 14px; animation: cs-snowfall 21s linear infinite; animation-delay: -5s; }\n    .cs-snow--9  { left: 74%; font-size: 18px; animation: cs-snowfall-sway 14s linear infinite; animation-delay: -9s; }\n    .cs-snow--10 { left: 82%; font-size: 12px; animation: cs-snowfall 18s linear infinite; animation-delay: -15s; }\n    .cs-snow--11 { left: 90%; font-size: 19px; animation: cs-snowfall-sway 16s linear infinite; animation-delay: -4s; }\n    .cs-snow--12 { left: 96%; font-size: 14px; animation: cs-snowfall 22s linear infinite; animation-delay: -10s; }\n    @keyframes cs-snowfall {\n      0%   { transform: translateY(-4vh); opacity: 0; }\n      8%   { opacity: 0.8; }\n      92%  { opacity: 0.8; }\n      100% { transform: translateY(104vh); opacity: 0; }\n    }\n    @keyframes cs-snowfall-sway {\n      0%   { transform: translate(0, -4vh) rotate(0deg); opacity: 0; }\n      8%   { opacity: 0.75; }\n      50%  { transform: translate(24px, 50vh) rotate(180deg); }\n      92%  { opacity: 0.75; }\n      100% { transform: translate(-12px, 104vh) rotate(360deg); opacity: 0; }\n    }\n\n    \/* --- 🎅 drifting festive figures across the page --- *\/\n    .cs-pfx-drift { position: absolute; left: 0; font-size: 22px; opacity: 0; will-change: transform, opacity; }\n    .cs-pfx-drift--1 { top: 22%; animation: cs-drift-across 36s linear infinite; animation-delay: -5s; }\n    .cs-pfx-drift--2 { top: 48%; font-size: 20px; animation: cs-drift-across 44s linear infinite; animation-delay: -21s; }\n    .cs-pfx-drift--3 { top: 72%; font-size: 18px; animation: cs-drift-across 40s linear infinite; animation-delay: -31s; }\n    .cs-pfx-drift--4 { top: 9%; font-size: 21px; animation: cs-drift-across 48s linear infinite; animation-delay: -13s; }\n    @keyframes cs-drift-across {\n      0%   { transform: translate(-16vw, 0); opacity: 0; }\n      10%  { opacity: 0.7; }\n      50%  { transform: translate(52vw, -18px); }\n      90%  { opacity: 0.7; }\n      100% { transform: translate(120vw, 10px); opacity: 0; }\n    }\n\n    \/* --- 🔔 hanging ornaments on threads --- *\/\n    .cs-hang { position: absolute; text-align: center; transform-origin: top center; will-change: transform; }\n    .cs-hang-thread { display: block; width: 2px; height: 40px; margin: 0 auto; background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(120,90,50,0.35)); }\n    .cs-hang-orn { display: block; font-size: 18px; line-height: 1; margin-top: -2px; }\n    .cs-hang--1 { top: 15%; left: 8%;  animation: cs-hang-bob 4.2s ease-in-out infinite; animation-delay: -0.5s; }\n    .cs-hang--2 { top: 33%; left: 88%; animation: cs-hang-bob 5.1s ease-in-out infinite; animation-delay: -2s; }\n    .cs-hang--3 { top: 50%; left: 20%; animation: cs-hang-bob 4.6s ease-in-out infinite; animation-delay: -3.2s; }\n    .cs-hang--4 { top: 63%; left: 72%; animation: cs-hang-bob 5.4s ease-in-out infinite; animation-delay: -1.4s; }\n    .cs-hang--5 { top: 78%; left: 14%; animation: cs-hang-bob 4.4s ease-in-out infinite; animation-delay: -2.7s; }\n    .cs-hang--6 { top: 90%; left: 82%; animation: cs-hang-bob 5.0s ease-in-out infinite; animation-delay: -0.8s; }\n    .cs-hang--2 .cs-hang-thread, .cs-hang--4 .cs-hang-thread, .cs-hang--6 .cs-hang-thread { height: 30px; }\n    @keyframes cs-hang-bob {\n      0%, 100% { transform: translateY(0) rotate(-4deg); }\n      50%      { transform: translateY(9px) rotate(4deg); }\n    }\n\n    \/* --- hero corner snowflakes --- *\/\n    .cs-corner-flake { position: absolute; top: 6px; font-size: 42px; line-height: 1; opacity: 0.22; z-index: 1; animation: cs-flake-spin 24s linear infinite; }\n    .cs-corner-flake--l { left: 6px; }\n    .cs-corner-flake--r { right: 6px; animation-direction: reverse; }\n    @keyframes cs-flake-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }\n\n    \/* --- rising drift emojis (hero) --- *\/\n    .cs-drift { position: absolute; bottom: -30px; font-size: 20px; opacity: 0; will-change: transform, opacity; }\n    .cs-drift--1 { left: 24%; animation: cs-rise 9s ease-in infinite; animation-delay: -1s; }\n    .cs-drift--2 { left: 9%;  font-size: 24px; animation: cs-rise 12s ease-in infinite; animation-delay: -5s; }\n    .cs-drift--3 { left: 40%; font-size: 18px; animation: cs-rise 10s ease-in infinite; animation-delay: -3s; }\n    @keyframes cs-rise {\n      0%   { transform: translate(0, 0); opacity: 0; }\n      12%  { opacity: 0.85; }\n      85%  { opacity: 0.85; }\n      100% { transform: translate(20px, -190px); opacity: 0; }\n    }\n\n    \/* --- drifting snow mist along the bottom --- *\/\n    .cs-fog { position: absolute; bottom: -10px; left: -60%; width: 220%; height: 80px;\n      background:\n        radial-gradient(ellipse 50% 60% at 30% 60%, rgba(235,240,250,0.45), rgba(235,240,250,0) 72%),\n        radial-gradient(ellipse 45% 55% at 70% 55%, rgba(220,230,245,0.38), rgba(220,230,245,0) 72%);\n      filter: blur(3px); z-index: 1; }\n    .cs-fog--1 { animation: cs-fog-a 18s linear infinite; }\n    .cs-fog--2 { bottom: -22px; height: 100px; opacity: 0.7; animation: cs-fog-b 26s linear infinite; }\n    @keyframes cs-fog-a { 0% { transform: translateX(-6%); } 100% { transform: translateX(6%); } }\n    @keyframes cs-fog-b { 0% { transform: translateX(6%); } 100% { transform: translateX(-6%); } }\n\n    \/* --- glowing Christmas tree --- *\/\n    .cs-tree { position: absolute; bottom: 9%; left: 4%; font-size: 30px; line-height: 1; z-index: 1; animation: cs-tree-glow 2.6s ease-in-out infinite; }\n    .cs-tree--dark { bottom: auto; top: 14%; left: auto; right: 6%; font-size: 26px; }\n    @keyframes cs-tree-glow {\n      0%,100% { filter: drop-shadow(0 0 5px rgba(224,169,46,0.55)); }\n      50%     { filter: drop-shadow(0 0 14px rgba(224,169,46,0.95)); }\n    }\n\n    \/* --- gentle golden title glow --- *\/\n    .cs-christmas .cs-hero-title { animation: cs-festive 4s ease-in-out infinite; }\n    @keyframes cs-festive {\n      0%, 100% { text-shadow: 0 0 8px rgba(178,58,58,0.25), 0 0 18px rgba(224,169,46,0.18); }\n      50%      { text-shadow: 0 0 14px rgba(178,58,58,0.45), 0 0 30px rgba(224,169,46,0.38); }\n    }\n\n    \/* --- floating hero image --- *\/\n    .cs-christmas .cs-hero-img { animation: cs-float 5.5s ease-in-out infinite; }\n    @keyframes cs-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }\n\n    \/* --- pulsing badge --- *\/\n    .cs-christmas .cs-hero-image-badge { animation: cs-badge-pulse 2.4s ease-in-out infinite; }\n    @keyframes cs-badge-pulse {\n      0%, 100% { box-shadow: 0 8px 24px rgba(38,64,47,0.18); }\n      50%      { box-shadow: 0 10px 32px rgba(178,58,58,0.5); }\n    }\n    .cs-christmas .cs-badge-icon { display: inline-block; animation: cs-santa-bob 2.4s ease-in-out infinite; }\n    @keyframes cs-santa-bob { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(-8deg); } }\n\n    \/* --- festive sparkle in the dark How-It-Works band --- *\/\n    .cs-christmas .cs-how-section { position: relative; overflow: hidden; }\n    .cs-christmas .cs-how-section .cs-section-title,\n    .cs-christmas .cs-how-section .cs-steps-container { position: relative; z-index: 2; }\n    .cs-dark-fx { position: absolute; top: -30px; opacity: 0; font-size: 20px; text-shadow: 0 0 12px rgba(255,255,255,0.6); will-change: transform, opacity; }\n    .cs-dark-fx--1 { left: 12%; animation: cs-dark-fall 9s linear infinite; animation-delay: -1s; }\n    .cs-dark-fx--2 { left: 52%; font-size: 16px; animation: cs-dark-fall 12s linear infinite; animation-delay: -6s; }\n    .cs-dark-fx--3 { left: 80%; font-size: 22px; animation: cs-dark-fall 10s linear infinite; animation-delay: -3s; }\n    .cs-dark-fx--4 { left: 33%; font-size: 18px; animation: cs-dark-fall 11s linear infinite; animation-delay: -8s; }\n    @keyframes cs-dark-fall {\n      0%   { transform: translateY(0) rotate(0deg); opacity: 0; }\n      15%  { opacity: 0.85; }\n      85%  { opacity: 0.85; }\n      100% { transform: translateY(220px) rotate(180deg); opacity: 0; }\n    }\n\n    \/* --- respect reduced-motion preferences --- *\/\n    @media (prefers-reduced-motion: reduce) {\n      .cs-christmas .cs-hero-title,\n      .cs-christmas .cs-hero-img,\n      .cs-christmas .cs-hero-image-badge,\n      .cs-christmas .cs-badge-icon,\n      .cs-christmas .cs-tree,\n      .cs-christmas .cs-fog,\n      .cs-christmas .cs-corner-flake { animation: none !important; }\n      .cs-christmas .cs-page-fx,\n      .cs-christmas .cs-spooky-layer { display: none !important; }\n    }\n\n    \/* ==================== MOBILE ==================== *\/\n    @media (max-width: 749px) {\n      .cs-hero-section { padding: 34px 22px; }\n      .cs-hero-title { font-size: 32px; }\n      .cs-hero-subtitle { font-size: 15px; }\n      .cs-hero-features { grid-template-columns: 1fr; max-width: 100%; }\n      .cs-hero-image-badge { bottom: 10px; right: 10px; padding: 6px 11px; gap: 7px; }\n      .cs-badge-icon { font-size: 16px; }\n      .cs-badge-text strong { font-size: 12px; }\n      .cs-badge-text span { font-size: 9px; }\n\n      .cs-photo-reviews-section { padding: 24px 16px; border-radius: 18px; }\n      .cs-pr-title { font-size: 22px; }\n      .cs-pr-subtitle { font-size: 13px; }\n      .cs-photo-review-card { flex: 0 0 240px; }\n      .cs-pr-image { height: 240px; }\n\n      .cs-preview-section { padding: 24px 16px; }\n      .cs-preview-grid-small { max-width: 320px; gap: 12px; }\n      .cs-preview-grid-small .cs-preview-page { max-width: 150px; }\n      .cs-preview-lock-icon { font-size: 22px; margin-bottom: 4px; }\n      .cs-preview-lock-title { font-size: 11px; margin-bottom: 3px; }\n      .cs-preview-lock-text { font-size: 9px; margin-bottom: 8px; max-width: 130px; }\n      .cs-preview-lock-btn { padding: 5px 11px; font-size: 9px; }\n      .cs-preview-label { font-size: 10px; padding: 4px 8px; margin-top: 6px; }\n\n      .cs-lifestyle-caption { padding: 16px 18px; }\n      .cs-lifestyle-icon { font-size: 20px; }\n      .cs-lifestyle-caption p { font-size: 14px; }\n\n      .cs-info-box { flex-direction: column; gap: 14px; padding: 18px; }\n      .cs-info-divider { display: none; }\n      .cs-info-item { width: 100%; }\n      .cs-steps-container { flex-direction: column; }\n      .cs-step-arrow { transform: rotate(90deg); }\n      .cs-section-title { font-size: 22px; }\n      .cs-zoom-close { top: 12px; right: 18px; }\n    }\n  \u003c\/style\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"crochetschool.shop","offers":[{"title":"Default Title","offer_id":40957303685249,"sku":null,"price":8.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/GnomedeNoelaurouleaudepapiertoilette-8.webp?v=1791500839","url":"https:\/\/crochetschool.shop\/products\/crochet-christmas-gnome-toilet-paper","provider":"crochetschool.shop","version":"1.0","type":"link"}