/**
 * Acme primary-button busy state — spinner + press feedback (ATC, login, register, checkout).
 */
.acme-cart-drawer__btn-secondary.is-busy,
.acme-cart-drawer__btn-primary.is-busy {
    position: relative;
    pointer-events: none;
    opacity: 0.88;
}

.acme-cart-drawer__btn-secondary.is-busy,
.acme-cart-drawer__btn-primary.is-busy {
    color: transparent !important;
}

.acme-cart-drawer__btn-secondary.is-busy svg,
.acme-cart-drawer__btn-primary.is-busy svg {
    opacity: 0;
}

.acme-pdp__atc,
.acme-login__submit,
.acme-register__submit,
.acme-checkout__submit,
.acme-co-btn--submit,
button[type="submit"].primary,
button.action.primary.tocart {
    position: relative;
    transition: transform 0.12s ease, opacity 0.12s ease, box-shadow 0.12s ease;
}

.acme-pdp__atc:active:not(:disabled),
.acme-login__submit:active:not(:disabled),
.acme-register__submit:active:not(:disabled),
.acme-checkout__submit:active:not(:disabled) {
    transform: scale(0.98);
}

.acme-pdp__atc.is-busy,
.acme-login__submit.is-busy,
.acme-register__submit.is-busy,
.acme-checkout__submit.is-busy,
.acme-co-btn--submit.is-busy,
button[type="submit"].primary.is-busy,
button.action.primary.tocart.is-busy,
.acme-cart-drawer__btn-secondary.is-busy {
    pointer-events: none;
    opacity: 0.88;
}

.acme-pdp__atc.is-busy > span,
.acme-login__submit.is-busy > span,
.acme-register__submit.is-busy > span,
.acme-checkout__submit.is-busy > span:not([x-cloak]) {
    visibility: hidden;
}

.acme-pdp__atc.is-busy::after,
.acme-login__submit.is-busy::after,
.acme-register__submit.is-busy::after,
.acme-checkout__submit.is-busy::after,
.acme-co-btn--submit.is-busy::after,
button[type="submit"].primary.is-busy::after,
button.action.primary.tocart.is-busy::after,
.acme-cart-drawer__btn-secondary.is-busy::after {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    animation: acme-btn-spin 0.65s linear infinite;
}

@keyframes acme-btn-spin {
    to {
        transform: rotate(360deg);
    }
}
