/* Fullscreen overlay */
.agp-preloader {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  background: var(--agp-bg, rgba(255,255,255,1));
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 280ms ease, visibility 0ms linear 0ms;
}

.agp-preloader.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 280ms ease, visibility 0ms linear 280ms;
}

.agp-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 16px;
  text-align: center;
}

.agp-logo {
  max-width: 240px;
  height: auto;
  display: block;
}

.agp-spinner {
  width: 64px;
  height: 64px;
  display: block;
  animation: agp-spin var(--agp-spin, 1.2s) linear infinite;
  transform-origin: 50% 50%;
}

.agp-default-spinner {
  width: 64px;
  height: 64px;
  border-radius: 999px;
  border: 6px solid rgba(0,0,0,.14);
  border-top-color: rgba(0,0,0,.55);
  animation: agp-spin var(--agp-spin, 1.2s) linear infinite;
  box-sizing: border-box;
}

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

/* Accessibility / optional scroll lock hook */
html.agp-preloader-on,
html.agp-preloader-on body {
  /* Если хочешь блокировать скролл — раскомментируй:
  overflow: hidden;
  */
}