/* ── UIXCORE Preloader — Frontend Overlay v1.1.0 ── */

#uixcore-preloader {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  /* transition injected by JS with user's fade duration */
  will-change: opacity, transform;
}

/* The JS adds inline transition then this class */
#uixcore-preloader.uix-fading {
  opacity: 0;
}

/* Motion modifiers combined with opacity fade */
#uixcore-preloader.uix-exit-slideUp   { transform: translateY(-80px); }
#uixcore-preloader.uix-exit-slideDown { transform: translateY(80px); }
#uixcore-preloader.uix-exit-zoom      { transform: scale(1.12); }
#uixcore-preloader.uix-exit-flip      { transform: perspective(900px) rotateX(70deg); }

#uixcore-preloader.uix-done {
  display: none;
}

/* Image sizing comes from inline style (width set by PHP/JS) */
.uixcore-preloader-img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Default spinner (no image) */
.uixcore-spinner { position: relative; width: 64px; height: 64px; }
.uixcore-ring {
  position: absolute; inset: 0;
  border: 2.5px solid transparent;
  border-top-color: #7c3aed;
  border-radius: 50%;
  animation: uixcoreSpin 1.2s linear infinite;
}
.uixcore-ring-2 {
  inset: 10px;
  border-top-color: #06b6d4;
  animation-direction: reverse;
  animation-duration: .9s;
}
@keyframes uixcoreSpin { to { transform: rotate(360deg); } }
