button:not(:disabled),
input[type="button"]:not(:disabled),
input[type="submit"]:not(:disabled),
input[type="reset"]:not(:disabled),
a[role="button"]:not([aria-disabled="true"]),
.btn:not(:disabled),
.cursor-pointer {
  cursor: pointer;
}

button:disabled,
input[type="button"]:disabled,
input[type="submit"]:disabled,
input[type="reset"]:disabled,
[aria-disabled="true"] {
  cursor: not-allowed;
}

.is-processing {
  opacity: 0.78;
  pointer-events: none;
}

.processing-spinner {
  width: 1em;
  height: 1em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 9999px;
  display: inline-block;
  flex: 0 0 auto;
  animation: processing-spin 0.65s linear infinite;
}

button .processing-spinner,
a .processing-spinner {
  margin-right: 0.45rem;
}

@keyframes processing-spin {
  to {
    transform: rotate(360deg);
  }
}
