{"title":"Outfit Set","description":null,"products":[{"product_id":"womens-deep-v-neck-crop-top-ruched-skirt-two-piece-set","title":"Women's Deep V-Neck Crop Top \u0026 Ruched Skirt Two-Piece Set","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 .bg-img{background-position:center;background-repeat:no-repeat;background-size:cover;display:block;width:100%;aspect-ratio:1\/1}\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 h2{font-family:'Oswald',sans-serif;margin:0 0 10px;font-size:22px;line-height:1.25;font-weight:600;letter-spacing:.01em;color:#fff!important}\n.bwc-page .bwc-hero p{margin:0;opacity:.88;line-height:1.7;font-size:15px;color:#fff!important}\n.bwc-page .bwc-hero strong{color:#fff!important;border-bottom:2px solid #fff}\n\n.bwc-page .bwc-img-wrap{width:100%;margin:0;overflow:hidden;background:#f4f4f4}\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-note{background:#f5f5f5;border:1px solid #141414;padding:16px 20px;font-size:13.5px;color:#4a4a4a;line-height:1.65;margin:18px 0}\n.bwc-page .bwc-note strong{color:#111}\n\n.bwc-page .bwc-extra-tag{display:inline-block;font-family:'Oswald',sans-serif;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#fff;background:#141414;padding:4px 10px;margin:0 0 10px}\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 .bg-img{flex:1 1 0;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-stars{color:#141414;font-size:13px;letter-spacing:2px;margin-bottom:8px}\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;display:grid;grid-template-columns:1fr 1fr;gap:14px}\n.bwc-page .bwc-review-mini{padding:14px;background:#fff}\n.bwc-page .bwc-review-mini .bwc-review-stars{font-size:12px;margin-bottom:6px}\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:12.5px;line-height:1.55;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}\n.bwc-page .bwc-review-mini .bwc-review-name{font-size:11px}\n\n.bwc-page .bwc-media-block{margin:22px 0 6px;overflow:hidden;background:#f4f4f4}\n.bwc-page .bwc-media-caption{padding:11px 16px;font-size:12px;color:#6b6b6b;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.05em;background:#fff}\n\n.bwc-page .bwc-checklist{margin:18px 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px 18px}\n.bwc-page .bwc-checklist li{flex:1 1 220px;font-size:14.5px;line-height:1.5;color:#222;padding-left:22px;position:relative}\n.bwc-page .bwc-checklist li:before{content:'';position:absolute;left:0;top:6px;width:10px;height:10px;background:#141414;transform:rotate(45deg)}\n.bwc-page .bwc-checklist li.tag{font-weight:600}\n.bwc-page .bwc-checklist.emoji li{padding-left:26px}\n.bwc-page .bwc-checklist.emoji li:before{content:none}\n.bwc-page .bwc-checklist.emoji li .ico{position:absolute;left:0;top:0;font-size:15px;line-height:1.5}\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-trust{margin:18px 0 0;background:#fff}\n.bwc-page .bwc-trust-row{display:flex;align-items:flex-start;gap:16px;padding:16px 4px}\n.bwc-page .bwc-trust-row+.bwc-trust-row{border-top:1px solid #ece7de}\n.bwc-page .bwc-trust-row .badge{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:#141414;color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px}\n.bwc-page .bwc-trust-row .txt{padding-top:4px;font-size:14px;line-height:1.5;color:#222}\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-hero h2{font-size:19px}\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-checklist{grid-template-columns:1fr}\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 Two-Piece Summer Set\u003c\/p\u003e\n\u003ch1 class=\"bwc-h1\"\u003eTurn Every Summer Moment Into A Statement Look \u003c\/h1\u003e\n\u003c\/div\u003e\n\n\u003c!-- Hero --\u003e\n\u003cdiv class=\"bwc-hero\"\u003e\n\u003ch2\u003eElegant. Confident. Effortlessly You. \u003c\/h2\u003e\n\u003cp\u003eStep into effortless confidence with this stylish two-piece summer set featuring a flattering deep V-neck crop top and a ruched bodycon skirt. Designed with a feminine silhouette, stretchy knit fabric, and elegant gathered details, this outfit creates the perfect balance of comfort and sophistication. Whether you're heading to a beach vacation, summer party, or evening date, this matching set makes dressing up simple and stunning.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-teeth\"\u003e\u003c\/div\u003e\n\n\u003c!-- 主图（base64 背景图注入，防采集） --\u003e\n\u003cdiv class=\"bwc-img-wrap\"\u003e\n\u003cdiv class=\"bg-img\" role=\"img\" aria-label=\"Women's two-piece summer set main photo\" data-bg-b64=\"aHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvNDYzMy81MzIyL2ZpbGVzLzFfZGE1ZjVkZDQtZTliZS00MWJkLWEzY2UtOThiNThmYjc1MGM0LmpwZz92PTE3ODUxMjE5OTQ=\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- 功能特性：轮播（2 个核心卖点，DOM 顺序打乱） --\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 for summer.\u003c\/p\u003e\n\n\u003cdiv class=\"bwc-carousel\" data-carousel data-autoplay=\"2000\"\u003e\n\u003cdiv class=\"bwc-carousel-track\" data-track\u003e\n\n\u003cdiv class=\"bwc-carousel-slide\" style=\"order:2\"\u003e\n\u003cdiv class=\"bwc-carousel-imgs\"\u003e\n\u003cdiv class=\"bg-img\" role=\"img\" aria-label=\"Soft stretch knit fabric for all-day comfort\" data-bg-b64=\"aHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvNDYzMy81MzIyL2ZpbGVzLzNfMmYwZDcxYTAtNmNjZC00NGEzLWFkMjctZWQ4NGI1ZmRjNzk0LmpwZz92PTE3ODUxMjE5OTQ=\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-text\"\u003e\n\u003cspan class=\"bwc-carousel-num\"\u003e2\u003c\/span\u003e\n\u003ch3\u003eSoft Stretch Fabric For All-Day Comfort\u003c\/h3\u003e\n\u003cp\u003eMade with a polyester-spandex blend knit fabric, this set offers flexible stretch, soft touch, and comfortable movement for all-day wear.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-carousel-slide\" style=\"order:1\"\u003e\n\u003cdiv class=\"bwc-carousel-imgs\"\u003e\n\u003cdiv class=\"bg-img\" role=\"img\" aria-label=\"Flattering feminine silhouette with V-neck crop top and ruched skirt\" data-bg-b64=\"aHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvNDYzMy81MzIyL2ZpbGVzLzJfZjVlNDZkNDctZDk5ZS00MWRhLTkwNjAtZmZhMzc1ZDAwYTg0LmpwZz92PTE3ODUxMjE5OTQ=\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-text\"\u003e\n\u003cspan class=\"bwc-carousel-num\"\u003e1\u003c\/span\u003e\n\u003ch3\u003e Flattering Feminine Silhouette\u003c\/h3\u003e\n\u003cp\u003eThe deep V-neck crop top and ruched fitted skirt create an elegant silhouette that enhances your curves while keeping your look effortlessly chic.\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\n\n\u003c!-- Perfect For（12 项，DOM 顺序打乱） --\u003e\n\u003ch2 class=\"bwc-section-title\"\u003ePerfect For\u003c\/h2\u003e\n\u003cp class=\"bwc-lead\"\u003eYour Go-To Summer Outfit For Every Occasion \u003c\/p\u003e\n\u003cul class=\"bwc-checklist emoji\"\u003e\n\u003cli class=\"tag\" style=\"order:8\"\u003e\n\u003cspan class=\"ico\"\u003e\u003c\/span\u003eEvening Gatherings\u003c\/li\u003e\n\u003cli class=\"tag\" style=\"order:2\"\u003e\n\u003cspan class=\"ico\"\u003e\u003c\/span\u003eResort Trips\u003c\/li\u003e\n\u003cli class=\"tag\" style=\"order:11\"\u003e\n\u003cspan class=\"ico\"\u003e\u003c\/span\u003eHoliday Travel\u003c\/li\u003e\n\u003cli class=\"tag\" style=\"order:4\"\u003e\n\u003cspan class=\"ico\"\u003e\u003c\/span\u003eDate Nights\u003c\/li\u003e\n\u003cli class=\"tag\" style=\"order:1\"\u003e\n\u003cspan class=\"ico\"\u003e\u003c\/span\u003eBeach Vacations\u003c\/li\u003e\n\u003cli class=\"tag\" style=\"order:9\"\u003e\n\u003cspan class=\"ico\"\u003e\u003c\/span\u003eWeekend Brunch\u003c\/li\u003e\n\u003cli class=\"tag\" style=\"order:3\"\u003e\n\u003cspan class=\"ico\"\u003e\u003c\/span\u003eSummer Parties\u003c\/li\u003e\n\u003cli class=\"tag\" style=\"order:12\"\u003e\n\u003cspan class=\"ico\"\u003e\u003c\/span\u003eCasual Summer Days\u003c\/li\u003e\n\u003cli class=\"tag\" style=\"order:6\"\u003e\n\u003cspan class=\"ico\"\u003e\u003c\/span\u003ePoolside Lounging\u003c\/li\u003e\n\u003cli class=\"tag\" style=\"order:5\"\u003e\n\u003cspan class=\"ico\"\u003e\u003c\/span\u003eCocktail Events\u003c\/li\u003e\n\u003cli class=\"tag\" style=\"order:10\"\u003e\n\u003cspan class=\"ico\"\u003e\u003c\/span\u003eShopping Trips\u003c\/li\u003e\n\u003cli class=\"tag\" style=\"order:7\"\u003e\n\u003cspan class=\"ico\"\u003e\u003c\/span\u003eOutdoor Photos\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003c!-- 使用场景配图区域 --\u003e\n\u003cdiv class=\"bwc-media-block\"\u003e\n\u003cdiv class=\"bg-img\" role=\"img\" aria-label=\"Two-piece summer set styled for an everyday occasion\" data-bg-b64=\"aHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvNDYzMy81MzIyL2ZpbGVzLzc0Yjk2ZGJiMmQxOWRiOTc1OGJhMzA2ZmM1NWFkMDQwXzE5MzJiNDZlLTM2NmQtNDliMS04M2ZmLTQxMTM2ZjQ4MjdhZS5qcGc\/dj0xNzg1MTIxOTk0\"\u003e\u003c\/div\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 Summer Two-Piece Outfit\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSet Includes\u003c\/td\u003e\n\u003ctd\u003e1 × Deep V-Neck Crop Top, 1 × Ruched Bodycon Skirt\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003ePolyester \u0026amp; Spandex Blend\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFabric Type\u003c\/td\u003e\n\u003ctd\u003eStretch Knit Fabric\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTop Style\u003c\/td\u003e\n\u003ctd\u003eSleeveless, Deep V-Neck, Cropped Length, Open Back Design\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSkirt Style\u003c\/td\u003e\n\u003ctd\u003eRuched Design, Slim Fit, Long Skirt\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFit\u003c\/td\u003e\n\u003ctd\u003eFitted Stretch Fit\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAvailable Colors\u003c\/td\u003e\n\u003ctd\u003eApricot, Red, Burgundy, Blue, Black\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSuitable Seasons\u003c\/td\u003e\n\u003ctd\u003eSpring, Summer, Early Fall\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCare Instructions\u003c\/td\u003e\n\u003ctd\u003eMachine Washable, Wash With Similar Colors, Do Not Bleach, Hang Dry Recommended\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\n\u003c!-- Size Guide --\u003e\n\u003ch2 class=\"bwc-section-title\"\u003eSize Guide\u003c\/h2\u003e\n\u003cp class=\"bwc-lead\"\u003eCheck the chart below to find your best fit.\u003c\/p\u003e\n\u003cdiv class=\"bwc-media-block\"\u003e\n\u003cdiv class=\"bg-img\" role=\"img\" aria-label=\"Two-piece summer set size chart\" data-bg-b64=\"aHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvNDYzMy81MzIyL2ZpbGVzLzRfMDkxMTVjN2QtOTdmZi00MWZhLThiYWMtZWFjZjUyNjY3ZTYxLmpwZz92PTE3ODUxMjE5OTQ=\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n  \n\u003cdiv class=\"bwc-body\"\u003e\n\u003c!-- More Reasons You'll Love It（8 项，DOM 顺序打乱） --\u003e\n\u003ch2 class=\"bwc-section-title\"\u003eMore Reasons You'll Love It\u003c\/h2\u003e\n\u003cp class=\"bwc-lead\"\u003eEffortless Summer Styling\u003c\/p\u003e\n\u003cul class=\"bwc-checklist emoji\"\u003e\n\u003cli class=\"tag\" style=\"order:5\"\u003e\n\u003cspan class=\"ico\"\u003e\u003c\/span\u003eMultiple color options for different moods\u003c\/li\u003e\n\u003cli class=\"tag\" style=\"order:2\"\u003e\n\u003cspan class=\"ico\"\u003e\u003c\/span\u003eSleeveless design keeps you cool in warm weather\u003c\/li\u003e\n\u003cli class=\"tag\" style=\"order:7\"\u003e\n\u003cspan class=\"ico\"\u003e\u003c\/span\u003eEasy machine washing for everyday care\u003c\/li\u003e\n\u003cli class=\"tag\" style=\"order:1\"\u003e\n\u003cspan class=\"ico\"\u003e\u003c\/span\u003eMatching top and skirt set saves styling time\u003c\/li\u003e\n\u003cli class=\"tag\" style=\"order:8\"\u003e\n\u003cspan class=\"ico\"\u003e\u003c\/span\u003eLightweight design perfect for summer wardrobes\u003c\/li\u003e\n\u003cli class=\"tag\" style=\"order:3\"\u003e\n\u003cspan class=\"ico\"\u003e\u003c\/span\u003eOpen-back style adds a stylish vacation touch\u003c\/li\u003e\n\u003cli class=\"tag\" style=\"order:6\"\u003e\n\u003cspan class=\"ico\"\u003e\u003c\/span\u003eCan be worn together or styled separately\u003c\/li\u003e\n\u003cli class=\"tag\" style=\"order:4\"\u003e\n\u003cspan class=\"ico\"\u003e\u003c\/span\u003eElastic stretch provides comfortable fitting\u003c\/li\u003e\n\u003c\/ul\u003e\n  \n\u003c!-- Customer Reviews：纯文字卡片，一页展示两条，DOM 顺序打乱，手动切换 --\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\" style=\"order:2\"\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"The ruched skirt is beautiful and creates such a feminine shape. It's stylish without feeling uncomfortable.\"\u003c\/p\u003e\n\u003cp class=\"bwc-review-name\"\u003eEmma R.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-review-mini\" style=\"order:1\"\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"I wore this set on my beach vacation and received so many compliments. The fit is flattering and the fabric feels comfortable.\"\u003c\/p\u003e\n\u003cp class=\"bwc-review-name\"\u003eSophia M.\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\" style=\"order:2\"\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"This outfit is perfect for dinners, vacations, and summer events. The quality exceeded my expectations.\"\u003c\/p\u003e\n\u003cp class=\"bwc-review-name\"\u003eJessica L.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-review-mini\" style=\"order:1\"\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"The material has the perfect amount of stretch. I love that I can wear the pieces together or separately.\"\u003c\/p\u003e\n\u003cp class=\"bwc-review-name\"\u003eOlivia K.\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\"\u003eDoes the set include both pieces?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eYes. Each set includes one deep V-neck crop top and one matching ruched skirt.\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 polyester-spandex blend 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\"\u003eIs it suitable for hot weather?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eYes. The sleeveless design and lightweight knit fabric make it ideal for summer wear.\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\"\u003eCan the pieces be worn separately?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eAbsolutely. Both pieces can easily be styled with other items in your wardrobe.\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\"\u003eMachine wash with similar colors. Do not bleach and hang dry for best results.\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\u003eCreate Your Perfect Summer Look\u003c\/h2\u003e\n\u003cp\u003eElegant. Confident. Effortlessly You.\u003cbr\u003eFrom tropical vacations to summer evenings, this two-piece outfit helps you create a beautiful, confident look wherever you go. Pair it with sandals, heels, or accessories to make it your own signature style.\u003c\/p\u003e\n\u003cbutton type=\"button\" class=\"bwc-btn bwc-add-to-cart\" data-fallback-variant=\"VARIANT_ID\"\u003eAdd To Cart Today\u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function(){\n  \/\/ 图片防采集：把 data-bg-b64 解码出真实图片 URL，预加载探测真实宽高比后再设成 background-image\n  document.querySelectorAll('[data-bg-b64]').forEach(function(el){\n    var encoded = el.getAttribute('data-bg-b64');\n    if (!encoded) return;\n    var url = atob(encoded);\n    var probe = new Image();\n    probe.onload = function(){\n      if (probe.naturalWidth \u0026\u0026 probe.naturalHeight) {\n        el.style.aspectRatio = probe.naturalWidth + ' \/ ' + probe.naturalHeight;\n      }\n      el.style.backgroundImage = 'url(' + url + ')';\n    };\n    probe.onerror = function(){\n      el.style.backgroundImage = 'url(' + url + ')';\n    };\n    probe.src = url;\n  });\n})();\n\u003c\/script\u003e\n\n\u003cscript\u003e\n(function(){\n  var carousels = document.querySelectorAll('[data-carousel]');\n  carousels.forEach(function(carousel){\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;\n    var autoplayTimer = null;\n    var carouselInView = false;\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        restartAutoplay();\n      });\n      dotsWrap.appendChild(dot);\n    });\n    var dots = dotsWrap.querySelectorAll('.bwc-carousel-dot');\n\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      restartAutoplay();\n    });\n    nextBtn.addEventListener('click', function(){\n      track.scrollBy({left: stepWidth(), behavior:'smooth'});\n      restartAutoplay();\n    });\n\n    function nextSlide(){\n      var next = (activeIndex + 1) % slides.length;\n      goToSlide(next);\n    }\n\n    function startAutoplay(){\n      stopAutoplay();\n      if (!autoplayEnabled) return;\n      if (!carouselInView) return;\n      autoplayTimer = setInterval(nextSlide, AUTOPLAY_DELAY);\n    }\n    function stopAutoplay(){\n      if (autoplayTimer) { clearInterval(autoplayTimer); autoplayTimer = null; }\n    }\n    function restartAutoplay(){\n      stopAutoplay();\n      startAutoplay();\n    }\n\n    track.addEventListener('pointerdown', stopAutoplay);\n    track.addEventListener('touchstart', stopAutoplay, {passive:true});\n    track.addEventListener('pointerup', restartAutoplay);\n    track.addEventListener('touchend', restartAutoplay, {passive:true});\n    carousel.addEventListener('mouseenter', stopAutoplay);\n    carousel.addEventListener('mouseleave', restartAutoplay);\n\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          if (carouselInView) {\n            restartAutoplay();\n          } else {\n            stopAutoplay();\n          }\n        });\n      }, { threshold: 0.4 });\n      io.observe(carousel);\n    }\n\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  function findRealAddToCartButton(){\n    var shrineBtn = document.querySelector('button.main-product-atc[name=\"add\"]');\n    if (shrineBtn) return shrineBtn;\n    var form = document.querySelector('form[action*=\"\/cart\/add\"]');\n    if (form) {\n      var btn = form.querySelector('button[name=\"add\"], button[type=\"submit\"], input[type=\"submit\"]');\n      if (btn) return btn;\n    }\n    var all = document.querySelectorAll('button, input[type=\"submit\"]');\n    for (var i = 0; i \u003c all.length; i++) {\n      var txt = (all[i].textContent || all[i].value || '').trim().toLowerCase();\n      if (txt === 'add to cart' \u0026\u0026 !all[i].classList.contains('bwc-add-to-cart')) return all[i];\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 = '\/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":"Apricot \/ XS","offer_id":43736153227354,"sku":"PL0112260727340-两件套裙 - 杏色-XS","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ S","offer_id":43736161026138,"sku":"PL0112260727340-两件套裙 - 杏色-S","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ M","offer_id":43736161058906,"sku":"PL0112260727340-两件套裙 - 杏色-M","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ L","offer_id":43736161091674,"sku":"PL0112260727340-两件套裙 - 杏色-L","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ XL","offer_id":43736161124442,"sku":"PL0112260727340-两件套裙 - 杏色-XL","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Red \/ XS","offer_id":43736153260122,"sku":"PL0112260727340-两件套裙 - 红色-XS","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Red \/ S","offer_id":43736161157210,"sku":"PL0112260727340-两件套裙 - 红色-S","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Red \/ M","offer_id":43736161189978,"sku":"PL0112260727340-两件套裙 - 红色-M","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Red \/ L","offer_id":43736161222746,"sku":"PL0112260727340-两件套裙 - 红色-L","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Red \/ XL","offer_id":43736161255514,"sku":"PL0112260727340-两件套裙 - 红色-XL","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XS","offer_id":43736153292890,"sku":"PL0112260727340-两件套裙 - 蓝色-XS","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":43736161288282,"sku":"PL0112260727340-两件套裙 - 蓝色-S","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":43736161321050,"sku":"PL0112260727340-两件套裙 - 蓝色-M","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":43736161353818,"sku":"PL0112260727340-两件套裙 - 蓝色-L","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":43736161386586,"sku":"PL0112260727340-两件套裙 - 蓝色-XL","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ XS","offer_id":43736153325658,"sku":"PL0112260727340-两件套裙 - 酒红色-XS","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ S","offer_id":43736161419354,"sku":"PL0112260727340-两件套裙 - 酒红色-S","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ M","offer_id":43736161452122,"sku":"PL0112260727340-两件套裙 - 酒红色-M","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ L","offer_id":43736161484890,"sku":"PL0112260727340-两件套裙 - 酒红色-L","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Burgundy \/ XL","offer_id":43736161517658,"sku":"PL0112260727340-两件套裙 - 酒红色-XL","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Black \/ XS","offer_id":43736153358426,"sku":"PL0112260727340-两件套裙 - 黑色-XS","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":43736161550426,"sku":"PL0112260727340-两件套裙 - 黑色-S","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":43736161583194,"sku":"PL0112260727340-两件套裙 - 黑色-M","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":43736161615962,"sku":"PL0112260727340-两件套裙 - 黑色-L","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":43736161648730,"sku":"PL0112260727340-两件套裙 - 黑色-XL","price":49.98,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/remove-photos-object-removed_28_3143c6f7-7ab8-48a5-a66a-07f0b895b002.jpg?v=1785145699"},{"product_id":"womens-off-shoulder-top-wide-leg-pants-set","title":"Women's Off-Shoulder Top \u0026 Wide-Leg Pants Set","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 h2{font-family:'Oswald',sans-serif;margin:0 0 10px;font-size:22px;line-height:1.25;font-weight:600;letter-spacing:.01em;color:#fff!important}\n.bwc-page .bwc-hero p{margin:0;opacity:.88;line-height:1.7;font-size:15px;color:#fff!important}\n.bwc-page .bwc-hero strong{color:#fff!important;border-bottom:2px solid #fff}\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;display:grid;grid-template-columns:1fr 1fr;gap:14px}\n.bwc-page .bwc-review-mini{display:flex;gap:12px;padding:14px;background:#fff}\n.bwc-page .bwc-review-mini img{width:90px;height:110px;object-fit:cover;flex-shrink:0}\n.bwc-page .bwc-review-mini .txt{flex:1;min-width:0}\n.bwc-page .bwc-review-mini .bwc-review-title{font-size:12px;margin-bottom:4px}\n.bwc-page .bwc-review-mini .bwc-review-quote{font-size:11.5px;line-height:1.5;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}\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.bwc-page .bwc-media-caption{padding:11px 16px;font-size:12px;color:#6b6b6b;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.05em;background:#fff}\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-hero h2{font-size:19px}\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 Two-Piece Outfit Set\u003c\/p\u003e\n\u003ch1 class=\"bwc-h1\"\u003eEffortless Style. All-Day Comfort.\u003c\/h1\u003e\n\u003c\/div\u003e\n\n\u003c!-- ② Hero 横幅 --\u003e\n\u003cdiv class=\"bwc-hero\"\u003e\n\u003ch2\u003eThe Two-Piece Outfit You'll Reach For Again And Again\u003c\/h2\u003e\n\u003cp\u003eRefresh your everyday wardrobe with this effortlessly chic two-piece set featuring a trendy off-shoulder top and relaxed wide-leg pants. Designed for comfort without sacrificing style, this versatile outfit makes getting dressed easier while keeping you looking polished wherever the day takes you.\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_f192df00-7fbd-46ea-a45b-96f766e416e0.jpg?v=1785405234\"\u003e\n\u003c\/div\u003e\n\n\u003c!-- ⑤ 功能特性：轮播（2 个核心卖点，自动播放 2 秒） --\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=\"2000\"\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_07967ea3-6d93-439a-a5f0-7347e91308d4.jpg?v=1785405233\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-text\"\u003e\n\u003cspan class=\"bwc-carousel-num\"\u003e1\u003c\/span\u003e\n\u003ch3\u003eEffortless Style With A Modern Off-Shoulder Design\u003c\/h3\u003e\n\u003cp\u003eThe elegant off-shoulder neckline adds a fashionable touch while maintaining an effortless everyday feel. Its clean, minimalist design pairs beautifully with your favorite sneakers, sandals, handbags, and jewelry for endless styling possibilities.\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_3322cec8-fd85-45dc-915c-abb121f1dc48.jpg?v=1785405233\" alt=\"Relaxed comfort that moves with you\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-text\"\u003e\n\u003cspan class=\"bwc-carousel-num\"\u003e2\u003c\/span\u003e\n\u003ch3\u003eRelaxed Comfort That Moves With You\u003c\/h3\u003e\n\u003cp\u003eThe loose wide-leg pants and soft stretch fabric provide unrestricted comfort whether you're shopping, traveling, working from home, or enjoying a casual weekend. The coordinated two-piece design offers an effortlessly put-together look with minimal effort.\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\u003c!-- Size Guide：服装类产品固定加的尺码图区域 --\u003e\n\u003ch2 class=\"bwc-section-title\"\u003eSize Guide\u003c\/h2\u003e\n\u003cp class=\"bwc-lead\"\u003eCheck the chart below to find your best fit.\u003c\/p\u003e\n\u003cdiv class=\"bwc-media-block\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/ChatGPT_Image_Jul_30_2026_04_54_34_PM.png?v=1785405360\" alt=\"Two-piece outfit set size chart\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-body\"\u003e\n\u003c!-- Perfect For（使用场景，一段话形式，下面加了配图区域） --\u003e\n\u003ch2 class=\"bwc-section-title\"\u003ePerfect For\u003c\/h2\u003e\n\u003cp class=\"bwc-lead\"\u003ePerfect for everyday wear, weekend outings, shopping, coffee dates, travel, casual office days, vacations, lounging at home, light workouts, and running errands. Easy to dress up with heels or keep casual with sneakers and sandals.\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_3efdf5e0-44e8-4b48-b71d-190852855f35.jpg?v=1785405233\"\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 Two-Piece Outfit Set\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStyle\u003c\/td\u003e\n\u003ctd\u003eCasual \/ Minimalist \/ Everyday\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003ePolyester \u0026amp; Spandex Blend\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFabric Features\u003c\/td\u003e\n\u003ctd\u003eSoft, Breathable, Lightweight, Stretchy\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTop Style\u003c\/td\u003e\n\u003ctd\u003eOff-Shoulder Short Sleeve Top\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBottom Style\u003c\/td\u003e\n\u003ctd\u003eWide-Leg Pants\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFit\u003c\/td\u003e\n\u003ctd\u003eRelaxed Fit\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\u003eWaist\u003c\/td\u003e\n\u003ctd\u003eElastic Waistband\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAvailable Sizes\u003c\/td\u003e\n\u003ctd\u003eS, M, L, XL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSeason\u003c\/td\u003e\n\u003ctd\u003eAll Seasons\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCare Instructions\u003c\/td\u003e\n\u003ctd\u003eMachine wash cold with similar colors. Tumble dry low or hang dry. Do not bleach.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\n\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\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/125d8374baae415bb189cee385836d33_tplv-fhlh96nyum-crop-webp_300_300.webp?v=1785405543\"\u003e\n\u003cdiv class=\"txt\"\u003e\n\u003cp class=\"bwc-review-title\"\u003eEmily R.\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"I love how comfortable this set is! The off-shoulder top adds a stylish touch, and the pants are incredibly soft.\"\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-review-mini\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/cd676f493b474fd5820064fb9e225708_tplv-fhlh96nyum-crop-webp_300_300.webp?v=1785405543\"\u003e\n\u003cdiv class=\"txt\"\u003e\n\u003cp class=\"bwc-review-title\"\u003eJessica M.\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"Perfect for running errands or grabbing coffee with friends. It looks put together without trying too hard.\"\u003c\/p\u003e\n\u003c\/div\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\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/109045eb973c4431bae72d3209aabc82_tplv-fhlh96nyum-crop-webp_300_300.webp?v=1785405543\"\u003e\n\u003cdiv class=\"txt\"\u003e\n\u003cp class=\"bwc-review-title\"\u003eAshley T.\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"The fabric is lightweight and breathable, and the fit is exactly what I wanted. I'll definitely order another color.\"\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-review-mini\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/fa49cae1d8ca4e8e96e5a9300d225928_tplv-fhlh96nyum-crop-webp_300_300.webp?v=1785405543\"\u003e\n\u003cdiv class=\"txt\"\u003e\n\u003cp class=\"bwc-review-title\"\u003eSarah L.\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"This has become my favorite everyday outfit. It's flattering, comfortable, and so easy to accessorize.\"\u003c\/p\u003e\n\u003c\/div\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 outfit suitable for all seasons?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eYes. The breathable fabric and versatile design make it comfortable to wear throughout the year.\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 sizes are available?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eIt is available in sizes S–XL to suit a variety of body types.\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 machine washable?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eYes. Simply machine wash in cold water with similar colors and tumble dry on low or hang dry.\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\"\u003eCan I wear it for workouts?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eIt's perfect for light activities such as walking, stretching, and casual outings, while also being stylish enough for everyday wear.\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\"\u003eCan I wear the pieces separately?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eAbsolutely. The top and pants can easily be paired with other wardrobe favorites, giving you even more styling options.\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\u003eEveryday Style Made Easy\u003c\/h2\u003e\n\u003cp\u003eComfortable, versatile, and effortlessly stylish, this matching two-piece set is designed to simplify your wardrobe while keeping you looking polished from morning to night. Wear it together for an instantly coordinated look or mix and match it with your favorite essentials.\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 To Cart 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    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 autoplayTimer = null;\n    var carouselInView = false; \/\/ becomes true only once the carousel scrolls into view\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        restartAutoplay();\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      restartAutoplay();\n    });\n    nextBtn.addEventListener('click', function(){\n      track.scrollBy({left: stepWidth(), behavior:'smooth'});\n      restartAutoplay();\n    });\n\n    function nextSlide(){\n      var next = (activeIndex + 1) % slides.length;\n      goToSlide(next);\n    }\n\n    function startAutoplay(){\n      stopAutoplay();\n      \/\/ This carousel is manual-only (data-autoplay=\"0\") — never auto-advance.\n      if (!autoplayEnabled) return;\n      \/\/ Don't run autoplay (and thus don't touch scroll position at all)\n      \/\/ while the carousel isn't visible on screen.\n      if (!carouselInView) return;\n      autoplayTimer = setInterval(nextSlide, AUTOPLAY_DELAY);\n    }\n    function stopAutoplay(){\n      if (autoplayTimer) { clearInterval(autoplayTimer); autoplayTimer = null; }\n    }\n    function restartAutoplay(){\n      stopAutoplay();\n      startAutoplay();\n    }\n\n    \/\/ pause while the user is actively swiping\/dragging\/hovering, resume after\n    track.addEventListener('pointerdown', stopAutoplay);\n    track.addEventListener('touchstart', stopAutoplay, {passive:true});\n    track.addEventListener('pointerup', restartAutoplay);\n    track.addEventListener('touchend', restartAutoplay, {passive:true});\n    carousel.addEventListener('mouseenter', stopAutoplay);\n    carousel.addEventListener('mouseleave', restartAutoplay);\n\n    \/\/ Only autoplay while the carousel is actually on screen (and only if\n    \/\/ autoplay is enabled for this carousel) — the countdown only starts\n    \/\/ 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          if (carouselInView) {\n            restartAutoplay();\n          } else {\n            stopAutoplay();\n          }\n        });\n      }, { threshold: 0.4 });\n      io.observe(carousel);\n    }\n\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 === 'add to cart' \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 = '\/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":"Light Gray \/ S","offer_id":43763113263194,"sku":"PL01122607302761-休闲套装 - 浅灰色-S","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Light Gray \/ M","offer_id":43763113295962,"sku":"PL01122607302761-休闲套装 - 浅灰色-M","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Light Gray \/ L","offer_id":43763113328730,"sku":"PL01122607302761-休闲套装 - 浅灰色-L","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Light Gray \/ XL","offer_id":43763113361498,"sku":"PL01122607302761-休闲套装 - 浅灰色-XL","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ S","offer_id":43763113394266,"sku":"PL01122607302761-休闲套装 - 杏色-S","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ M","offer_id":43763113427034,"sku":"PL01122607302761-休闲套装 - 杏色-M","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ L","offer_id":43763113459802,"sku":"PL01122607302761-休闲套装 - 杏色-L","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Apricot \/ XL","offer_id":43763113492570,"sku":"PL01122607302761-休闲套装 - 杏色-XL","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ S","offer_id":43763113525338,"sku":"PL01122607302761-休闲套装 - 卡其色-S","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ M","offer_id":43763113558106,"sku":"PL01122607302761-休闲套装 - 卡其色-M","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ L","offer_id":43763113590874,"sku":"PL01122607302761-休闲套装 - 卡其色-L","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ XL","offer_id":43763113623642,"sku":"PL01122607302761-休闲套装 - 卡其色-XL","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Espresso \/ S","offer_id":43763113656410,"sku":"PL01122607302761-休闲套装 - 深咖色-S","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Espresso \/ M","offer_id":43763113689178,"sku":"PL01122607302761-休闲套装 - 深咖色-M","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Espresso \/ L","offer_id":43763113721946,"sku":"PL01122607302761-休闲套装 - 深咖色-L","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Espresso \/ XL","offer_id":43763113754714,"sku":"PL01122607302761-休闲套装 - 深咖色-XL","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Drak Gray \/ S","offer_id":43763113787482,"sku":"PL01122607302761-休闲套装 - 深灰色-S","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Drak Gray \/ M","offer_id":43763113820250,"sku":"PL01122607302761-休闲套装 - 深灰色-M","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Drak Gray \/ L","offer_id":43763113853018,"sku":"PL01122607302761-休闲套装 - 深灰色-L","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Drak Gray \/ XL","offer_id":43763113885786,"sku":"PL01122607302761-休闲套装 - 深灰色-XL","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Navy Blue \/ S","offer_id":43763113918554,"sku":"PL01122607302761-休闲套装 - 藏青色-S","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Navy Blue \/ M","offer_id":43763113951322,"sku":"PL01122607302761-休闲套装 - 藏青色-M","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Navy Blue \/ L","offer_id":43763113984090,"sku":"PL01122607302761-休闲套装 - 藏青色-SPL01122607302761-休闲套装 - 藏青色-L","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Navy Blue \/ XL","offer_id":43763114016858,"sku":"PL01122607302761-休闲套装 - 藏青色-XL","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":43763114049626,"sku":"PL01122607302761-休闲套装 - 黑色-S","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":43763114082394,"sku":"PL01122607302761-休闲套装 - 黑色-M","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":43763114115162,"sku":"PL01122607302761-休闲套装 - 黑色-L","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":43763114147930,"sku":"PL01122607302761-休闲套装 - 黑色-XL","price":48.98,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/5_5b4f21e1-786c-47ad-a9eb-66cd0393529e.jpg?v=1785405233"},{"product_id":"womens-high-neck-sports-bra-pleated-skort-set","title":"Women's High-Neck Sports Bra \u0026 Pleated Skort Set","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 h2{font-family:'Oswald',sans-serif;margin:0 0 10px;font-size:22px;line-height:1.25;font-weight:600;letter-spacing:.01em;color:#fff!important}\n.bwc-page .bwc-hero p{margin:0;opacity:.88;line-height:1.7;font-size:15px;color:#fff!important}\n.bwc-page .bwc-hero strong{color:#fff!important;border-bottom:2px solid #fff}\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;display:grid;grid-template-columns:1fr 1fr;gap:14px}\n.bwc-page .bwc-review-mini{padding:14px;background:#fff}\n.bwc-page .bwc-review-mini .bwc-review-quote{font-size:12.5px;line-height:1.55;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}\n.bwc-page .bwc-review-mini .bwc-review-name{font-size:11px}\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.bwc-page .bwc-media-caption{padding:11px 16px;font-size:12px;color:#6b6b6b;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.05em;background:#fff}\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-hero h2{font-size:19px}\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 2-Piece Activewear Set\u003c\/p\u003e\n\u003ch1 class=\"bwc-h1\"\u003eThe Active Set You'll Want To Wear Everywhere\u003c\/h1\u003e\n\u003c\/div\u003e\n\n\u003c!-- ② Hero 横幅 --\u003e\n\u003cdiv class=\"bwc-hero\"\u003e\n\u003ch2\u003eConfident In Motion. Effortless In Style.\u003c\/h2\u003e\n\u003cp\u003eFrom morning workouts to weekend coffee runs, this matching activewear set is designed to keep up with your lifestyle. Featuring a sleek high-neck sports bra and a flattering pleated skort with built-in shorts, it delivers the perfect balance of comfort, performance, and everyday style.\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_2239e663-6aef-4da3-a50b-fb2231d79b40.jpg?v=1785483544\"\u003e\n\u003c\/div\u003e\n\n\u003c!-- ⑤ 功能特性：轮播（2 个核心卖点，自动播放 2 秒） --\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 move through your day.\u003c\/p\u003e\n\n\u003cdiv class=\"bwc-carousel\" data-carousel data-autoplay=\"2000\"\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_be46f2cb-bd15-47c4-b871-9ef69b2ff395.jpg?v=1785483544\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-text\"\u003e\n\u003cspan class=\"bwc-carousel-num\"\u003e1\u003c\/span\u003e\n\u003ch3\u003eComfort You Can Count On\u003c\/h3\u003e\n\u003cp\u003eMade from lightweight performance fabric with four-way stretch, this matching set feels incredibly soft while keeping you cool and dry throughout the day. Whether you're stretching, walking, or working out, it moves effortlessly with your body without restricting movement.\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_2604f4cc-2c27-4bb4-a969-470a78730018.jpg?v=1785483544\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-text\"\u003e\n\u003cspan class=\"bwc-carousel-num\"\u003e2\u003c\/span\u003e\n\u003ch3\u003eDesigned For Real Life, Not Just The Gym\u003c\/h3\u003e\n\u003cp\u003eThe pleated skort features built-in shorts for confident coverage and dual hidden pockets that keep your phone, keys, or cards close at hand. Together with the sleek sports bra, this set transitions effortlessly from training sessions to everyday plans.\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\u003c!-- Size Guide：服装类产品固定加的尺码图区域 --\u003e\n\u003ch2 class=\"bwc-section-title\"\u003eSize Guide\u003c\/h2\u003e\n\u003cp class=\"bwc-lead\"\u003eCheck the chart below to find your best fit.\u003c\/p\u003e\n\u003cdiv class=\"bwc-media-block\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/5_748624ba-4f2b-4056-a7c0-c48fe1eb75c7.jpg?v=1785483544\" alt=\"2-piece activewear set size chart\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-body\"\u003e\n\u003c!-- Perfect For（使用场景，一段话形式，下面加了配图区域） --\u003e\n\u003ch2 class=\"bwc-section-title\"\u003ePerfect For\u003c\/h2\u003e\n\u003cp class=\"bwc-lead\"\u003ePerfect for tennis, pickleball, golf, yoga, Pilates, gym workouts, walking, travel, coffee dates, casual weekends, vacations, and everyday athleisure.\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_915652f0-f486-4dee-aef0-241ad18a67b9.jpg?v=1785483544\"\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 2-Piece Activewear Set\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eIncludes\u003c\/td\u003e\n\u003ctd\u003e1 × High-Neck Sports Bra, 1 × Pleated Athletic Skort With Built-In Shorts\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStyle\u003c\/td\u003e\n\u003ctd\u003eAthletic \/ Tennis \/ Golf \/ Athleisure\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFit\u003c\/td\u003e\n\u003ctd\u003eAthletic Slim Fit\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSupport\u003c\/td\u003e\n\u003ctd\u003eLight Support\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCup Design\u003c\/td\u003e\n\u003ctd\u003eFixed Cups\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWaist\u003c\/td\u003e\n\u003ctd\u003eHigh-Rise Elastic Waistband\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePocket Design\u003c\/td\u003e\n\u003ctd\u003eDual Hidden Side Pockets\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003ePolyester \u0026amp; Spandex Performance Blend\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFabric Features\u003c\/td\u003e\n\u003ctd\u003eLightweight, Breathable, Four-Way Stretch, Moisture-Wicking, Quick-Drying, Soft Touch\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCoverage\u003c\/td\u003e\n\u003ctd\u003eBuilt-In Shorts For Extra Confidence\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eColor Options\u003c\/td\u003e\n\u003ctd\u003eMix \u0026amp; Match Color Combinations Available\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSeason\u003c\/td\u003e\n\u003ctd\u003eSpring, Summer \u0026amp; Fall\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCare Instructions\u003c\/td\u003e\n\u003ctd\u003eMachine wash cold with like colors. Tumble dry low or hang dry. Do not bleach.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\n\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\"\u003eOlivia R.\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"I absolutely love this set! It's comfortable enough for workouts and stylish enough to wear all day.\"\u003c\/p\u003e\n\u003c\/div\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\"The skort is so flattering, and the fabric stays cool even during long tennis sessions. I'll definitely buy another color.\"\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\"\u003eAshley T.\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"The hidden pockets are incredibly useful, and the whole outfit feels lightweight without sacrificing coverage.\"\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-review-mini\"\u003e\n\u003cp class=\"bwc-review-title\"\u003eSophia L.\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"This is easily my favorite activewear set. It fits beautifully, moves with me, and looks amazing on.\"\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\"\u003eDoes the sports bra provide support?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eYes. It offers light support that's ideal for yoga, Pilates, walking, tennis, golf, and everyday activities.\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\"\u003eDoes the skort include built-in shorts?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eYes. The integrated shorts provide comfortable coverage while allowing unrestricted movement.\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\"\u003eCan the hidden pockets fit a smartphone?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eYes. The dual hidden side pockets are spacious enough for most phones, keys, cards, and other essentials.\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 quick-drying?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eAbsolutely. The breathable performance fabric quickly wicks away moisture to help keep you cool and comfortable.\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\"\u003eCan I wear the pieces separately?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eYes. Both pieces are designed to mix and match easily with the rest of your activewear wardrobe.\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\u003eOne Set. Endless Possibilities.\u003c\/h2\u003e\n\u003cp\u003eDesigned to keep you comfortable, confident, and ready for wherever the day takes you.\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 To Cart 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    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 autoplayTimer = null;\n    var carouselInView = false; \/\/ becomes true only once the carousel scrolls into view\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        restartAutoplay();\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      restartAutoplay();\n    });\n    nextBtn.addEventListener('click', function(){\n      track.scrollBy({left: stepWidth(), behavior:'smooth'});\n      restartAutoplay();\n    });\n\n    function nextSlide(){\n      var next = (activeIndex + 1) % slides.length;\n      goToSlide(next);\n    }\n\n    function startAutoplay(){\n      stopAutoplay();\n      \/\/ This carousel is manual-only (data-autoplay=\"0\") — never auto-advance.\n      if (!autoplayEnabled) return;\n      \/\/ Don't run autoplay (and thus don't touch scroll position at all)\n      \/\/ while the carousel isn't visible on screen.\n      if (!carouselInView) return;\n      autoplayTimer = setInterval(nextSlide, AUTOPLAY_DELAY);\n    }\n    function stopAutoplay(){\n      if (autoplayTimer) { clearInterval(autoplayTimer); autoplayTimer = null; }\n    }\n    function restartAutoplay(){\n      stopAutoplay();\n      startAutoplay();\n    }\n\n    \/\/ pause while the user is actively swiping\/dragging\/hovering, resume after\n    track.addEventListener('pointerdown', stopAutoplay);\n    track.addEventListener('touchstart', stopAutoplay, {passive:true});\n    track.addEventListener('pointerup', restartAutoplay);\n    track.addEventListener('touchend', restartAutoplay, {passive:true});\n    carousel.addEventListener('mouseenter', stopAutoplay);\n    carousel.addEventListener('mouseleave', restartAutoplay);\n\n    \/\/ Only autoplay while the carousel is actually on screen (and only if\n    \/\/ autoplay is enabled for this carousel) — the countdown only starts\n    \/\/ 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          if (carouselInView) {\n            restartAutoplay();\n          } else {\n            stopAutoplay();\n          }\n        });\n      }, { threshold: 0.4 });\n      io.observe(carousel);\n    }\n\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 === 'add to cart' \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 = '\/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 (2PCS) \/ S\/8","offer_id":43768248074330,"sku":"PL01122607313281-运动上衣 - 黑色-S+PL01122607314476-运动短裙 - 黑色-S","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Black (2PCS) \/ M\/10","offer_id":43768248107098,"sku":"PL01122607313281-运动上衣 - 黑色-M+PL01122607314476-运动短裙 - 黑色-M","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Black (2PCS) \/ L\/12","offer_id":43768248139866,"sku":"PL01122607313281-运动上衣 - 黑色-L+PL01122607314476-运动短裙 - 黑色-L","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Black (2PCS) \/ XL\/14","offer_id":43768248172634,"sku":"PL01122607313281-运动上衣 - 黑色-XL+PL01122607314476-运动短裙 - 黑色-XL","price":39.98,"currency_code":"USD","in_stock":true},{"title":"White (2PCS) \/ S\/8","offer_id":43768248205402,"sku":"PL01122607313281-运动上衣 - 白色-S+PL01122607314476-运动短裙 - 白色-S","price":39.98,"currency_code":"USD","in_stock":true},{"title":"White (2PCS) \/ M\/10","offer_id":43768248238170,"sku":"PL01122607313281-运动上衣 - 白色-M+PL01122607314476-运动短裙 - 白色-M","price":39.98,"currency_code":"USD","in_stock":true},{"title":"White (2PCS) \/ L\/12","offer_id":43768248270938,"sku":"PL01122607313281-运动上衣 - 白色-L+PL01122607314476-运动短裙 - 白色-L","price":39.98,"currency_code":"USD","in_stock":true},{"title":"White (2PCS) \/ XL\/14","offer_id":43768248303706,"sku":"PL01122607313281-运动上衣 - 白色-XL+PL01122607314476-运动短裙 - 白色-XL","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Yellow (2PCS) \/ S\/8","offer_id":43768248336474,"sku":"PL01122607313281-运动上衣 - 黄色-S+PL01122607314476-运动短裙 - 黄色-S","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Yellow (2PCS) \/ M\/10","offer_id":43768248369242,"sku":"PL01122607313281-运动上衣 - 黄色-M+PL01122607314476-运动短裙 - 黄色-M","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Yellow (2PCS) \/ L\/12","offer_id":43768248402010,"sku":"PL01122607313281-运动上衣 - 黄色-L+PL01122607314476-运动短裙 - 黄色-L","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Yellow (2PCS) \/ XL\/14","offer_id":43768248434778,"sku":"PL01122607313281-运动上衣 - 黄色-XL+PL01122607314476-运动短裙 - 黄色-XL","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Hot Pink (2PCS) \/ S\/8","offer_id":43768248467546,"sku":"PL01122607313281-运动上衣 - 雪糕粉-S+PL01122607314476-运动短裙 - 玫红-S","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Hot Pink (2PCS) \/ M\/10","offer_id":43768248500314,"sku":"PL01122607313281-运动上衣 - 雪糕粉-M+PL01122607314476-运动短裙 - 玫红-M","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Hot Pink (2PCS) \/ L\/12","offer_id":43768248533082,"sku":"PL01122607313281-运动上衣 - 雪糕粉-L+PL01122607314476-运动短裙 - 玫红-L","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Hot Pink (2PCS) \/ XL\/14","offer_id":43768248565850,"sku":"PL01122607313281-运动上衣 - 雪糕粉-XL+PL01122607314476-运动短裙 - 玫红-XL","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Berry Red (2PCS) \/ S\/8","offer_id":43768248598618,"sku":"PL01122607313281-运动上衣 - 树莓红-S+PL01122607314476-运动短裙 - 酒红-S","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Berry Red (2PCS) \/ M\/10","offer_id":43768248631386,"sku":"PL01122607313281-运动上衣 - 树莓红-M+PL01122607314476-运动短裙 - 酒红-M","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Berry Red (2PCS) \/ L\/12","offer_id":43768248664154,"sku":"PL01122607313281-运动上衣 - 树莓红-L+PL01122607314476-运动短裙 - 酒红-L","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Berry Red (2PCS) \/ XL\/14","offer_id":43768248696922,"sku":"PL01122607313281-运动上衣 - 树莓红-XL+PL01122607314476-运动短裙 - 酒红-L","price":39.98,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/6_26226af9-eecc-4512-b3f3-0317c11a0d70.jpg?v=1785483544"},{"product_id":"women-s-sailor-stripe-2-piece-set","title":"Women’s Sailor Stripe 2-Piece Set","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 h2{font-family:'Oswald',sans-serif;margin:0 0 10px;font-size:22px;line-height:1.25;font-weight:600;letter-spacing:.01em;color:#fff!important}\n.bwc-page .bwc-hero p{margin:0;opacity:.88;line-height:1.7;font-size:15px;color:#fff!important}\n.bwc-page .bwc-hero strong{color:#fff!important;border-bottom:2px solid #fff}\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;display:grid;grid-template-columns:1fr 1fr;gap:14px}\n.bwc-page .bwc-review-mini{padding:14px;background:#fff;border:1px solid #eee;}\n.bwc-page .bwc-review-mini .bwc-review-quote{font-size:12.5px;line-height:1.55;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}\n.bwc-page .bwc-review-mini .bwc-review-name{font-size:11px}\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.bwc-page .bwc-media-caption{padding:11px 16px;font-size:12px;color:#6b6b6b;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.05em;background:#fff}\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-hero h2{font-size:19px}\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.bwc-page .bwc-review-carousel-slide{grid-template-columns:1fr;}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"bwc-page\"\u003e\n\u003cdiv class=\"bwc-container\"\u003e\n\u003cdiv class=\"bwc-card\"\u003e\n\u003cdiv class=\"bwc-top\"\u003e\n\u003cp class=\"bwc-eyebrow\"\u003eVacation Ready • Summer Essentials\u003c\/p\u003e\n\u003ch1 class=\"bwc-h1\"\u003eThe Striped Tube Top \u0026amp; Wide-Leg Pants 2-Piece Set\u003c\/h1\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-hero\"\u003e\n\u003ch2\u003eEffortless Beach \u0026amp; Vacation Style Made Easy\u003c\/h2\u003e\n\u003cp\u003eClassic nautical stripe styling meets breathable cotton-blend comfort. \u003cstrong\u003eStrapless tube top, flexible elastic waist, and flowing wide-leg pants\u003c\/strong\u003e give you an instantly chic, comfortable look for beach days, travel, lounges and sunny weekends.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-teeth\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"bwc-img-wrap\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/t54850-st69412-i0.jpg?v=1785489582\" alt=\"\"\u003e\u003c\/div\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;\"\u003eDesigned for women who want instant, head-to-toe style without sacrificing all-day comfort and breathability.\u003c\/p\u003e\n\u003cp class=\"bwc-lead\" style=\"margin-left: 26px; margin-right: 26px;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/t54800-st69346-i0.jpg?v=1785487884\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cdiv class=\"bwc-carousel\" data-carousel data-autoplay=\"5000\"\u003e\n\u003cdiv class=\"bwc-carousel-track\" data-track\u003e\n\u003cdiv class=\"bwc-carousel-slide\"\u003e\n\u003cdiv class=\"bwc-carousel-text\"\u003e\n\u003cspan class=\"bwc-carousel-num\"\u003e1\u003c\/span\u003e\n\u003ch3\u003eSoft \u0026amp; Breathable Cotton Blend\u003c\/h3\u003e\n\u003cp\u003eCrafted from a ultra-soft cotton blend fabric that feels lightweight against the skin, keeping you cool and comfortable even during warm summer days.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-slide\"\u003e\n\u003cdiv class=\"bwc-carousel-text\"\u003e\n\u003cspan class=\"bwc-carousel-num\"\u003e2\u003c\/span\u003e\n\u003ch3\u003eFlattering Fit \u0026amp; Versatile Wear\u003c\/h3\u003e\n\u003cp\u003eFeaturing a chic strapless bandeau top and wide-leg trousers with an elastic waistband and pockets. Wear them together for a complete look or mix \u0026amp; match separately.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-nav\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-carousel-arrow\" data-prev\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\u003e›\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-teeth\" style=\"margin-top: 8px;\"\u003e\u003c\/div\u003e\n\u003ch2 class=\"bwc-section-title\"\u003eFit \u0026amp; Style\u003c\/h2\u003e\n\u003cp class=\"bwc-lead\"\u003eFeatures a relaxed, stretchy fit with a smooth elastic waistband. Order your standard size for a cozy lounge fit, or size down if you prefer a tighter upper silhouette.\u003c\/p\u003e\n\u003cdiv class=\"bwc-media-block\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/t54777-st69300-i0.jpg?v=1785487331\" alt=\"\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"bwc-body\"\u003e\n\u003ch2 class=\"bwc-section-title\"\u003ePerfect For\u003c\/h2\u003e\n\u003cp class=\"bwc-lead\"\u003eOne Set. Endless Occasions.\u003c\/p\u003e\n\u003cp class=\"bwc-lead\" style=\"margin-top: -6px;\"\u003ePair with sandals and a woven bag for beach strolls, sneakers for travel, or wear it at home as chic loungewear. Ideal for summer vacations, resort getaways, daily errands, outdoor brunches, and poolside lounging.\u003c\/p\u003e\n\u003cdiv class=\"bwc-media-block\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/t54782-st69310-i0.jpg?v=1785487331\" alt=\"\"\u003e\u003c\/div\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 2-Piece Striped Tube Top \u0026amp; Wide-Leg Pants Set\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStyle\u003c\/td\u003e\n\u003ctd\u003eCasual Loungewear, Resort Wear, Beach Style \u0026amp; Travel Set\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003ePremium Cotton Blend (Soft \u0026amp; Breathable Knit)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSleeve \u0026amp; Neckline\u003c\/td\u003e\n\u003ctd\u003eStrapless \/ Bandeau Tube Top\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePants Closure\u003c\/td\u003e\n\u003ctd\u003eElastic Waistband with Pull-On Design\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePockets\u003c\/td\u003e\n\u003ctd\u003eFunctional Side Pockets\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePants Cut\u003c\/td\u003e\n\u003ctd\u003eFlowy Wide Leg Pant Silhouette\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePattern\u003c\/td\u003e\n\u003ctd\u003eClassic Horizontal Stripes\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFit Type\u003c\/td\u003e\n\u003ctd\u003eRelaxed Comfort Fit\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAvailable Colors\u003c\/td\u003e\n\u003ctd\u003eBlue, Mint Green, Dark Green, Pink, Mauve, Black \u0026amp; White, Burgundy\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAvailable Sizes\u003c\/td\u003e\n\u003ctd\u003eSee Size Selector Above for Current Stock\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBest For\u003c\/td\u003e\n\u003ctd\u003eVacations, Beach Walks, Lounging, Daily Outings, Home Pajamas \u0026amp; Travel\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCare Instructions\u003c\/td\u003e\n\u003ctd\u003eMachine wash cold in a laundry bag or hand wash cold. Do not bleach. Hang dry.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003ch2 class=\"bwc-section-title\"\u003eCustomer Reviews\u003c\/h2\u003e\n\u003cp class=\"bwc-lead\"\u003eUse the arrows or dots to browse customer feedback.\u003c\/p\u003e\n\u003c!-- ==========【重点修改】评论轮播添加data属性，支持圆点点击切换 ========== --\u003e\n\u003cdiv class=\"bwc-carousel\" data-carousel data-autoplay=\"6000\"\u003e\n\u003cdiv class=\"bwc-carousel-track\" data-track\u003e\n\u003cdiv class=\"bwc-carousel-slide bwc-review-carousel-slide\"\u003e\n\u003cdiv class=\"bwc-review-mini\"\u003e\n\u003cp class=\"bwc-review-title\"\u003eSarah M., Verified Buyer\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e“Took this set on my beach trip and got so many compliments! The material is incredibly soft and the waistband is super forgiving.”\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-review-mini\"\u003e\n\u003cp class=\"bwc-review-title\"\u003eElena K., Verified Buyer\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e“Love that it has pockets! The tube top stays up well without digging in. Great quality cotton blend for summer.”\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\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 L., Verified Buyer\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e“Super versatile set. I wore the pants with a white t-shirt and the tube top with denim shorts. Definitely ordering another color!”\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-review-mini\"\u003e\n\u003cp class=\"bwc-review-title\"\u003eChloe T., Verified Buyer\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e“Lightweight and breathable for hot days. Washed it in cold water and hung it to dry, came out perfectly.”\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-nav\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-carousel-arrow\" data-prev\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\u003e›\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-faq\" data-accordion\u003e\n\u003ch2 class=\"bwc-section-title\"\u003eFrequently Asked Questions\u003c\/h2\u003e\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\"\u003e \u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e \u003cspan class=\"qtext\"\u003eWhat size should I order?\u003c\/span\u003e \u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e \u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eWe recommend ordering your standard size for a relaxed lounge fit. The elastic waist and stretch fabric offer a flexible and forgiving fit.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\"\u003e \u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e \u003cspan class=\"qtext\"\u003eIs the material see-through?\u003c\/span\u003e \u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e \u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eNo, the cotton blend knit fabric has good coverage while remaining soft, lightweight and breathable for hot summer weather.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\"\u003e \u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e \u003cspan class=\"qtext\"\u003eDoes the tube top slide down easily?\u003c\/span\u003e \u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e \u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eThe bandeau crop top features a gentle elastic band designed to hold snugly against your chest comfortably without slipping or feeling restrictive.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\"\u003e \u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e \u003cspan class=\"qtext\"\u003eCan I wear the pieces separately?\u003c\/span\u003e \u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e \u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eAbsolutely! The tube top pairs wonderfully with jeans or shorts, while the wide-leg pants look great with a plain white tee or tank top.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\"\u003e \u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e \u003cspan class=\"qtext\"\u003eHow should I wash and care for this set?\u003c\/span\u003e \u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e \u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eWe recommend machine washing in cold water using a laundry bag or hand washing cold. Do not bleach, and line dry\/hang dry to preserve shape and elasticity.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\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\u003cdiv class=\"bwc-cta\"\u003e\n\u003ch2\u003eChic Stripe Style, Ready For Summer\u003c\/h2\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/t54777-st69300-i0.jpg?v=1785487331\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003eChoose your favorite color combination and upgrade your vacation wardrobe today.\u003cbr\u003eFrom beach walks and pool days to relaxed weekends, this 2-piece set keeps you stylish and comfortable effortlessly.\u003c\/p\u003e\n\u003cbutton type=\"button\" class=\"bwc-btn bwc-add-to-cart\"\u003e Shop The 2-Piece Lounge Set \u003c\/button\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\n  var carousels = document.querySelectorAll('.bwc-page [data-carousel]');\n\n  carousels.forEach(function(carousel){\n    if (carousel.getAttribute('data-bwc-initialized') === 'true') return;\n    carousel.setAttribute('data-bwc-initialized', 'true');\n\n    var track = carousel.querySelector('[data-track]');\n    var slides = track ? 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\n    if (!track || !slides.length || !dotsWrap || !prevBtn || !nextBtn) return;\n\n    var activeIndex = 0;\n    var delay = parseInt(carousel.getAttribute('data-autoplay'), 10) || 0;\n    var autoplayTimer = null;\n    var carouselInView = false;\n\n    dotsWrap.innerHTML = '';\n\n    slides.forEach(function(slide, index){\n      var dot = document.createElement('button');\n      dot.type = 'button';\n      dot.className = 'bwc-carousel-dot' + (index === 0 ? ' active' : '');\n      dot.setAttribute('aria-label', 'Go to slide ' + (index + 1));\n      dot.setAttribute('aria-current', index === 0 ? 'true' : 'false');\n      dot.addEventListener('click', function(){\n        goToSlide(index);\n        restartAutoplay();\n      });\n      dotsWrap.appendChild(dot);\n    });\n\n    var dots = dotsWrap.querySelectorAll('.bwc-carousel-dot');\n\n    function goToSlide(index){\n      if (index \u003c 0) index = slides.length - 1;\n      if (index \u003e= slides.length) index = 0;\n\n      activeIndex = index;\n      var left = slides[index].offsetLeft;\n\n      if (typeof track.scrollTo === 'function') {\n        track.scrollTo({ left: left, behavior: 'smooth' });\n      } else {\n        track.scrollLeft = left;\n      }\n\n      updateDots(index);\n    }\n\n    function updateDots(index){\n      dots.forEach(function(dot, dotIndex){\n        var active = dotIndex === index;\n        dot.classList.toggle('active', active);\n        dot.setAttribute('aria-current', active ? 'true' : 'false');\n      });\n    }\n\n    function updateActiveFromScroll(){\n      var trackLeft = track.getBoundingClientRect().left;\n      var closestIndex = 0;\n      var closestDistance = Infinity;\n\n      slides.forEach(function(slide, index){\n        var distance = Math.abs(slide.getBoundingClientRect().left - trackLeft);\n        if (distance \u003c closestDistance) {\n          closestDistance = distance;\n          closestIndex = index;\n        }\n      });\n\n      activeIndex = closestIndex;\n      updateDots(activeIndex);\n    }\n\n    var scrollTimer;\n    track.addEventListener('scroll', function(){\n      clearTimeout(scrollTimer);\n      scrollTimer = setTimeout(updateActiveFromScroll, 80);\n    }, { passive: true });\n\n    prevBtn.addEventListener('click', function(){\n      goToSlide(activeIndex - 1);\n      restartAutoplay();\n    });\n\n    nextBtn.addEventListener('click', function(){\n      goToSlide(activeIndex + 1);\n      restartAutoplay();\n    });\n\n    function stopAutoplay(){\n      if (autoplayTimer) {\n        clearInterval(autoplayTimer);\n        autoplayTimer = null;\n      }\n    }\n\n    function startAutoplay(){\n      stopAutoplay();\n      if (delay \u003c= 0 || !carouselInView || slides.length \u003c 2) return;\n      autoplayTimer = setInterval(function(){\n        goToSlide(activeIndex + 1);\n      }, delay);\n    }\n\n    function restartAutoplay(){\n      stopAutoplay();\n      startAutoplay();\n    }\n\n    track.addEventListener('pointerdown', stopAutoplay);\n    track.addEventListener('touchstart', stopAutoplay, { passive: true });\n    track.addEventListener('pointerup', restartAutoplay);\n    track.addEventListener('touchend', restartAutoplay, { passive: true });\n    carousel.addEventListener('mouseenter', stopAutoplay);\n    carousel.addEventListener('mouseleave', restartAutoplay);\n\n    if ('IntersectionObserver' in window) {\n      var observer = new IntersectionObserver(function(entries){\n        entries.forEach(function(entry){\n          carouselInView = entry.isIntersecting;\n          if (carouselInView) startAutoplay();\n          else stopAutoplay();\n        });\n      }, { threshold: 0.35 });\n\n      observer.observe(carousel);\n    } else {\n      carouselInView = true;\n      startAutoplay();\n    }\n\n    updateDots(0);\n  });\n})();\n\u003c\/script\u003e\n \u003cscript\u003e\n(function(){\n  var accordions = document.querySelectorAll('.bwc-page [data-accordion]');\n\n  accordions.forEach(function(accordion){\n    if (accordion.getAttribute('data-bwc-initialized') === 'true') return;\n    accordion.setAttribute('data-bwc-initialized', 'true');\n\n    accordion.querySelectorAll('.bwc-faq-q').forEach(function(button){\n      button.addEventListener('click', function(){\n        var item = button.closest('.bwc-faq-item');\n        if (!item) return;\n\n        var shouldOpen = !item.classList.contains('open');\n        item.classList.toggle('open', shouldOpen);\n        button.setAttribute('aria-expanded', shouldOpen ? 'true' : 'false');\n      });\n    });\n  });\n})();\n\u003c\/script\u003e\n\u003cscript\u003e\n(function(){\n  function isUsableButton(button){\n    if (!button) return false;\n    if (button.disabled) return false;\n    if (button.getAttribute('aria-disabled') === 'true') return false;\n    return true;\n  }\n\n  function findProductForm(){\n    var forms = document.querySelectorAll('form[action*=\"\/cart\/add\"]');\n\n    for (var i = 0; i \u003c forms.length; i++) {\n      if (!forms[i].closest('.bwc-page')) return forms[i];\n    }\n\n    return forms.length ? forms[0] : null;\n  }\n\n  function findThemeAddButton(form){\n    var shrineButton = document.querySelector('button.main-product-atc[name=\"add\"]');\n    if (shrineButton \u0026\u0026 !shrineButton.classList.contains('bwc-add-to-cart')) {\n      return shrineButton;\n    }\n\n    if (form) {\n      var formButton = form.querySelector(\n        'button[name=\"add\"], button[type=\"submit\"], input[type=\"submit\"]'\n      );\n      if (formButton \u0026\u0026 !formButton.classList.contains('bwc-add-to-cart')) {\n        return formButton;\n      }\n    }\n\n    var buttons = document.querySelectorAll(\n      'button[name=\"add\"], button[type=\"submit\"], input[type=\"submit\"]'\n    );\n\n    for (var i = 0; i \u003c buttons.length; i++) {\n      if (buttons[i].classList.contains('bwc-add-to-cart')) continue;\n\n      var text = (buttons[i].textContent || buttons[i].value || '')\n        .trim()\n        .toLowerCase();\n\n      if (\n        text === 'add to cart' ||\n        text === 'add to bag' ||\n        text.indexOf('add to cart') !== -1\n      ) {\n        return buttons[i];\n      }\n    }\n\n    return null;\n  }\n\n  function getVariantId(form, fallbackId){\n    if (form) {\n      var checked = form.querySelector('input[name=\"id\"]:checked');\n      if (checked \u0026\u0026 checked.value) return checked.value;\n\n      var select = form.querySelector('select[name=\"id\"]');\n      if (select \u0026\u0026 select.value) return select.value;\n\n      var input = form.querySelector('input[name=\"id\"]');\n      if (input \u0026\u0026 input.value) return input.value;\n    }\n\n    if (fallbackId \u0026\u0026 fallbackId !== 'VARIANT_ID') return fallbackId;\n    return '';\n  }\n\n  function addVariantDirectly(variantId, button){\n    button.disabled = true;\n    button.setAttribute('aria-busy', 'true');\n\n    var originalText = button.textContent;\n    button.textContent = 'Adding...';\n\n    fetch('\/cart\/add.js', {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application\/json',\n        'Accept': 'application\/json'\n      },\n      body: JSON.stringify({\n        id: variantId,\n        quantity: 1\n      })\n    })\n    .then(function(response){\n      if (!response.ok) {\n        return response.json().catch(function(){ return {}; }).then(function(data){\n          throw new Error(data.description || data.message || 'Unable to add this item.');\n        });\n      }\n      return response.json();\n    })\n    .then(function(){\n      window.location.href = '\/cart';\n    })\n    .catch(function(error){\n      alert(error.message || 'Unable to add this item. Please select an available color and size above.');\n      button.disabled = false;\n      button.removeAttribute('aria-busy');\n      button.textContent = originalText;\n    });\n  }\n\n  document.addEventListener('click', function(event){\n    var button = event.target.closest('.bwc-add-to-cart');\n    if (!button) return;\n\n    event.preventDefault();\n\n    var form = findProductForm();\n    var themeButton = findThemeAddButton(form);\n\n    if (themeButton) {\n      if (!isUsableButton(themeButton)) {\n        alert('Please select an available color and size above before adding this item.');\n        if (form \u0026\u0026 typeof form.scrollIntoView === 'function') {\n          form.scrollIntoView({ behavior: 'smooth', block: 'center' });\n        }\n        return;\n      }\n\n      themeButton.click();\n      return;\n    }\n\n    var variantId = getVariantId(\n      form,\n      button.getAttribute('data-fallback-variant')\n    );\n\n    if (!variantId) {\n      alert('Please select an available color and size above before adding this item.');\n      if (form \u0026\u0026 typeof form.scrollIntoView === 'function') {\n        form.scrollIntoView({ behavior: 'smooth', block: 'center' });\n      }\n      return;\n    }\n\n    addVariantDirectly(variantId, button);\n  });\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"tjx","offers":[{"title":"Rose red \/ S","offer_id":43768510939226,"sku":"NC02292607314489-玫红条纹-S-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Rose red \/ M","offer_id":43768510971994,"sku":"NC02292607314489-玫红条纹-M-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Rose red \/ L","offer_id":43768511004762,"sku":"NC02292607314489-玫红条纹-L-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Rose red \/ XL","offer_id":43768511037530,"sku":"NC02292607314489-玫红条纹-XL-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Rose red \/ XXL","offer_id":43768511070298,"sku":"NC02292607314489-玫红条纹-XXL-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Black and white \/ S","offer_id":43768511103066,"sku":"NC02292607314489-黑白条纹-S-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Black and white \/ M","offer_id":43768511135834,"sku":"NC02292607314489-黑白条纹-M-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Black and white \/ L","offer_id":43768511168602,"sku":"NC02292607314489-黑白条纹-L-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Black and white \/ XL","offer_id":43768511201370,"sku":"NC02292607314489-黑白条纹-XL-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Black and white \/ XXL","offer_id":43768511234138,"sku":"NC02292607314489-黑白条纹-XXL-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Red and white \/ S","offer_id":43768511266906,"sku":"NC02292607314489-红白条纹-S-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Red and white \/ M","offer_id":43768511299674,"sku":"NC02292607314489-红白条纹-M-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Red and white \/ L","offer_id":43768511332442,"sku":"NC02292607314489-红白条纹-L-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Red and white \/ XL","offer_id":43768511365210,"sku":"NC02292607314489-红白条纹-XL-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Red and white \/ XXL","offer_id":43768511397978,"sku":"NC02292607314489-红白条纹-XXL-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":43768511430746,"sku":"NC02292607314489-蓝色条纹-S-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":43768511463514,"sku":"NC02292607314489-蓝色条纹-M-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":43768511496282,"sku":"NC02292607314489-蓝色条纹-L-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":43768511529050,"sku":"NC02292607314489-蓝色条纹-XL-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XXL","offer_id":43768511561818,"sku":"NC02292607314489-蓝色条纹-XXL-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ S","offer_id":43768511594586,"sku":"NC02292607314489-绿色条纹-S-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ M","offer_id":43768511627354,"sku":"NC02292607314489-绿色条纹-M-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ L","offer_id":43768511660122,"sku":"NC02292607314489-绿色条纹-L-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ XL","offer_id":43768511692890,"sku":"NC02292607314489-绿色条纹-XL-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Green \/ XXL","offer_id":43768511725658,"sku":"NC02292607314489-绿色条纹-XXL-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Dark pink \/ S","offer_id":43768511758426,"sku":"NC02292607314489-暗粉条纹-S-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Dark pink \/ M","offer_id":43768511791194,"sku":"NC02292607314489-暗粉条纹-M-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Dark pink \/ L","offer_id":43768511823962,"sku":"NC02292607314489-暗粉条纹-L-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Dark pink \/ XL","offer_id":43768511856730,"sku":"NC02292607314489-暗粉条纹-XL-条纹套装","price":37.99,"currency_code":"USD","in_stock":true},{"title":"Dark pink \/ XXL","offer_id":43768511889498,"sku":"NC02292607314489-暗粉条纹-XXL-条纹套装","price":37.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/2_c1f61493-fcf6-4b61-92c8-afb5261f6177.png?v=1785489443"},{"product_id":"women-s-vintage-wide-leg-denim-overalls","title":"Women’s Vintage Wide-Leg Denim Overalls","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\n.bwc-page *{box-sizing:border-box}\n\n.bwc-page .bwc-container{max-width:100%;width:100%;margin:0;padding:0}\n\n.bwc-page .bwc-card{background:#fff;border:none;padding:0;overflow:hidden}\n\n.bwc-page .bwc-carousel:empty,.bwc-page .bwc-carousel-imgs:empty{display:none!important;margin:0!important;padding:0!important;height:0!important;min-height:0!important}\n\n.bwc-page .bwc-teeth{display:block!important;height:16px!important;width:100%!important;background:linear-gradient(135deg,#141414 25%,transparent 25%) 0 0\/16px 16px,linear-gradient(225deg,#141414 25%,transparent 25%) 0 0\/16px 16px,#fff!important;}\n\n.bwc-page .bwc-teeth.inv{background:linear-gradient(135deg,#fff 25%,transparent 25%) 0 0\/16px 16px,linear-gradient(225deg,#fff 25%,transparent 25%) 0 0\/16px 16px,#141414!important;}\n\n.bwc-page .bwc-top{padding:26px 26px 0}\n\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\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-review-jump{display:flex;align-items:center;justify-content:center;gap:9px;width:max-content;max-width:100%;margin:-6px auto 18px;padding:8px 12px;background:transparent;border:0;color:#141414;cursor:pointer;font-family:'Inter',sans-serif;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px}\n.bwc-page .bwc-review-jump[data-scroll-reviews]{}\n.bwc-page .bwc-review-jump-stars{font-size:14px;letter-spacing:2px;text-decoration:none}\n\n.bwc-page .bwc-review-jump:focus-visible{outline:2px solid #141414;outline-offset:3px}\n\n.bwc-page .bwc-hero{background:#141414;color:#fff;padding:28px 24px;margin:0;position:relative}\n\n.bwc-page .bwc-hero h2{font-family:'Oswald',sans-serif;margin:0 0 10px;font-size:22px;line-height:1.25;font-weight:600;letter-spacing:.01em;color:#fff!important}\n\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-hero strong{color:#fff!important;border-bottom:2px solid #fff}\n\n.bwc-page .bwc-img-wrap{width:100%;margin:0;overflow:hidden;background:#f4f4f4}\n\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:28px 0 6px;padding-bottom:12px;border-bottom:3px solid #141414;line-height:1.2}\n\n.bwc-page .bwc-lead{font-size:15px;line-height:1.75;color:#3d3d3d;margin:0 0 18px}\n\n.bwc-page .bwc-lead img{width:100%;height:auto;display:block}\n\n.bwc-page .bwc-carousel{position:relative;margin:18px 0 22px}\n\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\n.bwc-page .bwc-carousel-track::-webkit-scrollbar{display:none}\n\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\n.bwc-page .bwc-carousel-imgs{display:flex}\n\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\n.bwc-page .bwc-carousel-text{padding:18px;flex:1}\n\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\n.bwc-page .bwc-carousel-text h3{margin:0 0 4px;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.01em;font-size:15px;color:#111;font-weight:600;line-height:1.3}\n\n.bwc-page .bwc-carousel-text h4{margin:0 0 6px;font-family:'Inter',sans-serif;font-size:13px;color:#6b6b6b;font-weight:600;line-height:1.3}\n\n.bwc-page .bwc-carousel-text p{margin:0;color:#4a4a4a;font-size:13px;line-height:1.6}\n\n.bwc-page .bwc-carousel-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:12px}\n\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\n.bwc-page .bwc-carousel-arrow:hover{background:#141414;color:#fff}\n\n.bwc-page .bwc-carousel-dots{display:flex;gap:8px}\n\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\n.bwc-page .bwc-carousel-dot.active{background:#141414}\n\n.bwc-page .bwc-review-stars{color:#141414;font-size:13px;letter-spacing:2px;margin-bottom:8px}\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\n.bwc-page .bwc-review-quote{font-size:13px;line-height:1.6;color:#4a4a4a;margin:0 0 8px;font-style:italic}\n\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;display:grid;grid-template-columns:1fr 1fr;gap:14px}\n\n.bwc-page .bwc-review-mini{padding:14px;background:#fff;border:1px solid #eee; border-radius:6px;}\n\n.bwc-page .bwc-review-mini .bwc-review-stars{font-size:12px;margin-bottom:6px}\n\n.bwc-page .bwc-review-mini .bwc-review-title{font-size:13px;margin-bottom:6px}\n\n.bwc-page .bwc-review-mini .bwc-review-quote{font-size:12.5px;line-height:1.55;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}\n\n.bwc-page .bwc-review-mini .bwc-review-name{font-size:11px}\n\n.bwc-page .bwc-media-block{margin:22px 0 6px;overflow:hidden;background:#f4f4f4}\n\n.bwc-page .bwc-media-block img,.bwc-page .bwc-media-block video{width:100%;height:auto;display:block}\n\n.bwc-page .bwc-media-caption{padding:11px 16px;font-size:12px;color:#6b6b6b;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.05em;background:#fff}\n\n.bwc-page .bwc-spec{margin-top:28px;background:#141414;padding:0}\n\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\n.bwc-page .bwc-table{width:100%;border-collapse:collapse;background:#fff}\n\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\n.bwc-page .bwc-table tr:last-child td{border-bottom:0}\n\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:28px}\n.bwc-page .bwc-faq[data-accordion]{}\n.bwc-page .bwc-faq-item{border-bottom:1px solid #e4e4e4;padding:16px 2px}\n\n.bwc-page .bwc-faq-item:first-child{padding-top:0}\n\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\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\n.bwc-page .bwc-faq-q .qtext{flex:1}\n\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\n.bwc-page .bwc-faq-item.open .bwc-faq-q .bwc-faq-toggle{transform:rotate(45deg)}\n\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\n.bwc-page .bwc-faq-item.open .bwc-faq-a{display:block}\n\n.bwc-page .bwc-cta{margin-top:28px;background:#141414;color:#fff;padding:40px 24px;text-align:center}\n\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\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\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\n.bwc-page .bwc-btn[disabled]{opacity:.65;cursor:not-allowed}\n\n.bwc-page .bwc-btn.is-added{background:#fff;color:#111!important}\n\n.bwc-page .bwc-cta-form{margin:0;display:inline-block}\n\n@media(max-width:768px){\n\n    .bwc-page .bwc-container{padding:0}\n\n    .bwc-page .bwc-top{padding:20px 16px 0}\n\n    .bwc-page .bwc-body{padding:0 16px}\n\n    .bwc-page .bwc-h1{font-size:24px}\n\n    .bwc-page .bwc-hero{padding:20px 16px}\n\n    .bwc-page .bwc-hero h2{font-size:19px}\n\n    .bwc-page .bwc-section-title{font-size:19px;margin-top:30px}\n\n    .bwc-page .bwc-carousel-slide{flex:0 0 100%;max-width:100%}\n\n    .bwc-page .bwc-carousel-track{gap:0}\n\n    .bwc-page .bwc-table td{display:block;width:100%;padding:10px 16px}\n\n    .bwc-page .bwc-table td:first-child{width:100%;border-bottom:0;padding-bottom:2px}\n\n    .bwc-page .bwc-faq-a{padding-left:0;margin-top:6px}\n\n    .bwc-page .bwc-btn{display:block;width:100%;text-align:center}\n    .bwc-page .bwc-review-carousel-slide{grid-template-columns:1fr;}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"bwc-page\"\u003e\n\u003cdiv class=\"bwc-container\"\u003e\n\u003cdiv class=\"bwc-card\"\u003e\n\u003cdiv class=\"bwc-top\"\u003e\n\u003cp class=\"bwc-eyebrow\"\u003eSTHAEL Women's Vintage Loose-Fit Denim Bib Overalls\u003c\/p\u003e\n\u003ch1 class=\"bwc-h1\"\u003eRelaxed Y2K Denim. Effortless Everyday Style.\u003c\/h1\u003e\n\u003cbutton type=\"button\" class=\"bwc-review-jump\" data-scroll-reviews\u003e \u003cspan class=\"bwc-review-jump-stars\"\u003e★★★★★\u003c\/span\u003e \u003cspan\u003eView Customer Reviews\u003c\/span\u003e \u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-hero\"\u003e\n\u003ch2\u003eThe One-Piece Outfit That Makes Casual Dressing Easy\u003c\/h2\u003e\n\u003cp\u003eTired of stiff denim and outfits that take too much effort to style? These vintage-inspired bib overalls combine a \u003cstrong\u003erelaxed boyfriend fit, adjustable shoulder straps, roomy pockets, and soft washed denim\u003c\/strong\u003e for an easy one-piece look you can wear from workdays to weekends.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-teeth\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"bwc-img-wrap\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/ChatGPTImage2026_8_2_21_05_30_2.png?v=1785730409\" alt=\"Blue long denim overalls\"\u003e\u003c\/div\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;\"\u003eA comfortable oversized silhouette, adjustable details, and versatile washed denim make these overalls an easy everyday favorite.\u003c\/p\u003e\n\u003cp class=\"bwc-lead\" style=\"margin-left: 26px; margin-right: 26px;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/ChatGPTImage2026_8_2_21_05_31_3.png?v=1785730410\" alt=\"\"\u003e\u003c\/p\u003e\n\n\u003c!-- 第一组轮播：产品卖点轮播（独立） --\u003e\n\u003cdiv class=\"bwc-carousel\" data-carousel\u003e\n\u003cdiv class=\"bwc-carousel-track\" data-track\u003e\n\u003cdiv class=\"bwc-carousel-slide\"\u003e\n\u003cdiv class=\"bwc-carousel-imgs\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/ChatGPTImage2026_8_2_21_05_30_1.png\" alt=\"Loose Boyfriend Fit\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-text\"\u003e\n\u003cspan class=\"bwc-carousel-num\"\u003e1\u003c\/span\u003e\n\u003ch3\u003eLoose Boyfriend Fit\u003c\/h3\u003e\n\u003ch4\u003eRoom To Move Without Looking Shapeless\u003c\/h4\u003e\n\u003cp\u003eThe relaxed bib and roomy straight legs create an easy boyfriend silhouette that feels comfortable through the body. It gives you freedom to walk, sit, work, travel, and layer without the restrictive feel of fitted denim.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-slide\"\u003e\n\u003cdiv class=\"bwc-carousel-imgs\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/ChatGPTImage2026_8_2_21_05_31_3.png\" alt=\"Light wash denim overall\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-text\"\u003e\n\u003cspan class=\"bwc-carousel-num\"\u003e2\u003c\/span\u003e\n\u003ch3\u003eSoft, Durable Washed Denim\u003c\/h3\u003e\n\u003ch4\u003eComfort You Can Live In\u003c\/h4\u003e\n\u003cp\u003eMade with quality denim fabric for a balance of softness and everyday durability. The washed finish gives the overalls a relaxed vintage appearance while remaining comfortable enough for extended wear.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-nav\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-carousel-arrow\" data-prev\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\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\u003ch2 class=\"bwc-section-title\" style=\"margin-left: 26px; margin-right: 26px;\"\u003eFit \u0026amp; Design Guide\u003c\/h2\u003e\n\u003cp class=\"bwc-lead\" style=\"margin-left: 26px; margin-right: 26px;\"\u003eDesigned with a naturally loose, baggy silhouette through the bib, hips, and legs. The adjustable shoulder straps let you fine-tune the overall length. Compare the garment measurements with a similar pair of overalls you already own for the most reliable fit.\u003c\/p\u003e\n\u003cdiv class=\"bwc-media-block\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/ChatGPTImage2026_8_2_21_05_45.png?v=1785730409\" alt=\"Long Overall Size Chart\"\u003e\n\u003cdiv class=\"bwc-media-caption\"\u003eAdjustable Straps · Relaxed Straight Legs · Full-Length Fit\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-body\"\u003e\n\u003ch2 class=\"bwc-section-title\"\u003eEasy To Style\u003c\/h2\u003e\n\u003cp class=\"bwc-lead\"\u003eLayer these overalls over a fitted tank, basic T-shirt, crop top, lightweight sweater, button-down shirt, or long-sleeve top. Complete the look with sneakers, loafers, sandals, ankle boots, or casual flats for effortless styling across spring, summer, and fall.\u003c\/p\u003e\n\u003cdiv class=\"bwc-media-block\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/75b72386-0f6e-4b02-ba65-01936f26b846.jpg?v=1785730754\" alt=\"\"\u003e\n\u003cdiv class=\"bwc-media-caption\"\u003eFrom Work To Weekend · Easy Layering · Multiple Shoe Options\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ch2 class=\"bwc-section-title\"\u003ePerfect For\u003c\/h2\u003e\n\u003cp class=\"bwc-lead\"\u003eA versatile choice for everyday errands, work, school, teacher outfits, casual offices, cafés, travel, shopping, weekend plans, streetwear looks, dates, casual gatherings, and relaxed nights out. The simple one-piece design helps you get dressed quickly without sacrificing personality.\u003c\/p\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 Long Denim Bib Overalls \/ One-Piece Jumpsuit\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStyle\u003c\/td\u003e\n\u003ctd\u003eVintage, Y2K, Casual, Workwear-Inspired And Streetwear\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSilhouette\u003c\/td\u003e\n\u003ctd\u003eRelaxed Boyfriend Fit With Loose Straight Legs\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eUpper Design\u003c\/td\u003e\n\u003ctd\u003eSleeveless Bib Front Designed For Easy Layering\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStraps\u003c\/td\u003e\n\u003ctd\u003eAdjustable Shoulder Straps With Metal Buckles\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eClosure\u003c\/td\u003e\n\u003ctd\u003eDecorative And Functional Button-Front Design\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePockets\u003c\/td\u003e\n\u003ctd\u003eTwo Roomy Front Patch Pockets\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLeg Shape\u003c\/td\u003e\n\u003ctd\u003eLoose Straight-Leg \/ Wide-Leg Inspired Shape\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLength\u003c\/td\u003e\n\u003ctd\u003eFull Length; Cuffs May Be Rolled For An Ankle-Length Look\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFabric\u003c\/td\u003e\n\u003ctd\u003eWashed Denim Fabric\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFit\u003c\/td\u003e\n\u003ctd\u003eRelaxed, Baggy Fit With Room Through The Bib, Hips And Legs\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSeasons\u003c\/td\u003e\n\u003ctd\u003eSpring, Summer And Fall; Layer With Knitwear For Cooler Weather\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBest For\u003c\/td\u003e\n\u003ctd\u003eDaily Wear, Work, School, Travel, Shopping, Weekends, Streetwear And Casual Events\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStyling\u003c\/td\u003e\n\u003ctd\u003ePairs With T-Shirts, Tanks, Crop Tops, Sweaters, Blouses And Button-Down Shirts\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFootwear\u003c\/td\u003e\n\u003ctd\u003ePairs With Sneakers, Loafers, Sandals, Flats Or Ankle Boots\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCare Guidance\u003c\/td\u003e\n\u003ctd\u003eFollow The Garment Care Label. Wash With Similar Colors And Avoid Unnecessary High Heat.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003ch2 class=\"bwc-section-title\" id=\"bwc-reviews\"\u003eCustomer Reviews\u003c\/h2\u003e\n\u003cp class=\"bwc-lead\"\u003eReal feedback from verified buyers who love our denim overalls.\u003c\/p\u003e\n\n\u003c!-- 第二组轮播：客户评论轮播（独立控制器） --\u003e\n\u003cdiv class=\"bwc-carousel\" data-carousel\u003e\n\u003cdiv class=\"bwc-carousel-track\" data-track\u003e\n\u003cdiv class=\"bwc-carousel-slide bwc-review-carousel-slide\"\u003e\n\u003cdiv class=\"bwc-review-mini\"\u003e\n\u003cp class=\"bwc-review-stars\"\u003e★★★★★\u003c\/p\u003e\n\u003cp class=\"bwc-review-title\"\u003ePerfect relaxed fit!\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e“These overalls fit exactly how I hoped! The adjustable straps are game-changer, fabric is soft not stiff denim. I wear them constantly with basic tees.”\u003c\/p\u003e\n\u003cp class=\"bwc-review-name\"\u003eMia · Verified Buyer\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-review-mini\"\u003e\n\u003cp class=\"bwc-review-stars\"\u003e★★★★★\u003c\/p\u003e\n\u003cp class=\"bwc-review-title\"\u003eRoomy pockets \u0026amp; great quality\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e“Finally overalls with usable pockets! Can fit my phone easily. Vintage wash looks amazing, will grab another color.”\u003c\/p\u003e\n\u003cp class=\"bwc-review-name\"\u003eSarah · Verified Buyer\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-slide bwc-review-carousel-slide\"\u003e\n\u003cdiv class=\"bwc-review-mini\"\u003e\n\u003cp class=\"bwc-review-stars\"\u003e★★★★★\u003c\/p\u003e\n\u003cp class=\"bwc-review-title\"\u003eEasy everyday outfit\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e“No more thinking about outfits! Throw any tank under these and I’m ready to go. Great for weekend trips and coffee runs.”\u003c\/p\u003e\n\u003cp class=\"bwc-review-name\"\u003eHaley · Verified Buyer\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-review-mini\"\u003e\n\u003cp class=\"bwc-review-stars\"\u003e★★★★☆\u003c\/p\u003e\n\u003cp class=\"bwc-review-title\"\u003eLove the loose silhouette\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e“Beautiful washed denim, the legs are perfectly baggy. I rolled the cuffs and paired with sandals. Recommend sizing up for ultra-oversized look.”\u003c\/p\u003e\n\u003cp class=\"bwc-review-name\"\u003eEmma · Verified Buyer\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-nav\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-carousel-arrow\" data-prev\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\u003e›\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-faq\" data-accordion\u003e\n\u003ch2 class=\"bwc-section-title\"\u003eFrequently Asked Questions\u003c\/h2\u003e\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\"\u003e \u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e \u003cspan class=\"qtext\"\u003eAre the shoulder straps adjustable?\u003c\/span\u003e \u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e \u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eYes. The buckle straps can be adjusted to help personalize the rise and overall length for a more comfortable fit.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\"\u003e \u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e \u003cspan class=\"qtext\"\u003eHow does the fit run?\u003c\/span\u003e \u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e \u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eThe overalls are designed with a relaxed, baggy boyfriend fit. Use the garment measurement chart and compare it with a similar pair of overalls you already own before selecting your size.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\"\u003e \u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e \u003cspan class=\"qtext\"\u003eAre the pockets functional?\u003c\/span\u003e \u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e \u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eYes. The overalls include two roomy patch pockets designed to hold small everyday essentials such as a phone, keys, or cards.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\"\u003e \u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e \u003cspan class=\"qtext\"\u003eIs the denim stretchy?\u003c\/span\u003e \u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e \u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eCrafted from soft washed non-stretch denim. The relaxed silhouette creates plenty of room for movement, ideal for casual all-day wear.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\"\u003e \u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e \u003cspan class=\"qtext\"\u003eWhat can I wear underneath?\u003c\/span\u003e \u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e \u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eLayer the overalls with a basic T-shirt, fitted tank, crop top, button-down blouse, lightweight sweater, turtleneck, or long-sleeve top depending on the season.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\"\u003e \u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e \u003cspan class=\"qtext\"\u003eCan the pant cuffs be rolled?\u003c\/span\u003e \u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e \u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eYes. The straight legs can be worn full length or rolled at the cuffs to create a casual ankle-length look with sneakers, loafers, or sandals.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\"\u003e \u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e \u003cspan class=\"qtext\"\u003eHow should I care for the overalls?\u003c\/span\u003e \u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e \u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eFollow the garment care label. Wash with similar colors, turn the garment inside out when possible, and avoid bleach or unnecessary high heat to help preserve the denim wash and shape.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-teeth inv\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"bwc-cta\"\u003e\n\u003ch2\u003eYour Easiest Outfit Starts Here\u003c\/h2\u003e\n\u003cp\u003eChoose your favorite denim wash, adjust the straps, add your favorite top, and enjoy an effortlessly relaxed look from workdays to weekends.\u003c\/p\u003e\n\u003cbutton type=\"button\" class=\"bwc-btn bwc-add-to-cart\"\u003eChoose Your Wash \u0026amp; Add To Cart\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\nvar carousels = document.querySelectorAll('[data-carousel]');\ncarousels.forEach(function(carousel){\nvar track = carousel.querySelector('[data-track]');\nvar slides = track.querySelectorAll('.bwc-carousel-slide');\nvar dotsWrap = carousel.querySelector('[data-dots]');\nvar prevBtn = carousel.querySelector('[data-prev]');\nvar nextBtn = carousel.querySelector('[data-next]');\nvar activeIndex = 0;\nvar AUTOPLAY_DELAY = parseInt(carousel.getAttribute('data-autoplay'), 10) || 0;\nvar autoplayEnabled = AUTOPLAY_DELAY \u003e 0;\nvar autoplayTimer = null;\nvar carouselInView = false;\n\nslides.forEach(function(slide, i){\nvar dot = document.createElement('button');\ndot.type = 'button';\ndot.className = 'bwc-carousel-dot' + (i === 0 ? ' active' : '');\ndot.setAttribute('aria-label', 'Go to slide ' + (i + 1));\ndot.addEventListener('click', function(){\ngoToSlide(i);\nrestartAutoplay();\n});\ndotsWrap.appendChild(dot);\n});\nvar dots = dotsWrap.querySelectorAll('.bwc-carousel-dot');\n\nfunction goToSlide(i){\nvar slide = slides[i];\ntrack.scrollTo({left:slide.offsetLeft,behavior:'smooth'});\n}\n\nfunction updateActive(){\nvar trackRect = track.getBoundingClientRect();\nvar closest = 0, closestDist = Infinity;\nslides.forEach(function(slide, i){\nvar dist = Math.abs(slide.getBoundingClientRect().left - trackRect.left);\nif(dist \u003c closestDist){\nclosestDist = dist;\nclosest = i;\n}\n});\nactiveIndex = closest;\ndots.forEach(function(d, i){\nd.classList.toggle('active', i === closest);\n});\n}\n\nvar scrollTimer;\ntrack.addEventListener('scroll', function(){\nclearTimeout(scrollTimer);\nscrollTimer = setTimeout(updateActive, 80);\n});\n\nfunction stepWidth(){\nif(slides.length \u003e 1){\nreturn slides[1].offsetLeft - slides[0].offsetLeft;\n}\nreturn slides[0].getBoundingClientRect().width;\n}\n\nprevBtn.addEventListener('click', function(){\ntrack.scrollBy({left:-stepWidth(),behavior:'smooth'});\nrestartAutoplay();\n});\n\nnextBtn.addEventListener('click', function(){\ntrack.scrollBy({left:stepWidth(),behavior:'smooth'});\nrestartAutoplay();\n});\n\nfunction nextSlide(){\nvar next = (activeIndex + 1) % slides.length;\ngoToSlide(next);\n}\n\nfunction startAutoplay(){\nstopAutoplay();\nif(!autoplayEnabled) return;\nif(!carouselInView) return;\nautoplayTimer = setInterval(nextSlide, AUTOPLAY_DELAY);\n}\n\nfunction stopAutoplay(){\nif(autoplayTimer){\nclearInterval(autoplayTimer);\nautoplayTimer = null;\n}\n}\n\nfunction restartAutoplay(){\nstopAutoplay();\nstartAutoplay();\n}\n\ntrack.addEventListener('pointerdown', stopAutoplay);\ntrack.addEventListener('touchstart', stopAutoplay, {passive:true});\ntrack.addEventListener('pointerup', restartAutoplay);\ntrack.addEventListener('touchend', restartAutoplay, {passive:true});\ncarousel.addEventListener('mouseenter', stopAutoplay);\ncarousel.addEventListener('mouseleave', restartAutoplay);\n\nif(autoplayEnabled \u0026\u0026 'IntersectionObserver' in window){\nvar io = new IntersectionObserver(function(entries){\nentries.forEach(function(entry){\ncarouselInView = entry.isIntersecting;\nif(carouselInView){\nrestartAutoplay();\n}else{\nstopAutoplay();\n}\n});\n},{threshold:0.4});\nio.observe(carousel);\n}\n\nupdateActive();\n});\n})();\n\u003c\/script\u003e\n\u003cscript\u003e\n(function(){\nvar accordion = document.querySelector('[data-accordion]');\nif(!accordion) return;\nvar buttons = accordion.querySelectorAll('.bwc-faq-q');\n\nbuttons.forEach(function(btn){\nbtn.addEventListener('click', function(){\nvar item = btn.closest('.bwc-faq-item');\nvar isOpen = item.classList.contains('open');\nitem.classList.toggle('open', !isOpen);\nbtn.setAttribute('aria-expanded', String(!isOpen));\n});\n});\n})();\n\u003c\/script\u003e\n\u003cscript\u003e\n(function(){\nvar page = document.querySelector('.bwc-page');\nif(!page) return;\n\npage.addEventListener('click', function(e){\nvar reviewLink = e.target.closest('[data-scroll-reviews]');\nif(!reviewLink) return;\n\ne.preventDefault();\n\nvar reviews = document.getElementById('bwc-reviews');\nif(!reviews) return;\n\nreviews.scrollIntoView({behavior:'smooth',block:'start'});\n\nwindow.setTimeout(function(){\nreviews.focus({preventScroll:true});\n},450);\n});\n\nvar EXCLUDE_SELECTOR = [\n'.bwc-page',\n'[class*=\"related\"]',\n'[id*=\"related\"]',\n'[class*=\"recommend\"]',\n'[id*=\"recommend\"]',\n'[class*=\"upsell\"]',\n'[id*=\"upsell\"]',\n'[class*=\"cross-sell\"]',\n'[id*=\"cross-sell\"]',\n'[class*=\"also-like\"]',\n'[id*=\"also-like\"]',\n'[class*=\"complementary\"]',\n'[id*=\"complementary\"]',\n'[class*=\"bundle\"]',\n'[id*=\"bundle\"]',\n'[class*=\"quick-add\"]',\n'[id*=\"quick-add\"]',\n'[class*=\"quick-buy\"]',\n'[id*=\"quick-buy\"]',\n'[class*=\"product-card\"]',\n'[class*=\"product-grid-item\"]',\n'[class*=\"trending\"]',\n'[class*=\"carousel-card\"]'\n].join(',');\n\nfunction isExcluded(el){\nreturn !!el.closest(EXCLUDE_SELECTOR);\n}\n\nfunction isVisible(el){\nif(!el) return false;\nvar style = window.getComputedStyle(el);\nvar rect = el.getBoundingClientRect();\nreturn style.display !== 'none' \u0026\u0026\nstyle.visibility !== 'hidden' \u0026\u0026\nrect.width \u003e 0 \u0026\u0026\nrect.height \u003e 0;\n}\n\nfunction getProductForms(){\nvar selectors = [\n'product-form form[action*=\"\/cart\/add\"]',\n'.product-form form[action*=\"\/cart\/add\"]',\n'[data-product-form] form[action*=\"\/cart\/add\"]',\n'form[action*=\"\/cart\/add\"]'\n];\n\nvar seen = [];\n\nselectors.forEach(function(selector){\ndocument.querySelectorAll(selector).forEach(function(form){\nif(seen.indexOf(form) === -1 \u0026\u0026 !isExcluded(form)){\nseen.push(form);\n}\n});\n});\n\nreturn seen.sort(function(a,b){\nreturn Number(isVisible(b)) - Number(isVisible(a));\n});\n}\n\nfunction getSelectedVariantId(form){\nif(!form) return '';\n\nvar input = form.querySelector('[name=\"id\"]');\n\nif(input \u0026\u0026 input.value){\nreturn input.value;\n}\n\nvar checked = document.querySelector('input[name=\"id\"]:checked');\n\nif(checked \u0026\u0026 checked.value){\nreturn checked.value;\n}\n\nvar globalInput = document.querySelector('select[name=\"id\"],input[name=\"id\"]');\n\nreturn globalInput \u0026\u0026 globalInput.value ? globalInput.value : '';\n}\n\nfunction nativeAddToCart(form){\nif(!form) return false;\n\nvar submit = form.querySelector(\n'button[name=\"add\"],button[type=\"submit\"],input[name=\"add\"],input[type=\"submit\"]'\n);\n\nif(!submit || submit.disabled){\nreturn false;\n}\n\nsubmit.click();\nreturn true;\n}\n\nfunction showButtonState(btn,text,disabled){\nbtn.textContent = text;\nbtn.disabled = !!disabled;\n}\n\nfunction directAjaxAdd(form,btn){\nvar id = getSelectedVariantId(form);\n\nif(!id){\nalert('Please choose your color and size first.');\nreturn;\n}\n\nvar payload = new FormData();\npayload.append('id', id);\npayload.append('quantity', '1');\n\nvar sellingPlan = form \u0026\u0026 form.querySelector('[name=\"selling_plan\"]');\n\nif(sellingPlan \u0026\u0026 sellingPlan.value){\npayload.append('selling_plan', sellingPlan.value);\n}\n\nvar original = btn.getAttribute('data-default-text') || btn.textContent;\n\nshowButtonState(btn,'Adding…',true);\n\nfetch(\nwindow.Shopify \u0026\u0026 Shopify.routes\n? Shopify.routes.root + 'cart\/add.js'\n: '\/cart\/add.js',\n{\nmethod:'POST',\nheaders:{'Accept':'application\/json'},\nbody:payload\n}\n)\n.then(function(response){\nif(!response.ok){\nreturn response.json().then(function(data){\nthrow new Error(data.description || 'Unable to add this item.');\n});\n}\n\nreturn response.json();\n})\n.then(function(item){\nshowButtonState(btn,'Added To Cart ✓',false);\nbtn.classList.add('is-added');\n\ndocument.dispatchEvent(\nnew CustomEvent('cart:refresh',{\nbubbles:true,\ndetail:{item:item}\n})\n);\n\ndocument.dispatchEvent(\nnew CustomEvent('cart:updated',{\nbubbles:true,\ndetail:{item:item}\n})\n);\n\nwindow.setTimeout(function(){\nwindow.location.href = '\/cart';\n},500);\n})\n.catch(function(error){\nalert(error.message || 'Unable to add this item. Please try again.');\nshowButtonState(btn,original,false);\n});\n}\n\npage.addEventListener('click', function(e){\nvar btn = e.target.closest('.bwc-add-to-cart');\n\nif(!btn) return;\n\ne.preventDefault();\n\nvar forms = getProductForms();\nvar form = forms.length ? forms[0] : null;\n\nif(!form){\nalert('Please choose your options using the product selector above, then try again.');\nreturn;\n}\n\nif(!nativeAddToCart(form)){\ndirectAjaxAdd(form,btn);\n}\n});\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"tjx","offers":[{"title":"Blue \/ S","offer_id":43778220195930,"sku":"NC02292608034513-背带长裤-NS4526-S","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":43778285797466,"sku":"NC02292608034513-背带长裤-NS4526-M","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":43778285830234,"sku":"NC02292608034513-背带长裤-NS4526-L","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":43778285863002,"sku":"NC02292608034513-背带长裤-NS4526-XL","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 2XL","offer_id":43778285895770,"sku":"NC02292608034513-背带长裤-NS4526-2XL","price":39.98,"currency_code":"USD","in_stock":true},{"title":"White \/ S","offer_id":43778220228698,"sku":"NC02292608034513-背带长裤-NS4530-S","price":39.98,"currency_code":"USD","in_stock":true},{"title":"White \/ M","offer_id":43778285928538,"sku":"NC02292608034513-背带长裤-NS4530-M","price":39.98,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":43778285961306,"sku":"NC02292608034513-背带长裤-NS4530-L","price":39.98,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":43778285994074,"sku":"NC02292608034513-背带长裤-NS4530-XL","price":39.98,"currency_code":"USD","in_stock":true},{"title":"White \/ 2XL","offer_id":43778286026842,"sku":"NC02292608034513-背带长裤-NS4530-2XL","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ S","offer_id":43778220261466,"sku":"NC02292608034513-背带长裤-NS4527-S","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ M","offer_id":43778286059610,"sku":"NC02292608034513-背带长裤-NS4527-M","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ L","offer_id":43778286092378,"sku":"NC02292608034513-背带长裤-NS4527-L","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ XL","offer_id":43778286125146,"sku":"NC02292608034513-背带长裤-NS4527-XL","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Light Blue \/ 2XL","offer_id":43778286157914,"sku":"NC02292608034513-背带长裤-NS4527-2XL","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Black \/ S","offer_id":43778220294234,"sku":"NC02292608034513-背带长裤-NS4545-S","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":43778286190682,"sku":"NC02292608034513-背带长裤-NS4545-M","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":43778286223450,"sku":"NC02292608034513-背带长裤-NS4545-L","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Black \/ XL","offer_id":43778286256218,"sku":"NC02292608034513-背带长裤-NS4545-XL","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Black \/ 2XL","offer_id":43778286288986,"sku":"NC02292608034513-背带长裤-NS4545-2XL","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Short Black \/ S","offer_id":43778220327002,"sku":"NC02292608034512-黑色-背带短裤-S","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Short Black \/ M","offer_id":43778286321754,"sku":"NC02292608034512-黑色-背带短裤-M","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Short Black \/ L","offer_id":43778286354522,"sku":"NC02292608034512-黑色-背带短裤-L","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Short Black \/ XL","offer_id":43778286387290,"sku":"NC02292608034512-黑色-背带短裤-XL","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Short Black \/ 2XL","offer_id":43778286420058,"sku":"NC02292608034512-黑色-背带短裤-2XL","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Short White \/ S","offer_id":43778220359770,"sku":"NC02292608034512-白色-背带短裤-S","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Short White \/ M","offer_id":43778286452826,"sku":"NC02292608034512-白色-背带短裤-M","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Short White \/ L","offer_id":43778286485594,"sku":"NC02292608034512-白色-背带短裤-L","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Short White \/ XL","offer_id":43778286518362,"sku":"NC02292608034512-白色-背带短裤-XL","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Short White \/ 2XL","offer_id":43778286551130,"sku":"NC02292608034512-白色-背带短裤-2XL","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Short Blue \/ S","offer_id":43778220392538,"sku":"NC02292608034512-深蓝色-背带短裤-S","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Short Blue \/ M","offer_id":43778286583898,"sku":"NC02292608034512-深蓝色-背带短裤-M","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Short Blue \/ L","offer_id":43778286616666,"sku":"NC02292608034512-深蓝色-背带短裤-L","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Short Blue \/ XL","offer_id":43778286649434,"sku":"NC02292608034512-深蓝色-背带短裤-XL","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Short Blue \/ 2XL","offer_id":43778286682202,"sku":"NC02292608034512-深蓝色-背带短裤-2XL","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Short Light Blue \/ S","offer_id":43778220425306,"sku":"NC02292608034512-浅蓝色-背带短裤-S","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Short Light Blue \/ M","offer_id":43778286714970,"sku":"NC02292608034512-浅蓝色-背带短裤-M","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Short Light Blue \/ L","offer_id":43778286747738,"sku":"NC02292608034512-浅蓝色-背带短裤-L","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Short Light Blue \/ XL","offer_id":43778286780506,"sku":"NC02292608034512-浅蓝色-背带短裤-XL","price":39.98,"currency_code":"USD","in_stock":true},{"title":"Short Light Blue \/ 2XL","offer_id":43778286813274,"sku":"NC02292608034512-浅蓝色-背带短裤-2XL","price":39.98,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/ChatGPTImage2026_8_2_21_04_05_9.png?v=1785731134"},{"product_id":"womens-square-neck-wide-leg-jumpsuit","title":"Women's Square Neck Wide-Leg Jumpsuit","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 h2{font-family:'Oswald',sans-serif;margin:0 0 10px;font-size:22px;line-height:1.25;font-weight:600;letter-spacing:.01em;color:#fff!important}\n.bwc-page .bwc-hero p{margin:0;opacity:.88;line-height:1.7;font-size:15px;color:#fff!important}\n.bwc-page .bwc-hero strong{color:#fff!important;border-bottom:2px solid #fff}\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;display:grid;grid-template-columns:1fr 1fr;gap:14px}\n.bwc-page .bwc-review-mini{padding:14px;background:#fff}\n.bwc-page .bwc-review-mini .bwc-review-quote{font-size:12.5px;line-height:1.55;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}\n.bwc-page .bwc-review-mini .bwc-review-name{font-size:11px}\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.bwc-page .bwc-media-caption{padding:11px 16px;font-size:12px;color:#6b6b6b;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.05em;background:#fff}\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-hero h2{font-size:19px}\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 Wide-Leg Jumpsuit\u003c\/p\u003e\n\u003ch1 class=\"bwc-h1\"\u003eOne Outfit. Endless Compliments.\u003c\/h1\u003e\n\u003c\/div\u003e\n\n\u003c!-- ② Hero 横幅 --\u003e\n\u003cdiv class=\"bwc-hero\"\u003e\n\u003ch2\u003eYour New Favorite One-Piece Outfit\u003c\/h2\u003e\n\u003cp\u003eDesigned for women who love looking effortlessly put together, this wide-leg jumpsuit combines modern style with everyday comfort. Featuring a flattering square neckline, adjustable shoulder straps, and a flowy wide-leg silhouette, it's the perfect one-piece outfit for warm-weather days.\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_acf4ac20-b288-45df-a77d-864305922acb.jpg?v=1785745261\"\u003e\n\u003c\/div\u003e\n\n\u003c!-- ⑤ 功能特性：轮播（2 个核心卖点，自动播放 2 秒） --\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 for summer.\u003c\/p\u003e\n\n\u003cdiv class=\"bwc-carousel\" data-carousel data-autoplay=\"2000\"\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_ee58ac16-83e0-497f-80da-722a28c4c98b.jpg?v=1785745262\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-text\"\u003e\n\u003cspan class=\"bwc-carousel-num\"\u003e1\u003c\/span\u003e\n\u003ch3\u003eFlattering Without Feeling Restrictive\u003c\/h3\u003e\n\u003cp\u003eDesigned with a flowing wide-leg silhouette and adjustable shoulder straps, this jumpsuit creates an effortlessly flattering shape while giving you the freedom to move comfortably throughout the day. It's relaxed where you want it and stylish everywhere.\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_3b1aadec-0a4e-4874-a218-ac741b983606.jpg?v=1785745261\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-text\"\u003e\n\u003cspan class=\"bwc-carousel-num\"\u003e2\u003c\/span\u003e\n\u003ch3\u003eComfort You'll Reach For Again And Again\u003c\/h3\u003e\n\u003cp\u003eCrafted from lightweight stretch fabric, this jumpsuit feels soft against the skin while keeping you cool on warm days. Functional side pockets add everyday convenience without compromising the clean, elegant silhouette.\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!-- Size Guide：服装类产品固定放在卖点轮播之后、Perfect For 之前 --\u003e\n\u003ch2 class=\"bwc-section-title\"\u003eSize Guide\u003c\/h2\u003e\n\u003cp class=\"bwc-lead\"\u003eCheck the chart below to find your best fit.\u003c\/p\u003e\n\u003cdiv class=\"bwc-media-block\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/5_e1ae9526-82b5-4021-ac1a-36402a719c19.jpg?v=1785745261\" alt=\"Wide-leg jumpsuit size chart\"\u003e\n\u003c\/div\u003e\n\n\u003c!-- Perfect For（使用场景，一段话形式，下面加了配图区域） --\u003e\n\u003ch2 class=\"bwc-section-title\"\u003ePerfect For\u003c\/h2\u003e\n\u003cp class=\"bwc-lead\"\u003ePerfect for vacations, beach getaways, brunch, shopping, weekend outings, cruises, travel, casual parties, outdoor events, resort wear, and everyday summer style. Pair it with sandals for a relaxed daytime look or elevate it with heels and jewelry for an elegant evening outfit.\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_e9ba55d3-21c5-44fd-bc66-dfa5c0f1f14a.jpg?v=1785745261\"\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 Wide-Leg Jumpsuit\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStyle\u003c\/td\u003e\n\u003ctd\u003eCasual \/ Vacation \/ Resort \/ Everyday\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003ePolyester \u0026amp; Spandex Blend\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFabric Features\u003c\/td\u003e\n\u003ctd\u003eSoft, Lightweight, Breathable, Stretchy\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eNeckline\u003c\/td\u003e\n\u003ctd\u003eSquare Neck\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStraps\u003c\/td\u003e\n\u003ctd\u003eAdjustable Shoulder Straps\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSleeve Type\u003c\/td\u003e\n\u003ctd\u003eSleeveless\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFit\u003c\/td\u003e\n\u003ctd\u003eRelaxed Fit\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLeg Style\u003c\/td\u003e\n\u003ctd\u003eWide-Leg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLength\u003c\/td\u003e\n\u003ctd\u003eFull Length\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePocket Design\u003c\/td\u003e\n\u003ctd\u003eTwo Side Pockets\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eClosure\u003c\/td\u003e\n\u003ctd\u003ePull-On Style\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\u003eCare Instructions\u003c\/td\u003e\n\u003ctd\u003eMachine wash cold on a gentle cycle. Hang dry. Do not bleach. Low iron if needed.\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\"\u003eEmily R.\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"This jumpsuit is unbelievably comfortable. It feels light, fits beautifully, and looks so much more expensive than it is.\"\u003c\/p\u003e\n\u003c\/div\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\"I wore it on vacation and received compliments everywhere. The wide-leg fit is flattering, and I love the pockets.\"\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\"\u003eAshley T.\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"It's my new favorite one-piece outfit. I can dress it up with wedges or keep it casual with sandals.\"\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-review-mini\"\u003e\n\u003cp class=\"bwc-review-title\"\u003eSophia L.\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"The adjustable straps make it easy to get the perfect fit. It's stylish, breathable, and perfect for summer.\"\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\"\u003eAre the shoulder straps adjustable?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eYes. The adjustable straps allow you to customize the fit for maximum comfort.\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\"\u003eDoes it have pockets?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eYes. Two functional side pockets provide convenient storage for your everyday essentials.\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 lightweight for hot weather?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eAbsolutely. The breathable stretch fabric is designed to keep you cool and comfortable during warm spring and summer days.\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\"\u003eCan I dress it up for special occasions?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eYes. Pair it with heels, statement jewelry, and a handbag for dinners, parties, or vacation evenings, or keep it casual with sandals and sneakers.\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 care for it?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eMachine wash cold on a gentle cycle. Hang dry and use a low iron if needed. Avoid bleach and tumble drying.\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\u003eYour New Favorite One-Piece Outfit\u003c\/h2\u003e\n\u003cp\u003eEasy to wear, easy to style, and made for wherever summer takes you.\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 To Cart 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    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 autoplayTimer = null;\n    var carouselInView = false; \/\/ becomes true only once the carousel scrolls into view\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        restartAutoplay();\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      restartAutoplay();\n    });\n    nextBtn.addEventListener('click', function(){\n      track.scrollBy({left: stepWidth(), behavior:'smooth'});\n      restartAutoplay();\n    });\n\n    function nextSlide(){\n      var next = (activeIndex + 1) % slides.length;\n      goToSlide(next);\n    }\n\n    function startAutoplay(){\n      stopAutoplay();\n      \/\/ This carousel is manual-only (data-autoplay=\"0\") — never auto-advance.\n      if (!autoplayEnabled) return;\n      \/\/ Don't run autoplay (and thus don't touch scroll position at all)\n      \/\/ while the carousel isn't visible on screen.\n      if (!carouselInView) return;\n      autoplayTimer = setInterval(nextSlide, AUTOPLAY_DELAY);\n    }\n    function stopAutoplay(){\n      if (autoplayTimer) { clearInterval(autoplayTimer); autoplayTimer = null; }\n    }\n    function restartAutoplay(){\n      stopAutoplay();\n      startAutoplay();\n    }\n\n    \/\/ pause while the user is actively swiping\/dragging\/hovering, resume after\n    track.addEventListener('pointerdown', stopAutoplay);\n    track.addEventListener('touchstart', stopAutoplay, {passive:true});\n    track.addEventListener('pointerup', restartAutoplay);\n    track.addEventListener('touchend', restartAutoplay, {passive:true});\n    carousel.addEventListener('mouseenter', stopAutoplay);\n    carousel.addEventListener('mouseleave', restartAutoplay);\n\n    \/\/ Only autoplay while the carousel is actually on screen (and only if\n    \/\/ autoplay is enabled for this carousel) — the countdown only starts\n    \/\/ 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          if (carouselInView) {\n            restartAutoplay();\n          } else {\n            stopAutoplay();\n          }\n        });\n      }, { threshold: 0.4 });\n      io.observe(carousel);\n    }\n\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 === 'add to cart' \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 = '\/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":43778220589146,"sku":"PL01122608034037-连体裤 - 黑色-S","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Black \/ M","offer_id":43778220621914,"sku":"PL01122608034037-连体裤 - 黑色-M","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Black \/ L","offer_id":43778220654682,"sku":"PL01122608034037-连体裤 - 黑色-L","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":43778220687450,"sku":"PL01122608034037-连体裤 - 粉红色-S","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":43778220720218,"sku":"PL01122608034037-连体裤 - 粉红色-M","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":43778220752986,"sku":"PL01122608034037-连体裤 - 粉红色-L","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Green \/ S","offer_id":43778220785754,"sku":"PL01122608034037-连体裤 - 绿色-S","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Green \/ M","offer_id":43778220818522,"sku":"PL01122608034037-连体裤 - 绿色-M","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Green \/ L","offer_id":43778220851290,"sku":"PL01122608034037-连体裤 - 绿色-L","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":43778220884058,"sku":"PL01122608034037-连体裤 - 蓝色-S","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":43778220916826,"sku":"PL01122608034037-连体裤 - 蓝色-M","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":43778220949594,"sku":"PL01122608034037-连体裤 - 蓝色-L","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Coffee \/ S","offer_id":43778220982362,"sku":"PL01122608034037-连体裤 - 咖啡色-S","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Coffee \/ M","offer_id":43778221015130,"sku":"PL01122608034037-连体裤 - 咖啡色-M","price":48.98,"currency_code":"USD","in_stock":true},{"title":"Coffee \/ L","offer_id":43778221047898,"sku":"PL01122608034037-连体裤 - 咖啡色-L","price":48.98,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/7_186a0fe0-ffd4-4f33-ad7a-34e37856bfec.jpg?v=1785745261"},{"product_id":"womens-plaid-cotton-two-piece-lounge-set","title":"Women's Plaid Cotton Two Piece Lounge Set","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 h2{font-family:'Oswald',sans-serif;margin:0 0 10px;font-size:22px;line-height:1.25;font-weight:600;letter-spacing:.01em;color:#fff!important}\n.bwc-page .bwc-hero p{margin:0;opacity:.88;line-height:1.7;font-size:15px;color:#fff!important}\n.bwc-page .bwc-hero strong{color:#fff!important;border-bottom:2px solid #fff}\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;display:grid;grid-template-columns:1fr 1fr;gap:14px}\n.bwc-page .bwc-review-mini{display:flex;gap:12px;padding:14px;background:#fff}\n.bwc-page .bwc-review-mini img{width:90px;height:110px;object-fit:cover;flex-shrink:0}\n.bwc-page .bwc-review-mini .txt{flex:1;min-width:0}\n.bwc-page .bwc-review-mini .bwc-review-title{font-size:12px;margin-bottom:4px}\n.bwc-page .bwc-review-mini .bwc-review-quote{font-size:11.5px;line-height:1.5;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}\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.bwc-page .bwc-media-caption{padding:11px 16px;font-size:12px;color:#6b6b6b;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.05em;background:#fff}\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-hero h2{font-size:19px}\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 Plaid Two Piece Outfit\u003c\/p\u003e\n\u003ch1 class=\"bwc-h1\"\u003eEffortless Style For Every Moment\u003c\/h1\u003e\n\u003c\/div\u003e\n\n\u003c!-- ② Hero 横幅 --\u003e\n\u003cdiv class=\"bwc-hero\"\u003e\n\u003ch2\u003eYour Effortless Everyday Outfit Awaits\u003c\/h2\u003e\n\u003cp\u003eMade from soft, breathable cotton fabric, this set offers a lightweight and comfortable feel while keeping your look refined. The timeless plaid pattern, relaxed silhouette, and practical pockets make it the perfect choice for casual days, vacations, weekend plans, and everyday outings.\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_8abb70b7-239f-40a2-99f1-ba1b2b659dfe.jpg?v=1785830727\"\u003e\n\u003c\/div\u003e\n\n\u003c!-- ⑤ 功能特性：轮播（3 个核心卖点，自动播放 2 秒） --\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\"\u003eThree reasons it's the smarter way to dress every day.\u003c\/p\u003e\n\n\u003cdiv class=\"bwc-carousel\" data-carousel data-autoplay=\"2000\"\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_903122c7-dfb9-4954-bbf0-e07ab9e9cb1b.jpg?v=1785830728\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-text\"\u003e\n\u003cspan class=\"bwc-carousel-num\"\u003e1\u003c\/span\u003e\n\u003ch3\u003eComfort That Feels As Good As It Looks\u003c\/h3\u003e\n\u003cp\u003eCrafted with soft breathable cotton fabric, this two-piece set delivers lightweight comfort while keeping your outfit looking fresh and put-together. The relaxed fit allows easy movement, making it perfect for long walks, casual gatherings, travel days, or relaxing moments.\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_ec0c745d-23fe-4d7f-a8ba-e716cf44ac84.jpg?v=1785830726\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-text\"\u003e\n\u003cspan class=\"bwc-carousel-num\"\u003e2\u003c\/span\u003e\n\u003ch3\u003eA Complete Outfit Without The Guesswork\u003c\/h3\u003e\n\u003cp\u003eNo more wondering what to pair together. This matching set gives you an instantly stylish outfit with a perfectly coordinated plaid design. The cropped sleeveless top adds a modern touch, while the relaxed pants create a comfortable yet sophisticated silhouette.\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\/4_80c8914d-2592-48af-865f-24f0649a3562.jpg?v=1785830727\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-text\"\u003e\n\u003cspan class=\"bwc-carousel-num\"\u003e3\u003c\/span\u003e\n\u003ch3\u003eRelaxed Fit With Everyday Elegance\u003c\/h3\u003e\n\u003cp\u003eFeaturing a loose silhouette and practical pocket design, this set combines functionality with feminine style. The flattering wide-leg pants create a comfortable shape, while the matching plaid pattern adds a refined touch to your casual wardrobe.\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：这款套装本身卖点就是\"百搭多场景\"，所以保留了这个板块，下面加了配图区域 --\u003e\n\u003ch2 class=\"bwc-section-title\"\u003ePerfect For\u003c\/h2\u003e\n\u003cp class=\"bwc-lead\"\u003eFrom beach days to coffee dates, this versatile set has you covered. Style it your way with sandals or sneakers—effortless chic, anytime, anywhere.\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\/5_111ae75b-4457-421f-b72b-5204fba45fff.jpg?v=1785830727\"\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 Plaid Two Piece Outfit\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStyle\u003c\/td\u003e\n\u003ctd\u003eCasual Chic | Relaxed Fashion | Everyday Wear\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eSoft Cotton Fabric\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePattern\u003c\/td\u003e\n\u003ctd\u003eClassic Plaid Print\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTop Style\u003c\/td\u003e\n\u003ctd\u003eSleeveless Cropped Top\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBottom Style\u003c\/td\u003e\n\u003ctd\u003eCropped Wide-Leg Pants\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFit\u003c\/td\u003e\n\u003ctd\u003eRelaxed Loose Fit\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFeatures\u003c\/td\u003e\n\u003ctd\u003eMatching Set Design, Breathable Fabric, Functional Pockets, Easy Styling\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eClosure\u003c\/td\u003e\n\u003ctd\u003eElastic Waistband\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSizing Tips\u003c\/td\u003e\n\u003ctd\u003eThe fit is slightly oversized. We recommend choosing your usual size for a relaxed and comfortable look.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCare Instructions\u003c\/td\u003e\n\u003ctd\u003eMachine washable. Wash with similar colors. Avoid prolonged direct sunlight to help maintain color vibrancy. Turn inside out when drying if possible.\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\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/24fff000a1e24b31b0f9c3f7d3553c0c_tplv-fhlh96nyum-origin-jpeg.jpg?v=1785831361\"\u003e\n\u003cdiv class=\"txt\"\u003e\n\u003cp class=\"bwc-review-title\"\u003eSophia W.\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"This set is exactly what I needed! It looks put together but feels like pajamas. The fabric is soft and comfortable, and I love that I can wear the pieces separately.\"\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-review-mini\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/O1CN01Iuc7qV2HKyK7CwrpA__2207846849133-0-cib.jpg?v=1785831292\"\u003e\n\u003cdiv class=\"txt\"\u003e\n\u003cp class=\"bwc-review-title\"\u003eEmma L.\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"The plaid pattern is so cute and classy. I wore it on vacation and received so many compliments. It's comfortable but still looks very fashionable.\"\u003c\/p\u003e\n\u003c\/div\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\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/7a0cb2029d614ac9bdeae88a614f657b_tplv-fhlh96nyum-crop-webp_300_300.webp?v=1785831291\"\u003e\n\u003cdiv class=\"txt\"\u003e\n\u003cp class=\"bwc-review-title\"\u003eOlivia R.\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"I love the relaxed fit. The pants are comfortable, the pockets are useful, and the whole outfit makes getting dressed so easy.\"\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-review-mini\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/7e138c9584424ec1ba077e199c2587e5_tplv-fhlh96nyum-origin-jpeg.jpg?v=1785831361\"\u003e\n\u003cdiv class=\"txt\"\u003e\n\u003cp class=\"bwc-review-title\"\u003eMia C.\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"Perfect everyday outfit! I wear it for coffee dates, shopping, and weekend outings. It's simple, elegant, and very easy to style.\"\u003c\/p\u003e\n\u003c\/div\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 the sizing accurate?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eThe fit is slightly relaxed. We recommend choosing your usual size for the intended comfortable loose fit.\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\"\u003eCan I wear the top and pants separately?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eAbsolutely. Both pieces can be styled individually with other wardrobe favorites to create more outfit options.\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 comfortable for all-day wear?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eYes. The soft cotton fabric is lightweight, breathable, and designed for comfortable everyday wear.\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\"\u003eDoes the set have pockets?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eYes. The pants feature convenient pockets for carrying small daily essentials.\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 this outfit?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eIt can be machine washed. Wash with similar colors and avoid prolonged direct sunlight to help preserve the plaid pattern.\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\u003eYour Effortless Everyday Outfit Awaits\u003c\/h2\u003e\n\u003cp\u003eFrom relaxed weekends to memorable getaways, this matching set delivers the perfect balance of comfort, confidence, and timeless style.\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 To Cart 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    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 autoplayTimer = null;\n    var carouselInView = false; \/\/ becomes true only once the carousel scrolls into view\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        restartAutoplay();\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      restartAutoplay();\n    });\n    nextBtn.addEventListener('click', function(){\n      track.scrollBy({left: stepWidth(), behavior:'smooth'});\n      restartAutoplay();\n    });\n\n    function nextSlide(){\n      var next = (activeIndex + 1) % slides.length;\n      goToSlide(next);\n    }\n\n    function startAutoplay(){\n      stopAutoplay();\n      \/\/ This carousel is manual-only (data-autoplay=\"0\") — never auto-advance.\n      if (!autoplayEnabled) return;\n      \/\/ Don't run autoplay (and thus don't touch scroll position at all)\n      \/\/ while the carousel isn't visible on screen.\n      if (!carouselInView) return;\n      autoplayTimer = setInterval(nextSlide, AUTOPLAY_DELAY);\n    }\n    function stopAutoplay(){\n      if (autoplayTimer) { clearInterval(autoplayTimer); autoplayTimer = null; }\n    }\n    function restartAutoplay(){\n      stopAutoplay();\n      startAutoplay();\n    }\n\n    \/\/ pause while the user is actively swiping\/dragging\/hovering, resume after\n    track.addEventListener('pointerdown', stopAutoplay);\n    track.addEventListener('touchstart', stopAutoplay, {passive:true});\n    track.addEventListener('pointerup', restartAutoplay);\n    track.addEventListener('touchend', restartAutoplay, {passive:true});\n    carousel.addEventListener('mouseenter', stopAutoplay);\n    carousel.addEventListener('mouseleave', restartAutoplay);\n\n    \/\/ Only autoplay while the carousel is actually on screen (and only if\n    \/\/ autoplay is enabled for this carousel) — the countdown only starts\n    \/\/ 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          if (carouselInView) {\n            restartAutoplay();\n          } else {\n            stopAutoplay();\n          }\n        });\n      }, { threshold: 0.4 });\n      io.observe(carousel);\n    }\n\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 === 'add to cart' \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 = '\/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":"Olive Green \/ S","offer_id":43782842482778,"sku":"PL01122608044704-格子套装 - 军绿色-S","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Olive Green \/ M","offer_id":43782842515546,"sku":"PL01122608044704-格子套装 - 军绿色-M","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Olive Green \/ L","offer_id":43782842548314,"sku":"PL01122608044704-格子套装 - 军绿色-L","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Olive Green \/ XL","offer_id":43782842581082,"sku":"PL01122608044704-格子套装 - 军绿色-XL","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Olive Green \/ XXL","offer_id":43782842613850,"sku":"PL01122608044704-格子套装 - 军绿色-XXL","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ S","offer_id":43782842646618,"sku":"PL01122608044704-格子套装 - 卡其色-S","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ M","offer_id":43782842679386,"sku":"PL01122608044704-格子套装 - 卡其色-M","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ L","offer_id":43782842712154,"sku":"PL01122608044704-格子套装 - 卡其色-L","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ XL","offer_id":43782842744922,"sku":"PL01122608044704-格子套装 - 卡其色-XL","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Khaki \/ XXL","offer_id":43782842777690,"sku":"PL01122608044704-格子套装 - 卡其色-XXL","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Coral \/ S","offer_id":43782842810458,"sku":"PL01122608044704-格子套装 - 珊瑚色-S","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Coral \/ M","offer_id":43782842843226,"sku":"PL01122608044704-格子套装 - 珊瑚色-M","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Coral \/ L","offer_id":43782842875994,"sku":"PL01122608044704-格子套装 - 珊瑚色-L","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Coral \/ XL","offer_id":43782842908762,"sku":"PL01122608044704-格子套装 - 珊瑚色-XL","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Coral \/ XXL","offer_id":43782842941530,"sku":"PL01122608044704-格子套装 - 珊瑚色-XXL","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Blue \/ S","offer_id":43782842974298,"sku":"PL01122608044704-格子套装 - 蓝色-S","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Blue \/ M","offer_id":43782843007066,"sku":"PL01122608044704-格子套装 - 蓝色-M","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Blue \/ L","offer_id":43782843039834,"sku":"PL01122608044704-格子套装 - 蓝色-L","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XL","offer_id":43782843072602,"sku":"PL01122608044704-格子套装 - 蓝色-XL","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XXL","offer_id":43782843105370,"sku":"PL01122608044704-格子套装 - 蓝色-XXL","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Dark Green \/ S","offer_id":43782843138138,"sku":"PL01122608044704-格子套装 - 深蓝色-S","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Dark Green \/ M","offer_id":43782843170906,"sku":"PL01122608044704-格子套装 - 深蓝色-M","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Dark Green \/ L","offer_id":43782843203674,"sku":"PL01122608044704-格子套装 - 深蓝色-L","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Dark Green \/ XL","offer_id":43782843236442,"sku":"PL01122608044704-格子套装 - 深蓝色-XL","price":49.98,"currency_code":"USD","in_stock":true},{"title":"Dark Green \/ XXL","offer_id":43782843269210,"sku":"PL01122608044704-格子套装 - 深蓝色-XXL","price":49.98,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/7_27950c81-dc69-4708-8ba5-6750a6d87e6c.jpg?v=1785830726"}],"url":"https:\/\/sthael.com\/collections\/outfit-set.oembed","provider":"Sthael","version":"1.0","type":"link"}