/* Pamook button loading — scoped to .pamook-btn-loading only.
   Aligns with page-loader / progress orange tokens; does not alter other disabled buttons. */

.pamook-btn-loading {
    --pbl-spinner-track: rgba(255, 255, 255, 0.35);
    --pbl-spinner-accent: var(--orange, #f47b3b);
    --pbl-success-bg: #007bff;
}

.pamook-btn-loading__spinner {
    box-sizing: border-box;
    display: none;
    flex-shrink: 0;
    width: 0.875rem;
    height: 0.875rem;
    border: 2px solid var(--pbl-spinner-track);
    border-top-color: var(--pbl-spinner-accent);
    border-radius: 50%;
    vertical-align: middle;
    animation: pamook-btn-loading-spin 0.75s linear infinite;
    will-change: transform;
}

.pamook-btn-loading .pamook-btn-loading__spinner {
    display: inline-block;
}

.pamook-btn-loading__label {
    display: inline;
}

/* Keep Pamook/admin success color while loading — override LayoutAdmin .btn:disabled grey */
.btn.btn-success.pamook-btn-loading:disabled,
button.btn-success.pamook-btn-loading:disabled {
    background-color: var(--pbl-success-bg) !important;
    opacity: 0.92;
    cursor: wait;
    color: #fff;
}

.btn.pamook-btn-loading:disabled:not(.btn-success),
button.pamook-btn-loading:disabled:not(.btn-success) {
    opacity: 0.92;
    cursor: wait;
}

@keyframes pamook-btn-loading-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .pamook-btn-loading__spinner {
        animation: none;
        border-top-color: var(--pbl-spinner-accent);
        opacity: 0.9;
    }
}
