/* ═══════════════════════════════════════════════════════════
   هشت — لودینگ: فقط لوگوی بزرگ + حلقه و نور برند
   ═══════════════════════════════════════════════════════════ */

.loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  background: var(--bg);
  transition:
    opacity 0.7s var(--ease-out),
    visibility 0.7s,
    background-color var(--theme-dur) var(--ease-out);
}

.loader.is-done {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.loader__inner {
  display: grid;
  place-items: center;
  perspective: 1100px;
}

.loader__logo-wrap {
  position: relative;
  width: clamp(10rem, 32vw, 16rem);
  height: clamp(10rem, 32vw, 16rem);
  display: grid;
  place-items: center;
}

/* نور پشت لوگو — شدت و رنگ برند */
.loader__halo {
  position: absolute;
  inset: -42%;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(240, 86, 61, 0.5) 0%, transparent 68%);
  animation: loader-halo 3.6s ease-in-out infinite;
}

/* حلقهٔ چرخشی دور لوگو — رنگ چرخان برند */
.loader__ring {
  position: absolute;
  inset: -10%;
  border-radius: 50%;
  border: 2.5px solid transparent;
  border-top-color: var(--c-spark);
  border-inline-end-color: transparent;
  animation:
    loader-spin 1.15s linear infinite,
    loader-ring-color 3.6s ease-in-out infinite;
  pointer-events: none;
}

.loader__ring::after {
  content: "";
  position: absolute;
  inset: 8%;
  border-radius: 50%;
  border: 1.5px solid transparent;
  border-bottom-color: currentColor;
  opacity: 0.45;
  animation: loader-spin 1.8s linear infinite reverse;
}

.loader__logo {
  position: relative;
  z-index: 1;
  width: 78%;
  height: 78%;
  object-fit: contain;
  filter: drop-shadow(0 0 1.25rem rgba(240,180,41,.58)) drop-shadow(0 .5rem 1.5rem rgba(0,0,0,.35));
  transform-style: preserve-3d;
  backface-visibility: visible;
  animation: loader-logo-3d 1.8s cubic-bezier(.4,0,.2,1) infinite;
}

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

@keyframes loader-ring-color {
  0%,
  100% {
    border-top-color: #f0563d;
    color: #f0563d;
  }
  33% {
    border-top-color: #16b583;
    color: #16b583;
  }
  66% {
    border-top-color: #f0b429;
    color: #f0b429;
  }
}

@keyframes loader-halo {
  0%,
  100% {
    opacity: 0.35;
    transform: scale(0.82);
    background: radial-gradient(circle, rgba(240, 86, 61, 0.48) 0%, transparent 70%);
  }
  33% {
    opacity: 0.95;
    transform: scale(1.18);
    background: radial-gradient(circle, rgba(22, 181, 131, 0.48) 0%, transparent 70%);
  }
  66% {
    opacity: 0.7;
    transform: scale(1.05);
    background: radial-gradient(circle, rgba(240, 180, 41, 0.52) 0%, transparent 70%);
  }
}

body.is-loading {
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .loader__ring,
  .loader__ring::after,
  .loader__halo,
  .loader__logo {
    animation: none;
  }

  .loader__ring {
    border-top-color: var(--c-gold);
  }

  .loader__halo {
    opacity: 0.65;
    background: radial-gradient(circle, rgba(240, 180, 41, 0.4) 0%, transparent 70%);
  }
}
.loader__logo{width:auto!important;height:10rem!important;object-fit:contain;object-position:center}

@keyframes loader-logo-3d {
  0% { transform: rotateY(0deg) rotateX(4deg) scale(.92); filter: drop-shadow(0 0 .7rem rgba(240,180,41,.3)) drop-shadow(0 .5rem 1.5rem rgba(0,0,0,.3)); }
  50% { transform: rotateY(180deg) rotateX(-4deg) scale(1.04); filter: drop-shadow(0 0 2rem rgba(240,180,41,.8)) drop-shadow(0 0 1rem rgba(240,86,61,.28)); }
  100% { transform: rotateY(360deg) rotateX(4deg) scale(.92); filter: drop-shadow(0 0 .7rem rgba(240,180,41,.3)) drop-shadow(0 .5rem 1.5rem rgba(0,0,0,.3)); }
}
