/*******************
Preloader & Spinner Wrapper
********************/
.preloader,
.gp-spinner-wrapper {
  width: 100vw !important;
  height: 100vh !important;
  top: 0 !important;
  left: 0 !important;
  position: fixed !important;
  z-index: 100000 !important;
  background: rgba(
    255,
    255,
    255,
    0.05
  ) !important; /* Extremely light overlay */
  display: flex;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none;
}

/* Ensure sub-elements don't inherit pointer-events: none if we want interaction (optional) */
.spinner,
.loader__label {
  pointer-events: auto;
}

/* High-Performance Spinner - Uses standard borders instead of masks/gradients */
.spinner {
  width: 60px;
  height: 60px;
  position: relative;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.loader {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  border: 4px solid rgba(174, 86, 206, 0.1) !important;
  border-top-color: var(--nav-accent, #ae56ce) !important;
  animation: spin 0.8s infinite linear !important;
  display: block !important;
  position: static !important;
}

.loader__label {
  margin: 25px 0 0 0 !important;
  padding: 0 !important;
  width: auto !important;
  display: block !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: 2.5px !important;
  color: var(--nav-accent, #ae56ce) !important;
  text-transform: uppercase !important;
  animation: loader-pulse 2s infinite ease-in-out !important;
  float: none !important;
  position: static !important;
}

@keyframes loader-pulse {
  0%,
  100% {
    opacity: 0.6;
    transform: scale(0.98);
  }
  50% {
    opacity: 1;
    transform: scale(1.02);
  }
}

@keyframes spin {
  to {
    transform: rotate(1turn);
  }
}
