.moeen-page-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 18% 14%, rgba(242, 75, 75, 0.12), transparent 34%),
    radial-gradient(circle at 82% 16%, rgba(14, 138, 114, 0.14), transparent 38%),
    rgba(243, 240, 237, 0.92);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 220ms ease, visibility 220ms ease;
}

.moeen-page-loader.show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.moeen-loader-mark {
  width: clamp(86px, 14vw, 138px);
  height: clamp(86px, 14vw, 138px);
  object-fit: contain;
  animation: moeenLoaderSpin 1.55s linear infinite;
  filter: drop-shadow(0 16px 24px rgba(18, 18, 18, 0.14));
}

@keyframes moeenLoaderSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

html.moeen-motion-off .moeen-loader-mark {
  animation: none;
}

@media (prefers-reduced-motion: reduce) {
  .moeen-loader-mark {
    animation: none;
  }
}
