html { scroll-padding-top: 70px; }
body {
    padding-top: 70px; /* Ajustez selon la hauteur de votre barre de navigation */
  }
/* Changer la couleur des liens standards */
a {
    color: #2e344e !important; /* Nouvelle couleur */
    text-decoration: none; /* Pas de soulignement */
}

a:hover {
    color: #f4b220; /* Couleur au survol */
    text-decoration: underline; /* Soulignement au survol */
}


/* Changer la couleur des liens avec la classe nav-link */
.nav-link {
    color: #2e344e !important; /* Nouvelle couleur pour nav-link */
    text-decoration: none; /* Pas de soulignement */
}

/* Couleur au survol pour nav-link */
.nav-link:hover {
    color: #f4b220; /* Couleur différente au survol */
    text-decoration: underline; /* Soulignement au survol */
}

/* Bouton personnalisé */
.btn-cc {
    color: #2e344e; /* Texte principal */
    border: 2px solid #2e344e; /* Bordure principale */
    background-color: transparent; /* Fond transparent */
    transition: all 0.3s ease; /* Transition fluide */
    font-weight: bold; /* Texte en gras */
}

.btn-cc:hover {
    color: #f4b220 !important; /* Texte en couleur accentuée */
    border-color: #f4b220; /* Bordure accentuée */
    background-color: #2e344e; /* Fond principal */
}

.btn-cc:active {
    color: #2e344e; /* Texte principal */
    background-color: #f4b220; /* Fond accentué */
    border-color: #f4b220; /* Bordure accentuée */
}

.btn-cc:focus {
    box-shadow: 0 0 0 0.2rem rgba(244, 178, 32, 0.5); /* Halo de focus */
}

/* Boutons de tailles */
.btn-cc.btn-lg {
    padding: 0.5rem 1rem;
    font-size: 1.25rem;
}

.btn-cc.btn-sm {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
}
/* Bouton personnalisé */
.btn-ccpositive {
    color: #f4b220 !important; /* Texte jaune par défaut */
    border: 2px solid #2e344e !important; /* Bordure bleue */
    background-color: #2e344e !important; /* Fond bleu */
    transition: all 0.3s ease; /* Transition fluide */
    font-weight: bold; /* Texte en gras */
}

.btn-ccpositive:hover {
    color: #2e344e !important; /* Texte bleu au survol */
    border-color: #2e344e !important; /* Bordure bleue */
    background-color: transparent !important; /* Fond transparent */
}

.btn-ccpositive:active {
    color: #f4b220 !important; /* Texte jaune actif */
    background-color: transparent !important; /* Fond transparent */
    border-color: #f4b220 !important; /* Bordure jaune */
}

.btn-ccpositive:focus {
    box-shadow: 0 0 0 0.2rem rgba(244, 178, 32, 0.5) !important; /* Halo de focus */
}

.btn-ccnegative {
    color: #2e344e !important; /* Texte jaune par défaut */
    border: 2px solid #f4b220 !important; /* Bordure bleue */
    background-color: #f4b220 !important; /* Fond bleu */
    transition: all 0.3s ease; /* Transition fluide */
    font-weight: bold; /* Texte en gras */
}

.btn-ccnegative:hover {
    color: #2e344e !important; /* Texte bleu au survol */
    border-color: #f4b220 !important; /* Bordure bleue */
    background-color: transparent !important; /* Fond transparent */
}

.btn-ccnegative:active {
    color: #2e344e !important; /* Texte jaune actif */
    background-color: transparent !important; /* Fond transparent */
    border-color: #2e344e !important; /* Bordure jaune */
}

.btn-ccnegative:focus {
    box-shadow: 0 0 0 0.2rem rgba(244, 178, 32, 0.5) !important; /* Halo de focus */
}


/* Version Outline du bouton avec un modèle similaire à btn-primary-outline */
.btn-ccpositive-outline {
    color: #2e344e !important; /* Texte jaune par défaut */
    border: 2px solid #2e344e !important; /* Bordure bleue */
    background-color: transparent !important; /* Fond transparent */
    transition: all 0.3s ease; /* Transition fluide */
    font-weight: bold; /* Texte en gras */
}

.btn-ccpositive-outline:hover {
    color: #fff !important; /* Texte blanc au survol */
    border-color: #2e344e !important; /* Bordure bleue */
    background-color: #2e344e !important; /* Fond bleu */
}

.btn-ccpositive-outline:active {
    color: #f4b220 !important; /* Texte jaune actif */
    background-color: transparent !important; /* Fond transparent */
    border-color: #f4b220 !important; /* Bordure jaune */
}
/* Boutons de tailles */
.btn-ccpositive.btn-lg {
    padding: 0.5rem 1rem;
    font-size: 1.25rem;
}

.btn-ccpositive.btn-sm {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
}
.bg-ccpositive {
    background-color: #f4b220 !important; /* Couleur jaune pour ccpositive */
    color: #2e344e !important; /* Couleur bleue pour les icônes/textes si nécessaire */
}
.ccpositive {color: #2e344e !important;}

 .bootstrap-select .dropdown-toggle {
   background-color: white !important;
   color: #212529 !important;
   border: 1px solid #ced4da !important;
   border-radius: 0.375rem !important;
   box-shadow: none !important;
 }
 
 .bootstrap-select .dropdown-menu {
   background-color: white;
   border-radius: 0.375rem;
 }
 .dropdown-item {
   display: block;     /* prend toute la largeur */
   width: 100%;        /* occupe la colonne */
 }
 @media (max-width: 991.98px) { /* < 992px = mobile/tablette */
   .dropdown-menu {
     max-height: 70vh;   /* limite à 70% de la hauteur écran */
     overflow-y: auto;   /* active le scroll interne */
   }
 }
    
    
    .banner {
    position: relative;
    background-size: cover;
    background-position: center;
    height: 400px; /* Hauteur fixe de la bannière */
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    overflow: hidden;
}
    .bannerindex {
    
      background-size: cover;
      background-position: center;
      height: 1px;
      color: white;
      display: flex;
      justify-content: center;
      align-items: center;
    }

.logo-smaller {
      max-height: 50px !important;
      min-height: 30px;
    margin-bottom: 10px;
}

    .section-title {
      margin-top: 30px;
      margin-bottom: 30px;
    }

    .section-content {
      margin-bottom: 40px;
    }

    .image-gallery img {
      width: 100%;
      height: auto;
    }
     .flag img {
      width: 30px;
      height: 20px;
    }

    .price-box {
      background-color: #f8f9fa;
      padding: 15px;
      border: 1px solid #ddd;
      border-radius: 5px;
    }

    .price-box h3 {
    color: #2e344e; /* Bleu sombre CCPositive */
    font-family: 'Open Sans', Arial, sans-serif; /* Police Open Sans avec fallback */
    font-weight: 700; /* Gras (700 pour Open Sans) */
    text-align: center;
    margin-top: 20px;
    margin-bottom: 20px;
    padding-bottom: 10px;
    }
    
.timeline-itineraire {
    position: relative;
    padding: 10px 0;
}

/* Barre verticale : uniquement visible sur desktop */
.timeline-itineraire::before {
    content: '';
    position: absolute;
    top: 0;
    left: 25px;
    width: 4px;
    height: 100%;
    background: #2e344e;
    z-index: 1;
}

.timeline-itineraire-item {
    position: relative;
    margin-bottom: 30px; /* Espacement entre les éléments */
    display: flex;
    align-items: flex-start;
}

/* Icône représentant le jour */
.timeline-itineraire-icon {
    flex: 0 0 60px;
    height: 60px;
    width: 60px;
    border-radius: 50%;
    background: #2e344e;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 16px;
    z-index: 2;
}

/* Contenu principal */
.timeline-itineraire-content {
    margin-left: 60px;
    padding: 10px 15px;
    background: #f8f9fa;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    flex: 1;
}

/* Titres */
.timeline-itineraire-title {
    font-size: 18px;
    font-weight: bold;
    color: #2e344e;
    margin-bottom: 5px;
}

.timeline-itineraire-content img {
    margin-top: 5px;
    border-radius: 5px;
    width: 100%;
}

.text-muted {
    font-size: 14px;
    color: #6c757d;
}

/* Adaptation pour mobile */
@media (max-width: 768px) {
    .timeline-itineraire::before {
        display: none; /* Retire la barre verticale */
    }

    .timeline-itineraire-item {
        flex-direction: column; /* Les éléments s'empilent verticalement */
        align-items: center; /* Centre les éléments horizontalement */
        text-align: center; /* Centre le texte */
    }

    .timeline-itineraire-icon {
        margin-bottom: -25px; /* Décale le cercle vers le haut du contenu */
        z-index: 3; /* Place le cercle au-dessus */
    }

    .timeline-itineraire-content {
        width: 100%; /* Occupe toute la largeur */
        margin-left: 0; /* Aucune marge à gauche */
        padding-top: 35px; /* Ajoute un espace pour le cercle */
    }

    .timeline-itineraire-title {
        font-size: 16px;
    }

    .text-muted {
        font-size: 12px;
    }
}




#map {
            width: 100%;
            height: 600px;
     }
.marker-label {
            background-color: #f4b220;
            color: #2e344e;
            font-size: 12px;
            font-weight: bold;
            padding: 4px 8px;
            border-radius: 4px;
            text-align: center;
				}




.lead {
    margin-bottom: 20px;
    font-size: 21px;
    font-weight: 300;
    line-height: 1.4;
}

.text-danger, .text-red {
    color: #ff5b57!important;
}
.cabin   {width: 110px;}
.smaller {font-size: 0.7em;}
.gray {background-color: #fbfbfb;}
.colour-inclus {
  background: #198754;
}
.colour-noninclus {
  background: #848484;
}
.row-flex {
  display: flex;
  flex-wrap: wrap;
}
.content {
  height: 100%;
  padding: 20px 20px 10px;
  color: #fff;
}

/* vertical spacing between columns */

[class*="col-"] {
  margin-bottom: 30px;
}
.main-content {
    position: relative;

    .owl-theme {
        .custom-nav {
            position: absolute;
            top: 20%;
            left: 0;
            right: 0;

            .owl-prev, .owl-next {
                position: absolute;
                height: 200px;
                color: inherit;
                background: none;
                border: none;
                z-index: 100;

                i {
                    font-size: 2.0rem;
                   
                }
            }

            .owl-prev {
                left: 0;
            }

            .owl-next {
                right: 0;
            }
        }
    }
}

.hiddenRow {
    padding: 0 !important;
}
.ctest {
    display: none;
}

#carousel-cabines .item img {
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    max-height: 300px;
    object-fit: cover;
}

#carousel-cabines .item h5 {
    color: #2e344e;
    font-weight: bold;
}

#carousel-cabines .item p {
    color: #6c757d; /* Couleur grise pour le texte */
}

.owl-nav .btn-link {
    color: #2e344e;
    font-size: 1.5rem;
}

.owl-nav .btn-link:hover {
    color: #f4b220;
}
/* Positionner les boutons sur les côtés */
#carousel-cabines .owl-nav {
    position: absolute;
    top: 50%; /* Centrer verticalement */
    width: 100%;
    display: flex;
    justify-content: space-between; /* Un bouton à gauche et un à droite */
    transform: translateY(-50%); /* Centrage parfait */
}

#carousel-cabines .owl-nav .owl-prev,
#carousel-cabines .owl-nav .owl-next {
    background-color: rgba(46, 52, 78, 0.8); /* Fond semi-transparent */
    color: #fff; /* Couleur blanche */
    border-radius: 50%; /* Boutons ronds */
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5rem; /* Taille des icônes */
    cursor: pointer;
    transition: all 0.3s ease;
}

/* Hover sur les boutons */
#carousel-cabines .owl-nav .owl-prev:hover,
#carousel-cabines .owl-nav .owl-next:hover {
    background-color: #f4b220; /* Couleur d'accentuation au survol */
    color: #2e344e;
}

/* Bouton gauche */
#carousel-cabines .owl-nav .owl-prev {
    left: -20px; /* Décalage vers la gauche */
}

/* Bouton droit */
#carousel-cabines .owl-nav .owl-next {
    right: -20px; /* Décalage vers la droite */
}
/* Conteneur des éléments dans le carousel */
#carousel-cabines .item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    text-align: center;
    height: 100%; /* Assurez une hauteur uniforme pour tous les éléments */
}

/* Images */
#carousel-cabines .item img {
    max-height: 200px; /* Ajustez la hauteur maximale pour uniformiser */
    object-fit: cover; /* Assure que l'image reste proportionnelle */
    margin-bottom: 15px; /* Ajoute de l'espace avec le texte */
}

/* Titre */
#carousel-cabines .item h5 {
    font-size: 1rem;
    font-weight: bold;
    color: #2e344e;
    margin-bottom: 10px;
}

/* Texte descriptif */
#carousel-cabines .item p {
    font-size: 0.9rem;
    color: #6c757d;
    margin: 0;
    padding: 0 15px; /* Pour les textes longs, assure une marge latérale */
}
	/* Section du carousel */

.ccpositive-text {
    background-color: #2e344e; /* Couleur de fond */
    color: #f4b220 !important; /* Couleur du texte */
    display: inline-block; /* Style bouton-like */
    border-radius: 0.25rem; /* Coins arrondis */
    padding: 0.15rem 0.4rem; /* Espacement interne compact */
    font-size: 0.875rem; /* Taille de texte réduite */
    font-weight: bold; /* Texte en gras */
    text-decoration: none; /* Pas de soulignement */
}
.ccpositive-text-reverse {
    background-color:#f4b220 ; /* Couleur de fond */
    color: #2e344e !important; /* Couleur du texte */
    display: inline-block; /* Style bouton-like */
    border-radius: 0.25rem; /* Coins arrondis */
    padding: 0.15rem 0.4rem; /* Espacement interne compact */
    font-size: 0.875rem; /* Taille de texte réduite */
    font-weight: bold; /* Texte en gras */
    text-decoration: none; /* Pas de soulignement */
}
.ccpositive-alert {
    background-color: #2e344e;   /* fond bleu foncé */
    color: #f4b220 !important;   /* texte orange */
    display: block;              /* prend toute la largeur */
    width: 100%;                 /* largeur max */
    border-radius: 0.25rem;      /* arrondis */
    padding: 0.5rem 1rem;        /* plus d’air */
    font-size: 0.95rem;          /* un peu plus lisible */
    font-weight: 600;
    text-align: center;          /* centré */
}

.carousel {
    position: relative;
    z-index: 1;
}
.carousel .carousel-item img {
    max-height: 450px; /* Limite la hauteur à 450px */
    object-fit: cover; /* Garde une mise à l'échelle proportionnelle */
    width: 100%; /* Assure que l'image remplit la largeur */
}
.carousel-caption {
    position: absolute;
    top: 15%; /* Positionne le texte à 20% du haut */
    left: 50%;
    transform: translateX(-50%); /* Centre horizontalement le texte */
    text-align: center;
    z-index: 10; /* Assure que le texte est au-dessus de l'image */
}
/* Conteneur du moteur de recherche */


/* Titre du carousel */
.carousel-title {
    font-size: 32px; /* Taille du titre */
    font-weight: bold;
    color: white; /* Texte en blanc */
    text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.3); /* Légère ombre pour lisibilité */
    margin-bottom: 10px;
}

.carousel-price {
    display: inline-block; /* S'adapte au texte */
    padding: 5px 20px; /* Ajuste les dimensions */
    background: #f4b220; /* Couleur de fond jaune */
    color: #2e344e; 
    font-size: 1.5rem; /* Taille du texte */
    font-weight: bold; /* Texte en gras */
    text-transform: uppercase; /* Texte en majuscules */
    border-radius: 5px; /* Coins arrondis pour un look moderne */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); /* Ombre pour effet de profondeur */
    margin-top: 10px; /* Espacement avec le titre */
    position: relative; /* Nécessaire pour les coins en ruban */

    /* Style des coins du ruban */
    clip-path: polygon(0 0, 95% 0, 100% 50%, 95% 100%, 0 100%, 5% 50%);
}

.carousel-caption {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px; /* Espacement entre les éléments */
    text-align: center;
}/* Description du carousel */
.carousel-description {
    font-size: 20px; /* Taille de la description */
    color: white; /* Texte en blanc */
    text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.3); /* Ajoute une légère ombre */
    margin-bottom: 15px;
}
.object-fit-cover {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
/* Style général pour les destinations */
.destination-card {
    overflow: hidden;
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-radius: 10px; /* Pour les coins arrondis */
}

.destination-card:hover {
    transform: scale(1.05); /* Agrandissement léger au survol */
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3); /* Ombre accentuée */
}

/* Effet sur l'image */
.destination-card img {
    transition: transform 0.3s ease;
}

.destination-card:hover img {
    transform: scale(1.1); /* Zoom de l'image */
}



.destination-card:hover .overlay-content {
    background-color: rgba(0, 0, 0, 0.7); /* Fond plus foncé au survol */
}

.overlay-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 10; /* Assure que l'overlay est au-dessus */
    background: rgba(0, 0, 0, 0.5); /* Semi-transparent */
    color: #fff;
    text-align: center;
    padding: 10px 0;
    box-shadow: 0 -5px 10px rgba(46, 52, 78, 0.7); /* Effet d'ombre */
    transition: background-color 0.3s ease, opacity 0.3s ease;
    background-color: rgba(0, 0, 0, 0.5); /* Fond semi-transparent par défaut */
    opacity: 1;
}

.destination-title {
    font-size: 1.8rem;
    margin: 0;
}

.price-overlay {
    font-size: 1.2rem;
}
.exclusive-ribbon {
  --f: 10px; /* contrôle la partie pliée */
  --r: 15px; /* contrôle la forme du ruban */
  --t: 10px; /* décalage depuis le haut */
  
  position: absolute;
  top: var(--t);
  left: 0;
  padding: 5px 20px; /* Ajuster la taille du ruban */
  clip-path: 
    polygon(0 0, 100% 0, calc(100% - var(--r)) 50%, 100% 100%, 0 100%, var(--r) 50%);
  background: #f4b220; /* Couleur du ruban */
  color: #2e344e; /* Couleur du texte */
  font-weight: bold; /* Texte en gras */
  font-size: 0.85rem; /* Taille du texte */
  text-align: center;
  text-transform: uppercase; /* Texte en majuscules */
  z-index: 5; /* Position devant */
  width: fit-content; /* S'adapte au texte */
  height: auto; /* Empêche de prendre toute la hauteur */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); /* Ombre */
}/* Responsivité */
 .carousel-item img {
            max-height: 450px;
            object-fit: cover; /* Ajuste l'image pour bien remplir le conteneur */
            width: 100%;
        }
        
        #slider-section {
    background-color: #f8f9fa;
}

        .custom-carousel-item img {
            max-height: 150px;
            max-width: 150px;
            object-fit: contain;
            border: 2px solid #ddd;
            border-radius: 8px;
            padding: 5px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
            background-color: #f9f9f9;
        }

        .custom-compagnie-card {
            margin: 10px 0;
            text-align: center;
        }

        .custom-compagnie-card p {
            margin: 5px 0;
        }

        .custom-carousel-inner {
            margin-top: 20px;
        }

#search-section {
    margin-top: -40px; /* Superpose légèrement la barre de recherche sur le slider */
    z-index: 10;
    position: relative;
}

@media (max-width: 767.98px) {
    #search-section {
        margin-top: 20px; /* Descend la barre de recherche de 20px sur mobile */
    }
}


/* Styles pour les boutons de navigation Owl Carousel */
#photos-carousel .owl-nav {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 10; /* Assure que les boutons passent au-dessus des autres éléments */
    pointer-events: none; /* Évite que la navigation interfère avec les images */
}


#photos-carousel .owl-nav button {
    background-color: rgba(46, 52, 78, 0.8);
    color: #fff;
    border: none;
    border-radius: 5px;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    pointer-events: all; /* Permet l'interaction avec les flèches */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease-in-out;
}

#photos-carousel .owl-nav button:hover {
    background-color: #f4b220;
    transform: scale(1.1);
}

#photos-carousel .owl-nav .owl-prev {
    left: 10px; /* Position depuis la gauche */
}

#photos-carousel .owl-nav .owl-next {
    right: 10px; /* Position depuis la droite */
}

#photos-carousel .owl-stage-outer {
    position: relative; /* Conserve les boutons dans les limites du carousel */
}

#photos-carousel .item img {
    max-height: 400px;
    object-fit: cover;
    width: 100%;
}
/* Style du conteneur photo */
.photo-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: #fff;
    border: 1px solid #e0e0e0;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    overflow: hidden;
    margin: 10px;
}

/* Uniformiser la taille des images */
.photo-card .fixed-image {
    width: 100%;
    height: 450px; /* Hauteur fixe */
    object-fit: cover;
    border-bottom: 1px solid #ddd;
}

/* Style des titres sous l'image */
.photo-card .photo-title {
    font-size: 1rem;
    font-weight: bold;
    color: #333;
    padding: 10px 5px;
    background-color: #f8f9fa;
    width: 100%;
}
.tab-content > .tab-pane {
    margin-bottom: 0; /* Élimine les marges des onglets */
}

#grille-tab-pane {
    display: none !important;
}

#grille-tab-pane.show {
    display: block !important;
}

.colour-inclus {
    background-color: #fdf3d6 !important; /* Jaune plus soutenu */
    color: #212529 !important; /* Gris très foncé (presque noir) pour le texte */
    padding: 15px;
    border-radius: 5px; /* Coins arrondis */
	

}
.inclus-non-inclus {font-size:0.8em;}
.colour-noninclus {
    background-color: #e9ecef !important; /* Gris plus soutenu */
    color: #212529 !important; /* Gris très foncé (presque noir) pour le texte */
    padding: 15px;
    border-radius: 5px; /* Coins arrondis */
    
}

input:invalid, select:invalid, textarea:invalid {
    border-color: #dc3545;
    box-shadow: 0 0 5px rgba(220, 53, 69, 0.5);
}
input:focus:invalid, select:focus:invalid {
    outline: none;
    border-color: #dc3545;
    box-shadow: 0 0 8px rgba(220, 53, 69, 0.7);
}
h1.titre {
            color: white;
            font-size: 3rem; /* Taille du texte */
            font-weight:600;
            text-align: center;
            text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.7); /* Ombre douce pour lisibilité */
        }
.numero-telephone {
    font-size: 24px; /* Taille légèrement agrandie */
    font-weight: 600; /* Gras mais pas excessif */
    letter-spacing: 1px; /* Légère espacement des lettres */
    color: inherit; /* Utilise la couleur par défaut de l'héritage */
    margin-left: 5px; /* Légère marge pour l'icône */
}
/* Style discret pour les liens dans une section spécifique */
/* Applique un soulignement discret aux liens dans la section */
.highlight-links a {
    text-decoration: underline;
    text-decoration-thickness: 1px; /* Soulignement fin */
    text-underline-offset: 2px; /* Distance entre le texte et le soulignement */
    text-decoration-color: rgba(0, 0, 0, 0.4); /* Couleur grisée et discrète */
    color: inherit; /* Conserve la couleur du texte */
}

.highlight-links a:hover {
    text-decoration-thickness: 2px; /* Épaissir légèrement au survol */
    text-decoration-color: rgba(0, 0, 0, 0.6); /* Couleur plus marquée au survol */
    color: #0056b3; /* Facultatif : change la couleur du texte */
}
/* Réduction de la taille des titres pour les petits écrans */
@media (max-width: 576px) {
    .destination-title {
        font-size: 1rem; /* Réduction de la taille de la police */
        line-height: 1.2; /* Ajustement de l'interligne */
    }

    .price-overlay {
        font-size: 0.85rem; /* Réduction de la taille du texte des prix */
    }
}
.no-word-break {
    word-wrap: normal; /* Empêche les césures */
    overflow-wrap: normal; /* Gère les débordements sans couper les mots */
    white-space: normal; /* Permet les retours à la ligne normaux, mais pas au milieu d'un mot */
    hyphens: none; /* Désactive les césures automatiques */
}