{"product_id":"womens-oversized-lightweight-open-front-cardigan-sweater","title":"Women's Oversized Lightweight Open Front Cardigan Sweater","description":"\u003cstyle\u003e\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Oswald:wght@500;600;700\u0026family=Inter:wght@400;500;600\u0026display=swap');\n\n.bwc-page{background:#fff;font-family:'Inter',Arial,Helvetica,sans-serif;color:#141414;padding:0;margin:0;-webkit-font-smoothing:antialiased}\n.bwc-page *{box-sizing:border-box}\n.bwc-page .bwc-container{max-width:100%;width:100%;margin:0;padding:0}\n.bwc-page .bwc-card{background:#fff;border:none;padding:0;overflow:hidden}\n\n.bwc-page .bwc-teeth{display:block!important;height:16px!important;width:100%!important;background:\n  linear-gradient(135deg,#141414 25%,transparent 25%) 0 0\/16px 16px,\n  linear-gradient(225deg,#141414 25%,transparent 25%) 0 0\/16px 16px,\n  #fff!important;}\n.bwc-page .bwc-teeth.inv{background:\n  linear-gradient(135deg,#fff 25%,transparent 25%) 0 0\/16px 16px,\n  linear-gradient(225deg,#fff 25%,transparent 25%) 0 0\/16px 16px,\n  #141414!important;}\n\n.bwc-page .bwc-top{padding:26px 26px 0}\n.bwc-page .bwc-eyebrow{font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#6b6b6b;text-align:center;margin:0 0 8px}\n.bwc-page .bwc-h1{font-family:'Oswald',sans-serif;font-weight:700;font-size:32px;text-align:center;color:#111;margin:0 0 18px;line-height:1.14;letter-spacing:-.2px;text-transform:uppercase}\n\n.bwc-page .bwc-hero{background:#141414;color:#fff;padding:28px 24px;margin:0;position:relative}\n.bwc-page .bwc-hero p{margin:0;opacity:.88;line-height:1.7;font-size:15px;color:#fff!important}\n\n.bwc-page .bwc-img-wrap{width:100%;margin:0;overflow:hidden;background:#f4f4f4}\n.bwc-page .bwc-img-wrap img{width:100%;height:auto;display:block;margin:0}\n\n.bwc-page .bwc-body{padding:0 26px}\n\n.bwc-page .bwc-section-title{font-family:'Oswald',sans-serif;font-weight:700;font-size:22px;text-transform:uppercase;letter-spacing:.02em;color:#111;margin:38px 0 6px;padding-bottom:12px;border-bottom:3px solid #141414;line-height:1.2}\n.bwc-page .bwc-lead{font-size:15px;line-height:1.75;color:#3d3d3d;margin:0 0 18px}\n\n.bwc-page .bwc-carousel{position:relative;margin:22px 0 30px}\n.bwc-page .bwc-carousel-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:4px 4px 14px;scrollbar-width:none;-ms-overflow-style:none}\n.bwc-page .bwc-carousel-track::-webkit-scrollbar{display:none}\n.bwc-page .bwc-carousel-slide{flex:0 0 100%;max-width:100%;scroll-snap-align:start;background:#fff;display:flex;flex-direction:column}\n.bwc-page .bwc-carousel-imgs{display:flex}\n.bwc-page .bwc-carousel-imgs img{flex:1 1 0;width:100%;height:auto;display:block;aspect-ratio:1\/1;object-fit:cover;min-width:0}\n.bwc-page .bwc-carousel-text{padding:18px;flex:1}\n.bwc-page .bwc-carousel-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:#141414;color:#fff;font-family:'Oswald',sans-serif;font-size:12px;font-weight:600;margin-bottom:10px}\n.bwc-page .bwc-carousel-text h3{margin:0 0 6px;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.01em;font-size:15px;color:#111;font-weight:600;line-height:1.3}\n.bwc-page .bwc-carousel-text p{margin:0;color:#4a4a4a;font-size:13px;line-height:1.6}\n.bwc-page .bwc-carousel-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:12px}\n.bwc-page .bwc-carousel-arrow{width:36px;height:36px;border:2px solid #141414;background:#fff;color:#141414;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:17px;flex-shrink:0;padding:0;line-height:1}\n.bwc-page .bwc-carousel-arrow:hover{background:#141414;color:#fff}\n.bwc-page .bwc-carousel-dots{display:flex;gap:8px}\n.bwc-page .bwc-carousel-dot{width:8px;height:8px;border-radius:50%;background:#d4d4d4;cursor:pointer;transition:background .2s;padding:0;border:0}\n.bwc-page .bwc-carousel-dot.active{background:#141414}\n\n.bwc-page .bwc-review-title{font-family:'Oswald',sans-serif;font-size:14.5px;font-weight:600;text-transform:uppercase;letter-spacing:.01em;color:#111;margin:0 0 6px}\n.bwc-page .bwc-review-quote{font-size:13px;line-height:1.6;color:#4a4a4a;margin:0 0 8px;font-style:italic}\n.bwc-page .bwc-review-name{font-family:'Oswald',sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#111;font-weight:600}\n\n.bwc-page .bwc-review-carousel-slide{flex:0 0 100%;max-width:100%;scroll-snap-align:start}\n.bwc-page .bwc-review-mini{padding:12px 14px;background:#fff}\n.bwc-page .bwc-review-mini .bwc-review-title{font-size:13px;margin-bottom:6px}\n.bwc-page .bwc-review-mini .bwc-review-quote{font-size:13px;line-height:1.6;margin-bottom:0}\n\n.bwc-page .bwc-media-block{margin:22px 0 6px;overflow:hidden;background:#f4f4f4}\n.bwc-page .bwc-media-block img,.bwc-page .bwc-media-block video{width:100%;height:auto;display:block}\n\n.bwc-page .bwc-spec{margin-top:36px;background:#141414;padding:0}\n.bwc-page .bwc-spec h2{color:#fff;margin:0;padding:20px 24px;font-size:19px;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #3a3a3a}\n.bwc-page .bwc-table{width:100%;border-collapse:collapse;background:#fff}\n.bwc-page .bwc-table td{padding:14px 20px;border-bottom:1px solid #e4e4e4;vertical-align:top;line-height:1.5;font-size:14.5px;color:#222}\n.bwc-page .bwc-table tr:last-child td{border-bottom:0}\n.bwc-page .bwc-table td:first-child{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:#111;width:34%;background:#f5f5f5;font-size:12.5px}\n\n.bwc-page .bwc-faq{margin-top:36px}\n.bwc-page .bwc-faq-item{border-bottom:1px solid #e4e4e4;padding:16px 2px}\n.bwc-page .bwc-faq-item:first-child{padding-top:0}\n.bwc-page .bwc-faq-q{font-family:'Oswald',sans-serif;font-size:14.5px;text-transform:uppercase;letter-spacing:.01em;color:#111;font-weight:600;margin:0;display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;padding:0;cursor:pointer;text-align:left}\n.bwc-page .bwc-faq-q .qmark{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:#141414;color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif}\n.bwc-page .bwc-faq-q .qtext{flex:1}\n.bwc-page .bwc-faq-q .bwc-faq-toggle{flex:0 0 auto;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:#141414;transition:transform .2s}\n.bwc-page .bwc-faq-item.open .bwc-faq-q .bwc-faq-toggle{transform:rotate(45deg)}\n.bwc-page .bwc-faq-a{font-size:14px;line-height:1.65;color:#4a4a4a;margin:8px 0 0;padding-left:32px;display:none}\n.bwc-page .bwc-faq-item.open .bwc-faq-a{display:block}\n\n.bwc-page .bwc-cta{margin-top:36px;background:#141414;color:#fff;padding:40px 24px;text-align:center}\n.bwc-page .bwc-cta h2{margin:0 0 12px;font-size:24px;line-height:1.25;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.02em;font-weight:700;color:#fff!important}\n.bwc-page .bwc-cta p{margin:0 auto 22px;line-height:1.65;max-width:560px;opacity:.85;font-size:14.5px;color:#fff!important}\n.bwc-page .bwc-btn{display:inline-block;background:#fff;color:#111!important;padding:15px 40px;font-family:'Oswald',sans-serif;font-size:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:2px solid #fff;cursor:pointer}\n.bwc-page .bwc-cta-form{margin:0;display:inline-block}\n\n.bwc-page .bwc-bottom-pad{height:26px}\n\n@media(max-width:768px){\n.bwc-page .bwc-container{padding:0}\n.bwc-page .bwc-top{padding:20px 16px 0}\n.bwc-page .bwc-body{padding:0 16px}\n.bwc-page .bwc-h1{font-size:24px}\n.bwc-page .bwc-hero{padding:20px 16px}\n.bwc-page .bwc-section-title{font-size:19px;margin-top:30px}\n.bwc-page .bwc-carousel-slide{flex:0 0 100%;max-width:100%}\n.bwc-page .bwc-carousel-track{gap:0}\n.bwc-page .bwc-table td{display:block;width:100%;padding:10px 16px}\n.bwc-page .bwc-table td:first-child{width:100%;border-bottom:0;padding-bottom:2px}\n.bwc-page .bwc-faq-a{padding-left:0;margin-top:6px}\n.bwc-page .bwc-btn{display:block;width:100%;text-align:center}\n}\n\u003c\/style\u003e\n\n\u003cdiv class=\"bwc-page\"\u003e\n\u003cdiv class=\"bwc-container\"\u003e\n\u003cdiv class=\"bwc-card\"\u003e\n\n\u003c!-- ① 标题区 --\u003e\n\u003cdiv class=\"bwc-top\"\u003e\n\u003cp class=\"bwc-eyebrow\"\u003eWomen's Knit Cardigan Sweater\u003c\/p\u003e\n\u003ch1 class=\"bwc-h1\"\u003eYour New Favorite Cozy Layer\u003c\/h1\u003e\n\u003c\/div\u003e\n\n\u003c!-- ② Hero 横幅 --\u003e\n\u003cdiv class=\"bwc-hero\"\u003e\n\u003cp\u003eEasy, relaxed, and effortlessly stylish, this oversized open-front cardigan is made for those in-between days when you want warmth without the bulk. The soft, stretchy knit feels comfortable against the skin while keeping the silhouette light and easy to layer.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-teeth\"\u003e\u003c\/div\u003e\n\n\u003c!-- ③ 主图：请替换为你自己的产品图 --\u003e\n\u003cdiv class=\"bwc-img-wrap\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/1_17.webp?v=1786604105\" alt=\"Women's oversized open-front cardigan main photo\"\u003e\n\u003c\/div\u003e\n\n\u003c!-- ⑤ 功能特性：轮播（2 个核心卖点，自动播放 5 秒） --\u003e\n\u003ch2 class=\"bwc-section-title\" style=\"margin-left:26px;margin-right:26px\"\u003eWhy You'll Love It\u003c\/h2\u003e\n\u003cp class=\"bwc-lead\" style=\"margin-left:26px;margin-right:26px\"\u003eTwo reasons it's the smarter way to dress every day.\u003c\/p\u003e\n\n\u003cdiv class=\"bwc-carousel\" data-carousel data-autoplay=\"5000\"\u003e\n\u003cdiv class=\"bwc-carousel-track\" data-track\u003e\n\n\u003cdiv class=\"bwc-carousel-slide\"\u003e\n\u003cdiv class=\"bwc-carousel-imgs\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/2_17.webp?v=1786604105\" alt=\"Soft lightweight knit\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-text\"\u003e\n\u003cspan class=\"bwc-carousel-num\"\u003e1\u003c\/span\u003e\n\u003ch3\u003eSoft Lightweight Knit\u003c\/h3\u003e\n\u003cp\u003eMade from a soft blend of polyester, acrylic, and elastane, this cardigan offers a comfortable combination of stretch, softness, and breathability. The lightweight knit makes it easy to layer without feeling overly thick or restrictive.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-carousel-slide\"\u003e\n\u003cdiv class=\"bwc-carousel-imgs\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/3_17.webp?v=1786604105\" alt=\"Effortless oversized style\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-text\"\u003e\n\u003cspan class=\"bwc-carousel-num\"\u003e2\u003c\/span\u003e\n\u003ch3\u003eEffortless Oversized Style\u003c\/h3\u003e\n\u003cp\u003eThe slouchy oversized silhouette creates an easy, flattering look while the open front makes layering effortless. Long lantern sleeves add a distinctive detail that turns a simple cardigan into an eye-catching everyday piece.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-carousel-nav\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-carousel-arrow\" data-prev aria-label=\"Previous slide\"\u003e‹\u003c\/button\u003e\n\u003cdiv class=\"bwc-carousel-dots\" data-dots\u003e\u003c\/div\u003e\n\u003cbutton type=\"button\" class=\"bwc-carousel-arrow\" data-next aria-label=\"Next slide\"\u003e›\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-teeth\" style=\"margin-top:8px\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-body\"\u003e\n\u003c!-- Perfect For：下面加了配图区域（不加 Size Guide） --\u003e\n\u003ch2 class=\"bwc-section-title\"\u003ePerfect For\u003c\/h2\u003e\n\u003cp class=\"bwc-lead\"\u003ePerfect for fall coffee runs, weekend brunches, casual office days, shopping trips, travel, chilly evenings, relaxed weekends, and cozy days at home. Layer it over jeans, leggings, skirts, or dresses to create an effortless outfit that transitions easily from early fall into cooler winter days.\u003c\/p\u003e\n\n\u003c!-- 使用场景配图区域 --\u003e\n\u003cdiv class=\"bwc-media-block\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/4_17.webp?v=1786604106\" alt=\"Oversized cardigan styled for an everyday occasion\"\u003e\n\u003c\/div\u003e\n\n\u003c!-- 规格参数表 --\u003e\n\u003cdiv class=\"bwc-spec\"\u003e\n\u003ch2\u003eProduct Specifications\u003c\/h2\u003e\n\u003ctable class=\"bwc-table\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eProduct Type\u003c\/td\u003e\n\u003ctd\u003eWomen's Knit Cardigan Sweater\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStyle\u003c\/td\u003e\n\u003ctd\u003eOversized, Slouchy \u0026amp; Casual\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003e72% Polyester, 24% Acrylic, 4% Elastane\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFabric Feel\u003c\/td\u003e\n\u003ctd\u003eSoft, Stretchy \u0026amp; Lightweight\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFit\u003c\/td\u003e\n\u003ctd\u003eRelaxed Oversized Fit\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eNeckline\u003c\/td\u003e\n\u003ctd\u003eOpen Front\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSleeve Type\u003c\/td\u003e\n\u003ctd\u003eLong Lantern Sleeves\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eClosure\u003c\/td\u003e\n\u003ctd\u003eOpen Front\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePattern\u003c\/td\u003e\n\u003ctd\u003eSolid Color\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSeason\u003c\/td\u003e\n\u003ctd\u003eFall \u0026amp; Winter\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLayering\u003c\/td\u003e\n\u003ctd\u003eIdeal For Layering\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAvailable Sizes\u003c\/td\u003e\n\u003ctd\u003eMultiple Sizes\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAvailable Colors\u003c\/td\u003e\n\u003ctd\u003eMultiple Colors\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCare Instructions\u003c\/td\u003e\n\u003ctd\u003eHand wash recommended. For machine washing, turn inside out, place in a mesh laundry bag, use cold water and a gentle cycle with mild detergent. Do not wring or tumble dry.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFit Note\u003c\/td\u003e\n\u003ctd\u003eDesigned with an oversized fit. If you prefer a more fitted silhouette, consider sizing down.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\n\u003c!-- Customer Reviews：一页展示一条评论，不带图片，手动切换 --\u003e\n\u003ch2 class=\"bwc-section-title\"\u003eCustomer Reviews\u003c\/h2\u003e\n\u003cdiv class=\"bwc-carousel\" data-carousel data-autoplay=\"0\"\u003e\n\u003cdiv class=\"bwc-carousel-track\" data-track\u003e\n\n\u003cdiv class=\"bwc-carousel-slide bwc-review-carousel-slide\"\u003e\n\u003cdiv class=\"bwc-review-mini\"\u003e\n\u003cp class=\"bwc-review-title\"\u003eAmanda R.\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"I absolutely love how soft and lightweight this cardigan feels. It's oversized without looking sloppy, and I can easily throw it over jeans or a dress. The sleeves are such a cute detail.\"\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-carousel-slide bwc-review-carousel-slide\"\u003e\n\u003cdiv class=\"bwc-review-mini\"\u003e\n\u003cp class=\"bwc-review-title\"\u003eJessica M.\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"Super cozy without being too heavy. Perfect for fall layering.\"\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-carousel-slide bwc-review-carousel-slide\"\u003e\n\u003cdiv class=\"bwc-review-mini\"\u003e\n\u003cp class=\"bwc-review-title\"\u003eLauren T.\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"This has quickly become one of my favorite layering pieces. The fabric has just enough stretch and doesn't feel bulky under a jacket. The oversized shape gives it that effortless look I love.\"\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-carousel-slide bwc-review-carousel-slide\"\u003e\n\u003cdiv class=\"bwc-review-mini\"\u003e\n\u003cp class=\"bwc-review-title\"\u003eRachel K.\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"Soft, comfortable, and the lantern sleeves make it stand out from a basic cardigan.\"\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-carousel-nav\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-carousel-arrow\" data-prev aria-label=\"Previous slide\"\u003e‹\u003c\/button\u003e\n\u003cdiv class=\"bwc-carousel-dots\" data-dots\u003e\u003c\/div\u003e\n\u003cbutton type=\"button\" class=\"bwc-carousel-arrow\" data-next aria-label=\"Next slide\"\u003e›\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- FAQ：点击问题展开\/收起答案 --\u003e\n\u003cdiv class=\"bwc-faq\" data-accordion\u003e\n\u003ch2 class=\"bwc-section-title\"\u003eFrequently Asked Questions\u003c\/h2\u003e\n\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\" aria-expanded=\"false\"\u003e\u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e\u003cspan class=\"qtext\"\u003eIs this cardigan oversized?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eYes. It features a relaxed, slouchy oversized silhouette. If you prefer a more fitted appearance, consider sizing down.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\" aria-expanded=\"false\"\u003e\u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e\u003cspan class=\"qtext\"\u003eIs the knit heavy or bulky?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eNo. The knit is designed to be lightweight, making it comfortable for layering without excessive bulk.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\" aria-expanded=\"false\"\u003e\u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e\u003cspan class=\"qtext\"\u003eIs the fabric stretchy?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eYes. The addition of elastane provides comfortable stretch and flexibility.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\" aria-expanded=\"false\"\u003e\u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e\u003cspan class=\"qtext\"\u003eHow should I wash it?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eHand washing in cold or lukewarm water is recommended. If machine washing, use a gentle cycle, cold water, mild detergent, and a mesh laundry bag. Avoid wringing and tumble drying.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\" aria-expanded=\"false\"\u003e\u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e\u003cspan class=\"qtext\"\u003eWhat can I wear it with?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003ePair it with jeans, leggings, skirts, or dresses. Sneakers create a casual look, while ankle boots or loafers can give the outfit a more polished finish.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\" aria-expanded=\"false\"\u003e\u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e\u003cspan class=\"qtext\"\u003eIs it suitable for winter?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eIt's ideal as a lightweight fall-to-winter layering piece. For colder temperatures, layer it underneath a coat or over a warmer base layer.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-teeth inv\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"bwc-bottom-pad\"\u003e\u003c\/div\u003e\n\n\u003c!-- ⑩ CTA --\u003e\n\u003cdiv class=\"bwc-cta\"\u003e\n\u003ch2\u003eLayer Up In Effortless Cozy Style\u003c\/h2\u003e\n\u003cp\u003eSoft, lightweight, and easy to style, this oversized cardigan is the perfect finishing layer for your fall-to-winter wardrobe.\u003c\/p\u003e\n\u003c!-- 这个按钮不再绑定固定的 VARIANT_ID：点击时会去读页面上真正的商品选购表单（客户选好的颜色\/尺寸\/规格），\n     取出当前选中的那个变体 id，再用 Shopify 的 \/cart\/add.js 接口把“客户选的那个变体”加入购物车。\n     data-fallback-variant 是兜底用的，如果在页面上找不到选购表单，就退回用这个固定ID（记得替换成你商品的默认变体ID）。 --\u003e\n\u003cbutton type=\"button\" class=\"bwc-btn bwc-add-to-cart\" data-fallback-variant=\"VARIANT_ID\"\u003eAdd Yours To Your Closet Today\u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function(){\n  \/\/ Initialize every carousel on the page independently (feature carousel + reviews carousel)\n  var carousels = document.querySelectorAll('[data-carousel]');\n  carousels.forEach(function(carousel){\n    \/\/ Guard against this script block accidentally running twice on the same\n    \/\/ carousel (e.g. if pasted in twice) — that would create two independent\n    \/\/ timers, and stopping one would never actually stop the autoplay.\n    if (carousel.getAttribute('data-bwc-init') === '1') return;\n    carousel.setAttribute('data-bwc-init', '1');\n\n    var track = carousel.querySelector('[data-track]');\n    var slides = track.querySelectorAll('.bwc-carousel-slide');\n    var dotsWrap = carousel.querySelector('[data-dots]');\n    var prevBtn = carousel.querySelector('[data-prev]');\n    var nextBtn = carousel.querySelector('[data-next]');\n    var activeIndex = 0;\n    var AUTOPLAY_DELAY = parseInt(carousel.getAttribute('data-autoplay'), 10) || 0;\n    var autoplayEnabled = AUTOPLAY_DELAY \u003e 0; \/\/ data-autoplay=\"0\" (or omitted) means manual-only, no autoplay\n    var carouselInView = false; \/\/ becomes true only once the carousel scrolls into view\n    var paused = false; \/\/ true while the user is hovering, touching, or has just interacted\n    var autoplayTimer = null;\n    var resumeTimer = null;\n\n    slides.forEach(function(slide, i){\n      var dot = document.createElement('button');\n      dot.type = 'button';\n      dot.className = 'bwc-carousel-dot' + (i === 0 ? ' active' : '');\n      dot.setAttribute('aria-label', 'Go to slide ' + (i + 1));\n      dot.addEventListener('click', function(){\n        goToSlide(i);\n        pauseThenResume();\n      });\n      dotsWrap.appendChild(dot);\n    });\n    var dots = dotsWrap.querySelectorAll('.bwc-carousel-dot');\n\n    \/\/ Scroll the track itself (horizontal only). Never use scrollIntoView here —\n    \/\/ it can also scroll the whole page vertically to \"reveal\" the slide, which\n    \/\/ yanks the page back up to this section if the user has scrolled past it.\n    function goToSlide(i){\n      var slide = slides[i];\n      track.scrollTo({ left: slide.offsetLeft, behavior: 'smooth' });\n    }\n\n    function updateActive(){\n      var trackRect = track.getBoundingClientRect();\n      var closest = 0, closestDist = Infinity;\n      slides.forEach(function(slide, i){\n        var dist = Math.abs(slide.getBoundingClientRect().left - trackRect.left);\n        if (dist \u003c closestDist) { closestDist = dist; closest = i; }\n      });\n      activeIndex = closest;\n      dots.forEach(function(d, i){ d.classList.toggle('active', i === closest); });\n    }\n\n    var scrollTimer;\n    track.addEventListener('scroll', function(){\n      clearTimeout(scrollTimer);\n      scrollTimer = setTimeout(updateActive, 80);\n    });\n\n    function stepWidth(){\n      if (slides.length \u003e 1) {\n        return slides[1].offsetLeft - slides[0].offsetLeft;\n      }\n      return slides[0].getBoundingClientRect().width;\n    }\n\n    prevBtn.addEventListener('click', function(){\n      track.scrollBy({left: -stepWidth(), behavior:'smooth'});\n      pauseThenResume();\n    });\n    nextBtn.addEventListener('click', function(){\n      track.scrollBy({left: stepWidth(), behavior:'smooth'});\n      pauseThenResume();\n    });\n\n    function nextSlide(){\n      var next = (activeIndex + 1) % slides.length;\n      goToSlide(next);\n    }\n\n    \/\/ A single persistent interval per carousel — it just checks the 'paused'\n    \/\/ and 'carouselInView' flags on every tick rather than being torn down and\n    \/\/ rebuilt on every interaction.\n    function startAutoplay(){\n      if (!autoplayEnabled || autoplayTimer) return;\n      autoplayTimer = setInterval(function(){\n        if (!paused \u0026\u0026 carouselInView) nextSlide();\n      }, AUTOPLAY_DELAY);\n    }\n\n    \/\/ Pause immediately on any interaction (hover, press, or touch).\n    function pauseNow(){\n      paused = true;\n      clearTimeout(resumeTimer);\n    }\n    \/\/ Resume right away (used when the mouse actually leaves the carousel).\n    function resumeNow(){\n      clearTimeout(resumeTimer);\n      paused = false;\n    }\n    \/\/ Pause immediately, and schedule an automatic resume a few seconds later —\n    \/\/ this is the fallback for touch devices, which have no \"mouse left\" event.\n    function pauseThenResume(){\n      pauseNow();\n      resumeTimer = setTimeout(resumeNow, 3000);\n    }\n\n    carousel.addEventListener('mouseenter', pauseNow);\n    carousel.addEventListener('mouseleave', resumeNow);\n    carousel.addEventListener('pointerdown', pauseThenResume);\n    carousel.addEventListener('touchstart', pauseThenResume, {passive:true});\n\n    \/\/ Only autoplay while the carousel is actually on screen — the countdown\n    \/\/ only starts once the user has scrolled to this section, not on page load.\n    if (autoplayEnabled \u0026\u0026 'IntersectionObserver' in window) {\n      var io = new IntersectionObserver(function(entries){\n        entries.forEach(function(entry){\n          carouselInView = entry.isIntersecting;\n        });\n      }, { threshold: 0.4 });\n      io.observe(carousel);\n    } else {\n      carouselInView = true;\n    }\n\n    startAutoplay();\n    updateActive();\n  });\n})();\n\u003c\/script\u003e\n\n\u003cscript\u003e\n(function(){\n  var accordion = document.querySelector('[data-accordion]');\n  if(!accordion) return;\n  var buttons = accordion.querySelectorAll('.bwc-faq-q');\n  buttons.forEach(function(btn){\n    btn.addEventListener('click', function(){\n      var item = btn.closest('.bwc-faq-item');\n      var isOpen = item.classList.contains('open');\n      item.classList.toggle('open', !isOpen);\n      btn.setAttribute('aria-expanded', String(!isOpen));\n    });\n  });\n})();\n\u003c\/script\u003e\n\n\u003cscript\u003e\n(function(){\n  \/\/ Elements matching these are almost always \"related \/ recommended \/ upsell\"\n  \/\/ product widgets elsewhere on the page — never treat a button\/form inside\n  \/\/ one of these as this landing page's own add-to-cart control.\n  var EXCLUDE_SELECTOR = [\n    '[class*=\"related\"]','[id*=\"related\"]',\n    '[class*=\"recommend\"]','[id*=\"recommend\"]',\n    '[class*=\"upsell\"]','[id*=\"upsell\"]',\n    '[class*=\"cross-sell\"]','[id*=\"cross-sell\"]',\n    '[class*=\"also-like\"]','[id*=\"also-like\"]',\n    '[class*=\"complementary\"]','[id*=\"complementary\"]',\n    '[class*=\"bundle\"]','[id*=\"bundle\"]',\n    '[class*=\"quick-add\"]','[id*=\"quick-add\"]',\n    '[class*=\"quick-buy\"]','[id*=\"quick-buy\"]',\n    '[class*=\"product-card\"]','[class*=\"product-grid-item\"]',\n    '[class*=\"trending\"]','[class*=\"carousel-card\"]'\n  ].join(',');\n\n  function isInsideExcludedWidget(el){\n    return !!el.closest(EXCLUDE_SELECTOR);\n  }\n\n  function findRealAddToCartButton(){\n    \/\/ 1) Most specific \u0026 reliable: the standard Shopify add-to-cart control,\n    \/\/ name=\"add\", that isn't sitting inside a recommendations\/upsell widget.\n    var named = document.querySelectorAll('button[name=\"add\"], input[name=\"add\"]');\n    for (var i = 0; i \u003c named.length; i++) {\n      if (!isInsideExcludedWidget(named[i]) \u0026\u0026 !named[i].classList.contains('bwc-add-to-cart')) {\n        return named[i];\n      }\n    }\n\n    \/\/ 2) A real cart\/add form, again skipping anything inside an excluded widget.\n    var forms = document.querySelectorAll('form[action*=\"\/cart\/add\"]');\n    for (var f = 0; f \u003c forms.length; f++) {\n      if (isInsideExcludedWidget(forms[f])) continue;\n      var btn = forms[f].querySelector('button[name=\"add\"], button[type=\"submit\"], input[type=\"submit\"]');\n      if (btn) return btn;\n    }\n\n    \/\/ 3) Last resort: visible text match, still excluding recommendation widgets.\n    var all = document.querySelectorAll('button, input[type=\"submit\"]');\n    for (var j = 0; j \u003c all.length; j++) {\n      var txt = (all[j].textContent || all[j].value || '').trim().toLowerCase();\n      if (txt.indexOf('add to cart') !== -1 \u0026\u0026 !all[j].classList.contains('bwc-add-to-cart') \u0026\u0026 !isInsideExcludedWidget(all[j])) {\n        return all[j];\n      }\n    }\n    return null;\n  }\n\n  function bwcAddToCart(btn){\n    var realBtn = findRealAddToCartButton();\n    if (realBtn) {\n      realBtn.click();\n      return;\n    }\n    var fallbackId = btn.getAttribute('data-fallback-variant');\n    if (!fallbackId || fallbackId === 'VARIANT_ID') {\n      alert('Could not find the add-to-cart form on this page.');\n      return;\n    }\n    fetch('\/cart\/add.js', {\n      method: 'POST',\n      headers: { 'Content-Type': 'application\/json' },\n      body: JSON.stringify({ id: fallbackId, quantity: 1 })\n    }).then(function(){ window.location.href=\"\/es\/cart\"; });\n  }\n\n  document.addEventListener('click', function(e){\n    var btn = e.target.closest('.bwc-add-to-cart');\n    if (!btn) return;\n    e.preventDefault();\n    bwcAddToCart(btn);\n  });\n})();\n\u003c\/script\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"wzh","offers":[{"title":"Black \/ S","offer_id":43838429266010,"sku":"PL01122608132008-开衫毛衣 -黑色-S","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":43838429298778,"sku":"PL01122608132008-开衫毛衣 -黑色-M","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":43838429331546,"sku":"PL01122608132008-开衫毛衣 -黑色-L","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":43838429364314,"sku":"PL01122608132008-开衫毛衣 -黑色-XL","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Light Pink \/ S","offer_id":43838429397082,"sku":"PL01122608132008-开衫毛衣 -粉红色-S","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Light Pink \/ M","offer_id":43838429429850,"sku":"PL01122608132008-开衫毛衣 -粉红色-M","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Light Pink \/ L","offer_id":43838429462618,"sku":"PL01122608132008-开衫毛衣 -粉红色-L","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Light Pink \/ XL","offer_id":43838429495386,"sku":"PL01122608132008-开衫毛衣 -粉红色-XL","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Brick Red \/ S","offer_id":43838429528154,"sku":"PL01122608132008-开衫毛衣 -焦糖色-S","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Brick Red \/ M","offer_id":43838429560922,"sku":"PL01122608132008-开衫毛衣 -焦糖色-M","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Brick Red \/ L","offer_id":43838429593690,"sku":"PL01122608132008-开衫毛衣 -焦糖色-L","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Brick Red \/ XL","offer_id":43838429626458,"sku":"PL01122608132008-开衫毛衣 -焦糖色-XL","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ S","offer_id":43838429659226,"sku":"PL01122608132008-开衫毛衣 -杏色-S","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ M","offer_id":43838429691994,"sku":"PL01122608132008-开衫毛衣 -杏色-M","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ L","offer_id":43838429724762,"sku":"PL01122608132008-开衫毛衣 -杏色-L","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ XL","offer_id":43838429757530,"sku":"PL01122608132008-开衫毛衣 -杏色-XL","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Mist Green \/ S","offer_id":43838429790298,"sku":"PL01122608132008-开衫毛衣 -橄榄绿-S","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Mist Green \/ M","offer_id":43838429823066,"sku":"PL01122608132008-开衫毛衣 -橄榄绿-M","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Mist Green \/ L","offer_id":43838429855834,"sku":"PL01122608132008-开衫毛衣 -橄榄绿-L","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Mist Green \/ XL","offer_id":43838429888602,"sku":"PL01122608132008-开衫毛衣 -橄榄绿-XL","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Grey \/ S","offer_id":43838429921370,"sku":"PL01122608132008-开衫毛衣 -灰色-S","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Grey \/ M","offer_id":43838429954138,"sku":"PL01122608132008-开衫毛衣 -灰色-M","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Grey \/ L","offer_id":43838429986906,"sku":"PL01122608132008-开衫毛衣 -灰色-L","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Grey \/ XL","offer_id":43838430019674,"sku":"PL01122608132008-开衫毛衣 -灰色-XL","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Drak Green \/ S","offer_id":43838430052442,"sku":"PL01122608132008-开衫毛衣 -墨绿色-S","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Drak Green \/ M","offer_id":43838430085210,"sku":"PL01122608132008-开衫毛衣 -墨绿色-M","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Drak Green \/ L","offer_id":43838430117978,"sku":"PL01122608132008-开衫毛衣 -墨绿色-L","price":42.98,"currency_code":"USD","in_stock":true},{"title":"Drak Green \/ XL","offer_id":43838430150746,"sku":"PL01122608132008-开衫毛衣 -墨绿色-XL","price":42.98,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/5_16.webp?v=1786604105","url":"https:\/\/sthael.com\/es\/products\/womens-oversized-lightweight-open-front-cardigan-sweater","provider":"Sthael","version":"1.0","type":"link"}