  @font-face {
    font-family: MontserratAlt;
    src: url(../Assets/MontserratAlt1-Light.otf);
  }
  /* Par défaut */
html, body {
  background-color: #ffffff;
  color: #000000;
}

/* Si l'utilisateur est en mode sombre → on l'ignore */
@media (prefers-color-scheme: dark) {
  html, body {
    background-color: #ffffff !important;
    color: #000000 !important;
  }

  a {
    color: #000000 !important;
  }

  /* Exemples : boutons, header, etc. */
  .custom-header,
  .nav-link {
    background-color: white !important;
    color: black !important;
  }
}

  .bd-placeholder-img {
        font-size: 1.125rem;
        text-anchor: middle;
        -webkit-user-select: none;
        -moz-user-select: none;
        user-select: none;
      }

      @media (min-width: 768px) {
        .bd-placeholder-img-lg {
          font-size: 3.5rem;
        }
      }
      .nav-link {
        color: #bdcec8 !important;
      }
      
      .nav-link.active,
      .nav-link:hover {
        background-color: #003e33 !important;
        color: white !important;
      }
      .custom-header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1000;
        background-color: white;
        border-bottom-left-radius: 30px;
        border-bottom-right-radius: 30px;
        max-width: 720px;
        margin: 0 auto;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
      }
    /* Masquer le menu par défaut en mobile */
/* Mobile only */
@media (max-width: 767.98px) {
  /* Cacher le menu et le header par défaut */
  #main-header {
    background: transparent !important;
    box-shadow: none !important;
  }

  #main-nav {
    display: none;
  }

  #main-nav.active {
    display: flex;
    flex-direction: column;
    transition: max-height 0.4s ease;
    gap: 0.5rem;
    margin-top: 1rem;
  }
}

  /* Quand le menu est actif, afficher le fond blanc */
  #main-header.menu-open {
    background: white !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
  }

  /* Bouton flottant */
  .menu-float-btn {
    position: fixed;
    top: 15px;
    right: 15px;
    z-index: 1050;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    font-size: 1.5rem;
    padding: 0;
    line-height: 1;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  }
}


      .b-example-divider {
        width: 100%;
        height: 3rem;
        background-color: rgba(0, 0, 0, .1);
        border: solid rgba(0, 0, 0, .15);
        border-width: 1px 0;
        box-shadow: inset 0 .5em 1.5em rgba(0, 0, 0, .1), inset 0 .125em .5em rgba(0, 0, 0, .15);
      }

      .b-example-vr {
        flex-shrink: 0;
        width: 1.5rem;
        height: 100vh;
      }

      .bi {
        vertical-align: -.125em;
        fill: currentColor;
      }

      .nav-scroller {
        position: relative;
        z-index: 2;
        height: 2.75rem;
        overflow-y: hidden;
      }

      .nav-scroller .nav {
        display: flex;
        flex-wrap: nowrap;
        padding-bottom: 1rem;
        margin-top: -1px;
        overflow-x: auto;
        text-align: center;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
      }

      .btn-bd-primary {
        --bd-violet-bg: #712cf9;
        --bd-violet-rgb: 112.520718, 44.062154, 249.437846;

        --bs-btn-font-weight: 600;
        --bs-btn-color: var(--bs-white);
        --bs-btn-bg: var(--bd-violet-bg);
        --bs-btn-border-color: var(--bd-violet-bg);
        --bs-btn-hover-color: var(--bs-white);
        --bs-btn-hover-bg: #6528e0;
        --bs-btn-hover-border-color: #6528e0;
        --bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
        --bs-btn-active-color: var(--bs-btn-hover-color);
        --bs-btn-active-bg: #5a23c8;
        --bs-btn-active-border-color: #5a23c8;
      }

      .bd-mode-toggle {
        z-index: 1500;
      }

      .bd-mode-toggle .dropdown-menu .active .bi {
        display: block !important;
      }
      .slider-background-container {
        display: flex;
        align-items: center;  /* Centre verticalement */
        justify-content: center;  /* Centre horizontalement */
        min-height: 40vh; /* Pour que le conteneur prenne toute la hauteur de la fenêtre */
        position: relative;
      }
      #contactpopup:hover {
        background-color: #ffffff !important;
        border-color: #003e33 !important;
        color: #003e33 !important; /* optionnel : pour un joli contraste */
      }
      #sendpopup:hover {
        background-color: #ffffff !important;
        border-color: #003e33 !important;
        color: #003e33 !important; /* optionnel : pour un joli contraste */
      }
      #calendlybtn:hover {
        color: #ffffff !important;
        background-color: #003e33 !important;
        border-color: #003e33 !important; /* utile si btn-outline est appliqué */
      }
      
      .slider-background {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 0;;
      }
      .slider-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(26, 66, 38, 0.5); /* #3BB55D avec 30% d'opacité */
        z-index: 1; /* juste au-dessus du slider, mais en-dessous du texte */
      }
      .slider-background-container > .position-relative {
        z-index: 2;
      }
      
      .slider-img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: 0;
        transition: opacity 1s ease-in-out;
      }
      
      .slider-img.active {
        opacity: 1;
      }
      
      .slider-background-container > .position-relative {
        z-index: 1;
      }
      
