.moto-loading-mask {
  position: absolute;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 3rem;
  color: #005eb1;
  pointer-events: auto;
}

.moto-loading-mask--fullscreen {
  position: fixed;
  z-index: 5000;
}

.moto-loading__content {
  display: flex;
  max-width: min(90vw, 28rem);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1rem;
  text-align: center;
}

.moto-loading__spinner {
  display: inline-flex;
  width: 2.75rem;
  height: 2.75rem;
  align-items: center;
  justify-content: center;
}

.moto-loading__spinner svg {
  display: block;
  width: 100%;
  height: 100%;
  animation: moto-loading-spin 0.9s linear infinite;
}

.moto-loading__text {
  margin: 0;
  color: currentColor;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

@keyframes moto-loading-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 899px) {
  .moto-loading__content {
    gap: 0.625rem;
    padding: 0.875rem;
  }
}

@media (max-width: 599px) {
  .moto-loading__content {
    max-width: calc(100vw - 2rem);
  }

  .moto-loading__spinner {
    width: 2.5rem;
    height: 2.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .moto-loading__spinner svg {
    animation-duration: 1.8s;
  }
}
