.layout-preloader-container {
  width: 100%;
  min-height: 100%;
  background-color: var(--primary-color);
  position: absolute;
  top: 0;
  left: 0;
}

.layout-preloader-content {
  position: absolute;
  top: 50%;
  left: 50%;
  /* on remplace les margins fixes par un translate pour un vrai centering */
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* logo au-dessus du spinner */
.layout-preloader-logo {
  width: 80px;           /* ajustez selon la taille de votre logo */
  height: auto;
  margin-bottom: 1rem;   /* espace sous le logo */
}

.layout-preloader {
  animation: rotator 1.4s linear infinite;
}

@keyframes rotator {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(270deg); }
}

.layout-preloader-path {
  stroke-dasharray: 187;
  stroke-dashoffset: 0;
  transform-origin: center;
  animation:
    dash    1.4s ease-in-out infinite,
    colors  5.6s ease-in-out infinite;
}

@keyframes colors {
  0%   { stroke: #4285F4; }
  25%  { stroke: #DE3E35; }
  50%  { stroke: #F7C223; }
  75%  { stroke: #1B9A59; }
  100% { stroke: #4285F4; }
}

@keyframes dash {
  0%   { stroke-dashoffset: 187; }
  50%  {
    stroke-dashoffset: 93.5;
    transform: rotate(135deg);
  }
  100% {
    stroke-dashoffset: 187;
    transform: rotate(450deg);
  }
}
