/* Action feedback shared by storefront cards, comparisons and product pages. */
.mlwb-action-pending:disabled {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    background: #e2e8f0 !important;
    color: #334155 !important;
    opacity: 1 !important;
    cursor: wait;
}
.mlwb-action-spinner {
    display: inline-block;
    width: 1em;
    height: 1em;
    flex: 0 0 auto;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: mlwb-action-spin .8s linear infinite;
}
button.mlwb-payment-pending {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    background: #e2e8f0 !important;
    color: #334155 !important;
    cursor: wait;
}
.mlwb-payment-progress { color: #334155; font-size: .875rem; margin-top: .75rem; }
.mlwb-payment-progress[hidden] { display: none; }
/* Keep WooCommerce's payment blocking overlay, with one animated loader in
   the order summary during review updates rather than one in each section. */
form.checkout:not(.processing) .woocommerce-checkout-payment .blockUI.blockOverlay::before {
    display: none !important;
}
.mlwb-toast.mlwb-toast--error { border-color: #b42318; }
.mlwb-toast--error .mlwb-toast-icon { background: #fee4e2; color: #b42318; }
.mlwb-toast--error .mlwb-toast-eyebrow { color: #b42318; }
.mlwb-toast-retry, .mlwb-quote-retry {
    border: 1px solid currentColor;
    border-radius: .4rem;
    padding: .4rem .7rem;
    margin-top: .5rem;
    background: white;
    color: #123e6b;
    font: inherit;
    cursor: pointer;
}
.mlwb-toast-retry:focus-visible, .mlwb-quote-retry:focus-visible {
    outline: 2px solid #123e6b;
    outline-offset: 3px;
}
@keyframes mlwb-action-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .mlwb-action-spinner { animation: none; }
}
