.wb-price-unit { white-space: normal; font-size: .78em; font-weight: 500; }
.wb-product-buy .wb-product-buy__price:has(.wb-price-unit) { flex-wrap:wrap; gap:10px; }
.wb-product-buy .wb-product-buy__price-values:has(.wb-price-unit) { flex:1 1 160px; flex-direction:column; align-items:flex-start; gap:2px; white-space:normal; }
.wb-product-buy .wb-product-savings:has(.wb-price-unit) > strong { white-space:normal; overflow-wrap:anywhere; }
.wb-product--catalog .wb-product__price-row:has(.wb-price-unit) { flex-wrap:wrap; }
.wb-product .wb-product__price:has(.wb-price-unit),.wb-product .wb-product__compare:has(.wb-price-unit) { white-space:normal; overflow-wrap:anywhere; }
.wb-quick-product__price:has(.wb-price-unit) { flex-wrap:wrap; align-items:flex-start; }
.wb-quick-product__price:has(.wb-price-unit) > div:first-child { flex:1 1 150px; min-width:0; }
.wb-base-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin-top: 6px; font-size: 13px; line-height: 1.5; }
.wb-base-price > span { font-weight: 600; }
.wb-base-price > del { color: var(--wb-muted, #79666d); }
.wb-base-price > small { flex-basis: 100%; color: var(--wb-muted, #79666d); font-size: 11px; overflow-wrap: anywhere; }
.wb-quantity.wb-quantity--premium { display: block; flex: 0 1 142px; width: 142px; min-width: 120px; }
.wb-quantity__controls { box-sizing: border-box; display: grid; grid-template-columns: 34px minmax(44px,1fr) 34px; grid-template-rows: minmax(0,1fr); align-items: stretch; min-height: 52px; border: 1px solid var(--wb-line, #e5d8dd); border-radius: 9px; background: #fff; }
.wb-quantity__controls label { display: flex; align-items: stretch; min-width: 0; min-height: 0; }
.wb-quantity.wb-quantity--premium input { box-sizing: border-box; align-self: stretch; width: 100%; min-width: 0; height: 100%; min-height: 0; margin: 0; padding: 4px 2px; border: 0; border-radius: 0; text-align: center; background: transparent; font: inherit; font-size: 15px; }
.wb-quantity__controls button { position: relative; display: grid; place-items: center; min-width: 0; min-height: 0; margin: 0; border: 0; border-radius: 8px; padding: 2px; color: var(--wb-accent, #7b2638); background: transparent; font: inherit; font-size: 19px; line-height: 1; cursor: pointer; }
.wb-quantity__controls button > span { color: inherit; font-size: inherit; line-height: 1; }
.wb-quantity__controls button small { position: absolute; left: 3px; bottom: 2px; width: max-content; font-size: 8px; line-height: 1.05; white-space: nowrap; }
.wb-quantity__controls button:last-child small { right: 3px; left: auto; }
.wb-quantity__controls button:disabled { opacity: .5; cursor: default; }
.wb-quantity__controls :focus-visible { outline: 2px solid var(--wb-accent, #7b2638); outline-offset: 2px; }
.wb-quantity__description { display: block; margin-top: 3px; color: var(--wb-muted, #79666d); font-size: 10px; line-height: 1.4; overflow-wrap: anywhere; }
.wb-quantity__description:empty { display: none; }
/* Share the CTA's actual row height; unit/step notes occupy a separate row.
   A wrapped label can grow both controls together without clipping text. */
.wb-buy-row:has(> .wb-quantity--premium:not([hidden])) { grid-template-columns: minmax(120px,142px) minmax(0,1fr); grid-template-rows: minmax(52px,auto) auto; align-items: stretch; row-gap: 0; }
.wb-buy-row > .wb-quantity.wb-quantity--premium:not([hidden]) { display: grid; grid-template-rows: subgrid; grid-row: 1 / span 2; width: 100%; min-width: 0; }
.wb-buy-row > .wb-quantity--premium > .wb-quantity__controls { grid-row: 1; }
.wb-buy-row > .wb-quantity--premium > .wb-quantity__description { grid-row: 2; }
.wb-buy-row:has(> .wb-quantity--premium:not([hidden])) > .wb-btn { grid-column: 2; grid-row: 1; align-self: stretch; min-height: 52px; }
.wb-quick-product .wb-buy-row:has(> .wb-quantity--premium:not([hidden])) > .wb-btn { min-width: 0; padding-inline: 10px; }
.wb-buy-row:has(.wb-quantity--premium) > .wb-btn { flex: 1 1 110px; min-width: 100px; }
.wb-cart-item__controls:has(.wb-quantity--premium),.wb-cart-item__controls:has(.wb-quantity--premium) form { align-items: flex-start; }
.wb-cart-item__controls:has(.wb-quantity--premium) .wb-text-button { min-height: 52px; }
@supports not (grid-template-rows: subgrid) {
    .wb-buy-row > .wb-quantity.wb-quantity--premium:not([hidden]) { display: contents; }
    .wb-buy-row > .wb-quantity--premium > :is(.wb-quantity__controls,.wb-quantity__description) { grid-column: 1; }
}
.wb-filter-unit { display: grid; gap: 5px; margin-bottom: 10px; font-size: 12px; }
.wb-filter-unit select { width: 100%; max-width: 100%; min-width: 0; padding: 9px 10px; border: 1px solid var(--wb-line, #e5d8dd); border-radius: 7px; color: inherit; background: #fff; font: inherit; }
.wb-filter-unit select:focus-visible { outline: 2px solid var(--wb-accent, #7b2638); outline-offset: 2px; }
.wb-header-cart__item-info .wb-cart-unit { white-space: normal; }
.wb-mini-quantity button { position:relative; }
.wb-mini-quantity:has(.wb-mini-limit) button svg { width:14px; height:14px; }
.wb-header-cart__item .wb-mini-limit { position:absolute; left:3px; bottom:1px; display:block; width:max-content; margin:0; font-size:7px; line-height:1.05; white-space:nowrap; }
.wb-mini-quantity button:last-child .wb-mini-limit { right:3px; left:auto; }
.wb-mini-step-note { grid-column:1 / -1; font-size:10px; text-align:right; }
@media (max-width: 400px) {
    .wb-buy-row:has(> .wb-quantity--premium:not([hidden])) { grid-template-columns:126px minmax(0,1fr); }
    .wb-quick-product .wb-buy-row:has(> .wb-quantity--premium:not([hidden])) { grid-template-columns:120px minmax(0,1fr); }
    .wb-quick-product .wb-buy-row:has(> .wb-quantity--premium:not([hidden])) > .wb-btn { padding-inline:6px; font-size:15px; }
    .wb-quantity.wb-quantity--premium { flex-basis: 126px; width: 126px; }
    .wb-base-price { font-size: 12px; gap: 3px 7px; }
}
