/**
 * Pyramide Technologies - Universal Form Loading State
 */

@keyframes pyramideSpinnerRotate {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.pyramide-btn-spinner {
    display: inline-block;
    width: 1.05em;
    height: 1.05em;
    vertical-align: -0.15em;
    border: 2.2px solid currentColor;
    border-right-color: transparent !important;
    border-radius: 50%;
    animation: pyramideSpinnerRotate 0.65s linear infinite;
    margin-right: 0.5rem;
    box-sizing: border-box;
}

.pyramide-btn-spinner.no-margin {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* Button loading state */
.btn-loading,
button[aria-busy="true"],
input[type="submit"][aria-busy="true"] {
    cursor: wait !important;
    pointer-events: none !important;
    opacity: 0.88 !important;
    user-select: none !important;
}

/* Form submission state */
form.form-submitting {
    pointer-events: none;
}

form.form-submitting .form-control,
form.form-submitting .form-select,
form.form-submitting textarea {
    cursor: wait;
}
