
    
/* ========= LOADER ========= */
#global-loader {
  position: fixed !important;
  top: 0; left: 0;
  width: 100vw;
  height: 100vh;
  background: var(--bg);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99999;
  opacity: 0;
  transition: var(--transition);
}

#global-loader.fade-in  { opacity: 1; }
#global-loader.fade-out { opacity: 0; }

.spinner-container {
  position: relative;
  width: 25vw;
  height: 25vw;
  max-width: 120px;
  max-height: 120px;
  margin: 0 auto;
}

.logo-centre {
  position: absolute;
  top: 50%; left: 50%;
  width: 90%; height: 90%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.spinner-anneau {
  position: absolute;
  top: 50%; left: 50%;
  width: 100%; height: 100%;
  border: 4px solid var(--accent);
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 1.2s linear infinite;
  transform: translate(-50%, -50%);
  z-index: 1;
}

@keyframes spin {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

.loader-message {
  margin-top: 1.2rem;
  font-size: 1rem;
  color:  var(--color-text);
}

.loader-wrapper {
  text-align: center;
  margin-top: -80px;
}


/* ========= MINI LOADER (pour toaster) ========= */
/* 🔄 Mini spinner pour toasts (fixe, ne bouge pas) */
.mini-spinner {
  display: inline-block;
  width:20px;
  height: 20px;
  margin-right: 8px;
  border: 2px solid white;
  border-top-color: transparent;
  border-radius: 50%;
  vertical-align: middle;
  animation: spin-mini 0.8s linear infinite;
}

/* 🔧 Animation sans translate (contrairement au spin global) */
@keyframes spin-mini {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}