{"product_id":"women-s-linen-blend-oversized-shirt-with-frog-fastening","title":"Women’s Linen-Blend Oversized Shirt with Frog Fastening","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\/* Design Notes Collapse *\/\n.bwc-page .bwc-design-notes-wrap{margin-top:28px}\n.bwc-page .bwc-design-notes-q{font-family:'Oswald',sans-serif;font-size:22px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:#111;margin:0;padding-bottom:12px;border-bottom:3px solid #141414;line-height:1.2;display:flex;align-items:center;gap:10px;cursor:pointer}\n.bwc-page .bwc-design-notes-q .toggle-icon{width:24px;height:24px;font-size:20px;display:flex;align-items:center;justify-content:center;transition:transform 0.2s}\n.bwc-page .bwc-design-notes-content{display:none}\n.bwc-page .bwc-design-notes-wrap.open .bwc-design-notes-content{display:block}\n.bwc-page .bwc-design-notes-wrap.open .toggle-icon{transform:rotate(45deg)}\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    .bwc-page .bwc-design-notes-q{font-size:19px;margin-top:30px;}\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 Linen-Blend Oversized Shirt With Frog Fastening\u003c\/p\u003e\n\u003ch1 class=\"bwc-h1\"\u003eRelaxed Linen Texture. Effortless Everyday Style.\u003c\/h1\u003e\n\u003cbutton type=\"button\" class=\"bwc-review-jump\" data-scroll-reviews\u003e \u003cspan class=\"bwc-review-jump-stars\"\u003eSTYLE\u003c\/span\u003e \u003cspan\u003eView Design Notes\u003c\/span\u003e \u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-hero\"\u003e\n\u003ch2\u003eThe Relaxed Shirt That Makes Everyday Styling Easy\u003c\/h2\u003e\n\u003cp\u003eWhen a classic button-down feels too structured, this linen-blend shirt offers a softer approach. It combines a \u003cstrong\u003efluid oversized fit, clean round neckline, long sleeves, and distinctive frog-style front fastening\u003c\/strong\u003e for effortless styling from workdays to weekends.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-teeth\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"bwc-img-wrap\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/t57342-st72709-i0.jpg?v=1785832058\" 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;\"\u003eA fluid oversized silhouette, breathable linen texture, and distinctive front fastening make this shirt 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\/t57264-st72605-i0.jpg?v=1785832441\" alt=\"\"\u003e\u003c\/p\u003e\n\u003c!-- 第一组轮播：产品卖点轮播（独立） --\u003e\n\u003cdiv class=\"bwc-carousel\" data-carousel data-autoplay=\"0\"\u003e\n\u003cdiv class=\"bwc-carousel-track\" data-track\u003e\n\u003cdiv class=\"bwc-carousel-slide\"\u003e\n\u003cdiv class=\"bwc-carousel-imgs\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-text\"\u003e\n\u003cspan class=\"bwc-carousel-num\"\u003e1\u003c\/span\u003e\n\u003ch3\u003eFluid Oversized Fit\u003c\/h3\u003e\n\u003ch4\u003eRelaxed Drape Without Looking Shapeless\u003c\/h4\u003e\n\u003cp\u003eThe roomy body and relaxed long sleeves create a fluid silhouette that feels comfortable without appearing bulky. Wear it loose, softly tucked, or open over a fitted base layer for easy movement and versatile styling.\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\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-text\"\u003e\n\u003cspan class=\"bwc-carousel-num\"\u003e2\u003c\/span\u003e\n\u003ch3\u003eSoft Viscose-Linen Blend\u003c\/h3\u003e\n\u003ch4\u003eAiry Texture With Fluid Movement\u003c\/h4\u003e\n\u003cp\u003eMade from a 70% viscose and 30% linen blend, the fabric combines smooth drape with lightly textured character. The result feels relaxed and breathable while maintaining a refined appearance.\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\u003cbr\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\u003cbr\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 an intentionally oversized silhouette through the body and sleeves. Choose your usual size for the intended relaxed look, and compare the garment measurements with a loose shirt you already own for the most reliable fit.\u003c\/p\u003e\n\u003cdiv class=\"bwc-media-block\"\u003e\n\u003cdiv class=\"bwc-media-caption\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/t57347-st72716-i0.jpg?v=1785832058\" alt=\"\"\u003eOversized Body · Long Sleeves · Relaxed Draped 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\"\u003eWear the shirt loose with straight-leg trousers, half-tucked into jeans, or open over a fitted tank. Complete the look with loafers, sandals, flats, or minimalist sneakers for effortless styling across spring, summer, and early fall.\u003c\/p\u003e\n\u003cdiv class=\"bwc-media-block\"\u003e\n\u003cdiv class=\"bwc-media-caption\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/t57305-st72654-i0.jpg?v=1785831546\" alt=\"\"\u003eWorkday To Weekend · Easy Layering · Minimal Styling\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 casual offices, cafés, travel, shopping, vacations, weekend plans, lunches, relaxed gatherings, and understated evenings out. The clean white design makes polished styling feel effortless.\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 Linen-Blend Oversized Long-Sleeve Shirt\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStyle\u003c\/td\u003e\n\u003ctd\u003eMinimalist, Relaxed, Resort, Casual And Smart-Casual\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSilhouette\u003c\/td\u003e\n\u003ctd\u003eFluid Oversized Silhouette With Relaxed Draping\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eNeckline\u003c\/td\u003e\n\u003ctd\u003eClean Round Neckline With Split Front Opening\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSleeves\u003c\/td\u003e\n\u003ctd\u003eRelaxed Long Sleeves Designed For Easy Rolling\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eClosure\u003c\/td\u003e\n\u003ctd\u003eDecorative And Functional Frog-Style Front Fastening\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eColor\u003c\/td\u003e\n\u003ctd\u003eClean White Neutral Tone\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHem Shape\u003c\/td\u003e\n\u003ctd\u003eRelaxed Straight Hem With An Easy Draped Finish\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLength\u003c\/td\u003e\n\u003ctd\u003eLongline Shirt Length With Comfortable Coverage\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFabric\u003c\/td\u003e\n\u003ctd\u003e70% Viscose And 30% Linen Blend\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFit\u003c\/td\u003e\n\u003ctd\u003eOversized Fit With Room Through The Body And Sleeves\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSeasons\u003c\/td\u003e\n\u003ctd\u003eSpring, Summer And Early Fall; Layer 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, Travel, Vacations, Shopping, Weekends And Casual Events\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStyling\u003c\/td\u003e\n\u003ctd\u003eWear Loose, Half-Tucked Or Open Over Tanks, Camisoles And Lightweight Tops\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFootwear\u003c\/td\u003e\n\u003ctd\u003ePairs With Loafers, Sandals, Flats, Minimal Sneakers 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\n\u003c!-- Design \u0026 Styling Notes 折叠区块 --\u003e\n\u003cdiv class=\"bwc-design-notes-wrap\" id=\"bwc-reviews\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-design-notes-q\"\u003e\n    \u003cspan\u003eDesign \u0026amp; Styling Notes\u003c\/span\u003e\n    \u003cspan class=\"toggle-icon\"\u003e+\u003c\/span\u003e\n\u003c\/button\u003e\n\u003cdiv class=\"bwc-design-notes-content\"\u003e\n\u003cp class=\"bwc-lead\"\u003eA closer look at the details that make this linen-blend shirt easy to wear and style.\u003c\/p\u003e\n\u003c!-- 第二组轮播：客户评论轮播（独立控制器） --\u003e\n\u003cdiv class=\"bwc-carousel\" data-carousel data-autoplay=\"0\"\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\"\u003eSTYLE\u003c\/p\u003e\n\u003cp class=\"bwc-review-title\"\u003eFluid, Relaxed Drape\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003eThe oversized shape creates an easy, flowing silhouette that feels modern without looking bulky or overly casual.\u003c\/p\u003e\n\u003cp class=\"bwc-review-name\"\u003eFIT NOTE\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-review-mini\"\u003e\n\u003cp class=\"bwc-review-stars\"\u003eSTYLE\u003c\/p\u003e\n\u003cp class=\"bwc-review-title\"\u003eDistinctive Front Detail\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003eThe frog-style fastening adds subtle handcrafted character and gives the clean white shirt a more memorable finish.\u003c\/p\u003e\n\u003cp class=\"bwc-review-name\"\u003eDESIGN NOTE\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\"\u003eSTYLE\u003c\/p\u003e\n\u003cp class=\"bwc-review-title\"\u003eEasy Tonal Styling\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003eThe neutral white color pairs naturally with black, beige, denim, olive, and other understated wardrobe tones.\u003c\/p\u003e\n\u003cp class=\"bwc-review-name\"\u003eSTYLE NOTE\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\"\u003eSoft Linen-Blend Texture\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003eViscose adds fluid movement while linen brings lightly textured character, creating a softer alternative to a crisp shirt.\u003c\/p\u003e\n\u003cp class=\"bwc-review-name\"\u003eFABRIC NOTE\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\u003cbr\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\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 frog-style fastenings functional?\u003c\/span\u003e \u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e \u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eYes. The front frog-style fastenings form both the closure and the main decorative detail of the shirt.\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 shirt is designed with an intentionally oversized fit. Use the garment measurement chart and compare it with a relaxed shirt 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\"\u003eWhat is the fabric composition?\u003c\/span\u003e \u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e \u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eThe fabric composition is 70% viscose and 30% linen, balancing fluid drape with natural-looking texture.\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 fabric stretchy?\u003c\/span\u003e \u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e \u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eThe fabric is not described as stretchy. The oversized silhouette provides room for comfortable movement and relaxed layering.\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\"\u003eWear it over a fitted tank, tonal camisole, lightweight T-shirt, or bralette. It can also be worn closed as a relaxed standalone shirt.\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 sleeves 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 long sleeves can be worn full length or softly rolled to create a more relaxed warm-weather look.\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 shirt?\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 and avoid bleach or unnecessary high heat to help preserve the fabric texture, white color, and relaxed shape.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-teeth inv\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"bwc-cta\"\u003e\n\u003ch2\u003eYour Effortless White Shirt Starts Here\u003c\/h2\u003e\n\u003cp\u003eChoose your size and bring fluid linen-blend texture, relaxed movement, and distinctive frog-fastening detail into your everyday wardrobe.\u003c\/p\u003e\n\u003cbutton type=\"button\" class=\"bwc-btn bwc-add-to-cart\"\u003eChoose Your Size \u0026amp; Add To Cart\u003c\/button\u003e\n\u003c\/div\u003e\n\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\n\u003cscript\u003e\n(function(){\n\/\/ FAQ accordion\nvar accordion = document.querySelector('[data-accordion]');\nif(accordion){\nvar buttons = accordion.querySelectorAll('.bwc-faq-q');\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\n\/\/ Design Notes Collapse\nvar designWrap = document.querySelector('.bwc-design-notes-wrap');\nif(designWrap){\nvar designBtn = designWrap.querySelector('.bwc-design-notes-q');\ndesignBtn.addEventListener('click',function(){\ndesignWrap.classList.toggle('open');\n});\n}\n\n\/\/ top jump link open design notes\nvar jumpLink = document.querySelector('[data-scroll-reviews]');\nif(jumpLink){\njumpLink.addEventListener('click',function(e){\ne.preventDefault();\nif(designWrap \u0026\u0026 !designWrap.classList.contains('open')){\ndesignWrap.classList.add('open');\n}\nvar target = document.getElementById('bwc-reviews');\nif(target){\ntarget.scrollIntoView({behavior:'smooth',block:'start'});\n}\n});\n}\n})();\n\u003c\/script\u003e\n\n\u003cscript\u003e\n(function(){\nvar page = document.querySelector('.bwc-page');\nif(!page) return;\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 size and product option 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 size 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":"XS","offer_id":43783868645466,"sku":"NC02292608044914-长袖衬衫-白色-XS","price":39.98,"currency_code":"USD","in_stock":true},{"title":"S","offer_id":43783868678234,"sku":"NC02292608044914-长袖衬衫-白色-S","price":39.98,"currency_code":"USD","in_stock":true},{"title":"M","offer_id":43783868711002,"sku":"NC02292608044914-长袖衬衫-白色-M","price":39.98,"currency_code":"USD","in_stock":true},{"title":"L","offer_id":43783868743770,"sku":"NC02292608044914-长袖衬衫-白色-L","price":39.98,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/2_967f31e3-9089-45af-b4e9-b7e2b9478e3b.png?v=1785832341","url":"https:\/\/sthael.com\/products\/women-s-linen-blend-oversized-shirt-with-frog-fastening","provider":"Sthael","version":"1.0","type":"link"}