/* Submit Button Protection Styles */

/* QUANTUM-DEV: CSS custom properties instead of magic numbers */
:root {
    --spinner-margin-left: 0.5rem;
    /* 8px equivalent */
    --spinner-size: 1rem;
    /* 16px equivalent */
    --disabled-opacity: 0.7;
}

.loading-spinner {
    animation: spin 1s linear infinite;
    margin-left: var(--spinner-margin-left);
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

button[type="submit"]:disabled {
    cursor: not-allowed;
    opacity: var(--disabled-opacity);
}

button[type="submit"].loading {
    position: relative;
}

button[type="submit"].loading .loading-spinner {
    display: inline-block !important;
}