.tour-cover{
    height: 85vh;
    background-size: cover;
    font-family: 'Montserrat';
    line-height: 25px;
    background-position: var(--bg-desktop);
}



.tour-cover-wrap{
    max-width: 1140px;
    margin: 0 auto;
}

/* FADE OUT */

.tour-fadeOutDiv{
  border: 1px #d8d8d8;
  font: 2em/1.6em Arial;
  position: relative;
}

.tour-fadeOutDiv:after {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  pointer-events: none;
  background-image: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1) 90%);
  width: 100%;
  height: 4em;
}

/* RESPONSIVE */

@media all and (max-width: 767px){
    .tour-cover{
        height: 75vh;
        background-position: var(--bg-mobile);
    }
}


.title-daytour h1 {
    font-family: var(--montserrat);
    font-weight: 750;
    font-size: 30px;
    color: var(--main-color);
    margin-bottom: 0px;
    line-height: 35px;
}

.trip-breadcrumb{
    display: flex;
    margin-bottom: 10px;
    font-family: var(--montserrat);
}

.trip-breadcrumb a{
    font-size: 13px;
    text-decoration: none!important;
    cursor: pointer;
    color: var(--main-color);
    margin-top: -2.5px;
}

.trip-breadcrumb a:hover, .trip-breadcrumb a:focus{
    text-decoration: underline!important;
    color: var(--main-color)!important;
}

.trip-breadcrumb p{
    font-size: 13px;
    color: var(--main-color);
    margin-top: -2.5px;
}

.trip-breadcrumb i{
    font-size: 12px;
    margin-top: 6px;
    margin-left: 10px;
    margin-right: 10px;
}



.intro-wrap {
    font-family: var(--montserrat);
    color: var(--main-color);
    display: flex;
    margin-top: 0vh;
}




.tour-intro p{
    font-family: var(--montserrat);
    color: var(--main-color);
    font-size: var(--p-size);
    line-height: var(--line-height-p);
}


.intro-wrap-one{
    width: 70%;
    margin-right: 30px;
    z-index: 10;
}

.intro-wrap-two{
    display: flex;
    flex-direction: column;
    width: 30%;
    margin-left: auto;
    background-color: #fff;
    box-shadow: rgba(99, 99, 99, 0.6) 0px 0px 8px 0px;
    border-radius: 10px;
    padding: 20px;

}



.intro-wrap h2 {
    font-family: var(--montserrat);
    font-weight: 400;
    font-size: 20px;
    color: var(--main-color);
    margin-bottom: 10px;
    margin-top: 5px;
    
}

.reviews-star-wrap{
    font-family: var(--montserrat);
    color: var(--main-color);
    display: flex;
    margin-top: -20px;
    margin-bottom: 0px;
}

.reviews-star-wrap p{
    margin-right: 5px;
    font-size: 16px;
}

.reviews-star i{
    margin-right: -2px;
}

.reviews-number{
    margin-left: 10px;
}

.reviews-number a{
    font-family: var(--montserrat);
    color: var(--main-color);
    font-weight: 600;
    font-size: var(--p-size);
    text-decoration: underline;
}

.reviews-number a:hover, .reviews-number a:focus{
    color: var(--main-color)!important;
    cursor: pointer;
}

.customize-title{
    font-size: 25px;
    font-weight: 700;
   
}

.intro-wrap p{
    font-size: var(--p-size);
    line-height: var(--line-height-p);
    margin-bottom: 0;
}

.intro-contact{
    margin-top: 40px;
}

.intro-contact a{
    color: var(--main-color);
}

.intro-summary{
    display: flex;
    margin-bottom: 15px;
}

.intro-summary-price p{
    font-size: 20px;
}

.mobile-price-wrap{
    display: none;
}

.mobile-price{
    
    margin-bottom: 15px!important;
}


.isp-small{
    font-size: var(--p-size);
    margin-left: 5px;
}



.intro-hr{
    border-top: thin solid #374D89;
    margin-bottom: 0px!important;
    width: 20%;
}

.intro-line{
    
    margin-bottom: 20px;
}

.intro-details{
    display: flex;
    margin-top: 20px;
    
}

.intro-details i{
    font-size: var(--p-size);
    margin-top: 4px;
}

.intro-bold{
    font-weight: 700;
    margin-left: 10px;
}



.intro-dots{
    font-size: 15px;
}



.intro-pretitle{
    font-weight: 700;
    margin-bottom: 20px!important;
}

.intro-description{
    text-align: justify;
}


.intro-wrap-two .btn-contact-wrap {
    margin-top: auto; /* pousse le bouton tout en bas */
}

.btn-contact-wrap {
    text-align: center;
}

.btn-contact-design {
    width: 250px;
    margin-top: 20px;
    color: #fff;
    background: var(--second-color);
    font-weight: 600;
    font-size: var(--p-size);
    padding: 10px;
}

.btn-contact-design:hover,
.btn-contact-design:focus {
    color: #fff;
    background: var(--second-color);
}





#bokun-btn-nav {
    width: 250px;
    height: 44px;
    margin-top: 20px;
    color: #fff;
    background: var(--second-color);
    font-weight: 600;
    font-size: var(--p-size);
    padding: 10px;
}

#bokun-btn-nav:hover,
#bokun-btn-nav:focus {
    color: #fff;
    background: var(--second-color);
}




.intro-wrap a:hover,
.intro-wrap a:focus {
    color: var(--second-color);
}


.mobile-hr{
    display: none;
    border-top: thin solid #374D89;
    margin-bottom: 0px!important;
    width: 40%;
}

.btn-contact-wrap-mobile{
    display: none;
    
}






@media all and (max-width: 767px){
    

    
.intro-wrap{
    display: block;
    margin-top: 0vh;
}

.intro-wrap-one{
    width: 85%;
    margin: 0 auto;
}

.intro-wrap-two{
    width: 85%;
    margin: 0 auto;
    box-shadow: none;
    padding: 10px;
    margin-top: -15px;
}

.mobile-book-btn {
    margin-left: auto;
    margin-right: auto;
    margin-top: 10px;
}


.title-daytour{
    width: 85%;
    margin: 0 auto;
}

.title-daytour h1 {
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    margin-bottom: 5px;
}

.reviews-star-wrap{
    width: 85%;
    margin-left: auto;
    margin-right: auto;
}

.isp-small{
    font-size: 15px;
}

.tour-intro {
    width: 85%;
    margin: 0 auto;
}

.tour-intro p{
    font-size: 15px;
}

.intro-line p{
    font-size: var(--p-mobile);
    line-height: var(--line-height-p-mobile);
}



.trip-breadcrumb{
    flex-wrap: nowrap; /* Empêche les éléments de se répartir sur plusieurs lignes */
    overflow-x: auto;  /* Permet un défilement horizontal */
    white-space: nowrap;
    scrollbar-width: none; /* Firefox - cache la barre */
    -ms-overflow-style: none; /* Internet Explorer 10+ */
}

.trip-breadcrumb::-webkit-scrollbar {
    display: none; /* Chrome, Safari et Edge */
}

.trip-breadcrumb p{
    font-size: 13px;
}


.btn-contact-wrap {
    display: none;
}

.mobile-price-wrap{
    display: flex;
}





}
    

/* ========== GLOBAL ========== */

body.lightbox-open {
  overflow: hidden;
}

/* ========== DESKTOP GRID ========== */

.photo-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: 200px 200px;
  gap: 10px;
  
  position: relative;
}

.grid-item {
  overflow: hidden;
  border-radius: 10px;
  cursor: pointer;
}

.grid-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.grid-item:hover img {
  transform: scale(1.05);
}

.grid-item.big {
  grid-row: span 2;
}
/* VIEW ALL BUTTON */
.view-all {
  position: absolute;
  bottom: 15px;
  right: 15px;
}

.view-all button {
  background: rgba(0,0,0,0.6);
  color: #fff;
  border: none;
  padding: 20px 25px;
  font-size: 16px;
  cursor: pointer;
}

/* ========== LIGHTBOX ========== */

.lightbox {
  display: none;
  position: fixed;
  inset: 0;
  background: #000;
  z-index: 999999 !important;
  height: 100dvh; /* IMPORTANT pour mobile moderne */
  overscroll-behavior: contain;
  overflow: hidden;
}


body.lightbox-open header,
body.lightbox-open .site-header,
body.lightbox-open nav {
  z-index: 0 !important;
}

.lightbox-inner {
  width: 100%;
  height: 100%;
  position: relative;
}

.lightbox-top {
  position: absolute;
  top: 20px;
  left: 20px;
  right: 20px;
  display: flex;
  justify-content: space-between;
  color: #fff;
  z-index: 10;
}

.grid-toggle-btn {
  color: #fff;
  cursor: pointer;
  font-weight: 600;
  font-size: 22px;
  opacity: 0.9;
}

.counter {
  font-weight: 600;
}

.close {
  font-size: 35px;
  cursor: pointer;
}
/* slider */
.lightbox-slider img {
  width: 100%;
  height: 80vh;
  margin-top: 10vh;
  object-fit: contain;
}

/* nav */
.nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  color: #fff;
  border: none;
  padding: 15px;
  cursor: pointer;
  z-index: 10;
  font-size: 40px;
}

.nav.prev { left: 10px; }
.nav.next { right: 10px; }

.nav:hover, .nav:focus{
    background: transparent;
    color: #fff;
}
/* GRID VIEW LIGHTBOX */
.lightbox-grid {
  display: grid;
  padding: 90px 200px 90px;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
overscroll-behavior: contain;

  -webkit-overflow-scrolling: touch;
  max-height: 100vh;
  overflow-y: auto;
  align-content: start;
}

.lightbox-grid img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  cursor: pointer;
  border-radius: 6px;
}

/* MOBILE GRID */
@media (max-width: 768px){
  .lightbox-grid {
    grid-template-columns: repeat(2, 1fr);
    padding: 90px 15px 90px;
  }
  
  .lightbox-grid img {
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto; /* important */
    object-fit: cover;
  }
}


/* ========== MOBILE CAROUSEL ========== */

.mobile-carousel,
.mobile-carousel-wrapper {
  display: none;
}

/* ================= MOBILE ================= */
@media (max-width: 768px){

  /* hide desktop grid */
  .photo-grid {
    display: none;
  }

  /* wrapper */
  .mobile-carousel-wrapper {
    display: block;
    position: relative;
    margin-top: 0px;
    margin-bottom: 20px;
  }
 /* slick container */
  .mobile-carousel {
    display: block;
    border-radius: 10px;
    overflow: hidden;
    
  }

  .mobile-carousel img {
    width: 100%;
    height: 50vh;
    
    object-fit: cover;
    display: block;
  }
  
  .lightbox-slider img {
  margin-top: 5vh;
}
  
.nav{
    display: none!important;
}

  /* ================= OVERLAY UI ================= */

 /* CONTAINER GLOBAL */
.mobile-carousel-ui {
  position: absolute;
  bottom: 15px;
  left: 0;
  width: 100%;
  pointer-events: none;
  
}

/* DOTS CENTRÉS */
.mobile-carousel-ui .mobile-dots {
  position: absolute;
  width: 100%;
  display: flex;
  justify-content: center;
  bottom: 0;
  pointer-events: auto;
}

/* LISTE DOTS */
.mobile-carousel-ui .slick-dots {
  display: flex;
  gap: 6px;
  margin-bottom: 30px;
  padding: 0;
  list-style: none;
  justify-content: center;
}

/* RESET SLICK */
.mobile-carousel-ui .slick-dots li button:before {
  display: none !important;
}

.mobile-carousel-ui .slick-dots li {
  width: auto;
  height: auto;
  margin: 0;
}

/* DOT */
.mobile-carousel-ui .slick-dots li button {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50%;
  background: rgba(255,255,255,0.5);
  border: none;
  padding: 0;
  font-size: 0;
  transition: 0.5s;
}


/* ACTIVE DOT */
.mobile-carousel-ui .slick-dots li.slick-active button {
  background: #fff;
  width: 18px !important;
  border-radius: 10px;
  transition: 0.5s;
}

/* BOUTON EN BAS À DROITE */
.mobile-carousel-ui .mobile-view-all {
  position: absolute;
  right: 10px;
  bottom: 0;
  pointer-events: auto;
}

/* STYLE BOUTON */
.mobile-carousel-ui .mobile-view-all button {
  background: rgba(0,0,0,0.55);
  color: #fff;
  border: none;
  padding: 15px 20px;
  
  font-size: 14px;
  margin-right: 5px!important;
} 

}


.img-01 img{
    object-position: 70% 80%;
}

.img-02 img{
    
}

.img-03 img{
    object-position: 40% 80%;
}


.img-01-mobile img{
     object-position: 70% 80%;
}

.img-03-mobile img{
     object-position: 50% 80%;
}

.img-04-mobile img{
     object-position: 30% 80%;
}


.lightbox-grid .img-0 {
  object-position: 70% 80%;
}

.lightbox-grid .img-1 {
  object-position: 0% 80%;
}

.lightbox-grid .img-3 {
  object-position: 30% 80%;
}

.lightbox-grid .img-5 {
  object-position: 80% 80%;
}


/* BOKUN BTN */

.bokunButton{
    display: inline-block; 
    padding: 10px 40px; 
    background: var(--second-color); 
    border-radius: 50px; 
    box-shadow: none; 
    font-weight: 500; 
    font-size: 16px; 
    text-decoration: none; 
    text-align: center; 
    color: #FFFFFF; 
    border:none; 
    cursor: pointer; 
    transition: background .2s ease;
}



.bokunButton:hover, .bokunButton:focus{
    background: var(--second-color);
    color: #FFFFFF; 
}


@media (max-width: 768px){
    
.bokunButton{
    font-size: 15px; 
}
    
}





/* MAIN SECTION */


.trip-description{
    display: block;
    font-family: 'Montserrat';
    color: #374D89;
    margin-bottom: 50px;
    margin-top: 10px;
}

#ast-scroll-top{
    display: none!important;
}



.sticky-bottom-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    
    align-items: center;
    
    background: #fff;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.2);
    padding: 10px;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    opacity: 0;               /* start hidden */
    pointer-events: none;     /* disable clicks when hidden */
    transition: opacity 0.4s ease;
    z-index: 9999;
    font-family: var(--montserrat);
    color: var(--main-color);
}

.sticky-bottom-banner button{
    margin-left: auto;
    margin-right: 7.5%;
}

.sticky-bottom-banner p{
    margin-left: 7.5%;
    margin-bottom: 0;
    line-height: 22px;
    font-size: 15px;
}




.view-gallery{
    margin-left: 7.5%;
}

.view-gallery i{
    color: #374D89;
    font-size: 30px;
    margin-top: 10px;
    
}

.contact-sticky{
    margin-left: 7.5%;
}

.contact-sticky i{
    color: #374D89;
    font-size: 25px;
    margin-top: 12.5px;
    
}

.sticky-btn{
    display: flex;
    font-family: 'Montserrat';
    font-size: 15px;
    color: #fff;
    background-color: #374D89;
    margin-left: auto;
    margin-top: 5.9px;
    margin-bottom: 5.9px;
    margin-right: 7.5%;
    padding-top: 12px;
    font-weight: 600;
}

.sticky-btn:hover, .sticky-btn:focus{
    color: #fff;
    background-color: #374D89;
}

.sticky-btn i{
    font-size: 15px;
    color: #fff;
    margin-top: 0;
    margin-right: 5px;
}



/* TRIP NAV */

.trip-nav{
    width: 100%;
    position: sticky;
        top: 0px; /* Garde la navigation collée en haut de la fenêtre */
        height: 100%; /* S'assure que la navigation occupe toute la hauteur de l'écran */
        overflow-y: auto; /* Permet de scroller à l'intérieur de la navigation si nécessaire */
   
    text-align: center;
    background-color: #fff;
    box-shadow: 0px 5px 5px -7px #111;
        z-index: 5;

}

.trip-nav-responsive{
    display: flex;
}

.trip-nav-nav{
    display: flex;
    width: 70%;
}



.trip-nav-btn{
    display: flex;
    height: 50px;
    width: 100%;
    background: transparent;
    color: #374D89;
    padding-top: 17.5px;
    box-shadow: 0px 0px 0px 0px rgba(0,0,0,0);
    margin-bottom: 12.5px;
}

.trip-nav button p{
    font-size: var(--p-size);
    margin-top: 4px;
   
    
}



.trip-nav #bokun-btn-nav p{
    margin-left: 0px!important;
}

.trip-nav-btn:hover, .trip-nav-btn:focus{
    background: transparent;
    color: #7EC8BB;
}




.trip-nav-active{
    background: transparent!important;
    color: #7EC8BB!important;
}







.btn-design {
    width: 250px;
    margin-top: 20px;
    color: #fff;
    background: var(--second-color);
    font-weight: 600;
    font-size: var(--p-size);
    padding: 10px;
}

.btn-design:hover, .btn-design:focus{
    color: #fff;
    background: var(--second-color);
}




.nav-overview i{
    font-size: 25px;
    margin-top: 2.5px;
}

.nav-description i{
    font-size: 25px;
    margin-top: 2.5px;
}

.nav-price i{
    font-size: 25px;
    margin-top: 0px;
}


.nav-reviews i{
    font-size: 25px;
    margin-top: 2px;
}




.send-request{
    margin-left: auto;
    margin-right: auto;
    margin-top: 13.5px;
}


.contact-preview-wrap{
    margin-top: 40px;
    width: 250px;
    text-align: center;
}

.contact-preview{
    color: var(--main-color);
    font-family: var(--montserrat);
    font-size: var(--p-size);
}



/* TRIP INFO */

.trip-info{
    width: 100%;
    text-align: justify;
    margin-top: 30px;
}

.trip-info h2{
    font-size: 30px;
    font-weight: 800;
   
    color: #374D89;
    font-family: 'Montserrat';
}

.trip-info p{
    font-size: 16px;
    line-height: 24px;
}

.trip-info a{
    color: #374D89;
}

.trip-info a:hover{
    color: #7EC8BB;
}

.trip-info a:focus{
    color: #7EC8BB;
}



.trip-info h4{
    font-weight: 400;
    font-size: 16px;
    color: #374D89;
    font-family: 'Montserrat';
}


.info-price{
    text-align: justify;
    padding-bottom: 60px;
}

.info-price h4{
    margin-top: 40px;
}

.dates-responsive{
    display: none;
}





.options-click{
    color: #374D89;
}

.options-click:hover{
    cursor: pointer;
    color: #7EC8BB;
}

.options-click:focus{
    cursor: pointer;
    color: #7EC8BB;
}



/* OVERVIEW */

.overview-title{
    display: flex;
    margin-bottom: 20px;
    
}

.overview-title h5{
    font-family: 'Montserrat';
    color: #374D89;
    margin-bottom: 0;
    margin-top: 5px;
}

.overview-title i{
    font-size: 60px;
    margin-right: 30px;
    margin-top: 5px;
}

.overview-description{
    margin-bottom: 0px;
}


.overview-wrap{
    
    margin-top: 40px;
    padding-bottom: 60px;
}

.overview-list{
   margin-bottom: 20px;
    
}

.overview-details{
   margin-bottom: 20px;
   display: flex;
}

.overview-list h4{
    font-weight: 700;
    font-size: 16px;
   
}

.overview-details p{
   
    margin-bottom: 0px;
}

.overview-bold{
    font-weight: 700;
}

.overview-details i{
    font-size: 20px;
    margin-right: 15px;
    margin-top: 5px;
}





.next-departure{
    font-weight: 700!important;
    font-size: 20px!important;
    margin-bottom: 20px !important;
}


.dates-overview{
    width: auto;
    margin: 0 auto;
}

.dates-overview:hover, .dates-overview:focus{
    background: transparent;
    color: #7EC8BB;
}

.dates-overview i{
    margin-right: 10px;
}






/* DESCRIPTION */

.info-description{
    padding-bottom: 60px;
}

.description-title{
    display: flex;
  
    margin-bottom: 20px;
    
}

.description-title h5{
    font-family: 'Montserrat';
    color: #374D89;
    margin-bottom: 0;
    margin-top: 5px;
}

.description-title i{
    font-size: 60px;
    margin-right: 30px;
    margin-top: 5px;
}

.info-description h4{
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 20px !important;
    text-align: left;
}

.info-description-title{
    margin-top: 20px;
}


.content-wrapper {
    display: flex;
    width: 100%;
    margin-top: 40px;
}


.departures-hr{
    border-top: thin solid #374D89;
    margin-bottom: 20px !important;
    width: 10%;
}

.adventure-hr{
    border-top: thin solid #374D89;
    margin-bottom: 20px !important;
    width: 40%;
}

.bokun-wrap{
    width: 55%;
}

.reserve-title{
    display: none;
}

.reserve-hr{
    display: none;
    border-top: thin solid #374D89;
    margin-bottom: 20px !important;
    width: 40%;
}


.toggle-wrap{
    width: 45%;
}


.toggle-tabs {
  display: flex;
  margin-bottom: 20px;
  
}

.toggle-btn {
    width: 50%;
    text-align: center;
  cursor: pointer;
  padding-bottom: 10px;
  font-size: var(--p-size);
  font-weight: 600;
  font-family: var(--montserrat);
  color: var(--main-color);
  border-bottom: 1px solid #ddd;
}

.toggle-btn.active-btn {
  color: var(--second-color);
  border-bottom: 2px solid var(--second-color);
}

.toggle-section {
  display: none;
  width: 100%;
}

.toggle-section.active-section {
  display: block;
}


.meeting-point-wrap{
    width: 100%;
    padding-right: 40px;
    margin-top: 30px;
}

.meeting-point-wrap ul{
    margin-left: 30px;;
}

.meeting-point-wrap h5{
    font-family: var(--montserrat);
    color: var(--main-color);
    font-size: 20px;
    font-weight: 700;
}

.meeting-point-wrap i{
    margin-right: 5px;
    font-size: 20px;
}

.meeting-point-wrap li{
    font-size: var(--p-size);
    font-weight: 700;
    text-align: left;
}




/* DAY BY DAY */




.pre-info-dbd{
    font-style: italic;
    margin-top: 60px!important;
}


.fade-content-daybyday {
    display: block; /* Dispose les enfants côte à côte */
    align-items: stretch; /* Assure que les deux divs ont la même hauteur */
    gap: 20.5px; /* Ajoute un espace entre les deux divs */
    margin-top: 0px;
    width: 100%;
    padding-left: 20px;
}






.program-line {
    position: relative;
    padding-left: 30px;
    margin-bottom: 30px;
}

/* 🔵 le point */
.program-line::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 12px;
    height: 12px;
    background-color: var(--second-color);
    border-radius: 50%;
    z-index: 1;
}

/* 🔵 la ligne (PAR ITEM) */
.program-line::after {
    content: "";
    position: absolute;
    left: 4.4px;
    top: 10px;
    width: 3px;
    height: calc(100% + 50px);
    background-color: var(--main-color);
}

/* ❌ PAS de ligne sur le dernier */
.program-line:nth-last-of-type(1)::after {
  display: none;
}

.program-hr:nth-last-of-type(1) {
  display: none;
}

/* Titres */
.program-line h4 {
    margin: 0 0 5px 0;
    font-weight: 700;
    font-size: 16px;
    color: var(--main-color);
}

/* Texte */
.program-line p {
    margin: 0;
}



.program-hr{
    border-top: thin solid #374D89;
    margin-bottom: 20px!important;
    margin-left: 30px;
}







.daybyday-section {
    flex: 1; /* Occupe tout l'espace restant */
    margin-top: 40px;
}

.daybyday-section h4{
    
    margin-top: 0;
}

.daybyday-section .adventure-hr{
    border-top: thin solid #374D89;
    margin-bottom: 20px !important;
    margin-left: -30px!important;
    width: 10%;
}





/* PRICE */


.price-title{
    display: flex;
    margin-bottom: 20px;
    
}

.price-title h5{
    font-family: 'Montserrat';
    color: #374D89;
    margin-bottom: 0;
    margin-top: 5px;
}


.price-title i{
    font-size: 60px;
    margin-right: 30px;
    margin-top: 5px;
}



.dates-price{
    display: flex;                /* enable flexbox */
    flex-direction: column;       /* vertical stacking */
    justify-content: space-between;
    /* width: 45%; */
    width: 60%;
    box-shadow: rgba(0, 0, 0, 0.4) 0px 0px 5px;
    border-radius: 10px;
    padding: 20px;
}







.price-bold{
    
    text-align: center;
    margin: 0!important;
}

.price-bold-deep{
    font-weight: 700;
}



.dates-price hr {
    border-top: thin solid var(--main-color);
    width: 20%;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}



.info-price-title{
    margin-top: 0px!important;
    font-weight: 700 !important;
    font-size: 20px !important;
}


.price-text-last{
    margin-bottom: 60px!important;
}

.price-text-last li{
    font-size: var(--p-size);
    font-family: var(--montserrat);
    line-height: var(--line-height-p);
}





.details-wrap{
    display: flex;
    width: 100%;
    margin-bottom: 30px;
}

.details-title{
    width: 25%;
    padding-right: 20px;
}

.details-description{
    width: 60%;
}

.details-description p{
    margin-top: 20px;
    margin-bottom: 0;
}

.details-description ul{
    list-style: none;
    padding-left: 0;
    margin-bottom: 0!important;
    margin-top: 20px;
    margin-left: 0;
}



.price-bullet{
    display: flex;
    font-size: var(--p-size);
}

.price-bullet i{
    font-size: 15px;
    margin-right: 20px;
    padding-top: 8px;
}

.price-bullet .fa-check{
    color: green;
}

.price-bullet .fa-xmark{
    color: red;
}



.price-bullet li{
    font-size: var(--p-size);
}

.fitness-preview {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4; /* 👈 4 lignes max */
  overflow: hidden;
  text-overflow: ellipsis;
  transition: all 0.3s ease;
}

.fitness-text.expanded .fitness-preview {
  -webkit-line-clamp: unset;
  overflow: visible;
}

.fitness-toggle {
  display: block;
  margin-top: 5px;
  background: none;
  border: none;
  color: #374D89;
  font-weight: 600;
  cursor: pointer;
  text-align: left; /* 👈 demandé */
  padding: 0;
  text-decoration: underline;
  font-size: var(--p-size);
}

.fitness-toggle:hover, .fitness-toggle:focus {
  background: none;
  color: #374D89;
}

.faq-section{
    margin-top: 10px;
}


.faq-question {
    width: 100%;
    text-align: left;
    padding: 15px 0;
    background: none;
    border: none;
    font-size: var(--p-size);
    color: var(--main-color);
    font-family: var(--montserrat);
    font-weight: 600;
    display: flex;
    justify-content: space-between;
    cursor: pointer;
}

.faq-question:hover, .faq-question:focus{
    background: transparent;
    color: var(--main-color);
}

.faq-answer {
    display: none;
    padding-bottom: 15px;
    font-size: var(--p-size);
    color: var(--main-color);
    font-family: var(--montserrat);
}

.faq-item.active .faq-answer {
    display: block;
}

.faq-icon {
    font-size: 18px;
}



/* REVIEWS */

.reviews-title {
    display: flex;
    margin-bottom: 20px;
}

.reviews-title i {
    font-size: 60px;
    margin-right: 30px;
    margin-top: 5px;
}

.reviews-title h5 {
    font-family: 'Montserrat';
    color: #374D89;
    margin-bottom: 0;
    margin-top: 5px;
}



/* CONTAINER GLOBAL */
.reviews-container {
    display: flex;
        margin-top: 40px;
}

/* COLONNE GAUCHE */
.reviews-summary {
    width: 30%;
    padding-right: 30px;
}

.reviews-summary-content {
    position: sticky;
    top: 100px; /* effet premium sticky */
    
}

.reviews-summary-content h3{
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 20px !important;
    text-align: left;
    font-family: var(--montserrat);
    color: var(--main-color);
}



.reviews-hr{
    border-top: thin solid #374D89;
    margin-bottom: 20px !important;
    width: 40%;
}

.overall-score {
    font-size: 40px;
    font-weight: 700;
    color: var(--main-color);
}

.overall-stars i {
    color: var(--main-color);
}

.overall-count {
    font-size: 14px;
    opacity: 0.7;
}



.rating-bars {
  margin-top: 15px;
}

.rating-row {
  display: flex;
  align-items: center;
}

.rating-label {
  margin-right: 15px;
  font-size: var(--p-size);
}

.rating-bar {
  flex: 1;
  height: 6px;
  background: #eee;
  border-radius: 10px;
  overflow: hidden;
}

.rating-fill {
  height: 100%;
  background: var(--main-color);
  border-radius: 10px;
}

.rating-count {
  margin-left: 15px;
  font-size: var(--p-size);
  text-align: right;
}




/* COLONNE DROITE */
.reviews-list {
    width: 70%;
    padding-left: 30px;
}



.testimonial .translation {
  display: none;
  margin-top: 20px;
}


.toggle-translation {
    box-shadow: none;
  background: none;
  border: none;
  color: var(--main-color);
  cursor: pointer;
  font-size: var(--p-size);
  font-weight: 600;
  padding: 0;
  margin-top: 15px;
}

.toggle-translation:hover {
    box-shadow: none;
  background: none;
  text-decoration: underline;
  color: var(--main-color); 
}

.toggle-translation:focus {
    box-shadow: none;
  background: none;
  text-decoration: underline;
  color: var(--main-color); 
}


.testimonies{
    margin-bottom: 20px;
}

.testimonies-wrap-title{
    display: flex;
}

.testimonies-left{
    margin-top: 2px;
}

.reviews-ggl{
    width: 35px;
    margin-top: 5px;
    margin-right: 10px;
}

.reviews-gyg{
    width: 65px;
    margin-left: -5px;
}

.reviews-tripadv{
    width: 40px;
    margin-top: 8px;
    margin-right: 10px;
}

.reviews-manawa{
    width: 40px;
    margin-top: 8px;
    margin-right: 10px;
}

.satisfied-wrap h4{
    font-weight: 700;
}

.testimonies-name{
    margin-bottom: 0!important;
    font-weight: 700;
}

.testimonies-date{
    margin-top: -2px;
    margin-bottom: 10px!important;
}

.testimonies-title{
    font-style: italic;
    font-weight: 700;
    margin-bottom: 5px!important;
    color: var(--second-color);
}

.testimonies-stars{
    display: flex;
    margin-bottom: 10px;
}

.testimonies-stars i{
    font-size: 17px;
    color: var(--main-color);
    margin-top: 2.5px;
}

.testimonies-stars p{
    margin-bottom: 0;
    margin-left: 10px;
    font-weight: 600;
    
}

.testimonies-text{
    font-style: italic;
}

.quote{
    margin-bottom: 0;
}

.testimonies-hr{
    border-top: thin solid #374D89;
    margin-top: 30px!important;
    margin-bottom: 40px!important;
    width: 20%;
}


.testimonies-photos{
    display: flex;
}

.testimonies-photos img{
    border-radius: 10px;
    aspect-ratio: 8 / 8;
    object-fit: cover;
     box-shadow: rgba(99, 99, 99, 0.6) 0px 0px 8px 0px;
     width: 80px;
     cursor: pointer;
     margin-right: 10px;
}




.review-hidden {
  display: none;
}

.btn-reviews{
    text-align: center;
}


.load-more-reviews{
    background: transparent;
    border: 3px solid var(--main-color);
    color: var(--main-color);
    font-family: var(--montserrat);
    font-size: var(--p-size);
    padding: 10px 30px;
}

.load-more-reviews:hover, .load-more-reviews:focus{
    background: transparent;
    border: 3px solid var(--main-color);
    color: var(--main-color);
}





/* Gradient fade-out effect */
.reviews-text::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50px; /* Height of the gradient fade */
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
}






.bokun-now-btn {
    display: none;
/*display: inline-block;*/
margin-top: 20px;
padding: 12px 28px;
background: #1e1e1e;
color: #ffffff;
text-decoration: none;
font-size: 1.1rem;
border-radius: 4px;
transition: background 0.3s ease;
}


/*
.bokun-widget-wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 40px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}


.bokun-widget-wrap .bokunWidget {
  flex: 1 1 50%;
  min-width: 350px;
}


.bokun-widget-wrap .bokun-info-wrap {
  flex: 1 1 50%;
  min-width: 350px;
}
*/

/* RESPONSIVE */


@media all and (max-width: 1200px){
    
    
.trip-description{
    display: block;
}

.trip-nav{
    width: 100%;
    height: 100%;
    text-align: center;
    background-color: #fff;
    box-shadow: 0px 5px 5px -7px #111;
    top: -1px;
    
}



.trip-nav-btn{
    display: block;
    justify-content: center;
    height: 100px;
    padding: 0;
}

.trip-nav button p{
    margin-left: 0;
    margin-top: 5px;
}


.btn-design {
  margin-top: 30px;
  width: 50%;
}



.dates-price{
    margin-left: auto;
    margin-right: auto;
}

.availability{
    display: none;
}


.trip-info{
    width: 85%;
    margin: 30px auto 0 auto;
}


.price-title{
    text-align: left;
}


    
}


@media all and (max-width: 767px){
  
  
.sticky-bottom-banner {
    opacity: 0;
    pointer-events: none;
    transform: translateY(20px);
  }

  .sticky-bottom-banner.active {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }
  
.trip-nav{
    width: 95%;
    margin-left: auto;
    margin-right: auto;
}
  
.trip-nav-responsive {
      
        width: 100%;
        justify-content: center;
        
    }
    
    .trip-nav-nav{
        width: 100%;
    }
    
.trip-nav-btn {
    margin-right: 10px;
    margin-left: 10px;
    height: 100%;
}

.trip-nav button p{
    font-size: 15px;
    margin-bottom: 12.5px;
    margin-top: 12.5px;
}

.trip-nav button i{
    margin-top: 15px;
    font-size: 18px;
}

.send-request{
    display: none;
}

.trip-info{
    width: 85%;
    margin: 30px auto 0 auto;
}

.trip-info h2{
    font-size: 25px;
}

.trip-info h4{
    font-size: 18px;
}

.trip-info h5{
    font-size: 15px;
}

.trip-info p{
    font-size: 15px;
    line-height: 22px;
}

.trip-info button{
    font-size: 15px;
}

.overview-description{
    margin-bottom: 0!important;
}


.overview-wrap{
    display: block;
    padding-bottom: 20px;
    margin-top: 20px;
}



.overview-details{
    
    text-align: left;
    margin: 10px 5px 20px 5px;
    
}



.overview-details p{
    
    margin-bottom: 0;
}

.overview-bold{
    margin-left: 0;
}



.overview-list h4{
    margin-bottom: 20px!important;
}

.overview-key p{
    margin-bottom: 15px;
}

.next-departure{
    margin-top: 20px;
    margin-bottom: 20px!important;
}

.departures-hr{
    width: 40%;
}

.dates-overview{
    width: 100%;
    display: flex;
}

.dates-overview i{
    margin-left: -15px;
}

.trip-info h4{
    text-align: left;
}

.info-price{
    padding-bottom: 40px;
}

.program-line h4{
    font-size: 15px!important;
}

.program-line h5{
    font-size: 15px!important;
}

.dates-price{
    display: block;
    box-shadow: rgba(0, 0, 0, 0.4) 0px 0px 5px;
    padding: 20px;
    margin-bottom: 30px;
    width: 100%;
}

.price-line{
    display: none;
}

.content-wrapper{
    display: block;
}

.bokun-wrap{
    width: 100%;
}

.reserve-title{
    display: block;
    font-size: 20px!important;
    font-weight: 700!important;
    font-family: var(--montserrat)!important;
    margin-top: 30px!important;
    margin-bottom: 20px;
}

.reserve-hr{
    display: block;
}

.toggle-wrap{
    width: 100%;
}

.meeting-point-wrap{
    width: 100%;
    padding-right: 0;
}

.fade-content-daybyday{
    width: 100%;
    padding-left: 0;
}

.daybyday-line {
    margin-top: 170px;
    margin-bottom: 215px;
}

.departures-wrap{
    display: block;
}


.price-bubble{
    width: 100%;
}


.meeting-point-wrap li {
    font-size: 15px;
    
}


.price-text-last li{
    font-size: 15px;
}

.info-description{
    padding-bottom: 20px;
}

.details-wrap{
    display: block;
}

.details-title{
    width: 100%;
    
}

.details-description{
    width: 100%;
}

.price-bullet{
    font-size: 15px;
    text-align: left;
}

.price-bullet li{
    font-size: 15px;
}

.faq-question {
    background: none;
    border: none;
    box-shadow: none;
}

.reviews-container {
        flex-direction: column;
        margin-top: 30px;
    }

.reviews-summary,
    .reviews-list {
        width: 100%;
    }
    
.reviews-summary {
    padding: 10px;
    margin-bottom: 30px;
}

.reviews-summary-content {
        position: static;
        text-align: center;
    }
    
.reviews-list {
        padding: 0;
    }
    
.reviews-hr{
        margin-bottom: 30px!important;
    }


.testimonies{
    max-width: 100%;
}



.popup-content {
        height: 80%;           /* Hauteur en pourcentage pour s'adapter à l'écran */
        width: 80%;            /* Largeur pour petits écrans */
        overflow-y: auto;      /* Activer le défilement vertical si le contenu dépasse */
    }


    
}



/* BOKUN BTN */

#bokun_5675109b_5736_4e03_bb45_c99ab973ca6c {
    display: inline-block; 
    padding: 10px 40px; 
    background: #7ec8bb; 
    border-radius: 50px; 
    box-shadow: none; 
    font-weight: 500; 
    font-size: 16px; 
    text-decoration: none; 
    text-align: center; 
    color: #FFFFFF; 
    border:none; 
    cursor: pointer; 
    transition: background .2s ease; 
    
}

#bokun_5675109b_5736_4e03_bb45_c99ab973ca6c:hover{ 
    background: #7ec8bb; 
    
}

#bokun_5675109b_5736_4e03_bb45_c99ab973ca6c:active{ 
    background: #7ec8bb; 
    
} 

#send-request-top {
    opacity: 0;
    transition: opacity 0.3s ease;
}

#send-request-top.active-send-request {
    opacity: 1;
}