/* Shared HTML Content banner; all selectors are scoped to this campaign. */
.flx-bf { position:relative; isolation:isolate; display:flex; align-items:center; min-height:190px; overflow:hidden; margin:0 0 24px; border:1px solid #e7dacb; border-radius:8px; background:#f7f1e8; color:#594635; }
.flx-bf__copy { position:relative; z-index:1; width:65%; padding:23px 28px; }
.flx-bf .flx-bf__eyebrow { margin:0 0 8px; font-size:11px; line-height:1.5; font-weight:600; letter-spacing:1.1px; color:#735f4e; }
.flx-bf .flx-bf__title { margin:0 0 9px; font-family:Georgia,'Times New Roman',serif; font-size:38px; line-height:1.1; font-weight:400; color:#594635; }
.flx-bf .flx-bf__text { margin:0 0 14px; font-size:19px; line-height:1.4; }
.flx-bf__text strong { color:#9b4034; font-size:25px; }
.flx-bf .flx-bf__note { margin:10px 0 0; font-size:14px; line-height:1.4; color:#735f4e; }
.flx-bf__image { position:absolute; z-index:0; right:0; top:0; width:38%; height:100%; object-fit:cover; object-position:50% 56%; mask-image:linear-gradient(to right,transparent,#000 22%); -webkit-mask-image:linear-gradient(to right,transparent,#000 22%); }
/* The product price styling remains independent of the HTML module status. */
#content .flx-price-old { display:inline-block; margin:0 0 5px; color:#777; font-size:18px; line-height:1.4; font-weight:400; text-decoration:line-through; }
#content .flx-price-special { display:block; margin:0 0 12px; color:#c62828; font-size:28px; line-height:1.3; font-weight:700; }
.flx-price-unit { font-size:16px; font-weight:400; white-space:nowrap; }
@media (max-width:1199px) and (min-width:768px) { .flx-bf__copy{width:72%;padding:22px}.flx-bf .flx-bf__title{font-size:33px}.flx-bf .flx-bf__eyebrow{font-size:10px;letter-spacing:.5px}.flx-bf__image{width:32%} }
@media (max-width:600px) { .flx-bf{min-height:0;margin-bottom:20px}.flx-bf__copy{width:100%;padding:20px}.flx-bf__image{display:none}.flx-bf .flx-bf__title{font-size:32px}.flx-bf .flx-bf__text{font-size:17px}.flx-bf .flx-bf__eyebrow{font-size:9px;letter-spacing:.6px}.flx-bf__text strong{font-size:23px} }

.product-thumb .flx-category-price-old { color:#777; font-weight:400; text-decoration:line-through; }

/* An opaque ivory label stays legible on both light and dark yarn photos. */
.product-thumb .flx-category-image { position:relative; }
.flx-sale-label { position:absolute; top:12px; left:12px; z-index:2; display:flex; flex-direction:column; align-items:flex-start; gap:3px; padding:10px 14px 10px 12px; border:1px solid #e4d4c2; border-left:3px solid #b74640; border-radius:3px 12px 12px 3px; background:#fff8ee; color:#9c302d; box-shadow:0 3px 12px rgba(50,30,20,.14); pointer-events:none; text-align:left; line-height:1.15; }
.flx-sale-label strong { font-size:15px; font-weight:700; letter-spacing:.8px; }
.flx-sale-label > span { color:#70594a; font-size:9px; font-weight:600; letter-spacing:1.2px; }
@media (max-width:600px) { .flx-sale-label { top:8px; left:8px; padding:8px 10px; } .flx-sale-label strong { font-size:13px; } .flx-sale-label > span { font-size:8px; letter-spacing:.8px; } }

.flx-product-photo { position:relative; }
.flx-sale-label--product { flex-direction:row; align-items:center; gap:14px; padding:12px 16px; max-width:calc(100% - 24px); }
.flx-sale-label--product .flx-sale-label__copy { display:flex; flex-direction:column; gap:4px; min-width:0; overflow-wrap:anywhere; }
.flx-sale-label__copy > span { color:#70594a; font-size:10px; font-weight:600; letter-spacing:1px; }
.flx-sale-label--product .flx-sale-label__percent { flex-shrink:0; align-self:stretch; display:flex; align-items:center; padding-left:14px; border-left:1px solid #dfc9b6; color:#9c302d; font-size:34px; font-weight:700; letter-spacing:-1px; line-height:1; }
@media (max-width:600px) { .flx-sale-label--product { gap:10px; padding:10px 12px; } .flx-sale-label--product .flx-sale-label__percent { font-size:30px; padding-left:10px; } }
