/*
Theme Name: GrandTour Child
Theme URI: http://themes.themegoods2.com/grandtour/demo
Description: Premium Tour Travel Theme
Version: 1.0
Author: ThemeGoods
Author URI: http://themeforest.net/user/ThemeGoods
License: GNU General Public License
License URI: http://themeforest.net/licenses/regular_extended
Text Domain: grandtour
Template: grandtour
*/
ul {
    display: block;
    list-style-type: disc;
    margin-block-start: 1em;
    margin-block-end: 1em;
    padding-inline-start: 20px;
    unicode-bidi: isolate;
}
.grandtour-contact-form-content-wrapper .wpcf7-form > p:nth-Child(6) {
	width: 100%;
}
.main-menu-wrapper.invisible .elementor-element-d6f9ec4, .main-menu-wrapper.invisible .elementor-element-997fad7 {
	display: none;
}
/* =========================
   TAGS SUR LES CARTES
========================= */

.tour-carousel-tags {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 3;
}

.tour-carousel-tag {
    display: inline-block;
    padding: 4px 10px;
    font-size: 14px;
    line-height: 1.3;
    border-radius: 20px;
    background: #fcb034;
    color: #fff;
    margin-bottom: 5px;
    text-decoration: none;
}

.tour-carousel-tag:hover {
    background: #fff;
    color: #000;
}


/* =========================
   CARDS TAGS (SHORTCODE)
========================= */

.jlu-tour-tags-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.jlu-tour-tag-card {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
    padding: 24px;
    border-radius: 20px;
    background: #223E99;
    text-decoration: none;
    /* box-shadow: 0 8px 25px rgba(0,0,0,0.08); */
    transition: all 0.25s ease;
    border: 1px solid rgba(0,0,0,0.06);
}

.jlu-tour-tag-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 35px rgba(0,0,0,0.14);
}

.jlu-tour-tag-card-content {
    width: 100%;
    text-align: center;
}

.jlu-tour-tag-card-title {
    display: block;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 8px;
    text-transform: capitalize;
    color: #fff;
}

.jlu-tour-tag-card-count {
    display: block;
    font-size: 15px;
    font-weight: bold;
    opacity: 0.65;
    color: #fff;
}


/* =========================
   HEADER PAGE TAG
========================= */

.jlu-tourtag-header {
    min-height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: url("https://idtravel.justlikeu.be/wp-content/uploads/2024/04/img-footer-form.jpg") center/cover no-repeat;
    text-align: center;
}

.jlu-tourtag-header h1 {
    font-size: 70px;
    margin-bottom: 15px;
    color: #fff;
    font-style: italic;
}


/* =========================
   LAYOUT PAGE TAG
========================= */

.jlu-tourtag-page {
    max-width: 1845px;
    margin: 0 auto;
    padding: 100px 40px 60px;
}

.jlu-tourtag-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
	max-width: 1845px;
}

.jlu-tourtag-grid .item.post-wrapper {
    width: 100%;
}


/* =========================
   CUSTOM STYLE CARTES TOUR
========================= */

.jlu-tourtag-page .tour-carousel-featured-image {
    height: 600px;
    background-position: center;
    background-size: cover;
    position: relative;
    border-radius: 10px;
}

.jlu-tourtag-page .tour-carousel-featured-image:after {
    background-image: linear-gradient(180deg, #FFFFFF00 0%, #0000008A 100%) !important;
    border-radius: 10px;
}

.jlu-tourtag-page .tour-carousel-price-label {
    font-size: 13px;
    font-weight: 400;
    text-transform: uppercase;
    color: #fff;
}

.jlu-tourtag-page .tour-carousel-price-data {
    font-size: 20px !important;
    line-height: 1em;
    color: #fff;
}

.jlu-tourtag-page .tour-carousel-meta .tour-carousel-button a.button {
    font-family: "Jost", sans-serif;
    font-size: 14px;
    font-weight: 500;
    background-color: transparent;
    border-color: #fff;
    color: #fff;
}


/* =========================
   RESPONSIVE
========================= */
@media (min-width: 1920) {
	.jlu-tourtag-grid {
		grid-template-columns: repeat(5, 1fr);
	}
}

@media (min-width: 1440px) AND (max-width: 1919px) {
	.jlu-tourtag-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (min-width: 1200px) AND (max-width: 1439px) {
	.jlu-tourtag-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 992px) AND (max-width: 1199px) {
	.jlu-tourtag-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 1024px) {
    .jlu-tour-tags-cards {
        grid-template-columns: repeat(3, 1fr);
    }
	.jlu-tourtag-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 767px) AND (max-width: 991px) {
	.jlu-tourtag-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
    .jlu-tour-tags-cards {
        grid-template-columns: repeat(2, 1fr);
    }

    .jlu-tourtag-page {
        padding: 40px 20px;
    }

    .jlu-tourtag-grid {
        grid-template-columns: 1fr;
    }

    .jlu-tourtag-page .tour-carousel-featured-image {
        height: 440px;
    }
	.jlu-tourtag-grid {
		grid-template-columns: repeat(1, 1fr);
	}
}

@media (max-width: 480px) {
    .jlu-tour-tags-cards {
        grid-template-columns: 1fr;
    }
}
/* =========================
   animation slider
========================= */


.tour-carousel-meta .tour-carousel-button a.button:hover {
	background-color: #fcb034 !important;
    color: #fff !important;
}


/* 1. CSS : Force une transition douce et régulière pour l'élégance */
.logo2 .swiper-wrapper {
    /* ease-in-out donne une accélération douce et un freinage doux */
    transition-timing-function: ease-in-out !important;
}

/* Optionnel : Centre les images si elles n'ont pas toutes la même hauteur */
.logo2 .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
}


@media (min-width: 1000px) {
.elementor-1708 .elementor-element.elementor-element-7d53ddc {
padding-left:40px!important;
}
}

.elementor-1708 .elementor-element.elementor-element-e072d97:not(.elementor-motion-effects-element-type-background){
	max-height:700px!important;
}


.elementor-2034 .elementor-element.elementor-element-eca1219 {
    --padding-left: 40px!important;
}

 #footer a:hover, .social_wrapper ul li a:hover

 {
    color: #000000!important;
}


/*modification cartes*/

.owl-item .post-wrapper {

    display: flex;

    flex-direction: column;

    border-radius: 12px;

    overflow: hidden;

    /* box-shadow: 0 4px 15px rgba(0,0,0,0.05); */

    background-color: #ededed; /* Fond gris de secours */

}



/* 2. Redimensionne l'image pour le style "paysage" en haut */

.owl-item .tour-carousel-featured-image {

    display: flex;

    flex-direction: column;

    justify-content: flex-end; /* Pousse le contenu vers le bas si besoin */

    position: relative;

    width: 100% !important;

    height: 290px!important; /* Hauteur de l'image style paysage (ajustable) */

    background-size: cover;

    background-position: center;

}



/* 3. Sort le bloc de texte de la superposition de l'image et le place en dessous */

.owl-item .tour-carousel-content {

    position: absolute;

    top: 280px; /* Doit être STRICTEMENT IDENTIQUE à la height de l'image ci-dessus */

    left: 0;

    right: 0;

    background-color: #ededed !important; /* Couleur de fond légèrement grise */

    padding: 20px;

    box-sizing: border-box;

}



/* 4. Donne de l'air à la div parente pour accueillir le texte qui a glissé en dessous */

.owl-item .tour-carousel-featured-image {

    margin-bottom: 270px; /* Ajuste cette valeur selon la hauteur moyenne de tes textes */

}



/* 5. Force la couleur de tous les textes et éléments internes en #252525 */

.owl-item .tour-carousel-content,

.owl-item .tour-carousel-content h3,

.owl-item .tour-carousel-content h3 a,

.owl-item .tour-carousel-content p,

.owl-item .tour-carousel-price-label,

.owl-item .tour-carousel-price-data {

    color: #252525 !important;

}



/* Ajustement cosmétique pour le lien du titre */

.owl-item .tour-carousel-content h3 a {

    text-decoration: none;

}



.elementor-1708 .elementor-element.elementor-element-c90437c .tour-carousel-wrapper .tour-carousel-featured-image, .elementor-1708 .elementor-element.elementor-element-c90437c .tour-carousel-wrapper .tour-carousel-featured-image:after {

    border-radius: 10px 10px 0px 0px;

}



.tour-carousel-wrapper .tour-carousel-featured-image .tour-carousel-content

 {

    position: absolute;

    bottom: 0;

    left: 0;

    padding: 30px 40px 20px 30px;

    z-index: 1;

}





.elementor-1708 .elementor-element.elementor-element-c90437c .tour-carousel-meta .tour-carousel-button a.button {

    border-color: #fcb034 !important;

}



.tour-carousel-meta .tour-carousel-button a.button {

border-color: #fcb034 !important;

     color: #0d0d0d !important;

}





.elementor-1708 .elementor-element.elementor-element-c90437c .tour-carousel-wrapper .tour-carousel-featured-image .tour-carousel-content .tour-carousel-header-title h3

 {

    font-family: "Afacad", Sans-serif;

    font-size: 25px;

 }

 

 .elementor-1708 .elementor-element.elementor-element-c90437c .tour-carousel-price-data {

         font-size: 20px;

 }


.tour-carousel-wrapper .tour-carousel-featured-image::after {

 background-image: linear-gradient(180deg, #FFFFFF00 0%, #00000000 100%)!important;

} 

/*carte pages catégories voyages * /
 
/* ==========================================================================
   1. LA CARTE GLOBALE (Zone grise réduite)
   ========================================================================== */
.jlu-tourtag-grid .post-wrapper {
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    overflow: hidden;
    /* box-shadow: 0 4px 15px rgba(0,0,0,0.05); */
    background-color: #ededed !important;
    position: relative;
}

/* Réduction de la hauteur de la zone grise en bas */
.jlu-tourtag-grid .item.post-wrapper {
    padding-bottom: 270px !important; /* Diminué de 220px à 180px */
}

/* ==========================================================================
   2. ZONE DE L'IMAGE
   ========================================================================== */
.jlu-tourtag-grid .tour-carousel-featured-image {
    position: relative;
    width: 100% !important;
    height: 290px !important; /* Légèrement réduit pour remonter le tout */
    background-size: cover;
    background-position: center;
    border-radius: 10px 10px 0px 0px !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

/* Désactivation du dégradé noir par défaut */
.jlu-tourtag-grid .tour-carousel-featured-image::after {
    display: none !important;
    background-image: none !important;
}

/* Lien global limité à la zone de l'image */
.jlu-tourtag-grid .tour-carousel-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 300px;
    z-index: 2;
}

/* Placement des tags sur l'image */
.jlu-tourtag-grid .tour-carousel-tags {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 3;
    display: flex;
    gap: 8px;
}

/* ==========================================================================
   3. LE BLOC DE TEXTE (Remonté plus haut)
   ========================================================================== */
.tour-carousel-content {
    position: absolute !important;
    top: 290px !important;
    left: 0 !important;
    right: 0 !important;
    background-color: #ededed !important;
    padding: 25px 20px !important;
    box-sizing: border-box !important;
    border-radius: 0px 0px 10px 10px !important;
    z-index: 5 !important;
    min-height: 270px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center;
}
.tour-carousel-meta, .tour-grid-meta {
	display: none !important;
}

/* ==========================================================================
   4. STYLES TEXTES, COULEURS (#252525) ET BOUTONS
   ========================================================================== */
.jlu-tourtag-grid .tour-carousel-content,
.jlu-tourtag-grid .tour-carousel-content h3,
.jlu-tourtag-grid .tour-carousel-content h3 a,
.jlu-tourtag-grid .tour-carousel-content p,
.jlu-tourtag-grid .tour-carousel-price-label,
.jlu-tourtag-grid .tour-carousel-price-data {
    color: #252525 !important;
}

.jlu-tourtag-grid .tour-carousel-content h3 a {
    text-decoration: none;
    font-family: "Afacad", Sans-serif;
    font-size: 25px;
}

.jlu-tourtag-grid .tour-carousel-price-data {
    font-size: 20px;
}

/* Style du bouton */
.jlu-tourtag-grid .tour-carousel-meta .tour-carousel-button a.button {
    border-color: #fcb034 !important;
    background-color: transparent;
}

@media (min-width: 800px) {
	.menu-item-3366{
		display:none!important;
	}
	
	.menu-item-3743{
	 display:none!important;
	}
}


.tour-image img {
	height:400px!important;
}

.tour-grid-wrapper {
    grid-template-columns: repeat(4, 1fr);
    display: grid;
    gap: 30px;
}

.jlu-tourtag-grid .tour-carousel-header-title h3 {
	font-family: "Afacad", Sans-serif;
    font-size: 30px;
    line-height: 1.2em;
}

    /* 1. Force la carte globale à devenir un bloc vertical et gère l'arrondi général */
.owl-item .post-wrapper {
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    overflow: hidden;
    /* box-shadow: 0 4px 15px rgba(0,0,0,0.05); */
    background-color: #ededed; /* Fond gris de secours */
}

/* 2. Redimensionne l'image pour le style "paysage" en haut */
.owl-item .tour-carousel-featured-image {
    display: flex;
    flex-direction: column;
    justify-content: flex-end; /* Pousse le contenu vers le bas si besoin */
    position: relative;
    width: 100% !important;
    background-size: cover;
    background-position: center;
}

/* 3. Sort le bloc de texte de la superposition de l'image et le place en dessous */
.owl-item .tour-carousel-content {
    position: absolute;
    top: 290px; /* Doit être STRICTEMENT IDENTIQUE à la height de l'image ci-dessus */
    left: 0;
    right: 0;
    background-color: #ededed !important; /* Couleur de fond légèrement grise */
    padding: 20px;
    box-sizing: border-box;
}

/* 4. Donne de l'air à la div parente pour accueillir le texte qui a glissé en dessous */
.owl-item .tour-carousel-featured-image {
    /* margin-bottom: 240px; */ /* Ajuste cette valeur selon la hauteur moyenne de tes textes */
	border-radius: 10px 10px 0px 0px !important;
}

/* 5. Force la couleur de tous les textes et éléments internes en #252525 */
.owl-item .tour-carousel-content,
.owl-item .tour-carousel-content h3,
.owl-item .tour-carousel-content h3 a,
.owl-item .tour-carousel-content p,
.owl-item .tour-carousel-price-label,
.owl-item .tour-carousel-price-data {
    color: #252525 !important;
}

/* .tour-carousel-wrapper .tour-carousel-featured-image .tour-carousel-content {
	display: flex;
    height: 220px !important;
    flex-direction: column;
    justify-content: space-between;
	padding: 25px 20px !important;
} */

/* Ajustement cosmétique pour le lien du titre */
.owl-item .tour-carousel-content h3 a {
    text-decoration: none;
}

.elementor-1708 .elementor-element.elementor-element-c90437c .tour-carousel-wrapper .tour-carousel-featured-image, .elementor-1708 .elementor-element.elementor-element-c90437c .tour-carousel-wrapper .tour-carousel-featured-image:after {
    border-radius: 10px 10px 0px 0px;
}

.tour-carousel-wrapper .tour-carousel-featured-image .tour-carousel-content
 {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 30px 40px 20px 30px;
    z-index: 1;
}


.elementor-1708 .elementor-element.elementor-element-c90437c .tour-carousel-meta .tour-carousel-button a.button {
        border-color
: #fcb034;
    color: #0d0d0d;
}

.elementor-1708 .elementor-element.elementor-element-c90437c .tour-carousel-wrapper .tour-carousel-featured-image .tour-carousel-content .tour-carousel-header-title h3
 {
    font-family: "Afacad", Sans-serif;
    font-size: 25px;
 }
 
 .elementor-1708 .elementor-element.elementor-element-c90437c .tour-carousel-price-data {
         font-size: 20px;
 }
/* 1. Configuration de l'image (l'élément de grille lui-même) */
.grandtour-tour-grid .portfolio-classic-grid-wrapper {
    position: relative !important;
    height: 290px !important; 
    background-size: cover !important;
    background-position: center !important;
    border-radius: 10px 10px 0px 0px !important;
    overflow: visible !important;
	margin-right: 0px;
    /* Pousse la rangée suivante (Hauteur bloc gris + l'espace voulu entre les lignes) */
    margin-bottom: 270px !important;
	width: 100%;
}
.grandtour-tour-grid .portfolio-classic-grid-wrapper.last {
	width: 100%;
}
.tour-grid-wrapper .tour-grid-featured-image:after {
	background-image: none !important;
}
/* 2. Extraction et redimensionnement du bloc de texte gris */
.grandtour-tour-grid .tour-grid-content {
    position: absolute !important;
    top: 290px !important; 
    left: 0 !important;
    right: 0 !important;
    background-color: #ededed !important; 
    padding: 25px 20px !important;
    box-sizing: border-box !important;
    border-radius: 0px 0px 10px 10px !important;
    /* box-shadow: 0 10px 15px rgba(0,0,0,0.05) !important; */
    z-index: 5 !important;

    /* AJOUT : Force une hauteur minimale pour le bloc gris */
    min-height: 270px !important; /* Ajuste cette valeur (ex: 280px, 300px) si tu le veux encore plus haut */
    
    /* AJOUT : Aligne proprement le contenu du bloc du haut vers le bas */
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

/* 3. Force la couleur sombre de tous les textes internes */
.grandtour-tour-grid .tour-grid-content,
.grandtour-tour-grid .tour-grid-content h3,
.grandtour-tour-grid .tour-grid-content h3 a,
.grandtour-tour-grid .tour-grid-content p,
.grandtour-tour-grid .tour-grid-price-label,
.grandtour-tour-grid .tour-grid-price-data {
    color: #252525 !important;
}

/* 4. Ajustements de style (Typographies, Bouton et Prix) */
.grandtour-tour-grid .tour-grid-content h3 a {
    text-decoration: none !important;
    font-family: "Afacad", Sans-serif !important;
    font-size: 25px !important;
}

.grandtour-tour-grid .tour-grid-price-data {
    font-size: 22px !important;
}

.grandtour-tour-grid .tour-grid-button a.button {
    border: 2px solid #fcb034 !important;
    color: #0d0d0d !important;
    transition: all 0.3s ease;
}

.grandtour-tour-grid .tour-grid-button a.button:hover {
    background-color: #fcb034 !important;
    color: #ffffff !important;
}

/* Style des badges d'étiquettes dans la grille de voyages */
.grandtour-tour-grid .tour-grid-tag {
    display: inline-block !important;
    background-color: #fcb034 !important; /* Le jaune/orange de votre charte */
    color: #ffffff !important; /* Force le texte en blanc pour écraser le gris foncé */
    padding: 4px 12px !important;
    font-size: 11px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-radius: 20px !important;
    text-decoration: none !important;
    
    /* Marges pour respirer */
    margin-right: 6px !important; 
    margin-bottom: 10px !important; 
    
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1) !important;
    
    /* Empêche le badge de s'étirer sur toute la largeur du bloc gris */
    align-self: flex-start !important; 
    width: auto !important;
}

/* Effet au survol du badge */
.grandtour-tour-grid .tour-grid-tag:hover {
    background-color: #252525 !important;
    color: #ffffff !important;
}

.tour-carousel-meta, .tour-grid-meta {
    text-align: center;
}
.tour-carousel-meta .tour-carousel-button, .tour-carousel-meta .tour-carousel-price, .tour-grid-meta .tour-grid-button, .tour-grid-meta .tour-grid-price {
    width: 100% !important;
}
.grandtour-contact-form-content-wrapper .wpcf7 span.champ-obligatoire {
	display: block;
	color: #000000;
    font-family: "Jost", Sans-serif;
    font-size: 15px;
    font-weight: 400;
    font-style: italic;
	margin-top: -40px;
	text-align: right;
}
.tour-carousel-header-excerpt p, .tour-grid-header-excerpt p {
	text-align: justify;
}

.grandtour-contact-form-content-wrapper label {
font-size:15px!important;
	border-radius:20px;
}

.wpcf7-not-valid-tip {
	position:absolute !important;
}

.owl-stage-outer .owl-stage{
   transition: all 0.9s ease-in-out!important;
}
/*
.presentation-equipe{
box-shadow: 0 35px 60px rgba(0, 0, 0, 0.10);
}*/


/* slider employés page à propos*/

/* Conteneur principal - avec la marge négative de -150px pour combler l'espace */
.slider-equipe-wrapper {
    position: relative;
    width: 100%;
    max-width: 1140px;
    margin: 0px auto 0 auto !important; /* Force la remontée de tout le bloc */
    padding-bottom: 50px; /* Réserve l'espace pour les points en dessous */
    background: transparent !important;
}

/* Zone de masque */
.slider-equipe-clip {
    width: 100%;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    padding: 30px 0 !important;
    margin: -30px 0 !important;
    background: transparent !important;
}

/* Conteneur de piste (track) */
.slider-equipe-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    width: 100%;
    background: transparent !important;
}

/* Chaque carte individuelle */
.presentation-equipe {
    flex: 0 0 96% !important;
    width: 96% !important;
    max-width: 96% !important;
    margin: 15px 2% 25px 2% !important;
    box-sizing: border-box;
    display: flex !important;
    border-radius: 10px;
    
    /* Ombre légère et homogène */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
    
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1), z-index 0.6s !important;
    z-index: 1;
}

.presentation-equipe.slide-active {
    z-index: 8 !important;
}

/* Style des flèches plates et discrètes */
.slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background:rgb(252 176 52) ;
    color: #fff;
    border: 1px solid #e2e8f0;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    cursor: pointer;
    box-shadow: none !important;
    transition: all 0.3s ease;
    z-index: 5;
}

.slider-arrow:hover {
    background: #ffffff;
    color: #000000;
    border-color: #cbd5e1;
}

.slider-arrow:disabled {
    opacity: 0;
    pointer-events: none;
}

/* Positionnement des flèches */
#prevCardBtn {
    left: -22px;
}

#nextCardBtn {
    right: -22px;
}

/* Ajustements tablettes et mobiles */
@media (max-width: 1024px) {
    .slider-equipe-wrapper {
        margin: -100px auto 0 auto !important; /* Marge négative adoucie sur tablette */
    }
    .presentation-equipe {
        flex: 0 0 92% !important;
        width: 92% !important;
        max-width: 92% !important;
        margin: 15px 4% 25px 4% !important;
    }
}

@media (max-width: 767px) {
    .slider-equipe-wrapper {
        margin: -80px auto 0 auto !important; /* Marge négative adoucie sur mobile */
    }
    .presentation-equipe {
        flex: 0 0 90% !important;
        width: 90% !important;
        max-width: 90% !important;
        margin: 15px 5% 25px 5% !important;
    }
    .slider-arrow {
        width: 38px;
        height: 38px;
    }
    #prevCardBtn { left: 5px; }
    #nextCardBtn { right: 5px; }
}

/* FORÇAGE DES POINTS EN DESSOUS */
.slider-dots-container {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    width: auto;
    z-index: 5;
}

.slider-dots {
    display: flex;
    gap: 10px;
}

.slider-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #cbd5e1;
    cursor: pointer;
    transition: all 0.3s ease;
}

.slider-dot.active {
    background-color: #334155;
    transform: scale(1.2);
}


/*flèche slider voyages accueil*/

/* Positionnement du conteneur parent pour caler les flèches */
.tour-carousel-wrapper {
    position: relative !important;
}

/* Style de tes flèches personnalisées */
.tour-carousel-wrapper .slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgb(252, 176, 52);
    color: #fff;
    border: 1px solid #e2e8f0;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important;
    transition: all 0.3s ease;
    z-index: 5;
    outline: none;
}

.tour-carousel-wrapper .slider-arrow:hover {
    background: #ffffff;
    color: #000000;
    border-color: #cbd5e1;
}

/* Positionnement Gauche / Droite */
.tour-carousel-wrapper .slider-arrow.prev-tour {
    left: -25px;
}

.tour-carousel-wrapper .slider-arrow.next-tour {
    right: -25px;
}

/* Ajustement responsive pour éviter que les flèches ne sortent de l'écran sur mobile */
@media (max-width: 767px) {
    .tour-carousel-wrapper .slider-arrow.prev-tour {
        left: 5px;
    }
    .tour-carousel-wrapper .slider-arrow.next-tour {
        right: 5px;
    }
}


@media (max-width: 500px) {
  /* Fixe la hauteur des cellules du carrousel pour éviter qu'elles s'effondrent */
  .elementor-element-0583b83 .flickity-viewport,
  .elementor-element-0583b83 .flickity-slider,
  .elementor-element-0583b83 .horizontal-gallery-cell {
    height: 350px !important;
    max-height: 350px !important;
  }

  /* Dimensionne l'image pour qu'elle remplisse sa cellule en mode cover */
  .elementor-element-0583b83 img.horizontal-gallery-cell-img {
    height: 350px !important;
    max-height: 350px !important;
    width: 280px !important; /* Donne une largeur fixe aux images sur mobile pour ne pas écraser le ratio */
   
  }
}

/* ======================================================
   SISTÈME DE FLÈCHES 100% AUTONOME (SANS CONFLIT THÈME)
====================================================== */

/* 1. Neutralise les flèches automatiques du thème dans les sous-menus pour éviter les doublons/décalages à gauche */
.sub-menu .menu-item-has-children > a::before,
.sub-menu .menu-item-has-children > a::after {
    display: none !important;
    content: none !important;
}

/* 2. Alignement propre du lien avec la flèche à droite */
.sub-menu .menu-item-has-children.custom-has-sub > a {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

/* 3. Flèche VERS LE BAS (pour l'élément parent principal "Destinations") */
.custom-arrow-down {
    display: inline-block !important;
    width: 6px;
    height: 6px;
    margin-left: 7px;
    vertical-align: middle;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    margin-bottom: 3px;
}

/* 4. Flèche VERS LA DROITE (pour les éléments avec sous-menu comme Afrique) */
.custom-arrow-right {
    display: inline-block !important;
    width: 6px;
    height: 6px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
    margin-left: 10px;
}



.mobile_menu_wrapper .page_content_wrapper {
	display:none;
}

body .mobile_menu_wrapper {
    background: #223e99;
}

.mobile_menu_wrapper #mobile_menu_close.button {
background-color: #1939a1!important;
}

.mobile_menu_wrapper #mobile_menu_close.button {
     border-color: #FCB034!important;
}

.mobile_menu_wrapper {
	padding: 35px 40px 35px 20px;
}

/*accordéon mobile menu */

/* ======================================================
   CORRECTIF : REPLIER LES NIVEAUX 2 DANS LE MENU MOBILE
====================================================== */

/* 1. Masque par défaut les sous-menus de 2ème niveau dans le volet mobile */
.mobile_menu_wrapper .sub-menu .sub-menu,
#sub_menu .sub-menu {
    display: none !important;
    visibility: hidden;
    height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all 0.3s ease;
}

/* 2. Affiche le sous-menu uniquement au clic (quand le li parent est actif) */
.mobile_menu_wrapper .sub-menu .menu-item-has-children.submenu-active > .sub-menu,
.mobile_menu_wrapper .sub-menu .menu-item-has-children.open > .sub-menu,
#sub_menu .menu-item-has-children.submenu-active > .sub-menu,
#sub_menu .menu-item-has-children.open > .sub-menu {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    opacity: 1 !important;
    padding-left: 15px; /* Décalage vers la droite pour matérialiser l'arbre */
    background: rgba(0, 0, 0, 0.03); /* Légère teinte pour distinguer les enfants */
}

/* 3. Animation de la flèche (tourne vers le bas quand c'est ouvert) */
.mobile_menu_wrapper .menu-item-has-children.submenu-active > a .custom-arrow-right,
#sub_menu .menu-item-has-children.submenu-active > a .custom-arrow-right {
    transform: rotate(135deg) !important; /* La flèche pointe vers le bas */
}

#sub_menu .sub-menu li a {
	font-size:16px;
}

#sub_menu .menu-item-has-children.submenu-active > .sub-menu {
background: rgba(0, 0, 0, 0.00);
}

@media (min-width: 1200px) {
.elementor-1708 .elementor-element.elementor-element-e072d97:not(.elementor-motion-effects-element-type-background), .elementor-1708 .elementor-element.elementor-element-e072d97 > .elementor-motion-effects-container > .elementor-motion-effects-layer
Specificity: (0,4,0)
 {
    background-color: #F2F2F2;
    max-height: 700px;
}
}
@media (min-width: 1000px) {
.elementor-1708 .elementor-element.elementor-element-7d53ddc {
padding-left:40px!important;
}
	
	.tour-carousel-wrapper .slider-arrow{
		top: 44%;
	}
	.elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal{
	display:none!important;
	}
}


/* 1. Conteneur principal en grille */
.tour-grid-wrapper.layout-grandtour-four-cols {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 130px 20px !important; /* 30px d'espace vertical entre les rangées, 20px horizontal */
    height: auto !important; /* Annule une éventuelle hauteur globale forcée */
}

/* 2. Réinitialisation des cartes individuelles */
.tour-grid-wrapper.layout-grandtour-four-cols .portfolio-classic-grid-wrapper {
    width: 100% !important;
    float: none !important;
    margin: 0 0 20px 0 !important; /* Marge de sécurité en bas */
    min-height: 450px !important; /* Ajuste la hauteur min si besoin au lieu de 700px */
    height: auto !important; /* Laisse le contenu respirer */
    position: relative !important;
    box-sizing: border-box !important;
}

/* 3. Nettoyage des retours à la ligne du thème */
.tour-grid-wrapper.layout-grandtour-four-cols br.clear {
    display: none !important;
}

/* --- Breakpoints Responsive --- */

/* 3 colonnes de 1001px à 1399px */
@media screen and (max-width: 1399px) {
    .tour-grid-wrapper.layout-grandtour-four-cols {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

/* 2 colonnes de 601px à 1000px */
@media screen and (max-width: 1000px) {
    .tour-grid-wrapper.layout-grandtour-four-cols {
        grid-template-columns: repeat(2, 1fr) !important;
    }
	
	.elementor-2034 .elementor-element.elementor-element-eca1219{
      padding-left: 0px !important;
     }
	
	.tour-carousel-wrapper .slider-arrow { 
		top:45%!important;
        }
	
	.elementor-1708 .elementor-element.elementor-element-75f18e0 .elementor-heading-title {
    font-family: "Cormorant Garamond", sans-serif;
    font-size: 33px;
	}
}

/* 1 colonne sous 600px */
@media screen and (max-width: 600px) {
    .tour-grid-wrapper.layout-grandtour-four-cols {
        grid-template-columns: 1fr !important;
    }
	
	.grandtour-tour-grid .tour-grid-content {
		    min-height: 290px !important;
	}
	
	.tour-carousel-header-excerpt p, .tour-grid-header-excerpt p {
		15.3px!important;
	}
}

cky-revisit-bottom-left {
	background-color: #223e99!important;
}
.cky-btn.cky-btn-accept {
	background-color: #223e99!important;
	border-color: #223e99 !important;
}
.cky-btn.cky-btn-reject, .cky-btn.cky-btn-preferences, .cky-btn.cky-btn-customize {
	color:#223e99 !important;
    border-color: #223e99 !important;
	background-color: #fff !important;
}
a.cky-policy {
	color: #223e99 !important;
}