html, body {
  height: 100%;
}

body {
  padding-top: 70px;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

main {
  flex: 1 0 auto;
}

footer {
  margin-top: auto;
}

.w-20{
    width: 20%;
}

.circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  font-size: 1.8rem;
  border: 2px solid;
  position: relative;
}

/* Pour les numéros non top : couleur grise avec opacité dynamique */
.circle.normal {
  color: #fff;
}

/* Pour les numéros top (5 principaux) : couleur success */
.circle.top {
  background-color: rgba(40, 167, 69, 0.8);
  border-color: rgba(40, 167, 69, 0.8);
  color: #fff;
}
.carousel-item {
  height: 60vh;
  min-height: 300px;
  background-size: cover;
}
/* Couleurs de fond pour chaque slide en attendant les images */
.slide-1 { background-color: #007bff; }
.slide-2 { background-color: #28a745; }
.slide-3 { background-color: #ffc107; }
/* Placeholder circulaire pour les photos des témoignages */
.testimonial-img {
  width: 100px;
  height: 100px;
  background-color: #ccc;
  border-radius: 50%;
  margin: 0 auto 15px auto;
}

.material-symbols-rounded {
  font-variation-settings:
  'FILL' 0,
  'wght' 300,
  'GRAD' 200,
  'opsz' 20
}
.material-symbols-rounded.icon-light {
  font-variation-settings:
  'FILL' 0,
  'wght' 100,
  'GRAD' 200,
  'opsz' 20
}

.material-symbols-rounded.icon-fill {
  font-variation-settings:
  'FILL' 1,
  'wght' 300,
  'GRAD' 200,
  'opsz' 20
}


.section-image {
  max-width: 100%;
  height: auto;
  margin-bottom: 20px;
}
.section-title {
  margin-top: 40px;
  margin-bottom: 20px;
}
.et-ca-marche {
  background-color: #f8f9fa;
  padding: 30px;
  border-radius: 5px;
  margin-top: 40px;
}
/* Style pour la section des compteurs animés */
.keyfigures {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 50px 0;
}
.keyfigure {
  flex: 0 0 250px;
  margin: 20px;
  text-align: center;
}
.keyfigure h3 {
  margin-top: 15px;
  font-size: 1.2rem;
}
.counter {
  font-size: 3rem;
  color: #007bff;
}

/* Pour les numéros Chance */
.circle.chance {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    font-size: 1.8rem;
    border: 2px solid;
    position: relative;
}

/* Pour le numéro Chance top */
.circle.chance.top {
  border: 2px solid rgba(40, 167, 69, 0.8);
  background-color: rgba(40, 167, 69, 0.8);
  color: #fff;
}

/* Pastille verte pour les meilleurs non retenus */
.badge-marker {
  position: absolute;
  top: -5px;
  right: -5px;
  background: #28a745;
  color: #fff;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  line-height: 20px;
  font-size: 0.9rem;
}

/* Légende */
.legend {
  margin-top: 20px;
  font-size: 1.2rem;
}

.legend span {
  display: inline-block;
  margin-right: 20px;
}
