@media (max-width: 1200px) {

  header nav {
    width: 100%;
    padding: 0 10px;
  }

  .thematiques-theme-block {
    font-size: 20px;
    padding: 0 10px;
  }

  .thematiques-section h2 {
    font-size: 1.8rem;
  }

  .thematiques-section .title {
    font-size: 1.2rem;
    margin-bottom: 12px;
  }

  .awards .presentation .aboutbfdawards .img {
    width: 100%;
    height: auto;
    margin-bottom: auto;
  }
}

@media (max-width: 992px) {
  header nav #navMenu{
    display: none;
  }

  header nav .nav-mobile-toggle {
    display: flex;
  }

  header nav .nav-mobile-overlay {
    display: none;
  }

  header nav .nav-mobile-menu {
    display: none;
  }

  header nav .nav-mobile-menu.open {
    display: flex;
  }

  header nav .nav-mobile-overlay.open {
    display: block;
  }

  header nav button {
    z-index: 10002;
  }
}

/* Hamburger icon */
header nav .nav-mobile-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  background: none;
  border: 2px solid #D49D3F;
  border-radius: 6px;
  cursor: pointer;
  z-index: 10002;
  position: relative;
}

header nav .nav-mobile-toggle span {
  display: block;
  width: 28px;
  height: 3px;
  margin: 4px 0;
  background: #D49D3F;
  border-radius: 2px;
  transition: all 0.3s;
}

/* Overlay */
header nav .nav-mobile-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.45);
  z-index: 10000;
  transition: opacity 0.3s;
}

header nav .nav-mobile-overlay.open {
  display: block;
}



/* Masquer le bouton desktop sur mobile */
@media (max-width: 992px) {
  header nav>a>button {
    display: none;
  }
}

/* Afficher le bouton dans le menu mobile */
@media (max-width: 992px) {
  header nav .nav-mobile-menu .nav-mobile-btn {
    display: flex;

  }
}

/* Adaptation du header sur mobile */
@media (max-width: 600px) {
  header nav {
    width: 100%;
    margin-top: 10px;
    padding: 0 4px;
  }

  header nav img {
    width: 90px;
    height: 38px;
  }

  header {
    height: 70px;
  }

  header nav .nav-mobile-menu {
    padding: 60px 12px 24px 12px;
  }
}


/* Styles spécifiques pour le hamburger */
header nav .nav-mobile-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  background: none !important;
  border: none;
  box-shadow: none;
  cursor: pointer;
  z-index: 10002;
  padding: 0;
}

header nav .nav-mobile-toggle span {
  display: block;
  width: 28px;
  height: 3px;
  margin: 4px 0;
  background: #fff;
  border-radius: 2px;
  transition: all 0.3s;
}

/* Désactive le hover jaune hérité */
header nav .nav-mobile-toggle:hover,
header nav .nav-mobile-toggle:focus {
  background: none !important;
  box-shadow: none !important;
}

@media (max-width: 992px) {
  header nav .nav-mobile-toggle {
    display: flex !important;
  }
}

/* Menu mobile vertical coulissant */
header nav .nav-mobile-menu {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  right: 0;
  width: 80vw;
  max-width: 340px;
  height: 100vh;
  background: #222E63;
  z-index: 10001;
  padding: 80px 32px 32px 32px;
  box-shadow: -2px 0 16px rgba(0, 0, 0, 0.12);
  gap: 32px;
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(.77, 0, .18, 1);
  opacity: 1;
  pointer-events: none;
}

header nav .nav-mobile-menu.open {
  transform: translateX(0);
  pointer-events: auto;
}

header nav .nav-mobile-menu #nav-bar-mobile {
  display: flex;
  flex-direction: column;
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0;
  align-items: flex-start;
  /* <-- Ajoute ou corrige cette ligne */
}

header nav .nav-mobile-menu #nav-bar-mobile .ul-partenaire-mobile {
  list-style: none;
  padding-left: 30px;
  display: none;
}

header nav .nav-mobile-menu #nav-bar-mobile  span{
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  cursor: pointer;
  padding: 8px 0;
  border-bottom: 1px solid #233;
  transition: color 0.2s;
  font-family: 'Poppins', sans-serif;
}

header nav .nav-mobile-menu #nav-bar-mobile  span:hover {
  color: #D49D3F;
  border-bottom: 2px solid #D49D3F;
}

header nav .nav-mobile-menu #nav-bar-mobile .ul-partenaire-mobile a {
  font-size: 0.8rem;
  margin-top: 20px;
}
header nav .nav-mobile-menu ul li a {
  color: #fff;
  font-size: 1.1rem;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  padding: 8px 0;
  border-bottom: 1px solid #233;
  transition: color 0.2s;
}

header nav .nav-mobile-menu ul li a.active,
header nav .nav-mobile-menu ul li a:hover {
  color: #D49D3F;
  border-bottom: 2px solid #D49D3F;
}

header nav .nav-mobile-menu .nav-mobile-btn {
  margin-top: 24px;
  width: 100%;
  display: flex;
  justify-content: center;
}

header nav .nav-mobile-menu .nav-mobile-btn button {
  width: 100%;
  padding: 16px 0;
  font-size: 1.1rem;
}

/* Menu mobile slide left sous la navbar */
@media (max-width: 992px) {
  header nav .nav-mobile-menu {
    top: 70px;
    /* hauteur de la navbar */
    left: 0;
    right: auto;
    width: 90vw;
    max-width: 500px;
    height: calc(100vh - 70px);
    transform: translateX(-100%);
    transition: transform 0.35s cubic-bezier(.77, 0, .18, 1);
    pointer-events: none;
    opacity: 1;

    box-shadow: 2px 0 16px rgba(0, 0, 0, 0.12);
    background: #082A46;
    z-index: 1001;
    padding: 32px 24px;
    gap: 24px;
    display: flex;
    flex-direction: column;
  }

  header nav .nav-mobile-menu.open {

    transform: translateX(0);
    pointer-events: auto;
  }

  header nav .nav-mobile-menu ul {
    display: flex;
    flex-direction: column;
    gap: 18px;
    text-align: start;
    padding: 0;
    margin: 0;
    align-items: flex-start;
    /* <-- Ajoute ou corrige cette ligne */
  }

  header nav .nav-mobile-menu ul li a {
    color: #fff;
    font-size: 1rem;
    font-weight: 500;
    text-align: left;
    padding: 8px 0;
    border-bottom: 1px solid #233;
    transition: color 0.2s;
    text-decoration: none;
    display: block;
  }

  header nav .nav-mobile-menu ul li a.cta-mobile {
    font-weight: bold;
    border: 2px solid #D49D3F;
    margin-top: 24px;
    text-align: center;
    color: #fff;
    padding: 12px 24px;
    background: none;

  }


  /* Cache bouton desktop sur mobile */
  .cta-desktop {
    display: none !important;
  }
}

@media (min-width: 768px) {
  header nav .nav-mobile-menu.open {
    top: 110px;
  }

  header nav .nav-mobile-menu {
    top: 70px;
    /* hauteur de la navbar */

  }

  header nav .nav-mobile-menu ul li a {
    font-size: 1.1rem;
    font-weight: 500;
    text-align: left;
    padding: 8px 0;
    border-bottom: 1px solid #233;
    transition: color 0.2s;
    text-decoration: none;
    display: block;
  }

}

/* Hamburger/X animation */
header nav .nav-mobile-toggle.open span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

header nav .nav-mobile-toggle.open span:nth-child(2) {
  opacity: 0;
}

header nav .nav-mobile-toggle.open span:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px);
}

header nav .nav-mobile-menu {
  overflow-y: auto;
  /* Ajoute cette ligne */
  -webkit-overflow-scrolling: touch;
  /* Pour un défilement fluide sur iOS */
}

/* Responsive pour la section .banner et le slider */
@media (max-width: 884px) {

  .banner,
  .swiper,
  .swiper-wrapper,
  .swiper-slide {
    height: auto;
    min-height: 70vh;
  }

  .swiper-slide {
    padding: 80px 20px 60px 20px;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    text-align: left;
  }

  .banner-text {
    top: 50px;
    max-width: 100%;
    padding: 0;
    text-align: left;
    align-items: flex-start;
    justify-content: flex-start;
  }

  .banner-text h2 {
    font-size: 2rem;
    line-height: 1.2;
  }

  .banner-text span {
    font-size: 1rem;
    margin-bottom: 16px;
  }

  .banner-text p {
    font-size: 16px;
    line-height: 28px;
    max-width: 100%;
  }

  .banner-countdown {
    gap: 12px;
    margin: 14px 0;
    flex-wrap: wrap;
  }

  #days,
  #hours,
  #minutes,
  #seconds {
    font-size: 1.5rem;
  }

  .countdown-item .label {
    font-size: 0.75rem;
  }

  .banner-btns {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin-top: 16px;
  }

  .btn-main {
    width: auto;
    padding: 12px 24px;
    font-size: 16px;
  }

  .slide.cta .banner-text {
    max-width: 100%;
  }

  .swiper-button-next,
  .swiper-button-prev {
    width: 36px;
    height: 36px;
    font-size: 1em;
  }
}

@media (max-width: 884px) {
  .apropos-container {
    flex-direction: column;
    gap: 32px;
    padding: 0 20px;
    margin-bottom: 70px;
  }

  .apropos-text {
    min-height: auto;
    align-items: flex-start;
    text-align: left;
    padding: 0;
  }

  .apropos-text h2 {
    font-size: 1.8rem;
    text-align: left;
  }

  .apropos-text p {
    font-size: 15.5px;
    line-height: 1.6;
  }

  .apropos-image {
    justify-content: center;
    max-height: none;
    height: auto;
  }

  .apropos-image img {
    width: 100%;
    height: auto;

    object-fit: cover;
    border-radius: 14px;
  }
}


@media (max-width: 884px) {
  .opportunites-section {
    height: auto;
    min-height: 420px;
    padding: 40px 20px;
    margin: 20px auto;
  }

  .opportunites-container {
    padding: 0 16px;
    min-height: auto;
  }

  .opportunites-header h2 {
    font-size: 1.6rem;
    margin-bottom: 20px;
    line-height: 1.3;
  }

  .opportunites-header p {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 28px;
  }

  .btn-opportunites {
    font-size: 1rem;
    padding: 12px 28px;
    margin-bottom: 40px;
  }

  .opportunites-bg-video {
    object-position: center;
  }
}

@media (max-width: 884px) {
  .partenaire-container {
    flex-direction: column;
    gap: 32px;
    top: 100px;
    padding: 0 16px;
  }

  .partenaire-title {
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 24px;
  }

  .partenaire-image {
    justify-content: center;
    max-height: none;

  }

  .partenaire-image img {
    width: 100%;
    height: auto;
    /* ajuste la hauteur automatiquement */
    object-fit: cover;
    border-radius: 14px;
    max-height: 820px;


  }

  .partenaire-text {
    align-items: flex-start;
    min-height: auto;
    padding-bottom: 0;
  }

  .partenaire-text p {
    font-size: 1rem;
    line-height: 1.6;
  }

  .partenaire-section {
    padding: 60px 0 30px;
  }
}

@media screen and (max-width: 884px) {
  .thematiques-section.cards-grid {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;

  }

  .thematiques-section .cards-row,
  .thematiques-section .cards-row.cards-row-center {
    flex-direction: column;
    gap: 24px;
    width: 100%;
    align-items: center;
  }

  .thematiques-section .card {
    width: 100%;
    max-width: 100%;
    min-width: auto;
    height: 200px;
    object-fit: cover;
    padding: 24px 16px;
    border-radius: 12px;
  }

  .thematiques-section .card-title {
    font-size: 1.3rem;
    margin-bottom: 20px;
  }

  .card-icon {
    font-size: 2rem;
    margin-top: 12px;
  }

  .cards-grid,
  .cards-row,
  .cards-row-center {
    width: 100%;
  }

  .thematiques-theme-block {
    font-size: 20px;
    padding: 0 10px;
  }

  .thematiques-section h2 {
    font-size: 1.8rem;
  }

  .thematiques-section .title {
    font-size: 1.2rem;
    margin-bottom: 12px;
  }

  .thematiques-btn {
    margin-top: 24px;
  }
}


@media screen and (max-width: 768px) {
  .join-us {
    padding: 48px 16px;
    min-height: auto;
    background-attachment: scroll;
    /* Évite bugs de fond fixe sur mobile */
    background-position: center center;
  }

  .join-us-content h2 {
    text-align: center;
    font-size: 1.5rem;
    margin-bottom: 18px;
  }

  .join-us-content p {
    font-size: 1rem;
    margin-bottom: 24px;
    line-height: 1.5;
  }

  .btn-inscription-cta {
    padding: 12px 28px;
    font-size: 1rem;

  }

  footer .container .mailgenerale a {
    justify-content: center !important;
  }
}


/* Page About */

@media screen and (max-width: 884px) {
  .hero-about {
    height: 60vh;
    background-position: center center;
    background-attachment: scroll;
  }

  .hero-about-title {
    font-size: 2.2rem;
    padding: 0 16px;
  }

  .content-about {
    width: 100%;
    padding: 40px 16px;
  }

  .about-title {
    font-size: 2.5rem;
    margin-bottom: 20px;

  }

  .about-text {
    font-size: 15.5px;
    line-height: 1.6;
    text-align: left;
  }

  .cards-grid {
    gap: 24px;
  }

  .cards-row {
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }

  .participant-card {
    flex: 1 1 100%;
    width: 90%;
    max-width: 95%;
    min-height: auto;
  }

  .scrolling-cards .section-title {
    font-size: 1.8rem;
  }

  .scrolling-cards .section-intro {
    font-size: 1rem;
    padding: 0 16px;
  }
}

/* Page Agenda */

@media screen and (max-width: 1200px) {
  .agenda .herosectionagenda {
    height: 50vh;
  }

  .agenda .herosectionagenda h2 {
    font-size: 2.5rem;
    margin-top: 50px;
  }

  .agenda .container {
    width: 90%;
    margin: auto;
    margin-top: 50px;
  }

  .agenda .presentation h4 {
    max-width: 100%;
    font-size: 25px;
  }

  .agenda .presentation h4 br {
    display: none;
  }

  .agenda .themeSwiper {
    padding-top: 30px;
  }



  .agenda .days .evenements {
    justify-content: space-between;
  }

  .agenda .days .evenement {
    min-width: 46%;
  }



}

@media screen and (max-width: 1000px) {

  .agenda .themeSwiper {
    overflow: visible;
  }

  .agenda .themeSwiper .swiper-wrapper {
    flex-wrap: wrap;

  }

  .agenda .themeSwiper .swiper-slide {
    min-width: 46%;
  }

  .agenda .themeSwiper .swiperbtn {
    display: none;
  }

  .agenda .days .evenement .title .bangui p {
    font-size: 0.6rem;
  }

  .agenda .days .evenement .title h4 {
    font-size: 1rem;
  }

}



@media (max-width: 800px) {
  .agenda .presentation h2 {
    font-size: 2rem;
    margin-bottom: 20px;
  }

  .agenda .presentation h4 {
    font-size: 1.5rem;
    max-width: 100%;
    margin-bottom: 10px;
  }

  .agenda .themeSwiper .swiper-slide {
    width: 100%;
    margin: auto;
  }

  .agenda .themeSwiper .theme h3 {
    font-size: 18px
  }
}

@media screen and (max-width: 850px) {

  .agenda .themeSwiper .theme h3 {
    font-size: 15px
  }

  .agenda .days .evenement {
    min-width: 100%;
  }

  .agenda .days .evenement .title .bangui .line {
    width: 150px;
  }

  .agenda .days .evenement .title .bangui p {
    color: white;
    font-size: 0.8rem;

  }

  .agenda .days .evenement .title h4 {
    font-size: 1.8rem;
  }
}


@media screen and (max-width: 750px) {
  .agenda .days .evenement .title .bangui .line {
    width: 30px;
  }

  .agenda .days .evenement .title h4 {
    font-size: 1rem;
  }
}

@media (max-width: 700px) {
  .agenda .presentation h2 {
    font-size: 1.5rem;
  }

  .agenda .presentation h4 {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 600px) {
  .agenda .presentation h4 {
    max-width: 100%;
    font-size: 20px;
  }

}

/* Page Speakers */

@media screen and (max-width: 1200px) {
  .speakers .herosectionspeakers {
    height: 50vh;
  }
}

/* Page Bfd awards */

@media screen and (max-width: 1200px) {
  .awards .herosectionawards {
    height: 50vh;
  }

  .awards .herosectionawards h2 {
    font-size: 2.5rem;
    margin-top: 50px;
  }

  .awards .container {
    width: 90%;
    margin: auto;
    margin-top: 50px;
  }

  .awards .presentation h2 {
    margin-top: -50px;
  }

  .awards .presentation h4 {
    max-width: 100%;
    font-size: 25px;
  }

  .awards .presentation p br {
    display: none;
  }

  .awards .presentation .aboutbfdawards {
    flex-wrap: wrap;
  }


  .awards .presentation .aboutbfdawards .img {
    width: 100%;
  }

  .awards .presentation .aboutbfdawards .txt {
    width: 100%;
  }


}

@media screen and (max-width: 600px) {
  .awards .presentation .aboutbfdawards .img {
    min-height: 400px;
  }

}

@media (max-width: 800px) {
  .awards .presentation h2, .section-title {
    font-size: 2rem;
    margin-bottom: 20px;
  }

  .awards .presentation h4 {
    font-size: 1.5rem;
    max-width: 100%;
    margin-bottom: 10px;
  }
}

@media (max-width: 700px) {
  .awards .presentation h2, .section-title {
    font-size: 1.5rem;
  }

  .awards .presentation h4 {
    font-size: 1.2rem;
  }

  .intervenants-section {
    padding: 60px 20px;
  }
}

@media screen and (max-width: 600px) {
  .awards .presentation h4 {
    max-width: 100%;
    font-size: 20px;
  }

}


/* Page Partenariat */
/* Page Partenariat */
@media screen and (max-width: 1200px) {
  .partenaire .herosectionpartenaire {
    height: 50vh;
  }

  .partenaire .herosectionpartenaire h2 {
    font-size: 2.5rem;
    margin-top: 50px;
  }

  .partenaire .container {
    width: 90%;
    margin: auto;
    margin-top: 50px;
  }

  .partenaire .presentation h4 {
    max-width: 100%;
    font-size: 22px;
    line-height: 1.6rem;
  }

  .partenaire .presentation p br {
    display: none;
  }

  .partenaire .presentation p {
    font-size: 15.5px;
    line-height: 1.6rem;
  }

  .partenaire .infos-partenariat {
    justify-content: space-between;
  }

  .partenaire .infos-partenariat .info {
    width: 46%;
  }

  .partenaire .infos-partenariat p {
    font-size: 15.5px;
    line-height: 1.3rem;
  }

  .modal-content {
    margin: 20% auto;
    max-width: 60%;
  }

}

@media (max-width: 800px) {
  .partenaire .presentation h2 {
    font-size: 2rem;
    margin-bottom: 20px;
  }

  .partenaire .presentation h4 {
    font-size: 1.5rem;
    max-width: 100%;
    margin-bottom: 10px;
  }

  .partenaire .infos-partenariat .img {
    height: 200px;
  }

  .partenaire .infos-partenariat h3 {
    font-size: 13px;
  }

  .partenaire .infos-partenariat p {
    font-size: 14px;
  }

  .modal-content {
    margin: 30% auto;
    max-width: 80%;
  }

}


@media (max-width: 700px) {
  .partenaire .presentation h2 {
    font-size: 1.5rem;
  }

  .partenaire .presentation h4 {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 600px) {
  .partenaire .presentation h4 {
    max-width: 100%;
    font-size: 20px;
  }

  .partenaire .infos-partenariat .info {
    width: 100%;
  }

  .partenaire .infos-partenariat h3 {
    font-size: 18px;
  }

  .partenaire .infos-partenariat .img {
    height: 250px;
  }

  .partenaire .infos-partenariat p {
    font-size: 16.5px;
  }

  .modal-content {
    max-width: 90%;
  }

}

@media screen and (max-width: 500px) {
  .modal-content a {
    width: 100%;
    display: flex;
    justify-content: center;
    text-decoration: none;
  }

  .modal-content a button {
    width: 90%;
    margin-top: 10px;
  }
}


@media (max-width: 1200px) {
  .partenaires-list {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }

  .partenaires-list .logo {
    width: 100%;
    margin-bottom: 20px;
  }

  .partenaires-list .logo img {
    width: 60%;
    margin-top: 0;
  }

  .partenaires-list .text {
    width: 100%;
    margin-top: 30px;
  }

  .partenaires-list .text h6 {
    font-size: 1.5rem;
    text-align: left;
  }



  .partenaires-list .text p {
    text-align: left;
  }
}


/* PAGE VENIR A BANGUI */

/* PAGE VENIR A BANGUI */

@media (max-width: 1200px) {

  .bangui .herosectionbangui {
    height: 50vh;
  }

  .agenda .herosectionbangui h2 {
    font-size: 2.5rem;
    margin-top: 100px;
  }

  .bangui .container {
    width: 90%;
    margin: auto;
    margin-top: 50px;
  }

  .bangui .presentation h4 {
    max-width: 100%;
    font-size: 22px;
    line-height: 1.6rem;
  }

  .bangui .presentation p {
    font-size: 15.5px;
    line-height: 1.6rem;
  }

  .bangui .presentation .aboutbangui {
    gap: 30px;
    margin-top: 50px;
  }

  .bangui .presentation .aboutbangui .txt h3 {
    font-size: 1.2rem;
    line-height: 1.6rem;
    margin-bottom: 0px;
  }

}

@media (max-width: 1024px) {
  .tourisme-div {
    grid-template-columns: repeat(2, 1fr);
  }
  header nav #navMenu {
    gap: 15px;
  }
}

@media (max-width: 900px) {
  .bangui .presentation .aboutbangui {
    flex-wrap: wrap;
  }

  .bangui .presentation .aboutbangui .img {
    width: 100%;
    min-height: 350px;
  }

  .bangui .presentation .aboutbangui .txt {
    width: 100%;
    min-height: 150px;
  }

  .bangui .presentation .aboutbangui2 {
    flex-direction: column-reverse;
  }

  .bangui .presentation .aboutbangui .txt p {
    font-size: 15.5px;
    line-height: 1.6rem;
  }


}

@media (max-width: 800px) {
  .bangui .presentation h2 {
    font-size: 2rem;
    margin-bottom: 20px;
  }

  .bangui .presentation h4 {
    font-size: 1.5rem;
    max-width: 100%;
    margin-bottom: 10px;
  }
}



@media (max-width: 768px) {
  .tourisme-content {
    padding: 15px;
  }

  .tourisme-content p {
    font-size: 15.5px !important;
    line-height: 1.6rem !important;
  }

  .tourisme-content h3 {
    font-size: 15px;
  }

  .tourisme-btn {
    padding: 4px 12px;
    font-size: 11px;
  }

  .tourisme-price {
    font-size: 13px;
  }
}

@media (max-width: 700px) {
  .bangui .presentation h2 {
    font-size: 1.5rem;
  }

  .bangui .presentation h4 {
    font-size: 1.2rem;
  }
}

@media (max-width: 600px) {
  .bangui .presentation .aboutbangui .img {
    min-height: 300px;
  }

  .tourisme-div {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .tourisme-card {
    max-width: 100%;
  }

}

@media (max-width: 500px) {
  .bangui .herosectionbangui h2 {
    font-size: 2rem;
  }

  .bangui .presentation .aboutbangui .txt h3 {
    font-size: 1rem;
  }
}

/* Page contact */
/* Page contact */
@media (max-width: 768px) {
  .contact .container {
    width: 90%;
  }

  .contact .herosectioncontact {
    height: 35vh;
    background-position: center;
  }

  .contact .herosectioncontact h2 {
    font-size: 2.2rem;
    line-height: 1.2;
    text-align: center;
    padding: 0 10px;
  }

  .contact .presentation h4 {
    font-size: 1.2rem;
  }

  .contact .presentation p {
    font-size: 1rem;
    line-height: 1.6;
  }

  .contact .presentation .form .input {
    flex-direction: column;
    gap: 20px;
  }

  .contact .presentation .form .input div {
    width: 100%;
  }

  .contact .presentation .form input[type="text"],
  .contact .presentation .form input[type="email"],
  .contact .presentation .form select,
  .contact .presentation .form textarea {
    width: 100%;
  }

  .contact .presentation .form .inputcoche input[type="text"],
  .contact .presentation .form .inputcoche textarea {
    width: 100%;
  }

  .contact .presentation .form button {
    width: 100%;
    min-width: unset;
    margin-top: 30px;
  }

  .contact .presentation .form .inputcoche div {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

@media (max-width: 769px) {
  .contact .herosectioncontact {
    height: 40vh;
    background-position: center;
  }
}

/* Page Inscription */

/* Page Inscription */

@media (max-width: 768px) {
  .inscrit .container {
    width: 90%;
  }

  .inscrit .herosectioncontact {
    height: 35vh;
    background-position: center;
  }

  .inscrit .herosectioncontact h2 {
    font-size: 2rem;
    line-height: 1.2;
    text-align: center;
    padding: 0 10px;
  }

  .inscrit .presentation h4 {
    font-size: 1.2rem;
    max-width: 100%;
  }

  .inscrit .presentation h3 {
    font-size: 1rem;
    max-width: 100%;
  }

  .inscrit .presentation p {
    font-size: 15.5px;
    line-height: 1.6rem;
  }

  .inscrit .presentation .form .input div,
  .inscrit .presentation .form .input {
    width: 100%;
    flex-direction: column;
  }

  .inscrit .presentation .form .input div {
    width: 100%;
  }

  .inscrit .presentation .form input[type="text"],
  .inscrit .presentation .form input[type="email"],
  .inscrit .presentation .form select,
  .inscrit .presentation .form textarea {
    width: 100%;
  }

  .inscrit .presentation .form .inputcoche input[type="text"],
  .inscrit .presentation .form .inputcoche textarea {
    width: 100%;
  }

  .inscrit .presentation .form button {
    width: 100%;
    min-width: unset;
    margin-top: 30px;
  }

  .inscrit .presentation .form .inputcoche p {
    font-size: 15.5px;
    line-height: 1.6rem;
  }
}

@media (max-width: 769px) {
  .inscrit .herosectioncontact {
    height: 40vh;
    background-position: center;
  }
  
   .logo-slider-track img {
    height: 50px; 
    margin: 10px 20px; 
  }
  
   .logo-slider-container::before,
  .logo-slider-container::after {
    display: none; 
  }
}

/* footer */

@media (max-width: 1200px) {
  footer .container .footer-content {
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 40px;
    text-align: center;
  }

  footer .container .footer-content .img {
    width: 15%;
  }

  footer .container .mailgenerale {
    width: 35%;
  }

  footer .container .link {
    width: 25%;
    text-align: center;
  }

  footer .container .link {
    text-align: center;
  }

  footer .container .reseaux {
    width: 50%;
    text-align: center;

  }

  footer .container .newsletter {
    width: 100%;
    margin-top: 20px;
  }


}

@media (max-width: 950px) {

  footer .container .footer-content .img {
    width: 100%;
  }

  footer .container .mailgenerale {
    width: 100%;
    align-items: center;
  }

  footer .container .link {
    text-align: center;
    width: 1000%;
  }

  footer .container .link .title {
    display: flex;
    justify-content: center;
  }

  footer .container .reseaux {
    width: 100%;

  }

  footer .container .reseaux .social-icons {
    justify-content: center;
  }

  footer .container .newsletter {
    width: 100%;
    margin-top: 20px;
  }

  .footer-bottom {
    flex-wrap: wrap;
    gap: 20px;
  }

  .footer-bottom-left {
    width: 100%;
    text-align: center;
  }

  .footer-bottom-right {
    width: 100%;
    text-align: center;
  }


}

@media (max-width: 770px) {

  footer .container .footer-content .img {
    display: flex;
    justify-content: center;
  }

  footer .container .mailgenerale {
    width: 100%;
    text-align: center;
  }

  footer .container .link {
    align-items: center;
  }

  footer .container .reseaux {
    text-align: center;
  }

  footer .container .newsletter p {
    text-align: center;
  }

  footer .container .newsletter input {
    width: 95%;
  }

  footer .container .reseaux .social-icons {
    justify-content: center;
  }

}

@media screen and (max-width: 1200px) {
    .galerie .herosection h2 {
        font-size: 2.5rem;
        margin-top: 50px;
    }
}

@media (max-width: 768px) {
        .hero-media-title { 
        font-size: 2.5rem;
        margin-top: 50px;
        text-align: center;
            
        }
        .pagination-container { gap: 8px; }
        .page-btn { width: 35px; height: 35px; font-size: 0.9rem; }
        
        .about-title {
            font-size: 1.5rem;
        }
    }

/* =========================================
   RESPONSIVE : PAGE ÉDITION 2025
   ========================================= */

/* --- Tablette (Max 1200px) --- */
@media (max-width: 1200px) {
  
  /* Hero Section : Hauteur réduite */
  .edition .herosection {
    height: 50vh;
    min-height: 400px;
  }

  .edition .herosection h2 {
    font-size: 2.8rem;
    margin-top: 60px;
    padding: 0 20px;
    text-align: center;
  }

  /* Section Résumé : Passage en colonne */
  .edition .resume {
    flex-direction: column;
    gap: 40px;
  }

  .edition .resume .txt {
    width: 100%;
  }

  /* L'image sticky n'a plus de sens en colonne, on la remet en flux normal */
  .edition .resume .img {
    width: 100%;
    position: static; /* Annule le sticky */
    margin-top: 0;
  }

  /* Image centrée et limitée en largeur pour l'esthétique */
  .edition .resume .img img {
    width: 100%;
    max-width: 600px;
    margin: 0 auto 20px auto;
    display: block;
  }
  
  /* Bouton centré sous l'image */
  .edition .resume .img a.btn-main {
    width: auto;
    display: inline-block;
    min-width: 300px;
  }
  .edition .resume .img {
    text-align: center;
  }
}

/* --- Tablette & Petits Écrans (Max 992px) --- */
@media (max-width: 992px) {
  
  /* Agenda Split : Passage en colonne */
  .agenda-split {
    flex-direction: column;
  }

  .agenda-split-image {
    width: 100%;
    height: 300px; /* Hauteur fixe pour l'image du haut */
    min-height: auto;
  }

  .agenda-split-content {
    width: 100%;
    padding: 50px 20px;
    text-align: center; /* On centre le texte sur tablette/mobile */
  }

  .agenda-text-wrapper {
    margin: 0 auto; /* Centre le bloc de texte */
  }

  /* Grille Intervenants : 2 colonnes au lieu de 3 */
  .intervenants-grid-edition {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* --- Mobile (Max 768px) --- */
@media (max-width: 768px) {

  /* Ajustement Titres */
  .edition .presentation h2,
  .edition .bfd-images-intro h2,
  .agenda-text-wrapper h2 {
    font-size: 19px;
    line-height: 1.3;
  }

  .edition .herosection h2 {
    font-size: 2.2rem;
    line-height: 1.2;
  }

  /* Ajustement de la liste à puces (Thématiques) */
  .themes-list-styled {
    margin-left: 10px;
  }
  
  .themes-list-styled li {
    padding-left: 25px;
  }
  
  .themes-list-styled li h5 {
    font-size: 1rem;
  }

  /* Slider : Ajustement des flèches de navigation */
  .gallery-nav-top-right {
    top: -50px;
    right: 50%;
    transform: translateX(50%); /* Centre les flèches */
    width: max-content;
  }

  /* Slider : Réduction taille des slides (déjà prévu dans le CSS précédent, rappel) */
  swiper-slide, 
  swiper-slide:nth-child(2n), 
  swiper-slide:nth-child(3n) {
    width: 280px !important;
    height: 350px !important;
  }

  /* Section Résumé : Ajustement des Clés (01, 02...) */
  /* Si vous avez gardé l'ancien design par erreur, sinon pour la liste à puce c'est OK */
  .edition .resume .txt .cle {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  
  .edition .resume .txt .cle .cle-number {
    width: 100%;
    margin-bottom: 5px;
  }
  
  .edition .resume .txt .cle .cle-txt {
    width: 100%;
  }
}

/* --- Petit Mobile (Max 600px) --- */
@media (max-width: 600px) {
  
  /* Grille Intervenants : 1 colonne */
  .intervenants-grid-edition {
    grid-template-columns: 1fr !important;
  }

  /* Header Intervenants : Centrer le texte et le bouton */
  .intervenants-header-left, 
  .intervenants-header-left .section-title {
    text-align: left;
    font-size: 20px;
  }
  
 
  
  .intervenants-header-left p {
    text-align: center;
  }

  /* Bouton "Tous les intervenants" pleine largeur ou centré */
  .intervenants-header-left .btn-main {
    width: 100%;
    text-align: center;
  }

  /* Agenda Split : Réduction padding */
  .agenda-split-content {
    padding: 40px 15px;
  }

  .agenda-text-wrapper h2 {
    font-size: 1.6rem;
  }
  
  /* Bouton téléchargement agenda pleine largeur */
  .agenda-text-wrapper .btn-main {
    width: 100%;
    justify-content: center;
  }
}

/* =========================================
   RESPONSIVE : PAGE ÉDITION 2025 (SUITE)
   ========================================= */

/* --- TABLETTE (Max 992px) --- */
@media (max-width: 992px) {

  /* 1. SECTION PRESSE (MEDIAS) */
  .edition-media-grid {
    gap: 30px;
  }
  
  .edition-media-grid img {
    height: 70px; /* Logos un peu plus petits */
  }

  /* 2. SECTION AWARDS (LAUREATS) */
  .laureats-grid.grid-left {
    /* Sur tablette, on garde l'alignement gauche mais on passe à 2 colonnes */
    display: grid;
    grid-template-columns: repeat(2, 1fr); 
    gap: 20px;
  }

  .laureat-card {
    width: 100%; /* Prend toute la largeur de sa colonne */
    max-width: 100%;
  }

  /* 3. SECTION SLIDER GALA */
  .gala-rect-container {
    width: 100%; /* Prend toute la largeur disponible */
    height: 400px; /* Hauteur réduite */
  }
  
  .gala-slider-wrapper {
    gap: 15px; /* Rapproche les flèches du cadre */
  }

  /* 4. SECTION VIDÉO */
  .video-wrapper-box {
    height: 400px;
  }
}

/* --- MOBILE (Max 768px) --- */
@media (max-width: 768px) {

  /* 1. SECTION PRESSE (MEDIAS) */
  .edition-presse {
    padding: 50px 0;
  }

  .edition-media-grid {
    gap: 20px;
    justify-content: center;
  }

  .edition-media-grid img {
    height: 50px; /* Logos adaptés au mobile */
    margin: 10px;
  }

  /* 2. SECTION AWARDS (LAUREATS) */
  .awards-2025-section .section-title.text-left,
  .awards-2025-section .section-intro.text-left,
  .awards-category-block .category-title.text-left {
    text-align: center !important; /* On centre tout sur mobile pour l'esthétique */
  }

  .awards-2025-section .section-title.text-left::after {
    margin: 10px auto; /* Recentrer la barre jaune */
  }

  .laureats-grid.grid-left {
    grid-template-columns: 1fr; /* 1 seule colonne */
    justify-items: center; /* Centre les cartes */
  }

  .laureat-card {
    max-width: 350px; /* Limite la largeur pour ne pas être trop large */
  }

  /* 3. SECTION SLIDER GALA */
  .gala-slider-section {
    padding: 40px 0;
  }

  .gala-slider-wrapper {
    /* Sur mobile, on peut superposer les flèches SUR l'image pour gagner de la place */
    position: relative; 
    gap: 0;
  }

  .gala-rect-container {
    height: 250px; /* Hauteur adaptée au mobile */
    width: 100%;
  }

  /* Positionner les flèches SUR le slider en mobile */
  .gala-btn-prev, 
  .gala-btn-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 50;
    background: rgba(255, 255, 255, 0.3); /* Petit fond semi-transparent */
    border-radius: 50%;
    width: 35px;
    height: 35px;
  }

  .gala-btn-prev { left: 10px; }
  .gala-btn-next { right: 10px; }

  .gala-btn-prev i, 
  .gala-btn-next i {
    font-size: 1.5rem; /* Flèches plus petites */
    color: #082a46;
  }

  /* 4. SECTION VIDÉO */
  .video-recap-section {
    padding: 50px 0;
  }

  .video-wrapper-box {
    height: 220px; /* Format vidéo mobile */
    border-radius: 10px;
  }

  .play-btn-circle {
    width: 60px;
    height: 60px;
    font-size: 20px;
  }

  .play-pulse {
    width: 60px;
    height: 60px;
  }
}



/* --- TABLETTE (Max 992px) --- */
@media (max-width: 992px) {
  
  /* On passe en colonne : Image au-dessus, Texte en dessous */
  .rapport-content {
    flex-direction: column;
    text-align: center; /* On centre le texte */
    gap: 40px;
  }

  /* Les blocs prennent toute la largeur */
  .rapport-visual, 
  .rapport-text {
    width: 100%;
  }

  /* On force l'alignement centré du texte spécifiquement */
  .rapport-text {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  /* Ajustement de l'image (Livre 3D) */
  .book-3d img {
    max-width: 280px; /* On réduit un peu la taille */
    /* On réduit l'effet de perspective qui peut être étrange sur petit écran */
    transform: perspective(1000px) rotateY(-5deg); 
  }
}

/* --- MOBILE (Max 768px) --- */
@media (max-width: 768px) {

  .edition-rapport {
    padding: 60px 0;
  }

  .rapport-text h2 {
    font-size: 1.8rem; /* Titre plus petit */
    line-height: 1.3;
  }
  
  .rapport-text p {
    font-size: 1rem;
  }

  /* Bouton pleine largeur sur mobile pour faciliter le clic */
  .btn-download {
    width: 100%;
    justify-content: center;
    font-size: 0.9rem;
    padding: 15px;
  }
  
  .book-3d img {
    max-width: 220px; /* Encore plus petit sur mobile */
    transform: perspective(1000px) rotateY(0deg); /* On enlève la rotation 3D pour la lisibilité */
    border-width: 2px; /* Bordure plus fine */
  }
}







/* --- RESPONSIVE PARTENAIRES DÉTAILLÉS --- */
@media (max-width: 768px) {
  .partner-detailed-card {
    flex-direction: column; /* Empiler verticalement */
    align-items: center;
    text-align: center;
    gap: 20px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 30px;
  }

  .partner-logo-box {
    flex: 0 0 auto;
    width: 200px; /* Plus petit sur mobile */
    height: 120px;
  }

  .partner-desc-box p {
    text-align: left; /* Ou center selon préférence */
    font-size: 0.9rem;
  }
}



/* =========================================
   RESPONSIVE : PAGE ORGANISATEURS (FINALE)
   ========================================= */

/* --- TABLETTE (Max 992px) --- */
@media (max-width: 992px) {
  
  /* Grille Leadership : Passage à 2 colonnes */
  .leadership-grid-flat {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  /* Intro : Ajustement padding */
  .org-intro-section {
    padding: 60px 20px 20px 20px;
  }
}

/* --- MOBILE (Max 768px) --- */
@media (max-width: 768px) {

  /* 1. HERO SECTION */
  .herosection-organisateurs {
    height: 50vh; /* Hauteur réduite */
    min-height: 300px;
  }

  .herosection-organisateurs h2 {
    font-size: 2.2rem; /* Titre plus petit */
    letter-spacing: 1px;
  }

  /* 2. TITRES & TEXTES */
  .org-intro-section .section-title {
    font-size: 1.8rem;
    line-height: 1.3;
  }

  .title-simple, 
  .org-subtitle-simple {
    font-size: 1.6rem;
    text-align: center; /* On centre les titres sur mobile pour l'équilibre */
    margin-bottom: 30px;
  }

  /* 3. SECTION LEADERSHIP */
  .org-leadership-flat {
    padding: 40px 20px;
  }

  .leadership-grid-flat {
    grid-template-columns: 1fr; /* 1 seule colonne */
    gap: 40px;
  }

  .leader-img-wrapper {
    height: 300px; /* Image un peu moins haute */
  }

  .leader-txt-wrapper {
    text-align: center; /* Texte centré sur mobile */
    padding: 10px;
  }

  /* 4. CARTES "FLAT" (Agences, APECCA, Patronage) */
  .org-agencies-section, 
  .org-apecca-section, 
  .org-patronage-section {
    padding: 30px 20px;
  }

  .org-flat-card {
    flex-direction: column; /* On empile : Logo en haut, Texte en bas */
    align-items: center;
    gap: 20px;
    text-align: center;
    border-bottom: 1px solid #eee; /* Séparateur visuel entre les cartes */
    padding-bottom: 30px;
  }
  
  /* On enlève la bordure du dernier élément */
  .org-stack-list .org-flat-card:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }

  /* Ajustement du Logo */
  .org-card-logo {
    flex: 0 0 auto;
    width: 100%;
    justify-content: center; /* Logo centré */
    padding-top: 0;
    margin-bottom: 10px;
  }

  .org-card-logo img {
    max-width: 180px; /* Taille contrôlée */
  }

  /* Ajustement du Texte */
  .org-card-txt h4 {
    text-align: center;
    font-size: 1.3rem;
  }

  .org-card-txt p {
    text-align: center; /* Texte centré pour faire propre */
    font-size: 1rem;
  }

  /* 5. LISTE PATRONAGE (Ministères) */
  .patronage-ministries li {
    text-align: center;
    padding-left: 0; /* On enlève le padding de la puce */
    margin-bottom: 15px;
  }

  .patronage-ministries li::before {
    /* On change la puce absolute en relative pour qu'elle soit collée au texte */
    position: relative;
    top: -2px;
    left: auto;
    margin-right: 8px;
  }
}