.progress-container {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}
.progress-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative; /* nécessaire pour positionner le texte */
}

.circle {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #eee;
  border: 2px solid #7c3aed;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.circle.active {
  background: #7c3aed;
  color: #fff;
  animation: pop 0.5s;
}
.check-icon {
  font-size: 1.1em;
  animation: checkAnim 0.7s;
}
@keyframes pop {
  0% { transform: scale(0.5);}
  80% { transform: scale(1.2);}
  100% { transform: scale(1);}
}
@keyframes checkAnim {
  0% { transform: scale(0);}
  80% { transform: scale(1.3);}
  100% { transform: scale(1);}
}
.progress-bar {
  width: 80px;
  height: 6px;
  background: #eee;
  position: relative;
  overflow: hidden;
}

.progress-bar.one {
  background: #7c3aed;
  transition: width 0.5s;
}

.step-label {
  position: absolute;
  top: 100%; /* juste sous le cercle */
  left: 50%;
  transform: translateX(-50%);
  margin-top: 2px; /* très petit espace */
  font-size: 0.95em;
  text-align: center;
  white-space: nowrap;
  font-size: 12px;
  font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
}