/* ==================== لودر تمام‌صفحه ==================== */
.page-loader {
  position: fixed;
  inset: 0;
  z-index: 99999; /* بالاتر از مودال‌ها (11000 و 12000) */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 34px;
  background: rgba(7, 17, 31, 0.93);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.35s ease,
    visibility 0.35s ease;
}

body.light-theme .page-loader {
  background: rgba(245, 247, 251, 0.93);
}

body.light-theme .page-loader-text {
  color: var(--muted);
}

.page-loader.show {
  opacity: 1;
  visibility: visible;
}

body.loader-open {
  overflow: hidden;
}

.page-loader .loader {
  font-size: 1.5rem; /* اندازه لودر با این کم/زیاد میشه */
}

.page-loader-text {
  color: var(--muted);
  font-weight: 700;
  font-size: 0.95rem;
}

.loader {
  position: relative;
  width: 2.5em;
  height: 2.5em;
  transform: rotate(165deg);
}

.loader:before,
.loader:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 0.5em;
  height: 0.5em;
  border-radius: 0.25em;
  transform: translate(-50%, -50%);
}

.loader:before {
  animation: before8 2s infinite;
}

.loader:after {
  animation: after6 2s infinite;
}
@keyframes before8 {
  0% {
    width: 0.5em;
    box-shadow:
      1em -0.5em rgba(246, 184, 0, 0.75),
      -1em 0.5em rgba(255, 122, 26, 0.75);
  }
  35% {
    width: 2.5em;
    box-shadow:
      0 -0.5em rgba(246, 184, 0, 0.75),
      0 0.5em rgba(255, 122, 26, 0.75);
  }
  70% {
    width: 0.5em;
    box-shadow:
      -1em -0.5em rgba(246, 184, 0, 0.75),
      1em 0.5em rgba(255, 122, 26, 0.75);
  }
  100% {
    box-shadow:
      1em -0.5em rgba(246, 184, 0, 0.75),
      -1em 0.5em rgba(255, 122, 26, 0.75);
  }
}
@keyframes after6 {
  0% {
    height: 0.5em;
    box-shadow:
      0.5em 1em rgba(251, 191, 36, 0.75),
      -0.5em -1em rgba(249, 115, 22, 0.75);
  }
  35% {
    height: 2.5em;
    box-shadow:
      0.5em 0 rgba(251, 191, 36, 0.75),
      -0.5em 0 rgba(249, 115, 22, 0.75);
  }
  70% {
    height: 0.5em;
    box-shadow:
      0.5em -1em rgba(251, 191, 36, 0.75),
      -0.5em 1em rgba(249, 115, 22, 0.75);
  }
  100% {
    box-shadow:
      0.5em 1em rgba(251, 191, 36, 0.75),
      -0.5em -1em rgba(249, 115, 22, 0.75);
  }
}
