Sunflower Sling Bag Crochet Pattern
β¨ PDF + Video Tutorial The Sunflower Sling Bag Pattern π» Crochet the trendiest handmade accessory of the season! A stunning sunflower granny square sling bag with full video tutori al β perfect for festivals, beach days, and everyday outfits. π Beginner-friendly guide π₯ Full video tutorial included π» 4 sunflower granny squares π± Step-by-step QR codes π₯ Video Included Watch every step β β β β β 4.9 Β· Real reviews from real makers π» Loved by Crochet Makers Everywhere Real sling bags made by real customers β your next favorite accessory β β β β β 'The video tutorial made all the difference! I'm a beginner and could follow every single step. Obsessed with the result! π»' Patricia B. β Verified Buyer β β β β β 'I get compliments EVERY time I wear this bag! The sunflower pattern is so unique and the QR codes are genius. π' Emma L. β Verified Buyer β β β β β 'Took it to a festival and 5 people asked me where I bought it! Loved telling them I made it myself. β¨' Jessica R. β Verified Buyer β β β β β 'Made one for my sister's birthday and she cried! Best handmade gift ever. The puff stitch sunflowers are gorgeous. π»' Rachel K. β Verified Buyer β β β β β 'Fits my phone, wallet, AirPods, and keys perfectly. The size is just right for a day out. Beach days incoming! ποΈ' Linda P. β Verified Buyer β β β β β 'I learned the puff stitch and bobble stitch from this pattern! The video saved me so much time. Worth every penny. π' Maria S. β Verified Buyer β β β β β 'Made it in 3 different color combos already! So versatile and the pattern is clear as day. Highly recommend. β¨' Sophie D. β Verified Buyer β β β β β 'The crescent shape is so flattering on the body. This is genuinely my favorite bag now. π»' Jennifer W. β Verified Buyer β β β β β 'I love how each granny square comes together. So satisfying to crochet and so cute when assembled! π' Claire M. β Verified Buyer β β β β β 'Pattern was so well-written. Every step photographed, every step on video. No confusion at all! π»' Karen T. β Verified Buyer β β β β β 'Such a fun weekend project! I finished mine in 2 days and I'm already planning the next color combo. π' Amy H. β Verified Buyer β β β β β 'I'm so proud of this bag! Took it on vacation and it was the perfect crossbody. Loved every minute of crocheting it. β¨' Michelle D. β Verified Buyer Instant Delivery PDF arrives in your email within 1 minute Video Tutorial Watch every step on YouTube Beginner-Friendly Step-by-step photos + QR codes π Peek Inside the Pattern See page 1 free β unlock the full step-by-step instructions with the bundle β Page 1 Β· Free Preview π Unlock the full pattern Get more patterns in our bundle View Bundle Deal β π Page 2 Β· Members Only π» The trendiest handmade accessory β perfect for festivals, beach days, and everyday outfits π¦ What You'll Receive π Complete PDF Pattern 16 pages of step-by-step instructions with photos for every technique π₯ Full Video Tutorial Every step filmed in detail β watch and crochet along π± QR Codes Per Step Scan with your phone to jump straight to the video section you need π§Ά Stitch Tutorials Learn the puff stitch and bobble stitch β included in detail π Finished Size 33 Γ 14 cm bag with a 56 cm adjustable sling handle π₯ Instant Download No shipping. No waiting. Start crocheting in 1 minute. β¨ Fits your phone, wallet, AirPods, keys & more β your perfect everyday companion! β¨ How It Works 1 Order Placed Today Β· Secure checkout β 2 Payment Confirmed Within 1 minute β 3 PDF + Video Delivered Instantly to your email π Why Makers Love This Pattern β Video tutorial included β watch every stitch in detail β Beginner-friendly β clear photos for each technique β Learn new stitches β puff stitch & bobble stitch tutorials β Trendy & unique β turns heads every time you wear it β Perfect gift β thoughtful and handmade β Lifetime access β make unlimited bags in any color β Frequently Asked Questions Is this pattern beginner-friendly? Yes! Even though it includes some intermediate stitches like the puff stitch and bobble stitch, every technique is fully explained with step-by-step photos AND a video tutorial. If you can do basic single crochet and double crochet, you can absolutely make this bag. How does the video tutorial work? The PDF includes a main YouTube link plus QR codes at each step. Scan the QR with your phone to jump directly to the video section you need. You can watch the full video or just the parts where you need extra guidance. What yarn and hook do I need? The original is made with Alize Cotton Gold (55% cotton, 45% acrylic), about 200 yards total, crocheted in 2 strands. Hook size is 3.5mm (US E/4). You'll also need a 30cm zipper, a D-ring, and a swivel clasp β all listed in the materials section with photos. How long does it take to make? Most makers complete the bag in 10-15 hours β perfect as a long weekend project. You can also work on it in small sections (one granny square at a time) over a week. Will I receive the pattern immediately? Yes! Within 1 minute of payment, the PDF will arrive in your email inbox. You can also download it directly from your order confirmation page β and access it from your account forever. Can I sell the bags I make? Yes! You can sell finished bags you create. Please credit the pattern designer when you do. However, the pattern PDF itself is for personal use only β please don't resell or share the file. Can I use different yarn or colors? Absolutely! Any worsted weight cotton or cotton blend works. The original uses 5 colors (dark brown center, light brown petals, yellow bobbles, blue background, optional accent) but you can customize any way you like β pink, neon, pastels, monochrome, you name it. /* ==================== BRAND VARIABLES ==================== */ .cs-product-wrapper { --cs-primary: ?8b6f47; --cs-primary-dark: ?6f5836; --cs-cream: ?faf7f2; --cs-cream-dark: ?f5efe5; --cs-text: ?2a2a2a; --cs-text-light: ?6a6a6a; --cs-gold: ?d4a574; --cs-success: ?4a7c59; --cs-pink: ?E91E63; --cs-pink-dark: ?C2185B; font-family: inherit; color: var(--cs-text); line-height: 1.6; max-width: 100%; margin: 0 auto; } .cs-product-wrapper * { box-sizing: border-box; } .cs-product-wrapper h1, .cs-product-wrapper h2, .cs-product-wrapper h3, .cs-product-wrapper h4 { margin: 0 0 12px; line-height: 1.3; } .cs-product-wrapper p { margin: 0 0 12px; } /* ==================== HERO SECTION ==================== */ .cs-hero-section { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; padding: 48px 24px; background: linear-gradient(135deg, var(--cs-cream) 0%, ?fdfbf6 100%); border-radius: 20px; margin-bottom: 32px; } .cs-hero-badge { display: inline-block; background: var(--cs-pink); color: white; padding: 8px 16px; border-radius: 50px; font-size: 12px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; margin-bottom: 16px; } .cs-hero-title { font-size: 36px; font-weight: 800; color: var(--cs-primary-dark); margin-bottom: 16px; line-height: 1.2; } .cs-hero-subtitle { font-size: 17px; color: var(--cs-text-light); margin-bottom: 24px; line-height: 1.6; } .cs-hero-features { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; } .cs-hero-feature { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--cs-text); } .cs-hero-feature-icon { font-size: 20px; } .cs-hero-image { position: relative; } .cs-hero-img { width: 100%; height: auto; border-radius: 16px; box-shadow: 0 12px 32px rgba(139, 111, 71, 0.2); } .cs-hero-image-badge { position: absolute; bottom: 20px; right: 20px; background: white; padding: 12px 20px; border-radius: 50px; display: flex; align-items: center; gap: 10px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); } .cs-badge-icon { font-size: 22px; } .cs-badge-text strong { display: block; font-size: 16px; color: var(--cs-primary-dark); line-height: 1.2; } .cs-badge-text span { font-size: 12px; color: var(--cs-text-light); } /* ==================== PHOTO REVIEWS ==================== */ .cs-photo-reviews-section { background: linear-gradient(135deg, var(--cs-cream) 0%, ?fdfbf6 100%); border-radius: 20px; padding: 32px 24px; margin: 0 0 28px; border: 1px solid ?e8dfd0; box-shadow: 0 4px 16px rgba(139, 111, 71, 0.06); } .cs-photo-reviews-header { text-align: center; margin-bottom: 24px; } .cs-pr-rating { display: inline-flex; align-items: center; gap: 12px; background: ?fff; padding: 8px 18px; border-radius: 50px; border: 1px solid ?e8dfd0; margin-bottom: 14px; box-shadow: 0 2px 8px rgba(139, 111, 71, 0.08); } .cs-pr-stars { color: ?f5b800; font-size: 18px; letter-spacing: 2px; } .cs-pr-rating-text { font-size: 14px; color: var(--cs-text-light); } .cs-pr-rating-text strong { color: var(--cs-primary-dark); font-size: 16px; font-weight: 700; } .cs-pr-title { font-size: 24px; color: var(--cs-primary-dark); font-weight: 700; margin-bottom: 6px; } .cs-pr-subtitle { font-size: 14px; color: var(--cs-text-light); font-style: italic; } .cs-photo-reviews-slider { overflow: hidden; margin: 0 -8px; padding: 8px; } .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-primary) transparent; } .cs-photo-reviews-track::-webkit-scrollbar { height: 6px; } .cs-photo-reviews-track::-webkit-scrollbar-track { background: var(--cs-cream-dark); border-radius: 4px; } .cs-photo-reviews-track::-webkit-scrollbar-thumb { background: var(--cs-primary); border-radius: 4px; } .cs-photo-review-card { flex: 0 0 280px; background: ?fff; border-radius: 14px; overflow: hidden; border: 1px solid ?e8dfd0; scroll-snap-align: start; transition: all 0.3s ease; display: flex; flex-direction: column; } .cs-photo-review-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(139, 111, 71, 0.15); border-color: var(--cs-primary); } .cs-pr-image { width: 100%; height: 280px; object-fit: cover; display: block; transition: transform 0.5s ease; background: var(--cs-cream); } .cs-photo-review-card:hover .cs-pr-image { transform: scale(1.05); } .cs-pr-content { padding: 16px 18px; flex-grow: 1; display: flex; flex-direction: column; } .cs-pr-stars-small { color: ?f5b800; font-size: 14px; letter-spacing: 1px; margin-bottom: 8px; } .cs-pr-text { font-size: 14px; color: var(--cs-text); line-height: 1.5; font-style: italic; margin-bottom: 12px; flex-grow: 1; } .cs-pr-author { display: flex; flex-direction: column; gap: 2px; padding-top: 10px; border-top: 1px solid var(--cs-cream-dark); } .cs-pr-name { font-size: 13px; font-weight: 700; color: var(--cs-primary-dark); } .cs-pr-verified { font-size: 11px; color: var(--cs-success); font-weight: 600; } .cs-pr-dots { display: flex; justify-content: center; gap: 8px; margin-top: 18px; } .cs-pr-dot { width: 8px; height: 8px; border-radius: 50%; background: ?d8cfc0; border: none; cursor: pointer; transition: all 0.3s ease; padding: 0; } .cs-pr-dot.active { background: var(--cs-primary); width: 24px; border-radius: 4px; } /* ==================== π PREVIEW + LOCKED PAGES (SMALL) ==================== */ .cs-preview-section { background: linear-gradient(135deg, var(--cs-cream) 0%, ?fdfbf6 100%); border-radius: 20px; padding: 36px 24px; margin: 36px 0; border: 1px solid ?e8dfd0; } .cs-preview-subtitle { text-align: center; font-size: 14px; color: var(--cs-text-light); font-style: italic; margin: -8px 0 28px; } .cs-preview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 800px; margin: 0 auto; } .cs-preview-grid-small { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; max-width: 480px; margin: 0 auto; justify-items: center; } .cs-preview-grid-small .cs-preview-page { width: 100%; max-width: 200px; } .cs-preview-page { display: block; text-decoration: none; color: inherit; transition: all 0.3s ease; } .cs-preview-page-inner { position: relative; border-radius: 10px; overflow: hidden; aspect-ratio: 8.5 / 11; background: ?fff; border: 1px solid ?e8dfd0; box-shadow: 0 6px 18px rgba(139, 111, 71, 0.1); transition: all 0.3s ease; } .cs-preview-img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; } .cs-preview-visible:hover .cs-preview-page-inner { transform: translateY(-3px); box-shadow: 0 12px 24px rgba(139, 111, 71, 0.18); } .cs-preview-locked { cursor: pointer; } .cs-preview-locked:hover .cs-preview-page-inner { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(139, 111, 71, 0.22); border-color: var(--cs-primary); } .cs-preview-locked:hover .cs-preview-lock-btn { background: var(--cs-pink-dark); transform: translateY(-2px); } .cs-preview-img-blurred { filter: blur(6px) brightness(0.7); transform: scale(1.05); } .cs-preview-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(111, 88, 54, 0.3) 0%, rgba(111, 88, 54, 0.85) 100%); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 12px; color: ?fff; } .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; } @keyframes cs-lock-bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } } .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); } .cs-preview-lock-text { font-size: 10px; opacity: 0.95; margin-bottom: 10px; max-width: 160px; line-height: 1.3; } .cs-preview-lock-btn { background: var(--cs-pink); color: ?fff; padding: 7px 14px; border-radius: 50px; font-size: 11px; font-weight: 700; letter-spacing: 0.3px; box-shadow: 0 4px 12px rgba(233, 30, 99, 0.4); transition: all 0.3s ease; } .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; } .cs-preview-label-free { background: rgba(74, 124, 89, 0.12); color: var(--cs-success); } .cs-preview-label-locked { background: rgba(233, 30, 99, 0.1); color: var(--cs-pink-dark); } /* ==================== LIFESTYLE IMAGES ==================== */ .cs-lifestyle-image { margin: 32px 0; border-radius: 16px; overflow: hidden; box-shadow: 0 8px 24px rgba(139, 111, 71, 0.1); background: var(--cs-cream); } .cs-lifestyle-img { width: 100%; height: auto; display: block; } .cs-lifestyle-caption { padding: 20px 24px; background: linear-gradient(135deg, var(--cs-cream) 0%, ?fdfbf6 100%); display: flex; align-items: center; gap: 12px; border-top: 1px solid ?e8dfd0; } .cs-lifestyle-icon { font-size: 24px; flex-shrink: 0; } .cs-lifestyle-caption p { font-size: 15px; color: var(--cs-text); font-weight: 500; margin: 0; line-height: 1.4; } /* ==================== INFO BOX ==================== */ .cs-info-box { background: var(--cs-cream); border: 1px solid ?e8dfd0; border-radius: 12px; padding: 18px 20px; margin: 24px 0; display: flex; align-items: center; justify-content: space-around; gap: 16px; flex-wrap: wrap; } .cs-info-item { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 200px; } .cs-info-icon { width: 28px; height: 28px; flex-shrink: 0; } .cs-info-text strong { display: block; font-size: 14px; color: var(--cs-primary-dark); font-weight: 700; } .cs-info-text span { font-size: 12px; color: var(--cs-text-light); } .cs-info-divider { width: 1px; height: 36px; background: ?d8cfc0; } /* ==================== SECTION TITLES ==================== */ .cs-section-title { font-size: 22px; color: var(--cs-primary-dark); font-weight: 700; text-align: center; margin-bottom: 20px; } /* ==================== RECEIVE ==================== */ .cs-receive-section { margin: 36px 0; } .cs-receive-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; } .cs-receive-item { background: ?fff; border: 1px solid ?e8dfd0; border-radius: 12px; padding: 20px 16px; text-align: center; transition: all 0.3s ease; } .cs-receive-item:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(139, 111, 71, 0.12); border-color: var(--cs-primary); } .cs-receive-emoji { font-size: 32px; display: block; margin-bottom: 8px; } .cs-receive-item h4 { font-size: 15px; color: var(--cs-primary-dark); font-weight: 700; } .cs-receive-item p { font-size: 13px; color: var(--cs-text-light); margin: 0; } /* ==================== HOW IT WORKS ==================== */ .cs-how-section { background: var(--cs-cream); border-radius: 16px; padding: 28px 20px; margin: 36px 0; } .cs-steps-container { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; } .cs-step { flex: 1; min-width: 180px; display: flex; align-items: center; gap: 12px; } .cs-step-number { width: 44px; height: 44px; border-radius: 50%; background: linear-gradient(135deg, var(--cs-primary), var(--cs-primary-dark)); color: ?fff; font-weight: 700; font-size: 18px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 4px 12px rgba(139, 111, 71, 0.3); } .cs-step-content h4 { font-size: 14px; color: var(--cs-primary-dark); margin: 0; } .cs-step-content p { font-size: 12px; color: var(--cs-text-light); margin: 0; } .cs-step-arrow { font-size: 22px; color: var(--cs-primary); font-weight: 700; } /* ==================== WHY LOVE ==================== */ .cs-why-section { margin: 36px 0; } .cs-why-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; } .cs-why-item { background: ?fff; border: 1px solid ?e8dfd0; border-radius: 10px; padding: 14px 16px; display: flex; align-items: flex-start; gap: 10px; } .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; } .cs-why-item p { font-size: 14px; margin: 0; color: var(--cs-text); } /* ==================== FAQ ==================== */ .cs-faq-section { margin: 36px 0; } .cs-faq-item { background: ?fff; border: 1px solid ?e8dfd0; border-radius: 10px; padding: 14px 18px; margin-bottom: 10px; transition: all 0.3s ease; } .cs-faq-item:hover { border-color: var(--cs-primary); } .cs-faq-item summary { font-weight: 600; color: var(--cs-primary-dark); cursor: pointer; list-style: none; position: relative; padding-right: 30px; font-size: 15px; } .cs-faq-item summary::-webkit-details-marker { display: none; } .cs-faq-item summary::after { content: '+'; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 22px; color: var(--cs-primary); font-weight: 300; } .cs-faq-item[open] summary::after { content: 'β'; } .cs-faq-item p { margin-top: 12px; font-size: 14px; color: var(--cs-text-light); line-height: 1.6; } /* ==================== MOBILE ==================== */ @media (max-width: 749px) { .cs-hero-section { grid-template-columns: 1fr; gap: 28px; padding: 32px 20px; } .cs-hero-title { font-size: 28px; } .cs-hero-subtitle { font-size: 15px; } .cs-hero-features { grid-template-columns: 1fr; } .cs-hero-image-badge { bottom: 10px; right: 10px; padding: 10px 16px; } .cs-photo-reviews-section { padding: 24px 16px; border-radius: 16px; } .cs-pr-title { font-size: 20px; } .cs-pr-subtitle { font-size: 13px; } .cs-photo-review-card { flex: 0 0 240px; } .cs-pr-image { height: 240px; } .cs-preview-section { padding: 24px 16px; } .cs-preview-grid-small { max-width: 320px; gap: 12px; } .cs-preview-grid-small .cs-preview-page { max-width: 150px; } .cs-preview-lock-icon { font-size: 22px; margin-bottom: 4px; } .cs-preview-lock-title { font-size: 11px; margin-bottom: 3px; } .cs-preview-lock-text { font-size: 9px; margin-bottom: 8px; max-width: 130px; } .cs-preview-lock-btn { padding: 5px 11px; font-size: 9px; } .cs-preview-label { font-size: 10px; padding: 4px 8px; margin-top: 6px; } .cs-lifestyle-caption { padding: 16px 18px; } .cs-lifestyle-icon { font-size: 20px; } .cs-lifestyle-caption p { font-size: 14px; } .cs-info-box { flex-direction: column; gap: 14px; padding: 18px; } .cs-info-divider { display: none; } .cs-info-item { width: 100%; } .cs-steps-container { flex-direction: column; } .cs-step-arrow { transform: rotate(90deg); } .cs-section-title { font-size: 20px; } } (function() { try { var prSlider = document.getElementById('csPhotoReviewSlider'); var prDots = document.getElementById('csPhotoReviewDots'); if (!prSlider || !prDots) return; var prTrack = prSlider.querySelector('.cs-photo-reviews-track'); if (!prTrack) return; var prCards = prTrack.querySelectorAll('.cs-photo-review-card'); if (prCards.length === 0) return; var cardsPerView = window.innerWidth < 750 ? 1 : 3; var totalGroups = Math.ceil(prCards.length / cardsPerView); prDots.innerHTML = ''; for (var i = 0; i < totalGroups; i++) { var dot = document.createElement('button'); dot.className = 'cs-pr-dot' + (i === 0 ? ' active' : ''); dot.setAttribute('data-index', i); dot.setAttribute('aria-label', 'Go to review group ' + (i + 1)); dot.setAttribute('type', 'button'); prDots.appendChild(dot); } prDots.addEventListener('click', function(e) { try { if (e.target && e.target.classList.contains('cs-pr-dot')) { var index = parseInt(e.target.getAttribute('data-index')) || 0; var cardWidth = prCards[0].offsetWidth + 16; prTrack.scrollTo({ left: index * cardWidth * cardsPerView, behavior: 'smooth' }); var dots = document.querySelectorAll('.cs-pr-dot'); for (var j = 0; j < dots.length; j++) { dots[j].classList.remove('active'); } e.target.classList.add('active'); } } catch (err) {} }); var scrollTimeout; prTrack.addEventListener('scroll', function() { clearTimeout(scrollTimeout); scrollTimeout = setTimeout(function() { try { var cardWidth = prCards[0].offsetWidth + 16; var activeIndex = Math.round(prTrack.scrollLeft / (cardWidth * cardsPerView)); var dots = document.querySelectorAll('.cs-pr-dot'); for (var j = 0; j < dots.length; j++) { dots[j].classList.toggle('active', j === activeIndex); } } catch (err) {} }, 100); }); } catch (e) {} })();