.button-pending {
  position: relative;
  cursor: progress;
}

.button-pending > .button-pending-label {
  opacity: 0;
}

.button-pending::after {
  position: absolute;
  inset: 0;
  width: 1em;
  height: 1em;
  margin: auto;
  border: 2px solid currentColor;
  border-inline-end-color: transparent;
  border-radius: 50%;
  pointer-events: none;
  content: "";
  animation: button-spinner-rotate 0.7s linear infinite;
}

@keyframes button-spinner-rotate {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .button-pending::after {
    animation: none;
  }
}
