/**
 * Surcharge de la nav bar basée sur la classe et l'ID existants.
 * Cible : <nav class="navbar navbar-dark bg-primary navbar-expand-lg" id="navbar-main">
 */

/* 1) Style global de la barre de navigation */
#navbar-main.navbar.navbar-dark.bg-primary.navbar-expand-lg {
    background-color: #243660 !important;  /* Nouvelle couleur de fond */
    border-bottom: 1px solid #ddd !important;
    padding: 10px 20px !important;
  }
  
  /* 2) Style du logo (la marque) */
  #navbar-main .navbar-brand {
    color: #333 !important;
    font-size: 24px;
    font-weight: bold;
        margin: 0px;
  }
  
  /* 3) Style du menu principal */
  #navbar-main .navbar-nav {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  
  /* 4) Style des éléments de menu */
  #navbar-main .navbar-nav .nav-item {
    margin: 0 10px;
    padding: 0;
  }

  
  /* 5) Zone d'actions (si présente, par exemple pour un bouton ou une icône à droite) */
  #navbar-main .navbar-actions {
    margin-left: auto;
  }
  
  /* Page à propos bloque 1 A PROPOS  */
  .about-odyssee__title-container {
    width: 95%;
    margin: 0 auto;
    padding: 0 1rem;
  }
  .about-odyssee__main-title {
    font-size: 2rem;
    color: #333;
    margin-bottom: 1rem;
    text-align: left;
    font-weight: 600;
  }
  .title-highlight, .subtitle-highlight {
    color: #6658ea;
    font-weight: 600;
  }
  .about-odyssee__container {
    background-color: #FFFFFF;
    border-radius: 10px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.05);
    padding: 2rem 0px;
    width: 95%;
  }
  .about-odyssee__content {
    display: flex;
    align-items: flex-start;
    gap: 2.5rem;
  }
  .about-odyssee__image {
    flex: 0 0 auto;
    max-width: 35%;
    border-radius: 10px;
    overflow: hidden;
  }
  .about-odyssee__image img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    object-fit: cover;
  }
  .about-odyssee__text {
    flex: 1;
    padding-top: 0.5rem;
  }
  .about-odyssee__subtitle {
    font-size: 1.5rem;
    color: #333;
    margin-bottom: 1rem;
    font-weight: 600;
  }
  .about-odyssee__description {
    font-size: 1rem;
    color: #4A4A4A;
    margin-bottom: 1.5rem;
    line-height: 1.6;
  }
  .about-odyssee__description p {
    margin-bottom: 0.8rem;
  }
  .about-odyssee__description strong {
    font-weight: 700;
    color: #333;
  }
  .about-odyssee__link .btn {
    display: inline-block;
    background-color: #6658ea;
    color: white;
    padding: 0.6rem 1.2rem;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    border: none;
  }
  .about-odyssee__link .btn:hover {
    background-color: #5548c9;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(102, 88, 234, 0.2);
  }
  @media (max-width: 768px) {
    .about-odyssee__content {
      flex-direction: column;
    }
    .about-odyssee__image {
      max-width: 100%;
      margin-bottom: 1.5rem;
    }
    .about-odyssee__container {
      padding: 1.5rem;
    }
  }

/* Gouvernance & Équipes - Bloc 2 */
.governance-team {
  width: 100%;
  margin: 2rem auto;
  padding: 0;
}

.governance-team__container {
  background-color: #e0e0e0;
  width: 95%;
  margin: 0 auto;
  padding: 2rem;
  border-radius: 10px;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}

.governance-team__content {
  display: flex;
  justify-content: center;
}

.governance-team__image {
  width: 100%;
  max-width: 800px;
  border-radius: 8px;
  overflow: hidden;
}

.governance-team__image img {
  width: 100%;
  height: auto;
  display: block;
}

@media (max-width: 768px) {
  .governance-team__container {
    padding: 1.5rem;
  }
  
  .governance-team__image {
    max-width: 100%;
  }
}

/* Bloc 3 - Valeurs & Enjeux */
.values-challenges {
    width: 100%;
    margin: 3rem auto;
    padding: 0;
  }
  
  .values-challenges__container {
    background-color: #1a3baa;
    border-radius: 10px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    padding: 2.5rem;
    width: 95%;
    margin: 0 auto;
    color: white;
  }
  
  .values-challenges__content {
    display: flex;
    align-items: center;
    gap: 3rem;
  }
  
  .values-challenges__text {
    flex: 1;
  }
  
  .values-challenges__title {
    font-size: 2rem;
    color: white;
    margin-bottom: 1.5rem;
    font-weight: 600;
  }
  
  .values-challenges__title span {
    color: #ffc107;
  }
  
  .values-challenges__description {
    font-size: 1rem;
    color: #ffffff;
    margin-bottom: 1.5rem;
    line-height: 1.6;
  }
  
  .values-challenges__description p {
    margin-bottom: 0.8rem;
  }
  
  .values-challenges__description strong {
    color: #ffc107;
    font-weight: 600;
  }
  
  .values-challenges__image {
    flex: 0 0 45%;
  }
  
  .values-challenges__image img {
    width: 100%;
    height: auto;
    display: block;
  }
  
  .values-challenges__link .btn {
    display: inline-block;
    background-color: rgba(255, 255, 255, 0.2);
    color: white;
    padding: 0.6rem 1.2rem;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    border: none;
  }
  
  .values-challenges__link .btn:hover {
    background-color: rgba(255, 255, 255, 0.3);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(255, 255, 255, 0.2);
  }
  
  @media (max-width: 768px) {
    .values-challenges__content {
      flex-direction: column;
    }
    
    .values-challenges__image {
      max-width: 100%;
      order: -1;
      margin-bottom: 1.5rem;
    }
    
    .values-challenges__container {
      padding: 1.5rem;
    }
  }

  /* Bloc 4 - Les Objectifs */
.objectives {
    width: 100%;
    margin: 3rem auto;
    padding: 0;
  }
  
  .objectives__container {
    background-color: #1a3baa;
    border-radius: 10px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    padding: 2.5rem;
    width: 95%;
    margin: 0 auto;
    color: white;
  }
  
  .objectives__content {
    display: flex;
    align-items: center;
    gap: 3rem;
  }
  
  .objectives__text {
    flex: 1;
  }
  
  .objectives__title {
    font-size: 2rem;
    color: white;
    margin-bottom: 1.5rem;
    font-weight: 600;
  }
  
  .objectives__title .title-highlight {
    color: #fff;
    font-weight: 600;
  }
  
  .objectives__description {
    font-size: 1rem;
    color: #ffffff;
    margin-bottom: 1.5rem;
    line-height: 1.6;
  }
  
  .objectives__description p {
    margin-bottom: 0.8rem;
  }
  
  .objectives__description strong {
    color: #ffc107;
    font-weight: 600;
  }
  
  .objectives__image {
    flex: 0 0 40%;
  }
  
  .objectives__image img {
    width: 100%;
    height: auto;
    display: block;
  }
  
  .objectives__link .btn {
    display: inline-block;
    background-color: rgba(255, 255, 255, 0.2);
    color: white;
    padding: 0.6rem 1.2rem;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    border: none;
  }
  
  .objectives__link .btn:hover {
    background-color: rgba(255, 255, 255, 0.3);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(255, 255, 255, 0.2);
  }
  
  @media (max-width: 768px) {
    .objectives__content {
      flex-direction: column;
    }
    
    .objectives__image {
      max-width: 100%;
      order: -1;
      margin-bottom: 1.5rem;
    }
    
    .objectives__container {
      padding: 1.5rem;
    }
  }

  /* Bloc 5 - Vision & Missions */
.vision-missions {
    width: 100%;
    margin: 3rem auto;
    padding: 0;
  }
  
  .vision-missions__container {
    background-color: #1a3baa;
    border-radius: 10px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    padding: 2.5rem;
    width: 95%;
    margin: 0 auto;
    color: white;
  }
  
  .vision-missions__content {
    display: flex;
    align-items: center;
    gap: 3rem;
  }
  
  .vision-missions__text {
    flex: 1;
  }
  
  .vision-missions__title {
    font-size: 2rem;
    color: white;
    margin-bottom: 1.5rem;
    font-weight: 600;
  }
  
  .vision-missions__title .title-highlight {
    color: #ffc107;
    font-weight: 600;
  }
  
  .vision-missions__description {
    font-size: 1rem;
    color: #ffffff;
    margin-bottom: 1.5rem;
    line-height: 1.6;
  }
  
  .vision-missions__description p {
    margin-bottom: 0.8rem;
  }
  
  .vision-missions__description strong {
    font-weight: 700;
    color: #ffc107;
  }
  
  .vision-missions__image {
    flex: 0 0 35%;
  }
  
  .vision-missions__image img {
    width: 100%;
    height: auto;
    display: block;
  }
  
  .vision-missions__link .btn {
    display: inline-block;
    background-color: rgba(255, 255, 255, 0.2);
    color: white;
    padding: 0.6rem 1.2rem;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    border: none;
  }
  
  .vision-missions__link .btn:hover {
    background-color: rgba(255, 255, 255, 0.3);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(255, 255, 255, 0.2);
  }
  
  @media (max-width: 768px) {
    .vision-missions__content {
      flex-direction: column;
    }
    
    .vision-missions__image {
      max-width: 100%;
      order: -1;
      margin-bottom: 1.5rem;
    }
    
    .vision-missions__container {
      padding: 1.5rem;
    }
  }

  /* Bloc 6 - Citation */
.quote-block {
    width: 100%;
    max-width: 100%;
    margin: 3rem 0;
    padding: 0;
  }
  
  .quote-block__container {
    background-color: #243660;
    padding: 2rem;
    width: 100%;
    color: white;
    text-align: center;
  }
  
  .quote-block__content {
    margin: 0 auto;
    font-size: 1.5rem;
    font-style: italic;
    line-height: 1.6;
  }
  
  .quote-block__content p {
    margin: 0;
  }
  
  @media (max-width: 768px) {
    .quote-block__container {
      padding: 1.5rem;
    }
    
    .quote-block__content {
      font-size: 1.2rem;
    }
  }


/* Bloc 7 - Les grands axes éducatifs */
.educational-axes {
  width: 100%;
  margin: 3rem auto;
  padding: 0;
}

.educational-axes__container {
  background-color: #F0F2F7;
  border-radius: 10px;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.05);
  padding: 2.5rem;
  width: 95%;
  margin: 0 auto;
  text-align: center;
}

.educational-axes__title {
  font-size: 2.5rem;
  color: #6658EA;
  margin-bottom: 2rem;
  text-align: center !important;
  font-weight: 700;
  display: block;
  width: 100%;
}

.educational-axes__title .title-highlight {
  color: #6658EA;
  font-weight: 700;
  display: block;
  font-size: 2.8rem;
  margin-top: 0.5rem;
  text-align: center !important;
}

/* Version mobile par défaut */
.educational-axes__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.5rem;
  margin: 0 auto;
  max-width: 1000px;
}

.educational-axes__item {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
  margin: 0 auto;
  margin-bottom: 2rem;
  background-color: white;
  border-radius: 10px;
  padding: 1.5rem;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease;
}

.educational-axes__item:hover {
  transform: translateY(-5px);
}

.educational-axes__image-container {
  width: 100%;
  max-width: 140px;
  height: 140px;
  background-color: white;
  border-radius: 8px;
  padding: 1.5rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.educational-axes__image-container img {
  width: 100%;
  max-width: 80px;
  height: auto;
  display: block;
}

.educational-axes__content {
  width: 100%;
  text-align: center;
}

.educational-axes__subtitle {
  font-size: 1.2rem;
  color: #6658EA;
  margin-bottom: 0.8rem;
  font-weight: 600;
  min-height: 3rem;
}

.educational-axes__text {
  font-size: 0.9rem;
  color: #4A4A4A;
  line-height: 1.5;
  text-align: center;
}

.educational-axes__text p {
  margin-bottom: 0.5rem;
}

.educational-axes__text strong {
  font-weight: 700;
  color: #333;
}

/* Style amélioré pour le bouton et son conteneur */
.educational-axes__cta {
  text-align: center;
  margin-top: 2.5rem;
  width: 100%;
  display: flex;
  justify-content: center;
}

.educational-axes__cta .btn {
  display: inline-block;
  background-color: #6658EA;
  color: white;
  padding: 0.8rem 2.5rem;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 600;
  font-size: 1rem;
  transition: all 0.3s ease;
  border: none;
  text-align: center;
  box-shadow: 0 4px 10px rgba(102, 88, 234, 0.3);
}

.educational-axes__cta .btn:hover {
  background-color: #5548C9;
  transform: translateY(-3px);
  box-shadow: 0 6px 15px rgba(102, 88, 234, 0.4);
}

/* Version desktop */
@media (min-width: 992px) {
  .educational-axes__title {
    font-size: 2.2rem;
  }
  
  .educational-axes__title .title-highlight {
    font-size: 2.4rem;
  }
  
  .educational-axes__cta .btn {
    padding: 0.7rem 2rem;
    font-size: 0.95rem;
  }

  .educational-axes__items {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
  
  .educational-axes__item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
  }
  
  .educational-axes__image-container {
    flex: 0 0 140px;
    margin-right: 1.5rem;
    margin-bottom: 0;
  }
  
  .educational-axes__content {
    flex: 1;
    text-align: left;
  }
  
  .educational-axes__subtitle {
    text-align: left;
  }
  
  .educational-axes__text {
    text-align: left;
  }
}

/* Style amélioré pour le bouton et son conteneur */
.educational-axes__cta {
  text-align: center;
  margin-top: 2.5rem;
  width: 100%;
  display: flex;
  justify-content: center;
}

.educational-axes__cta .btn {
  display: inline-block;
  background-color: #6658EA;
  color: white;
  padding: 0.8rem 2.5rem;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 600;
  font-size: 1rem;
  transition: all 0.3s ease;
  border: none;
  text-align: center;
  box-shadow: 0 4px 10px rgba(102, 88, 234, 0.3);
}

.educational-axes__cta .btn:hover {
  background-color: #5548C9;
  transform: translateY(-3px);
  box-shadow: 0 6px 15px rgba(102, 88, 234, 0.4);
}

/* Ajustement pour tablettes */
@media (min-width: 768px) and (max-width: 991px) {
  .educational-axes__container {
    padding: 2rem 1.5rem;
  }
  
  .educational-axes__title {
    font-size: 2rem;
  }
  
  .educational-axes__title .title-highlight {
    font-size: 2.2rem;
  }
  
  .educational-axes__items {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  
  .educational-axes__item {
    flex: 0 0 calc(50% - 1rem);
    margin-bottom: 2rem;
  }
  
  .educational-axes__cta .btn {
    padding: 0.7rem 1.8rem;
    font-size: 0.9rem;
  }
}

/* Ajustement pour mobiles */
@media (max-width: 767px) {
  .educational-axes__container {
    padding: 1.5rem 1rem;
  }
  
  .educational-axes__title {
    font-size: 1.8rem;
  }
  
  .educational-axes__title .title-highlight {
    font-size: 2rem;
  }
  
  .educational-axes__cta {
    margin-top: 2rem;
  }
  
  .educational-axes__cta .btn {
    padding: 0.6rem 1.5rem;
    font-size: 0.9rem;
    width: 80%;
    max-width: 300px;
  }
}






  /* Bloc Home Presentation - Bienvenue dans l'odyssée du business */
/* Bloc Home Presentation - Bienvenue dans l'odyssée du business */
/* Bloc Home Presentation - Bienvenue dans l'odyssée du business */
.home-presentation {
  position: relative;
  width: 100%;
  min-height: 100vh;
  background-color: #ffffff;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 2rem;
  box-sizing: border-box; /* Assure que le padding ne s'ajoute pas à la largeur */
}

/* BACKGROUND full size */
.home-presentation__background {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.home-presentation__background img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 1; /* Opacité mise à 1 pour rendre l'image normale */
  z-index: -1;
}

/* CONTAINER CENTRAL */
.home-presentation__container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  gap: 4rem;
  z-index: 2;
  position: relative;
  margin: 0 auto; /* Centre le conteneur */
  padding: 0; /* Supprime le padding qui pourrait causer des décalages */
}

/* CONTENU DE GAUCHE */
.home-presentation__left {
  flex: 0 0 45%; /* Fixe la largeur à 45% */
  max-width: 75%;
  padding: 2.5rem;
  background-color: rgba(255, 255, 255, 0.95);
  text-align: left;
  border-radius: 20px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.08);
  position: relative;
  z-index: 2;
  margin: 0; /* Supprime toutes les marges */
}

.home-presentation__logo-odyssee {
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.home-presentation__logo-odyssee img {
  height: 40px;
  width: auto;
  display: block;
  margin: 0; /* Supprime les marges des images */
}

.home-presentation__subtitle {
  font-size: 2.8rem;
  font-weight: 700;
  color: #1c1c1c;
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 2rem;
  padding: 0; /* Supprime le padding */
}

.home-presentation__description {
  font-size: 1.1rem;
  color: #333;
  line-height: 1.8;
  margin-bottom: 1.5rem;
  margin-top: 0;
  padding: 0; /* Supprime le padding */
}

.home-presentation__description p {
  margin-bottom: 1rem;
  margin-top: 0;
}

.home-presentation__description p:last-child {
  margin-bottom: 0; /* Supprime la marge inférieure du dernier paragraphe */
}

.home-presentation__description strong {
  font-weight: 700;
  color: #000;
}

.home-presentation__description em {
  font-style: italic;
  font-weight: 700;
  color: #333;
}

.home-presentation__cta {
  margin-top: 2rem;
  margin-bottom: 0;
  width: 100%;
}


/* VISUEL À DROITE (Personnages / Graphiques) */
.home-presentation__right {
  flex: 0 0 55%; /* Fixe la largeur à 55% */
  max-width: 55%;
  z-index: 1;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0; /* Supprime toutes les marges */
  padding: 0; /* Supprime tout le padding */
}

.home-presentation__right img {
  width: 100%;
  height: auto;
  object-fit: contain;
  max-height: 80vh;
  margin: 0; /* Supprime les marges des images */
  display: block; /* Évite l'espace blanc sous l'image */
}

.floating-elements {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.floating-element {
  position: absolute;
  margin: 0; /* Supprime les marges qui pourraient causer des décalages */
}

.floating-element--diagram {
  top: 15%;
  right: 10%; /* Ajusté pour meilleur positionnement */
  width: 120px;
  height: auto;
  z-index: 3;
}

.floating-element--device {
  top: 40%;
  left: 10%; /* Ajusté pour meilleur positionnement */
  width: 180px;
  height: auto;
  z-index: 2;
}

/* === RESPONSIVE === */
@media (max-width: 1200px) {
  .home-presentation__container {
    max-width: 100%;
    padding: 0 2rem;
  }
  
  .home-presentation__left,
  .home-presentation__right {
    flex: 0 0 48%;
    max-width: 48%;
  }
  
  .floating-element--diagram {
    width: 100px;
    top: 10%;
    right: 5%;
  }
  
  .floating-element--device {
    width: 150px;
    left: 5%;
  }
}

@media (max-width: 992px) {
  .home-presentation {
    min-height: auto;
    padding: 3rem 1.5rem;
  }
  
  .home-presentation__container {
    flex-direction: column;
    gap: 2rem;
    margin: 0 auto; /* Garde le centrage */
    padding: 0; /* Maintient l'absence de padding */
    width: 90%; /* Contrôle la largeur pour éviter les débordements */
  }
  
  .home-presentation__left,
  .home-presentation__right {
    flex: 0 0 100%;
    max-width: 100%;
    margin: 0 auto; /* Centre les éléments */
  }
  
  .home-presentation__left {
    order: 1;
    padding: 2rem; /* Maintient un bon padding */
  }
  
  .home-presentation__right {
    order: 2;
    margin-top: 0; /* Supprime la marge en haut */
    padding: 0; /* Supprime le padding */
  }
  
  .home-presentation__right img {
    max-height: 50vh;
    width: auto;
    margin: 0 auto; /* Centre l'image */
  }
  
  .home-presentation__title,
  .home-presentation__subtitle {
    font-size: 2.2rem;
    margin-top: 0;
    margin-bottom: 1rem;
  }
  
  .home-presentation__cta {
    width: 100%;
  }
  
  .floating-element--diagram {
    top: 5%;
    right: 10%;
    width: 80px;
  }
  
  .floating-element--device {
    top: 30%;
    left: 5%;
    width: 120px;
  }
}

@media (max-width: 768px) {
  .home-presentation__left {
    padding: 1.5rem;
    margin: 0 1rem; /* Marge horizontale fixe */
    width: calc(100% - 2rem); /* Largeur ajustée pour tenir compte des marges */
    max-width: none;
    box-sizing: border-box; /* Garantit que le padding est inclus dans la largeur */
  }
  
  .home-presentation__container {
    gap: 1.5rem;
    width: 100%; /* Largeur complète */
    padding: 0; /* Supprime tout padding */
    margin: 0; /* Supprime toutes marges */
  }
  
  .home-presentation__left {
    padding: 1.5rem;
    margin: 0 1rem; /* Ajoute une marge horizontale contrôlée */
    width: calc(100% - 2rem); /* Largeur ajustée pour les marges */
    max-width: none;
    border-radius: 10px; /* Réduit un peu le rayon pour mobile */
  }
  
  .home-presentation__logos {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
    margin-top: 0;
  }
  
  .home-presentation__logo-eu img,
  .home-presentation__logo-education img {
    height: 45px;
    margin: 0; /* Supprime les marges */
  }
  
  .home-presentation__logo-odyssee {
    margin-top: 1.5rem;
    margin-bottom: 1rem;
  }
  
  .home-presentation__logo-odyssee img {
    height: 30px;
    margin: 0; /* Supprime les marges */
  }
  
  .home-presentation__title,
  .home-presentation__subtitle {
    font-size: 1.8rem;
    margin-top: 0;
    margin-bottom: 1rem;
  }
    
  .home-presentation__cta {
    margin-top: 1.5rem;
    margin-bottom: 0;
    width: 100%;
    padding: 0; /* Supprime tout padding */
    box-sizing: border-box;
  }
  
  .home-presentation__cta .btn {
    width: 100%;
    display: block;
    padding: 0.9rem 0; /* Ajuste le padding horizontal à 0 */
    text-align: center;
    box-sizing: border-box;
    border-radius: 30px;
    margin: 0; /* Supprime les marges */
  }
  
  .home-presentation__right {
    width: 100%;
    padding: 0 1rem; /* Ajoute un petit padding horizontal */
    margin: 0;
    max-width: none;
  }
  
  .floating-element--diagram,
  .floating-element--device {
    display: none; /* Masquer les éléments flottants sur mobile */
  }
}

@media (max-width: 576px) {
  .home-presentation__left {
    padding: 1.25rem;
    margin: 0 0.75rem; /* Marge horizontale réduite pour les très petits écrans */
    width: calc(100% - 1.5rem); /* Ajuste la largeur en conséquence */
  }
  
  .home-presentation__container {
    gap: 1rem;
  }
  
  .home-presentation__left {
    padding: 1.25rem;
    margin: 0 0.75rem; /* Réduit légèrement la marge latérale */
    width: calc(100% - 1.5rem); /* Ajuste la largeur en conséquence */
  }
  
  .home-presentation__logo-eu img,
  .home-presentation__logo-education img {
    height: 40px;
  }
  
  .home-presentation__logo-odyssee {
    margin-top: 1.25rem;
    margin-bottom: 0.75rem;
  }
  
  .home-presentation__logo-odyssee img {
    height: 25px;
  }
  
  .home-presentation__title,
  .home-presentation__subtitle {
    font-size: 1.6rem;
    margin-bottom: 0.75rem;
  }
  
  .home-presentation__description {
    font-size: 1rem;
    margin-bottom: 1.25rem;
    line-height: 1.6;
  }
  
  .home-presentation__cta {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }
  
  .home-presentation__cta .btn {
    margin-left: 0;
    margin-right: 0;
    border-radius: 25px; /* Légèrement réduit pour les petits écrans */
  }
  
  .home-presentation__right {
    padding: 0 0.75rem;
  }
  
  .home-presentation__right img {
    max-height: 40vh;
  }
}






/* Bloc Home Presentation bloc 1 AVEC LES CITATIONS */


.business-game-wrapper {
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 30px;
}

.left-side {
  padding-right: 20px;
}


.business-game-school .presentation p {
  margin-bottom: 20px;
}

.business-game-school .presentation ul {
  margin: 20px 0;
  padding-left: 20px;
}

.business-game-school .presentation li {
  margin-bottom: 10px;
  position: relative;
  padding-left: 10px;
  font-size: 16px;
  line-height: 1.5;
}

.business-game-school .presentation li::before {
  content: "•";
  position: absolute;
  left: -15px;
  color: white;
  font-weight: bold;
}

.business-game-school .cta-button:hover {
  background-color: #4a5fef;
}

.business-game-school .quotes {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.business-game-school .quote {
  background-color: white;
  border-radius: 20px;
  padding: 25px;
  color: #333;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* Styles pour que les éléments ressemblent à l'image */
.business-game-school .title,
.business-game-school .subtitle {
  margin-top: 0;
}

/* Styles de mise en gras pour les éléments de liste */
.business-game-school strong {
  font-weight: 700;
}

/* Styles responsive */
@media (max-width: 992px) {
  .business-game-wrapper {
    grid-template-columns: 1fr;
  }
  
  .left-side {
    padding-right: 0;
  }
  
  .right-side {
    margin-top: 30px;
  }
}

@media (max-width: 768px) {
  .business-game-school {
    padding: 40px 20px;
  }
  
  .business-game-school .title {
    font-size: 28px;
  }
  
  .business-game-school .subtitle {
    font-size: 22px;
  }
  
  .business-game-school .presentation {
    font-size: 16px;
  }
}


/* Bloc 2 - Citation Home */
.quote-block-home__container {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px 20px;
  text-align: center;
}

.quote-block-home__content strong {
  font-weight: 700;
  font-style: normal;
}

.quote-author {
  font-style: normal;
  font-weight: 400;
  margin-left: 8px;
  font-size: 18px;
  color: #444;
}


.testimonials-container {
  margin: 0 auto;
  padding: 0 20px;
}

.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.testimonial-card {
  background-color: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  height: 100%;
}

.testimonial-logo {
  background-color: #fff;
  padding: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 120px;
  border-bottom: 1px solid #eaeaea;
}

.testimonial-logo img {
  max-width: 100%;
  max-height: 80px;
  object-fit: contain;
}

.testimonial-content {
  padding: 20px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  font-size: 1rem;
  line-height: 1.6;
  color: #333;
}

.testimonial-content p {
  margin-bottom: 10px;
  font-weight: 500;
}

.testimonial-content p:last-child {
  margin-bottom: 0;
}

.testimonial-source {
  font-style: italic;
  color: #666;
  font-size: 0.85rem;
  margin-top: auto;
  text-align: right;
}

.testimonial-author {
  font-weight: 600;
  color: #2c3e50;
  font-size: 0.85rem;
  margin-top: 5px;
  text-align: right;
}

/* Responsive design */
@media (max-width: 992px) {
  .testimonials-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .testimonials-section {
    padding: 40px 0;
  }
  
  .testimonials-title {
    text-align: center;
    font-size: 2.2rem;
    color: #ffffff;
    margin-bottom: 40px;
    font-weight: 600;
  }
  
  .testimonials-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .testimonial-logo {
    height: 100px;
  }
  
  .testimonial-logo img {
    max-height: 60px;
  }
}

.testimonials-cta {
  text-align: left;
  margin-top: 40px;
}

@media (max-width: 768px) {
  .testimonials-cta {
    text-align: center;
    margin-top: 30px;
  }
}

.odyssee-en-chiffres h2 {
  font-size: 2.5rem;
  margin-bottom: 3rem;
  color: white;
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
}

.stats-container {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 2rem;
  flex-grow: 1;
  position: relative;
  width: 100%;
}

/* Connecting lines between figures */
.stats-container::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  border-top: 1px dashed rgba(255, 255, 255, 0.3);
  z-index: 0;
}

.stats-container::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 1px;
  border-left: 1px dashed rgba(255, 255, 255, 0.3);
  z-index: 0;
}

.logo-container {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  padding: 0 2rem;
}

.logo-container img {
  max-width: 100%;
  height: auto;
}

.stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: white;
  text-align: center;
  padding: 1rem;
  position: relative;
  z-index: 2;
}

.stat-icon {
  margin-bottom: 0rem;
}

.stat-icon img {
  width: 60px;
  height: 60px;
}

.stat-content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.plus-de {
  font-size: 1rem;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}

.highlight {
  font-size: 4rem;
  font-weight: bold;
  line-height: 1.1;
  margin-bottom: 0.5rem;
}

.description {
  font-size: 1rem;
  line-height: 1.4;
  text-transform: uppercase;
}

.stat-item.top-left { grid-area: 1 / 1 / 2 / 2; }
.stat-item.top-right { grid-area: 1 / 3 / 2 / 4; }
.stat-item.bottom-left { grid-area: 2 / 1 / 3 / 2; }
.stat-item.bottom-right { grid-area: 2 / 3 / 3 / 4; }

@media (max-width: 1200px) {
  .blue-rectangle {
    padding: 2.5rem 3rem;
  }
  
  .highlight {
    font-size: 3.5rem;
  }
}

@media (max-width: 992px) {
  .blue-rectangle {
    padding: 2rem;
  }
  
  .highlight {
    font-size: 3rem;
  }
  
  .description {
    font-size: 0.9rem;
  }
}

@media (max-width: 768px) {
  .blue-rectangle {
    padding: 2rem 1.5rem;
    height: auto;
  }
  
  .odyssee-en-chiffres h2 {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
  
  .stats-container {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(5, auto);
    gap: 2.5rem;
  }
  
  .stats-container::before,
  .stats-container::after {
    display: none;
  }
  
  .logo-container {
    grid-column: 1;
    grid-row: 3;
    margin: 2rem 0;
    padding: 0;
  }
  
  .logo-container img {
    max-width: 250px;
  }
  
  .stat-item.top-left { grid-area: 1 / 1 / 2 / 2; }
  .stat-item.top-right { grid-area: 2 / 1 / 3 / 2; }
  .stat-item.bottom-left { grid-area: 4 / 1 / 5 / 2; }
  .stat-item.bottom-right { grid-area: 5 / 1 / 6 / 2; }
  
  .highlight {
    font-size: 2.8rem;
  }
}

@media (max-width: 480px) {
  .blue-rectangle {
    padding: 1.5rem 1rem;
    border-radius: 8px;
  }
  
  .odyssee-en-chiffres h2 {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
  }
  
  .stats-container {
    gap: 2rem;
  }
  
  .highlight {
    font-size: 2.5rem;
  }
  
  .description {
    font-size: 0.8rem;
  }
  
  .plus-de {
    font-size: 0.8rem;
  }
  
  .stat-icon img {
    width: 50px;
    height: 50px;
  }
}



/* Bloc 5 - Galerie Photos */
.gallery-section {
  width: 100%;
  margin: 3rem auto;
  padding: 0;
}

.gallery-section-fullwidth {
  max-width: 100%;
}

.gallery-section .field_titre {
  font-size: 2.2rem;
  color: #fff;
  margin-bottom: 1rem;
  font-weight: 600;
  text-align: center;
}

.gallery-section .field_sous_titre {
  font-size: 1.2rem;
  color: #fff;
  margin-bottom: 0.5rem;
  font-weight: 500;
  text-align: center;
}

.gallery-section .field_sous_titre1 {
  font-size: 1rem;
  color: #fff;
  margin-bottom: 2rem;
  line-height: 1.5;
  text-align: center;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/* Conteneur de la galerie */
.gallery-placeholder {
  width: 100%;
  overflow: hidden;
  margin: 2rem 0;
}

.galerie-horizontale {
  display: flex;
  flex-wrap: nowrap;
  gap: 20px;
  margin: 30px 0;
  overflow-x: auto;
  padding: 10px 0;
  width: 100%;
  justify-content: flex-start;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  
  
}

.galerie-horizontale::-webkit-scrollbar {
  display: none;
}

.galerie-horizontale::-webkit-scrollbar-track {
  background: #f0f0f0;
  border-radius: 10px;
}

.galerie-horizontale::-webkit-scrollbar-thumb {
  background-color: #6658EA;
  border-radius: 10px;
}

.gallery-item-circle {
  flex: 0 0 auto;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gallery-item-circle:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.gallery-image-circle {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/* Responsive */
@media (max-width: 768px) {
  .gallery-section .container {
    padding: 1.5rem;
  }
  
  .gallery-section .field_titre {
    font-size: 1.8rem;
  }
  
  .gallery-section .field_sous_titre {
    font-size: 1.1rem;
  }
  
  .gallery-item-circle {
    width: 150px;
    height: 150px;
  }
  
  .field_bouton {
    padding: 0.7rem 1.5rem;
    font-size: 0.9rem;
  }
}









/* Bloc 6 - Grands axes éducatifs */
.educational-axes-section {
  padding: 0px 0;
  background-color: #fff;
}

.educational-axes-container {
  margin: 0 auto;
  padding: 0 20px;
  text-align: center;
}

.educational-axes-title {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 50px;
  color: #333;
}

.educational-axes-highlight {
  color: #6658ea;
  font-weight: 700;
}

.educational-axes-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  margin-bottom: 40px;
  align-items: flex-start;
}


.educational-axis-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
}

.educational-axis-image {
  width: 100%;
  max-width: 180px;
  margin-bottom: 20px;
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.educational-axis-image img {
  width: 100%;
  max-width: 100%;
  max-height: 180px;
  object-fit: contain;
}

.educational-axis-label {
  font-size: 1rem;
  font-weight: 600;
  color: #333;
  text-align: center;
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.educational-axes-cta {
  margin-top: 30px;
  text-align: left;
}

/* Responsive design */
@media (max-width: 992px) {
  .educational-axes-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 20px;
  }
}

@media (max-width: 576px) {
  .educational-axes-section {
    padding: 40px 0;
  }
  
  .educational-axes-title {
    font-size: 1.8rem;
    margin-bottom: 30px;
  }
  
  .educational-axes-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  
  .educational-axis-image {
    max-width: 150px;
  }
}



/* Bloc 7 - Partenariats */
/* Bloc 7 - Partenariats */
.partnerships-section {
  padding: 60px 0;
  background-color: #fff;
}

.partnerships-container {
  margin: 0 auto;
  padding: 0 20px;
  text-align: center;
}

.partnerships-title {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 50px;
  color: #333;
  position: relative;
  display: inline-block;
}

.partnerships-highlight {
  color: #6658ea;
  font-weight: 700;
}

.partnerships-grid {
  display: flex;
  flex-direction: column;
  gap: 80px; /* Augmenté de 60px à 80px pour plus d'espace entre les deux groupes */
}

.partnerships-logos-group {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
}



.partnerships-logos-group img {
  max-height: 80px;
  width: auto;
  object-fit: contain;
  margin: 10px;
}

/* Ajustements spécifiques pour les différents types de logos */
.partnerships-logos-group.institutional img {
  max-height: 70px;
}


/* Correction pour les images dans les champs multi-valeurs */
.partnerships-logos-group .field__item {
  display: inline-block;
  margin: 10px;
}

.partnerships-logos-group .field__item img {
  max-height: 70px;
  width: auto;
  object-fit: contain;
}

/* Correction spécifique pour le logo Forekasts qui est trop grand */
.partnerships-logos-group img[src*="forekasts"] {
  max-height: 45px !important;
  max-width: 180px !important;
}

/* Responsive design */
@media (max-width: 992px) {
  .partnerships-section {
    padding: 50px 0;
  }
  
  .partnerships-title {
    font-size: 2rem;
    margin-bottom: 40px;
  }
  
  .partnerships-grid {
    gap: 40px;
  }
  
  .partnerships-logos-group.institutional {
    padding-bottom: 20px;
  }
  
  .partnerships-logos-group.private {
    padding-top: 20px;
  }
  
  .partnerships-logos-group .field__item img {
    max-height: 60px;
    margin: 8px;
  }
  
  .partnerships-logos-group img[src*="forekasts"] {
    max-height: 40px !important;
    max-width: 160px !important;
  }
}

@media (max-width: 768px) {
  .partnerships-section {
    padding: 40px 0;
  }
  
  .partnerships-title {
    font-size: 1.8rem;
    margin-bottom: 30px;
  }
  
  .partnerships-grid {
    gap: 30px;
  }
  
  .partnerships-logos-group.institutional {
    padding-bottom: 15px;
  }
  
  .partnerships-logos-group.private {
    padding-top: 15px;
  }
  
  .partnerships-logos-group .field__item img {
    max-height: 50px;
    margin: 6px;
  }
  
  .partnerships-logos-group img[src*="forekasts"] {
    max-height: 35px !important;
    max-width: 140px !important;
  }
}

@media (max-width: 576px) {
  .partnerships-section {
    padding: 30px 0;
  }
  
  .partnerships-title {
    font-size: 1.6rem;
    margin-bottom: 25px;
  }
  
  .partnerships-grid {
    gap: 20px;
  }
  
  .partnerships-logos-group.institutional {
    padding-bottom: 10px;
  }
  
  .partnerships-logos-group.private {
    padding-top: 10px;
  }
  
  .partnerships-logos-group .field__item img {
    max-height: 45px;
    margin: 5px;
  }
  
  .partnerships-logos-group img[src*="forekasts"] {
    max-height: 30px !important;
    max-width: 120px !important;
  }
}


/* Bloc Programme - Nos programmes */
/* Programme styles */
.programme-container {
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: Arial, sans-serif;
}

.programme-titre {
  font-size: 2.2rem;
  color: #333;
  margin: 0;
  font-weight: normal;
}

.titre-blue {
  color: #4169E1;
}

.programme-sous-description {
  font-size: 1.2rem;
  color: #333;
  margin-top: 10px;
}

.programme-content {
  display: flex;
  background-color: #1D39B0;
  min-height: 500px;
  margin: 0; /* S'assure qu'il n'y a pas de marge externe */
  padding: 0; /* S'assure qu'il n'y a pas de padding externe */
}

.programme-left {
  flex: 0 0 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 60px 20px 60px 40px; /* Ajuste le padding droit */
  padding: 60px 40px;
  color: white;
  text-align: center;
}

.programme-right {
  flex: 0 0 50%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 40px 40px 40px 0;
}

.programme-image {
  margin-bottom: 40px;
  width: 100px;
  height: 100px;
}




.programme-image img {
  max-width: 100%;
  height: auto;
}

.programme-texte {
  margin-bottom: 30px;
  text-align: center;
  max-width: 500px;
  line-height: 1.5;
}

.programme-sous-titre {
  font-size: 2.5rem;
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 30px;
  width: 100%;
  text-align: center;
}

.programme-citation {
  font-style: italic;
  margin: 20px 0;
  line-height: 1.6;
  max-width: 600px;
  text-align: center;
}

.programme-video {
  width: 100%;
  max-width: 600px;
  border-radius: 12px;
  overflow: hidden;
  background-color: #000;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  margin-left: -20px
}

.programme-video iframe,
.programme-video video {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  display: block;
  border: none;
}

/* Hide field labels */
.field__label {
  display: none !important;
}

/* Responsive styles */
@media screen and (max-width: 992px) {
  .programme-content {
    flex-direction: column;
  }
  
  .programme-left,
  .programme-right {
    flex: 0 0 100%;
    padding: 30px 20px;
  }
  
  .programme-sous-titre {
    font-size: 2rem;
  }
  
  .programme-titre {
    font-size: 1.8rem;
  }

/* Ajustement de l'icône pour tablette */
.programme-icon {
  width: 90px;
  height: 90px;
}

.programme-right {
  justify-content: center; /* Recentre en mode responsive */
}

.programme-video {
  margin-left: 0; /* Retire la marge négative en responsive */
}

}

@media screen and (max-width: 576px) {
  .programme-header {
    padding: 15px 20px;
  }
  
  .programme-titre {
    font-size: 1.5rem;
  }
  
  .programme-sous-description {
    font-size: 1rem;
  }

  /* Modification du style de l'icône pour correspondre à l'image */
/*.programme-icon {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
  width: 80px;
  height: 80px;
  
  border-radius: 50%;
  padding: 5px;
}*/

.programme-image {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100px;  /* Taille réduite comme dans l'image 2 */
  height: 100px;
  margin-bottom: 40px;
}



  .programme-image img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  height: auto;
  filter: brightness(0) invert(1); /* Rend l'image blanche */
  }

  
  .programme-sous-titre {
    font-size: 1.6rem;
  }
  
  .programme-image {
    width: 80px;
    height: 80px;
    margin-bottom: 30px;
  }
  
  .programme-left {
    padding: 30px 15px;
  }
  
  .programme-right {
    padding: 20px 15px;
  }
}


/* Bloc Programme Bloc 2 - Business Game School */
/* Styles généraux pour la section */
.programme-bloc-2-section {
  background-color: #E3E8F4;
  margin: 0;
  padding: 30px 0;
  font-family: Arial, sans-serif;
}

.programme-bloc-2-container {
  margin: 0 auto;
  padding: 15px;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.05);
}

/* Conteneur pour le contenu principal */
.programme-bloc-2-content {
  display: flex;
  flex-direction: column;
}

/* Style du titre - maintenant inclus dans le conteneur droit */
.programme-bloc-2-title {
  color: #9c4dcc;
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 20px;
  text-align: left;
}

/* Styles pour les images */
.programme-bloc-2-images {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 20px;
  width: 100%;
}

.programme-bloc-2-image img {
  width: 100%;
  height: auto;
  border-radius: 5px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Conteneur pour le titre, le texte et le bouton sur la partie droite */
.programme-bloc-2-right-content {
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* Styles pour le texte */
.programme-bloc-2-text {
  color: #333;
  line-height: 1.6;
  padding: 0;
  width: 100%;
}

/* Styles spécifiques pour le contenu texte */
.programme-bloc-2-text h2 {
  color: #9c4dcc;
  font-size: 1.8rem;
  margin-top: 10px;
  margin-bottom: 15px;
}

.programme-bloc-2-text p {
  margin-bottom: 15px;
  font-size: 1rem;
}

/* Mise en évidence des éléments importants */
.programme-bloc-2-text strong {
  font-weight: 700;
}

/* Style pour ODYSSÉE */
.programme-bloc-2-text strong:contains("ODYSSÉE") {
  color: #333;
  font-weight: 700;
}

/* Style pour BUSINESS GAME SCHOOL */
.programme-bloc-2-text strong:contains("BUSINESS GAME SCHOOL") {
  color: #000;
  font-weight: 900;
}

/* Style pour le texte en gras "numérique, basé sur une plateforme pédagogique 100% WEB" */
.programme-bloc-2-text strong:contains("numérique") {
  color: #000;
  font-weight: 700;
}

/* Style pour "chefs d'entreprise" */
.programme-bloc-2-text strong:contains("chefs d'entreprise") {
  color: #000;
  font-weight: 700;
}

/* Style pour "le monde de l'entreprise" */
.programme-bloc-2-text strong:contains("le monde de l'entreprise") {
  color: #000;
  font-weight: 700;
}

/* Style pour "les bases de l'entrepreneuriat" */
.programme-bloc-2-text strong:contains("les bases de l'entrepreneuriat") {
  color: #000;
  font-weight: 700;
}

/* Style pour la section d'immersion */
.programme-bloc-2-text p:contains("UNE IMMERSION") {
  font-weight: 700;
  color: #000;
  text-transform: uppercase;
}

/* Style pour les sections de réalité augmentée et challenges */
.programme-bloc-2-text p:contains("Une réalité augmentée"),
.programme-bloc-2-text p:contains("Mise en situation"),
.programme-bloc-2-text p:contains("Des challenges") {
  font-weight: 700;
  margin-bottom: 10px;
}

/* Style pour le challenge final */
.programme-bloc-2-text p:contains("L'équipe qui a réalisé") {
  margin-bottom: 25px;
}

/* Style pour le texte "« Le challenge ! »" */
.programme-bloc-2-text p:contains("« Le challenge ! »") em {
  font-style: normal;
  font-weight: 700;
}

/* Bouton CTA */
.programme-bloc-2-cta {
  display: flex;
  justify-content: flex-start;
  margin-top: 20px;
  align-self: flex-start;
}

.programme-bloc-2-cta a {
  display: inline-block;
  background-color: #6c5ce7;
  color: white;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 5px;
  font-weight: 600;
  transition: background-color 0.3s ease;
}

.programme-bloc-2-cta a:hover {
  background-color: #5649c0;
}

/* Responsive pour tablettes et desktop */
@media screen and (min-width: 768px) {
  .programme-bloc-2-content {
    flex-direction: row;
    gap: 10px;
    align-items: flex-start;
  }
  
  .programme-bloc-2-images {
    width: 45%;
    flex-shrink: 0;
  }
  
  .programme-bloc-2-right-content {
    width: 55%;
  }
  
  .programme-bloc-2-title {
    font-size: 2.8rem;
  }
  
  /* Assurer que le bouton reste sous le texte dans la colonne droite */
  .programme-bloc-2-cta {
    margin-top: 15px;
  }
}

/* Améliorations spécifiques pour grands écrans */
@media screen and (min-width: 1200px) {
  .programme-bloc-2-container {
    padding: 30px !important;
  }
  
  .programme-bloc-2-images {
    width: 40%;
  }
  
  .programme-bloc-2-right-content {
    width: 60%;
  }
}

/* Style mobile spécifique */
@media screen and (max-width: 767px) {
  .programme-bloc-2-content {
    flex-direction: column;
  }
  
  .programme-bloc-2-images {
    order: 1;
    width: 100%;
    margin-top: 0; /* Pas de décalage sur mobile */
  }
  
  .programme-bloc-2-right-content {
    order: 2;
    width: 100%;
  }
}


/* Bloc Programme Bloc 3 - Reboost */



.programme-bloc-3-section {
  background-color: #E8E8F4;
  padding: 60px 0;
  width: 100%;
}

.programme-bloc-3-container {
  margin: 0 auto;
  padding: 0 20px;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.05);
}

.programme-bloc-3-title {
  font-size: 2.5rem;
  margin-bottom: 30px;
  padding-top: 30px;
  padding-left: 30px;
  color: #333;
  font-weight: 700;
}

.programme-bloc-3-title strong,
.programme-bloc-3-title span:first-child {
  color: #9c4dcc;
  font-weight: 700;
}

.programme-bloc-3-content {
  display: flex;
  padding: 0 30px 30px;
  gap: 40px;
}

.programme-bloc-3-text {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.programme-bloc-3-description {
  color: #333;
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 30px;
}

.programme-bloc-3-description p {
  margin-bottom: 15px;
}

.programme-bloc-3-description p:first-child {
  font-weight: 500;
}

.programme-bloc-3-description strong {
  font-weight: 700;
  color: #000;
}

.programme-bloc-3-description p:contains("L'état d'esprit d'Odyssée") {
  font-weight: 600;
}

.programme-bloc-3-description p:contains("Doper leur confiance") {
  font-weight: 600;
}

.programme-bloc-3-description p:contains("Dans la continuité de BUSINESS GAME SCHOOL") {
  font-weight: 600;
}

.programme-bloc-3-description p:contains("Reboost permet ainsi") {
  font-weight: 600;
}

.programme-bloc-3-description p:contains("Cette double approche") {
  font-weight: 600;
}

.programme-bloc-3-image {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 30px;
}

.programme-bloc-3-image img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  
}

.programme-bloc-3-cta {
  margin-top: auto;
}

.programme-bloc-3-cta a {
  display: inline-block;
  background-color: #6c5ce7;
  color: white;
  padding: 10px 25px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 500;
  font-size: 1rem;
  transition: all 0.3s ease;
}

.programme-bloc-3-cta a:hover {
  background-color: #5649c0;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(108, 92, 231, 0.2);
}

/* Responsive design */
@media (max-width: 992px) {
  .programme-bloc-3-section {
    padding: 50px 0;
  }
  
  .programme-bloc-3-title {
    font-size: 2.2rem;
    padding-top: 25px;
    padding-left: 25px;
  }
  
  .programme-bloc-3-content {
    padding: 0 25px 25px;
    gap: 30px;
    
  }
  
  .programme-bloc-3-description {
    font-size: 0.95rem;
  }
}

@media (max-width: 768px) {
  .programme-bloc-3-section {
    padding: 40px 0;
  }
  
  .programme-bloc-3-title {
    font-size: 2rem;
    padding-top: 20px;
    padding-left: 20px;
    margin-bottom: 20px;
  }
  
  .programme-bloc-3-content {
    flex-direction: column-reverse;
    padding: 0 20px 20px;
    gap: 25px;
  }
  
  .programme-bloc-3-image {
    margin-bottom: 20px;
    padding-top: 30px;
  }
  
  .programme-bloc-3-cta {
    width: 100%;
   display: flex;
   justify-content: center;
  }
  
  .programme-bloc-3-cta a {
    width: 100%;
    max-width: 300px; /* largeur max pour ne pas être trop grand */
    box-sizing: border-box;
    text-align: center;
  }
}

@media (max-width: 576px) {
  .programme-bloc-3-section {
    padding: 30px 0;
  }
  
  .programme-bloc-3-container {
    padding: 0 15px;
  }
  
  .programme-bloc-3-title {
    font-size: 1.8rem;
    padding-top: 15px;
    padding-left: 15px;
    margin-bottom: 15px;
  }
  
  .programme-bloc-3-content {
    padding: 0 15px 15px;
    gap: 20px;
  }
  
  .programme-bloc-3-description {
    font-size: 0.9rem;
  }

  programme-bloc-3-cta {
    display: flex;
    justify-content: flex-start; /* aligne le bouton à gauche */
    padding-left: 10px; /* espace depuis le bord gauche */
  }
  
  .programme-bloc-3-cta a {
    width: 100%;
    max-width: 100%;
    padding: 12px 15px;
    font-size: 1rem;
    display: block;
    margin-left: 10px;
  }


}



/* Bloc Programme Bloc 4 - Citation */
.programme-bloc-4-section {
  width: 100%;
  background-color: #243660;
  padding: 30px 0;
  margin: 0;
}

.programme-bloc-4-container {
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.programme-bloc-4-quote {
  color: white;
  font-size: 1.3rem;
  font-style: italic;
  text-align: center;
  line-height: 1.5;
  max-width: 900px;
}

.programme-bloc-4-quote p {
  margin: 0;
}

/* Responsive design */
@media (max-width: 992px) {
  .programme-bloc-4-quote {
    font-size: 1.2rem;
    padding: 0 15px;
  }
}

@media (max-width: 768px) {
  .programme-bloc-4-section {
    padding: 25px 0;
  }
  
  .programme-bloc-4-quote {
    font-size: 1.1rem;
    padding: 0 10px;
  }
}

@media (max-width: 576px) {
  .programme-bloc-4-section {
    padding: 20px 0;
  }
  
  .programme-bloc-4-quote {
    font-size: 1rem;
    padding: 0 5px;
  }
}



/* Styles pour les paragraphes de documentation */
/* ... code existant ... */

/* Styles pour les paragraphes de documentation */
/* Styles pour la section de documentation */
/* Styles pour la section de documentation */
/* Styles pour la section de documentation avec une spécificité plus élevée */
.paragraph--type--v2-documentation.v2-documentation {
  padding: 20px 0 !important;
  margin: 40px auto !important;
  max-width: 1200px !important;
}

.paragraph--type--v2-documentation .documentation-title {
  color: #6658ea !important;
  font-size: 32px !important;
  margin-bottom: 20px !important;
  text-align: center !important;
  font-weight: 700 !important;
}

.paragraph--type--v2-documentation .documentation-container {
  background-color: #ffffff !important;
  border-radius: 15px !important;
  padding: 30px !important;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08) !important;
}

.paragraph--type--v2-documentation .content {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 30px !important;
}

.paragraph--type--v2-document-item.v2-document-item {
  width: 180px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  margin-bottom: 20px !important;
  transition: transform 0.3s ease !important;
}

.paragraph--type--v2-document-item.v2-document-item:hover {
  transform: translateY(-5px) !important;
}

.paragraph--type--v2-document-item.v2-document-item img {
  width: 130px !important;
  height: 180px !important;
  object-fit: cover !important;
  border-radius: 5px !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1) !important;
  margin-bottom: 12px !important;
}

.paragraph--type--v2-document-item.v2-document-item .title {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #333 !important;
  margin-top: 10px !important;
  line-height: 1.3 !important;
  max-width: 160px !important;
}

.paragraph--type--v2-document-item.v2-document-item a {
  text-decoration: none !important;
  color: inherit !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

/* Responsive design pour les documents avec spécificité plus élevée */
@media (max-width: 768px) {
  .paragraph--type--v2-documentation .content {
    justify-content: space-around !important;
    gap: 20px !important;
  }
  
  .paragraph--type--v2-document-item.v2-document-item {
    width: 150px !important;
  }
  
  .paragraph--type--v2-document-item.v2-document-item img {
    width: 110px !important;
    height: 160px !important;
  }
}

@media (max-width: 576px) {
  .paragraph--type--v2-documentation.v2-documentation {
    padding: 15px !important;
  }
  
  .paragraph--type--v2-documentation .documentation-title {
    font-size: 24px !important;
    margin-bottom: 15px !important;
  }
  
  .paragraph--type--v2-documentation .documentation-container {
    padding: 20px 15px !important;
  }
  
  .paragraph--type--v2-document-item.v2-document-item {
    width: 130px !important;
  }
  
  .paragraph--type--v2-document-item.v2-document-item img {
    width: 100px !important;
    height: 140px !important;
  }
}


/* FIX DNE 29 04 25 */
.home-presentation__background img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 1;
  z-index: -1;
}

.home-presentation {
  position: relative;
  width: 100%;
  min-height: 60vh;
}

body {
  font-family: system-ui;
}


/* Bloc Galerie Photos avec Owl Carousel */
/* Galerie Photos - Style du carrousel */
/* ... existing code ... */

/* Bloc Galerie Photos */
.photo-gallery-section {
  background-color: #1539c3;
  padding: 60px 0;
  text-align: center;
  color: white;
}

.photo-gallery-container {
  margin: 0 auto;
  padding: 0 20px;
}

.photo-gallery-title {
  font-size: 38px;
  font-weight: bold;
  margin-bottom: 30px;
  color: white;
  text-align: center;
}

.photo-gallery-description {
  font-size: 18px;
  max-width: 800px;
  margin: 0 auto 40px;
  line-height: 1.5;
}

/* Styles du carrousel */
.gallery-wrapper {
  position: relative;
  max-width: 1000px;
  margin: 0 auto 20px;
  overflow: hidden;
  display: flex;
  align-items: center;
}

.gallery-track-container {
  width: 100%;
  overflow: hidden;
  position: relative;
}

.gallery-track {
  display: flex;
  transition: transform 0.5s ease;
}

.gallery-item {
  flex: 0 0 auto;
  padding: 0 10px;
  box-sizing: border-box;
  width: 100%;
}

.gallery-image {
  width: 100%;
  height: 300px;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.gallery-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background-color: rgba(255, 255, 255, 0.3);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s;
}

.gallery-nav:hover {
  background-color: rgba(255, 255, 255, 0.5);
}

.prev-btn {
  left: 10px;
}

.next-btn {
  right: 10px;
}

.gallery-arrow {
  color: white;
  font-size: 18px;
  font-weight: bold;
}

.gallery-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-bottom: 30px;
}

.dot {
  width: 12px;
  height: 12px;
  background-color: rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.3s;
}

.dot.active {
  background-color: white;
}

.gallery-description {
  max-width: 800px;
  margin: 0 auto 30px;
  font-style: italic;
}

.photo-gallery-cta {
  margin-top: 30px;
}

.photo-gallery-button {
  display: inline-block;
  background-color: rgba(255, 255, 255, 0.2);
  color: white;
  padding: 12px 25px;
  border-radius: 5px;
  text-decoration: none;
  font-size: 16px;
  transition: background-color 0.3s;
  font-weight: 500;
}

.photo-gallery-button:hover {
  background-color: rgba(255, 255, 255, 0.3);
  transform: translateY(-2px);
}

/* Responsive */
@media (max-width: 992px) {
  .gallery-image {
    height: 250px;
  }
}

@media (max-width: 768px) {
  .photo-gallery-title {
    font-size: 30px;
  }
  
  .photo-gallery-description {
    font-size: 16px;
  }
  
  .gallery-image {
    height: 200px;
  }
  
  .gallery-nav {
    width: 35px;
    height: 35px;
  }
}

@media (max-width: 576px) {
  .photo-gallery-section {
    padding: 40px 0;
  }
  
  .gallery-image {
    height: 180px;
  }
}

/* ... existing code ... */

/* DNE 13 05 2025 */
.path-frontpage header#header {
  margin-bottom: -10px !important;
}
@media (min-width: 1100px) {
  .home-presentation__title {
    max-width: 70%;
  }
} 

.home-presentation__description {
  font-size: 0.9rem;
  color: #333;
  line-height: 1.4;
  margin-bottom: 1.5rem;
  margin-top: 0;
  padding: 0;
}

.home-presentation__logos {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  margin-top: 0; /* Assure qu'il n'y a pas de marge en haut */
}


.home-presentation__logo-eu img,
.home-presentation__logo-education img {
  height: 70px;
  width: auto;
  display: block;
  margin: 0; /* Supprime les marges des images */
}


.home-presentation__title {
  text-align: left !important;
  font-size: 1.8rem;
  font-weight: 700;
  color: #333;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem;
  padding: 0; /* Supprime le padding */
}


.business-game-school .quote p {
  font-style: italic;
  font-size: 16px;
  line-height: 1.5;
  margin: 0;
  font-weight: bold;
}

.business-game-school .presentation {
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 30px;
}


.business-game-school .title {
  font-weight: 700;
  margin-bottom: 10px;
  line-height: 1.2;
}

.business-game-school .subtitle {
  font-weight: 600;
  margin-bottom: 15px;
}



.home-presentation__cta .btn,
.business-game-school .cta-button,
.testimonials-button,
.field_bouton,
.educational-axes-button
 {
  background-color: #7360F2;
  color: #fff;
  padding: 0.6rem 1.5rem;
  border-radius: 10px;
  text-decoration: none;
  font-size: 1rem;
  font-weight: 600;
  box-shadow: 0 6px 20px rgba(115, 96, 242, 0.3);
  transition: all 0.3s ease;
  display: inline-block;
  margin: 0;
  text-align: center;
}

.home-presentation__cta .btn:hover,
.business-game-school .cta-button:hover,
.testimonials-button:hover,
.field_bouton:hover,
.educational-axes-button:hover
 {
  background-color: #5c4bd2;
  transform: scale(1.03);
}



.testimonials-title {
  text-align: center;
  color: #ffffff;
  margin-bottom: 40px;
  font-weight: 600;
}
/* Bloc 3 - Témoignages */
/* Bloc 3 - Témoignages */
.testimonials-section {
  padding: 60px 0 0 0;
  background-image: url(/modules/custom/xgit_front/img/fond-temoin.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  color: #f0f0f0;
}

.business-game-school {
  background: linear-gradient(135deg, #1a4de7 0%, #10268d  100%);
  color: white;
  padding: 60px 40px;
  font-family: Arial, sans-serif;
}


/* Bloc 4 - Chiffres clés */
.odyssee-en-chiffres {
  background-color: white;
  padding: 20px;
  margin:4rem 0;
  overflow: hidden;
}


.blue-rectangle {
  background: linear-gradient(-20deg, #25326d, #0a31de);
  border-radius: 10px;
  padding: 3rem 4rem;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
  box-sizing: border-box;
  min-height: 600px;
}


.partnerships-logos-group.private img {
  max-height: 60px;
  max-width: 200px;
}

h2.educational-axes-title,
h2.partnerships-title {
  color: #7360f2;
}


.gallery-section .container {
  background-color: #1431B4;
  border-radius: 0px;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.05);
  padding: 2.5rem 0;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
  border-bottom: none;
}

.site-footer {
  background-color: #283365 !important;
  color: #fff;
  display: flex;
  line-height: 60px;
  padding: 0px 20px !important;  
}
.site-footer a{
  text-decoration: none;
  color: #fff;
}

.site-footer svg {
  width: 20px;
  color: #FFF;
  margin: 0 5px;
}
.region.region-footer-fifth {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
  }

  .site-footer__bottom {
    margin: 0px;
    width: 100%;
    border: none;
  }

.site-footer .container {
  width: 100%;
}

.quote-block-home__content {
  max-width: 800px;
  font-size: 0.9em;
  line-height: 1.6;
  color: #222;
  font-weight: bold;
}

.quote-block-home__content p {
  margin: 0;
  font-style: italic;
  font-weight: 500;
}

/* ARTICLES */

.page-view-actualite .post-show div.img-teaser {
  height: 200px !important;
  background-size: 100% !important;
  margin: 10px;
}

.page-view-actualite article, .node--type-article .view-id-les_dernieres_actualites article {
  height: auto;
  background: #ffffff;
  height: auto;
  background: #ffffff;
  margin: 0 auto;
  box-shadow: 0px 20px 40px #2699fb33;
  border-radius: 15px;
  margin-bottom: 20px;
  padding: 20px;
}

article.post-show {
  display: flex
;
  flex-direction: column;
}

.titre-teaser h3 {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: bold;
  color: #000;
  text-decoration: none;
  line-height: 1.1rem;
}
.titre-teaser a {
  text-decoration: none;
}

.bouton-teaser a {
  padding: 8px 20px;
  background-color: #6869f6;
  color: #f0f0f0;
  border-radius: 4px;
  text-decoration: none;
  border: none;
  font-size: 0.8rem;
}

.extrait-teaser a {
  color: #454545;
  text-decoration: none;
  line-height: 1.3rem;
}

.meta-teaser {
  padding: 3px 0px 10px;
  min-height: 10px;
  font-size: 0.8rem;
  font-style: italic;
  color: #6c6c6c;
  font-weight: lighter;
}

h1.title {
  font-size: 2.5rem;
  font-weight: 500;
  padding: 20px 0px 10px 0px;
}

span.last-word {
  color: #6869f6;
}

div#main {
  padding: 0px;
}

.field--name-field-liste-des-documents .field__items {
  display: flex;
      width: 100%;
      max-width: 100%;
      flex-wrap: wrap;
      padding: 5px;
      justify-content: center;
      flex-direction: row;
}

.field--name-field-titre-de-l-encart .field__item {
  color: rgb(162, 90, 196);
  font-size: 1.4rem;
  font-weight: bold;
  padding: 10px 30px;
}

/*** FORMUALIRES **/

form#webform-submission-contact-add-form {
  display: flex;
  flex-direction: column;
}

div#edit-flexbox {
  flex-direction: column;
}

div#edit-markup-01 p {
  line-height: 1rem;
  padding: 0px;
  margin: 10px 0px;
}

.webform-flex.webform-flex--1 {
  padding: 10px;
}

div#edit-markup img {
  max-width: 500px;
}

label.js-form-required.form-required {
  font-weight: bold;
}

span.fieldset-legend {
  font-size: 16px;
  font-weight: bold;
}

.form-check-input {
  width: 20px !important;
  height: 20px;
}
/** DONS **/

.path-dons h1.title {
  padding-bottom: 0px;
  margin-bottom: 0px;
}

.path-dons h2 {
  font-size: 1.2rem;
}

.path-dons .block-dons {
  box-shadow: 0px 20px 40px #2699fb33;
  border-radius: 15px;
  border: 0px;
  background-color: #FFF;
  padding: 20px;
  margin-bottom: 30px;
}

/** 03 05 2025*/

h2.node__title {
  font-size: 1.2rem;
  font-weight: bold;
}
h2 a {
  color: #3b3b3b;
  text-decoration: none;
}


.path-galeries .gallery-item {
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 100%;
  height: auto;
}
.path-galeries .gallery-image {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.path-galeries H2 a {
    font-size: 1rem;
    text-align: center !important;
}

.node--type-galerie-photo .galerie-grid-item img {
    width: 100%;
}

.path-galeries H2 {
    line-height: 1rem !important;
    padding-bottom: 0.8rem;
}
.path-galeries H3 a{
    font-size: 0.8rem; 
    text-align: center !important;
    padding: 5px;
    text-decoration: none;
    color: #243660;
    font-weight: bold;
}
.path-galeries H3{
  line-height: 1rem;;
  text-align: center !important;
}

.temoignage-unique img {
    width: 180px;
    height: 180px;
    border-radius: 100%;
}

.temoignage-unique {
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0px 0px 20px rgb(104 105 246 / 12%);
    padding: 20px;
    margin: 10px auto;
}

.temoignage-unique .description {
    font-size: 1rem;
    line-height: 1.4;
    text-transform: unset;
}

.temoignage-unique  a {
    position: absolute;
    right: 30px;
    bottom: 20px;
}
.temoignage-unique .prenom {
}
.temoignage-unique .prenom {
    font-weight: bold;
    padding-bottom: 10px;
}

.container.temoignage-unique {
    position: relative;
}

.temoignage-unique .field--name-field-photo {
    text-align: right;
}


.page-view-temoignages .d-flex.flex-wrap {
    /* text-align: center; */
    justify-content: center;
}

.page-view-temoignages .form-radios {
    flex-direction: row;
    display: flex;
}
.page-view-temoignages .js-form-item {
    padding-right: 5px;
    display: flex;
}

.page-view-temoignages .form-switch .form-check-input {
    margin-left: -30px;
}

.page-view-temoignages legend {
    width: 160px;
    line-height: 15px;
}

.page-view-temoignages label.form-check-label {
    padding-left: 10px;
}

form#views-exposed-form-temoignages-page-1 {
    padding-bottom: 20px;
}


.page-view-temoignages .owl-theme .owl-nav {
    margin-top: 10px;
    display: block;
    position: absolute;
    top: 20%;
    font-size: 10rem;
    width: 100%;
}

button.owl-prev.disabled {
    left: 10%;
    position: absolute;
}
button.owl-next {
    right:10%;
    position: absolute;
}

/* PAGE LOGIN */
.login-block.encart-presentation {
    box-shadow: -5px 6px 5px #6869f61c;
    margin: 50px;
    background: #fff;
    border-radius: 20px;
}
.login-block.encart-presentation .block-left {
    display: flex;
    align-items: center;
    justify-content: center;
    justify-content: center;
    flex-flow: column;
    background: #fff;
    min-height: 600px;
    position: relative;
    border-radius: 25px 0 0 25px;
    box-shadow: 15px 15px 20px #2699fb17;
}

.login-block .block-right {
    background: linear-gradient(-20deg, #25326d, #0a31de) !important;
    position: relative;
    padding: 40px;
    border-radius: 0 25px 25px 0;
    box-shadow: 15px 15px 20px #2699fb17;
}

.login-block.encart-presentation .block-left img {
    max-width: 100%;
        margin-bottom: 30px;
}
.login-block .block-right .text {
    margin-bottom: 30px;
}
.login-block .block-right .cards {
    place-content: space-around;
    margin-top: 30px;
    margin-bottom: 80px;
}

.login-block .block-right .card {
    align-items: center;
    width: 200px;
    height: 150px;
}

.login-block .block-right .card > img {
    width: 70%;
    margin-top: -50px;
    text-align: right;
    margin-bottom: 20px;
}
.encart-presentation .block-right h1 {
    margin-bottom: 20px;
}

.page-user-login H1.title {
  display: none;
}

.encart-presentation .block-right p {
    margin-bottom: 20px;
    color: #ffffff;
    font-size: 1.3em;
}
.login-block.encart-presentation .block-left {
    display: flex;
    align-items: center;
    justify-content: center;
    justify-content: center;
    flex-flow: column;
    padding: 6em;
    background: #f7f7f9;
}
.login-block .block-right .cards:nth-child(3) .card:nth-child(2) > img {
    height: 100%;
}
.login-block .block-right .card > img {
    width: 55%;
    margin-top: -50px;
    text-align: right;
    margin-bottom: 20px;
}
  @media (max-width: 768px) {
    .login-block.encart-presentation .block-left {
      padding: 10px;
      margin: 0px;
      padding: 2em;
    }
    .login-block.encart-presentation {
      margin: 0px;
      margin-bottom: 40px;
      }
    .login-block .block-right {
        padding: 30px 20px;
        border-radius: 0px;
    }
    .login-block .block-right .card {
        height: 130px;
                text-align: center;
        width: 46%;
    }
    .login-block .block-right .cards:nth-child(3) .card:nth-child(2) > img {
        height: 70%;
    }
    section.row.region.region-footer-fifth {
        line-height: 1.6rem;
    }
  }


  @media (max-width: 992px) {
    .home-presentation {
        min-height: auto;
        padding: 3rem 0rem;
    }
    .home-presentation__left {
        padding: 1.25rem;
        margin: 0;
        width: calc(100% - 1.5rem);
    }
    .home-presentation__container.container {
        padding: 0px;
    }
    .business-game-school {
        padding: 20px 10px;
    }
    .partnerships-container {
        padding: 20px 0px;
    }
    h2.partnerships-title {
        padding: 20px;
    }
    .menu--main ul > li{
      padding: 7px 15px;
      max-height: 32px;
    }
    nav#block-bootstrap-subtheme-account-menu {
        display: none;
    }
}

/* OHA Habillage page partenaire FSE */
.partenariat-image-container {
  background-color: #E6E6F6;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2rem; /* optionnel, pour un peu d'espace autour */
  border-radius: 10px; /* optionnel, pour arrondir les coins */
}

.partenariat-image-container img {
    max-width: 1200px;
    height: auto;
    display: block;
    width: 100%;

}


.educational-axes__btn {
  display: inline-block !important;
  background-color: #6658EA !important;
  color: white !important;
  padding: 0.8rem 2.5rem !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  transition: all 0.3s ease !important;
  border: none !important;
  text-align: center !important;
  box-shadow: 0 4px 10px rgba(102, 88, 234, 0.3) !important;
}

.btn-educational-axes:hover {
  background-color: #5548C9 !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 15px rgba(102, 88, 234, 0.4) !important;
}




/* FIX  RESPOINSIVE OHA 22 07 2025 */
  /* FIX RESPONSIVE POUR paragraph--2025-home-a-propos-bloc7.html.twig */
@media (max-width: 768px) {
  .educational-axes__container {
    padding: 1rem 1rem 2rem;
    width: 100%;
    box-sizing: border-box;
  }

  .educational-axes__items {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 1rem;
    padding-bottom: 1rem;
    margin: 0 auto;
    max-width: 100%;
  }

  .educational-axes__item {
    flex: 0 0 auto;
    width: 90%;
    max-width: none;
    margin: 0 auto 1.5rem auto;
    padding: 1rem;
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: transform 0.3s ease;
  }

  .educational-axes__item:hover {
    transform: translateY(-5px);
  }

  .educational-axes__image-container {
    width: 100px;
    height: 100px;
    margin-bottom: 1rem;
    padding: 1rem;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: white;
  }

  .educational-axes__image-container img {
    max-width: 80px;
    height: auto;
  }

  .educational-axes__content {
    width: 100%;
    text-align: center;
    padding: 0 1rem;
  }

  .educational-axes__subtitle {
    font-size: 1.1rem;
    font-weight: 600;
    color: #6658EA;
    margin-bottom: 0.5rem;
    min-height: auto;
  }

  .educational-axes__text {
    font-size: 0.9rem;
    color: #4A4A4A;
    line-height: 1.4;
    padding: 0 0.5rem;
  }

  .educational-axes__text p {
    margin-bottom: 0.5rem;
  }

  .educational-axes__text strong {
    font-weight: 700;
    color: #333;
  }

  .educational-axes__cta {
    margin-top: 1.5rem;
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .educational-axes__cta .btn {
    width: 90%;
    max-width: 280px;
    padding: 0.7rem 1.5rem;
    font-size: 0.95rem;
    border-radius: 50px;
    background-color: #6658EA !important;
    color: white;
    font-weight: 600;
    border: none;
    box-shadow: 0 4px 10px rgba(102, 88, 234, 0.3);
    transition: all 0.3s ease;
    text-align: center;
  }

  .educational-axes__cta .btn:hover {
    background-color: #5548C9;
    transform: translateY(-3px);
    box-shadow: 0 6px 15px rgba(102, 88, 234, 0.4);
  }

  /* Titre témoignages page home presentation bloc 3 */
  .testimonials-title {
    margin-top: 0.5rem; 
    position: relative;
    top: -50px; /* Remonte le titre */
    z-index: 10; 
  }

  

  /* Décalage de l'image vers le bas (page paragraph--2025-home-programme-bloc3 */
  .programme-bloc-3-image {
  padding-top: 30px;
  }
  /* Empêche le fond bleu de recouvrir les images du carrousel */
}




  /* FIN FIX  RESPOINSIVE OHA 22 07 2025 */


/* DNE 24 07 2025 */
.page-node-88 .container.valeur-enjeux img {
    padding: 10px;
    width: 100%;
    height: auto;
    background: #FFF;
}
.page-node-88 main.main-content .container {
    max-width: 1140px;
}
.page-node-88 .container.valeur-enjeux {
    margin-top: 20px;
}
.page-node-88 .cardd {
    background: #FFF;
    padding: 20px;
    font-size: 0.97rem;
}
#main-wrapper {
    background: transparent linear-gradient(309deg, #6869f638 0%, #4249A01D 39%, #28336500 100%) 0% 0% no-repeat padding-box !important;
}
/* FIN DNE 24 07 2025 */

/* OHA Page Objectifs 2025 28 07 2025 */
/*.page-node-89 .*/
/* Style général pour la section objectifs */
.page-node-89 .container .valeur-enjeux {
    margin-top: 20px;
}

.page-node-89 .valeur-enjeux .row {
  /*  display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 30px;*/
}

.page-node-89 .valeur-enjeux .cardd {
    background-color: white;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.page-node-89 .valeur-enjeux .cardd strong {
    color: #000;
    font-weight: 600;
}
.container.valeur-enjeux {
  padding: 0px;
  padding-bottom: 10px;
}

.cardd {
  background: #FFF;
  padding: 20px;
  font-size: 0.97rem;
}
.container.valeur-enjeux img {
  padding: 10px;
  width: 100%;
  background: #FFF;
}

article.node.node--type-article.node--promoted.node--view-mode-full.clearfix {
  max-width: 1240px;
  margin: auto;
  padding: 20px;
  background: #FFF;
}
article .field.field--name-field-image.field--type-image.field--label-hidden.field__item img {
  max-width: 600px;
  height: auto;
}

article span.field.field--name-uid.field--type-entity-reference.field--label-hidden {

}

div#main-wrapper {
  min-height: 80vh !important;
}

.temoignage-unique img {
  width: 180px;
  height: auto;
  max-width: 100%;
  border-radius: 100%;
}

@media (max-width: 768px) {
  .page-view-temoignages .form-radios {
    flex-direction: column;
    display: flex;
  }
  .temoignage-unique .description {
      font-size: 0.9rem;
      line-height: 1.4;
      text-transform: unset;
  }
  .menu--main ul > li {
      padding: 20px 8px;
  }
}



/* BO */
.role-administrateur-odyssee .toolbar-link--system-themes-page,
.role-administrateur-odyssee .toolbar-link--system-modules-list,
.role-administrateur-odyssee .toolbar-link--system-admin-reports,
.role-administrateur-odyssee .toolbar-link--system-admin-config,
.role-administrateur-odyssee a[href="/admin/structure/comment"],
.role-administrateur-odyssee a[href="/admin/structure/media"],
.role-administrateur-odyssee a[href="/admin/content/comment"]
{
  display:none !important;
}


.role-administrateur-odyssee  img.image-style-carre-teaser {
    max-width: 180px;
    height: 160px;
    width: 160px;
    border-radius: 50%;
    /* background: #000; */
    border: 1px solid #e6e6fe;
}


.view-gestion-de-l-actualite img {
    max-width: 200px;
}

.paragraphs-tabs-wrapper .field-multiple-table .draggable > td {
    height: auto;
}

.gallery-item-circle a {
    display: contents;
    /* min-height: 200px !important; */
}

.node--type-article .inline__links {
    display: none;
}
.field--name-field-liste-des-documents .field__item {
    max-width: 80%;
    width: 100%;
}


@media (max-width: 768px) {
  .field--name-field-liste-des-documents .field__item {
      max-width: 100%;
      width: 100%;
  }
  .menu--main ul > li {
        padding: 7px 8px !important;
        margin-bottom: 10px !important;
    }
  #navbar-main .navbar-nav .nav-item {
    padding-bottom: 25px !important;
  }
}



.page-node-3 .field--name-field-liste-des-documents .field__item {
    max-width: none;
    width: auto;
}



/** PROGRAMMES CHIFFRES **/
.fondation-numbers-wrapper  .fondation-numbers-wrapper {
  position: relative;
}
.fondation-numbers-wrapper  .logo {
  opacity: .8;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}
.fondation-numbers-wrapper  .number {
  text-transform: uppercase;
  text-align: center;
  padding: 1.5em 15px 1.75em;
}
@media (max-width: 500px){
    .logoslider img {
        width: auto;
    height: 45px;
    }
    .txtlider H1,.txtlider  H5 {
        font-size: 0.9rem;
        font-weight: bolder;
        margin-bottom: 0.5rem;
    }
    .logo-odyssee-1 {
        width: auto;
        margin-bottom: 10px;
        height: 35px;
    }
    .button-slider {
        margin-top: 20px;
    }
    .txtlider {
        top: 65px;
        width: 60%;
      }
}

@media (min-width: 576px){
  .fondation-numbers-wrapper   .number-figure {
    font-size: 3.125rem;
    line-height: .8;
  }
  .fondation-numbers-wrapper   .number-title {
    font-size: 1.125rem;
  }
}

@media (min-width: 992px){
.fondation-numbers-wrapper .number {
    position: relative;
  }
  .fondation-numbers-wrapper .number-content {
    color: #FFF;
  }
  .fondation-numbers-wrapper [class*=col-]:nth-child(1) .number::after {
    border-width: 0 0 1px 1px;
    left: 50%;
  }
  .fondation-numbers-wrapper [class*=col-]:nth-child(1) .number::after, .fondation-numbers-wrapper [class*=col-]:nth-child(2) .number::after {
    bottom: -3.25em;
  }
  .fondation-numbers-wrapper [class*=col-]:nth-child(2) .number::after {
    border-width: 0 1px 1px 0;
    right: 50%;
  }
  .fondation-numbers-wrapper [class*=col-]:nth-child(3) .number::after {
    border-width: 0 1px 1px 0;
    right: -7%;
  }
  .fondation-numbers-wrapper [class*=col-]:nth-child(4) .number::after {
    border-width: 0 0 1px 1px;
    left: -7%;
  }
  .fondation-numbers-wrapper .number::after {
    border: 1px dotted #fff;
    z-index: 0;
  }
  .fondation-numbers-wrapper .number::after {
    content: "";
    background: transparent;
    width: 30%;
    height: 35%;
    position: absolute;
  }
  .fondation-numbers-wrapper  [class*=col-]:nth-child(-n+2) {
    margin-bottom: 6em;
  }
  .fondation-numbers-wrapper  [class*=col-]:nth-child(1) .number::after {
    border-width: 0 0 1px 1px;
    left: 50%;
  }
}

@media (min-width: 1300px){
  .txtlider p {
    font-size: 1.2rem;
    line-height: 1.6rem;
    margin: 0 0 7px;
  }
  .txtlider H1 {
    font-size: 2.4rem;
  }
  .txtlider {
    top: 40px;
  }
}



.fondation-numbers-wrapper   .number-title {
  font-size: .8125rem;
  line-height: 1.15;
}
.fondation-numbers-wrapper   .number-figure {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  margin-right: 0.2em;
}
.fondation-numbers-wrapper   .number-picto {
  display: block;
  margin: 0 auto 2em;
}
.fondation-numbers-wrapper   .number-content {
  text-align: left;
}
.fondation-numbers-wrapper {
  position: relative;
}
.no-gutters {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.fondation-numbers H2 {
  color: #FFF;
  text-align: center;
}
.container-medium.theme-secondary-medium {
  background: linear-gradient(-20deg, #6b40bd, #be69d4);
  padding: 30px;
  border-radius: 20px;
  box-shadow: 0px 20px 40px #2699fb33;
}
.container.fondation-numbers-wrapper {
  margin:30px auto;

}
.number-figure {
  font-size: 3rem !important;
}
.fondation-numbers-wrapper   .number-title {
  font-size: 1rem;
  line-height: 1rem;
  padding-top: 12px;
}
.path-frontpage #main section.section {
  margin-top: -30px;
}
.entrepreneur .citation-block {
  background: #fff;
  border-radius: 110px 110px 0;
  padding: 30px;
  color: #333;
  margin-bottom: 40px;
  box-shadow: 20px 20px 20px #b866d45e;
}
.path-frontpage .col-second.ze-citations {
  position: relative;
  top: -60px;
}
div#zone-territoire p {
  font-weight: bolder;
  font-size: 0.8rem;
  color: #1e1e1e;
}
.partenaires .lign1 img,
.partenaires .lign2 img {
  margin: auto;
}
.partenaires .lign1,
.partenaires .lign2
{
  display: flex;
  align-items: center;
}
.partenaires .lign2 {
  padding: 10px 20%;
}
div#grandsaxes h1 {
  padding-bottom: 40px;
}


.fondation-numbers-wrapper .number-content {
    color: #FFF;
}
.fondation-numbers-wrapper .number-picto {
    display: block;
    margin: 0 auto 2em;
}

.fondation-numbers .logo {

}

.menu-items a:hover {
    color: #283365;
    border-radius: 5px;
    background: #fff;
    padding: 2px 6px 4px 6px;
}


.temoignage-unique {
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0px 0px 20px rgb(104 105 246 / 12%);
    padding: 20px;
    margin: 10px auto;
}

.img-temoin > img {
    background: #283365;
    border-radius: 100%;
        background: none;
    width: 180px !important;
    height: 180px !important;
}

.temoignage-unique .info-temoin:nth-child(1) {
    font-size: 1.2em;
    font-weight: bold;
}
.temoignage-unique .info-temoin:nth-child(2) {
    font-size: 1.1em;
    color: #a25ac4;
    font-weight: bold;
}
.temoignage-unique .info-temoin:nth-child(3) {
    font-size: 0.8em;
    color: #6869f6;
    margin-top: 4px;
    font-weight: bold;
}
.temoignage-unique .description {
    padding-top: 10px;
}

.page-node-109 main#content {
    max-width: 1024px;
    margin: auto;
    padding: 40px 30px;
    background: #ffffff;
    border-radius: 20px;
    margin-bottom: 40px;
}

#navbar-main.navbar.navbar-dark.bg-primary.navbar-expand-lg {
    min-height: 120px;
}

@media only screen and (max-width: 768px) {
    .number-content.d-inline-flex {
        display: flex;
        flex-direction: column;
    }
    .odyssee-en-chiffres .fondation-numbers-wrapper .logo {
        display: none;
    }
    .fondation-numbers-wrapper .number-picto {
        display: block;
        margin: 0 auto 0em;
        height: 90px;
    }
}

.page-node-87 .clearfix.text-formatted.field.field--name-body.field--type-text-with-summary.field--label-hidden.field__item,
.page-node-87 .clearfix.text-formatted.field.field--name-field-texte-long-formate.field--type-text-long.field--label-above
 {
    max-width: 1024px;
    margin: auto;
    text-align: center;
    font-size: 1.4rem;;
}

.node-temoignages-teaser-mini.Bas.Gauche {
    text-align: left;
    align-items: flex-end;
}

.node-temoignages-teaser-mini, .item_video {
    width: 100%;
    height: 50vw;
    display: flex;
    background-position: center;
    background-size: cover;
}

#owl-temoignages p {
    font-weight: bold;
    font-size: 1.3rem;
}

.owl-item h4 {
    font-size: 1rem;
}
.node-temoignages-teaser-mini.Bas.Gauche .text {
    margin-left: 140px;
    margin-bottom: 140px;
}
.node-temoignages-teaser-mini .text {
    max-width: 35%;
    font-size: 2rem;
    font-weight: bolder;
    color: #FFF;
}

.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev, .owl-carousel button.owl-dot {
    background: 0 0;
    color: inherit;
    border: none;
    padding: 0 !important;
    font: inherit;
}
.owl-theme .owl-nav [class*=owl-] {
    color: #FFF;
    font-size: 14px;
    margin: 5px;
    padding: 4px 7px;
    background: #D6D6D6;
    display: inline-block;
    cursor: pointer;
    border-radius: 3px;
}
.path-temoignages button.owl-next {
    position: absolute;
    top: 30%;
    font-size: 5rem;
    right: 40px;
    width: 100px;
    height: 100px;
}
.path-temoignages button.owl-prev, .path-temoignages  button.owl-prev {
    position: absolute;
    top: 30%;
    font-size: 5rem;
    left: 40px;
    width: 100px;
    height: 100px;
}
.path-temoignages svg.svg-inline--fa.fa-angle-right.fa-w-8, .path-temoignages svg.svg-inline--fa.fa-angle-left.fa-w-8 {
    height: 100px;
    width: 40px;
    color: #FFF;
}

.owl-theme .owl-nav {
    margin-top: 10px;
}
.owl-theme .owl-dots, .owl-theme .owl-nav {
    text-align: center;
    -webkit-tap-highlight-color: transparent;
}

.owl-theme .owl-dots, .owl-theme .owl-nav {
    text-align: center;
    -webkit-tap-highlight-color: transparent;
}

.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev {
    background: 0 0;
    color: inherit;
    border: none;
    padding: 0 !important;
    color: #FFF;
    font: inherit;
    /* width: 60px; */
    line-height: 120px;
    height: 110px;
    padding: 0px !important;
}

button.owl-next span,
button.owl-prev span
 {
    line-height: 80px;
    display: block;
    position: relative;
    height: 120px !important;
    top: 0px;
}
#item_5 .aa.node-temoignages-teaser-mini.Haut.Droite {
    background-color: #000;
}
.node-temoignages-teaser-mini.Haut.Droite .text {
    text-align: right;
    margin-left: auto;
    margin-top: 40px;
    margin-right: 40px;
}
.node-temoignages-teaser-mini .text {
    max-width: 35%;
    font-size: 2rem;
    font-weight: bolder;
    color: #FFF;
}