/* Availability is textual as well as visual; never disable detail/remove controls. */
:is(.catalog-card,.frequent-card)[data-stock-state] { position: relative; }
.stock-badge { display: inline-block; width: fit-content; max-width: 100%; padding: 8px 12px; border-radius: 10px; background: #f1eeec; color: #51423f; font: 700 13px/1.35 var(--font-body,Arial,sans-serif); overflow-wrap: anywhere; }
.stock-badge--stopped { background: #9e2018; color: #fff; }
:is(.catalog-card,.frequent-card) > .stock-badge { position: absolute; z-index: 2; top: 12px; left: 12px; max-width: calc(100% - 24px); pointer-events: none; }
:is(.catalog-card,.frequent-card,.promo-slide)[data-stock-state="stopped"] :is(.catalog-card-image,.frequent-card-image,.promo-product-image,.catalog-placeholder) { filter: grayscale(1); opacity: .48; }
:is(.catalog-card-action,.frequent-copy) button:disabled,.promo-add:disabled,.modal-add:disabled { opacity: .55; cursor: not-allowed; }
.stock-detail-status { margin: 12px 0; }
.stock-detail-status .availability-reason { margin: 8px 0; }
.cart-page .cart-item-blocked { background: #fff4f1; border: 1px solid #b54a40; border-radius: 16px; padding: 16px; }
.cart-page-item[data-stock-state="stopped"] > img { filter: grayscale(1); opacity: .5; }
.cart-page-item .stock-badge { margin: 8px 0 0; }
.cart-page .cart-online-only { padding: 18px; border: 1px solid #ded8d6; border-radius: 16px; }
.cart-page .cart-online-only p { margin: 8px 0 0; font-size: 14px; line-height: 1.5; }
.cart-page .cart-page-stepper button:disabled { cursor: not-allowed; opacity: .4; }
.availability-alert { padding: 20px; border: 1px solid #9e2018; border-radius: 18px; margin-bottom: 24px; background: #fff5f3; color: #7c211a; }
.availability-alert button { min-height: 44px; padding: 8px 14px; border: 1px solid currentColor; border-radius: 10px; background: #fff; font: inherit; cursor: pointer; }
@media(max-width:520px) { :is(.catalog-card,.frequent-card) > .stock-badge { top: 8px; left: 8px; max-width: calc(100% - 16px); padding: 6px 8px; font-size: 12px; } .cart-page .cart-item-blocked { padding: 12px; } }
