/* Generic loading state */
.single_add_to_cart_button.is-adding,
.single_add_to_cart_button[aria-busy="true"] {
  opacity: .85;
  pointer-events: none;
  position: relative;
}

/* Spinner on the right of the label (no layout shift) */
.single_add_to_cart_button.is-adding::after,
.single_add_to_cart_button[aria-busy="true"]::after {
  content: "";
  width: 1em;
  height: 1em;
  border: .18em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: eva-spin .6s linear infinite;
  position: absolute;
  right: 0.9rem; /* adjust to your padding */
  top: 50%;
  transform: translateY(-50%);
}

@keyframes eva-spin { to { transform: translateY(-50%) rotate(360deg); } }

/* Optional: change label weight slightly during loading */
.single_add_to_cart_button.is-adding span,
.single_add_to_cart_button[aria-busy="true"] span {
  filter: saturate(0.9);
}

