.loading-dots {
  --sk-size: 100%;
  --sk-color: currentColor;
  position: absolute;
  display: block;
  width: 24px;
  height: 24px;
  margin: 0;
  padding: 0;
  pointer-events: none;
  z-index: 2;
  transform: translate(-50%, -50%);
  color: #555;
}
.loading-dots[hidden] { display: none !important; }
.loading-dots--inline { position: relative; display: inline-block; vertical-align: middle; margin: 0 8px; transform: none; }
[data-product-qr-frame][aria-busy="true"] [data-product-qr-loading] { visibility: hidden; }
.loading-dots > .sk-chase { display: block; will-change: transform; }
.loading-dots__label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.loading-dots--field { width: 16px; height: 16px; }
.loading-dots-control { color: transparent !important; text-shadow: none !important; }
.loading-dots-control > :not(.loading-dots) { visibility: hidden !important; }
.loading-dots-control > .loading-dots { visibility: visible; }
[data-infinite-scroll-sentinel][aria-busy="true"] { min-height: 32px; min-width: 32px; }
@media (prefers-reduced-motion: reduce) {
  .loading-dots > .sk-chase { animation-duration: 5s; }
  .loading-dots .sk-chase-dot { animation: none; transform: rotate(calc(var(--dot) * 60deg)); }
  .loading-dots .sk-chase-dot::before { animation: none; width: 18%; height: 18%; opacity: calc(1 - var(--dot) * .13); }
}
@media print { .loading-dots { display: none !important; } }
