.khlassement-pagination {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
  font-family: inherit;
}

.khlassement-pagination a {
  padding: 6px 12px;
  background: #e9e9e9;
  color: #181818!important;
  border-radius: 5px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.2s ease-in-out;
  min-width: 32px;
  text-align: center;
}

.khlassement-pagination a:hover {
  background: #ccc;
}

.khlassement-pagination a.active {
  background: #181818;
  color: #e9e9e9!important;
  cursor: default;
  pointer-events: none;
}

.khlassement-pagination a.prev,
.khlassement-pagination a.next {
  background: #ddd;
  font-size: 16px;
}

.khlassement-pagination .dots {
  padding: 6px 8px;
  font-weight: bold;
  font-size: 16px;
}


.loader-meche-ultimate {
  width: 60px;
  margin: 40px auto;
}

.loader-meche-ultimate svg {
  width: 100%;
  height: auto;
}

/* TRAÇAGE */
.meche-trace {
  fill: none;
  stroke: #8e44ad;
  stroke-width: 1.8;
  stroke-dasharray: 400;
  stroke-dashoffset: 400;
  animation: traceLine 1.5s ease-out forwards;
}

/* REMPLISSAGE (démarre après le tracé) */
.meche-fill {
  fill: #8e44ad;
  animation: fillUp 1.4s ease-out forwards;
  animation-delay: 1.5s;
}

/* PULSATION continue */
.loader-meche-ultimate svg {
  animation: pulseGlow 1.8s ease-in-out 3s infinite;
}

@keyframes traceLine {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes fillUp {
  0% {
    y: 24;
    height: 0;
  }
  100% {
    y: 0;
    height: 24;
  }
}

@keyframes pulseGlow {
  0%, 100% {
    filter: drop-shadow(0 0 0px #8e44ad);
    transform: scale(1);
  }
  50% {
    filter: drop-shadow(0 0 4px #d0a4ff);
    transform: scale(1.04);
  }
}
