button[data-submission-locked], input[type="submit"][data-submission-locked] {
    position: relative;
    cursor: wait;
    opacity: 1;
    pointer-events: none;
}

button[data-submission-locked] {
    color: transparent !important;
}

button[data-submission-locked] > * {
    visibility: hidden;
}

button[data-submission-locked]::after {
    position: absolute;
    inset: 50% auto auto 50%;
    width: 1em;
    height: 1em;
    border: 2px solid rgb(185 159 129 / 35%);
    border-top-color: #b99f81;
    border-radius: 50%;
    background: none;
    content: "";
    transform: translate(-50%, -50%);
    animation: form-submit-spin .7s linear infinite;
}

@keyframes form-submit-spin {
    to { transform: translate(-50%, -50%) rotate(1turn); }
}

@media (prefers-reduced-motion: reduce) {
    button[data-submission-locked]::after { animation-duration: 1.4s; }
}
