/* Shared submit state: consistent feedback for native and AJAX forms. */
button[data-submit-loading="true"],
input[data-submit-loading="true"] {
    cursor: wait !important;
    opacity: .78;
}

button[data-submit-loading="true"] {
    pointer-events: none;
}

.submit-loading-content {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
}

.submit-loading-icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    flex: 0 0 1em;
    border: .14em solid currentColor;
    border-inline-end-color: transparent;
    border-radius: 999px;
    vertical-align: -.12em;
    animation: kelava-submit-spin .7s linear infinite;
}

@keyframes kelava-submit-spin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .submit-loading-icon { animation-duration: 1.5s; }
}
