/* assets/css/components/_loader.css
 * Global full-screen loader (assets/js/core/loader.js) — blocks the whole
 * screen for any "please wait" state. Loaded on every page.
 */
.pivot-loader {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(252, 248, 243, 0.72);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  opacity: 0;
  transition: opacity 0.18s ease;
  cursor: progress;
}

.pivot-loader[hidden] { display: none; }
.pivot-loader.is-visible { opacity: 1; }

.pivot-loader__box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  min-width: 180px;
  padding: 28px 36px;
  border-radius: 24px;
  background: #FFFFFF;
  box-shadow: 0 16px 40px rgba(0, 0, 128, 0.12);
  text-align: center;
  direction: rtl;
}

.pivot-loader__spinner {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 4px solid rgba(0, 0, 128, 0.12);
  border-top-color: #C22DAF;
  border-right-color: #000080;
  animation: pivot-loader-spin 0.8s linear infinite;
}

.pivot-loader__text {
  font-family: 'Fredoka', var(--font-main, sans-serif);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  color: #000080;
}

body.is-loading-screen { overflow: hidden; }

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

@media (prefers-reduced-motion: reduce) {
  .pivot-loader { transition: none; }
  .pivot-loader__spinner { animation-duration: 2.4s; }
}
