{"product_id":"hampton-style-bag-crochet-pattern-pdf-download-diy-tote-bag-crochet-pattern","title":"Hampton Style Bag Crochet Pattern - PDF Download, DIY Tote Bag Crochet Pattern","description":"\u003cdiv class=\"cs-product-wrapper\"\u003e\n\u003c!-- ==================== HERO SECTION ==================== --\u003e\n\u003cdiv class=\"cs-hero-section\"\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\"\u003eThe Hampton Style Bag Crochet Pattern ⚓\u003c\/h1\u003e\n\u003cp class=\"cs-hero-subtitle\"\u003eCrochet your own elegant Hampton-style bag with a timeless striped design, sturdy handles, and beautiful handmade charm. Perfect for everyday use, beach days, shopping trips, city strolls, or as a thoughtful handmade gift.\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\u003eBeginner-friendly guide\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\u003eStylish striped tote design\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\u003ePerfect for summer \u0026amp; beach days\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\u003eInstant PDF download\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-hero-image\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPTImage17juin2026_15_56_53_2_430x.png?v=1781732088\" alt=\"Hampton Style Bag Crochet Pattern\" class=\"cs-hero-img\" loading=\"eager\"\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\u003eClassic Coastal Style\u003c\/strong\u003e \u003cspan\u003eElegant, practical \u0026amp; timeless\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\u003eCustomer photo reviews\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-pr-title\"\u003e💙 Beautiful Bags Made by Happy Crocheters\u003c\/div\u003e\n\u003cdiv class=\"cs-pr-subtitle\"\u003eStylish, practical, and handmade with love\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-photo-reviews-slider\" id=\"csPhotoReviewSlider\"\u003e\n\u003cdiv class=\"cs-photo-reviews-track\"\u003e\n\u003c!-- Review 1 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_17_juin_2026_17_51_41_5_1_430x.webp?v=1781732304\" alt=\"Review by Patricia\" class=\"cs-pr-image\" loading=\"lazy\"\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\"\u003e\"This bag turned out so beautiful! I love the elegant striped look and how roomy it is for everyday use.\"\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003ePatricia 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 2 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_17_juin_2026_17_51_51_8_430x.webp?v=1781732304\" alt=\"Review by Emma\" class=\"cs-pr-image\" loading=\"lazy\"\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\"\u003e\"The instructions were easy to follow and the final bag looks so polished. Perfect for summer outings!\"\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eEmma 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 3 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_17_juin_2026_17_51_50_7_430x.webp?v=1781732304\" alt=\"Review by Jessica\" class=\"cs-pr-image\" loading=\"lazy\"\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\"\u003e\"Such a practical and stylish project. I use mine for shopping and I always get compliments.\"\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eJessica 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 src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_17_juin_2026_17_51_50_6_430x.webp?v=1781732304\" alt=\"Review by Rachel\" class=\"cs-pr-image\" loading=\"lazy\"\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\"\u003e\"I was looking for a bag that felt classic and useful — this pattern delivered exactly that.\"\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eRachel 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 5 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_17_juin_2026_17_51_44_1_430x.webp?v=1781732304\" alt=\"Review by Linda\" class=\"cs-pr-image\" loading=\"lazy\"\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\"\u003e\"A gorgeous handmade bag! Spacious enough for my essentials and so lovely to carry.\"\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eLinda 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 6 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_17_juin_2026_17_51_42_6_1_430x.webp?v=1781732304\" alt=\"Review by Maria\" class=\"cs-pr-image\" loading=\"lazy\"\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\"\u003e\"I loved making this bag. The striped design feels so fresh and stylish.\"\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eMaria 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 7 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_17_juin_2026_17_51_47_3_430x.webp?v=1781732304\" alt=\"Review by Sophie\" class=\"cs-pr-image\" loading=\"lazy\"\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\"\u003e\"This turned into my favorite project bag. It’s sturdy, pretty, and very useful.\"\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eSophie 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 8 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_17_juin_2026_17_51_46_2_430x.webp?v=1781732304\" alt=\"Review by Jennifer\" class=\"cs-pr-image\" loading=\"lazy\"\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\"\u003e\"The instructions were clear and the result looks boutique-quality. I’m so happy with it!\"\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eJennifer 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 9 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_17_juin_2026_17_51_52_9_430x.webp?v=1781732304\" alt=\"Review by Claire\" class=\"cs-pr-image\" loading=\"lazy\"\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\"\u003e\"Perfect for beach days and casual outings. I love how classic the blue and cream stripes look.\"\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eClaire 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 10 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_17_juin_2026_17_51_49_5_430x.webp?v=1781732298\" alt=\"Review by Karen\" class=\"cs-pr-image\" loading=\"lazy\"\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\"\u003e\"This pattern gave me such a beautiful finished bag. It feels both modern and timeless.\"\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eKaren 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 11 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_17_juin_2026_17_51_41_5_430x.webp?v=1781732298\" alt=\"Review by Amy\" class=\"cs-pr-image\" loading=\"lazy\"\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\"\u003e\"Even as a confident beginner, I found this pattern manageable and enjoyable.\"\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eAmy 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 src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_17_juin_2026_17_51_40_4_1_430x.webp?v=1781732298\" alt=\"Review by Michelle\" class=\"cs-pr-image\" loading=\"lazy\"\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\"\u003e\"I made one for myself and now I want to make another as a gift. Such a lovely bag pattern.\"\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eMichelle 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 13 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_17_juin_2026_17_51_39_3_1_430x.webp?v=1781732297\" alt=\"Review by Sarah\" class=\"cs-pr-image\" loading=\"lazy\"\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\"\u003e\"I love projects that are both pretty and practical, and this bag is exactly that.\"\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eSarah 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 14 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_17_juin_2026_17_51_38_2_430x.webp?v=1781732297\" alt=\"Review by Olivia\" class=\"cs-pr-image\" loading=\"lazy\"\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\"\u003e\"The shape, the stripes, the handles — everything came together beautifully.\"\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eOlivia 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 15 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_17_juin_2026_17_51_47_4_430x.webp?v=1781732298\" alt=\"Review by Hannah\" class=\"cs-pr-image\" loading=\"lazy\"\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\"\u003e\"A really satisfying make. It looks high-end and feels very useful.\"\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eHannah 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 16 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_17_juin_2026_17_51_37_1_430x.webp?v=1781732297\" alt=\"Review by Laura\" class=\"cs-pr-image\" loading=\"lazy\"\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\"\u003e\"This is one of those patterns you’ll want to make again and again in different colors.\"\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eLaura 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 17 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_17_juin_2026_17_51_50_430x.webp?v=1781732297\" alt=\"Review by Grace\" class=\"cs-pr-image\" loading=\"lazy\"\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\"\u003e\"A fantastic crochet project for anyone who wants a bag that’s both elegant and functional.\"\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eGrace 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\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-pr-dots\" id=\"csPhotoReviewDots\"\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 class=\"cs-info-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"#284a63\" stroke-width=\"2\"\u003e\n        \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\n      \u003c\/svg\u003e\n\u003cdiv class=\"cs-info-text\"\u003e\n\u003cstrong\u003eInstant Delivery\u003c\/strong\u003e \u003cspan\u003ePDF arrives by email after purchase\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 class=\"cs-info-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"#284a63\" stroke-width=\"2\"\u003e\n        \u003cpath d=\"M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5\"\u003e\u003c\/path\u003e\n      \u003c\/svg\u003e\n\u003cdiv class=\"cs-info-text\"\u003e\n\u003cstrong\u003eLifetime Access\u003c\/strong\u003e \u003cspan\u003eDownload and keep your pattern forever\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 class=\"cs-info-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"#284a63\" stroke-width=\"2\"\u003e\n        \u003cpath d=\"M20 6L9 17l-5-5\"\u003e\u003c\/path\u003e\n      \u003c\/svg\u003e\n\u003cdiv class=\"cs-info-text\"\u003e\n\u003cstrong\u003eSkill Level\u003c\/strong\u003e \u003cspan\u003eSuitable for beginners with basic crochet skills\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 Inside the Pattern\u003c\/h2\u003e\n\u003cp class=\"cs-preview-subtitle\"\u003eSee page 1 free — unlock the full step-by-step instructions with the bundle\u003c\/p\u003e\n\u003cdiv class=\"cs-preview-grid cs-preview-grid-small\"\u003e\n\u003cdiv class=\"cs-preview-page cs-preview-visible\"\u003e\n\u003cdiv class=\"cs-preview-page-inner\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/Screenshot_2026-06-18_074826_06241aae-f40b-49cd-bcf7-2aff5b6a07df_430x.png?v=1781765384\" alt=\"Hampton Style Bag Pattern - Page 1 Preview\" class=\"cs-preview-img cs-zoomable-img\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-preview-label cs-preview-label-free\"\u003e\n\u003cspan\u003e✓\u003c\/span\u003e Page 1 · Free Preview\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ca href=\"#\" class=\"cs-preview-page cs-preview-locked\"\u003e\n\u003cdiv class=\"cs-preview-page-inner\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPTImage17juin2026_15_57_00_7_430x.png?v=1781732088\" alt=\"Hampton Style Bag Pattern - Locked Page\" class=\"cs-preview-img cs-preview-img-blurred\" loading=\"lazy\"\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 Page 2 · Members Only\u003c\/div\u003e\n\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ==================== LIFESTYLE IMAGE 1 ==================== --\u003e\n\u003cdiv class=\"cs-lifestyle-image\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPTImage17juin2026_15_56_56_4_430x.png?v=1781732088\" alt=\"Hampton Style Bag color options\" class=\"cs-lifestyle-img\" loading=\"lazy\"\u003e\n\u003cdiv class=\"cs-lifestyle-caption\"\u003e\n\u003cspan class=\"cs-lifestyle-icon\"\u003e👜\u003c\/span\u003e\n\u003cp\u003eBeautiful striped variations with a classic coastal feel — perfect for summer, errands, beach days and everyday use.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ==================== WHAT YOU'LL RECEIVE ==================== --\u003e\n\u003cdiv id=\"cs-receive\" 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\u003eDetailed Written Pattern\u003c\/h4\u003e\n\u003cp\u003eClear crochet instructions to guide you through the full project\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\u003eStep-by-Step Guidance\u003c\/h4\u003e\n\u003cp\u003eEasy-to-follow directions from start to finish\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\u003eMaterials List\u003c\/h4\u003e\n\u003cp\u003eIncludes recommended yarn and hook guidance for the project\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\u003eAssembly Instructions\u003c\/h4\u003e\n\u003cp\u003eHelpful finishing details for a stable and beautiful result\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\u003ePractical Tips\u003c\/h4\u003e\n\u003cp\u003eHelpful notes for achieving a polished handmade finish\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\u003eInstant PDF Download\u003c\/h4\u003e\n\u003cp\u003eNo shipping. No waiting. Start crocheting right away.\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 src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPTImage17juin2026_15_57_04_10_430x.png?v=1781732088\" alt=\"Hampton Style Bag lifestyle\" class=\"cs-lifestyle-img\" loading=\"lazy\"\u003e\n\u003cdiv class=\"cs-lifestyle-caption\"\u003e\n\u003cspan class=\"cs-lifestyle-icon\"\u003e⚓\u003c\/span\u003e\n\u003cp\u003eElegant, handmade charm you’ll love carrying everywhere — from city strolls to beach days.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ==================== MATERIALS NEEDED ==================== --\u003e\n\u003cdiv class=\"cs-materials-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\u003eSuitable cotton yarn or bag yarn\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\u003eCrochet hook in the recommended size\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\u003eScissors\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\u003eWool needle for sewing\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\u003eOptional stitch marker\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ==================== PERFECT FOR ==================== --\u003e\n\u003cdiv class=\"cs-perfect-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\u003eSummer, holidays, and beach days\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\u003eEveryday life, shopping, and excursions\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\u003eCrochet projects with practical use\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\u003eThoughtful handmade gifts\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\u003eMakers who love stylish crochet bags\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\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\u003ePlace Your Order\u003c\/h4\u003e\n\u003cp\u003eQuick and 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\u003eGet Your PDF\u003c\/h4\u003e\n\u003cp\u003eDelivered digitally after purchase\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\u003eStart Crocheting\u003c\/h4\u003e\n\u003cp\u003eOpen the file on your phone, tablet, or computer\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ==================== WHY MAKERS LOVE THIS PATTERN ==================== --\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\u003eStylish design\u003c\/strong\u003e — a classic Hampton-inspired striped tote\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\u003ePractical project\u003c\/strong\u003e — great for everyday use, shopping, or beach days\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\u003eBeginner-friendly\u003c\/strong\u003e — manageable for crocheters with basic skills\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\u003eHandmade charm\u003c\/strong\u003e — a beautiful bag you’ll enjoy using again and again\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\u003eGift-worthy\u003c\/strong\u003e — make one for yourself or for someone special\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\u003eInstant access\u003c\/strong\u003e — download anytime and revisit whenever you need\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ==================== IMPORTANT NOTES ==================== --\u003e\n\u003cdiv class=\"cs-important-section\"\u003e\n\u003ch2 class=\"cs-section-title\"\u003e📌 Important Notes\u003c\/h2\u003e\n\u003cdiv class=\"cs-important-box\"\u003e\n\u003cp\u003e\u003cstrong\u003eThis is a digital product.\u003c\/strong\u003e You will receive a PDF crochet pattern only. No finished bag will be shipped.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eLanguage:\u003c\/strong\u003e English.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eSkill level:\u003c\/strong\u003e Suitable for beginners with basic crochet knowledge and for more experienced crocheters.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003ePersonal use only:\u003c\/strong\u003e You may make the finished bag for yourself or as a gift, but the PDF pattern itself may not be resold or shared.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ==================== FAQ ==================== --\u003e\n\u003cdiv id=\"cs-faq\" 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 bag?\u003c\/summary\u003e\n\u003cp\u003eNo. This is a digital PDF crochet pattern. You will not receive a physical finished bag by mail.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eIs this pattern beginner-friendly?\u003c\/summary\u003e\n\u003cp\u003eYes. It is especially suitable for beginners with basic crochet skills, while still being enjoyable for more experienced crocheters.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eWhat is included in the PDF?\u003c\/summary\u003e\n\u003cp\u003eYou’ll receive detailed written crochet instructions, step-by-step guidance, a materials list, recommended yarn and hook guidance, assembly instructions, and helpful tips for a beautiful result.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eWhen will I receive my download?\u003c\/summary\u003e\n\u003cp\u003eAfter purchase, the PDF file will be available for instant download. You will also receive access via email.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eWhat can I use this bag for?\u003c\/summary\u003e\n\u003cp\u003eThis bag is perfect for everyday use, shopping, beach days, holidays, city strolls, and as a project bag or thoughtful handmade gift.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eCan I give or sell the finished bag?\u003c\/summary\u003e\n\u003cp\u003eYou may make the finished bag for yourself or as a gift. The pattern itself is for personal use only and may not be resold or redistributed.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  \/* ==================== BRAND VARIABLES ==================== *\/\n  .cs-product-wrapper {\n    --cs-primary: #284a63;\n    --cs-primary-dark: #1d3446;\n    --cs-cream: #f7f5f0;\n    --cs-cream-dark: #eee8df;\n    --cs-text: #2a2a2a;\n    --cs-text-light: #6a6a6a;\n    --cs-success: #4a7c59;\n    --cs-pink: #e67e22;\n    --cs-pink-dark: #cc6b16;\n    font-family: inherit;\n    color: var(--cs-text);\n    line-height: 1.6;\n    max-width: 100%;\n    margin: 0 auto;\n  }\n\n  .cs-product-wrapper * {\n    box-sizing: border-box;\n  }\n\n  .cs-product-wrapper h1,\n  .cs-product-wrapper h2,\n  .cs-product-wrapper h3,\n  .cs-product-wrapper h4 {\n    margin: 0 0 12px;\n    line-height: 1.3;\n  }\n\n  .cs-product-wrapper p {\n    margin: 0 0 12px;\n  }\n\n\n  \/* ==================== HERO SECTION ==================== *\/\n  .cs-hero-section {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 48px;\n    align-items: center;\n    padding: 48px 24px;\n    background: linear-gradient(135deg, var(--cs-cream) 0%, #fbfaf7 100%);\n    border-radius: 20px;\n    margin-bottom: 32px;\n  }\n\n  .cs-hero-badge {\n    display: inline-block;\n    background: var(--cs-pink);\n    color: white;\n    padding: 8px 16px;\n    border-radius: 50px;\n    font-size: 12px;\n    font-weight: 700;\n    letter-spacing: 0.5px;\n    text-transform: uppercase;\n    margin-bottom: 16px;\n  }\n\n  .cs-hero-title {\n    font-size: 36px;\n    font-weight: 800;\n    color: var(--cs-primary-dark);\n    margin-bottom: 16px;\n    line-height: 1.2;\n  }\n\n  .cs-hero-subtitle {\n    font-size: 17px;\n    color: var(--cs-text-light);\n    margin-bottom: 24px;\n    line-height: 1.6;\n  }\n\n  .cs-hero-features {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 12px;\n  }\n\n  .cs-hero-feature {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    font-size: 14px;\n    color: var(--cs-text);\n  }\n\n  .cs-hero-feature-icon {\n    font-size: 20px;\n  }\n\n  .cs-hero-image {\n    position: relative;\n  }\n\n  .cs-hero-img {\n    width: 100%;\n    height: auto;\n    border-radius: 16px;\n    box-shadow: 0 12px 32px rgba(40, 74, 99, 0.18);\n  }\n\n  .cs-hero-image-badge {\n    position: absolute;\n    bottom: 20px;\n    right: 20px;\n    background: white;\n    padding: 12px 20px;\n    border-radius: 50px;\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);\n  }\n\n  .cs-badge-icon {\n    font-size: 22px;\n  }\n\n  .cs-badge-text strong {\n    display: block;\n    font-size: 16px;\n    color: var(--cs-primary-dark);\n    line-height: 1.2;\n  }\n\n  .cs-badge-text span {\n    font-size: 12px;\n    color: var(--cs-text-light);\n  }\n\n\n  \/* ==================== PHOTO REVIEWS ==================== *\/\n  .cs-photo-reviews-section {\n    background: linear-gradient(135deg, var(--cs-cream) 0%, #fbfaf7 100%);\n    border-radius: 20px;\n    padding: 32px 24px;\n    margin: 0 0 28px;\n    border: 1px solid #e7ded1;\n    box-shadow: 0 4px 16px rgba(40, 74, 99, 0.06);\n  }\n\n  .cs-photo-reviews-header {\n    text-align: center;\n    margin-bottom: 24px;\n  }\n\n  .cs-pr-rating {\n    display: inline-flex;\n    align-items: center;\n    gap: 12px;\n    background: #fff;\n    padding: 8px 18px;\n    border-radius: 50px;\n    border: 1px solid #e8dfd0;\n    margin-bottom: 14px;\n    box-shadow: 0 2px 8px rgba(40, 74, 99, 0.08);\n  }\n\n  .cs-pr-stars {\n    color: #f5b800;\n    font-size: 18px;\n    letter-spacing: 2px;\n  }\n\n  .cs-pr-rating-text {\n    font-size: 14px;\n    color: var(--cs-text-light);\n  }\n\n  .cs-pr-rating-text strong {\n    color: var(--cs-primary-dark);\n    font-size: 16px;\n    font-weight: 700;\n  }\n\n  .cs-pr-title {\n    font-size: 24px;\n    color: var(--cs-primary-dark);\n    font-weight: 700;\n    margin-bottom: 6px;\n  }\n\n  .cs-pr-subtitle {\n    font-size: 14px;\n    color: var(--cs-text-light);\n    font-style: italic;\n    margin-bottom: 22px;\n  }\n\n  .cs-photo-reviews-slider {\n    overflow: hidden;\n    margin: 0 -8px;\n    padding: 8px;\n  }\n\n  .cs-photo-reviews-track {\n    display: flex;\n    gap: 16px;\n    overflow-x: auto;\n    scroll-snap-type: x mandatory;\n    scroll-behavior: smooth;\n    padding-bottom: 8px;\n    scrollbar-width: thin;\n    scrollbar-color: var(--cs-primary) transparent;\n  }\n\n  .cs-photo-reviews-track::-webkit-scrollbar {\n    height: 6px;\n  }\n\n  .cs-photo-reviews-track::-webkit-scrollbar-track {\n    background: var(--cs-cream-dark);\n    border-radius: 4px;\n  }\n\n  .cs-photo-reviews-track::-webkit-scrollbar-thumb {\n    background: var(--cs-primary);\n    border-radius: 4px;\n  }\n\n  .cs-photo-review-card {\n    flex: 0 0 280px;\n    background: #fff;\n    border-radius: 14px;\n    overflow: hidden;\n    border: 1px solid #e8dfd0;\n    scroll-snap-align: start;\n    transition: all 0.3s ease;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .cs-photo-review-card:hover {\n    transform: translateY(-4px);\n    box-shadow: 0 12px 28px rgba(40, 74, 99, 0.14);\n    border-color: var(--cs-primary);\n  }\n\n  .cs-pr-image {\n    width: 100%;\n    height: 280px;\n    object-fit: cover;\n    display: block;\n    background: var(--cs-cream);\n    transition: transform 0.5s ease;\n  }\n\n  .cs-photo-review-card:hover .cs-pr-image {\n    transform: scale(1.05);\n  }\n\n  .cs-pr-content {\n    padding: 16px 18px;\n    flex-grow: 1;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .cs-pr-stars-small {\n    color: #f5b800;\n    font-size: 14px;\n    letter-spacing: 1px;\n    margin-bottom: 8px;\n  }\n\n  .cs-pr-text {\n    font-size: 14px;\n    color: var(--cs-text);\n    line-height: 1.5;\n    font-style: italic;\n    margin-bottom: 12px;\n    flex-grow: 1;\n  }\n\n  .cs-pr-author {\n    display: flex;\n    flex-direction: column;\n    gap: 2px;\n    padding-top: 10px;\n    border-top: 1px solid var(--cs-cream-dark);\n  }\n\n  .cs-pr-name {\n    font-size: 13px;\n    font-weight: 700;\n    color: var(--cs-primary-dark);\n  }\n\n  .cs-pr-verified {\n    font-size: 11px;\n    color: var(--cs-success);\n    font-weight: 600;\n  }\n\n  .cs-pr-dots {\n    display: flex;\n    justify-content: center;\n    gap: 8px;\n    margin-top: 18px;\n  }\n\n  .cs-pr-dot {\n    width: 8px;\n    height: 8px;\n    border-radius: 50%;\n    background: #d8cfc0;\n    border: none;\n    cursor: pointer;\n    transition: all 0.3s ease;\n    padding: 0;\n  }\n\n  .cs-pr-dot.active {\n    background: var(--cs-primary);\n    width: 24px;\n    border-radius: 4px;\n  }\n\n\n  \/* ==================== INFO BOX ==================== *\/\n  .cs-info-box {\n    background: var(--cs-cream);\n    border: 1px solid #e8dfd0;\n    border-radius: 12px;\n    padding: 18px 20px;\n    margin: 24px 0;\n    display: flex;\n    align-items: center;\n    justify-content: space-around;\n    gap: 16px;\n    flex-wrap: wrap;\n  }\n\n  .cs-info-item {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    flex: 1;\n    min-width: 200px;\n  }\n\n  .cs-info-icon {\n    width: 28px;\n    height: 28px;\n    flex-shrink: 0;\n  }\n\n  .cs-info-text strong {\n    display: block;\n    font-size: 14px;\n    color: var(--cs-primary-dark);\n    font-weight: 700;\n  }\n\n  .cs-info-text span {\n    font-size: 12px;\n    color: var(--cs-text-light);\n  }\n\n  .cs-info-divider {\n    width: 1px;\n    height: 36px;\n    background: #d8cfc0;\n  }\n\n\n  \/* ==================== PREVIEW SECTION ==================== *\/\n  .cs-preview-section {\n    background: linear-gradient(135deg, var(--cs-cream) 0%, #fbfaf7 100%);\n    border-radius: 20px;\n    padding: 36px 24px;\n    margin: 36px 0;\n    border: 1px solid #e7ded1;\n  }\n\n  .cs-preview-subtitle {\n    text-align: center;\n    font-size: 14px;\n    color: var(--cs-text-light);\n    font-style: italic;\n    margin: -8px 0 28px;\n  }\n\n  .cs-preview-grid {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 24px;\n    max-width: 800px;\n    margin: 0 auto;\n  }\n\n  .cs-preview-grid-small {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 18px;\n    max-width: 480px;\n    margin: 0 auto;\n    justify-items: center;\n  }\n\n  .cs-preview-grid-small .cs-preview-page {\n    width: 100%;\n    max-width: 200px;\n  }\n\n  .cs-preview-page {\n    display: block;\n    text-decoration: none;\n    color: inherit;\n    transition: all 0.3s ease;\n  }\n\n  .cs-preview-page-inner {\n    position: relative;\n    border-radius: 10px;\n    overflow: hidden;\n    aspect-ratio: 8.5 \/ 11;\n    background: #fff;\n    border: 1px solid #e7ded1;\n    box-shadow: 0 6px 18px rgba(40, 74, 99, 0.1);\n    transition: all 0.3s ease;\n  }\n\n  .cs-preview-img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n    transition: transform 0.4s ease;\n  }\n\n  .cs-preview-visible:hover .cs-preview-page-inner {\n    transform: translateY(-3px);\n    box-shadow: 0 12px 24px rgba(40, 74, 99, 0.18);\n  }\n\n  .cs-preview-locked {\n    cursor: pointer;\n  }\n\n  .cs-preview-locked:hover .cs-preview-page-inner {\n    transform: translateY(-3px);\n    box-shadow: 0 12px 30px rgba(40, 74, 99, 0.22);\n    border-color: var(--cs-primary);\n  }\n\n  .cs-preview-locked:hover .cs-preview-lock-btn {\n    background: var(--cs-pink-dark);\n    transform: translateY(-2px);\n  }\n\n  .cs-preview-img-blurred {\n    filter: blur(6px) brightness(0.7);\n    transform: scale(1.05);\n  }\n\n  .cs-preview-overlay {\n    position: absolute;\n    inset: 0;\n    background: linear-gradient(180deg, rgba(29, 52, 70, 0.3) 0%, rgba(29, 52, 70, 0.85) 100%);\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    text-align: center;\n    padding: 12px;\n    color: #fff;\n  }\n\n  .cs-preview-lock-icon {\n    font-size: 28px;\n    margin-bottom: 6px;\n    filter: drop-shadow(0 4px 8px rgba(0,0,0,0.3));\n    animation: cs-lock-bounce 2s ease-in-out infinite;\n  }\n\n  @keyframes cs-lock-bounce {\n    0%, 100% {\n      transform: translateY(0);\n    }\n\n    50% {\n      transform: translateY(-6px);\n    }\n  }\n\n  .cs-preview-lock-title {\n    font-size: 13px;\n    font-weight: 800;\n    margin-bottom: 4px;\n    line-height: 1.2;\n    text-shadow: 0 2px 8px rgba(0,0,0,0.3);\n  }\n\n  .cs-preview-lock-text {\n    font-size: 10px;\n    opacity: 0.95;\n    margin-bottom: 10px;\n    max-width: 160px;\n    line-height: 1.3;\n  }\n\n  .cs-preview-lock-btn {\n    background: var(--cs-pink);\n    color: #fff;\n    padding: 7px 14px;\n    border-radius: 50px;\n    font-size: 11px;\n    font-weight: 700;\n    letter-spacing: 0.3px;\n    box-shadow: 0 4px 12px rgba(230, 126, 34, 0.4);\n    transition: all 0.3s ease;\n  }\n\n  .cs-preview-label {\n    text-align: center;\n    margin-top: 8px;\n    font-size: 11px;\n    font-weight: 700;\n    padding: 5px 10px;\n    border-radius: 50px;\n    display: inline-flex;\n    align-items: center;\n    gap: 5px;\n    width: 100%;\n    justify-content: center;\n  }\n\n  .cs-preview-label-free {\n    background: rgba(74, 124, 89, 0.12);\n    color: var(--cs-success);\n  }\n\n  .cs-preview-label-locked {\n    background: rgba(230, 126, 34, 0.1);\n    color: var(--cs-pink-dark);\n  }\n\n\n  \/* ==================== LIFESTYLE IMAGES ==================== *\/\n  .cs-lifestyle-image {\n    margin: 32px 0;\n    border-radius: 16px;\n    overflow: hidden;\n    box-shadow: 0 8px 24px rgba(40, 74, 99, 0.1);\n    background: var(--cs-cream);\n  }\n\n  .cs-lifestyle-img {\n    width: 100%;\n    height: auto;\n    display: block;\n  }\n\n  .cs-lifestyle-caption {\n    padding: 20px 24px;\n    background: linear-gradient(135deg, var(--cs-cream) 0%, #fbfaf7 100%);\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    border-top: 1px solid #e7ded1;\n  }\n\n  .cs-lifestyle-icon {\n    font-size: 24px;\n    flex-shrink: 0;\n  }\n\n  .cs-lifestyle-caption p {\n    font-size: 15px;\n    color: var(--cs-text);\n    font-weight: 500;\n    margin: 0;\n    line-height: 1.4;\n  }\n\n\n  \/* ==================== SECTION TITLES ==================== *\/\n  .cs-section-title {\n    font-size: 22px;\n    color: var(--cs-primary-dark);\n    font-weight: 700;\n    text-align: center;\n    margin-bottom: 20px;\n  }\n\n\n  \/* ==================== RECEIVE + CONTENT SECTIONS ==================== *\/\n  .cs-receive-section,\n  .cs-materials-section,\n  .cs-perfect-section,\n  .cs-why-section,\n  .cs-important-section,\n  .cs-faq-section {\n    margin: 36px 0;\n  }\n\n  .cs-receive-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n    gap: 16px;\n  }\n\n  .cs-receive-item {\n    background: #fff;\n    border: 1px solid #e8dfd0;\n    border-radius: 12px;\n    padding: 20px 16px;\n    text-align: center;\n    transition: all 0.3s ease;\n  }\n\n  .cs-receive-item:hover {\n    transform: translateY(-3px);\n    box-shadow: 0 8px 20px rgba(40, 74, 99, 0.12);\n    border-color: var(--cs-primary);\n  }\n\n  .cs-receive-emoji {\n    font-size: 32px;\n    display: block;\n    margin-bottom: 8px;\n  }\n\n  .cs-receive-item h4 {\n    font-size: 15px;\n    color: var(--cs-primary-dark);\n    font-weight: 700;\n  }\n\n  .cs-receive-item p {\n    font-size: 13px;\n    color: var(--cs-text-light);\n    margin: 0;\n  }\n\n\n  \/* ==================== HOW IT WORKS ==================== *\/\n  .cs-how-section {\n    background: var(--cs-cream);\n    border-radius: 16px;\n    padding: 28px 20px;\n    margin: 36px 0;\n  }\n\n  .cs-steps-container {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 12px;\n    flex-wrap: wrap;\n  }\n\n  .cs-step {\n    flex: 1;\n    min-width: 180px;\n    display: flex;\n    align-items: center;\n    gap: 12px;\n  }\n\n  .cs-step-number {\n    width: 44px;\n    height: 44px;\n    border-radius: 50%;\n    background: linear-gradient(135deg, var(--cs-primary), var(--cs-primary-dark));\n    color: #fff;\n    font-weight: 700;\n    font-size: 18px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-shrink: 0;\n    box-shadow: 0 4px 12px rgba(40, 74, 99, 0.3);\n  }\n\n  .cs-step-content h4 {\n    font-size: 14px;\n    color: var(--cs-primary-dark);\n    margin: 0;\n  }\n\n  .cs-step-content p {\n    font-size: 12px;\n    color: var(--cs-text-light);\n    margin: 0;\n  }\n\n  .cs-step-arrow {\n    font-size: 22px;\n    color: var(--cs-primary);\n    font-weight: 700;\n  }\n\n\n  \/* ==================== WHY MAKERS LOVE ==================== *\/\n  .cs-why-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));\n    gap: 12px;\n  }\n\n  .cs-why-item {\n    background: #fff;\n    border: 1px solid #e8dfd0;\n    border-radius: 10px;\n    padding: 14px 16px;\n    display: flex;\n    align-items: flex-start;\n    gap: 10px;\n  }\n\n  .cs-why-icon {\n    width: 24px;\n    height: 24px;\n    border-radius: 50%;\n    background: var(--cs-success);\n    color: #fff;\n    font-size: 13px;\n    font-weight: 700;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-shrink: 0;\n  }\n\n  .cs-why-item p {\n    font-size: 14px;\n    margin: 0;\n    color: var(--cs-text);\n  }\n\n\n  \/* ==================== IMPORTANT NOTES ==================== *\/\n  .cs-important-section {\n    background: linear-gradient(135deg, var(--cs-cream) 0%, #fbfaf7 100%);\n    border-radius: 20px;\n    padding: 32px 24px;\n    border: 1px solid #e7ded1;\n    text-align: center;\n  }\n\n  .cs-important-box {\n    background: #fff;\n    border: 1px solid #e8dfd0;\n    border-radius: 14px;\n    padding: 20px;\n    text-align: left;\n    max-width: 850px;\n    margin: 0 auto;\n  }\n\n  .cs-important-box p:last-child {\n    margin-bottom: 0;\n  }\n\n\n  \/* ==================== FAQ ==================== *\/\n  .cs-faq-item {\n    background: #fff;\n    border: 1px solid #e8dfd0;\n    border-radius: 10px;\n    padding: 14px 18px;\n    margin-bottom: 10px;\n    transition: all 0.3s ease;\n  }\n\n  .cs-faq-item:hover {\n    border-color: var(--cs-primary);\n  }\n\n  .cs-faq-item summary {\n    font-weight: 600;\n    color: var(--cs-primary-dark);\n    cursor: pointer;\n    list-style: none;\n    position: relative;\n    padding-right: 30px;\n    font-size: 15px;\n  }\n\n  .cs-faq-item summary::-webkit-details-marker {\n    display: none;\n  }\n\n  .cs-faq-item summary::after {\n    content: '+';\n    position: absolute;\n    right: 0;\n    top: 50%;\n    transform: translateY(-50%);\n    font-size: 22px;\n    color: var(--cs-primary);\n    font-weight: 300;\n  }\n\n  .cs-faq-item[open] summary::after {\n    content: '−';\n  }\n\n  .cs-faq-item p {\n    margin-top: 12px;\n    font-size: 14px;\n    color: var(--cs-text-light);\n    line-height: 1.6;\n  }\n\n\n  \/* ==================== MOBILE ==================== *\/\n  @media (max-width: 749px) {\n    .cs-hero-section {\n      grid-template-columns: 1fr;\n      gap: 28px;\n      padding: 32px 20px;\n    }\n\n    .cs-hero-title {\n      font-size: 28px;\n    }\n\n    .cs-hero-subtitle {\n      font-size: 15px;\n    }\n\n    .cs-hero-features {\n      grid-template-columns: 1fr;\n    }\n\n    .cs-hero-image-badge {\n      bottom: 10px;\n      right: 10px;\n      padding: 10px 16px;\n    }\n\n    .cs-photo-reviews-section {\n      padding: 24px 16px;\n      border-radius: 16px;\n    }\n\n    .cs-pr-title {\n      font-size: 20px;\n    }\n\n    .cs-pr-subtitle {\n      font-size: 13px;\n    }\n\n    .cs-photo-review-card {\n      flex: 0 0 240px;\n    }\n\n    .cs-pr-image {\n      height: 240px;\n    }\n\n    .cs-preview-section {\n      padding: 24px 16px;\n    }\n\n    .cs-preview-grid-small {\n      max-width: 320px;\n      gap: 12px;\n    }\n\n    .cs-preview-grid-small .cs-preview-page {\n      max-width: 150px;\n    }\n\n    .cs-preview-lock-icon {\n      font-size: 22px;\n      margin-bottom: 4px;\n    }\n\n    .cs-preview-lock-title {\n      font-size: 11px;\n      margin-bottom: 3px;\n    }\n\n    .cs-preview-lock-text {\n      font-size: 9px;\n      margin-bottom: 8px;\n      max-width: 130px;\n    }\n\n    .cs-preview-lock-btn {\n      padding: 5px 11px;\n      font-size: 9px;\n    }\n\n    .cs-preview-label {\n      font-size: 10px;\n      padding: 4px 8px;\n      margin-top: 6px;\n    }\n\n    .cs-lifestyle-caption {\n      padding: 16px 18px;\n    }\n\n    .cs-lifestyle-icon {\n      font-size: 20px;\n    }\n\n    .cs-lifestyle-caption p {\n      font-size: 14px;\n    }\n\n    .cs-info-box {\n      flex-direction: column;\n      gap: 14px;\n      padding: 18px;\n    }\n\n    .cs-info-divider {\n      display: none;\n    }\n\n    .cs-info-item {\n      width: 100%;\n    }\n\n    .cs-steps-container {\n      flex-direction: column;\n    }\n\n    .cs-step-arrow {\n      transform: rotate(90deg);\n    }\n\n    .cs-section-title {\n      font-size: 20px;\n    }\n  }\n\n  \/* ==================== CLICK TO ZOOM PREVIEW IMAGE ==================== *\/\n  .cs-zoomable-img {\n    cursor: zoom-in;\n  }\n\n  .cs-image-zoom-modal {\n    position: fixed;\n    inset: 0;\n    z-index: 999999;\n    background: rgba(0, 0, 0, 0.82);\n    display: none;\n    align-items: center;\n    justify-content: center;\n    padding: 24px;\n  }\n\n  .cs-image-zoom-modal.active {\n    display: flex;\n  }\n\n  .cs-image-zoom-modal img {\n    max-width: min(96vw, 900px);\n    max-height: 92vh;\n    width: auto;\n    height: auto;\n    border-radius: 12px;\n    background: #fff;\n    box-shadow: 0 18px 60px rgba(0, 0, 0, 0.45);\n    cursor: zoom-out;\n  }\n\n  .cs-image-zoom-close {\n    position: fixed;\n    top: 18px;\n    right: 22px;\n    width: 42px;\n    height: 42px;\n    border-radius: 999px;\n    border: none;\n    background: #fff;\n    color: #111;\n    font-size: 26px;\n    line-height: 1;\n    cursor: pointer;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n\n\u003c\/style\u003e\n\u003cp\u003e\u003cscript\u003e\n  \/\/ ==================== PHOTO REVIEW SLIDER ====================\n  (function() {\n    try {\n      var prSlider = document.getElementById('csPhotoReviewSlider');\n      var prDots = document.getElementById('csPhotoReviewDots');\n\n      if (!prSlider || !prDots) return;\n\n      var prTrack = prSlider.querySelector('.cs-photo-reviews-track');\n      if (!prTrack) return;\n\n      var prCards = prTrack.querySelectorAll('.cs-photo-review-card');\n      if (prCards.length === 0) return;\n\n      var cardsPerView = window.innerWidth \u003c 750 ? 1 : 3;\n      var totalGroups = Math.ceil(prCards.length \/ cardsPerView);\n\n      prDots.innerHTML = '';\n\n      for (var i = 0; i \u003c totalGroups; i++) {\n        var dot = document.createElement('button');\n        dot.className = 'cs-pr-dot' + (i === 0 ? ' active' : '');\n        dot.setAttribute('data-index', i);\n        dot.setAttribute('aria-label', 'Go to review group ' + (i + 1));\n        dot.setAttribute('type', 'button');\n        prDots.appendChild(dot);\n      }\n\n      prDots.addEventListener('click', function(e) {\n        try {\n          if (e.target \u0026\u0026 e.target.classList.contains('cs-pr-dot')) {\n            var index = parseInt(e.target.getAttribute('data-index')) || 0;\n            var cardWidth = prCards[0].offsetWidth + 16;\n\n            prTrack.scrollTo({\n              left: index * cardWidth * cardsPerView,\n              behavior: 'smooth'\n            });\n\n            var dots = document.querySelectorAll('.cs-pr-dot');\n            for (var j = 0; j \u003c dots.length; j++) {\n              dots[j].classList.remove('active');\n            }\n\n            e.target.classList.add('active');\n          }\n        } catch (err) {\n          \/\/ Silent fail\n        }\n      });\n\n      var scrollTimeout;\n\n      prTrack.addEventListener('scroll', function() {\n        clearTimeout(scrollTimeout);\n\n        scrollTimeout = setTimeout(function() {\n          try {\n            var cardWidth = prCards[0].offsetWidth + 16;\n            var activeIndex = Math.round(prTrack.scrollLeft \/ (cardWidth * cardsPerView));\n            var dots = document.querySelectorAll('.cs-pr-dot');\n\n            for (var j = 0; j \u003c dots.length; j++) {\n              dots[j].classList.toggle('active', j === activeIndex);\n            }\n          } catch (err) {\n            \/\/ Silent fail\n          }\n        }, 100);\n      });\n    } catch (e) {\n      console.log('Review slider initialization skipped');\n    }\n  })();\n\u003c\/script\u003e \u003cscript\u003e\n  \/\/ ==================== CLICK TO ZOOM PREVIEW IMAGE ====================\n  (function() {\n    try {\n      var zoomImages = document.querySelectorAll('.cs-zoomable-img[data-cs-zoom-src]');\n      if (!zoomImages.length) return;\n\n      var modal = document.createElement('div');\n      modal.className = 'cs-image-zoom-modal';\n      modal.setAttribute('role', 'dialog');\n      modal.setAttribute('aria-modal', 'true');\n\n      var closeBtn = document.createElement('button');\n      closeBtn.className = 'cs-image-zoom-close';\n      closeBtn.setAttribute('type', 'button');\n      closeBtn.setAttribute('aria-label', 'Close image preview');\n      closeBtn.innerHTML = '\u0026times;';\n\n      var zoomedImg = document.createElement('img');\n      zoomedImg.alt = 'Zoomed pattern preview';\n\n      modal.appendChild(closeBtn);\n      modal.appendChild(zoomedImg);\n      document.body.appendChild(modal);\n\n      function openZoom(src, alt) {\n        zoomedImg.src = src;\n        zoomedImg.alt = alt || 'Zoomed pattern preview';\n        modal.classList.add('active');\n        document.body.style.overflow = 'hidden';\n      }\n\n      function closeZoom() {\n        modal.classList.remove('active');\n        document.body.style.overflow = '';\n        zoomedImg.src = '';\n      }\n\n      zoomImages.forEach(function(img) {\n        img.addEventListener('click', function(e) {\n          e.preventDefault();\n          e.stopPropagation();\n          openZoom(img.getAttribute('data-cs-zoom-src'), img.getAttribute('alt'));\n        });\n      });\n\n      closeBtn.addEventListener('click', closeZoom);\n      zoomedImg.addEventListener('click', closeZoom);\n\n      modal.addEventListener('click', function(e) {\n        if (e.target === modal) closeZoom();\n      });\n\n      document.addEventListener('keydown', function(e) {\n        if (e.key === 'Escape' \u0026\u0026 modal.classList.contains('active')) {\n          closeZoom();\n        }\n      });\n    } catch (e) {\n      console.log('Image zoom initialization skipped');\n    }\n  })();\n\u003c\/script\u003e\u003c\/p\u003e","brand":"crochetschool.shop","offers":[{"title":"Default Title","offer_id":40788217954433,"sku":null,"price":8.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPTImage17juin2026_15_56_53_1.webp?v=1781732278","url":"https:\/\/crochetschool.shop\/products\/hampton-style-bag-crochet-pattern-pdf-download-diy-tote-bag-crochet-pattern","provider":"crochetschool.shop","version":"1.0","type":"link"}