/* Loader circulaire */
.loader .spinner {
  width: 20px;
  height: 20px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-top: 2px solid white;
  border-radius: 50%;

  margin: 0;

  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
    opacity: 1;
  }
  50% {
    transform: rotate(180deg);
    opacity: 0.4;
  }
  100% {
    transform: rotate(360deg);
    opacity: 1;
  }
}

.loader .illustration {
  width: 100%;
  height: 300px;
  margin: 0 auto 40px auto;
}

.loader .row {
  display: flex;
  align-items: center;   /* centre verticalement */
  justify-content: center; /* centre horizontalement */
  gap: 12px; /* espace entre spinner et texte */
  margin-bottom: 20px;
}