h1,
h2,
h3,
h4,
h5,
h6,
span {
  font-family: 'Quicksand', sans-serif;
}

p {
  font-family: 'Poppins', sans-serif;
}

/* Header and Navbar z-index to appear above all content */
header {
  position: relative;
  z-index: 10001 !important;
}

.navbar {
  position: relative;
  z-index: 10001;
}

.navbar .dropdown-menu {
  z-index: 10002 !important;
}

.sticky-top {
  z-index: 10001 !important;
}




.erHeader {
  background-color: #225378 !important;
}



.erHeader select {
  background: transparent;
  color: #fff;
  border: 1px solid #225378;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 14px;
  margin-right: 10px;
}

.erHeader select option {
  color: #000;
}

.erHeader a i {
  color: #fff;
  font-size: 16px;
  margin-left: 10px;
  transition: 0.3s;
}

.erHeader a i:hover {
  color: #fff;
}


.navbar i[data-feather] {
  width: 18px;
  height: 18px;
  stroke-width: 2;
  margin-left: 15px;
  cursor: pointer;
}

/* Liens normaux dans la navbar */
.navbar .navbar-nav .nav-item .nav-link {
  color: #225378;
  /* couleur par défaut */
  position: relative;
  /* nécessaire pour ::after */
  transition: color 0.3s;
}

/* Hover sur les liens navbar */
.navbar .navbar-nav .nav-item .nav-link:hover {
  color: #FF9500;
  /* jaune */
}

/* Ligne soulignée épaisse et arrondie */
.navbar .navbar-nav .nav-item .nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px;
  /* espace entre texte et ligne */
  height: 4px;
  /* épaisseur */
  width: 100%;
  background-color: #FF9500;
  /* couleur ligne */
  border-radius: 2px;
  /* arrondi */
  transform: scaleX(0);
  /* invisible par défaut */
  transition: transform 0.3s;
}

/* Afficher la ligne au hover */
.navbar .navbar-nav .nav-item .nav-link:hover::after {
  transform: scaleX(1);
}

.btn-outline-warning {
  background-color: #FFC107;
}

.btnw {
  color: #ffc107;
  background-color: #fff;
  border-color: #ffc107;
}

.btnw:hover {
  color: #fff;
  background-color: #ffc107;
  border-color: #ffc107;
}

@media (max-width: 991px) {
  .navbar-collapse {
    background: white;
    padding: 20px;
    border-radius: 15px;
    margin-top: 15px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
  }

  .navbar-nav {
    text-align: center;
    gap: 15px !important;
  }

  .user-badge {
    justify-content: center;
    width: 100%;
  }
}

/* ------------------------------------------------------------------------------------ */

.program-card {
  padding: 16px 12px;
  /* top/bottom  right/left */
}

/* ------------------------------------------------------------------------------------ */



/* START 1er Section */
.study-section {
  background: linear-gradient(to right, #f8f9fa, #e9ecef);
  padding: 60px 20px;
  text-align: center;
  position: relative;
  z-index: 10000;
}

.study-title {
  font-size: 2.5rem;
  font-weight: bold;
  color: #225378;
}

.study-subtitle {
  font-size: 1.2rem;
  margin-top: 15px;
  color: #333;
}

.imageP {
  width: 100%;
  max-width: 960px;
  /* limite la largeur sur grand écran */
  margin: 30px auto;
  /* centrer et espacer verticalement */
}

.imageP img {
  width: 100%;
  height: auto;
  /* conserve les proportions */
  display: block;
  border-radius: 10px;
  /* optionnel, arrondir les coins */
}

.search-bar {
  margin-top: 30px;
  /* espace par rapport à l'image */
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  z-index: 10000;
  /* pour éviter de chevaucher l'image si besoin */
  position: relative;
}

.search-bar input {
  border-radius: 50px;
  /* input arrondi */
  padding-left: 20px;
}

.search-bar button {
  background-color: #FF9500;
  border: none;
  border-radius: 50px;
  /* bouton arrondi */
  color: white;
}

.search-bar button:hover {
  background-color: #e68900;
}



/* Badge */
.reference-badge {
  margin-top: 30px;
  font-size: 1rem;
  color: #fff;
  background-color: #FF9500;
  padding: 10px 20px;
  border-radius: 50px;
  display: inline-block;
}

/* --------- Responsive --------- */

/* Tablettes (max-width: 992px) */
@media (max-width: 992px) {
  .study-title {
    font-size: 2rem;
  }

  .study-subtitle {
    font-size: 1.1rem;
  }

  .search-bar {
    max-width: 500px;
  }

  .imageP {
    max-width: 700px;
  }
}

/* Petits écrans / mobiles (max-width: 768px) */
@media (max-width: 768px) {
  .study-title {
    font-size: 1.8rem;
  }

  .study-subtitle {
    font-size: 1rem;
  }

  .search-bar {
    max-width: 100%;
    padding: 0 10px;
  }

  .search-bar input {
    padding-left: 15px;
  }

  .reference-badge {
    padding: 8px 16px;
    font-size: 0.9rem;
  }

  .imageP {
    max-width: 100%;
    height: auto;
  }
}



/* .footerst{
    background-color: #225378;
}

.footerst .btn-outline-dark{
   transition: transform 0.3s;
}

.footerst .btn-outline-dark:hover{
  transform: translateY(-7px);
  transition: transform 0.4s;
} */

.footerst {
  background-color: #225378;
}

/* --- DESKTOP STYLE --- */
.footer-links li {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
}

.footer-links a {
  text-decoration: none;
  color: rgba(255, 255, 255, 0.8);
  font-size: 14px;
  transition: 0.3s;
}

.footer-links i {
  color: #FF9500;
  font-size: 12px;
  margin-right: 10px;
}

.footer-links li:hover a {
  color: #FF9500;
  padding-left: 5px;
}

.btn-social {
  background-color: #000;
  color: #FF9500;
  border-radius: 50px;
  margin-right: 8px;
  width: 35px;
  height: 35px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: 0.4s;
}

.btn-social:hover {
  transform: translateY(-5px);
  color: #fff;
}

.contact-item {
  display: flex;
  align-items: center;
}

/* --- MOBILE STYLE (Centralisation) --- */
@media (max-width: 767.98px) {
  .footerst {
    text-align: center;
  }

  /* Centre la grille Nos Services en 2x2 */
  .footer-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .footer-links li {
    flex: 0 0 50%;
    justify-content: center;
  }

  /* Centre les items de contact */
  .contact-item {
    justify-content: center;
  }

  /* Centre la galerie */
  .gallery-grid {
    justify-content: center;
    max-width: 200px;
    margin: 0 auto;
  }

  /* Supprime les marges desktop sur mobile */
  .ms-lg-5 {
    margin-left: 0 !important;
  }
}

/* .btn-outline-dark{
    color: #FF9500;
    border: black solid;
    background-color: black;
} */
/* ----------------------------------------------------------------------------------- */


/* Nos services et 3eme section  */
/* ===== GLOBAL ===== */
.section-title {
  font-weight: 700;
  color: #225378;
}

.srv {
  background-image: url("../imgs/services/Backgr.png");
}

.section-subtitle {
  max-width: 700px;
  margin: 15px auto;
  color: #555;
}

/* ===== SERVICES ===== */
.services-section {
  position: relative;
  z-index: 1;
}

.service-badge {
  background: #eae6ff;
  color: #704FE6;
}

.service-card1 {
  position: relative;
  background: #FEF2F4;
  padding: 30px 20px;
  height: 100%;
  transition: transform 0.3s;
  border: solid #FFF 1px;
  border-radius: 200px;
  transition: transform 0.3s;
}

.service-card1:hover {
  transform: translateY(-7px);
  transition: transform 0.3s;
}


.service-card2 {
  background: #EAF6FF;
  padding: 30px 20px;
  height: 100%;
  transition: transform 0.3s;
  border: solid #FFF 1px;
  border-radius: 200px;
  transition: transform 0.3s;
}

.service-card2:hover {
  transform: translateY(-7px);
  transition: transform 0.3s;
}

.service-card3 {
  background: #EEFBF5;
  padding: 30px 20px;
  height: 100%;
  transition: transform 0.3s;
  border: solid #FFF 1px;
  border-radius: 200px;
  transition: transform 0.3s;
}

.service-card3:hover {
  transform: translateY(-7px);
  transition: transform 0.3s;
}

.service-card4 {
  background: #FFFAEF;
  padding: 30px 20px;
  height: 100%;
  transition: transform 0.3s;
  border: solid #FFF 1px;
  border-radius: 200px;
  transition: transform 0.3s;
}

.service-card4:hover {
  transition: transform 0.3s;
  transform: translateY(-7px);
}

.savoirPlus {
  text-decoration: none;
}




.service-icon {
  width: 70px;
  height: 70px;
  margin: 0 auto 15px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.service-icon img {
  width: 30px;
}

.service-card a {
  color: #0d6efd;
  font-size: 14px;
  text-decoration: none;
}


/* ===== PROGRAMS ===== */
.program-badge {
  background: #e6f7ff;
  color: #704FE6;
}

.program-card {
  border-radius: 12px;
  padding: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 500;
}

@media (max-width: 576px) {
  .program-card {
    flex-direction: column;
  }
}

.program-card img {
  width: 35px;
}

@media (max-width: 576px) {
  .program-card {
    flex-direction: column;
  }
}

/* Background colors */
.bg-light-blue {
  background: #eef6ff;
}

.bg-light-pink {
  background: #fff0f5;
}

.bg-light-green {
  background: #eefaf3;
}

.bg-light-yellow {
  background: #fff9e6;
}

.bg-light-purple {
  background: #f3f0ff;
}

.bg-light-red {
  background: #fff0f0;
}


/* ---------------------------------------------------------------------------------------------------- */


.about-section {
  background: #f9fafc;
}

/* TITRE */
.about-title {
  font-weight: 700;
  color: #1f3c88;
}

.about-title span {
  color: #6c63ff;
}

/* BADGE TOP */
.badge-section {
  font-size: 12px;
  background: #E9E2FF;
  padding: 6px 12px;
  border-radius: 20px;
  display: inline-block;
  margin-bottom: 10px;
  color: #704FE6;
  font-weight: 600;
}

/* TEXT */
.about-text {
  color: #555;
  margin: 15px 0 25px;
}

/* INFO CARDS */
.about-card {
  background: #fff;
  border-radius: 16px;
  padding: 15px 20px;
  margin-bottom: 15px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s;
}

.about-card:hover {
  transform: translateY(-4px);
  transition: transform 0.3s;
}

.about-card h6 {
  font-weight: 600;
  margin-bottom: 5px;
  color: #225378;
}

.about-card h6 p {
  color: #303030;
}

/* EXPERIENCE BADGE */
.experience-badge {
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #6c63ff;
  color: #fff;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 14px;
  box-shadow: 0 10px 30px rgba(108, 99, 255, 0.4);
}

.experience-badge strong {
  font-size: 26px;
}

.apropos-img img {
  width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .about-section {
    text-align: center;
  }

  .about-card {
    text-align: left;
  }
}



/* ----------------------------------------------------------------------------------------------------------------- */
.destination-section {
  background: #fff;
  padding-bottom: 120px;
}

/* BADGE */
.small-badge {
  background: #ede9ff;
  color: #6c63ff;
  font-size: 12px;
  padding: 6px 12px;
  border-radius: 20px;
  display: inline-block;
  margin-bottom: 15px;
  font-weight: 600;
}

/* TITLE */
.destination-title {
  font-weight: 700;
  color: #1f3c88;
}

.destination-title span {
  color: #6c63ff;
}

/* TEXT */
.destination-text {
  color: #555;
  margin-top: 15px;
}

/* FEATURES */
.feature-box {
  background: #EAF6FF;
  padding: 15px;
  border-radius: 12px;
  height: 100%;
}

.feature-box h6 {
  font-weight: 600;
  margin-bottom: 5px;
  color: #225378;
}

.feature-box p {
  color: #303030;
}

/* IMAGE FRAME */
/* Style par défaut (Ordinateur / Desktop) */
.image-frame {
  position: relative;
  padding-left: 80px;
  /* Votre décalage actuel */
  padding-top: 50px;
  display: block;
}

/* Style pour Mobile (Écrans inférieurs à 768px) */
@media (max-width: 768px) {
  .image-frame {
    /* 1. On réinitialise les paddings qui poussent l'image sur le côté */
    padding-left: 0;
    padding-top: 20px;
    /* Un peu d'espace en haut au lieu de 50px */

    /* 2. On utilise Flexbox pour centrer le contenu */
    display: flex;
    justify-content: center;
    /* Centre horizontalement */
    align-items: center;
    /* Centre verticalement (si le parent a une hauteur) */

    /* 3. Sécurité pour que l'image ne dépasse pas */
    width: 100%;
  }

  .image-frame img {
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    /* Centrage de secours */
  }
}

.image-frame::before {
  content: "";
  position: absolute;
  top: -15px;
  left: -15px;
  width: 100%;
  height: 100%;
  border: 6px solid #1f3c88;
  z-index: -1;
  border-radius: 20px;
}

.destination-section .btn {
  background-color: #FF9500;
}

.destination-section .btn:hover {
  background-color: #e68900;

}

/* RESPONSIVE */
@media (max-width: 768px) {
  .destination-section {
    text-align: center;
  }

  .feature-box {
    text-align: left;
  }
}

/* ----------------------------------------------------------------------------- */

/* TÉMOIGNAGES */


.testimonials-section {
  padding: 80px 0;
  background-image: url("../imgs/Temoignages/bg_temo.png");
  background-size: cover;
  background-position: center;
}

@media (max-width: 768px) {
  .testimonials-section {
    background-image: url("../imgs/Temoignages/bg_temo.png");
  }
}

/* Stats */
.stats-box {
  background: #eaf4ff;
  border-radius: 50px;
  padding: 20px;
  margin-bottom: -100px;
  position: relative;
  top: -140px;

}

.stat-item img {
  width: 50px;
  margin-bottom: 10px;
}

.stat-item h5 {
  font-weight: bold;
  margin: 0;
}

.stat-item p {
  font-size: 14px;
  color: #555;
}

/* Titre */
.section-title .badge {
  background: #e0edff;
  color: #4a6cf7;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 12px;
}

.section-title h2 {
  margin-top: 15px;
  font-weight: bold;
}

.section-title h2 span {
  color: #4a6cf7;
}

/* Cards */
.testimonial-card {
  background: #fff;
  border-radius: 12px;
  padding: 30px;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.05);
  height: 100%;
  transition: transform 0.3s;
}

.testimonial-card:hover {
  transition: transform 0.3s;
  transform: translateY(-5px);
}

.testimonial-card p {
  font-size: 14px;
  color: #555;
}

.testimonial-card h6 {
  margin-top: 20px;
  margin-bottom: 0;
  font-weight: bold;
}

.testimonial-card span {
  font-size: 13px;
  color: #4a6cf7;
}

.stat-item {
  display: flex;
  align-items: center;
  gap: 12px;
}

.stat-item img {
  width: 60px;
  height: auto;
}

.stat-text h5 {
  margin: 0;
  font-weight: bold;
}

.stat-text p {
  margin: 0;
  font-size: 14px;
  color: #555;
}


/* ----------------------------------------------------------------------------------------------------
 */

.courses-section {
  padding: 20px 0;
  background-image: url("../imgs/Temoignages/bg_temo.png");
  /* background image */
  background-size: cover;
  background-position: center;
}

/* Titre */
.section-badge {
  display: inline-block;
  background: #E9E2FF;
  color: #704FE6;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 12px;
  margin-bottom: 10px;
  font-weight: 700;
  ;
}

.section-title {
  font-weight: bold;
}

.section-title span {
  color: #4a6cf7;
}

.section-desc {
  max-width: 700px;
  margin: 15px auto 0;
  font-size: 14px;
  color: #666;
}

/* Card */
.course-card {
  background: #fff;
  border-radius: 5px;
  overflow: hidden;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.05);
  height: 100%;
  border: dashed 1px #704FE6;
  padding: 10px;
}

.course-img {
  position: relative;

}

.course-img img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 10px;
}

.program-badge {
  position: absolute;
  top: 15px;
  left: 15px;
  background: #225378;
  color: #fff;
  padding: 5px 12px;
  font-size: 12px;
  border-radius: 7px;
}

/* Contenu */
.course-content {
  padding: 20px;
}

.course-content h5 {
  font-weight: bold;
  color: #225378;
}

.course-content p {
  font-size: 14px;
  color: #303030;
}

/* Infos */
.course-info {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  margin: 15px 0;
}

.course-info img {
  width: 14px;
  margin-right: 5px;
}

/* Bouton */
.btn-course {
  background: #FF9500;
  color: #fff;
  border-radius: 20px;
  padding: 8px 18px;
  font-size: 13px;
}

.btn-course:hover {
  background: #ba7000;
  color: #fff;
}

/* ______________________________________________________________________________________ */

/* Avec l'implications des écoles partenaires */
.testimonials-section {
  background: #f9f9ff;

}

.testimonials-section .badge {
  background-color: #E9E2FF;
  color: #704FE6;
}

.testimonials-section h3 {
  color: #225378;
}

.testimonials-section p {
  color: #737373;
}

.video-box {
  position: relative;
  border: solid 1px #E1E9F8;
  padding: 10px;
}

.play-btn {
  position: absolute;
  top: 38%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* background: #6c63ff; */
  color: white;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  line-height: 60px;
  font-size: 22px;
  cursor: pointer;
}

.video-box {
  position: relative;
  cursor: pointer;
}

.play-btn:hover {
  color: #554eea;
}


/* _____________________________________________________________________________________ */
/* BLOG */

.blog-section {
  background: #eef6ff;
}

.blog-section .badge {
  background-color: #E9E2FF;
  color: #704FE6;
}

.blog-section p {
  color: #0E2A46;
  font-weight: 500;
  padding-top: 8px;
}

.blog-section .btn {
  background-color: #FF9500;
}

.blog-section .btn:hover {
  background-color: #ffa527;
}

.blog-card {
  background: white;
  border-radius: 12px;
  overflow: hidden;
  transition: transform 0.3s;
}

.blog-card:hover {
  transform: translateY(-5px);
}

/* _______________________________________________________________________________ */
/*  NOS PARTENAIRES  */

.partners-section {
  background: #fff;
}

.partner-logo {
  max-height: 560px;
  object-fit: contain;
  opacity: 0.8;
}

.partner-logo:hover {
  opacity: 1;
}

/* _____________________________________________________________________________________ */
/* FAQ */

.faq-section .accordion-button {
  font-weight: 500;
  background: #fff;
}

.faq-section .accordion-item {
  border-radius: 12px;
  overflow: hidden;
  border: none;
}


.autoShow {
  animation: text-appear both;
  animation-timeline: view();
  animation-range: entry 0% cover 80vh;
}

@keyframes text-appear {
  from {
    opacity: 0;
    transform: translateY(100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}


.fade-up {
  animation: fadeUp 2s ease forwards;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(40px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* __________________________________________________________________________________________ */
/* Style uniquement pour mobile */
@media (max-width: 767.98px) {
  .urge {
    margin-top: -60px !important;
  }

  .about-card {
    text-align: center;
    /* Centre le texte du paragraphe */
    display: flex;
    flex-direction: column;
    /* Aligne le titre et le paragraphe verticalement */
    align-items: center;
    /* Centre les éléments horizontalement */
    margin-bottom: 25px;
  }

  .about-card h6 {
    display: flex;
    /* Active flexbox pour le titre */
    align-items: center;
    /* Aligne l'icône et le texte sur la même ligne verticale */
    justify-content: center;
    /* Centre l'ensemble (icône + texte) horizontalement */
    width: 100%;
  }

  .about-card h6 img {
    margin-right: 10px;
    /* Espace entre l'icône et le texte */
    flex-shrink: 0;
    /* Empêche l'icône de s'écraser */
  }
}

/* Style uniquement pour mobile (en dessous de 768px) */
@media (max-width: 767.98px) {
  .feature-box {
    text-align: center;
    /* Centre le paragraphe */
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .feature-box h6 {
    display: flex;
    align-items: center;
    /* Aligne l'icône SVG verticalement au milieu du texte */
    justify-content: center;
    /* Centre l'icône et le texte horizontalement */
    width: 100%;
    gap: 10px;
    /* Remplace avantageusement les &nbsp; */
  }

  /* On s'assure que le SVG ne rétrécit pas */
  .feature-box h6 svg {
    flex-shrink: 0;
  }

  /* Optionnel : Supprimer les grands espaces vides forcés par les <span> */
  .feature-box h6 span {
    display: none;
  }
}

/* Style pour mobile uniquement */
@media (max-width: 767.98px) {
  .testimonial-card {
    text-align: center;
    /* Centre le texte, le h6 et le span */
    padding: 20px;
    /* Optionnel : ajoute un peu d'espace interne */
  }

  .testimonial-card h6 {
    margin-top: 15px;
    margin-bottom: 5px;
  }

  .testimonial-card span {
    display: block;
    /* Force le métier à passer à la ligne si besoin */
    width: 100%;
  }
}


@media (max-width: 767.98px) {

  /* On centre le contenu global de la carte */
  .course-content {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* Centre le titre, le paragraphe et le bouton */
  }

  /* On centre la barre d'infos (leçons, heures, étudiants) */
  .course-info {
    display: flex;
    flex-direction: column;
    /* On empile les infos pour éviter qu'elles ne soient écrasées */
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    width: 100%;
  }

  .course-info span {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
  }

  /* On s'assure que le bouton "En savoir plus" est bien centré */
  .btn-course {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    /* Le bouton ne prend que la largeur de son texte */
    padding: 10px 25px;
  }
}


@media (max-width: 767.98px) {

  /* 1. On centre le contenu texte de la carte */
  .blog-card .p-3 {
    text-align: center !important;
    /* Force le centrage malgré 'text-start' */
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  /* 2. On gère la ligne Date + Commentaire */
  .blog-card .text-muted {
    display: flex;
    justify-content: center;
    /* Centre les deux groupes horizontalement */
    align-items: center;
    gap: 20px;
    /* Espace entre la date et le commentaire */
    width: 100%;
    margin-bottom: 10px;
  }

  /* 3. On s'assure que l'icône et son texte sont bien alignés */
  .blog-card .text-muted img {
    vertical-align: middle;
    margin-right: 5px;
  }
}


@media (max-width: 767.98px) {

  /* --- 1. SECTION & ESPACEMENT GLOBAL --- */
  .testimonials-section {
    padding: 20px 0 !important;
  }

  /* --- 2. STATISTIQUES (Design horizontal compact) --- */
  .stats-box {
    margin-bottom: 0px !important;
    padding-bottom: 0px !important;
  }

  .stat-item {
    display: flex !important;
    flex-direction: row !important;
    /* Image à gauche, texte à droite */
    align-items: center;
    justify-content: center;
    text-align: left !important;
    margin-bottom: 15px !important;
  }

  .stat-item img {
    width: 35px !important;
    height: auto;
    margin-right: 10px !important;
    margin-bottom: 0 !important;
  }

  .stat-text h5 {
    font-size: 1.1rem !important;
    margin-bottom: 0 !important;
    line-height: 1;
  }

  .stat-text p {
    font-size: 11px !important;
    margin-bottom: 0 !important;
    line-height: 1.2;
  }

  /* --- 3. TITRE DE SECTION (Réduction des espaces vides) --- */
  .section-title {
    /* margin-top: -90px !important;  */
    margin-bottom: 15px !important;
    text-align: center !important;
  }



  .section-title .badge {
    margin-bottom: 5px !important;
  }

  .section-title h2 {
    font-size: 1.5rem !important;
    margin-top: 5px !important;
    line-height: 1.3;
  }

  /* --- 4. TÉMOIGNAGES (Centralisés) --- */
  .testimonials-section .row.mt-5 {
    margin-top: 15px !important;
    /* Resserre l'espace avec le titre */
  }

  .testimonial-card {
    text-align: center !important;
    padding: 15px;
    border: 1px solid #f0f0f0;
    border-radius: 12px;
    margin-bottom: 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .testimonial-card p {
    font-size: 13px;
    margin-bottom: 10px;
  }

  .testimonial-card h6 {
    font-size: 14px;
    margin-bottom: 2px;
    font-weight: bold;
  }

  .testimonial-card span {
    font-size: 12px;
    color: #777;
    display: block;
  }

  .image-frame {
    margin-top: -40px !important;
  }
}


/* Style pour Desktop */
@media (min-width: 992px) {
  .video-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Image Gauche */
  .img-side-left {
    transform: translateX(30px);
    /* Pousse l'image vers la vidéo */
    z-index: 1;
    opacity: 0.6;
    /* Effet de profondeur */
    transition: 0.5s;
  }

  /* Image Droite */
  .img-side-right {
    transform: translateX(-30px);
    /* Pousse l'image vers la vidéo */
    z-index: 1;
    opacity: 0.6;
    transition: 0.5s;
  }

  /* Boîte Vidéo Centrale */
  .video-box {
    z-index: 10;
    /* Passe par-dessus les images */
    position: relative;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
    background: #fff;
    padding: 10px;
    border-radius: 15px;
  }

  /* Effet au survol : on met en avant les images */
  .video-wrapper:hover .img-side-left,
  .video-wrapper:hover .img-side-right {
    opacity: 1;
    transform: translateX(0);
    /* Les images s'écartent ou se remettent en place */
  }
}

/* Ajustements pour la vidéo */
#videoPlayer {
  display: block;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}


.testimonial-stars {
  margin-top: 10px;
  font-size: 0.9rem;
  /* Ajustez la taille des étoiles ici */
  display: flex;
  gap: 4px;
  /* Espacement entre les étoiles */
}

/* Si vous voulez centrer les étoiles sur mobile comme le reste */
@media (max-width: 768px) {
  .testimonial-stars {
    justify-content: center;
  }
}