/* Shared submit feedback for regular and async CRM forms. */

form[aria-busy="true"] {
  cursor:progress;
}

.btn.is-loading {
  gap:var(--s-2);
  cursor:progress;
}

.btn.is-loading::before {
  content:"";
  width:16px;
  height:16px;
  flex:0 0 auto;
  border:2px solid currentColor;
  border-right-color:transparent;
  border-radius:50%;
  animation:
    form-spinner 700ms linear infinite,
    form-spinner-enter 140ms var(--ease) both;
}

@keyframes form-spinner {
  to { transform:rotate(1turn); }
}

@keyframes form-spinner-enter {
  from { opacity:0; }
  to { opacity:1; }
}

@media (prefers-reduced-motion:reduce) {
  .btn.is-loading::before {
    animation-duration:.01ms !important;
  }
}
