.elementor-405 .elementor-element.elementor-element-d93c22e{--display:flex;}.elementor-405 .elementor-element.elementor-element-76270b3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-405 .elementor-element.elementor-element-66259e0{--display:flex;}.elementor-405 .elementor-element.elementor-element-81f9066{--display:flex;}.elementor-405 .elementor-element.elementor-element-9b46797{--display:flex;}/* Start custom CSS for shortcode, class: .elementor-element-59b17f2 *//* === Sélecteur langue WPML === */
.lang-switcher-wpml{
  display:inline-flex;
  align-items:center;
  max-width:60px;
}

/* Cas WPML legacy dropdown (le pseudo-select généré par WPML) */
.lang-switcher-wpml .wpml-ls-legacy-dropdown .wpml-ls-item-toggle{
  min-width:auto;
  padding:4px 8px;
}

/* Si WPML te sort un vrai <select> natif */
.lang-switcher-wpml select{
  width:auto;
  min-width:70px;
  padding-right:15px;
}

/* ===== Bouton principal (ligne avec FR) ===== */
.lang-switcher-wpml .wpml-ls-legacy-dropdown {
  position: relative;
  font-family: 'Poppins', sans-serif;
}

.lang-switcher-wpml .wpml-ls-legacy-dropdown .wpml-ls-item-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  background: #ffffff;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(15,23,42,.08);
  transition: box-shadow .15s ease, transform .12s ease, border-color .15s ease;
}

/* drapeau actif */
.lang-switcher-wpml .wpml-ls-legacy-dropdown .wpml-ls-item-toggle .wpml-ls-flag img {
  width: 20px;
  height: auto;
  border-radius: 3px;
  display: block;
}

/* on masque les textes, on garde uniquement les flags */
.lang-switcher-wpml .wpml-ls-native,
.lang-switcher-wpml .wpml-ls-display {
  display: none;
}

/* Liste déroulante */
.lang-switcher-wpml .wpml-ls-legacy-dropdown .wpml-ls-sub-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 52px;
  padding: 6px 0;
  margin: 0;
  list-style: none;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 12px 24px rgba(15,23,42,.18);
  border: 1px solid rgba(148,163,184,.35);
  z-index: 9999;
}

.lang-switcher-wpml .wpml-ls-legacy-dropdown .wpml-ls-sub-menu a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 8px;
  text-decoration: none;
}

.lang-switcher-wpml .wpml-ls-legacy-dropdown .wpml-ls-sub-menu .wpml-ls-flag img {
  width: 20px;
  height: auto;
  border-radius: 3px;
}

/* enlever toutes les flèches */
.lang-switcher-wpml .wpml-ls-legacy-dropdown .wpml-ls-item-toggle::after{
  content:none;
  display:none;
}
.lang-switcher-wpml .wpml-ls-legacy-dropdown .wpml-ls-item-toggle .wpml-ls-arrow{
  display:none !important;
}

/* === TON CSS HEADER EXISTANT EN DESSOUS === */
:root{
  --rouge-adopark:#DC2626;
  --rouge-hover:#B91C1C;
  --noir:#1F2937;
  --gris:#6B7280;
  --blanc:#FFFFFF;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{font-family:'Poppins',sans-serif;color:var(--noir);line-height:1.6}
a{text-decoration:none}

/* ... tout le reste de ton CSS header ... */
/* === Wrapper général du sélecteur langue dans le header === */
.lang-switcher-wpml{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:'Poppins',sans-serif;
}

/* === BOUTON PRINCIPAL (ligne active : FR + flèche) === */

/* wrapper du dropdown (hover ou click) */
.lang-switcher-wpml .wpml-ls-legacy-dropdown,
.lang-switcher-wpml .wpml-ls-legacy-dropdown-click{
  position:relative;
}

/* le bouton sur lequel on clique */
.lang-switcher-wpml .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle,
.lang-switcher-wpml .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle{
  display:inline-flex !important;        /* pas en block */
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background:#ffffff;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(15,23,42,.08);
  transition:box-shadow .15s ease, transform .12s ease, border-color .15s ease;
  width:auto !important;                 /* empêche le 100% de WPML */
  min-width:auto !important;
}

/* drapeau actif dans le bouton */
.lang-switcher-wpml .wpml-ls-flag img{
  width:20px;
  height:auto;
  border-radius:3px;
  display:block;
}

/* on masque les textes, on ne garde que les flags */
.lang-switcher-wpml .wpml-ls-native,
.lang-switcher-wpml .wpml-ls-display{
  display:none !important;
}

/* flèche : on garde celle de WPML, ou on la retire si tu n’en veux pas */
.lang-switcher-wpml .wpml-ls-item-toggle::after{
  /* si tu veux enlever la flèche, décommente ci-dessous :
  content:none;
  */
}

/* hover bouton */
.lang-switcher-wpml .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:hover,
.lang-switcher-wpml .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:hover{
  border-color:#dc2626;
  box-shadow:0 8px 18px rgba(15,23,42,.15);
  transform:translateY(-1px);
}

/* === LISTE DÉROULANTE === */

.lang-switcher-wpml .wpml-ls-legacy-dropdown ul.wpml-ls-sub-menu,
.lang-switcher-wpml .wpml-ls-legacy-dropdown-click ul.wpml-ls-sub-menu{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  min-width:52px;
  padding:6px 0;
  margin:0;
  list-style:none;
  background:#ffffff;
  border-radius:12px;
  box-shadow:0 12px 24px rgba(15,23,42,.18);
  border:1px solid rgba(148,163,184,.35);
  z-index:9999;
}

.lang-switcher-wpml .wpml-ls-sub-menu li{
  margin:0;
  padding:0;
}

.lang-switcher-wpml .wpml-ls-sub-menu a{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:6px 8px;
  text-decoration:none;
}

/* drapeaux dans le dropdown */
.lang-switcher-wpml .wpml-ls-sub-menu .wpml-ls-flag img{
  width:20px;
  height:auto;
  border-radius:3px;
}

/* hover ligne de langue */
.lang-switcher-wpml .wpml-ls-sub-menu a:hover{
  background:#f3f4f6;
}

/* langue active dans le dropdown */
.lang-switcher-wpml .wpml-ls-sub-menu .wpml-ls-current-language > a{
  background:#fee2e2;
}
/* SUPPRIMER LA FLÈCHE & tout décor WPML */
.lang-switcher-wpml .wpml-ls-item-toggle::after,
.lang-switcher-wpml .wpml-ls-item-toggle::before{
  content:none !important;
  border:none !important;
}
.lang-switcher-wpml .wpml-ls-item-toggle{
  background-image:none !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4a235be *//* --- VARIABLES & BASE --- */
:root {
  --rouge-adopark: #DC2626;
  --rouge-hover: #B91C1C;
  --noir: #1F2937;
  --gris: #6B7280;
  --blanc: #FFFFFF;
  --border: rgba(31, 41, 55, .12);
  --card: #FFFFFF;
  --shadow: 0 8px 24px rgba(31, 41, 55, .08);
  --radius-xl: 18px;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
  color: var(--noir);
  background: var(--blanc);
  line-height: 1.6;
  /* Taille de base conservée */
  font-size: 16px; 
}

.container {
  width: min(1100px, 94%); /* Utilise 94% de la largeur sur mobile */
  margin-inline: auto;
}

/* --- HERO & TITRES --- */
.hero { padding: 40px 0 20px; }

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--border);
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 14px; /* Taille fixe */
  color: var(--gris);
  font-weight: 600;
  background: #f9fafb;
}

h1 {
  /* On garde une grande taille */
  font-size: 36px; 
  line-height: 1.2;
  margin: 16px 0;
  text-align: center;
}

.sub {
  color: var(--gris);
  max-width: 800px;
  font-size: 18px; /* Taille confortable */
  text-align: center;
  margin: 0 auto 30px;
}

/* --- TIMELINE --- */
.timeline {
  position: relative;
  margin: 40px 0 20px;
}

/* La ligne verticale */
.timeline::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 10px;
  bottom: 0;
  width: 3px; /* Ligne un peu plus épaisse pour la visibilité */
  background: var(--border);
  border-radius: 2px;
}

.step {
  position: relative;
  margin-left: 60px; /* Espace pour la boule */
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: 24px;
  box-shadow: var(--shadow);
  transition: transform .25s ease;
}

.step + .step { margin-top: 24px; }

/* La boule numérotée */
.bullet {
  position: absolute;
  left: -58px; /* Centré sur la ligne */
  top: 0;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--rouge-adopark);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 16px;
  box-shadow: 0 4px 12px rgba(220, 38, 38, .25);
  border: 4px solid var(--blanc);
  z-index: 2;
}

.step h3 { margin: 0 0 8px; font-size: 20px; }
.muted { color: var(--gris); font-size: 16px; }

/* --- LISTES --- */
.checklist {
  margin: 16px 0 0;
  padding-left: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}

.checklist li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: 16px;
}

.check {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  font-size: 16px;
  display: grid;
  place-items: center;
}

.badge {
  display: inline-block;
  background: #FEF2F2;
  border: 1px solid #FECACA;
  padding: 4px 10px;
  border-radius: 6px;
  color: #991B1B;
  font-size: 13px;
  font-weight: 600;
  margin-left: 6px;
}

/* --- BOUTONS --- */
.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

.btn {
  appearance: none;
  border: 1px solid var(--border);
  background: #fff;
  color: var(--noir);
  padding: 14px 20px; /* Boutons confortables */
  border-radius: 12px;
  cursor: pointer;
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.btn-primary {
  background: var(--rouge-adopark);
  border-color: var(--rouge-adopark);
  color: #fff;
}

/* --- FAQ --- */
section.faq { margin: 50px 0; }
details { margin-top: 12px; }

summary {
  cursor: pointer;
  font-weight: 600;
  list-style: none;
  padding: 10px 0;
  font-size: 18px;
}
summary::-webkit-details-marker { display: none; }

.faq details {
  background: #f9fafb;
  padding: 10px 20px;
  border-radius: 12px;
  border: 1px solid transparent;
  margin-bottom: 10px;
}
.faq details[open] {
  border-color: var(--border);
  background: #fff;
}


/* =========================================
   RESPONSIVE (SANS RÉDUIRE LE TEXTE)
   ========================================= */

/* Mobile (< 600px) */
@media (max-width: 600px) {
  
  /* 1. On empile les boutons pour qu'ils aient de la place */
  .actions {
    flex-direction: column;
    width: 100%;
  }
  .btn {
    width: 100%; /* Prend toute la largeur */
  }

  /* 2. On réduit les marges (espaces vides) pour laisser la place au texte */
  .container {
    width: 96%; /* On utilise presque tout l'écran */
  }

  .timeline::before {
    left: 10px; /* On colle la ligne tout à gauche */
  }

  .step {
    margin-left: 35px; /* On rapproche la carte de la gauche */
    padding: 16px;     /* Moins de vide à l'intérieur de la carte */
  }

  .bullet {
    left: -44px; /* On réaligne la boule sur la nouvelle ligne */
  }

  /* 3. Ajustement Badge (passe à la ligne si besoin) */
  .checklist li {
    flex-wrap: wrap;
  }
  .badge {
    margin-left: 0;
    margin-top: 5px;
  }
  
  /* H1 s'adapte en largeur mais garde sa taille */
  h1 {
    font-size: 30px; /* Juste une légère adaptation pour éviter les césures */
    text-align: left; /* Plus facile à lire sur mobile */
    margin-left: 10px;
  }
  .sub {
    text-align: left;
    margin-left: 10px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-09355c8 *//* Masquer tous les .afterBooking quand l'étape active est 2/3/4 */
body:has(#bookingWrap .cpbs-main-content-step-2:not([style*="display: none"])) .afterBooking,
body:has(#bookingWrap .cpbs-main-content-step-3:not([style*="display: none"])) .afterBooking,
body:has(#bookingWrap .cpbs-main-content-step-4:not([style*="display: none"])) .afterBooking {
  display: none !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5853edb *//* Masquer tous les .afterBooking quand l'étape active est 2/3/4 */
body:has(#bookingWrap .cpbs-main-content-step-2:not([style*="display: none"])) .afterBooking,
body:has(#bookingWrap .cpbs-main-content-step-3:not([style*="display: none"])) .afterBooking,
body:has(#bookingWrap .cpbs-main-content-step-4:not([style*="display: none"])) .afterBooking {
  display: none !important;
}/* End custom CSS */