/* =========================================
   OwlSight — LOAD (child theme)
   ========================================= */
@font-face{
  font-family: "OwlSight";
  src: url("/wp-content/themes/setsail-child/assets/fonts/OwlSight.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* =========================================
   EF — TYPO (global)
   ========================================= */
body{
  font-family: 'poppins', serif;
}

/* IMPORTANT : ne PAS serrer les titres (ça te cassait la lisibilité) */
h1,h2,h3{
  font-family: 'OwlSight', serif;
  letter-spacing: 0; /* <-- on annule le 0.05em */
}

.qodef-section-title-holder span.qodef-st-tagline{
  display:block;
  font-family:'OwlSight', serif;
  font-size:25px;
  line-height:1.6em;
  letter-spacing:-0.01em;
  color:#000;
}



/* =========================================
   EF — Remplacement couleur accent SetSail
   ========================================= */

/* Boutons principaux */
.qodef-btn,
.qodef-btn.qodef-btn-solid,
.qodef-btn.qodef-btn-outline,
button,
input[type="submit"]{
  background-color: #111111 !important;
  border-color: #111111 !important;
  color: #ffffff !important;
}

/* Hover boutons */
.qodef-btn:hover,
button:hover,
input[type="submit"]:hover{
  background-color: #000000 !important;
  border-color: #000000 !important;
}

/* Liens & icônes */
a,
.qodef-icon-holder,
.qodef-icon-element{
  color: #111111;
}

/* Badges, prix, labels */
.qodef-tour-price,
.qodef-tour-category,
.qodef-tour-label{
  color: #111111 !important;
}

/* Formulaire booking (bloc turquoise) */
.qodef-booking-form,
.qodef-booking-form *{
  background-color: #111111 !important;
  border-color: #111111 !important;
}

/* Onglets actifs */
.qodef-tabs .qodef-tabs-nav li.ui-state-active a{
  color: #111111 !important;
  border-bottom-color: #111111 !important;
}
















/* =========================================
   EF — TOURS CARDS (SetSail) — MAQUETTE
   Objectifs :
   - Tag en haut à gauche
   - "À partir de" + prix en haut à droite
   - Durée juste au-dessus du titre (en bas)
   - Villes (extrait) sous la durée
   - Titre lisible (tracking OK)
   ========================================= */

/* Carte = repère du absolute */
.qodef-tours-standard-item .qodef-tour-standard-item-holder{
  position:relative;
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,.08);
  background:#fff;
}

/* Image */
.qodef-tours-standard-item .qodef-tours-standard-item-image-holder{
  position:relative;
}
.qodef-tours-standard-item .qodef-tours-standard-item-image-holder img{
  display:block;
  width:100%;
  height:520px;
  object-fit:cover;
}

/* Overlay plein cadre */
.qodef-tours-standard-item .qodef-tours-standard-item-content-holder{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:18px 18px 22px;
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,.18) 0%,
    rgba(0,0,0,.04) 45%,
    rgba(0,0,0,.70) 100%
  ) !important;
  pointer-events:none; /* le clic passe sur l'image */
}

/* Neutralise tous les fonds/rectangles natifs SetSail */
.qodef-tours-standard-item .qodef-tours-standard-item-top-content,
.qodef-tours-standard-item .qodef-tours-standard-item-top-item,
.qodef-tours-standard-item .qodef-tours-list-item-top-item,
.qodef-tours-standard-item .qodef-tours-standard-item-content-inner,
.qodef-tours-standard-item .qodef-tours-standard-item-title-holder,
.qodef-tours-standard-item .qodef-tours-standard-item-price-and-rating-holder{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}

.qodef-tours-standard-item .qodef-tours-standard-item-content-inner{
  padding:0 !important;
  margin:0 !important;
}

/* =========================
   TOP BAR : Tag gauche + Prix droite
   ========================= */
.qodef-tours-standard-item .qodef-tours-standard-item-top-content{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

/* Cache âge (on garde la durée mais on la déplacera en bas) */
.qodef-tours-standard-item .qodef-tour-min-age-holder{
  display:none !important;
}

/* Tag (catégorie) — TOP LEFT */
.qodef-tours-standard-item .qodef-tours-tour-categories-holder{
  display:inline-flex !important;
  align-items:center;
}

.qodef-tours-standard-item .qodef-tours-tour-categories-item a{
  pointer-events:auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.75);
  background:rgba(255,255,255,.10);
  color:#fff;
  font-size:13px;
  line-height:1;
  text-decoration:none;
  backdrop-filter:blur(8px);
}

.qodef-tours-standard-item .qodef-tour-cat-item-icon{
  color:#fff;
}

/* Prix — TOP RIGHT (avec “À partir de” au-dessus) */
.qodef-tours-standard-item .qodef-tours-standard-item-price-and-rating-holder{
  margin-left:auto !important;
  align-self:flex-start !important;
  text-align:right;
}

.qodef-tours-standard-item .qodef-tours-item-price-holder{
  display:block;
  color:#fff;
}

.qodef-tours-standard-item .qodef-tours-item-price-holder::before{
  content:"À partir de";
  display:block;
  font-size:14px;
  font-weight:500;
  opacity:.9;
  margin-bottom:6px;
  color:#fff;
}

.qodef-tours-standard-item .qodef-tours-item-price{
  display:block;
  color:#fff;
  font-size:34px;
  font-weight:700;
  letter-spacing:-0.01em;
  line-height:1;
  text-shadow:0 10px 30px rgba(0,0,0,.25);
}

/* Cache rating */
.qodef-tours-standard-item .qodef-tours-item-rating{
  display:none !important;
}

/* =========================
   BOTTOM STACK : Durée > Titre > Villes
   ========================= */
.qodef-tours-standard-item .qodef-tours-standard-item-content-inner{
  margin-top:auto;
  pointer-events:none;
}

/* Titre — lisible (tracking + léger) */
.qodef-tours-standard-item .qodef-tour-title{
  margin:0;
  font-family:'OwlSight', serif;
  font-size:40px;
  line-height:1.05;
  letter-spacing:0.015em; /* <-- on AÈRE un peu */
  text-shadow:0 12px 32px rgba(0,0,0,.28);
}
.qodef-tours-standard-item .qodef-tour-title,
.qodef-tours-standard-item .qodef-tour-title a{
  color:#fff;
  text-decoration:none;
}

/* Durée : on la sort du top et on la place juste au-dessus du titre */
.qodef-tours-standard-item .qodef-tour-duration-holder{
  display: none !important;
  align-items:center;
  gap:8px;
  color:#fff;
  font-size:14px;
  line-height:1;
  opacity:.95;
  margin-bottom:10px;
  text-shadow:0 10px 24px rgba(0,0,0,.25);
}

/* On masque l’icône calendrier si tu veux un rendu “propre” */
.qodef-tours-standard-item .qodef-tour-duration-icon{
  display:none !important;
}

/* Repositionnement : la durée est dans le “top-content” du thème,
   on la force à descendre en bas en la positionnant en absolute. */
.qodef-tours-standard-item .qodef-tours-standard-item-top-content{
  position:relative;
}

/* IMPORTANT : le thème met souvent la durée dans .qodef-tours-standard-item-top-item (1er bloc).
   On le sort du flux et on l’ancre en bas gauche. */
.qodef-tours-standard-item .qodef-tours-standard-item-top-item{
  display:block !important;
  position:absolute !important;
  left:18px;
  bottom:22px;
  transform:translateY(-86px); /* <-- au-dessus du titre (ajuste +/- si besoin) */
  background:transparent !important;
}

/* Si jamais ça te remonte le bloc entier : on neutralise tout le reste dedans */
.qodef-tours-standard-item .qodef-tours-standard-item-top-item *{
  background:transparent !important;
  box-shadow:none !important;
}

/* Villes visitées : on réutilise l’extrait (mets-y tes villes dans l’admin) */
.qodef-tours-standard-item .qodef-tours-standard-item-excerpt{
  display:block !important;
  margin-top:10px;
  max-width:100%;
  color:rgba(255,255,255,.92);
  font-size:14px;
  line-height:1.2;
  letter-spacing:0.03em;
  text-shadow:0 10px 24px rgba(0,0,0,.25);

  /* 1 seule ligne propre (type “San Francisco - Carmel - …”) */
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Empêche que l’overlay bloque le clic */
.qodef-tours-standard-item .qodef-tours-standard-item-content-holder *{
  pointer-events:none;
}
.qodef-tours-standard-item .qodef-tours-tour-categories-item a{
  pointer-events:auto;
}



/* =========================================
   EF — FIX PRIX (top-right absolu)
   ========================================= */

/* On sort complètement le bloc prix du layout */
.qodef-tours-standard-item .qodef-tours-standard-item-price-and-rating-holder{
  position: absolute !important;
  top: 18px;
  right: 18px;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  text-align: right;
  z-index: 10;
}

/* Texte prix = blanc pur */
.qodef-tours-standard-item .qodef-tours-item-price,
.qodef-tours-standard-item .qodef-tours-item-price-holder,
.qodef-tours-standard-item .qodef-tours-item-price-holder::before{
  color: #ffffff !important;
  text-shadow: 0 10px 30px rgba(0,0,0,.35);
}

/* PRIX plus “waouh” */
.qodef-tours-standard-item .qodef-tours-item-price{
  font-size: 20px !important;   /* ← ajuste (42–48) */
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  line-height: 1 !important;
}

/* “À partir de” un peu plus présent */
.qodef-tours-standard-item .qodef-tours-item-price-holder::before{
  font-size: 15px !important;
  font-weight: 600 !important;
  margin-bottom: 6px !important;
  opacity: .95 !important;
}

.qodef-tours-standard-item .qodef-tour-cat-item-icon{
  display: none !important;
}

.qodef-tours-standard-item .qodef-tours-standard-item-excerpt::before{
  content:"\e01d" !important;
  font-family:"ElegantIcons" !important;
}



/* =========================================
   EF — Cards tours : catégories en colonne (stack)
   ========================================= */

/* Le conteneur des tags devient une colonne */
.qodef-tours-standard-item .qodef-tours-tour-categories-holder{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 8px !important;
  max-width: 60% !important; /* laisse de la place au prix à droite */
}

/* Chaque tag prend la largeur nécessaire (pas full width) */
.qodef-tours-standard-item .qodef-tours-tour-categories-item{
  float: none !important;
  display: block !important;
  width: auto !important;
  margin: 0 !important;
}

/* Les liens restent “pill” */
.qodef-tours-standard-item .qodef-tours-tour-categories-item a{
  display: inline-flex !important;
  white-space: nowrap !important;
}



















/* =========================================================
   EF — Pills catégories Tours — V2 + Couleurs
   ========================================================= */

.ef-pills-block{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:0;
}
.ef-pills-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  justify-content:center;
}
.ef-pill{
  --c:#999; /* fallback */

  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding: 9px 16px;
  border-radius:999px;
  border:3px solid var(--c);
  background:#fff;  

  color:#000;
  text-decoration:none;

  font-family:'OwlSight', serif;
  font-weight:700;
  font-size:20px;
  line-height:1.05;
  letter-spacing:0.03em;
  white-space:nowrap;

  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}
.ef-pill:hover{
  background:var(--c);
  color:#fff;
  transform: translateY(-1px);
}
.ef-pill:focus-visible{
  outline:2px solid rgba(0,0,0,.35);
  outline-offset:3px;
}
@media (min-width:1280px){
  .ef-pill{ font-size:19px; padding:8px 15px; }
}
@media (max-width:1024px){
  .ef-pill{ font-size:18px; padding:8px 14px; }
  .ef-pills-row{ gap:10px; }
}

@media (max-width: 768px){

  .ef-pills-block{
    display: block !important;
    text-align: center !important;
    max-width: 92% !important;
    margin: 0 auto !important;
  }

  .ef-pills-row{
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ef-pill{
    display: inline-flex !important;
    vertical-align: top !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 8px 10px 0 !important;
    padding: 8px 14px !important;

    border-width: 3px !important;
    border-radius: 999px !important;

    font-size: 17px !important;
    line-height: 1.05 !important;
    letter-spacing: 0.02em !important;
    white-space: nowrap !important;

    float: none !important;
  }
}

/* =========================================================
   Couleurs par catégorie (1 couleur = 1 catégorie)
   IMPORTANT : nécessite data-cat="slug" dans le HTML
   ========================================================= */

/* Haut */
.ef-pill[data-cat="city-break"]            { --c:#2F74D0; }
.ef-pill[data-cat="aventure-et-nature"]    { --c:#6E8B54; }
.ef-pill[data-cat="road-trip"]             { --c:#1F6B63; }
.ef-pill[data-cat="voyage-gastronomique"]  { --c:#7A6AAE; }
.ef-pill[data-cat="tout-inclus"]           { --c:#AFC6E8; }

.ef-pill[data-cat="famille-et-tribu"]      { --c:#78BFD4; }
.ef-pill[data-cat="circuit-culturel"]      { --c:#C45A4E; }
.ef-pill[data-cat="incontournable"]        { --c:#D7B24C; }
.ef-pill[data-cat="detente"]               { --c:#D97A2B; }
.ef-pill[data-cat="voyage-combine"]        { --c:#9B7B23; }

/* Bas (rétro + différencié) */
.ef-pill[data-cat="evenements-speciaux"]   { --c:#9C3D2B; }
.ef-pill[data-cat="voyage-en-train"]       { --c:#1F4E5F; }
.ef-pill[data-cat="retro"]                 { --c:#A0732F; }
.ef-pill[data-cat="cinema"]                { --c:#5B1F24; }
.ef-pill[data-cat="chauffeur-prive"]       { --c:#556B4E; }
.ef-pill[data-cat="voyage-accompagne"]     { --c:#6A7680; }




/* =========================================================
   EF — Couleurs par région (SetSail Destinations)
   IMPORTANT : nécessite data-region="slug"
   ========================================================= */

.ef-pill[data-region="ouest-canadien"]        { --c:#4F7A57; }
.ef-pill[data-region="prairies-grands-lacs"]  { --c:#B0895B; }
.ef-pill[data-region="quebec"]                { --c:#2D4F8F; }
.ef-pill[data-region="provinces-maritimes"]   { --c:#6D63C8; }
.ef-pill[data-region="yukon-grand-nord"]      { --c:#78BFD4; }

.ef-pill[data-region="new-york"]              { --c:#3B63C9; }
.ef-pill[data-region="capitales-de-lest"]     { --c:#1F6B63; }
.ef-pill[data-region="nouvelle-angleterre"]   { --c:#8BB49A; }
.ef-pill[data-region="vieux-sud"]             { --c:#7A6AAE; }
.ef-pill[data-region="floride-caraibes"]      { --c:#E1B244; }
.ef-pill[data-region="midwest"]               { --c:#C9B071; }
.ef-pill[data-region="texas"]                 { --c:#B06A2B; }

.ef-pill[data-region="montagnes-rocheuses"]   { --c:#8A9466; }
.ef-pill[data-region="nord-pacifique"]        { --c:#1C6F66; }
.ef-pill[data-region="ouest-americain"]       { --c:#C46C55; }
.ef-pill[data-region="alaska"]                { --c:#AFC6E8; }
.ef-pill[data-region="hawai"]                 { --c:#E07A34; }



/* =========================================================
   EF — Variante Mega Menu (pills plus petites)
   Utilisation : wrapper .ef-pills--menu autour des pills
   ========================================================= */

.ef-pills--menu .ef-pill{
  font-size:15px;
  padding:7px 13px;
  border-width:2px;
  letter-spacing:0.02em;
}

@media (max-width:1024px){
  .ef-pills--menu .ef-pill{
    font-size:14px;
    padding:6px 12px;
  }
}

@media (max-width:768px){
  .ef-pills--menu .ef-pill{
    font-size:14px;
    padding:6px 11px;
    border-width:2px; /* garde fin */
  }
}


/* =========================================================
   EF — Mega menu : spacing clean (WPBakery reset + pills)
   ========================================================= */

/* 1) WPBakery met souvent des marges (p / éléments) -> on neutralise dans le dropdown */
.qodef-drop-down .ef-mega-vc p,
.qodef-drop-down .ef-mega-vc .wpb_text_column,
.qodef-drop-down .ef-mega-vc .wpb_content_element,
.qodef-drop-down .ef-mega-vc .wpb_wrapper > *{
  margin: 0 !important;
}

/* 2) Fix : espace régulier sous chaque pill-titre */
.qodef-drop-down .ef-mega-vc a.ef-pill{
  display: inline-flex !important;
  margin: 0 0 12px 0 !important; /* <-- ajuste (10–16px) */
}

/* 3) Fix : espace régulier entre une liste et le prochain bloc (quand tu as 2 zones dans une colonne) */
.qodef-drop-down .ef-mega-vc ul{
  margin: 0 0 18px 0 !important; /* <-- ajuste (14–24px) */
  padding: 0 !important;
}

/* 4) Pour éviter des “trous” quand WPBakery injecte des <br> */
.qodef-drop-down .ef-mega-vc br{
  display:none !important;
}








/* EF — centre n'importe quel bouton Qode dans ce bloc */
.ef-btn-center .qodef-btn{
  display: block !important;
  width: fit-content !important;
  margin-left: auto !important;
  margin-right: auto !important;
}





/* ===== EF — CTA BAR (clean) ===== */
.ef-cta-bar{
  background:#000;
  color:#fff;
  padding: 34px 0;
}

.ef-cta-bar .ef-cta-inner{
  max-width:1240px;
  margin:0 auto;
  padding:0 32px;
}

/* Layout desktop */
.ef-cta-bar .vc_row{
  display:flex;
  align-items:center;                 /* ✅ align vertical texte/bouton */
  justify-content:space-between;
  gap:28px;
}

/* WPBakery wrappers */
.ef-cta-bar .wpb_column,
.ef-cta-bar .wpb_wrapper{
  display:flex;
  align-items:center;
}

/* Enlever les marges par défaut qui décalent l'alignement */
.ef-cta-bar .wpb_text_column,
.ef-cta-bar .wpb_text_column p,
.ef-cta-bar h1,
.ef-cta-bar h2,
.ef-cta-bar h3{
  margin:0 !important;
}

/* Texte */
.ef-cta-bar .ef-cta-text{
  display:block;
  font-size:34px;
  line-height:1.28;
  font-weight:500;
}

/* Soulignement "24h" */
.ef-cta-bar .ef-cta-text u{
  text-decoration-thickness:2px;
  text-underline-offset:6px;
}

/* Bouton */
.ef-cta-bar .ef-cta-btn{
  margin-left:auto;                   /* pousse bien à droite */
}

.ef-cta-bar .ef-cta-btn a,
.ef-cta-bar a.ef-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 26px;
  min-height:56px;                    /* rendu plus stable */
  border:2px solid #fff;
  border-radius:999px;
  color:#fff;
  background:transparent;
  text-decoration:none;
  font-weight:600;
  white-space:nowrap;
  line-height:1;                      /* optique : centre mieux le texte */
}

/* =========================================
   EF — Search bar Tours : bouton rectangulaire
   (ne pas hériter du pill global)
   ========================================= */

.qodef-tours-filter-submit-field-holder .qodef-btn,
.qodef-tours-filter-submit-field-holder input[type="submit"]{
  border-radius: 0px !important;   /* ou 6px / 0 selon ton goût */
  background:#000000;
}


.ef-cta-bar .ef-cta-btn a:hover,
.ef-cta-bar a.ef-cta-btn:hover{
  background:#fff;
  color:#000;
}

/* ===== Mobile ===== */
@media (max-width:768px){
  .ef-cta-bar{ padding: 22px 0; }
  .ef-cta-bar .ef-cta-inner{ padding:0 18px; }

  .ef-cta-bar .vc_row{
    flex-direction:column;
    align-items:stretch;
    gap:14px;
  }

  .ef-cta-bar .ef-cta-text{
    font-size:22px;
    line-height:1.25;
  }

  .ef-cta-bar .ef-cta-btn a,
  .ef-cta-bar a.ef-cta-btn{
    width:100%;
  }
}


@media (min-width:1024px){
  .ef-cta-bar .ef-cta-inner{
    padding-left:100px;
    padding-right:32px;
  }
}

@media (max-width:768px){
  .ef-cta-bar .ef-cta-btn{
    margin-top: 20px;   /* ajuste entre 16 et 28px selon ton goût */
  }
}





/* ===== GLOBAL — Boutons ronds ===== */
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
a.button,
.vc_btn3,
.qodef-btn,
.wp-block-button__link{
  border-radius: 999px !important;
}










/* =========================================================
   EF — DESTINATIONS (Qode Tours) — tiles carrées arrondies
   Image plein bloc + titre centré (sans cercle)
   ========================================================= */

.qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-content{
  position: relative !important;
  border-radius: 28px !important;
  overflow: hidden !important;
}

/* ratio carré (tu peux mettre 75% si tu veux plus rectangle) */
.qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-content::before{
  content: "" !important;
  display: block !important;
  padding-top: 100% !important; /* 100% = carré ; 75% = 4/3 */
}

/* image plein bloc */
.qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-image{
  position: absolute !important;
  inset: 0 !important;
  border-radius: 0 !important;
  clip-path: none !important;
  mask: none !important;
  -webkit-mask-image: none !important;
}

.qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-image img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}

/* kill du cercle/overlay du thème (sans casser la structure) */
.qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-content:after,
.qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-image:before,
.qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-image:after{
  opacity: 0 !important;
  background: none !important;
  background-image: none !important;
}

/* lien cliquable plein bloc */
.qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-content-link{
  position: absolute !important;
  inset: 0 !important;
  z-index: 5 !important;
}

/* overlay texte centré */
.qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-text{
  position: absolute !important;
  inset: 0 !important;
  z-index: 4 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 18px !important;
}

/* voile léger pour lisibilité */
.qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-text::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background: linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.35)) !important;
  z-index: 0 !important;
}

.qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-text-inner{
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
}

/* IMPORTANT : annuler le table-cell du thème */
.qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-title{
  display: block !important;
  height: auto !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  vertical-align: baseline !important;
  font-family: 'OwlSight', serif !important;
  color: #fff !important;
  text-align: center !important;
  font-weight: 500 !important;
  font-size: clamp(22px, 2vw, 34px) !important;
  line-height: 1.1 !important;
}

/* ===== EF — DESTINATIONS : centrage vertical réel (kill table layout Qode) ===== */

/* on enlève la table */
.qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-text-inner{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
  width: 100% !important;
}

/* on enlève le table-cell */
.qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-title{
  display: block !important;
  height: auto !important;
  width: auto !important;
  padding: 0 !important; /* on retire le padding 0 20px du thème */
}

/* option : si tu veux le titre un peu plus bas/haut “à l’œil” */
.qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-text{
  padding: 0 18px !important; /* au lieu de 18px partout */
}


/* ===== EF — DESTINATIONS : recentrer optiquement (anti-décalage) ===== */

/* on enlève les paddings qui biaisent le centre */
.qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-text{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-title{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* on met le padding sur le conteneur, centré */
.qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-text-inner{
  padding: 0 18px !important;
  box-sizing: border-box !important;
}





/* =========================================================
   EF — Sticker strip (bigger + “collé” rotations + snap mobile)
   Remplace tout ton bloc actuel par celui-ci
   ========================================================= */

/* =========================================================
   EF — Stickers : 8 visibles desktop + no distortion + snap
   ========================================================= */

/* =========================================================
   EF — Stickers : 6 visibles desktop + no distortion + snap
   ========================================================= */

.ef-sticker-strip{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 18px;
  padding: 18px 0;

  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;

  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.ef-sticker-strip::-webkit-scrollbar{ display:none; }

/* ===== DESKTOP : 6 visibles ===== */
.ef-sticker{
  flex: 0 0 calc((100% - (5 * 18px)) / 6); /* 6 items */
  max-width: 200px;                       /* taille confortable */
  min-width: 150px;

  display:flex;
  align-items:center;
  justify-content:center;

  scroll-snap-align: start;
  text-decoration:none;
  border-radius: 18px;

  transform-origin:center;
  transition: transform .18s ease, filter .18s ease;
  will-change: transform;
}

/* Anti-déformation */
.ef-sticker img{
  width: 100%;
  height: 130px;          /* + grand = plus impact visuel */
  object-fit: contain;
  display:block;
}

/* Rotations “collé à la main” */
.ef-sticker:nth-child(4n+1){ transform: rotate(-1.8deg); }
.ef-sticker:nth-child(4n+2){ transform: rotate( 1.4deg); }
.ef-sticker:nth-child(4n+3){ transform: rotate(-1.1deg); }
.ef-sticker:nth-child(4n){   transform: rotate( 2.1deg); }

/* Hover */
@media (hover:hover){
  .ef-sticker:hover{
    transform: rotate(0deg) translateY(-4px);
    filter: drop-shadow(0 14px 22px rgba(0,0,0,.25));
  }
}

/* ===== GRAND DESKTOP ===== */
@media (min-width: 1440px){
  .ef-sticker img{ height: 140px; }
}

/* ===== TABLETTE : 4 visibles ===== */
@media (max-width: 1024px){
  .ef-sticker{
    flex-basis: calc((100% - (3 * 16px)) / 4);
  }
  .ef-sticker img{ height: 110px; }
  .ef-sticker-strip{ gap: 16px; }
}

/* ===== MOBILE : slider naturel ===== */
@media (max-width: 768px){
  .ef-sticker-strip{
    justify-content:flex-start;
    padding: 14px 16px;
  }
  .ef-sticker{
    flex-basis: 60vw;     /* ~1,6–2 visibles */
    max-width: 260px;
    scroll-snap-align: center;
  }
  .ef-sticker img{ height: 100px; }
}

@media (max-width: 390px){
  .ef-sticker{
    flex-basis: 72vw;
  }
  .ef-sticker img{ height: 92px; }
}


/* ===== MOBILE – stickers plus serrés ===== */
@media (max-width: 768px){
  .ef-sticker-strip{
    gap: 0px;                 /* ← réduit fortement l’espace */
    padding: 0px 0px;       /* ← moins d’air sur les côtés */
  }

  .ef-sticker{
    flex: 0 0 240px;          /* ← largeur contrôlée */
    max-width: 240px;
    scroll-snap-align: start;
  }

  .ef-sticker img{
    height: 96px;             /* garde l’impact visuel */
  }
}

/* Petits mobiles */
@media (max-width: 390px){
  .ef-sticker{
    flex: 0 0 210px;
    max-width: 210px;
  }

  .ef-sticker img{
    height: 88px;
  }
}


@media (max-width: 768px){
  .ef-sticker{
    flex: 0 0 220px;
    max-width: 220px;
    padding: 8px 8px;
  }
  .ef-sticker img{
    height: 96px;
    transform: scale(1.10);
  }
}







/* =========================================================
   EF — HERO TOUR (centrage sans casser la carte)
   ========================================================= */

.ef-hero-moment{
  position: relative;
  min-height: 720px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 70px 16px;
  text-align:center;
}

/* voile léger */
.ef-hero-moment:before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.25);
  pointer-events:none;
}

.ef-hero-moment > *{
  position: relative;
  z-index: 2;
}

/* === CENTRAGE DU MODULE === */
.ef-hero-tour{
  display:flex;
  justify-content:center;
}

/* on ne touche PAS au style interne de la card */
.ef-hero-tour .qodef-tours-list-holder{
  width: auto;
}

/* halo autour de la carte (wrapper visuel uniquement) */
.ef-hero-tour .qodef-tours-list-holder:before{
  content:"";
  position:absolute;
  width: 520px;
  height: 520px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  filter: blur(18px);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -45%);
  z-index: 0;
  pointer-events:none;
}

/* remet la carte au-dessus du halo */
.ef-hero-tour .qodef-tours-list-item{
  position: relative;
  z-index: 2;
}

/* Mobile */
@media (max-width: 768px){
  .ef-hero-moment{
    min-height: 560px;
    padding: 48px 14px;
  }
  .ef-hero-tour .qodef-tours-list-holder:before{
    width: 380px;
    height: 380px;
  }
}

/* =========================================================
   EF — HERO TOUR : centrer quand il y a moins d'items que "5 visibles"
   (Qode / SetSail Tours Carousel - Owl)
   ========================================================= */

/* =========================================================
   EF — Tours Carousel : centrer quand il n’y a qu’1 (ou peu) item
   Qode / SetSail (souvent Owl Carousel)
   ========================================================= */

/* 1) Forcer le carousel à être full width */
.ef-hero-tour,
.ef-hero-tour .qodef-tours-list-holder,
.ef-hero-tour .qodef-tours-list-holder-inner,
.ef-hero-tour .qodef-owl-slider,
.ef-hero-tour .owl-carousel,
.ef-hero-tour .owl-stage-outer{
  width: 100% !important;
}

/* 2) Le “rail” doit faire 100% pour que le centrage marche */
.ef-hero-tour .owl-stage{
  width: 100% !important;
  min-width: 100% !important;
  display: flex !important;
  justify-content: center !important;
}

/* 3) Les items ne doivent pas flotter ni s’étirer */
.ef-hero-tour .owl-item{
  float: none !important;
  flex: 0 0 auto !important;
}

/* 4) Qode met parfois les items en 20% (5 colonnes) : on neutralise */
@media (max-width: 768px){
  .ef-hero-tour .owl-item{
    width: 100% !important;
  }

  .ef-hero-tour .qodef-tours-list-item,
  .ef-hero-tour .qodef-tours-standard-item{
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* 5) (Optionnel) si tu veux une largeur fixe/élégante pour la carte en hero */
@media (min-width: 1025px){
  .ef-hero-tour .qodef-tours-list-item{
    max-width: 520px !important; /* ajuste si tu veux */
  }
}








/* =========================================================
   EF — GLOBAL BACKGROUND + HEADER (SetSail)
   Objectif :
   - Remplacer les fonds transparents du header/top-bar/mobile par #F6F1E5
   - Supprimer le turquoise SetSail (#3abdc1 / #3fd0d4) sur WPML + compte
   - Forcer l'opacité (SetSail met souvent des overlays / transparency)
   ========================================================= */

:root{
  --ef-bg: #F6F1E5;
  --ef-text: #111111;
  --ef-border: rgba(0,0,0,.10);
}



/* =========================================================
   HEADER DESKTOP — enlever transparence / overlay
   ========================================================= */

/* Force un fond opaque partout sur le header + top bar */
.qodef-page-header,
.qodef-page-header-inner,
.qodef-page-header .qodef-grid,
.qodef-top-bar,
.qodef-top-bar-inner{
  background-color: var(--ef-bg) !important;
  opacity: 1 !important;
}

/* Supprime les pseudo-overlays qui rendent "transparent" */
.qodef-page-header:before,
.qodef-page-header:after,
.qodef-page-header-inner:before,
.qodef-page-header-inner:after,
.qodef-top-bar:before,
.qodef-top-bar:after,
.qodef-top-bar-inner:before,
.qodef-top-bar-inner:after{
  content: none !important;
  display: none !important;
}

/* Si le header est en overlay absolu sur le slider, on le remet "dans le flux" */
.qodef-page-header{
  position: relative !important;
}

/* Petite séparation propre */
.qodef-page-header{
  border-bottom: 1px solid var(--ef-border) !important;
}

/* Menus / liens header */
.qodef-main-menu > ul > li > a,
.qodef-top-bar a,
.qodef-top-bar span,
.qodef-page-header a,
.qodef-page-header span{
  color: var(--ef-text) !important;
}

/* Icônes header */
.qodef-top-bar i,
.qodef-page-header i,
.qodef-page-header .qodef-icon-font-elegant,
.qodef-page-header .qodef-icon-font-awesome{
  color: var(--ef-text) !important;
}

/* =========================================================
   HEADER MOBILE
   ========================================================= */
.qodef-mobile-header,
.qodef-mobile-header .qodef-mobile-header-inner{
  background-color: var(--ef-bg) !important;
  opacity: 1 !important;
  border-bottom: 1px solid var(--ef-border) !important;
}

/* =========================================================
   WPML — switch langue (supprimer turquoise)
   ========================================================= */

/* Bouton de langue (toggle) */
.qodef-top-bar .widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown .wpml-ls-item-toggle,
.qodef-top-bar .widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown-click .wpml-ls-item-toggle{
  background-color: var(--ef-bg) !important;
  color: var(--ef-text) !important;
  border: 1px solid var(--ef-border) !important;
  text-indent: 0 !important;  /* évite le décalage -6px */
}

/* Sous-menu langues */
.widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown .wpml-ls-sub-menu,
.widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu{
  background-color: var(--ef-bg) !important;
  border: 1px solid var(--ef-border) !important;
}

/* Items langues */
.widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown .wpml-ls-sub-menu a,
.widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu a{
  color: var(--ef-text) !important;
}

/* Hover langues */
.widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown .wpml-ls-sub-menu a:hover,
.widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu a:hover{
  background-color: rgba(0,0,0,.04) !important;
}

/* =========================================================
   COMPTE / PROFIL — supprimer turquoise
   ========================================================= */
.qodef-login-register-widget.qodef-user-logged-in .qodef-logged-in-user .qodef-logged-in-user-inner{
  background-color: var(--ef-bg) !important;
  color: var(--ef-text) !important;
}

.qodef-top-bar .qodef-login-register-widget.qodef-user-logged-in .qodef-login-dropdown{
  background-color: var(--ef-bg) !important;
  border: 1px solid var(--ef-border) !important;
}

/* Liens dropdown compte */
.qodef-login-register-widget .qodef-login-dropdown a,
.qodef-login-register-widget .qodef-login-dropdown span{
  color: var(--ef-text) !important;
}

/* Hover dropdown compte */
.qodef-login-register-widget .qodef-login-dropdown a:hover{
  background-color: rgba(0,0,0,.04) !important;
}

/* =========================================================
   Cas particulier : éléments SetSail qui "forcent" du transparent
   ========================================================= */
.qodef-page-header *,
.qodef-top-bar *{
  background-color: transparent; /* on évite des blocs internes blancs */
}

/* On remet le fond sur les conteneurs principaux (au-dessus) */
.qodef-page-header,
.qodef-page-header-inner,
.qodef-top-bar,
.qodef-top-bar-inner{
  background-color: var(--ef-bg) !important;
}

/* =========================================================
   FIN
   ========================================================= */





   .ef-mega-title{
  font-family:'OwlSight', serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:rgba(0,0,0,.45);

  margin-bottom:14px;
}







/* ===== EF : Mega menu Destinations en pleine page ===== */


/* 1) Fix colonnes (indispensable) 
.qodef-drop-down .wide.left_position .second ul li,
.qodef-drop-down .wide.right_position .second ul li{
  width: auto !important;
}
*/

/* =========================================================
   EF — Mega menu : empêcher SetSail de restyler les liens
   ========================================================= */

/* 1) On neutralise les styles "liens de menu" sur notre zone */
.qodef-drop-down .ef-mega-vc a{
  display: inline;
  padding: 0 !important;
  margin: 0;
  background: transparent !important;
  text-transform: none !important;
  letter-spacing: inherit !important;
  line-height: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

/* 2) On force le style des pastilles (comme sur la page modèle) */
.qodef-drop-down .ef-mega-vc a.ef-pill{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;

  border-radius: 999px;
  border: 3px solid var(--c);
  background: #fff !important;

  font-family: 'OwlSight', serif;
  font-weight: 700 !important;
  font-size: 19px !important;
  line-height: 1.05 !important;
  letter-spacing: 0.03em;

  padding: 8px 15px !important;
  white-space: nowrap;
}

/* 3) Confort : enlever les effets "liste/menu" dans ta zone */
.qodef-drop-down .ef-mega-vc ul,
.qodef-drop-down .ef-mega-vc li{
  list-style: none;
  margin: 0;
  padding: 0;
}

/* 4) Optionnel : donner une vraie “boîte” au mega menu */
.qodef-drop-down .ef-mega-vc{
  max-width: var(--ef-mega-max, 1400px);
  padding: var(--ef-mega-pad, 32px);
}







/* =========================================================
   EF — Mega menu : largeur utile (robuste)
   ========================================================= */

/* Le widget dans le menu ne doit pas brider la largeur */
.qodef-drop-down .widget.widget_text,
.qodef-drop-down .widget.widget_text .textwidget{
  width: auto !important;
  max-width: none !important;
}

/* Ton mega wrapper : largeur maxi + largeur fluide */
.qodef-drop-down .ef-mega-vc{
  width: min(var(--ef-mega-max, 1400px), calc(100vw - 80px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: var(--ef-mega-pad, 32px) !important;
  display: block;
}

/* WPBakery : éviter que les colonnes soient “étriquées” par des marges/gutters */
.qodef-drop-down .ef-mega-vc .vc_row{
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.qodef-drop-down .ef-mega-vc .vc_column_container{
  padding-left: 0 !important;
  padding-right: 0 !important;
}








/* =========================================================
   EF — Mega menu : garde le -100px UNIQUEMENT en très large
   ========================================================= */

/* Par défaut (tablette + laptop + desktop “normal”) : pas de décalage */
.qodef-drop-down .ef-mega-vc .vc_row{
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Très large écran uniquement : ton réglage qui “marche bien” */
@media (min-width: 1440px){
  .qodef-drop-down .ef-mega-vc .vc_row{
    margin-left: -100px !important;
  }
}







/* =========================================
   EF — Accent cuivre premium (SetSail)
   ========================================= */

/* Prix */
.qodef-tour-item-single-holder 
.qodef-tour-item-section.qodef-information-section 
.qodef-tour-item-price{
  font-size: 30px;
  line-height: 1.2em;
  font-weight: 600;
  letter-spacing: -.05em;
  color: #b57b39;
}



/* Bloc formulaire (fond) */
.qodef-tours-booking-form-holder{
  position: relative;
  width: 100%;
  margin: 0 0 30px;
  background-color: #b57b39;
  box-sizing: border-box;
}

/* Champs formulaire */
.qodef-tours-booking-form-holder 
.qodef-boxed-widget 
#qodef-tour-booking-form input[type=number],
.qodef-tours-booking-form-holder 
.qodef-boxed-widget 
#qodef-tour-booking-form input[type=text],
.qodef-tours-booking-form-holder 
.qodef-boxed-widget 
#qodef-tour-booking-form textarea{
  background-color: #e6d2b8;
  color: #1a1a1a;
}

/* Boutons */
.qodef-tours-booking-form-holder 
.qodef-tours-check-availability,
.qodef-tours-booking-form-holder 
input[type=submit]{
  color: #ffffff;
  background-color: #1a1a1a;
  text-align: center;
  width: 100%;
  margin: 0 0 5px;
  padding: 22px 12px;
  border: 0;
}

/* Hover boutons */
.qodef-tours-booking-form-holder 
.qodef-tours-check-availability:hover,
.qodef-tours-booking-form-holder 
input[type=submit]:hover{
  background-color: #000000;
}



/* 2) Étoiles avis */
.qodef-tour-item-single-holder
.qodef-tour-item-section.qodef-information-section
.qodef-reviews-list-info .qodef-stars{
  color: #b57b39 !important;
}

/* 3) Bouton login (top bar) */
.qodef-top-bar .qodef-login-register-widget.qodef-user-not-logged-in{
  background-color: #111111 !important; /* ou #b57b39 si tu veux accent */
}


/* =========================================
   EF — Fix définitif icône login top bar
   ========================================= */

.qodef-top-bar 
.qodef-login-register-widget.qodef-user-not-logged-in 
a.qodef-login-opener{
  color: #ffffff !important; /* ou #b57b39 */
}

/* Sécurité absolue pour le SVG */
.qodef-top-bar 
.qodef-login-register-widget.qodef-user-not-logged-in 
a.qodef-login-opener svg,
.qodef-top-bar 
.qodef-login-register-widget.qodef-user-not-logged-in 
a.qodef-login-opener svg path{
  fill: currentColor !important;
}


/* =========================================
   EF — Route / Tour plan : remplacer #3fd0d4
   ========================================= */

/* Pastille Jour (route-id) */
.qodef-tour-item-single-holder
.qodef-tour-item-section
.qodef-route-top-holder
.qodef-route-id
.qodef-route-id-inner{
  background-color: #b57b39 !important;
  color: #ffffff !important;
}

/* Ligne pointillée entre icônes */
.qodef-tour-item-single-holder
.qodef-tour-item-section
.qodef-route-top-holder
.qodef-line-between-icons-inner{
  border-right-color: #b57b39 !important;
}


/* =========================================
   EF — Boutons fond cuivre
   ========================================= */

.qodef-btn,
.qodef-btn.qodef-btn-solid,
.qodef-btn.qodef-btn-outline,
button,
input[type="submit"]{
  background-color: #b57b39 !important;
  border-color: #b57b39 !important;
  color: #ffffff !important;
}

/* Hover (plus sombre = premium) */
.qodef-btn:hover,
button:hover,
input[type="submit"]:hover{
  background-color: #8f5f2d !important; /* cuivre plus profond */
  border-color: #8f5f2d !important;
  color: #ffffff !important;
}





/* =========================================================
   EF — TOURS SEARCH (page recherche) : kill turquoise
   ========================================================= */

/* 1) Le gros bloc turquoise (sidebar search widget) */
.qodef-tours-search-page-holder .qodef-boxed-widget.qodef-tours-search-main-filters-holder,
.qodef-boxed-widget.qodef-tours-search-main-filters-holder{
  background-color: #b57b39 !important;
  border-color: #b57b39 !important;
  color: #ffffff !important;
}

/* 2) Champs dans le bloc (souvent turquoise clair) */
.qodef-tours-search-main-filters-holder input[type="text"],
.qodef-tours-search-main-filters-holder input[type="search"],
.qodef-tours-search-main-filters-holder input[type="number"],
.qodef-tours-search-main-filters-holder select,
.qodef-tours-search-main-filters-holder textarea{
  background-color: #e6d2b8 !important;
  color: #111111 !important;
  border-color: rgba(0,0,0,.18) !important;
}

/* 3) Titres/labels dans le widget */
.qodef-tours-search-main-filters-holder h4,
.qodef-tours-search-main-filters-holder label,
.qodef-tours-search-main-filters-holder .qodef-widget-title,
.qodef-tours-search-main-filters-holder *{
  color: #ffffff !important;
}

/* 4) Bouton search dans le widget */
.qodef-tours-search-main-filters-holder .qodef-btn,
.qodef-tours-search-main-filters-holder input[type="submit"]{
  background-color: #111111 !important;
  border-color: #111111 !important;
  color: #ffffff !important;
}
.qodef-tours-search-main-filters-holder .qodef-btn:hover,
.qodef-tours-search-main-filters-holder input[type="submit"]:hover{
  background-color: #000000 !important;
  border-color: #000000 !important;
}

/* 5) Tri/ordering (date, price, name…) */
.qodef-search-ordering-holder .qodef-search-ordering-list li.qodef-search-ordering-item-active a,
.qodef-search-ordering-holder .qodef-search-ordering-list li.active a{
  color: #b57b39 !important;
  background-color: #ffffff !important;
  border-color: #ffffff !important;
}

/* Hover des items de tri */
.qodef-search-ordering-holder .qodef-search-ordering-list li a:hover{
  color: #b57b39 !important;
}












/* =========================================================
   EF / Contact Form 7 – Form Sur-mesure (FINAL CLEAN)
   Compatible SetSail – sans doublons – stable
   ========================================================= */

.wpcf7,
.wpcf7 form{
  width:100%;
}

/* ---------------------------------------------------------
   RESET / BASE
--------------------------------------------------------- */
.wpcf7 .ef-form-card,
.wpcf7 .ef-form-card *{
  box-sizing:border-box;
}

.wpcf7 .ef-form-card p{ display:contents; }
.wpcf7 .ef-form-card br{ display:none; }
.wpcf7 .ef-form-card .wpcf7-form-control-wrap{
  display:block;
  position:relative;
}

/* Forcer la lisibilité (évite héritage SetSail) */
.wpcf7 .ef-form-card,
.wpcf7 .ef-form-card input,
.wpcf7 .ef-form-card select,
.wpcf7 .ef-form-card textarea{
  color:#111 !important;
  -webkit-text-fill-color:#111 !important;
}

.wpcf7 .ef-form-card ::placeholder{
  color:rgba(0,0,0,.45);
}

/* ---------------------------------------------------------
   CARTE
--------------------------------------------------------- */
.wpcf7 .ef-form-card{
  max-width:1180px;
  margin:24px auto 0;
  background:#fff;
  border-radius:18px;
  box-shadow:0 18px 40px rgba(0,0,0,.10);
  overflow:hidden;
}

/* ---------------------------------------------------------
   GRID
--------------------------------------------------------- */
.wpcf7 .ef-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-bottom:1px solid rgba(0,0,0,.08);
}

.wpcf7 .ef-form-section{
  padding:28px 32px;
}

.wpcf7 .ef-form-section:first-child{
  border-right:1px solid rgba(0,0,0,.08);
}

/* ---------------------------------------------------------
   TITRES
--------------------------------------------------------- */
.wpcf7 .ef-form-section-title{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}

.wpcf7 .ef-form-section-title h3{
  margin:0;
  font-family:'OwlSight', serif;
  font-size:22px;
  line-height:1.1;
  color:#111;
}

.wpcf7 .ef-ico{
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.14);
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
}

/* ---------------------------------------------------------
   CHAMPS
--------------------------------------------------------- */
.wpcf7 .ef-field{
  margin:14px 0 16px;
}

.wpcf7 .ef-field label{
  display:block;
  font-size:12px;
  font-weight:600;
  margin-bottom:8px;
  color:rgba(0,0,0,.72);
}

/* Inputs ligne */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="date"],
.wpcf7 input[type="number"]{
  width:100%;
  border:0;
  border-bottom:2px solid rgba(0,0,0,.18);
  padding:10px 2px 12px;
  background:transparent;
  font-size:15px;
}

/* ---------------------------------------------------------
   SELECT (visible + flèche)
--------------------------------------------------------- */
.wpcf7 select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  width:100%;
  background:rgba(0,0,0,.03);
  border:2px solid rgba(0,0,0,.12);
  border-radius:12px;
  padding:12px 42px 12px 12px;
  font-size:15px;
  cursor:pointer;
}

.wpcf7 .wpcf7-form-control-wrap:has(select)::after{
  content:"";
  position:absolute;
  right:14px;
  top:50%;
  width:10px;
  height:10px;
  border-right:2px solid rgba(0,0,0,.45);
  border-bottom:2px solid rgba(0,0,0,.45);
  transform:translateY(-65%) rotate(45deg);
  pointer-events:none;
}

/* Fallback sans :has */
@supports not selector(:has(*)){
  .wpcf7 select{
    background-image:
      linear-gradient(45deg, transparent 50%, rgba(0,0,0,.45) 50%),
      linear-gradient(135deg, rgba(0,0,0,.45) 50%, transparent 50%);
    background-position:
      calc(100% - 18px) calc(50% - 2px),
      calc(100% - 12px) calc(50% - 2px);
    background-size:6px 6px;
    background-repeat:no-repeat;
  }
}

/* ---------------------------------------------------------
   FOCUS
--------------------------------------------------------- */
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus{
  outline:none;
  border-color:#b57b39;
  box-shadow:0 0 0 4px rgba(181,123,57,.15);
}

/* ---------------------------------------------------------
   LIGNES MULTI-COL
--------------------------------------------------------- */
.wpcf7 .ef-inline-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.wpcf7 .ef-inline-3{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:18px;
}

/* ---------------------------------------------------------
   STEPPERS
--------------------------------------------------------- */
.wpcf7 .ef-stepper{
  display:flex;
  align-items:center;
  gap:10px;
}

.wpcf7 .ef-step{
  width:30px;
  height:30px;
  border-radius:999px;
  border:2px solid rgba(0,0,0,.18);
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.wpcf7 .ef-stepper input[type="number"]{
  width:60px;
  text-align:center;
  border:0;
  border-bottom:2px solid rgba(0,0,0,.18);
  background:transparent;
}

/* Désactiver steppers navigateur */
.wpcf7 input[type=number]::-webkit-inner-spin-button,
.wpcf7 input[type=number]::-webkit-outer-spin-button{
  -webkit-appearance:none;
}
.wpcf7 input[type=number]{ -moz-appearance:textfield; }

/* ---------------------------------------------------------
   RANGE
--------------------------------------------------------- */
.wpcf7 input[type="range"]{
  width:100%;
  margin-top:8px;
  accent-color:#111;
}

/* ---------------------------------------------------------
   MESSAGE
--------------------------------------------------------- */
.wpcf7 .ef-form-message{
  padding:22px 32px 28px;
}

.wpcf7 textarea{
  width:100%;
  border:2px solid rgba(0,0,0,.14);
  border-radius:14px;
  padding:14px 16px;
  min-height:130px;
  resize:vertical;
  background:#fff;
}

/* ---------------------------------------------------------
   CONSENT (checkbox simple)
--------------------------------------------------------- */
.wpcf7 .ef-consent{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:13px;
  color:rgba(0,0,0,.75);
  margin:14px 0 18px;
}

.wpcf7 .ef-consent .wpcf7-list-item{ margin:0; }

.wpcf7 .ef-consent input[type="checkbox"]{
  width:18px;
  height:18px;
  accent-color:#111;
  cursor:pointer;
}

/* ---------------------------------------------------------
   SUBMIT (FIX noir sur noir)
--------------------------------------------------------- */
.wpcf7 input.ef-submit{
  display:block;
  margin:0 auto;
  min-width:320px;
  height:44px;
  background:#111 !important;
  border:2px solid #111 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-radius:999px;
  font-weight:600;
  letter-spacing:.02em;
  cursor:pointer;
}

.wpcf7 input.ef-submit:hover{
  background:#8f5f2d !important;
  border-color:#8f5f2d !important;
  color:#fff !important;
}

/* ---------------------------------------------------------
   RESPONSIVE
--------------------------------------------------------- */
@media(max-width:900px){
  .wpcf7 .ef-form-grid{ grid-template-columns:1fr; }
  .wpcf7 .ef-form-section:first-child{
    border-right:0;
    border-bottom:1px solid rgba(0,0,0,.08);
  }
  .wpcf7 .ef-inline-2,
  .wpcf7 .ef-inline-3{
    grid-template-columns:1fr;
  }
  .wpcf7 input.ef-submit{
    width:100%;
    min-width:0;
  }
}

/* =========================================================
   FIX – Centrage parfait du texte du bouton CF7
   ========================================================= */

.wpcf7 input.ef-submit{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0 !important;          /* on neutralise les paddings hérités */
  line-height: 1 !important;      /* empêche le décalage vertical */
  text-align: center !important;
}




/* =========================================================
   EF — Destination page : remplacer le turquoise
   (Good to Know + bloc formulaire)
   ========================================================= */

/* 1) Good to Know */
.vc_custom_1540912524273{
  background-color: #014639 !important; /* ton accent */
}

/* Si le thème réinjecte encore du #3fd0d4 sur des enfants */
.vc_custom_1540912524273 *{
  border-color: rgba(255,255,255,.35);
}

/* 2) Bloc "Leave a Reply" + CF7 */
.vc_custom_1536833489410{
  background-color: #014639 !important;
}

/* 3) Boutons dans ces zones (newsletter / CF7 etc.) */
.vc_custom_1540912524273 .qodef-btn,
.vc_custom_1536833489410 .qodef-btn,
.vc_custom_1536833489410 .wpcf7-submit{
  background-color: #caa15a !important; /* option : ton doré */
  border-color: transparent !important;
  color: #fff !important;
}

/* Hover */
.vc_custom_1540912524273 .qodef-btn:hover,
.vc_custom_1536833489410 .qodef-btn:hover,
.vc_custom_1536833489410 .wpcf7-submit:hover{
  filter: brightness(0.95);
}









/* =========================================================
   EF — TOURS CARDS (SetSail) — MAQUETTE (GLOBAL)
   (ton bloc home)
   ========================================================= */

/* Carte = repère du absolute */
.qodef-tours-standard-item .qodef-tour-standard-item-holder{
  position:relative;
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,.08);
  background:#fff;
}

/* Image */
.qodef-tours-standard-item .qodef-tours-standard-item-image-holder{
  position:relative;
}
.qodef-tours-standard-item .qodef-tours-standard-item-image-holder img{
  display:block;
  width:100%;
  height:520px;
  object-fit:cover;
}

/* Overlay plein cadre */
.qodef-tours-standard-item .qodef-tours-standard-item-content-holder{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:18px 18px 22px;
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,.18) 0%,
    rgba(0,0,0,.04) 45%,
    rgba(0,0,0,.70) 100%
  ) !important;
  pointer-events:none;
}

/* Neutralise les fonds natifs */
.qodef-tours-standard-item .qodef-tours-standard-item-top-content,
.qodef-tours-standard-item .qodef-tours-standard-item-top-item,
.qodef-tours-standard-item .qodef-tours-list-item-top-item,
.qodef-tours-standard-item .qodef-tours-standard-item-content-inner,
.qodef-tours-standard-item .qodef-tours-standard-item-title-holder,
.qodef-tours-standard-item .qodef-tours-standard-item-price-and-rating-holder{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}

.qodef-tours-standard-item .qodef-tours-standard-item-content-inner{
  padding:0 !important;
  margin:0 !important;
}

/* Top bar */
.qodef-tours-standard-item .qodef-tours-standard-item-top-content{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

/* Tag top-left */
.qodef-tours-standard-item .qodef-tours-tour-categories-holder{
  display:flex !important;
  flex-direction: column !important;
  align-items:flex-start !important;
  gap: 8px !important;
  max-width: 60% !important;
}
.qodef-tours-standard-item .qodef-tours-tour-categories-item{
  float:none !important;
  width:auto !important;
  margin:0 !important;
}
.qodef-tours-standard-item .qodef-tours-tour-categories-item a{
  pointer-events:auto;
  display:inline-flex !important;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.75);
  background:rgba(255,255,255,.10);
  color:#fff;
  font-size:13px;
  line-height:1;
  text-decoration:none;
  backdrop-filter:blur(8px);
  white-space: nowrap !important;
}
.qodef-tours-standard-item .qodef-tour-cat-item-icon{ display:none !important; }

/* Prix top-right */
.qodef-tours-standard-item .qodef-tours-standard-item-price-and-rating-holder{
  position:absolute !important;
  top:18px;
  right:18px;
  margin:0 !important;
  padding:0 !important;
  text-align:right;
  z-index:10;
}
.qodef-tours-standard-item .qodef-tours-item-price-holder::before{
  content:"À partir de";
  display:block;
  font-size:15px;
  font-weight:600;
  margin-bottom:6px;
  opacity:.95;
  color:#fff !important;
}
.qodef-tours-standard-item .qodef-tours-item-price{
  color:#fff !important;
  font-size:34px;
  font-weight:800;
  letter-spacing:-0.01em;
  line-height:1;
  text-shadow:0 10px 30px rgba(0,0,0,.35);
}

/* Bottom stack */
.qodef-tours-standard-item .qodef-tours-standard-item-content-inner{
  margin-top:auto;
  pointer-events:none;
}
.qodef-tours-standard-item .qodef-tour-title{
  margin:0;
  font-family:'OwlSight', serif;
  font-size:40px;
  line-height:1.05;
  letter-spacing:0.015em;
  text-shadow:0 12px 32px rgba(0,0,0,.28);
}
.qodef-tours-standard-item .qodef-tour-title,
.qodef-tours-standard-item .qodef-tour-title a{
  color:#fff;
  text-decoration:none;
}
.qodef-tours-standard-item .qodef-tours-standard-item-excerpt{
  display:block !important;
  margin-top:10px;
  color:rgba(255,255,255,.92);
  font-size:14px;
  line-height:1.2;
  letter-spacing:0.03em;
  text-shadow:0 10px 24px rgba(0,0,0,.25);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* IMPORTANT : on empêche l’overlay de bloquer le clic… */
.qodef-tours-standard-item .qodef-tours-standard-item-content-holder *{ pointer-events:none; }
/* …mais on réactive les tags */
.qodef-tours-standard-item .qodef-tours-tour-categories-item a{ pointer-events:auto; }



/* =========================================================
   EF — REGION CAROUSEL scroll horizontal corrigé
   ========================================================= */

.ef-region-carousel-block{
  margin: 18px 0 46px;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.ef-region-carousel-title{
  margin: 0 0 18px;
}

.ef-region-carousel-block .ef-region-carousel{
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 22px !important;

  width: 100% !important;
  max-width: 100% !important;

  overflow-x: auto !important;
  overflow-y: hidden !important;

  margin: 0 !important;
  padding: 6px 2px 18px !important;

  transform: none !important;
  left: auto !important;
  right: auto !important;

  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
}

.ef-region-carousel-block .ef-region-carousel > .qodef-tours-standard-item{
  flex: 0 0 360px !important;
  width: 360px !important;
  max-width: 360px !important;
  min-width: 360px !important;

  margin: 0 !important;
  float: none !important;
  scroll-snap-align: start;
}

.ef-region-carousel-block .qodef-tour-standard-item-holder{
  position: relative;
  width: 100% !important;
}

.ef-region-carousel-block .ef-tour-card-link{
  position:absolute;
  inset:0;
  z-index:3;
}

.ef-region-carousel-block .qodef-tours-tour-categories-item a{
  position:relative;
  z-index:5;
}

@media (max-width:1024px){
  .ef-region-carousel-block .ef-region-carousel > .qodef-tours-standard-item{
    flex-basis: 320px !important;
    width: 320px !important;
    max-width: 320px !important;
    min-width: 320px !important;
  }
}

@media (max-width:600px){
  .ef-region-carousel-block .ef-region-carousel{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .ef-region-carousel-block .ef-region-carousel > .qodef-tours-standard-item{
    flex-basis: 82vw !important;
    width: 82vw !important;
    max-width: 82vw !important;
    min-width: 82vw !important;
  }
}
.ef-region-carousel-block .qodef-tour-standard-item-holder{
  min-height: 520px;
  background: #ddd !important;
}









/* =========================================================
   EF — Mega menu : cacher le lien parent (ex: "Destinations")
   UNIQUEMENT si le dropdown contient .ef-mega-vc
   ========================================================= */

/* Option moderne (Chrome/Safari OK) */
.qodef-drop-down .second .inner > ul > li:has(.ef-mega-vc) > a{
  display:none !important;
}

/* Sécurité : si le parent est répété en-dessous selon structure */
.qodef-drop-down .second .inner > ul > li:has(.ef-mega-vc) > ul > li > a{
  display:none !important;
}

/* Mais on ne touche jamais aux liens internes du mega menu */
.qodef-drop-down .ef-mega-vc a{ display: initial !important; }
.qodef-drop-down .ef-mega-vc a.ef-pill{ display:inline-flex !important; }



/* =========================================================
   EF — Mega menu : entêtes Canada/USA (menu + page test)
   ========================================================= */

/* MENU (dropdown) + PAGE (test) */
.qodef-drop-down .ef-mega-vc .ef-mega-head,
.ef-mega-vc .ef-mega-head{
  display:flex !important;
  margin: 0 0 22px !important;
}

.qodef-drop-down .ef-mega-vc .ef-mega-country,
.ef-mega-vc .ef-mega-country{
  position: relative;
  width:100%;
  text-align:center;
  font-family:'OwlSight', serif !important;
  font-size:18px !important;
  font-weight:700 !important;
  letter-spacing:.06em !important;
  color:#111 !important;
  padding-bottom:12px !important;
  margin:0 !important;
}

.qodef-drop-down .ef-mega-vc .ef-mega-country::after,
.ef-mega-vc .ef-mega-country::after{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  bottom:0;
  height:1.5px;
  background:#111;
  opacity:.35;
}

/* (optionnel) reset des <p> */
.qodef-drop-down .ef-mega-vc p,
.ef-mega-vc p{
  margin:0 !important;
}





/* =========================================================
   EF — Mega menu VC : réduire le padding haut UNIQUEMENT
   ========================================================= */

/* On ne touche qu’aux dropdowns qui contiennent ef-mega-vc */
.qodef-drop-down .second:has(.ef-mega-vc){
  padding-top: 0 !important;
}

/* Padding interne */
.qodef-drop-down .second:has(.ef-mega-vc) .inner{
  padding-top: 8px !important;   /* ajuste : 0 / 6 / 8 / 12 */
}

/* UL interne (évite l’espace avant le contenu VC) */
.qodef-drop-down .second:has(.ef-mega-vc) .inner > ul{
  margin-top: 0 !important;
  padding-top: 0 !important;
}









/* =========================================================
   EF — Section Title (WPBakery / SetSail) : soulignement manuscrit
   Usage : mettre "ef-title-hand" dans Custom CSS Class
   ========================================================= */

/* Le titre du module (SetSail/Qode utilise souvent .qodef-st-title) */
.ef-title-hand .qodef-st-title{
  position: relative;
  display: inline-block; /* le trait s'adapte à la largeur du texte */
  padding-bottom: 14px;  /* espace pour le trait */
}

/* Le trait manuscrit */
.ef-title-hand .qodef-st-title::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:170px;
  height:18px;
  background-repeat:no-repeat;
  background-size:contain;
  opacity:.95;

  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 201 24'%3E%3Cpath fill='%23b57b39' d='M200.375 20.4207C200.157 21.4381 199.231 21.6017 198.341 21.6198C195.399 21.6744 188.045 19.1852 184.105 18.7128C155.541 15.3696 120.622 17.6226 91.6952 19.2396C70.8672 20.4025 47.9872 23.9818 27.4679 24C25.8336 24 21.3847 23.6184 19.8049 23.3641C18.7335 23.1824 18.4975 22.9462 18.334 21.8924C18.1161 20.5115 18.9333 21.1111 19.8231 21.0202C25.4159 20.4388 30.9362 18.84 36.4383 17.5863L37.782 18.6401L23.6545 22.1831C34.0595 23.037 44.2828 21.1111 54.5788 20.4207C91.7134 17.9315 133.17 14.2795 170.068 16.2599C180.328 16.805 190.369 18.2949 200.375 20.4207Z'/%3E%3C/svg%3E");
}


/* Responsive */
@media (max-width: 768px){
  .ef-title-hand .qodef-st-title{ padding-bottom: 12px; }
  .ef-title-hand .qodef-st-title::after{
    width: 130px;
    height: 14px;
  }
}

/* =========================================================
   EF — Section Title : DOUBLE trait manuscrit JAUNE
   Usage : mettre "ef-title-hand ef-title-hand--double"
   ========================================================= */

.ef-title-hand--double .qodef-st-title{
  position: relative;
  display: inline-block;
  padding-bottom: 22px;
}

/* Trait 1 (principal) : ton trait actuel en jaune */
.ef-title-hand--double .qodef-st-title::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:6px;
  transform:translateX(-50%);
  width:180px;
  height:18px;
  background-repeat:no-repeat;
  background-size:contain;
  opacity:1; /* jaune pur */
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 201 24'%3E%3Cpath fill='%23ffe44e' d='M200.375 20.4207C200.157 21.4381 199.231 21.6017 198.341 21.6198C195.399 21.6744 188.045 19.1852 184.105 18.7128C155.541 15.3696 120.622 17.6226 91.6952 19.2396C70.8672 20.4025 47.9872 23.9818 27.4679 24C25.8336 24 21.3847 23.6184 19.8049 23.3641C18.7335 23.1824 18.4975 22.9462 18.334 21.8924C18.1161 20.5115 18.9333 21.1111 19.8231 21.0202C25.4159 20.4388 30.9362 18.84 36.4383 17.5863L37.782 18.6401L23.6545 22.1831C34.0595 23.037 44.2828 21.1111 54.5788 20.4207C91.7134 17.9315 133.17 14.2795 170.068 16.2599C180.328 16.805 190.369 18.2949 200.375 20.4207Z'/%3E%3C/svg%3E");
}


/* Responsive */
@media (max-width:768px){
  .ef-title-hand--double .qodef-st-title{ padding-bottom: 18px; }
  .ef-title-hand--double .qodef-st-title::after{ width:140px; height:14px; bottom:5px; }
  .ef-title-hand--double .qodef-st-title::before{ width:115px; height:10px; }
}
/* =========================================
   EF – Forcer fond global (page 5749)
   (version robuste SetSail)
========================================= */

/* 1) Met le fond sur html + body, en IMPORTANT */
html body.page-id-5749{
  background: url("https://evasionforever.kinsta.cloud/wp-content/uploads/2026/02/forever-evasion-scaled.jpg") center top / cover no-repeat fixed !important;
}

/* 2) Rend transparents les wrappers SetSail les plus courants */
body.page-id-5749 #qodef-page-wrapper,
body.page-id-5749 #qodef-page-outer,
body.page-id-5749 #qodef-page-inner,
body.page-id-5749 #qodef-page-content,
body.page-id-5749 .qodef-content,
body.page-id-5749 .qodef-content-inner,
body.page-id-5749 .qodef-container,
body.page-id-5749 .qodef-container-inner,
body.page-id-5749 .qodef-grid,
body.page-id-5749 .qodef-grid-inner,
body.page-id-5749 main{
  background: transparent !important;
}

/* 3) Sécurité : évite qu’un fond “blanc” revienne sur le premier wrapper WPBakery */
body.page-id-5749 .vc_row,
body.page-id-5749 .vc_section{
  background: transparent !important;
}











/* =========================================================
   EF — Template Page Région (global)
   Scope : uniquement si la page contient .ef-region-page
   Palette : cuivre #b57b39 + highlight #ffe44e
   ========================================================= */

:root{
  --ef-ink:#121212;
  --ef-muted:rgba(18,18,18,.62);
  --ef-line:rgba(0,0,0,.08);
  --ef-paper:#fbfaf7;
  --ef-accent:#b57b39;
  --ef-hi:#ffe44e;
}

/* ---------------------------------------------------------
   Layout global
   --------------------------------------------------------- */

/* Fond + largeur */
body:has(.ef-region-page) .qodef-content{ background: var(--ef-paper); }
body:has(.ef-region-page) .qodef-container-inner{ max-width: 1180px; }

/* =========================================================
   FIX — Resserre la page SANS décaler la bannière (Title Area)
   On agit uniquement sur le contenu WPBakery de la page
   ========================================================= */

/* Resserre l’espace au-dessus du premier bloc (zone blanche) */
body:has(.ef-region-page) .qodef-content .qodef-content-inner > .qodef-container{
  padding-top: 14px !important;
}

/* Si ton layout n’a pas .qodef-container, on couvre l’autre cas */
body:has(.ef-region-page) .qodef-content .qodef-content-inner > .qodef-container-inner{
  padding-top: 14px !important;
}

/* Réduit l’espace entre rows WPBakery, mais uniquement dans le contenu */
body:has(.ef-region-page) .qodef-content .vc_row{
  margin-bottom: 8px !important;
}

/* Dividers plus courts */
body:has(.ef-region-page) .qodef-content .ef-divider{
  margin: 32px 0 28px !important;
}

/* Réduit l’espace entre les rows WPBakery */
body:has(.ef-region-page) .vc_row{
  margin-bottom: 8px !important;
}

/* Titres Qode : moins d’espace sous le bloc */
body:has(.ef-region-page) .qodef-section-title{
  margin-bottom: 10px !important;
}
body:has(.ef-region-page) .qodef-section-title .qodef-st-text{
  margin-top: 6px !important;
}

/* ---------------------------------------------------------
   Typo
   --------------------------------------------------------- */
body:has(.ef-region-page) h2,
body:has(.ef-region-page) h3,
body:has(.ef-region-page) h4{
  color: var(--ef-ink);
  letter-spacing: -0.02em;
}
body:has(.ef-region-page) p,
body:has(.ef-region-page) li{
  color: var(--ef-muted);
  line-height: 1.7;
}
body:has(.ef-region-page) ul{
  padding-left: 18px;
}

/* H1 de page */
body:has(.ef-region-page) .ef-page-h1{
  font-size: 40px;
  line-height: 1.1;
  letter-spacing: -0.03em;
  margin: 0 0 10px;
  color: var(--ef-ink);
}
@media(max-width:768px){
  body:has(.ef-region-page) .ef-page-h1{ font-size: 32px; }
}

/* ---------------------------------------------------------
   Images
   --------------------------------------------------------- */
body:has(.ef-region-page) .ef-region-img img,
body:has(.ef-region-page) .qodef-ig-image img{
  border-radius: 18px !important;
  display:block;
}

/* ---------------------------------------------------------
   Eyebrow (petit label au-dessus des titres)
   --------------------------------------------------------- */
body:has(.ef-region-page) .ef-eyebrow{
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(18,18,18,.55);
  margin: 0 0 10px;
  position: relative;
  padding-left: 14px;
}
body:has(.ef-region-page) .ef-eyebrow:before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:6px;
  height:6px;
  transform: translateY(-50%);
  border-radius: 50%;
  background: var(--ef-accent);
}

/* ---------------------------------------------------------
   Titres de sections
   --------------------------------------------------------- */
body:has(.ef-region-page) .ef-h3{
  margin: 0 0 10px;
  position: relative;
  display: inline-block;
}
body:has(.ef-region-page) .ef-h3:after{
  content:"";
  display:block;
  width: 44px;
  height: 3px;
  margin-top: 8px;
  background: var(--ef-accent);
  border-radius: 2px;
}
body:has(.ef-region-page) .ef-lead{
  margin: 0 0 12px;   /* resserré */
  max-width: 72ch;
}

/* ---------------------------------------------------------
   Sous-titre “En deux mots”
   --------------------------------------------------------- */
body:has(.ef-region-page) .ef-subtitle{
  display:inline-block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ef-accent);
  background: rgba(181,123,57,.10);
  border: 1px solid rgba(181,123,57,.18);
  padding: 6px 10px;
  border-radius: 999px;
  margin-bottom: 10px;
}

/* ---------------------------------------------------------
   Divider élégant (resserré)
   --------------------------------------------------------- */
body:has(.ef-region-page) .ef-divider{
  height:1px;
  margin: 32px 0 28px; /* resserré */
  background:linear-gradient(to right,transparent,rgba(181,123,57,.35),transparent);
}

/* ---------------------------------------------------------
   Cards base
   --------------------------------------------------------- */
body:has(.ef-region-page) .ef-card,
body:has(.ef-region-page) .ef-mini{
  background:#fff;
  border:1px solid var(--ef-line);
  border-radius:18px;
  box-shadow:0 18px 55px rgba(0,0,0,.08);
}

/* Mini cards (Provinces) */
body:has(.ef-region-page) .ef-mini{
  padding: 14px; /* resserré */
}

/* ---------------------------------------------------------
   GOOD TO KNOW — tableau
   --------------------------------------------------------- */
body:has(.ef-region-page) .ef-card--table{
  position: relative;
  padding: 16px 16px 16px 22px; /* resserré */
}
body:has(.ef-region-page) .ef-card--table::before{
  content:"";
  position:absolute;
  left:0;
  top:16px;
  bottom:16px;
  width:3px;
  background: var(--ef-accent);
  border-radius:2px;
}

body:has(.ef-region-page) .ef-table{
  margin-top: 14px; /* resserré */
  display: grid;
  gap: 10px;
}

body:has(.ef-region-page) .ef-tr{
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 10px;           /* resserré */
  padding: 9px 12px;   /* resserré */
  border-radius: 12px;
  background: rgba(0,0,0,.03);
  border: 1px solid rgba(0,0,0,.04);
}

body:has(.ef-region-page) .ef-key{
  font-weight: 800;
  color: var(--ef-ink);
}
body:has(.ef-region-page) .ef-val{
  color: var(--ef-muted);
  line-height: 1.6;
}
body:has(.ef-region-page) .ef-tr--highlight{
  background: rgba(255,228,78,.18);
  border-color: rgba(255,228,78,.35);
}

/* ---------------------------------------------------------
   TOP SPOTS — cartes premium
   --------------------------------------------------------- */
body:has(.ef-region-page) .ef-spot{
  position: relative;
  background:#fff;
  border:1px solid var(--ef-line);
  border-radius: 18px;
  padding: 14px; /* resserré */
  box-shadow: 0 18px 55px rgba(0,0,0,.08);
  transition: transform .25s ease, box-shadow .25s ease;
}

body:has(.ef-region-page) .ef-spot::before{
  content:"";
  position:absolute;
  left:0;
  top:14px;
  bottom:14px;
  width:3px;
  background: var(--ef-accent);
  border-radius: 2px;
  opacity: .9;
}

body:has(.ef-region-page) .ef-spot__n{
  font-weight: 900;
  color: rgba(18,18,18,.18);
  font-size: 22px;
  margin-bottom: 6px;
}

body:has(.ef-region-page) .ef-spot__meta{
  display:inline-block;
  font-size: 12px;
  font-weight: 800;
  color: var(--ef-accent);
  background: rgba(181,123,57,.10);
  border:1px solid rgba(181,123,57,.18);
  padding: 6px 10px;
  border-radius: 999px;
  margin-bottom: 10px;
}

body:has(.ef-region-page) .ef-spot h4{
  margin: 0 0 8px;
  color: var(--ef-ink);
}
body:has(.ef-region-page) .ef-spot p{
  margin: 0;
  color: var(--ef-muted);
  line-height: 1.6;
}
body:has(.ef-region-page) .ef-spot:hover{
  transform: translateY(-4px);
  box-shadow: 0 22px 65px rgba(0,0,0,.12);
}

/* ---------------------------------------------------------
   Carrousel — éviter le double titre SANS casser le titre de page
   --------------------------------------------------------- */
body:has(.ef-region-page) .ef-carousel-wrap .qodef-section-title,
body:has(.ef-region-page) .ef-carousel-wrap .qodef-st-title,
body:has(.ef-region-page) .ef-carousel-wrap header h2,
body:has(.ef-region-page) .ef-carousel-wrap header h3{
  display:none !important;
}

/* Sidebar tags (optionnel : plus sobres) */
body:has(.ef-region-page) .tagcloud a{
  background: rgba(0,0,0,.04) !important;
  color: var(--ef-ink) !important;
  border: 1px solid var(--ef-line) !important;
  border-radius: 999px !important;
  padding: 6px 10px !important;
}
body:has(.ef-region-page) .tagcloud a:hover{
  background: rgba(181,123,57,.12) !important;
  border-color: rgba(181,123,57,.35) !important;
}

/* Widgets sidebar : plus compact */
body:has(.ef-region-page) .widget{
  margin-bottom: 18px !important;
}

/* Responsive */
@media(max-width:768px){
  body:has(.ef-region-page) .ef-tr{ grid-template-columns: 1fr; }
}




/* Sidebar : rythme vertical */
.ef-sidecard{
  position: relative;
}

.ef-sidecard + .ef-sidecard{
  margin-top: 26px;
}



/* Accent visuel léger sur chaque widget */
.ef-sidecard::before{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:3px;
  background: linear-gradient(
    to bottom,
    var(--ef-accent),
    rgba(181,123,57,.35)
  );
  border-radius: 2px;
}

/* Widget CTA : plus vivant */
.ef-sidecard:first-child{
  background:
    linear-gradient(
      135deg,
      rgba(255,228,78,.18),
      rgba(255,255,255,.95)
    );
}



/* =========================================================
   EF — Boutons marron → hover jaune
   (EXCLU le formulaire booking)
   ========================================================= */

a.qodef-btn.qodef-btn-solid:not(.qodef-tours-check-availability):not(input):not(.ef-btn-black):hover,
.qodef-btn.qodef-btn-solid:not(.qodef-tours-check-availability):not(input):not(.ef-btn-black):hover{
  background-color: #ffe44e !important;
  border-color: #ffe44e !important;
  color: #111111 !important;
}

/* Texte + icônes */
a.qodef-btn.qodef-btn-solid:hover .qodef-btn-text,
a.qodef-btn.qodef-btn-solid:hover i,
a.qodef-btn.qodef-btn-solid:hover span{
  color: #111111 !important;
}



/* =========================================================
   EF — Étoile "featured destination"
   Pastille jaune + étoile blanche (FORCE ::before)
   ========================================================= */

/* Pastille */
.qodef-tours-destination-holder 
.qodef-destination-has-featured-mark{
  background-color: #ffe44e !important;
}

/* Icône étoile — cas réel SetSail (font icon en ::before) */
.qodef-tours-destination-holder 
.qodef-destination-has-featured-mark:before,
.qodef-tours-destination-holder 
.qodef-destination-has-featured-mark i:before,
.qodef-tours-destination-holder 
.qodef-destination-has-featured-mark span:before{
  color: #ffffff !important;
}

/* Sécurité SVG (au cas où Qode change de méthode) */
.qodef-tours-destination-holder 
.qodef-destination-has-featured-mark svg,
.qodef-tours-destination-holder 
.qodef-destination-has-featured-mark svg path{
  fill: #ffffff !important;
}

/* =========================================================
   EF — Étoiles avis (carousel reviews) : jaune
   ========================================================= */

.qodef-top-reviews-carousel-holder 
.qodef-tour-reviews-star-holder 
.qodef-tour-reviews-star{
  color: #ffe44e !important;      /* ton jaune */
}

/* Sécurité SVG / icônes si jamais */
.qodef-top-reviews-carousel-holder 
.qodef-tour-reviews-star-holder 
.qodef-tour-reviews-star svg,
.qodef-top-reviews-carousel-holder 
.qodef-tour-reviews-star-holder 
.qodef-tour-reviews-star svg path{
  fill: #ffe44e !important;
}





/* =========================================================
   EF — Mini-infos HERO (Accueil) — position plus haute
   ========================================================= */

.home .qodef-title-holder{
  position: relative;
}

.home .qodef-title-holder::after{
  content: "Un conseiller expert vous recontacte sous 24h • 400+ voyages organisés";

  position: absolute;
  left: 50%;
  bottom: 72px;                 /* ⬅️ PLUS HAUT */
  transform: translateX(-50%);

  font-size: 12px;
  font-weight: 500;
  letter-spacing: .02em;
  line-height: 1.3;

  color: #ffffff;
  text-align: center;
  white-space: nowrap;

  padding: 6px 14px;
  border-radius: 999px;

  background: rgba(0,0,0,.18);
  backdrop-filter: blur(4px);

  z-index: 30;                  /* au-dessus du form */
}

/* Desktop large */
@media (min-width:1200px){
  .home .qodef-title-holder::after{
    font-size: 13px;
    bottom: 88px;               /* ⬅️ encore un peu plus haut */
  }
}

/* Mobile */
@media (max-width:768px){
  .home .qodef-title-holder::after{
    font-size: 11px;
    bottom: 96px;               /* ⬅️ évite le form mobile */
    white-space: normal;
    max-width: 90%;
  }
}





/* =========================================================
   EF — Mentions blanches sur bannière (injection CSS)
   ========================================================= */

.qodef-title-holder::after{
  content: "Un conseiller expert vous recontacte sous 24h  •  400+ voyages organisés";

  position:absolute;
  left:50%;
  bottom:28px;
  transform:translateX(-50%);

  font-size:12px;
  font-weight:500;
  letter-spacing:.02em;
  line-height:1.2;

  color:#ffffff;
  text-align:center;
  white-space:nowrap;

  padding:6px 14px;
  border-radius:999px;

  background:rgba(0,0,0,.18);
  backdrop-filter: blur(4px);

  z-index:20;
}

/* Desktop */
@media (min-width:1200px){
  .qodef-title-holder::after{
    font-size:13px;
    bottom:32px;
  }
}

/* Mobile */
@media (max-width:768px){
  .qodef-title-holder::after{
    font-size:11px;
    white-space:normal;
    max-width:90%;
  }
}














/* =========================================================
   EF — Header transparent + Fullscreen menu lisible (SetSail / Qode)
   Palette : cuivre #b57b39 | beige #f6f1e5 | paper #fbfaf7
   ========================================================= */


/* ---------------------------------------------------------
   1) HEADER : transparent + pas de trait
   (c’est la règle qui marche chez toi dans l’inspecteur)
   --------------------------------------------------------- */
.qodef-page-header,
.qodef-page-header-inner,
.qodef-top-bar,
.qodef-top-bar-inner{
  background-color: #f6f1e500 !important; /* transparent */
}

.qodef-page-header{
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* (optionnel) si un autre élément dessine encore une ombre/ligne */
.qodef-page-header::before,
.qodef-page-header::after,
.qodef-page-header-inner::before,
.qodef-page-header-inner::after{
  content: none !important;
  display: none !important;
}


/* ---------------------------------------------------------
   2) FULLSCREEN MENU : fond + liens + états
   --------------------------------------------------------- */

/* Fond du plein écran */
.qodef-fullscreen-menu-holder,
.qodef-fullscreen-menu-holder-outer,
.qodef-fullscreen-menu{
  background: #fbfaf7 !important; /* ou #ffffff */
}

/* Largeur + respiration */
.qodef-fullscreen-menu-holder-inner{
  max-width: 920px;
  margin: 0 auto;
  padding: 110px 24px 60px;
}

/* Liens : cuivre + meilleure lisibilité */
nav.qodef-fullscreen-menu ul li a{
  position: relative;
  display: inline-block;
  margin: 14px 0;

  color: #b57b39 !important;
  font-size: 26px;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: -0.03em;

  padding: 10px 14px;           /* pills */
  border-radius: 14px;
  text-decoration: none;

  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

/* Hover/focus : surbrillance beige */
nav.qodef-fullscreen-menu ul li a:hover,
nav.qodef-fullscreen-menu ul li a:focus{
  background: #f6f1e5 !important;
  color: #8f5e2a !important;
  transform: translateX(2px);
  outline: none;
}

/* Item actif (page courante) */
nav.qodef-fullscreen-menu ul li.current-menu-item > a,
nav.qodef-fullscreen-menu ul li.current_page_item > a,
nav.qodef-fullscreen-menu ul li.current-menu-ancestor > a{
  background: #f6f1e5 !important;
  color: #b57b39 !important;
}

/* Désactive les underline/lines du thème (si présents) */
nav.qodef-fullscreen-menu ul li a:before,
nav.qodef-fullscreen-menu ul li a:after{
  background-color: transparent !important;
  opacity: 0 !important;
}


/* ---------------------------------------------------------
   3) OPENER Fullscreen : style template (bloc cuivre)
   (c’est la règle qui marche chez toi)
   --------------------------------------------------------- */

/* Couleur de l’icône */
.qodef-fullscreen-menu-opener,
.qodef-fullscreen-menu-opener .qodef-fullscreen-menu-opener-icon{
  color: #b57b39 !important;
}

/* Bloc/pavé cuivre autour de l’icône (comme le template) */
.qodef-fullscreen-menu-opener.qodef-fullscreen-menu-opener-svg-path span{
  position: relative;
  background: #b57b39 !important;
  padding: 41px 36px !important;
}

/* Optionnel : si tu veux que l’icône soit claire sur le bloc cuivre */
.qodef-fullscreen-menu-opener.qodef-fullscreen-menu-opener-svg-path,
.qodef-fullscreen-menu-opener.qodef-fullscreen-menu-opener-svg-path .qodef-fullscreen-menu-opener-icon,
.qodef-fullscreen-menu-opener.qodef-fullscreen-menu-opener-svg-path svg,
.qodef-fullscreen-menu-opener.qodef-fullscreen-menu-opener-svg-path svg *{
  color: #fbfaf7 !important;
  fill: currentColor !important;
}

/* =========================================================
   EF — Header / Top bar / Fullscreen menu (FINAL CLEAN)
   ========================================================= */


/* ---------------------------------------------------------
   1) HEADER PRINCIPAL → TRANSPARENT
   --------------------------------------------------------- */
.qodef-page-header,
.qodef-page-header-inner{
  background-color: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}


/* ---------------------------------------------------------
   2) TOP BAR → BEIGE (et PAS les enfants)
   --------------------------------------------------------- */
.qodef-top-bar,
.qodef-top-bar-inner{
  background-color: #f6f1e5 !important; /* beige */
}

/* Texte & icônes top bar */
.qodef-top-bar,
.qodef-top-bar a,
.qodef-top-bar .qodef-icon-text,
.qodef-top-bar .qodef-icon-element,
.qodef-top-bar .qodef-social-icon-widget{
  color: #b57b39 !important;
}


/* ---------------------------------------------------------
   3) FULLSCREEN MENU → BLANC / PAPER
   --------------------------------------------------------- */
.qodef-fullscreen-menu-holder,
.qodef-fullscreen-menu-holder-outer,
.qodef-fullscreen-menu{
  background-color: #fbfaf7 !important;
}

/* Contenu centré */
.qodef-fullscreen-menu-holder-inner{
  max-width: 920px;
  margin: 0 auto;
  padding: 110px 24px 60px;
}

/* Liens fullscreen */
nav.qodef-fullscreen-menu ul li a{
  display: inline-block;
  margin: 14px 0;
  padding: 10px 14px;

  color: #b57b39 !important;
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.2;

  border-radius: 14px;
  text-decoration: none;
  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

nav.qodef-fullscreen-menu ul li a:hover,
nav.qodef-fullscreen-menu ul li.current-menu-item > a{
  background-color: #f6f1e5 !important;
  color: #8f5e2a !important;
  transform: translateX(2px);
}

/* Désactive underline Qode */
nav.qodef-fullscreen-menu ul li a:before,
nav.qodef-fullscreen-menu ul li a:after{
  content: none !important;
  display: none !important;
}


/* ---------------------------------------------------------
   4) BOUTON MENU (opener) → BLOC CUIVRE (template)
   --------------------------------------------------------- */
.qodef-fullscreen-menu-opener.qodef-fullscreen-menu-opener-svg-path span{
  background-color: #b57b39 !important;
  padding: 41px 36px !important;
}

/* Icône claire sur cuivre */
.qodef-fullscreen-menu-opener,
.qodef-fullscreen-menu-opener svg,
.qodef-fullscreen-menu-opener svg *{
  color: #fbfaf7 !important;
  fill: currentColor !important;
}






/* =========================================================
   EF — HERO BANNERS + STICKERS
   ========================================================= */

/* 1. La bannière (Row WPBakery) */
.ef-hero {
  position: relative;
  overflow: hidden;
}

.ef-hero .ef-sticker {
  position: absolute;
  z-index: 3;
  max-width: 220px; /* + impact desktop */
  pointer-events: none;
}

@media (max-width: 768px) {
  .ef-hero .ef-sticker {
    max-width: 150px; /* reste lisible sans envahir */
  }
}





/* =========================================================
   EF — STICKERS : rotation sûre (sur l'image)
   ========================================================= */

/* Conteneur sticker */
.ef-hero .ef-sticker{
  position:absolute;
  z-index:3;
  pointer-events:none;
  max-width: 220px; /* ajuste si besoin */
}

@media (max-width: 768px){
  .ef-hero .ef-sticker{ max-width:150px; }
}

/* Rotation appliquée à l'image (robuste) */
.ef-hero .ef-sticker img{
  display:block;
  transform: rotate(var(--ef-rot, 0deg)) !important;
  transform-origin: 50% 50%;
}

/* Valeurs de rotation par variante */
.ef-sticker--nature  { --ef-rot: -8deg; }
.ef-sticker--city    { --ef-rot:  8deg; }
.ef-sticker--detente { --ef-rot: -6deg; }
.ef-sticker--combine { --ef-rot:  4deg; }

/* Positions (à garder / ajuster) */
.ef-sticker--nature  { bottom:7%; left:5%; }
.ef-sticker--city    { bottom:7%; right:5%; }
.ef-sticker--detente { top:10%; left:5%; }
.ef-sticker--combine { bottom:9%; right:6%; }





/* =========================================================
   EF — TYPO : Poppins par défaut, OwlSight uniquement pour titres
   ========================================================= */

/* 1) Base : texte global en Poppins */
body{
  font-family: "Poppins", sans-serif !important;
}

/* 2) Titres : OwlSight (site + modules Qode) */
h1,h2,h3,
.qodef-st-title,
.qodef-section-title-holder .qodef-st-title,
.qodef-section-title-holder span.qodef-st-tagline{
  font-family: "OwlSight", serif !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important; /* OwlSight = pas de bold natif */
}

/* 3) Blocs EF : texte en Poppins (ça “répare” tes paragraphes de blocs) */
[class^="ef-"],
[class*=" ef-"]{
  font-family: "Poppins", sans-serif !important;
}

/* 4) Dans les blocs EF : si tu as des titres internes, on les remet en OwlSight */
[class^="ef-"] h1,
[class^="ef-"] h2,
[class^="ef-"] h3,
[class^="ef-"] .ef-mega-country,
[class^="ef-"] .ef-mega-title{
  font-family: "OwlSight", serif !important;
  font-weight: 400 !important;
}

/* 5) (Optionnel) Si tu veux garder les "pills" en OwlSight */
.ef-pill{
  font-family: "OwlSight", serif !important;
  font-weight: 400 !important;
}

/* =========================================
   FIX – Polices d’icônes (Elegant Icons + Font Awesome)
   ========================================= */

/* Elegant Icons */
.qodef-icon-font-elegant,
.qodef-icon-font-elegant::before,
.qodef-icon-font-elegant::after,
[class^="icon_"],
[class*=" icon_"]{
  font-family: "ElegantIcons" !important;
  font-style: normal !important;
  font-weight: normal !important;
  text-transform: none !important;
  line-height: 1 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Font Awesome */
.fa,
.fas,
.far,
.fab{
  font-style: normal !important;
  font-variant: normal !important;
  text-rendering: auto !important;
  line-height: 1 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.fa,
.fas{
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
}

.far{
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 400 !important;
}

.fab{
  font-family: "Font Awesome 5 Brands" !important;
  font-weight: 400 !important;
}












/* HOME : burger mobile sans pavé (car c'est un fullscreen opener sur cette page) */
@media (max-width:768px){

  /* enlève le bloc/padding cuivre */
  .home .qodef-mobile-header
  .qodef-fullscreen-menu-opener.qodef-fullscreen-menu-opener-svg-path span.qodef-mobile-menu-icon{
    background: transparent !important;
    padding: 0 !important;
  }

  /* couleur du burger (comme tes autres pages) */
  .home .qodef-mobile-header
  .qodef-fullscreen-menu-opener svg,
  .home .qodef-mobile-header
  .qodef-fullscreen-menu-opener svg *{
    color: #b57b39 !important;  /* ou #111 */
    fill: currentColor !important;
  }
}




/* =========================================================
   EF — Mobile header: espacement icônes + logo plus petit
   ========================================================= */
@media (max-width:768px){

  /* 1) On repasse le header en flex pour éviter le centre en absolute */
  .qodef-mobile-header .qodef-vertical-align-containers{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
  }

  /* 2) Garde gauche/droite à leur taille, et centre qui prend la place */
  .qodef-mobile-header .qodef-position-left,
  .qodef-mobile-header .qodef-position-right{
    flex:0 0 auto;
  }

  .qodef-mobile-header .qodef-position-center{
    flex:1 1 auto;
    min-width:0;
  }

  /* 3) IMPORTANT : on neutralise l’absolute du centre (c’est ça qui colle tout) */
  .qodef-mobile-header .qodef-position-center-inner{
    position: static !important;
    width:auto !important;
    height:auto !important;
    left:auto !important;
    text-align:center;
    z-index:auto !important;
  }

  /* 4) Un peu d’air entre logo et icônes */
  .qodef-mobile-header .qodef-position-left-inner{ padding-right:12px; }
  .qodef-mobile-header .qodef-position-right-inner{ padding-left:12px; }

  /* 5) Logo plus petit (tu ajustes la hauteur max) */
  .qodef-mobile-header .qodef-mobile-logo-wrapper a{
    height:22px !important; /* <-- ajuste 20/22/24 */
    display:inline-flex;
    align-items:center;
  }
  .qodef-mobile-header .qodef-mobile-logo-wrapper img{
    max-height:22px !important; /* <-- même valeur */
    width:auto !important;
    height:auto !important;
  }
}


.qodef-mobile-header .qodef-mobile-menu-opener.qodef-mobile-menu-opener-svg-path svg {
    fill: #b57b39 !important;
}







/* =========================================================
   EF — MENU MOBILE CLEAN & LISIBLE
   ========================================================= */
@media only screen and (max-width: 1024px){

  /* Conteneur */
  .qodef-mobile-nav{
    background: #fbfaf7 !important;
  }

  .qodef-mobile-nav .qodef-grid{
    padding: 0 22px 24px !important;
  }

  /* Reset léger */
  .qodef-mobile-nav ul,
  .qodef-mobile-nav li{
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .qodef-mobile-nav li{
    position: relative !important;
    display: block !important;
    width: 100% !important;
    float: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  /* =========================
     NIVEAU 1
     ========================= */
  .qodef-mobile-nav > .qodef-grid > ul > li{
    border-bottom: 1px solid rgba(0,0,0,.08) !important;
  }

  .qodef-mobile-nav > .qodef-grid > ul > li > a{
    display: block !important;
    padding: 18px 44px 18px 0 !important;
    font-size: 28px !important;
    line-height: 1.15 !important;
    font-weight: 400 !important;
    color: #4a4a4a !important;
    text-decoration: none !important;
  }

  /* =========================
     NIVEAU 2
     ========================= */
  .qodef-mobile-nav ul li ul.sub_menu{
    display: none;
    margin: 0 !important;
    padding: 6px 0 10px 0 !important;
    background: transparent !important;
  }

  .qodef-mobile-nav ul li.qodef-opened > ul.sub_menu{
    display: block !important;
  }

  .qodef-mobile-nav ul li ul.sub_menu > li > a{
    display: block !important;
    padding: 12px 36px 12px 14px !important;
    font-size: 18px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    color: #4f4f4f !important;
    text-decoration: none !important;
  }

  /* =========================
     NIVEAU 3
     ========================= */
  .qodef-mobile-nav ul li ul.sub_menu ul.sub_menu{
    padding: 2px 0 8px 0 !important;
  }

  .qodef-mobile-nav ul li ul.sub_menu ul.sub_menu > li > a{
    padding: 10px 30px 10px 28px !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
    color: #666 !important;
  }

  /* Flèches */
  .qodef-mobile-nav .mobile_arrow{
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 36px !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    color: #2f2f2f !important;
    background: transparent !important;
    border: 0 !important;
  }

  .qodef-mobile-nav .mobile_arrow i{
    font-size: 20px !important;
    line-height: 1 !important;
  }

  /* Petite rotation quand ouvert */
  .qodef-mobile-nav li.qodef-opened > .mobile_arrow i{
    transform: rotate(90deg);
    transition: transform .2s ease;
  }

  /* On enlève tout héritage pill / mega */
  .qodef-mobile-nav .ef-pill,
  .qodef-mobile-nav [class*="ef-r-"]{
    display: block !important;
    width: 100% !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Cache uniquement le vrai contenu mega menu injecté */
  .qodef-mobile-nav .ef-mega-vc,
  .qodef-mobile-nav .widget_text,
  .qodef-mobile-nav .textwidget,
  .qodef-mobile-nav .ef-pills-block,
  .qodef-mobile-nav .ef-pills-row{
    display: none !important;
  }

  /* Si certains sous-menus arrivent ouverts par défaut, on les referme visuellement */
  .qodef-mobile-nav ul li:not(.qodef-opened) > ul.sub_menu{
    display: none !important;
  }
}


@media only screen and (max-width: 1024px){

  /* =========================
     NIVEAU 1 (Accueil / Destinations)
     ========================= */
  .qodef-mobile-nav > .qodef-grid > ul > li > a{
    font-size: 22px !important; /* ↓ au lieu de 28 */
    font-weight: 500 !important;
    color: #3f3f3f !important;
    padding: 16px 44px 16px 0 !important;
  }

  /* Ligne séparatrice plus fine */
  .qodef-mobile-nav > .qodef-grid > ul > li{
    border-bottom: 1px solid rgba(0,0,0,.06) !important;
  }

  /* =========================
     SURBRILLANCE DORÉE ✨
     ========================= */

  /* petit trait à gauche */
  .qodef-mobile-nav > .qodef-grid > ul > li > a{
    position: relative;
    padding-left: 14px !important;
  }

  .qodef-mobile-nav > .qodef-grid > ul > li > a:before{
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 16px;
    background: #b57b39; /* ta couleur cuivre */
    border-radius: 2px;
    opacity: 0.8;
  }

  /* =========================
     NIVEAU 2
     ========================= */
  .qodef-mobile-nav ul li ul.sub_menu > li > a{
    font-size: 17px !important;
    font-weight: 500 !important;
    color: #4a4a4a !important;
  }

  /* =========================
     NIVEAU 3
     ========================= */
  .qodef-mobile-nav ul li ul.sub_menu ul.sub_menu > li > a{
    font-size: 15px !important;
    color: #6a6a6a !important;
  }

  /* =========================
     HOVER / ACTIF (petit luxe)
     ========================= */
  .qodef-mobile-nav a:hover{
    color: #b57b39 !important;
  }

  /* Flèche légèrement dorée aussi */
  .qodef-mobile-nav .mobile_arrow i{
    color: #b57b39 !important;
    opacity: 0.7;
  }
}







/* ===========================
   FIX icônes SetSail / Qode
   (évite que ta typo globale remplace la police d’icônes)
   =========================== */

/* Les icônes du thème sont souvent sur des classes icon_* */
[class^="icon_"],
[class*=" icon_"],
.qodef-icon-element,
.qodef-icon-holder i,
.qodef-top-bar [class^="icon_"],
.qodef-top-bar [class*=" icon_"]{
  font-family: "ElegantIcons" !important; /* le plus fréquent sur SetSail */
  font-style: normal !important;
  font-weight: normal !important;
  text-transform: none !important;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/* =========================================
   FIX – Elegant Icons (SetSail/Qode)
   Pour les <span class="qodef-icon-font-elegant ...">
   ========================================= */

.qodef-icon-font-elegant,
.qodef-icon-font-elegant::before,
.qodef-icon-font-elegant::after{
  font-family: "ElegantIcons" !important;
  font-style: normal !important;
  font-weight: normal !important;
  text-transform: none !important;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* =========================================
   FIX – Font Awesome (icônes sociales)
   ========================================= */

/* Base */
.qodef-social-icon-widget.fa,
.qodef-social-icon-widget.fas,
.qodef-social-icon-widget.far,
.qodef-social-icon-widget.fal,
.qodef-social-icon-widget.fab{
  font-family: "Font Awesome 5 Free" !important;
  font-style: normal !important;
  font-variant: normal !important;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

/* Brands (Facebook, Insta, etc.) */
.qodef-social-icon-widget.fab{
  font-family: "Font Awesome 5 Brands" !important;
  font-weight: 400 !important;
}

/* Solid (si certaines icônes solid ne reviennent pas) */
.qodef-social-icon-widget.fas{
  font-weight: 900 !important;
}





/* =========================================================
   EF — Mega menu plus compact
   À coller TOUT en bas du custom.css
   ========================================================= */

.qodef-drop-down .ef-mega-vc{
  --ef-mega-max: 1260px !important;
  --ef-mega-pad: 22px !important;
  width: min(1260px, calc(100vw - 48px)) !important;
  padding: 22px 22px 20px !important;
}

/* colonnes un peu moins espacées */
.qodef-drop-down .ef-mega-vc .vc_row{
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.qodef-drop-down .ef-mega-vc .vc_column_container > .vc_column-inner{
  padding-left: 10px !important;
  padding-right: 10px !important;
}

/* pills plus petites */
.qodef-drop-down .ef-mega-vc a.ef-pill{
  font-size: 16px !important;
  line-height: 1.05 !important;
  padding: 6px 12px !important;
  border-width: 2px !important;
  margin: 0 0 10px 0 !important;
}

/* listes plus compactes */
.qodef-drop-down .ef-mega-vc ul{
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
}

.qodef-drop-down .ef-mega-vc li,
.qodef-drop-down .ef-mega-vc li a,
.qodef-drop-down .ef-mega-vc p{
  font-size: 15px !important;
  line-height: 1.45 !important;
}

/* titres de colonnes / blocs */
.qodef-drop-down .ef-mega-vc .ef-mega-country{
  font-size: 16px !important;
  padding-bottom: 10px !important;
}

/* version écran un peu plus petit */
@media (max-width: 1366px){
  .qodef-drop-down .ef-mega-vc{
    width: min(1180px, calc(100vw - 32px)) !important;
    padding: 18px 16px 18px !important;
  }

  .qodef-drop-down .ef-mega-vc a.ef-pill{
    font-size: 15px !important;
    padding: 6px 10px !important;
  }

  .qodef-drop-down .ef-mega-vc li,
  .qodef-drop-down .ef-mega-vc li a,
  .qodef-drop-down .ef-mega-vc p{
    font-size: 14px !important;
    line-height: 1.4 !important;
  }
}



/* Archive ville = mêmes colonnes que la recherche tours */
.tax-ville-page .qodef-tours-row.qodef-tours-columns-2 .qodef-tours-standard-item{
  width: 50%;
  float: left;
}

.tax-ville-page .qodef-tours-row-inner-holder::after{
  content: "";
  display: block;
  clear: both;
}

.tax-ville-page .qodef-tours-standard-item{
  margin-bottom: 28px;
}

@media (max-width: 1024px){
  .tax-ville-page .qodef-tours-row.qodef-tours-columns-2 .qodef-tours-standard-item{
    width: 100%;
    float: none;
  }
}










/* =========================================================
   EF — SINGLE TOUR : durée cuivre + catégories en ef-pill
   ========================================================= */

/* ===== Durée : on neutralise enfin le turquoise du thème ===== */
.qodef-tour-item-single-holder 
.qodef-tour-item-section 
.qodef-tour-item-short-info .qodef-tour-duration-holder,
.qodef-tour-item-single-holder 
.qodef-tour-item-section 
.qodef-tour-item-short-info .qodef-tour-duration-holder *{
  background: transparent !important;
  color: inherit !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}

/* Bloc durée */
.qodef-tour-item-single-holder 
.qodef-tour-item-section 
.qodef-tour-item-short-info > *:not(:has(.qodef-tours-tour-categories-holder)){
  position: relative;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 30px !important;
  margin: 0 10px 10px 0 !important;
  background-color: #b57b39 !important;
  color: #ffffff !important;
  box-sizing: border-box !important;
  float: left !important;
}

/* Icône durée */
.qodef-tour-item-single-holder 
.qodef-tour-item-section 
.qodef-tour-item-short-info .qodef-tour-duration-icon{
  margin-right: 10px !important;
  color: #ffffff !important;
}

/* ===== Wrapper catégories ===== */
.qodef-tour-item-single-holder 
.qodef-tour-item-section 
.qodef-tour-item-short-info > *:has(.qodef-tours-tour-categories-holder){
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  float: left !important;
}

/* Holder */
.qodef-tour-item-single-holder 
.qodef-tour-item-section 
.qodef-tour-item-short-info 
.qodef-tours-tour-categories-holder{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Item */
.qodef-tour-item-single-holder 
.qodef-tour-item-section 
.qodef-tour-item-short-info 
.qodef-tours-tour-categories-item{
  display: block !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: inherit !important;
}

/* Lien = copie de .ef-pill */
.qodef-tour-item-single-holder 
.qodef-tour-item-section 
.qodef-tour-item-short-info 
.qodef-tours-tour-categories-item a{
  --c: #b57b39;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 7px 14px !important;
  border-radius: 999px !important;
  border: 2px solid var(--c) !important;
  background: #fff !important;

  color: #000 !important;
  text-decoration: none !important;

  font-family: 'OwlSight', serif !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  line-height: 1.05 !important;
  letter-spacing: 0.02em !important;
  white-space: nowrap !important;

  transition: background-color .18s ease, color .18s ease, transform .18s ease !important;
  box-shadow: none !important;
}

/* Texte */
.qodef-tour-item-single-holder 
.qodef-tour-item-section 
.qodef-tour-item-short-info 
.qodef-tour-cat-item-text{
  color: inherit !important;
  font-family: inherit !important;
  font-weight: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  white-space: nowrap !important;
}

/* Hover */
.qodef-tour-item-single-holder 
.qodef-tour-item-section 
.qodef-tour-item-short-info 
.qodef-tours-tour-categories-item a:hover{
  background: var(--c) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

/* ===== Couleurs catégories : version encodée ET non encodée ===== */

/* cinema */
.qodef-tour-item-single-holder .qodef-tours-tour-categories-item a[href*="type[]=cinema"],
.qodef-tour-item-single-holder .qodef-tours-tour-categories-item a[href*="type%5B%5D=cinema"]{
  --c:#5B1F24 !important;
}

/* road trip */
.qodef-tour-item-single-holder .qodef-tours-tour-categories-item a[href*="type[]=road-trip"],
.qodef-tour-item-single-holder .qodef-tours-tour-categories-item a[href*="type%5B%5D=road-trip"]{
  --c:#1F6B63 !important;
}

/* voyage accompagne */
.qodef-tour-item-single-holder .qodef-tours-tour-categories-item a[href*="type[]=voyage-accompagne"],
.qodef-tour-item-single-holder .qodef-tours-tour-categories-item a[href*="type%5B%5D=voyage-accompagne"]{
  --c:#6A7680 !important;
}

/* aventure et nature */
.qodef-tour-item-single-holder .qodef-tours-tour-categories-item a[href*="type[]=aventure-et-nature"],
.qodef-tour-item-single-holder .qodef-tours-tour-categories-item a[href*="type%5B%5D=aventure-et-nature"]{
  --c:#6E8B54 !important;
}

/* incontournable */
.qodef-tour-item-single-holder .qodef-tours-tour-categories-item a[href*="type[]=incontournable"],
.qodef-tour-item-single-holder .qodef-tours-tour-categories-item a[href*="type%5B%5D=incontournable"]{
  --c:#D7B24C !important;
}

/* city break */
.qodef-tour-item-single-holder .qodef-tours-tour-categories-item a[href*="type[]=city-break"],
.qodef-tour-item-single-holder .qodef-tours-tour-categories-item a[href*="type%5B%5D=city-break"]{
  --c:#2F74D0 !important;
}

/* detente */
.qodef-tour-item-single-holder .qodef-tours-tour-categories-item a[href*="type[]=detente"],
.qodef-tour-item-single-holder .qodef-tours-tour-categories-item a[href*="type%5B%5D=detente"]{
  --c:#D97A2B !important;
}

/* famille et tribu */
.qodef-tour-item-single-holder .qodef-tours-tour-categories-item a[href*="type[]=famille-et-tribu"],
.qodef-tour-item-single-holder .qodef-tours-tour-categories-item a[href*="type%5B%5D=famille-et-tribu"]{
  --c:#78BFD4 !important;
}

/* circuit culturel */
.qodef-tour-item-single-holder .qodef-tours-tour-categories-item a[href*="type[]=circuit-culturel"],
.qodef-tour-item-single-holder .qodef-tours-tour-categories-item a[href*="type%5B%5D=circuit-culturel"]{
  --c:#C45A4E !important;
}




.ef-article-enhanced{
  margin: 48px 0 56px;
}

.ef-article-card{
  background: #f8f6f2;
  border: 1px solid #ece7de;
  border-radius: 18px;
  padding: 28px;
  margin: 0 0 36px;
}

.ef-article-card--recap{
  border-left: 3px solid #c58a3d;
}

.ef-article-card--cta,
.ef-article-card--region-link{
  text-align: left;
}

.ef-eyebrow{
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #c58a3d;
  margin-bottom: 8px;
}

.ef-h3{
  margin: 0 0 10px;
}

.ef-lead{
  margin: 0 0 18px;
  color: #5f5a53;
}

.ef-article-facts{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
}

.ef-fact{
  background: #fff;
  border: 1px solid #ece7de;
  border-radius: 12px;
  padding: 14px 16px;
}

.ef-fact__label{
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #8b8479;
  margin-bottom: 4px;
}

.ef-fact__value{
  display: block;
  color: #1f1f1f;
}

.ef-article-spots{
  margin: 0 0 40px;
}

.ef-article-spots__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
  margin-top: 20px;
}

.ef-spot{
  background: #fff;
  border: 1px solid #ece7de;
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 4px 14px rgba(0,0,0,0.03);
}

.ef-spot__n{
  font-size: 22px;
  line-height: 1;
  color: #d8d0c3;
  font-weight: 700;
  margin-bottom: 8px;
}

.ef-spot__meta{
  display: inline-block;
  font-size: 11px;
  line-height: 1;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f3ead8;
  color: #a26a22;
  margin-bottom: 10px;
}

.ef-spot h4{
  margin: 0 0 8px;
  font-size: 22px;
}

.ef-btn--article{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 999px;
  background: #c58a3d;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 600;
  transition: transform .2s ease, opacity .2s ease;
}

.ef-btn--article:hover{
  opacity: .92;
  transform: translateY(-1px);
}

@media (max-width: 900px){
  .ef-article-facts,
  .ef-article-spots__grid{
    grid-template-columns: 1fr;
  }

  .ef-article-card{
    padding: 22px;
    border-radius: 16px;
  }
}



.single-post .post_text_inner{
  max-width: 980px;
}

.single-post .post_text_inner h2{
  margin-top: 44px;
  margin-bottom: 14px;
}

.single-post .post_text_inner p,
.single-post .post_text_inner li{
  line-height: 1.8;
}

.single-post .post_text_inner hr{
  margin: 34px 0;
  border: 0;
  border-top: 1px solid #ddd6c9;
}


.ef-article-enhanced section{
  margin: 56px 0;
}

.ef-article-enhanced h2{
  margin-top: 48px;
  margin-bottom: 18px;
}

.ef-article-enhanced h4{
  margin-top: 18px;
  margin-bottom: 6px;
}

.ef-article-card{
  margin: 42px 0;
}


.ef-article-spots{
  margin-top: 50px;
  margin-bottom: 60px;
}


.ef-article-enhanced h2{
  border-bottom: 1px solid #e7e1d7;
  padding-bottom: 12px;
}







/* =========================================================
   EF — CARTES VOYAGES MOBILE ONLY
   Ne touche PAS au desktop
   À coller tout en bas du custom.css
   ========================================================= */
@media (max-width: 768px){

  /* carte */
  .qodef-tours-standard-item .qodef-tour-standard-item-holder{
    border-radius: 26px !important;
    overflow: hidden !important;
  }

/* image : ratio plus proche du desktop */
.qodef-tours-standard-item .qodef-tours-standard-item-image-holder{
  position: relative !important;
}

.qodef-tours-standard-item .qodef-tours-standard-item-image-holder img{
  width: 100% !important;
  height: 520px !important; /* plus haut que 440 */
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

  /* overlay */
  .qodef-tours-standard-item .qodef-tours-standard-item-content-holder{
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    padding: 16px 16px 18px !important;
  }

  /* on annule les vieux déplacements du thème */
  .qodef-tours-standard-item .qodef-tours-standard-item-top-content{
    position: static !important;
    display: block !important;
    min-height: 0 !important;
  }

  .qodef-tours-standard-item .qodef-tours-standard-item-top-item{
    position: static !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
  }

  /* tags en haut à gauche, sans réserve pour le prix */
  .qodef-tours-standard-item .qodef-tours-tour-categories-holder{
    position: absolute !important;
    top: 16px !important;
    left: 16px !important;
    right: auto !important;
    max-width: 70% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 4 !important;
  }

  .qodef-tours-standard-item .qodef-tours-tour-categories-item{
    width: auto !important;
    margin: 0 !important;
    float: none !important;
  }

  .qodef-tours-standard-item .qodef-tours-tour-categories-item a{
    display: inline-flex !important;
    align-items: center !important;
    padding: 7px 10px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  /* prix discret ou masqué si tu préfères */
  .qodef-tours-standard-item .qodef-tours-standard-item-price-and-rating-holder{
    top: 16px !important;
    right: 16px !important;
    z-index: 5 !important;
  }

  .qodef-tours-standard-item .qodef-tours-item-price{
    font-size: 18px !important;
    line-height: 1 !important;
  }

  .qodef-tours-standard-item .qodef-tours-item-price-holder::before{
    font-size: 11px !important;
    margin-bottom: 3px !important;
    line-height: 1.1 !important;
  }

  /* bloc bas */
  .qodef-tours-standard-item .qodef-tours-standard-item-content-inner{
    margin-top: auto !important;
    padding: 0 !important;
  }

  .qodef-tours-standard-item .qodef-tour-title{
    font-size: 30px !important;
    line-height: 1.03 !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
  }

  .qodef-tours-standard-item .qodef-tours-standard-item-excerpt{
    font-size: 13px !important;
    line-height: 1.2 !important;
    margin-top: 8px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .qodef-owl-slider .owl-item .qodef-tours-standard-item{
    width: 100% !important;
    max-width: 100% !important;
  }
}







  /* BLOC VALEURS PAGE ACCUEIL */

@media (max-width: 768px){

  /* 1. On supprime le gros padding du thème */
  .qodef-iwt.qodef-iwt-icon-top .qodef-iwt-content{
    padding-top: 10px !important; /* petit espace propre */
  }

  /* 2. On supprime le bloc icône vide */
  .qodef-iwt .qodef-iwt-icon{
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 3. Espace ENTRE les blocs */
  .qodef-eh-item{
    margin-bottom: 18px !important;
  }

  /* 4. Espace AU-DESSUS du premier bloc */
  .qodef-eh-item:first-child{
    margin-top: 40px !important;
  }

  /* 5. Ajustement du contenu */
  .qodef-iwt-title{
    margin-bottom: 6px !important;
  }

  .qodef-iwt-text{
    margin-top: 0 !important;
    line-height: 1.4 !important;
  }

}




















  /* FIXER LE PROBLEME DE CARROUSEL CARTES VOYAGE QUI SAUTE SUR MOBILE */


@media (max-width: 768px){
  .qodef-owl-slider .owl-stage,
  .qodef-owl-slider .owl-item{
    touch-action: pan-y pan-x;
  }

  .qodef-tours-standard-item .qodef-tours-standard-item-content-holder{
    pointer-events: none !important;
  }

  .qodef-tours-standard-item a,
  .qodef-tours-standard-item .qodef-tours-tour-categories-item a{
    -webkit-tap-highlight-color: transparent;
  }
}







@media (max-width: 768px){

  .qodef-owl-slider,
  .qodef-owl-slider .owl-stage-outer,
  .qodef-owl-slider .owl-stage,
  .qodef-owl-slider .owl-item{
    touch-action: pan-y !important;
  }

  .qodef-tours-standard-item .qodef-tours-standard-item-content-holder{
    pointer-events: none !important;
  }

  .qodef-tours-standard-item .qodef-tours-tour-categories-item a{
    pointer-events: auto !important;
  }

  .ef-region-carousel-block .ef-tour-card-link{
    display: none !important;
  }
}






  /* tags en haut à gauche */
  .qodef-tours-standard-item .qodef-tours-tour-categories-holder{
    position: absolute !important;
    top: 16px !important;
    left: 16px !important;
    right: auto !important;
    max-width: 72% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 4 !important;
  }

  .qodef-tours-standard-item .qodef-tours-tour-categories-item{
    width: auto !important;
    margin: 0 !important;
    float: none !important;
  }

  .qodef-tours-standard-item .qodef-tours-tour-categories-item a{
    display: inline-flex !important;
    align-items: center !important;
    padding: 9px 14px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    border-width: 1.5px !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
  }

  /* prix */
  .qodef-tours-standard-item .qodef-tours-standard-item-price-and-rating-holder{
    top: 16px !important;
    right: 16px !important;
    z-index: 5 !important;
  }

  .qodef-tours-standard-item .qodef-tours-item-price{
    font-size: 24px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
  }

  .qodef-tours-standard-item .qodef-tours-item-price-holder::before{
    font-size: 13px !important;
    margin-bottom: 4px !important;
    line-height: 1.1 !important;
    font-weight: 600 !important;
  }







/* =========================================
   EF — Carte régions large + pill recadrée sur mobile
   ========================================= */
@media (max-width: 768px){

  .home .ef-map{
    --ef-map-mobile-width: 122vw;
    max-width: none !important;
    width: var(--ef-map-mobile-width) !important;
    margin-left: 50% !important;
    transform: translateX(-50%) !important;
  }

  .home .ef-map svg{
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    display: block !important;
  }

  /* la pill reste visuellement dans l'écran */
  .home .ef-map .ef-map-pill{
    left: calc((var(--ef-map-mobile-width) - 100vw) / 2 + 12px) !important;
    top: 12px !important;
    max-width: calc(100vw - 24px) !important;
  }
}


/* =========================================
   EF — PILLS : plus de largeur utile mobile
   ========================================= */
@media (max-width: 768px){

  .home .ef-pills-block{
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  .home .ef-pills-row{
    margin: 0 !important;
    padding: 0 !important;
  }

}@media (max-width: 768px){
  .home .vc_column_container > .vc_column-inner{
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}





/* =========================================================
   EF — Coup de coeur des voyageurs : mobile plus carré
   ========================================================= */
@media (max-width: 768px){

  /* un peu de marge latérale sur la zone */
  .qodef-tours-destination-holder.qodef-destination-standard{
    padding-left: 30px !important;
    padding-right: 30px !important;
    box-sizing: border-box !important;
  }

  /* carte moins arrondie */
  .qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-content{
    border-radius: 22px !important;
    overflow: hidden !important;
  }

  /* format carré */
  .qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-content::before{
    padding-top: 100% !important;
  }

  /* image bien calée */
  .qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-image,
  .qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-image img{
    border-radius: 0 !important;
  }

  .qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-image img{
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  /* titre centré, un peu plus proche du style thème */
  .qodef-tours-destination-holder.qodef-destination-standard .qodef-tdi-title{
    font-size: 22px !important;
    line-height: 1.08 !important;
    padding: 0 18px !important;
  }

  
}

.qodef-destination-has-featured-mark{
  display: none !important;
}

 /* espace vertical entre les cartes */
  .qodef-tours-destination-holder .qodef-grid-list-item{
    margin-bottom: 10px !important;
  }


  /* =========================================
   EF — Evasion du moment centrée sur mobile
   ========================================= */
@media (max-width: 768px){

  .ef-hero-moment .owl-item{
    margin-right: 0 !important;
  }

  .ef-hero-moment .owl-stage{
    display: flex !important;
    justify-content: center !important;
  }

}






/* =========================================
   EF — Stickers mobile plus impactants
   ========================================= */
@media (max-width: 768px){

  /* zone stickers : moins de vide autour */
  .ef-sticker-strip{
    justify-content: center !important;
    gap: 20px !important;
    padding: 8px 16px 14px !important;
  }

  /* chaque sticker */
  .ef-sticker{
    flex: 0 0 auto !important;
    width: 40vw !important;
    max-width: 170px !important;
    min-width: 130px !important;
    padding: 0 !important;
    transform: none !important;
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.14));
  }

  /* image sticker */
  .ef-sticker img{
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    transform: none !important;
  }
}





/* =========================================
   EF — Padding mobile bloc "Découvrez tous nos guides"
   ========================================= */
@media (max-width: 768px){

  .vc_column_container.vc_col-sm-12.vc_col-lg-12.vc_col-md-10 > .vc_column-inner{
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

}






/* =========================================
   EF — FIX mobile width (supprime le 300px)
   ========================================= */
@media only screen and (max-width: 480px){

  .qodef-container-inner,
  .qodef-grid,
  .qodef-row-grid-section{
    width: 100% !important;
    max-width: 100% !important;
  }

}





@media only screen and (max-width: 480px){

  .qodef-custom-class-fp .qodef-tours-filter-horizontal{
    margin-top: -350px;
    
    /* espace gauche / droite */
    padding-left: 30px;
    padding-right: 30px;
    box-sizing: border-box;
  }

}




/* =========================================
   EF — Bloc icônes padding mobile
   ========================================= */
@media (max-width: 768px){

  .qodef-row-grid-section{
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }

}



@media only screen and (max-width: 1024px) {
    .qodef-login-register-widget.qodef-user-not-logged-in .qodef-login-opener {
        color: #b57b39 !important;
    }
}




@media (max-width: 768px) {
    .qodef-mobile-header .qodef-position-left-inner {
        padding-left: 30px;
    }
}






/* =========================================================
   EF — REGION PAGE MOBILE : resserrage ciblé
   ========================================================= */
@media (max-width: 768px){

  /* Bloc "Région" */
  body:has(.ef-region-page) .ef-eyebrow{
    margin-bottom: 2px !important;
  }

  /* Titre principal */
  body:has(.ef-region-page) .ef-page-h1{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    font-size: 28px !important;
    line-height: 1.05 !important;
  }

  /* Si WPBakery ajoute de l'air autour du bloc texte */
  body:has(.ef-region-page) .wpb_text_column.wpb_content_element{
    margin-bottom: 8px !important;
  }

  body:has(.ef-region-page) .wpb_text_column .wpb_wrapper > *:last-child{
    margin-bottom: 0 !important;
  }

  /* Divider entre sections */
  body:has(.ef-region-page) .vc_row.ef-divider{
    height: 1px !important;
    margin-top: 12px !important;
    margin-bottom: 12px !important;
  }
}




/* =========================================================
   EF — FRISE HORIZONTALE A PROPOS — VERSION ALIGNÉE
   ========================================================= */

.ef-hz-timeline-wrap{
  width: 100%;
  padding: 90px 0 110px;
  background: #f4efe4;
  overflow: hidden;
}

.ef-hz-timeline-intro{
  max-width: 860px;
  margin: 0 auto 42px;
  padding: 0 24px;
  text-align: center;
}

.ef-hz-timeline-kicker{
  display: inline-flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
  color: #b88a4a;
  font-family: 'OwlSight', serif;
  font-size: 22px;
  line-height: 1;
}

.ef-hz-timeline-kicker:before,
.ef-hz-timeline-kicker:after{
  content: "";
  width: 54px;
  height: 1px;
  background: rgba(184,138,74,.45);
}

.ef-hz-timeline-intro h2{
  margin: 0 0 18px;
  font-size: clamp(42px, 5vw, 76px);
  line-height: .96;
  color: #111;
}

.ef-hz-timeline-intro p{
  max-width: 760px;
  margin: 0 auto;
  font-size: 18px;
  line-height: 1.72;
  color: #4a4a4a;
}

.ef-hz-timeline-shell{
  position: relative;
  padding: 0 0 78px;
}

.ef-hz-timeline-nav{
  position: absolute;
  left: 38px;
  bottom: 0;
  z-index: 40;
  display: flex;
  gap: 14px;
}

.ef-hz-arrow{
  width: 52px;
  height: 52px;
  border: 1px solid rgba(184,138,74,.55);
  border-radius: 999px;
  background: transparent;
  color: #b88a4a;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: .18s ease;
}

.ef-hz-arrow span{
  font-size: 25px;
  line-height: 1;
}

.ef-hz-arrow:hover{
  background: #b88a4a;
  color: #fff;
  transform: translateY(-1px);
}

.ef-hz-arrow.is-disabled{
  opacity: .35;
  pointer-events: none;
}

/* rail */
.ef-hz-timeline{
  --line-y: 320px;
  position: relative;
  display: flex;
  overflow-x: auto;
  overflow-y: visible;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 20px 48px 40px 48px;
  min-height: 650px;
}

.ef-hz-item--bottom .ef-hz-card{
  top: 390px;
}

.ef-hz-photo-caption{
  display: block;
  margin-top: 12px;
  font-size: 12px;
  line-height: 1.4;
  color: #7a6a55;
  text-align: center;
  max-width: 100%;
}

.ef-hz-timeline::-webkit-scrollbar{
  display: none;
}

/* ligne horizontale */
.ef-hz-timeline:before{
  display: none;
}

.ef-hz-item:before,
.ef-hz-item:last-child:after{
  width: 12px;
  height: 12px;
  background: #c49a60;
  box-shadow: 0 0 0 10px #f4efe4;
}

.ef-hz-card-inner:after{
  background: rgba(196,154,96,.45);
}

/* item */
.ef-hz-item{
  position: relative;
  flex: 0 0 390px;
  min-width: 390px;
  height: 610px;
  scroll-snap-align: start;
}

/* point */
.ef-hz-item:before{
  content: "";
  position: absolute;
  left: 0;
  top: var(--line-y);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #c49a60;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 8px #f4efe4;
  z-index: 6;
}

.ef-hz-item:last-child:after{
  content: "";
  position: absolute;
  right: 0;
  top: var(--line-y);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #c49a60;
  transform: translate(50%, -50%);
  box-shadow: 0 0 0 8px #f4efe4;
  z-index: 6;
}

/* cartes */
.ef-hz-card{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 245px;
  z-index: 2;
}

.ef-hz-card-inner{
  position: relative;
}

/* position stricte haut/bas */
.ef-hz-item--top .ef-hz-card{
  top: 24px;
}

.ef-hz-item--bottom .ef-hz-card{
  top: 406px;
}

/* connecteur */
.ef-hz-card-inner:after{
  content: "";
  position: absolute;
  left: 50%;
  width: 1px;
  background: rgba(212,191,152,.95);
  transform: translateX(-50%);
}

.ef-hz-item--top .ef-hz-card-inner:after{
  top: 100%;
  height: 28px;
}

.ef-hz-item--bottom .ef-hz-card-inner:after{
  bottom: 100%;
  height: 28px;
}

/* textes sans bloc */
.ef-hz-card:not(.ef-hz-card--image):not(.ef-hz-card--highlight) .ef-hz-card-inner{
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  border: 0 !important;
}

.ef-hz-card--highlight .ef-hz-card-inner{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* typo */
.ef-hz-year{
  margin-bottom: 10px;
  font-size: 12px;
  line-height: 1;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #b88a4a;
  font-weight: 700;
}

.ef-hz-card h3{
  margin: 0 0 12px;
  font-size: 22px;
  line-height: 1.06;
  color: #111;
}

.ef-hz-card p{
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 1.58;
  color: #363636;
}

.ef-hz-card p:last-child{
  margin-bottom: 0;
}

/* image */
.ef-hz-card--image{
  width: 215px;
}

.ef-hz-card--image img{
  display: block;
  width: 100%;
  height: auto;
  border-radius: 2px;
  box-shadow: 0 16px 34px rgba(0,0,0,.08);
}

/* caption */
.ef-hz-photo-caption{
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.4;
  color: #7a6a55;
}

/* variations */
.ef-hz-item:nth-child(1) .ef-hz-card{ width: 255px; }
.ef-hz-item:nth-child(3) .ef-hz-card{ width: 210px; }
.ef-hz-item:nth-child(4) .ef-hz-card{ width: 245px; }
.ef-hz-item:nth-child(5) .ef-hz-card{ width: 240px; }
.ef-hz-item:nth-child(7) .ef-hz-card{ width: 220px; }
.ef-hz-item:nth-child(8) .ef-hz-card{ width: 235px; }
.ef-hz-item:nth-child(10) .ef-hz-card{ width: 225px; }
.ef-hz-item:nth-child(11) .ef-hz-card{ width: 235px; }

.ef-hz-item:nth-child(2) .ef-hz-card--image{ width: 215px; }
.ef-hz-item:nth-child(6) .ef-hz-card--image{ width: 220px; }
.ef-hz-item:nth-child(9) .ef-hz-card--image{ width: 220px; }

/* tablet */
@media (max-width: 1024px){
  .ef-hz-timeline{
    --line-y: 300px;
    min-height: 610px;
    padding-left: 36px;
    padding-right: 36px;
  }

  .ef-hz-item{
    flex: 0 0 340px;
    min-width: 340px;
    height: 580px;
  }

  .ef-hz-item--bottom .ef-hz-card{
    top: 382px;
  }

  .ef-hz-card{
    width: 220px;
  }

  .ef-hz-card h3{
    font-size: 20px;
  }
}

/* mobile = on garde l'horizontal + flèches */
@media (max-width: 767px){
  .ef-hz-timeline-wrap{
    padding: 58px 0 72px;
  }

  .ef-hz-timeline-intro{
    margin-bottom: 28px;
    padding: 0 16px;
  }

  .ef-hz-timeline-kicker{
    font-size: 18px;
    gap: 10px;
    margin-bottom: 12px;
  }

  .ef-hz-timeline-kicker:before,
  .ef-hz-timeline-kicker:after{
    width: 30px;
  }

  .ef-hz-timeline-intro h2{
    font-size: 42px;
    line-height: 1;
    margin-bottom: 12px;
  }

  .ef-hz-timeline-intro p{
    font-size: 15px;
    line-height: 1.6;
  }

  .ef-hz-timeline-shell{
    padding: 0 0 74px;
  }

  .ef-hz-timeline-nav{
    left: 16px;
    bottom: 0;
    gap: 12px;
  }

  .ef-hz-arrow{
    width: 46px;
    height: 46px;
  }

  .ef-hz-arrow span{
    font-size: 22px;
  }

  .ef-hz-timeline{
    --line-y: 250px;
    min-height: 520px;
    padding: 16px 22px 12px 22px;
  }

  .ef-hz-timeline:before{
    left: 22px;
    right: 22px;
    top: var(--line-y);
  }

  .ef-hz-item{
    flex: 0 0 255px;
    min-width: 255px;
    height: 470px;
  }

  .ef-hz-item:before{
    top: var(--line-y);
    box-shadow: 0 0 0 6px #f4efe4;
  }

  .ef-hz-item:last-child:after{
    top: var(--line-y);
    box-shadow: 0 0 0 6px #f4efe4;
  }

  .ef-hz-card{
    width: 175px !important;
  }

  .ef-hz-card--image{
    width: 165px !important;
  }

  .ef-hz-item--top .ef-hz-card{
    top: 18px;
  }

  .ef-hz-item--bottom .ef-hz-card{
    top: 300px;
  }

  .ef-hz-item--top .ef-hz-card-inner:after,
  .ef-hz-item--bottom .ef-hz-card-inner:after{
    height: 22px;
  }

  .ef-hz-year{
    font-size: 10px;
    margin-bottom: 8px;
  }

  .ef-hz-card h3{
    font-size: 16px;
    line-height: 1.08;
    margin-bottom: 8px;
  }

  .ef-hz-card p{
    font-size: 12px;
    line-height: 1.45;
    margin-bottom: 8px;
  }

  .ef-hz-photo-caption{
    font-size: 10px;
    margin-top: 6px;
  }
}

.ef-hz-timeline-intro h2{
  font-size: 40px !important;
  line-height: 1.1;
}

@media (max-width: 767px){
  .ef-hz-timeline-intro h2{
    font-size: 28px !important;
  }
}

.ef-hz-card--image{
  height: auto !important;
}

.ef-hz-card--image .ef-hz-card-inner{
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ef-hz-card{
  overflow: visible !important;
}


.ef-hz-photo-caption{
  margin-top: 12px;
  font-size: 12px;
  line-height: 1.4;
  color: #7a6a55;
  text-align: center;
}


@media only screen and (max-width: 680px) {
  body.page-id-5749 .qodef-eh-item-content {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
}







/* =========================================
   EF — FRISE A PROPOS — FIX FINAL
   ========================================= */

/* On coupe la ligne globale d'origine */
.ef-hz-timeline::before{
  display: none !important;
  content: none !important;
}

/* Le conteneur garde bien le scroll horizontal */
.ef-hz-timeline-shell{
  overflow: hidden;
}

.ef-hz-timeline{
  position: relative;
  overflow-x: auto;
  overflow-y: visible;
}

/* Chaque item devient repère */
.ef-hz-item{
  position: relative;
}

/* Segments entre les points : seulement pour les items qui ne sont pas le dernier */
.ef-hz-item:not(:last-child)::after{
  content: "";
  position: absolute;
  top: var(--line-y);
  left: calc(50% + 10px);
  width: calc(100% - 20px);
  height: 2px;
  background: #c49a60;
  z-index: 1;
  pointer-events: none;
}

/* On garde le point de départ au-dessus */
.ef-hz-item::before{
  z-index: 2;
}

/* On remet explicitement le point final rond */
.ef-hz-item:last-child::after{
  content: "";
  position: absolute;
  right: 0;
  top: var(--line-y);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #c49a60;
  transform: translate(50%, -50%);
  box-shadow: 0 0 0 8px #f4efe4;
  z-index: 6;
}

/* Les cartes restent au-dessus */
.ef-hz-card{
  z-index: 3;
}

/* Vidéos */
.ef-hz-card--video{
  width: 215px;
}

.ef-hz-card--video video{
  display: block;
  width: 100%;
  height: auto;
  min-height: 300px;
  object-fit: cover;
  border-radius: 2px;
  box-shadow: 0 16px 34px rgba(0,0,0,.08);
  background: #ddd;
}

.ef-hz-card--video .ef-hz-card-inner{
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Logo Atout France */
.ef-hz-badge-logo{
  margin-top: 14px;
}

.ef-hz-badge-logo img{
  width: 90px;
  height: auto;
  display: block;
}

/* Desktop : on garde les positions d'origine */
.ef-hz-item--top .ef-hz-card{
  top: 20px;
}

.ef-hz-item--bottom .ef-hz-card{
  top: 390px;
}

/* Tablette */
@media (max-width: 1024px){
  .ef-hz-card--video{
    width: 200px;
  }

  .ef-hz-card--video video{
    min-height: 280px;
  }

  .ef-hz-badge-logo img{
    width: 82px;
  }

  .ef-hz-item--bottom .ef-hz-card{
    top: 382px;
  }
}

/* Mobile */
@media (max-width: 767px){
  .ef-hz-card--video{
    width: 165px !important;
  }

  .ef-hz-card--video video{
    min-height: 220px;
  }

  .ef-hz-badge-logo img{
    width: 74px;
  }

  .ef-hz-item--top .ef-hz-card{
    top: 18px;
  }

  .ef-hz-item--bottom .ef-hz-card{
    top: 300px;
  }
}







/* =========================================
   FOOTER PREMIUM TEXTURE
   ========================================= */

.qodef-page-footer,
.qodef-page-footer .qodef-footer-top-holder,
.qodef-page-footer .qodef-footer-top-inner,
.qodef-page-footer .container,
.qodef-page-footer .container-inner,
.qodef-page-footer .qodef-container-inner{
  background: #1f1a16 !important;
  color: #f5f1e8 !important;
}

.qodef-page-footer .qodef-footer-top-holder{
  position: relative;
  overflow: hidden;
}

.qodef-page-footer .qodef-footer-top-holder::before{
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("https://www.transparenttextures.com/patterns/asfalt-light.png");
  opacity: 0.12;
  pointer-events: none;
}

/* liens */
.qodef-page-footer a{
  color: #e7d7b8 !important;
  text-decoration: none;
  transition: 0.3s;
}

.qodef-page-footer a:hover{
  color: #c49a60 !important;
}

/* listes */
.footer-col ul,
.mega-voyage ul,
.mega-destinations ul{
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-col li,
.mega-voyage li,
.mega-destinations li{
  margin-bottom: 8px;
}

/* titres */
.qodef-page-footer h4{
  font-weight: 600;
  margin-bottom: 15px;
  color: #ffffff !important;
}

/* logos */
.footer-trust img{
  display: block;
  max-height: 28px;
  width: auto;
  max-width: 95px;
  object-fit: contain;
  opacity: 0.82;
}

.footer-trust img{
  display: block;
  max-height: 34px;
  width: auto;
  max-width: 110px;
  object-fit: contain;
  opacity: 0.95;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* bloc contact */
.footer-contact{
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.footer-contact a{
  font-size: 14px;
  opacity: 0.9;
}

/* logos */
.footer-trust{
  margin-top: 22px;
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
}

.footer-trust img{
  max-height: 26px;
  width: auto;
  object-fit: contain;
  opacity: 0.85;
  transition: 0.3s;
}

.footer-trust img:hover{
  opacity: 1;
}





/* 🔥 suppression totale du bloc header article */
body.single-post .qodef-post-heading{
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* sécurité : on vire aussi les sous-blocs */
body.single-post .qodef-post-heading .qodef-post-image,
body.single-post .qodef-post-heading .qodef-post-info-category{
  display: none !important;
}





/* =========================================
   EF — Filtres catégories carnet de voyage
   ========================================= */

.ef-blog-filters{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:0 0 34px;
}

.ef-blog-filter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border-radius:999px;
  border:2px solid #c49a60;
  background:#fff;
  color:#111;
  text-decoration:none;
  font-size:14px;
  line-height:1;
  transition:.2s ease;
}

.ef-blog-filter:hover{
  background:#c49a60;
  color:#fff;
}

.ef-blog-filter.is-active{
  background:#111;
  border-color:#111;
  color:#fff;
}

.ef-blog-filter[data-slug="nos-expeditions-partagees"]{
  border-color:#2d6a4f;
  color:#2d6a4f;
}

.ef-blog-filter[data-slug="nos-expeditions-partagees"]:hover,
.ef-blog-filter[data-slug="nos-expeditions-partagees"].is-active{
  background:#2d6a4f;
  border-color:#2d6a4f;
  color:#fff;
}

/* =========================================
   EF — Grille articles carnet
   ========================================= */

.ef-blog-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:40px 32px;
}

.ef-blog-card{
  display:flex;
  flex-direction:column;
}

.ef-blog-card__image img{
  display:block;
  width:100%;
  height:auto;
  border-radius:0;
}

.ef-blog-card__body{
  padding-top:16px;
}

.ef-blog-card__cats{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
}

.ef-blog-card__cat{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#f3eee5;
  color:#111;
  font-size:12px;
  line-height:1;
}

.ef-blog-card__cat[data-slug="nos-expeditions-partagees"]{
  background:#2d6a4f;
  color:#fff;
}

.ef-blog-card__title{
  margin:0 0 10px;
  font-size:30px;
  line-height:1.05;
}

.ef-blog-card__title a{
  color:#111;
  text-decoration:none;
}

.ef-blog-card__excerpt{
  font-size:14px;
  line-height:1.7;
  color:#444;
}

@media (max-width: 1024px){
  .ef-blog-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px){
  .ef-blog-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .ef-blog-card__title{
    font-size:24px;
  }
}





/* EF — Booking form : bouton unique noir + hide availability */
.qodef-tour-booking-form-holder .qodef-tours-check-availability{
  display:none !important;
}

.qodef-tour-booking-form-holder .qodef-btn,
.qodef-tour-booking-form-holder input[type="submit"],
.qodef-tour-booking-form-holder .qodef-btn.qodef-btn-solid,
.qodef-tour-booking-form-holder .qodef-btn.qodef-btn-medium{
  background:#111111 !important;
  border-color:#111111 !important;
  color:#ffffff !important;
}

.qodef-tour-booking-form-holder .qodef-btn:hover,
.qodef-tour-booking-form-holder input[type="submit"]:hover{
  background:#000000 !important;
  border-color:#000000 !important;
  color:#ffffff !important;
}





/* =========================
   EF — Formulaire devis sidebar
   ========================= */

.ef-tour-contact-form .wpcf7 form,
.ef-tour-contact-form .wpcf7 p{
  margin:0 !important;
}

.ef-tour-contact-form .wpcf7-spinner{
  display:none !important;
}

.ef-tour-contact-form .ef-cf7-booking{
  margin-top:26px;
}

.ef-tour-contact-form .ef-field{
  position:relative;
  margin:0 0 12px 0;
}

.ef-tour-contact-form .ef-field .wpcf7-form-control-wrap{
  display:block;
}

.ef-tour-contact-form .ef-icon{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  color:#fff;
  font-size:20px;
  z-index:2;
  pointer-events:none;
}

.ef-tour-contact-form .ef-field input,
.ef-tour-contact-form .ef-field textarea{
  width:100%;
  background:#d2af82 !important;
  color:#ffffff !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:18px 16px 18px 54px !important;
  font-size:16px;
  line-height:1.3;
}

.ef-tour-contact-form .ef-field input::placeholder,
.ef-tour-contact-form .ef-field textarea::placeholder{
  color:#ffffff !important;
  opacity:1;
}

.ef-tour-contact-form .ef-field input:-webkit-autofill,
.ef-tour-contact-form .ef-field textarea:-webkit-autofill{
  -webkit-text-fill-color:#ffffff !important;
  box-shadow:0 0 0 1000px #d2af82 inset !important;
}

.ef-tour-contact-form .ef-field-textarea .ef-icon{
  top:22px;
  transform:none;
}

.ef-tour-contact-form .ef-field textarea{
  min-height:170px;
  resize:vertical;
  padding-top:18px !important;
}

.ef-tour-contact-form .ef-submit-wrap{
  margin-top:18px;
}

.ef-tour-contact-form input[type="submit"]{
  width:100%;
  background:#111111 !important;
  border:0 !important;
  color:#ffffff !important;
  border-radius:999px !important;
  padding:18px 20px !important;
  font-size:16px;
  font-weight:600;
  text-transform:none !important;
  letter-spacing:0 !important;
  cursor:pointer;
}

.ef-tour-contact-form input[type="submit"]:hover{
  background:#000000 !important;
  color:#ffffff !important;
}

.ef-tour-contact-form .wpcf7-response-output{
  margin:14px 0 0 0 !important;
  padding:10px 12px !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.4) !important;
}

.ef-tour-contact-form .wpcf7-not-valid-tip{
  color:#fff !important;
  font-size:12px;
  margin-top:6px;
}






.ef-article-gallery{
  margin: 42px 0;
}

.ef-gallery-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:18px;
}

.ef-gallery-grid figure{
  margin:0;
}

.ef-gallery-grid img{
  display:block;
  width:100%;
  height:340px;
  object-fit:cover;
  border-radius:18px;
}

@media (max-width: 767px){
  .ef-gallery-grid{
    grid-template-columns:1fr;
  }

  .ef-gallery-grid img{
    height:auto;
  }
}










/* =========================================
   FOOTER — fond unique cuivre
   ========================================= */

/* 1. Fond global (UNE seule source) */
.qodef-page-footer{
  position: relative;
  overflow: hidden;
  background: linear-gradient(
    180deg,
    #caa15a 0%,
    #b57b39 45%,
    #8f5f2d 100%
  ) !important;
}

/* 2. On enlève TOUS les fonds internes */
.qodef-page-footer .qodef-footer-top-holder,
.qodef-page-footer .qodef-footer-top-inner,
.qodef-page-footer .qodef-footer-bottom-holder,
.qodef-page-footer .qodef-footer-bottom-inner,
.qodef-page-footer .container,
.qodef-page-footer .container-inner,
.qodef-page-footer .qodef-container-inner{
  background: transparent !important;
}

/* 3. Texte */
.qodef-page-footer,
.qodef-page-footer p,
.qodef-page-footer li,
.qodef-page-footer span,
.qodef-page-footer a,
.qodef-page-footer h1,
.qodef-page-footer h2,
.qodef-page-footer h3,
.qodef-page-footer h4{
  color: #f5f1e8 !important;
}

/* 4. Petit grain (option premium) */
.qodef-page-footer::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.18;
  background-image: radial-gradient(rgba(0,0,0,.10) 0.8px, transparent 0.8px);
  background-size: 4px 4px;
}










.ef-formules-page{
  background:#f6f1e5;
  color:#111;
}

.ef-formules-hero{
  padding:84px 20px 54px;
  background:linear-gradient(180deg,#f6f1e5 0%, #efe3d2 100%);
  text-align:center;
}

.ef-formules-hero__inner{
  max-width:920px;
  margin:0 auto;
}

.ef-eyebrow{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:14px;
  color:rgba(0,0,0,.55);
}

.ef-formules-page h1,
.ef-formules-page h2,
.ef-formules-page h3,
.ef-formules-page h4{
  margin-top:0;
}

.ef-formules-page h1{
  font-size:48px;
  line-height:1.05;
  margin-bottom:18px;
}

.ef-formules-page h2{
  font-size:34px;
  line-height:1.1;
  margin-bottom:20px;
}

.ef-formules-page h3{
  font-size:26px;
  line-height:1.15;
  margin-bottom:12px;
}

.ef-formules-page h4{
  font-size:18px;
  line-height:1.2;
  margin:22px 0 14px;
}

.ef-formules-lead{
  font-size:22px;
  line-height:1.5;
  margin-bottom:14px;
}

.ef-formules-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  margin-top:18px;
  border-radius:999px;
  background:#b57b39;
  color:#fff;
  font-weight:600;
}

.ef-formules-wrap{
  max-width:1240px;
  margin:0 auto;
  padding:24px 20px 84px;
}

.ef-formules-intro{
  max-width:850px;
  margin:0 auto 48px;
  text-align:center;
}

.ef-formules-intro p{
  font-size:18px;
  line-height:1.7;
}

.ef-formules-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26px;
  margin-bottom:64px;
}

.ef-formule-card{
  background:#fff;
  border-radius:26px;
  padding:30px;
  box-shadow:0 18px 40px rgba(0,0,0,.07);
}

.ef-formule-card--accent{
  border:1px solid rgba(181,123,57,.18);
}

.ef-formule-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  margin-bottom:16px;
  border-radius:999px;
  background:rgba(181,123,57,.12);
  color:#8f5f2d;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.ef-formule-price{
  font-size:28px;
  line-height:1.15;
  font-weight:700;
  color:#8f5f2d;
  margin:0 0 8px;
}

.ef-formule-note{
  font-size:14px;
  color:rgba(0,0,0,.6);
  margin-bottom:18px;
}

.ef-formule-card__content p{
  line-height:1.7;
}

.ef-formule-card ul{
  margin:0;
  padding-left:18px;
}

.ef-formule-card li{
  margin-bottom:10px;
  line-height:1.6;
}

.ef-pricing-examples{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin-top:20px;
}

.ef-pricing-example{
  background:#f8f3ea;
  border-radius:18px;
  padding:18px 18px 16px;
}

.ef-pricing-example p{
  margin:6px 0;
}

.ef-formules-factors{
  margin-top:10px;
}

.ef-formules-factors > p{
  max-width:860px;
  margin:0 0 28px;
  line-height:1.7;
}

.ef-factors-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}

.ef-factor-card{
  background:#fff;
  border-radius:24px;
  padding:26px;
  box-shadow:0 18px 40px rgba(0,0,0,.06);
}

.ef-factor-card p{
  line-height:1.7;
}

.ef-formules-conclusion{
  margin-top:64px;
}

.ef-formules-conclusion__inner{
  max-width:920px;
  margin:0 auto;
  padding:40px 36px;
  border-radius:28px;
  background:linear-gradient(180deg,#efe3d2 0%, #e7d7c0 100%);
  text-align:center;
}

.ef-formules-conclusion__inner p{
  font-size:18px;
  line-height:1.75;
}

@media (max-width: 900px){
  .ef-formules-page h1{
    font-size:36px;
  }

  .ef-formules-page h2{
    font-size:28px;
  }

  .ef-formules-page h3{
    font-size:22px;
  }

  .ef-formules-lead{
    font-size:19px;
  }

  .ef-formules-grid,
  .ef-factors-grid{
    grid-template-columns:1fr;
  }

  .ef-formule-card,
  .ef-factor-card,
  .ef-formules-conclusion__inner{
    padding:22px;
  }
}





.ef-atouts-page{
  background:#f6f1e5;
  color:#111;
}

.ef-atouts-hero{
  padding:80px 20px 50px;
  background:linear-gradient(180deg,#f6f1e5 0%, #efe5d2 100%);
  text-align:center;
}

.ef-atouts-hero__inner{
  max-width:900px;
  margin:0 auto;
}

.ef-eyebrow{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:14px;
  color:rgba(0,0,0,.55);
}

.ef-atouts-page h1,
.ef-atouts-page h2,
.ef-atouts-page h3{
  margin-top:0;
}

.ef-atouts-page h1{
  font-size:48px;
  line-height:1.05;
  margin-bottom:18px;
}

.ef-atouts-page h2{
  font-size:34px;
  line-height:1.1;
  margin-bottom:20px;
}

.ef-atouts-page h3{
  font-size:24px;
  line-height:1.15;
  margin-bottom:14px;
}

.ef-atouts-wrap{
  max-width:1240px;
  margin:0 auto;
  padding:20px 20px 80px;
}

.ef-atouts-intro{
  max-width:900px;
  margin:0 auto 50px;
}

.ef-atouts-intro p{
  font-size:18px;
  line-height:1.7;
}

.ef-atouts-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:24px;
  margin-bottom:60px;
}

.ef-atouts-card{
  background:#fff;
  border-radius:24px;
  padding:28px 28px 24px;
  box-shadow:0 18px 40px rgba(0,0,0,.07);
}

.ef-atouts-card ul{
  margin:0;
  padding-left:18px;
}

.ef-atouts-card li{
  margin-bottom:10px;
  line-height:1.6;
}

.ef-atouts-contact,
.ef-atouts-media,
.ef-atouts-gallery{
  margin-top:60px;
}

.ef-atouts-contact__grid,
.ef-atouts-media__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:24px;
}

.ef-atouts-media__grid{
  grid-template-columns:repeat(2, minmax(0,1fr));
}

.ef-atouts-contact__item,
.ef-atouts-media__text{
  background:#fff;
  border-radius:22px;
  padding:24px;
  box-shadow:0 18px 40px rgba(0,0,0,.06);
}

.ef-gallery-grid{
  display:grid;
  gap:24px;
}

.ef-gallery-grid--2{
  grid-template-columns:repeat(2, minmax(0,1fr));
}

.ef-gallery-card{
  margin:0;
  background:#fff;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,.06);
}

.ef-gallery-card img{
  width:100%;
  display:block;
  height:auto;
}

.ef-gallery-card figcaption{
  padding:16px 18px 18px;
  font-size:15px;
  line-height:1.5;
}

.ef-atouts-page a{
  color:#8f5f2d;
  text-decoration:none;
}

.ef-atouts-page a:hover{
  text-decoration:underline;
}

@media (max-width: 900px){
  .ef-atouts-page h1{
    font-size:36px;
  }

  .ef-atouts-page h2{
    font-size:28px;
  }

  .ef-atouts-grid,
  .ef-atouts-contact__grid,
  .ef-atouts-media__grid,
  .ef-gallery-grid--2{
    grid-template-columns:1fr;
  }

  .ef-atouts-intro p{
    font-size:17px;
  }
}



.ef-faq{
  background:#f6f1e5;
  padding:80px 20px;
}

.ef-faq__header{
  text-align:center;
  max-width:700px;
  margin:0 auto 50px;
}

.ef-faq__header h1{
  font-size:42px;
  margin-bottom:10px;
}

.ef-faq__list{
  max-width:900px;
  margin:0 auto;
}

.ef-faq-item{
  background:#fff;
  border-radius:18px;
  margin-bottom:14px;
  box-shadow:0 12px 30px rgba(0,0,0,.05);
  overflow:hidden;
}

.ef-faq-item summary{
  cursor:pointer;
  padding:20px 22px;
  font-weight:600;
  font-size:18px;
  list-style:none;
}

.ef-faq-item summary::-webkit-details-marker{
  display:none;
}

.ef-faq-content{
  padding:0 22px 22px;
}

.ef-faq-content p{
  margin:10px 0;
  line-height:1.6;
  font-size:16px;
}

.ef-faq-item[open]{
  border:1px solid rgba(181,123,57,.2);
}






/* Formulaire devis : réduire vraiment le texte des champs */
.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-email,
.wpcf7-form-control.wpcf7-date,
.wpcf7-form-control.wpcf7-number,
.wpcf7-form-control.wpcf7-textarea,
.wpcf7-form-control.wpcf7-select,
input[type="text"],
input[type="email"],
textarea,
select {
  font-size: 13px !important;
  line-height: 1.25 !important;
}

/* Placeholder */
.wpcf7-form-control::placeholder,
input::placeholder,
textarea::placeholder {
  font-size: 13px !important;
  line-height: 1.25 !important;
}

/* Si ton champ "Nombre de voyageurs" est le plus problématique */
.wpcf7-form-control.wpcf7-number {
  font-size: 12px !important;
}





.tt-menu{
  background:#fff !important;
  border:1px solid rgba(0,0,0,.10) !important;
  border-radius:20px !important;
  box-shadow:0 18px 40px rgba(0,0,0,.12) !important;
  overflow:hidden !important;
  opacity:1 !important;
}

.tt-suggestion{
  padding:14px 18px !important;
  color:#111 !important;
  background:#fff !important;
  font-size:14px !important;
  line-height:1.35 !important;
  opacity:1 !important;
  -webkit-text-fill-color:#111 !important;
}

.tt-suggestion + .tt-suggestion{
  border-top:1px solid rgba(0,0,0,.06) !important;
}

.tt-suggestion:hover,
.tt-suggestion.tt-cursor,
.tt-suggestion.tt-is-under-cursor{
  background:#f6f1e5 !important;
  color:#111 !important;
}

.tt-suggestion strong,
.tt-suggestion .tt-highlight{
  color:#111 !important;
  font-weight:700 !important;
  -webkit-text-fill-color:#111 !important;
}

.tt-menu *{
  color:#111 !important;
  opacity:1 !important;
}






.ef-cat-list {
  background: #fff;
  padding: 28px 32px;
  box-shadow: 0 12px 30px rgba(0,0,0,.06);
}

.ef-cat-list h3 {
  margin: 0 0 22px;
  font-size: 28px;
}

.ef-cat-list a {
  display: block;
  color: #25c6c8;
  font-size: 18px;
  margin-bottom: 14px;
  text-decoration: none;
}





.footer-trust{
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
    margin-top:28px;
}

.footer-trust img{
    height:42px;
    width:auto;
    object-fit:contain;
    opacity:.95;
    transition:all .25s ease;
}

.footer-trust img:hover{
    opacity:1;
    transform:translateY(-2px);
}





.ef-video-moment .vc_video-bg,
.ef-video-moment .vc_video-bg iframe {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 120vw !important;
  height: 67.5vw !important;
  min-height: 120% !important;
  min-width: 177.77vh !important;
  transform: translate(-50%, -50%) scale(1.15) !important;
  pointer-events: none !important;
}

.ef-video-moment {
  overflow: hidden !important;
}




@media (max-width: 767px) {

  .ef-video-moment {
    min-height: 620px !important;
    padding: 55px 20px 70px !important;
  }

  .ef-video-moment .vc_column-inner {
    min-height: auto !important;
    padding: 0 !important;
  }

  .ef-video-moment h2,
  .ef-video-moment .ef-moment-title {
    font-size: 34px !important;
    line-height: 1.05 !important;
    text-align: center !important;
    margin-bottom: 28px !important;
  }

  .ef-video-moment .ef-moment-card {
    width: 82vw !important;
    max-width: 330px !important;
    margin: 0 auto 28px !important;
    display: block !important;
  }

  .ef-video-moment .ef-moment-card img {
    width: 100% !important;
    height: auto !important;
    border-radius: 24px !important;
  }

  .ef-video-moment .ef-moment-buttons,
  .ef-video-moment .vc_btn3-container {
    position: static !important;
    display: block !important;
    text-align: center !important;
    margin-top: 18px !important;
  }

  .ef-video-moment .vc_btn3 {
    width: 100% !important;
    max-width: 330px !important;
    margin: 8px auto !important;
    display: block !important;
    white-space: normal !important;
  }
}


@media (max-width: 767px) {

  .ef-video-moment .owl-stage {
    display: flex !important;
    justify-content: center !important;
    transform: none !important;
    width: 100% !important;
  }

  .ef-video-moment .owl-item {
    width: 82vw !important;
    max-width: 330px !important;
    margin: 0 auto !important;
    float: none !important;
  }

  .ef-video-moment .qodef-tours-standard-item {
    width: 100% !important;
    max-width: 330px !important;
    margin: 0 auto !important;
  }
}




.mega-partners{
  margin-top: 28px;
}

.partners-title{
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 16px;
}

.partners-logos{
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: center;
}

.partners-logos img{
  max-height: 38px;
  width: auto;
  opacity: 0.9;
  transition: opacity .3s ease;
}

.partners-logos img:hover{
  opacity: 1;
}

.partners-text{
  margin-top: 14px;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(255,255,255,0.7);
  max-width: 320px;
}




@media only screen and (max-width: 1024px){

  .qodef-mobile-header .mobile_arrow{
    position: absolute !important;
    top: 0 !important;
    right: 14px !important;
    width: 56px !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    z-index: 20 !important;
    cursor: pointer !important;
  }

  .qodef-mobile-header .mobile_arrow .qodef-sub-arrow{
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    font-size: 20px !important;
    line-height: 1 !important;
    text-align: center !important;
  }

  .qodef-mobile-header nav ul li a{
    padding-right: 82px !important;
  }

}



/* =========================================================
   EF — BARRE DE RECHERCHE MOBILE : pill compacte + drawer
   À coller tout en bas du custom.css
   Ne touche PAS au desktop (≥ 769px)
   ========================================================= */

@media (max-width: 768px) {

  /* ── 1. Cache le formulaire original ── */
  .qodef-tours-filter-holder.qodef-tours-filter-horizontal{
    display: none !important;
  }

  /* ── 2. Overlay ── */
  #ef-search-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(20, 14, 8, 0.52);
    z-index: 9998;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
  }

  #ef-search-overlay.visible {
    display: block;
  }

  /* ── 3. Pill fixe ── */
  #ef-search-pill {
    position: fixed;
    bottom: 24px;
    left: 16px;
    right: 16px;
    z-index: 9997;
    background: #fff;
    border-radius: 999px;
    padding: 11px 12px 11px 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,.22);
    cursor: pointer;
    border: none;
    transition: transform .15s ease, box-shadow .15s ease;
    font-family: 'Poppins', sans-serif;
  }

  #ef-search-pill:active {
    transform: scale(0.985);
    box-shadow: 0 2px 10px rgba(0,0,0,.18);
  }

  #ef-search-pill .ef-pill-icon {
    color: #b57b39;
    display: flex;
    flex-shrink: 0;
  }

  #ef-search-pill .ef-pill-text {
    flex: 1;
    min-width: 0;
    text-align: left;
  }

  #ef-search-pill .ef-pill-main {
    font-size: 14px;
    font-weight: 500;
    color: #1e1a16;
    display: block;
    font-family: 'Poppins', sans-serif;
  }

  #ef-search-pill .ef-pill-sub {
    font-size: 11.5px;
    color: #8a8680;
    display: block;
    margin-top: 1px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: 'Poppins', sans-serif;
  }

  #ef-search-pill .ef-pill-go {
    background: #b57b39;
    border-radius: 50%;
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* ── 4. Drawer ── */
  #ef-search-drawer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: #fff;
    border-radius: 22px 22px 0 0;
    box-shadow: 0 -4px 32px rgba(0,0,0,.13);
    transform: translateY(100%);
    transition: transform .32s cubic-bezier(0.32, 0.72, 0, 1);
    padding-bottom: env(safe-area-inset-bottom, 16px);
    font-family: 'Poppins', sans-serif;
  }

  #ef-search-drawer.open {
    transform: translateY(0);
  }

  /* Handle */
  .ef-drawer-handle-wrap {
    padding: 12px 0 4px;
    display: flex;
    justify-content: center;
  }

  .ef-drawer-handle {
    width: 40px;
    height: 4px;
    background: #d3cfc8;
    border-radius: 2px;
  }

  /* Titre du drawer */
  .ef-drawer-header {
    padding: 8px 20px 14px;
    border-bottom: 0.5px solid rgba(0,0,0,.08);
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .ef-drawer-title {
    font-family: 'OwlSight', serif;
    font-size: 20px;
    font-style: italic;
    font-weight: 400;
    color: #1e1a16;
  }

  .ef-drawer-close {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f0ece6;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #6b6560;
  }

  /* Champs dans le drawer */
  .ef-drawer-fields {
    padding: 0;
  }

  .ef-drawer-field {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 20px;
    border-bottom: 0.5px solid rgba(0,0,0,.07);
  }

  .ef-drawer-field-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #f5ede0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #b57b39;
    font-size: 17px;
  }

  .ef-drawer-field-body {
    flex: 1;
    min-width: 0;
  }

  .ef-drawer-field-label {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #8a8680;
    margin-bottom: 3px;
    font-family: 'Poppins', sans-serif;
  }

  /* Inputs & selects dans le drawer : on réutilise les vrais champs du form */
  #ef-search-drawer input[type="text"],
  #ef-search-drawer .tt-input {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    font-size: 15px !important;
    color: #1e1a16 !important;
    padding: 0 !important;
    height: auto !important;
    line-height: 1.3 !important;
    width: 100% !important;
    font-family: 'Poppins', sans-serif !important;
  }

  #ef-search-drawer input[type="text"]::placeholder,
  #ef-search-drawer .tt-input::placeholder {
    color: #a09c97 !important;
    font-family: 'Poppins', sans-serif !important;
  }

  /* Typeahead hint : on le cache (il se superpose) */
  #ef-search-drawer .tt-hint {
    display: none !important;
  }

  /* Dropdown typeahead : on le laisse fonctionner normalement */
  #ef-search-drawer .tt-menu {
    border-radius: 14px !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.13) !important;
  }

  /* Selects */
  #ef-search-drawer select {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    font-size: 15px !important;
    color: #1e1a16 !important;
    padding: 0 !important;
    height: auto !important;
    line-height: 1.3 !important;
    width: 100% !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    font-family: 'Poppins', sans-serif !important;
    cursor: pointer;
  }

  /* Placeholder select (option vide) */
  #ef-search-drawer select option:first-child {
    color: #a09c97;
  }

  /* Cacher le select2 (on utilise le select natif dans le drawer) */
  #ef-search-drawer .select2-container {
    display: none !important;
  }

  #ef-search-drawer select.select2-hidden-accessible {
    display: block !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    opacity: 1 !important;
    clip: auto !important;
    pointer-events: auto !important;
  }

  /* Bouton submit dans le drawer */
  .ef-drawer-submit-wrap {
    padding: 16px 20px 4px;
  }

  /* On surcharge le bouton submit existant uniquement dans le drawer */
  #ef-search-drawer input[type="submit"] {
    width: 100% !important;
    background: #b57b39 !important;
    border-color: #b57b39 !important;
    color: #fff !important;
    border-radius: 12px !important;
    padding: 15px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    font-family: 'Poppins', sans-serif !important;
    transition: background .2s !important;
  }

  #ef-search-drawer input[type="submit"]:hover {
    background: #c99540 !important;
    border-color: #c99540 !important;
  }

} /* end @media (max-width: 768px) */






@media (max-width: 768px) {

  #ef-search-pill {
    background: #ffffff !important;
    border: none !important;
  }

  #ef-search-pill .ef-pill-main {
    color: #1e1a16 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
  }

  #ef-search-pill .ef-pill-sub {
    color: #8a8680 !important;
    font-size: 11.5px !important;
  }

  #ef-search-pill .ef-pill-icon {
    color: #b57b39 !important;
  }

  #ef-search-pill .ef-pill-go {
    background: #b57b39 !important;
    border-radius: 50% !important;
    width: 34px !important;
    height: 34px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
  }

}



@media (max-width: 768px) {

  #ef-search-overlay.visible {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 999998 !important;
  }

}



@media (max-width: 768px) {

  #ef-search-drawer {
    position: fixed !important;
    top: 50% !important;
    left: 16px !important;
    right: 16px !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    z-index: 999999 !important;
    background: #fff !important;
    border-radius: 22px !important;
    padding: 24px 20px !important;
    box-shadow: 0 20px 60px rgba(0,0,0,.3) !important;
    display: none;
  }

  #ef-search-overlay.visible {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 999998 !important;
    background: rgba(0,0,0,.5) !important;
  }

}


@media (max-width: 768px) {
  #ef-search-drawer .tt-menu {
    pointer-events: auto !important;
    z-index: 1000000 !important;
    touch-action: auto !important;
  }

  #ef-search-drawer .tt-suggestion {
    pointer-events: auto !important;
    padding: 12px 16px !important;
    font-size: 15px !important;
    cursor: pointer !important;
    color: #111 !important;
    touch-action: auto !important;
  }
}







@media (max-width: 1024px) {

  .qodef-mobile-header .qodef-mobile-nav .mobile_arrow {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    width: 64px !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 20 !important;
    cursor: pointer !important;
  }

  .qodef-mobile-header .qodef-mobile-nav ul li {
    position: relative !important;
  }

  .qodef-mobile-header .qodef-mobile-nav ul li > a {
    padding-right: 70px !important;
  }

  .qodef-mobile-header .qodef-mobile-nav .mobile_arrow i {
    pointer-events: none !important;
  }
}


@media (max-width: 768px) {

  /* Bannière ville : on fixe l'image directement */
  .qodef-title-holder {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .qodef-title-holder .qodef-title-wrapper,
  .qodef-title-holder .qodef-title-inner,
  .qodef-title-holder .qodef-grid {
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important; /* overflow sur l'image uniquement */
    border-radius: 0 !important;
  }

  .qodef-title-holder h1 {
    font-size: 42px !important;
    line-height: 1.05 !important;
    margin-bottom: 0 !important;
    color: #fff !important;
  }

  /* Bulle : cachée sur les pages non-home */
  body:not(.home) .qodef-title-holder::after {
    display: none !important;
  }

  /* Bulle home : visible et bien positionnée */
  .home .qodef-title-holder::after {
    position: absolute !important;
    bottom: 28px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    white-space: nowrap !important;
    font-size: 11px !important;
  }

}