body {
      background: linear-gradient(135deg, #0a0a0a, #0d1b2a);
      color: white;
      font-family: 'Segoe UI', sans-serif;
    }
/* HEADER GLOBAL */
header.navbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  background: rgba(0,0,0,0.8);
  backdrop-filter: blur(10px);
  z-index: 1000;
}
header .logo {
  font-size: 1.8rem;
  font-weight: bold;
}
header .logo span:nth-child(1) { color:#00bfff; }
header .logo span:nth-child(2) { color:#ff2aa5; }

/* MENU PAR DEFAUT */
header nav {
  display: flex;
  gap: 20px;
}
header nav a {
  color: #fff;
  text-decoration: none;
  font-weight: 500;
}
header nav a:hover {
  color:#ff2aa5;
}

/* BOUTON BURGER (CACHE PAR DEFAUT) */
.burger {
  display: none;
  font-size: 2rem;
  color: #fff;
  cursor: pointer;
}

/* MODE MOBILE */
@media(max-width: 768px) {
  /* Le burger devient visible */
  .burger {
    display: block;
  }

  /* Le menu est caché par défaut */
  header nav {
    position: absolute;
    top: 60px;
    left: 0;
    width: 100%;
    background: rgba(0,0,0,0.95);
    flex-direction: column;
    text-align: center;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-in-out;
  }

  /* Quand on clique, on ouvre */
 header nav.show {
  max-height: 100vh;
  overflow-y: auto;
  }

  header nav a {
    display: block;
    padding: 15px 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
  }
}

/* BOUTON BURGER */
.burger {
  display: none;
  font-size: 1.8rem;
  color: #fff;
  cursor: pointer;
}

/* MOBILE */
@media(max-width: 768px) {
  .burger {
    display: block;
  }
  header nav {
    position: absolute;
    top: 70px;
    left: 0;
    width: 100%;
    background: rgba(0,0,0,0.9);
    flex-direction: column;
    text-align: center;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-in-out;
  }
  header nav.show {
    max-height: 300px; /* hauteur visible quand ouvert */
  }
  header nav a {
    padding: 15px 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
  }
}


    .navbar {
      background-color: #0a0a0a;
      padding: 15px 0;
    }
    .navbar-brand {
      color: #00bfff;
      font-weight: bold;
      font-size: 1.6rem;
    }
    .navbar-brand span {
      color: #ff2aa5;
    }
    .navbar-nav .nav-link {
      color: white;
      margin: 0 10px;
      font-weight: 500;
    }
    .navbar-nav .nav-link:hover {
      color: #00bfff;
    }

    /* HERO */

    .hero {
  min-height: 95vh; /* au lieu de 100vh */
  display: flex;
  flex-direction: column;
  justify-content: center; /* centre verticalement */
  align-items: center;
  padding-top: 60px; /* ajoute un peu d’air en haut */
}
.hero h1 {
  margin-bottom: 10px;
}
.hero p {
  margin-bottom: 20px;
}


   .hero-section {
  position: relative;
  height: 100vh; /* pleine hauteur d'écran */
  background: url('images/hero-min.webp') center/cover no-repeat; /* ton image générée */
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.hero-overlay {
  background: rgba(0,0,0,0.6); /* effet foncé pour la lisibilité */
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-content h1 {
  font-size: 3rem;
  font-weight: bold;
  color: #fff;
}

.hero-content h1 span {
  background: linear-gradient(45deg, #00bfff, #ff2aa5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.hero-content p {
  color: #ddd;
  font-size: 1.2rem;
  margin: 15px 0;
}

.btn-hero {
  display: inline-block;
  padding: 15px 30px;
  background: linear-gradient(45deg, #ff2aa5, #00bfff);
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  border-radius: 30px;
  transition: 0.3s ease-in-out;
}

.btn-hero:hover {
  opacity: 0.85;
}



     .btn-primary {
      background: linear-gradient(45deg,#ff2aa5,#7b4bff,#00bfff);
      padding: 15px 35px;
      border-radius:50px;
      color:#fff;
      font-size:1.2rem;
      transition:transform .3s ease;
      border:none;
      display:inline-block;
    }
    .btn-primary:hover { transform:scale(1.05); }

    .btn-play {
      background-color: #ff2aa5;
      border: none;
      padding: 12px 30px;
      font-weight: bold;
      color: white;
      border-radius: 30px;
      font-size: 1.1rem;
    }

    .features, .how-it-works, .benefits {
      background-color: #101010;
      padding: 60px 0;
    }
    .features h3, .how-it-works h3, .benefits h3 {
      color: #00bfff;
      margin-bottom: 15px;
    }

    .ranking {
    background: url('images/hero-min.webp') center center fixed no-repeat; 
    padding: 50px 0;
    }

    .footer {
      background-color: #0a0a0a;
      padding: 40px 0;
      font-size: 0.9rem;
      color: #bbb;
    }
    .footer a {
      color: #00bfff;
      text-decoration: none;
    }
    .footer a:hover {
      color: #ff2aa5;
    }

/* --- SECTION COMMENT ÇA MARCHE --- */
.how-it-works {
  background: url('images/hero-min.webp') center center fixed no-repeat;
  width: 100%;
  padding: 80px 20px;
  color: #fff;
  text-align: center;
}
.section-title {
  font-size: 2.5rem;
  margin-bottom: 10px;
  color: #00bfff;
}
.section-subtitle {
  font-size: 1.1rem;
  color: #ccc;
  margin-bottom: 50px;
}
.steps-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 30px;
}
.step-card {
  background: rgba(255,255,255,0.05);
  padding: 30px 20px;
  border-radius: 15px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border: 1px solid rgba(255,255,255,0.1);
}
.step-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
}
.step-icon {
  font-size: 2rem;
  margin-bottom: 15px;
}
.step-card h3 {
  font-size: 1.4rem;
  margin-bottom: 10px;
  color: #00bfff;
}
.step-card p {
  font-size: 1rem;
  color: #ddd;
}

/* --- SECTION CLASSEMENT LIGUE 1 --- */
.ligue1-standings-section {
  width: 100%;
  background: linear-gradient(135deg, #141b2d, #0d1728);
  padding: 80px 20px;
  text-align: center;
  color: #fff;
}
.standings-title {
  font-size: 2.3rem;
  color: #ff2aa5;
  margin-bottom: 10px;
}
.standings-subtitle {
  font-size: 1rem;
  color: #ccc;
  margin-bottom: 40px;
}
.standings-box {
  background: rgba(255,255,255,0.05);
  padding: 30px;
  border-radius: 15px;
  border: 1px solid rgba(255,255,255,0.1);
  max-width: 1000px;
  margin: 0 auto;
}
.table-responsive {
  overflow-x: auto;
}
.last-update {
  margin-top: 10px;
  font-size: 0.9rem;
  color: #bbb;
}

/* TABLEAU CLASSEMENT */
.ligue1-standings-section table {
  width: 100%;
  border-collapse: collapse;
  color: #fff;
}
.ligue1-standings-section th, 
.ligue1-standings-section td {
  padding: 12px;
  text-align: center;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.ligue1-standings-section th {
  background: rgba(255,255,255,0.1);
  color: #00bfff;
}
.ligue1-standings-section tr:hover {
  background: rgba(255,255,255,0.05);
  transition: background 0.3s;
}

.why-join {
  margin-top: 50px; /* ajuste la valeur comme tu veux */
}


.why-join h2 span {
  color: #00bfff;


}

.step, .feature {
  padding: 20px;
  transition: all 0.3s ease;
  border-radius: 12px;
}

.step:hover, .feature:hover {
  background: rgba(255, 255, 255, 0.05);
  transform: translateY(-5px);
}

.step h3, .feature h3 {
  color: #00bfff;
  font-size: 1.2rem;
  margin-bottom: 15px;
}

.step h3 span {
  color: #00bfff;
}

.step p, .feature p {
  font-size: 0.95rem;
  color: #ddd;
}
.section-intro-bar {
  background: linear-gradient(90deg, #ff2aa5, #00bfff);
  color: white;
  padding: 40px 20px;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.section-intro-bar h2 {
  margin: 0;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.4);
}
.section-intro-bar.scroll-logos {
  background: linear-gradient(90deg, #ff2aa5, #00bfff);
  padding: 15px 0;
  overflow: hidden;
  position: relative;
}

.logos-marquee {
  display: flex;
  gap: 40px;
  animation: scroll-logos 20s linear infinite;
  align-items: center;
  padding-left: 100%;
}

.ranking-table {
  width: 100%;
  overflow-x: auto;
  margin-top: 30px;
  border-radius: 12px;
  box-shadow: 0 0 20px rgba(0, 191, 255, 0.1);
}

.ranking-table table {
  width: 100%;
  border-collapse: collapse;
  color: white;
  background-color: #1b1b1b;
  border-radius: 12px;
  overflow: hidden;
}

.ranking-table thead {
  background: linear-gradient(90deg, #ff2aa5, #00bfff);
}

.ranking-table th,
.ranking-table td {
  padding: 14px 20px;
  text-align: left;
  font-size: 0.95rem;
  transition: background 0.3s ease;
}

.ranking-table tr {
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.ranking-table tbody tr:hover {
  background-color: #2a2a2a;
}

.ranking-table tr.highlight {
  background: linear-gradient(90deg, #00bfff10, #ff2aa510);
  font-weight: bold;
  box-shadow: inset 0 0 10px rgba(0, 191, 255, 0.2);
}

.vip-badge {
  background: linear-gradient(45deg, #ffd700, #ff8c00);
  color: black;
  padding: 2px 6px;
  border-radius: 6px;
  font-size: 0.8rem;
  margin-left: 8px;
  font-weight: bold;
}

.pagination {
  margin-top: 20px;
  text-align: center;
}

.pagination-link {
  display: inline-block;
  margin: 0 5px;
  padding: 6px 12px;
  border-radius: 6px;
  background-color: #2a2a2a;
  color: #00bfff;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.3s ease;
}

.pagination-link:hover {
  background-color: #00bfff;
  color: black;
}


.vip-badge {
  background: linear-gradient(45deg, #ffd700, #ff8c00);
  color: black;
  padding: 2px 6px;
  border-radius: 6px;
  font-size: 0.8rem;
  margin-left: 8px;
  font-weight: bold;
}

.pagination {
  margin-top: 20px;
  text-align: center;
}

.pagination-link {
  display: inline-block;
  margin: 0 5px;
  padding: 6px 12px;
  border-radius: 6px;
  background-color: #2a2a2a;
  color: #00bfff;
  text-decoration: none;
  font-weight: 500;
}

.pagination-link:hover {
  background-color: #00bfff;
  color: black;
}


.logos-marquee img {
  height: 40px;
  width: auto;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.5));
}

@keyframes scroll-logos {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

@media (max-width: 768px) {
  .img-foot {
    margin-top: 20px;
  }
}
.scroll-logos {
  overflow: hidden;
  white-space: nowrap;
}

.logos-marquee {
  display: inline-block;
  animation: scroll 20s linear infinite;
}

.logos-marquee img {
  height: 50px;
  margin: 0 15px;
  vertical-align: middle;
}

@keyframes scroll {
  from { transform: translateX(0%); }
  to   { transform: translateX(-50%); }
}

  /* SECTION GENERIC */
    section {
      padding: 100px 20px;
      text-align: center;
    }
    section h2 {
      font-size: 2.2rem;
      margin-bottom:20px;
    }
    section.alt {
      background: linear-gradient(135deg,#1a1a2e,#16213e);
    }

        /* TESTIMONIALS */
    .testimonials {
  position: relative;
  padding: 50px 0;
  text-align: center;
  overflow: hidden;
}

.testimonial-title {
  font-size: 2rem;
  color: #fff;
  margin-bottom: 10px;
}

.testimonial-subtitle {
  color: #ccc;
  margin-bottom: 30px;
}

.testimonial-wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.testimonial-slider {
  display: flex;
  gap: 20px;
  scroll-behavior: smooth;
  overflow-x: auto;
  padding: 10px;
  scrollbar-width: none;
}
.testimonial-slider::-webkit-scrollbar {
  display: none;
}

/* ✅ Cartes témoignages */
.testimonial-card {
  flex: 0 0 250px;
  background: rgba(0, 0, 0, 0.4);
  padding: 20px;
  border-radius: 12px;
  text-align: center;
  transition: transform 0.3s ease;
}
.testimonial-card:hover {
  transform: translateY(-5px) scale(1.03);
}

.testimonial-card img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  margin-bottom: 10px;
}

.testimonial-card p {
  color: #ddd;
  font-style: italic;
}

.testimonial-card strong {
  display: block;
  margin-top: 10px;
  color: #00c4ff;
}

/* ✅ Flèches du slider */
.testimonial-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.5);
  color: #ff1493;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  font-size: 26px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 10;
}
.testimonial-arrow:hover {
  background: rgba(0,255,255,0.8);
  color: #fff;
  transform: translateY(-50%) scale(1.1);
}
.testimonial-arrow.left {
  left: 10px;
}
.testimonial-arrow.right {
  right: 10px;
}


    /* FAQ */
   .faq-section {
  width: 100%;
  background: linear-gradient(90deg, #ff2aa5, #7b4bff, #00bfff);
  background-size: 300% 300%;
  animation: gradientShift 8s ease infinite;  padding: 80px 20px;
  color: #fff;
  text-align: center;
}

/* CONTAINER CENTRAL */
.faq-container {
  max-width: 900px;
  margin: 0 auto;
}

/* TITRE */
.faq-title {
  font-size: 2.5rem;
  margin-bottom: 10px;
  color: #00bfff;
}
.faq-subtitle {
  font-size: 1.1rem;
  color: #bbb;
  margin-bottom: 40px;
}

/* LISTE FAQ */
.faq-list {
  text-align: left;
}

/* ITEM FAQ */
.faq-item {
  background: rgba(255,255,255,0.05);
  border-radius: 10px;
  margin-bottom: 15px;
  overflow: hidden;
  transition: all 0.3s ease;
  border: 1px solid rgba(255,255,255,0.1);
}

/* QUESTION */
.faq-question {
  width: 100%;
  background: none;
  border: none;
  text-align: left;
  color: #fff;
  font-size: 1.2rem;
  padding: 20px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 600;
}
.faq-question:hover {
  color: #ff2aa5;
}

/* FLECHE */
.faq-question .arrow {
  font-size: 1.5rem;
  transition: transform 0.3s ease;
}

/* REPONSE CACHÉE */
.faq-answer {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  padding: 0 20px;
  transition: all 0.4s ease;
  color: #ddd;
  font-size: 1rem;
}

/* LORSQUE OUVERT */
.faq-item.active .faq-answer {
  max-height: 200px;
  opacity: 1;
  padding: 15px 20px 20px;
}
.faq-item.active .arrow {
  transform: rotate(45deg);
  color: #00bfff;

}
.gradient-text {
  font-weight: bold;
  background: linear-gradient(
    -45deg,
    #00c6ff,
    #0072ff,
    #ff00c6,
    #ff7eb3
  );
  background-size: 400% 400%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: gradientAnimation 6s ease infinite;
}

@keyframes gradientAnimation {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

/* Section avec dégradé dynamique */

.cta-btn {
  display: inline-block;
  padding: 12px 20px;
  background: linear-gradient(45deg,#00bfff,#ff2aa5);
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  border-radius: 8px;
  margin: 10px 5px;
  transition: 0.3s;
}

.cta-register {
  background: linear-gradient(90deg, #ff2aa5, #7b4bff, #00bfff);
  background-size: 300% 300%;
  animation: gradientShift 8s ease infinite;
  padding: 60px 20px;
  color: white;
}

@keyframes gradientShift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* Contenu centré */
.cta-register .cta-content {
  max-width: 800px;
  margin: auto;
}

.cta-register h2 {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 15px;
}

.cta-register h2 span {
  color: #fffacd;
}

.cta-register p {
  font-size: 1.1rem;
  margin-bottom: 25px;
  opacity: 0.9;
}

/* Bouton call-to-action */
.cta-register .cta-btn {
  display: inline-block;
  padding: 15px 30px;
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
  background: rgba(0,0,0,0.25);
  border: 2px solid white;
  border-radius: 50px;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}

.cta-btn:hover {
   background: #fff;
  color: #000;
}

.cta-register .cta-btn:hover {
  background: #fff;
  color: #000;
}

/* Variante secondaire */
.cta-btn.secondary {
 display: inline-block;
  padding: 15px 30px;
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
  background: rgba(0,0,0,0.25);
  border: 2px solid white;
  border-radius: 50px;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}

.cta-btn.secondary:hover {
 background: #fff;
  color: #000;

}
/* WHY JOIN */
    .why-join .features {
      display:flex;
      flex-wrap:wrap;
      justify-content:center;
      gap:30px;
      margin-top:40px;
    }
    .why-join .feature {
      flex:1 1 220px;
      max-width:250px;
      background: rgba(255,255,255,0.05);
      padding:30px;
      border-radius:15px;
      transition:transform .3s ease;
    }
    .why-join .feature:hover { transform:translateY(-8px); }
    .why-join i {
      font-size:2.5rem;
      margin-bottom:10px;
      color:#00bfff;
    }

    /* ✅ Bandeau en bas de l’écran */
.pwa-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(90deg, #ff2aa5, #00bfff);
  color: white;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 20px;
  font-size: 1rem;
  box-shadow: 0 -3px 8px rgba(0,0,0,0.2);
  z-index: 9999;
  animation: slideUp 0.4s ease;
}

/* ✅ Bouton d’installation */
.pwa-banner button {
  background: white;
  color: #000;
  border: none;
  padding: 10px 18px;
  font-weight: bold;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.pwa-banner button:hover {
  background: #f2f2f2;
}

/* ✅ Petite animation */
@keyframes slideUp {
  from { transform: translateY(100%); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

.duel-section {
  position: relative;
  padding: 40px 0;
  text-align: center;
}

.duel-wrapper {
  position: relative;
  overflow: hidden;
}

.duel-slider {
  display: flex;
  gap: 20px;
  scroll-behavior: smooth;
  overflow-x: auto;
  scrollbar-width: none; /* masque la barre sur Firefox */
}
.duel-slider::-webkit-scrollbar {
  display: none; /* masque la barre sur Chrome */
}

/* ✅ Style des flèches */
.duel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.5); /* fond semi-transparent */
  color: #00c4ff; /* couleur par défaut (bleu) */
  width: 45px;
  height: 45px;
  border-radius: 50%;
  font-size: 26px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 10;
}

/* ✅ Hover plus flashy (rose) */
.duel-arrow:hover {
  background: rgba(255, 20, 147, 0.8); /* rose flashy */
  color: #fff;
  transform: translateY(-50%) scale(1.1);
}

/* ✅ Position gauche/droite */
.duel-arrow.left {
  left: -20px;
}
.duel-arrow.right {
  right: -20px;
}

/* ✅ Cartes du slider */
.duel-card {
  background: rgba(0, 0, 0, 0.4);
  border-radius: 12px;
  padding: 15px;
  text-align: center;
  flex: 0 0 220px;
  transition: transform 0.3s ease;
}
.duel-card:hover {
  transform: translateY(-5px) scale(1.03);
}

.duel-card img {
  width: 100%;
  border-radius: 10px;
}

.duel-card h3 {
  color: #fff;
  margin: 10px 0 5px;
}

.duel-desc {
  color: #ccc;
  font-size: 14px;
}

.duel-status {
  color: #ffcc00;
  margin: 8px 0;
}

.duel-status.finished {
  color: #4caf50;
}

.btn {
  display: inline-block;
  padding: 8px 15px;
  background: linear-gradient(45deg, #00c4ff, #ff1493);
  color: #fff;
  border-radius: 8px;
  text-decoration: none;
  transition: 0.3s;
}
.btn:hover {
  opacity: 0.8;
}


/* Style des flèches du slider */
.slick-prev, .slick-next {
  background: rgba(0, 0, 0, 0.5); /* fond semi-transparent */
  color: #fff; /* couleur du texte */
  width: 40px;
  height: 40px;
  border-radius: 50%; /* rond */
  display: flex !important;
  justify-content: center;
  align-items: center;
  z-index: 10;
  transition: all 0.3s ease;
}

/* Couleur spécifique */
.slick-prev::before, .slick-next::before {
  font-size: 24px;
  color: #00c4ff; /* BLEU CYAN - comme ton thème */
}

/* Effet hover */
.slick-prev:hover, .slick-next:hover {
  background: rgba(255, 20, 147, 0.8); /* rose au survol */
  transform: scale(1.1);
}

/* Positionner les flèches légèrement en dehors */
.slick-prev {
  left: -50px;
}
.slick-next {
  right: -50px;
}

/* FULL WIDTH CONTAINER */
.container-fluid {
  width: 100%;
  margin: 0 auto;
}

/* TABLEAU FULL WIDTH */
/* ✅ CONTAINER RESPONSIVE */
#ligue1-standings {
  width: 100%;
  overflow-x: auto; /* permet le scroll horizontal si besoin */
  -webkit-overflow-scrolling: touch;
}

/* ✅ TABLEAU PLEIN ÉCRAN */
#ligue1-standings table {
  width: 100%;
  min-width: 700px; /* évite de casser la mise en page */
  border-collapse: collapse;
  color: #fff;
  font-size: 0.95rem;
}

/* ✅ CELLULES */
#ligue1-standings th,
#ligue1-standings td {
  padding: 10px;
  text-align: center;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* ✅ HEADER EN DÉGRADÉ */
#ligue1-standings thead tr {
  background: linear-gradient(90deg, #00bfff, #ff2aa5);
  color: #fff;
  text-transform: uppercase;
}

/* ✅ LIGNES ALTERNÉES */
#ligue1-standings tr:nth-child(even) {
  background: rgba(255,255,255,0.03);
}

#ligue1-standings tr:hover {
  background: rgba(255,255,255,0.08);
  transition: background 0.3s ease-in-out;
}

/* ✅ LOGO DU CLUB */
#ligue1-standings td img {
  height: 20px;
  vertical-align: middle;
  margin-right: 6px;
}

/* ✅ SUR MOBILE, RÉDUCTION DU TEXTE */
@media (max-width: 768px) {
  #ligue1-standings table {
    font-size: 0.8rem;
  }
  #ligue1-standings td img {
    height: 18px;
  }
}
/* ✅ Container full width */
.leaderboard-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* ✅ Chaque ligne du classement */
.leaderboard-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  border-radius: 12px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.05);
  transition: all 0.3s ease;
}

/* ✅ Survol effet */
.leaderboard-row:hover {
  background: rgba(255,255,255,0.07);
  transform: scale(1.01);
}

/* ✅ Rank */
.rank {
  font-size: 1.2rem;
  font-weight: bold;
  min-width: 60px;
  text-align: center;
}

/* ✅ Player info */
.player-info {
  display: flex;
  align-items: center;
  gap: 10px;
}

.player-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,0.2);
  object-fit: cover;
}

.player-name {
  font-weight: 600;
  font-size: 1rem;
  color: #00bfff;
}

/* ✅ Points */
.points {
  font-weight: bold;
  font-size: 1rem;
  color: #00ffea;
  min-width: 80px;
  text-align: right;
}

/* ✅ VIP Badge */
.vip-badge {
  background: linear-gradient(45deg, #ffd700, #ff8c00);
  color: black;
  padding: 3px 7px;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: bold;
}

/* ✅ Top 3 styles */
.top-1 {
  background: linear-gradient(90deg, rgba(255,215,0,0.1), rgba(255,215,0,0));
  border-left: 4px solid gold;
}
.top-2 {
  background: linear-gradient(90deg, rgba(192,192,192,0.1), rgba(192,192,192,0));
  border-left: 4px solid silver;
}
.top-3 {
  background: linear-gradient(90deg, rgba(205,127,50,0.1), rgba(205,127,50,0));
  border-left: 4px solid #cd7f32;
}

/* ✅ Mise en avant de TON rang */
.you {
  box-shadow: 0 0 15px rgba(0,191,255,0.3);
  border: 1px solid #00bfff;
}

/* ✅ Pagination */
.pagination {
  margin-top: 20px;
  text-align: center;
}
.pagination-link {
  display: inline-block;
  margin: 0 5px;
  padding: 6px 12px;
  border-radius: 6px;
  background-color: #2a2a2a;
  color: #00bfff;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.3s ease;
}
.pagination-link:hover,
.pagination-link.active {
  background-color: #00bfff;
  color: black;
}

/* ✅ Responsive */
@media(max-width: 768px) {
  .leaderboard-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .points {
    text-align: left;
  }
}
.moved-up {
  background: rgba(0, 255, 0, 0.2) !important;
  transition: background 0.3s ease;
}
.moved-down {
  background: rgba(255, 0, 0, 0.2) !important;
  transition: background 0.3s ease;
}

/* Badge +1 / -1 */
.position-change {
  margin-left: 10px;
  font-weight: bold;
  animation: floatUp 1.5s ease-out forwards;
  font-size: 0.9rem;
}
.position-change.up { color: #00ff00; }
.position-change.down { color: #ff5555; }

@keyframes floatUp {
  0% { opacity: 1; transform: translateY(0); }
  100% { opacity: 0; transform: translateY(-15px); }
}
