.wfl-empty-cart-btn,
.wfl-fix-cart-btn {
    border: 2px solid #111111 !important;
    border-radius: 999px !important;
    color: #111111 !important;
    background: transparent !important;
    transition: background 0.2s, color 0.2s !important;
}
.wfl-empty-cart-btn:hover,
.wfl-empty-cart-btn:focus,
.wfl-fix-cart-btn:hover,
.wfl-fix-cart-btn:focus {
    background: #111111 !important;
    color: #ffffff !important;
}
.shop_table .product-remove { text-align: center; }
/* Tint the whole row so the problem reads at a glance. !important
   because themes set td backgrounds for zebra striping and hover,
   and this sheet can be enqueued before the theme stylesheet. */
.shop_table tr.wfl-cart-row-gone td {
    background-color: #fdecea !important;
}
/* Amber, not red: this line is recoverable — reduce, do not remove. */
.shop_table tr.wfl-cart-row-short td {
    background-color: #fff4e5 !important;
}
/* 4.99:1 against the #fff4e5 row tint, so it clears WCAG AA for normal
   text. The lighter amber this replaced measured 3.90:1 — readable
   enough to look fine and not readable enough to be compliant. */
.wfl-stock-note {
    color: #9a5b00;
    font-weight: 600;
    white-space: nowrap;
}
.wfl-checkout-blocked {
    color: #b32d2e;
    font-weight: 600;
    margin: 0;
}
.wfl-cart-select {
    width: 18px;
    height: 18px;
    /* Explicit reset: the cell centres its contents, and themes that
       style form inputs generically would otherwise offset it. */
    margin: 0;
    vertical-align: middle;
    cursor: pointer;
    accent-color: #111111;
}
