/* =========================================================================
   Loader homepage — Πάτερ ἡμῶν → Notre Père → trait → fade out
   ========================================================================= */

.np-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: var(--np-cream);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  /* Fade out déclenché par .np-loader--out */
  opacity: 1;
  transition: opacity 700ms ease;
}
.np-loader--out { opacity: 0; }

.np-loader__inner {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.np-loader__greek {
  font-family: var(--font-greek);
  font-style: normal;
  font-weight: 400;
  font-size: clamp(3rem, 9vw, 7rem);
  line-height: 1.05;
  letter-spacing: -0.01em;
  color: var(--np-ink);
  margin: 0;
  opacity: 0;
  transform: scale(0.96);
  animation: np-loader-greek 600ms ease-out 200ms forwards;
}

.np-loader__french {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(1.4rem, 3vw, 2.2rem);
  line-height: 1.1;
  color: var(--np-ink-soft);
  margin: 0;
  opacity: 0;
  transform: translateY(8px);
  animation: np-loader-french 500ms ease-out 900ms forwards;
}

.np-loader__line {
  display: block;
  height: 2px;
  width: 0;
  background: var(--np-accent);
  margin-block-start: var(--space-3);
  animation: np-loader-line 350ms ease-out 1400ms forwards;
}

@keyframes np-loader-greek {
  to { opacity: 1; transform: scale(1); }
}
@keyframes np-loader-french {
  to { opacity: 1; transform: translateY(0); }
}
@keyframes np-loader-line {
  to { width: 72px; }
}

/* Reduced-motion : afficher tout instantanément, sortir vite. */
@media (prefers-reduced-motion: reduce) {
  .np-loader__greek,
  .np-loader__french { opacity: 1; transform: none; animation: none; }
  .np-loader__line   { width: 72px; animation: none; }
}
