.loading__spinner{
  position:absolute;
  z-index:1;
  width:1.8rem;
  display:inline-block;
}

.spinner{animation:rotator 1.2s linear infinite}
@keyframes rotator{to{transform:rotate(270deg)}}

.path{
  stroke-dasharray:280;
  stroke-dashoffset:0;
  transform-origin:center;
  stroke:rgb(var(--color-foreground));
  animation:dash 1.2s ease-in-out infinite
}
@keyframes dash{
  0%{stroke-dashoffset:280}
  50%{stroke-dashoffset:75;transform:rotate(135deg)}
  100%{stroke-dashoffset:280;transform:rotate(450deg)}
}

@media (forced-colors:active){.path{stroke:CanvasText}}

@media (prefers-reduced-motion:reduce){
  .spinner,.path{animation:none}
}

.loading__spinner:not(.hidden)+.cart-item__price-wrapper,
.loading__spinner:not(.hidden)~cart-remove-button{opacity:.5}
.loading__spinner:not(.hidden)~cart-remove-button{pointer-events:none;cursor:default}
