/* ══════════════════════════════════════════
   QURTÈN — Preloader
   ══════════════════════════════════════════ */

.preloader {
  position: fixed;
  inset: 0;
  background-color: var(--clr-bg);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity var(--dur-slow) var(--ease-smooth),
              visibility var(--dur-slow) var(--ease-smooth);
}

.preloader--hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.preloader__inner {
  text-align: center;
}

.preloader__logo {
  font-family: var(--ff-display);
  font-size: clamp(2rem, 8vw, 3.5rem);
  font-weight: var(--fw-300);
  letter-spacing: 0.1em;
  color: var(--clr-text);
  margin-bottom: 1.5rem;
  opacity: 0;
  transform: translateY(15px);
  animation: preloaderLogoFade var(--dur-slow) var(--ease-out) forwards;
}

.preloader__bar {
  width: 120px;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.08);
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

.preloader__progress {
  position: absolute;
  height: 100%;
  width: 0;
  background-color: var(--clr-accent);
  left: 0;
  top: 0;
  animation: preloaderBar 1.5s var(--ease-in-out) infinite;
}

@keyframes preloaderLogoFade {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes preloaderBar {
  0% {
    width: 0;
    left: 0;
  }
  50% {
    width: 100%;
    left: 0;
  }
  100% {
    width: 0;
    left: 100%;
  }
}
