/* Styles pour le layout utilisateur */
.visitor-layout {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.visitor-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  background-color: #F8F5F1!important;

}

.visitor-main {
  flex: 1;
  background-color: #F8F5F1!important;
  padding: 1rem;
}

bg-swim {
  background-color: #5bcacb;
}

.visitor-bg {
  background-color: #f9f5f2 !important;
}

.title-swim {
  background-color: #ffffff;
  padding: 15px 10px;
  color: #004F59;
  text-align: center;
  box-shadow: 0px 12px 18px -6px rgba(0, 0, 0, 0.3) !important;
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 40px;
}

/* Ajustements pour le header */

.visitor-header {
  background-color: #f9f5f2;
  border: 20px solid #048080;
  border-bottom: 1px dashed #048080;
  border-top: 5px dotted #ecf9fe;
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
}

.logo-wrapper {
  background-color: #f5f4f0;
  border-radius: 5px;
  padding: 5px 10px;
}

.visitor-site-title {
  color: #0175c5;
}

.visitor-menu-item {
  background-color: #ecf0f3;
  border-radius: 5px;
  margin: 0 5px;
}

.visitor-profile-btn {
  background-color: #21cfc6;
  border-radius: 5px;
  margin: 0 5px;
}

.visitor-logout-btn {
  background-color: #004F59;
  padding: 10px;
  border: none;
  color: #FFFFFF;
  box-shadow: 0px 12px 18px -6px rgba(0, 0, 0, 0.3) !important;
}

/* Ajustements pour la navbar */
.visitor-nav {
  background-color: #f9f5f3;
  box-shadow: 0 2px 4px rgba(0,0,0,.08);
}

/* Ajustements pour le footer */
.visitor-footer {
  background-color: #004f59;
    border-color: #048080 #f8f9fa;
    border-style: solid;
    border-width: 40px 20px;
    color: #fff;
    padding: 1rem 0;
}

.visitor-nav-link {
  background-color: #f9f5f3;
    border: none;
    color: #000;
    font-size: 130%;
    padding: 15px 15px;
    text-decoration: none;
}

.visitor-nav-link:hover,
.visitor-nav-link:active,
.visitor-nav-link:focus {
  background-color: #004F59; 
  color: #FFFFFF !important;  
  font-weight: 800;
  outline: 1px solid #ffffff; 
  border: none;
}

.visitor-nav-link:active{
    background-color: #e0e0e0;
    border: none;
}

.dropdown-visitor, .dropdown-visitor:hover {
  font-size: 120%;
  line-height: 3rem;
  text-decoration: none;
  color: #343a40;
  font-weight: 600;
  display: block;
}

.dropdown-visitor.active, .dropdown-visitor:active {
  color: #FFFFFF;
  text-decoration: none;
  background-color: #004F59;
  display: block;
  padding: 15px 5px;
  font-weight: bolder;
}

.dropdown-menu.show {
  display: block;
  min-height: 200%;
  background-color: #f9f5f3;
  padding: 10px 10px;
  border: 2px solid #004F59;
  min-width: 200%;
}

.banner-container-outer {
  width: 100%;
  background-color: #048080;
  display: flex;
  justify-content: center;
}

.banner-wrapper {
  max-height: 100%;
  max-width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.banner-image {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
}
.text-primary {
    color: #004f59 !important; /* Ajoutez !important pour surcharger Bootstrap */
}
/* Styles pour la section avec vidéo en arrière-plan */
.video-background-section {
    position: relative; /* Permet le positionnement absolu des enfants */
    overflow: hidden;   /* Cache tout ce qui dépasse */
    padding-top: 5rem;  /* Assurez-vous que le padding de py-5 est appliqué */
    padding-bottom: 5rem; /* Assurez-vous que le padding de py-5 est appliqué */
    /* Optionnel: assurez une hauteur minimale à la section si le contenu est court */
    /* min-height: 500px; */
}

.video-background-container {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 300%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: 1; /* Place le conteneur de la vidéo derrière le contenu */
    transform: translate(-50%, -50%); /* Centre la vidéo */
    background-size: cover;
    pointer-events: none; /* Empêche les clics sur la vidéo */
    overflow: hidden; /* Important pour cacher les débordements de l'iframe */
}

.video-background-iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;   /* Largeur de la fenêtre (viewport width) */
    height: 56.25vw; /* Rapport d'aspect 16:9 (9/16 = 0.5625) */
    min-height: 100%;
    min-width: 177.77vh; /* Rapport d'aspect 16:9 (16/9 = 1.7777) */
    transform: translate(-50%, -50%); /* Centre la vidéo */
    /* S'assurer que l'iframe couvre l'ensemble de la section et gère le zoom */
    object-fit: cover; /* Assure que la vidéo couvre le conteneur, en coupant si nécessaire */
}

/* Gérer le rapport d'aspect sur des écrans étroits/verts (souvent les mobiles en portrait) */
@media (max-aspect-ratio: 16/9) {
  .video-background-iframe {
    height: 100vh; /* La hauteur de la vidéo prend toute la hauteur de la fenêtre */
    min-width: 0;
  }
}

/* Couche de recouvrement pour le contenu */
.content-overlay {
    position: relative;
    z-index: 2; /* Place le contenu au-dessus de la vidéo */
    background-color: rgba(255, 255, 255, 0.7); /* Optionnel: un léger fond blanc semi-transparent */
    /* Vous pouvez ajuster cette couleur et opacité pour améliorer la lisibilité du texte */
    padding: 2rem; /* Ajoutez du padding pour ne pas coller la vidéo, si besoin */
    border-radius: 8px; /* Optionnel: si vous voulez des coins arrondis pour le fond */
}

@media (max-width: 768px) {
  .video-background-container {
    display: block; /* S'assure que le conteneur est visible */
  }

  .video-background-section {
    background-image: none; /* Supprime l'image de secours */
    /* Le reste des styles (padding, etc.) reste inchangé */
  }

  .content-overlay {
    background-color: rgba(255, 255, 255, 0.75); /* Légèrement plus opaque que le 0.7 par défaut si désiré */
  }

  .video-background-iframe {
    height: 100vh;
    min-width: 100%; /* Assure que la vidéo n'est pas trop petite */
    width: auto; /* Permet à la largeur de s'adapter */
  }
}