.elementor-199 .elementor-element.elementor-element-c2dbe98{--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-199 .elementor-element.elementor-element-036ac28{--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-199 .elementor-element.elementor-element-54f8481{--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;}/* Start custom CSS for shortcode, class: .elementor-element-bd34353 *//* === 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 shortcode, class: .elementor-element-5750e60 *//* =============================================
   1. STRUCTURE GLOBALE (LA "CARTE")
   ============================================= */

@media (min-width: 992px) {
  
  /* Largeur de la carte */
  #bookingWrap .cpbs-main:has(.cpbs-main-navigation-default li[data-step="1"].cpbs-state-selected) .cpbs-main-navigation-default,
  #bookingWrap .cpbs-main:has(.cpbs-main-navigation-default li[data-step="1"].cpbs-state-selected) .cpbs-main-content-step-1 {
    max-width: 1200px; /* MODIFIÉ : Élargi pour plus d'espace */
    margin-left: auto;
    margin-right: auto;
  }

  /* Card : haut (stepper) */
  #bookingWrap .cpbs-main:has(.cpbs-main-navigation-default li[data-step="1"].cpbs-state-selected) .cpbs-main-navigation-default {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-bottom: 0;
    border-radius: 16px 16px 0 0;
    padding: 24px 40px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .06);
  }

  /* Card : bas (contenu step 1) */
  #bookingWrap .cpbs-main:has(.cpbs-main-navigation-default li[data-step="1"].cpbs-state-selected) .cpbs-main-content-step-1 {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-top: 0;
    border-radius: 0 0 16px 16px;
    padding: 40px; /* Plus de padding interne */
    box-shadow: 0 8px 20px rgba(0, 0, 0, .06);
  }
}

/* =============================================
   2. STYLE DU STEPPER (1, 2, 3, 4)
   ============================================= */

/* Cacher le stepper mobile (select) sur desktop */
#bookingWrap .cpbs-main-navigation-responsive {
  display: none;
}
/* Conteneur principal du stepper */
#bookingWrap .cpbs-main-navigation-default ul {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 0;
  padding: 0;
}
/* Chaque étape (li) */
#bookingWrap .cpbs-main-navigation-default li {
  flex-basis: 25%;
  flex-grow: 1;
  display: flex;
  position: relative;
  padding: 0 15px;
  text-align: center;
  align-items: center;
  flex-direction: column;
}
/* Lien de l'étape */
#bookingWrap .cpbs-main-navigation-default li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  font-weight: 600;
  color: #9ca3af; /* Couleur inactive */
  font-size: 14px;
}
/* La puce (cercle) */
#bookingWrap .cpbs-main-navigation-default li a > span:first-child {
  width: 36px;
  height: 36px;
  border: 1px solid #e5e7eb; /* Bordure inactive */
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin-bottom: 8px;
  background: #fff;
  font-weight: 700;
  transition: all .2s ease;
  z-index: 2;
  position: relative;
}
/* Cacher l'icône "tick" par défaut */
#bookingWrap .cpbs-main-navigation-default li .cpbs-meta-icon-tick {
  display: none;
}
/* Ligne de connexion entre les étapes */
#bookingWrap .cpbs-main-navigation-default li:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 18px; /* Aligné au milieu du cercle */
  left: 50%;
  right: -50%;
  height: 2px;
  background: #e5e7eb; /* Ligne inactive */
  z-index: 1;
}
/* Style Étape SÉLECTIONNÉE */
#bookingWrap .cpbs-main-navigation-default li.cpbs-state-selected a {
  color: green; /* Couleur active */
}
#bookingWrap .cpbs-main-navigation-default li.cpbs-state-selected a > span:first-child {
  background: red; /* Fond actif */
  color: #fff; /* Chiffre blanc */
  border-color: #111827;
}

/* =============================================
   3. GRILLE CONTENU ÉTAPE 1 (3 Colonnes)
   ============================================= */

/* Conteneur de la grille 3 colonnes */
#bookingWrap .cpbs-main-content-step-1 .cpbs-form-panel > div > div > div:first-of-type {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px; /* Espace ENTRE les blocs */
  margin-bottom: 32px; /* Espace avant le bouton */
}

/* * NOUVEAU : Style des 3 blocs "carte-dans-carte"
 * C'est ça qui crée l'effet "bloc" moderne.
 */
#bookingWrap .cpbs-main-content-step-1 .cpbs-form-panel > div > div > div:first-of-type > div {
  background: #f9fafb; /* Fond très léger */
  border: 1px solid #e5e7eb;
  border-radius: 12px; /* Coins arrondis */
  padding: 24px;
}

/* Titres de section (DANS les blocs) */
#bookingWrap .cpbs-header-style-4 {
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  padding: 0 0 16px 0; /* Espace sous le titre */
  margin: 0 0 16px 0; /* Espace */
  border: 0;
  border-bottom: 1px solid #e5e7eb; /* Ligne de séparation */
}

/* Grille interne pour les champs (Date + Heure) */
#bookingWrap .cpbs-main-content-step-1 .cpbs-header-style-4 + div {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

/* Fix pour le bloc "Parking" qui n'a qu'un champ */
#bookingWrap .cpbs-main-content-step-1 .cpbs-form-panel > div > div > div:first-of-type > div:last-child .cpbs-header-style-4 + div {
  grid-template-columns: 1fr; /* Force 1 colonne */
}


/* =============================================
   4. CHAMPS & BOUTON
   ============================================= */

/* Labels (DATE D'ENTRÉE, etc.) */
#bookingWrap .cpbs-form-field label {
  font-size: 11px;
  font-weight: 600;
  color: #6b7280;
  text-transform: uppercase;
  margin-bottom: 4px;
  display: block;
}

/* Style des champs (input) */
#bookingWrap .cpbs-form-field input[type="text"] {
  width: 100%;
  height: 48px;
  padding: 0 12px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #fff; /* Fond blanc sur le gris léger */
  font-size: 16px;
  color: #111827;
}
#bookingWrap .cpbs-form-field input[type="text"]:focus {
  border-color: #EF1728;
  box-shadow: 0 0 0 1px #EF1728;
  outline: none;
}

/* Style du champ Select (Parking) */
#bookingWrap .ui-selectmenu-button.ui-button {
  width: 100%;
  height: 48px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #fff; /* Fond blanc */
  display: flex;
  align-items: center;
  padding: 0 12px;
}
#bookingWrap .ui-selectmenu-text {
  font-size: 16px;
  color: #111827;
  padding: 0;
}
#bookingWrap .ui-selectmenu-button .ui-icon {
  background: none;
  text-indent: 0;
  margin-top: -9px;
}
#bookingWrap .ui-selectmenu-button .ui-icon::before {
  content: '▼';
  font-size: 10px;
  color: #6b7280;
}

/* Bouton "Demander un devis" */
#bookingWrap .cpbs-button[type="submit"] {
  display: block;
  width: 100%;
  height: 52px;
  background-color: #EF1728;
  color: #fff;
  border: none;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color .2s ease;
}
#bookingWrap .cpbs-button[type="submit"]:hover {
  background-color: #d0101f;
}

/* =============================================
   5. RESPONSIVE MOBILE
   ============================================= */

@media (max-width: 991px) {
  /* La carte prend toute la largeur */
  #bookingWrap .cpbs-main-navigation-default,
  #bookingWrap .cpbs-main-content-step-1 {
    padding: 20px;
  }
  
  /* La grille 3 colonnes passe en 1 colonne */
  #bookingWrap .cpbs-main-content-step-1 .cpbs-form-panel > div > div > div:first-of-type {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  /* Les blocs "carte-dans-carte" sont toujours actifs */
  #bookingWrap .cpbs-main-content-step-1 .cpbs-form-panel > div > div > div:first-of-type > div {
    padding: 20px;
  }

  /* La grille 2 colonnes (date/heure) reste à 2 */
  #bookingWrap .cpbs-main-content-step-1 .cpbs-header-style-4 + div {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Le stepper desktop est caché */
  #bookingWrap .cpbs-main-navigation-default {
    display: none;
  }
  /* On affiche le stepper mobile */
  #bookingWrap .cpbs-main-navigation-responsive {
    display: block;
    margin-bottom: 20px;
  }
}
/*etape 2 */
/* ====== CONTENEUR LISTE ====== */
/* ====== CONTENEUR LISTE ====== */

.cpbs-place-list {
    width: 100%;
    margin: 40px 0;
}

.cpbs-place-list .cpbs-list-reset {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 40px;
    align-items: stretch;              /* mêmes hauteurs */
}

.cpbs-place-list .cpbs-list-reset > li {
    flex: 1 1 0;
    display: flex;                     /* pour que .cpbs-place prenne toute la hauteur */
}

/* ====== CARTE ====== */

.cpbs-place {
    position: relative;
    background: #fff;
    border: 2px solid #000;
    border-radius: 40px;
    padding: 110px 40px 50px;          /* gros padding haut : bandeau + aéroport */
    box-sizing: border-box;
    overflow: visible;
    height: 100%;
}

/* on masque la colonne image du plugin */
.cpbs-place-layout-column-left {
    display: none;
}

.cpbs-place-layout-column-right {
    width: 100%;
    display: flex;
    flex-direction: column;
    height: 100%;
    }

/* ====== BANDEAU TITRE + PRIX ====== */

.cpbs-place-layout-column-right-line-top {
    position: absolute;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    border: 1px solid #000;
    padding: 10px 35px;
    text-align: center;
    min-width: 190px;
    box-sizing: border-box;
    overflow: visible;
}

.cpbs-place-name {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 4px;
}

.cpbs-place-price {
    font-size: 18px;
    font-weight: 600;
    color: #ff5050;
    margin: 0;
}

/* ====== AÉROPORT EN HAUT DE LISTE (DANS LA CARTE) ====== */

.cpbs-place-location-name {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -55px;                     /* sous le petit rectangle */
    width: 100%;
    text-align: center;
    font-size: 16px;
    margin: 0;
}

/* ====== LISTE AVANTAGES (AU CENTRE) ====== */
.cpbs-place-layout-column-right-line-bottom {
    order: 2;
    margin-top: 40px;                  /* démarre sous le texte aéroport */
    margin-bottom: 25px;
}

.cpbs-place-layout-column-right-line-bottom p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
}

/* ====== BAS DE CARTE : PLACES + BOUTON ====== */

.cpbs-place-layout-column-right-line-middle {
    order: 3;
    margin-top: auto;                  /* plaque ce bloc en bas de carte */
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.cpbs-place-attribute-2 .cpbs-attribute-field-name,
.cpbs-place-attribute-2 .cpbs-attribute-field-value {
    font-size: 14px;
}

/* Bouton "Sélectionner" en bas à droite */
.cpbs-place-select-button {
    display: inline-block;
    padding: 10px 26px;
    border-radius: 999px;
    background: #716161;
    color: #fff !important;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    margin-left: 20px;
}

.cpbs-place-select-button.cpbs-state-selected {
    box-shadow: 0 0 0 2px #000;
}
/* ====== MISE EN AVANT VIP (2e CARTE) ====== */

.cpbs-place-list .cpbs-list-reset > li:nth-child(2) .cpbs-place {
    border-width: 3px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}

/* ====== RESPONSIVE ====== */

@media (max-width: 768px) {
    .cpbs-place-list .cpbs-list-reset {
        flex-direction: column;
        gap: 20px;
    }

    .cpbs-place {
        padding: 110px 20px 40px;
    }

    .cpbs-place-layout-column-right-line-middle {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .cpbs-place-select-button {
        align-self: flex-end;
        margin-left: 0;
    }
}

/* === 1. Espace entre le titre "Place de parking" et les cartes === */
.cpbs-place-list .cpbs-header.cpbs-header-style-3 {
    margin-bottom: 20px;        /* espace sous "Place de parking" */
}

.cpbs-place-list > div:nth-of-type(2) { /* "2 résultats trouvés" */
    margin-bottom: 30px;        /* espace entre le texte et les cartes */
}

/* === 2. Cartes sur toute la largeur disponible === */
.cpbs-place-list {
    width: 100%;
    margin-top: 40px;
}

.cpbs-place-list .cpbs-list-reset {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: space-between;
    gap: 40px;                  /* espace entre les deux cartes */
}

.cpbs-place-list .cpbs-list-reset > li {
    flex: 0 0 50%;              /* chaque carte prend 50% de la ligne */
    display: flex;
}

.cpbs-place {
    width: 100%;                /* la box remplit bien son <li> */
}

/* (on garde le reste de ton CSS pour le style interne des cartes) */

/* Forcer "Aéroport Bâle-Mulhouse(EuroAirport)" sous le bandeau */

.cpbs-place-layout-column-right-line-top {
    padding-bottom: 10px; /* on évite que le texte morde dans le bandeau */
}

.cpbs-place-location-name {
    position: absolute;
    top: 100%;                 /* juste en dessous du petit rectangle */
    left: 50%;
    transform: translate(-50%, 12px);
    margin: 0;
    width: 100%;
    text-align: center;
}
/* on laisse un peu plus de place en haut de la carte pour ce bloc */
.cpbs-place {
    padding-top: 120px;
}

/* la liste commence plus bas pour ne pas coller à la ligne aéroport */
.cpbs-place-layout-column-right-line-bottom {
    margin-top: 50px;
}

 /* Aéroport + lien sur UNE seule ligne, centré sous le bandeau */
.cpbs-place-location-name {
    position: absolute;
    top: 100%;                  /* juste sous le bandeau */
    left: 50%;
    transform: translate(-50%, 12px);
    margin: 0;
    width: auto;                /* plus de width:100% */
    white-space: nowrap;        /* pas de retour à la ligne */
    text-align: center;
}

/* Option : sur mobile on autorise à revenir à la ligne pour éviter que ça déborde */
@media (max-width: 768px) {
    .cpbs-place-location-name {
        position: static;
        transform: none;
        margin: 15px 0;
        white-space: normal;
        text-align: center;
    }
}
/* === Cartes plus compactes === */
.cpbs-place {
    padding: 80px 28px 32px;      /* haut / côtés / bas (réduit) */
}

/* Bandeau plus petit */
.cpbs-place-layout-column-right-line-top {
    padding: 6px 26px;
    min-width: 160px;
}

.cpbs-place-name {
    font-size: 16px;
    margin-bottom: 2px;
}

.cpbs-place-price {
    font-size: 16px;
    color: #ff6b6b; 
}

/* Ligne aéroport rapprochée du bandeau */
.cpbs-place-location-name {
    transform: translate(-50%, 10px);  /* moins d’espace sous le bandeau */
    font-size: 14px;
}

/* Liste des avantages plus proche de l’aéroport */
.cpbs-place-layout-column-right-line-bottom {
    margin-top: 24px;
    margin-bottom: 18px;
}

.cpbs-place-layout-column-right-line-bottom p {
    font-size: 14px;
    line-height: 1.4;
}

/* Bloc bas (places + bouton) un peu remonté */
.cpbs-place-layout-column-right-line-middle {
    margin-top: auto;
    margin-bottom: 0;
}
/* Bouton légèrement plus compact */
.cpbs-place-select-button {
    padding: 8px 22px;
    font-size: 13px;
}
/* Centrer les cartes avec le même espace à gauche et à droite */
.cpbs-place-list {
    max-width: 1400px;          /* largeur de travail, ajuste si besoin */
    margin: 40px auto 0;        /* centre le bloc dans la page */
    padding: 0 30px;            /* marge interne gauche / droite */
    box-sizing: border-box;
}

/* on aligne les deux cartes proprement au centre */
.cpbs-place-list .cpbs-list-reset {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.cpbs-place-list .cpbs-list-reset > li {
    flex: 0 0 48%;              /* deux cartes, un peu d'air entre elles */
}
/* Bandeau beaucoup plus fin */
.cpbs-place-layout-column-right-line-top {
    padding: 4px 20px;      /* hauteur = padding top/bottom */
    min-width: 150px;
}

/* Titre + prix plus compacts */
.cpbs-place-name {
    font-size: 15px;
    margin: 0;
    line-height: 1.2;
}

.cpbs-place-price {
    font-size: 15px;
    margin: 0;
    line-height: 1.2;
}
/* ================================
   RESPONSIVE CARTES PARKING
   (mobile / tablette < 768px)
   ================================ */
@media (max-width: 768px) {

    /* Conteneur : cartes l’une sous l’autre, centrées */
    .cpbs-place-list {
        max-width: 100%;
        margin: 30px 0;
        padding: 0 15px;
        box-sizing: border-box;
    }

    .cpbs-place-list .cpbs-list-reset {
        flex-direction: column;
        gap: 32px;               /* espace vertical entre les deux cartes */
    }

    .cpbs-place-list .cpbs-list-reset > li {
        flex: 1 1 auto;
        display: block;
    }

    /* Carte plus compacte mais avec assez de place pour bandeau + aéroport */
    .cpbs-place {
        max-width: 420px;        /* largeur max de la carte sur mobile */
        margin: 0 auto;
        padding: 110px 20px 30px;/* gros padding top = bandeau + "Aéroport" */
        border-radius: 28px;
    }

    /* Bandeau titre + prix plus petit */
    .cpbs-place-layout-column-right-line-top {
        top: -26px;
        padding: 4px 18px;
        min-width: 140px;
    }
    .cpbs-place-name,
    .cpbs-place-price {
        font-size: 15px;
        line-height: 1.0;
        margin: 0;
    }

    /* "Aéroport Bâle-Mulhouse(EuroAirport)  + Plus de détails"
       sous le bandeau, centré, en dehors du bandeau */
    .cpbs-place-location-name {
        position: absolute;
        top: 100%;               /* sous le bandeau */
        left: 50%;
        transform: translate(-50%, 6px);
        width: 90%;
        margin: 0;
        text-align: center;
        font-size: 13px;
        white-space: normal;     /* peut passer sur 2 lignes si besoin */
    }

    /* Liste des avantages : commence plus bas pour ne pas toucher "Aéroport…" */
    .cpbs-place-layout-column-right-line-bottom {
        margin-top: 48px;
        margin-bottom: 18px;
    }

    .cpbs-place-layout-column-right-line-bottom p {
        font-size: 14px;
        line-height: 1.4;
    }

    /* Bas de la carte : "Places dispo" + bouton en colonne */
    .cpbs-place-layout-column-right-line-middle {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        margin-top: auto;
    }
    .cpbs-place-select-button {
        align-self: flex-end;
        padding: 8px 20px;
        font-size: 13px;
        background-color: #1db954;
    }
}
/* Couleur du prix en rouge clair */
.cpbs-place .cpbs-header.cpbs-header-style-2.cpbs-place-price {
    color: #ff6b6b !important;  /* rouge clair */
}
@media (max-width: 768px) {

    /* ... garde le reste de ton responsive ... */

    /* Centrer le contenu bas + bouton sur mobile */
    .cpbs-place-layout-column-right-line-middle {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 10px;
    }

    .cpbs-place-attribute-2 {
        width: 100%;
    }

    .cpbs-place-select-button {
        align-self: center;
        margin-left: 0;
        background-color: #0369a1;
    }
}
/* Centrer "Place de parking" et "2 Résultats trouvés" (desktop + mobile) */
.cpbs-place-list > .cpbs-header.cpbs-header-style-3,
.cpbs-place-list > div:nth-of-type(2) {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    display: block;
}

/* Option : un peu d’espace sous le bloc titres */
.cpbs-place-list > div:nth-of-type(2) {
    margin-bottom: 25px;
}
/*************************************************
 *  OPTIONS SUPPLÉMENTAIRES EN GRILLE
 *************************************************/

/* Conteneur global */
.cpbs-booking-extra {
    max-width: 1200px;
    margin: 40px auto 0;
    padding: 0 30px 20px;
    box-sizing: border-box;
}

/* Titre */
.cpbs-booking-extra .cpbs-header.cpbs-header-style-3 {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 24px;
}

/* La liste en grille */
.cpbs-booking-extra-list .cpbs-list-reset {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: space-between;
}

/* Carte option */
.cpbs-booking-extra-list li {
    position: relative;
    flex: 1 1 30%;                 /* 3 cartes sur une ligne si possible */
    min-width: 260px;
    max-width: 360px;
    margin: 0;
    padding: 42px 20px 18px;
    box-sizing: border-box;
    border-radius: 24px;
    border: 2px solid #ddd;
    background: #fff;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 6px;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
/* Effet hover */
.cpbs-booking-extra-list li:hover {
    border-color: #ff6b6b;
    box-shadow: 0 8px 18px rgba(0,0,0,0.04);
}

/* "Case à cocher" centrée en haut (remplace visuellement le bandeau) */
.cpbs-booking-extra-list li::before {
    content: "";
    position: absolute;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid #bbb;
    background: #fff;
    box-sizing: border-box;
}

/* État sélectionné – on anticipe les classes que le plugin peut poser */
.cpbs-booking-extra-list li.cpbs-state-selected::before,
.cpbs-booking-extra-list li.fly-place-selected::before {
    background: #ff6b6b;
    border-color: #ff6b6b;
    box-shadow: 0 0 0 3px rgba(255,107,107,0.25);
}

/* Check blanc au centre quand sélectionné */
.cpbs-booking-extra-list li.cpbs-state-selected::after,
.cpbs-booking-extra-list li.fly-place-selected::after {
    content: "✔";
    position: absolute;
    top: 16px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 12px;
    color: #fff;
}
/* Nom de l’option */
.cpbs-booking-extra-name {
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 2px;
}

/* Prix légèrement mis en avant */
.cpbs-booking-extra-price {
    font-size: 14px;
    font-weight: 600;
    margin: 0;
}

/* Description en bas de carte */
.cpbs-booking-extra-description {
    margin: 6px 0 0;
    font-size: 13px;
    color: #777;
}

/* On masque quantité + bouton "Sélectionner"
   pour garder un comportement visuel type case à cocher */
.cpbs-booking-extra-list .cpbs-quantity,
.cpbs-booking-extra-list .cpbs-button {
    display: none !important;
}

/********** Responsive **********/
@media (max-width: 768px) {

    .cpbs-booking-extra {
        padding: 0 16px 20px;
    }

    .cpbs-booking-extra-list .cpbs-list-reset {
        flex-direction: column;
        gap: 18px;
        align-items: center;
    }

    .cpbs-booking-extra-list li {
        flex: 1 1 100%;
        max-width: 100%;
    }
}
/* --------- OPTIONS SUPPLÉMENTAIRES : + / ✓ en haut au centre --------- */

/* État normal : + */
.cpbs-booking-extra-list li::before {
    content: "+";
    position: absolute;
    top: -14px;                    /* au-dessus de la carte */
    left: 50%;
    transform: translateX(-50%);
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: 2px solid #ddd;
    background: #fff;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    line-height: 1;
    font-weight: 700;
    color: #777;
}

/* On annule l'ancien ::after éventuel */
.cpbs-booking-extra-list li::after {
    content: none;
}

/* État sélectionné : coche verte */
.cpbs-booking-extra-list li.cpbs-state-selected::before,
.cpbs-booking-extra-list li.fly-place-selected::before {
    content: "✔";
    background: #25b957;
    border-color: #25b957;
    color: #fff;
    box-shadow: 0 0 0 3px rgba(37,185,87,0.25);
}
/* --------- OPTIONS SUPPLÉMENTAIRES : + / ✓ en haut au centre --------- */

/* État normal : + */
.cpbs-booking-extra-list li::before {
    content: "+";
    position: absolute;
    top: -14px;                    /* au-dessus de la carte */
    left: 50%;
    transform: translateX(-50%);
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: 2px solid #ddd;
    background: #fff;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    line-height: 1;
    font-weight: 700;
    color: #777;
}

/* On annule tout ancien ::after éventuel */
.cpbs-booking-extra-list li::after {
    content: none;
}

/* État sélectionné : 
   si l'item contient un bouton .cpbs-button.cpbs-state-selected */
.cpbs-booking-extra-list li:has(.cpbs-button.cpbs-state-selected)::before {
    content: "✔";
    background: #25b957;
    border-color: #25b957;
    color: #fff;
    box-shadow: 0 0 0 3px rgba(37,185,87,0.25);
}
/*************************************************
 *  OPTIONS SUPPLÉMENTAIRES – LAYOUT GRILLE
 *************************************************/

/* Conteneur global : pleine largeur du contenu */
.cpbs-booking-extra {
    width: 100%;
    max-width: 1600px;          /* aligne avec les cartes parking */
    margin: 40px auto 0;
    padding: 0 20px 30px;
    box-sizing: border-box;
}

/* La UL devient une grille uniforme */
.cpbs-booking-extra-list .cpbs-list-reset {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));  /* 3 colonnes égalisées */
    gap: 22px;                                        /* espace entre les cartes */
}

/* Chaque carte d’option occupe 100% de sa colonne */
.cpbs-booking-extra-list li {
    position: relative;
    width: 110%;
    margin: 0;
    padding: 42px 20px 18px;
    box-sizing: border-box;
    border-radius: 24px;
    border: 2px solid #ddd;
    background: #fff;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
/* Hover */
.cpbs-booking-extra-list li:hover {
    border-color: #ff6b6b;
    box-shadow: 0 8px 18px rgba(0,0,0,0.04);
}
/*************************************************
 *  OPTIONS SUPPLÉMENTAIRES – CARTES PLUS LARGES
 *************************************************/

/* Le bloc options prend toute la largeur disponible */
.cpbs-booking-extra {
    width: 100% !important;
    max-width: 100% !important;   /* on enlève la limite 1200/1400px */
    margin: 40px auto 0 !important;
    padding: 0 10px 30px !important; /* très peu de padding sur les côtés */
    box-sizing: border-box;
}

/* La UL : grille / flex très serrée */
.cpbs-booking-extra-list .cpbs-list-reset {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    display: flex !important;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 8px;                     /* espace minimum entre les cartes */
}

/* Chaque carte occupe 1/3 de la ligne et pas de marge autour */
.cpbs-booking-extra-list li {
    flex: 1 1 0;
    max-width: none !important;
    margin: 0 !important;
    padding: 60px 20px 18px;      /* tu peux ajuster à 50px si besoin */
    box-sizing: border-box;
}
/* Responsive : sur mobile, on repasse en colonne unique propre */
@media (max-width: 768px) {
    .cpbs-booking-extra {
        padding: 0 16px 24px !important;
    }

    .cpbs-booking-extra-list .cpbs-list-reset {
        flex-wrap: wrap;
        gap: 16px;
    }

    .cpbs-booking-extra-list li {
        flex: 1 1 100%;
    }
}
/* Titre "Options supplémentaires" centré */
.cpbs-booking-extra .cpbs-header.cpbs-header-style-3 {
    text-align: center;
    width: 100%;
    margin: 0 0 24px;
}
* =============================================
   10. BOUTONS DE NAVIGATION (Précédent/Suivant)
   ============================================= */
   
#bookingWrap .cpbs-main-content-navigation-button {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid #e5e7eb;
}

/* Bouton "Suivant" (Style 1) */
/* Bouton "Suivant" (Style 1) */
#bookingWrap .cpbs-main-content-navigation-button .cpbs-button-style-1 {
  
  /* Style */
  background-color: #d73939;
; /* Rouge */
  color: #fff;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 0 24px;
  text-decoration: none;

  /* Taille et centrage vertical (Flexbox) */
  height: 48px; 
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: normal !important; /* On annule les anciennes règles */
}

/* Optionnel : survol */
#bookingWrap .cpbs-main-content-navigation-button .cpbs-button-style-1:hover {
  background-color: #d0101f; /* Rouge un peu plus foncé */
}

/* Bouton "Précédent" (Style 2) */
#bookingWrap .cpbs-main-content-navigation-button .cpbs-button-style-2 {
  height: 48px;
  line-height: 46px; /* 2px de moins à cause bordure */
  background-color: #fff;
  color: #111827;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 0 24px;
  text-decoration: none;
}
/****************************************************
 * STEP 3 – LAYOUT GLOBAL
 ****************************************************/

/* Colonne gauche : récap (même look que step 2) */
#bookingWrap .cpbs-main-content-step-3 .cpbs-summary-box {
  background: #ffffff;
  border-radius: 18px;
  border: 1px solid #e5e7eb;
  padding: 18px 20px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
  font-size: 14px;
}

/* Titres du récap */
#bookingWrap .cpbs-main-content-step-3 .cpbs-summary-box .cpbs-header.cpbs-header-style-4 {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #6b7280;
  margin-bottom: 6px;
}

/* Dates de réservation */
#bookingWrap .cpbs-main-content-step-3 .cpbs-rental-date-box {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 10px;
}

#bookingWrap .cpbs-main-content-step-3 .cpbs-rental-date-box > div span:first-child {
  font-size: 12px;
  text-transform: uppercase;
  color: #6b7280;
}

#bookingWrap .cpbs-main-content-step-3 .cpbs-rental-date-box > div span:last-child {
  font-weight: 500;
}

/* Total */
#bookingWrap .cpbs-main-content-step-3 .cpbs-summary-price-element-total {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #e5e7eb;
}

#bookingWrap .cpbs-main-content-step-3 .cpbs-summary-price-element-total .cpbs-header-style-3 {
  font-size: 18px;
  font-weight: 700;
  color: #111827;
}

/****************************************************
 * STEP 3 – PANNEAUX FORMULAIRES (sign-in / sign-up / facture)
 ****************************************************/

#bookingWrap .cpbs-main-content-step-3 .cpbs-client-form .cpbs-form-panel {
  margin-bottom: 20px;
  padding: 20px 22px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid #f3f4f6;
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.06);
}

/* Titres de panneau (Se connecter, Informations client, Adresse de facturation…) */
#bookingWrap .cpbs-main-content-step-3 .cpbs-client-form .cpbs-form-panel > .cpbs-header.cpbs-header-style-3 {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 14px;
}

/* Grille interne des champs */
#bookingWrap .cpbs-main-content-step-3 .cpbs-client-form .cpbs-form-panel-content .cpbs-clear-fix {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 18px;
}

/* Champs 50% */
#bookingWrap .cpbs-main-content-step-3 .cpbs-form-field.cpbs-form-field-width-50 {
  flex: 0 0 calc(50% - 9px);
}

/* Champs 33% */
#bookingWrap .cpbs-main-content-step-3 .cpbs-form-field.cpbs-form-field-width-33 {
  flex: 0 0 calc(33.333% - 12px);
}

/* Pleine largeur */
#bookingWrap .cpbs-main-content-step-3 .cpbs-form-field:not(.cpbs-form-field-width-50):not(.cpbs-form-field-width-33) {
  flex: 0 0 100%;
}

/* Responsive : on repasse en 1 colonne */
@media (max-width: 768px) {
  #bookingWrap .cpbs-main-content-step-3 .cpbs-form-field.cpbs-form-field-width-50,
  #bookingWrap .cpbs-main-content-step-3 .cpbs-form-field.cpbs-form-field-width-33 {
    flex: 0 0 100%;
  }
}

/* Style des labels */
#bookingWrap .cpbs-main-content-step-3 .cpbs-form-field > label {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #6b7280;
  margin-bottom: 4px;
  display: block;
}

/* Champs texte / select */
#bookingWrap .cpbs-main-content-step-3 .cpbs-form-field input[type="text"],
#bookingWrap .cpbs-main-content-step-3 .cpbs-form-field input[type="password"],
#bookingWrap .cpbs-main-content-step-3 .cpbs-form-field input[type="email"],
#bookingWrap .cpbs-main-content-step-3 .cpbs-form-field input[type="tel"],
#bookingWrap .cpbs-main-content-step-3 .cpbs-form-field select,
#bookingWrap .cpbs-main-content-step-3 .cpbs-form-field textarea {
  width: 100%;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1.4;
  color: #111827;
  background: #ffffff;
  transition:
    border-color .15s ease,
    box-shadow .15s ease,
    background-color .15s ease;
}

/* Focus */
#bookingWrap .cpbs-main-content-step-3 .cpbs-form-field input[type="text"]:focus,
#bookingWrap .cpbs-main-content-step-3 .cpbs-form-field input[type="password"]:focus,
#bookingWrap .cpbs-main-content-step-3 .cpbs-form-field input[type="email"]:focus,
#bookingWrap .cpbs-main-content-step-3 .cpbs-form-field input[type="tel"]:focus,
#bookingWrap .cpbs-main-content-step-3 .cpbs-form-field select:focus,
#bookingWrap .cpbs-main-content-step-3 .cpbs-form-field textarea:focus {
  outline: none;
  border-color: #ef4444;
  box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.25);
}

/* Commentaires – wrapper */
#bookingWrap .cpbs-main-content-step-3 .fly-comment-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0;
}

/****************************************************
 * STEP 3 – BOUTONS SIGN-IN / SIGN-UP
 ****************************************************/

#bookingWrap .cpbs-main-content-step-3 .cpbs-button.cpbs-button-style-1,
#bookingWrap .cpbs-main-content-step-3 .cpbs-button.cpbs-button-style-2 {
  border-radius: 999px;
  padding: 9px 20px;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .06em;
}

/* CTA rouge */
#bookingWrap .cpbs-main-content-step-3 .cpbs-button.cpbs-button-style-1 {
  background: #ff0f23;
  border: none;
  color: #ffffff;
  font-weight: 700;
  box-shadow: 0 10px 26px rgba(255, 15, 35, 0.45);
}

/* Secondaire */
#bookingWrap .cpbs-main-content-step-3 .cpbs-button.cpbs-button-style-2 {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  color: #111827;
  font-weight: 500;
}

/****************************************************
 * STEP 3 – ADRESSE DE FACTURATION
 ****************************************************/

/* Checkbox stylisée (Adresse de facturation / Créer un compte) */
#bookingWrap .cpbs-main-content-step-3 .cpbs-form-checkbox {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-right: 8px;
  border-radius: 6px;
  border: 1px solid #d1d5db;
  cursor: pointer;
}

/* Quand activé, le plugin gère la classe; si tu as .cpbs-state-selected tu peux ajouter : */
#bookingWrap .cpbs-main-content-step-3 .cpbs-form-checkbox.cpbs-state-selected {
  background: #ff0f23;
  border-color: #ff0f23;
}

#bookingWrap .cpbs-main-content-step-3 .cpbs-form-checkbox.cpbs-state-selected .cpbs-meta-icon-tick {
  color: #ffffff;
}

/* Ligne "Je suis une entreprise" */
#bookingWrap .cpbs-main-content-step-3 .cb-company-toggle {
  margin: 8px 0 10px;
  font-size: 13px;
}

/****************************************************
 * STEP 3 – MASQUER ÉTAT & N° DE RUE
 ****************************************************/

#bookingWrap .cpbs-main-content-step-3 .cpbs-form-field:has(input[name="cpbs_client_billing_detail_street_number"]),
#bookingWrap .cpbs-main-content-step-3 .cpbs-form-field:has(input[name="cpbs_client_billing_detail_state"]) {
  display: none !important;
}
/* Garder uniquement Payplug dans le step 3 */
#bookingWrap .cpbs-main-content-step-3 ul.cpbs-payment > li:not(:has([data-group="payment"][data-value="payplug"])) {
  display: none !important;
}
/****************************************************
 * STEP 3 – SECTION PAIEMENT
 ****************************************************/

/* Titre "Mode de paiement" */
#bookingWrap .cpbs-main-content-step-3 #cpbs-payment > .cpbs-header.cpbs-header-style-3 {
  font-size: 16px;
  font-weight: 600;
  margin: 10px 0 12px;
}

/* Liste paiement */
#bookingWrap .cpbs-main-content-step-3 ul.cpbs-payment {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Carte Payplug */
#bookingWrap .cpbs-main-content-step-3 ul.cpbs-payment > li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: #ffffff;
  border-radius: 14px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}

/* Checkbox Payplug */
#bookingWrap .cpbs-main-content-step-3 ul.cpbs-payment > li .cpbs-form-checkbox {
  width: 22px;
  height: 22px;
  border-radius: 999px;
}

/* Libellé Payplug */
#bookingWrap .cpbs-main-content-step-3 ul.cpbs-payment > li .cpbs-header.cpbs-header-style-4 {
  font-size: 14px;
  font-weight: 600;
  margin: 0;
}
/* Step 3 – masquer la checkbox au-dessus de "Adresse de facturation" */
#bookingWrap .cpbs-main-content-step-3 .cpbs-form-panel[data-fly-company-init="1"] .cpbs-form-checkbox {
  display: none !important;
}
#bookingWrap .cpbs-main-content-step-3 .cpbs-form-panel[data-fly-company-init="1"] > div {
  display: block;   /* on évite un éventuel layout en flex du plugin */
}
/****************************************************
 * STEP 3 – Inverser récap / formulaire
 * Formulaire à gauche, récapitulatif à droite
 ****************************************************/
 #bookingWrap .cpbs-main-content-step-3 .cpbs-header-style-3 {
  font-size: 20px;
  font-weight: 700;
  color: #EF1728; /* Titres en rouge */
  padding: 0 0 16px 0;
  margin: 0 0 20px 0;
  border-bottom: 1px solid #e5e7eb;
}

#bookingWrap .cpbs-main-content-step-3 .cpbs-layout-25x75 {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

/* On neutralise les floats / largeurs du plugin uniquement ici */
#bookingWrap .cpbs-main-content-step-3 .cpbs-layout-25x75 .cpbs-layout-column-left,
#bookingWrap .cpbs-main-content-step-3 .cpbs-layout-25x75 .cpbs-layout-column-right {
  float: none;
  width: auto;
}

/* Formulaire (colonne droite dans le HTML) → à gauche visuellement */
#bookingWrap .cpbs-main-content-step-3 .cpbs-layout-25x75 .cpbs-layout-column-right {
  order: 1;
  flex: 3 1 0;
}

/* Récap (colonne gauche dans le HTML) → à droite visuellement */
#bookingWrap .cpbs-main-content-step-3 .cpbs-layout-25x75 .cpbs-layout-column-left {
  order: 2;
  flex: 1.2 1 0;
}

/* Mobile : on repasse en colonne, formulaire en premier, récap en dessous */
@media (max-width: 768px) {
  #bookingWrap .cpbs-main-content-step-3 .cpbs-layout-25x75 {
    flex-direction: column;
  }

  #bookingWrap .cpbs-main-content-step-3 .cpbs-layout-25x75 .cpbs-layout-column-right,
  #bookingWrap .cpbs-main-content-step-3 .cpbs-layout-25x75 .cpbs-layout-column-left {
    order: initial;   /* mais l’ordre visuel reste : form puis récap */
    flex: 0 0 auto;
  }
}
/* Step 3 – checkbox natif "Adresse de facturation" masqué */
#bookingWrap .cpbs-main-content-step-3 .cpbs-form-panel .cpbs-form-checkbox {
  display: none !important;
}
/* Espace entre la barre d'étapes et les cartes de contenu */
#bookingWrap .cpbs-main-navigation-default {
  margin-bottom: 32px;
}

#bookingWrap .cpbs-main-content {
  margin-top: 8px;
}
/* Cartes principales (infos client, adresse, paiement, récap à droite) */
#bookingWrap .cpbs-main-content-step-3 .cpbs-client-form .cpbs-form-panel,
#bookingWrap .cpbs-main-content-step-3 #cpbs-payment,
#bookingWrap .cpbs-main-content-step-3 .cpbs-summary-box,
#bookingWrap .cpbs-main-content-step-2 .cpbs-summary-box {
  background: #ffffff;
  border-radius: 20px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.10);
  padding: 22px 24px;
}

/* Marges verticales cohérentes entre les blocs */
#bookingWrap .cpbs-main-content-step-3 .cpbs-client-form .cpbs-form-panel {
  margin-bottom: 24px;
}

  /* =============================================
   16. LAYOUT & STYLE ÉTAPE 4 (Récapitulatif) - MIS À JOUR
   ============================================= */

/* Grille 2 colonnes 50/50 */
#bookingWrap .cpbs-main-content-step-4 .cpbs-layout-50x50 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: stretch; /* Force la même hauteur */
}

/* Style "Carte" pour les deux colonnes principales */
#bookingWrap .cpbs-main-content-step-4 .cpbs-layout-column-left,
#bookingWrap .cpbs-main-content-step-4 .cpbs-layout-column-right {
  display: flex;
  flex-direction: column;
  height: 100%;
  
  background: #fff;
  border: 2px solid black; /* Bordure rouge principale */
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .06);
}

/* Titres de section (Infos client, Récap...) */
#bookingWrap .cpbs-main-content-step-4 .cpbs-header-style-3 {
  font-size: 20px;
  font-weight: 700;
  color: #EF1728; /* Titres en rouge */
  padding: 0 0 16px 0;
  margin: 0 0 20px 0;
  border-bottom: 1px solid #e5e7eb;
}
#bookingWrap .cpbs-main-content-step-4 .cpbs-header-style-3.cpbs-margin-top-40 {
  margin-top: 30px;
}

/* === NOUVEAU : Style des blocs d'infos internes === */

/* Conteneur pour la grille des infos (Prénom/Nom, Email/Tél) */
#bookingWrap .cpbs-main-content-step-4 .cpbs-attribute-field .cpbs-layout-50x50 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px; /* MODIFIÉ : Espace horizontal entre les blocs */
}

/* Conteneur d'une LIGNE (ex: la ligne Prénom/Nom) */
#bookingWrap .cpbs-main-content-step-4 .cpbs-attribute-field:has(.cpbs-layout-50x50) {
    padding: 0;
    border: 0;
    margin-bottom: 16px; /* MODIFIÉ : Espace vertical entre les lignes de blocs */
}

/* Style des BLOCS (Prénom, Nom, Email, Tél) */
#bookingWrap .cpbs-main-content-step-4 .cpbs-layout-50x50 .cpbs-layout-column-left,
#bookingWrap .cpbs-main-content-step-4 .cpbs-layout-50x50 .cpbs-layout-column-right {
    border: 2px solid gray; /* MODIFIÉ : Bordure rouge */
    border-radius: 12px;       /* MODIFIÉ : Coins arrondis */
    padding: 16px;             /* MODIFIÉ : Padding interne (ta demande) */
    
    /* Reset de l'ancien style */
    background: #fff;
    border-bottom: none;
}

/* Style des AUTRES blocs (Immatriculation, Commentaires...) */
#bookingWrap .cpbs-main-content-step-4 .cpbs-attribute-field:not(:has(.cpbs-layout-50x50)) {
    border: 2px solid gray; /* MODIFIÉ : Bordure rouge */
    border-radius: 12px;       /* MODIFIÉ : Coins arrondis */
    padding: 16px;             /* MODIFIÉ : Padding interne */
    margin-bottom: 16px;       /* MODIFIÉ : Espace vertical */
    
    /* Reset de l'ancien style */
    border-bottom: none;
}

/* Label (Prénom, Nom) */
#bookingWrap .cpbs-main-content-step-4 .cpbs-attribute-field-name {
  font-size: 13px;
  color: #6b7280;
  margin-bottom: 4px;
}

/* Valeur (Mame, Wade) */
#bookingWrap .cpbs-main-content-step-4 .cpbs-attribute-field-value {
  font-size: 15px;
  font-weight: 600;
  color: #111827;
  line-height: 1.4;
}

/* --- Styles hérités (inchangés) --- */

/* Bloc des dates */
#bookingWrap .cpbs-main-content-step-4 .cpbs-rental-date-box {
  display: flex; flex-direction: column; gap: 8px;
  background: #f9fafb; border-radius: 8px;
  padding: 12px; font-size: 14px; margin-top: 20px;
}
#bookingWrap .cpbs-main-content-step-4 .cpbs-rental-date-box > div { display: flex; justify-content: space-between; }
#bookingWrap .cpbs-main-content-step-4 .cpbs-rental-date-box span:first-child { color: #6b7280; }
#bookingWrap .cpbs-main-content-step-4 .cpbs-rental-date-box span:last-child { font-weight: 600; }

/* Total */
#bookingWrap .cpbs-main-content-step-4 .cpbs-summary-price-element-total {
  border-top: 1px solid #e5e7eb; padding-top: 16px;
  margin-top: 16px; display: flex;
  justify-content: space-between; align-items: center;
}
#bookingWrap .cpbs-main-content-step-4 .cpbs-summary-price-element-total .cpbs-header-style-4 {
  margin: 0; font-size: 16px; font-weight: 700;
}
#bookingWrap .cpbs-main-content-step-4 .cpbs-summary-price-element-total .cpbs-header-style-3 {
  font-size: 20px; font-weight: 700; color: #111827;
  border:0; margin:0; padding:0; 
}

/* Responsive : 1 colonne sur mobile */
@media (max-width: 991px) {
  #bookingWrap .cpbs-main-content-step-4 .cpbs-layout-50x50 {
    grid-template-columns: 1fr;
  }
}
#bookingWrap .cpbs-location-info-frame {
  display: none !important;
}

/* Cas où le bloc est juste après le formulaire (sibling) */
#bookingWrap + .cpbs-location-info-frame {
  display: none !important;
}
/* =============================================
   18. MODE FOCUS (Masque les sections en trop)
   ============================================= */

/* Quand le body a la classe, on masque l'élément qui a notre étiquette */
body.fly-form-focus-mode .hide-on-form-focus {
  display: none !important;
}
/* =============================================
   STEPPEUR : même rendu mobile / desktop
   ============================================= */

/* On masque définitivement le stepper "responsive" (le SELECT) */
#bookingWrap .cpbs-main-navigation-responsive {
  display: none !important;
}

/* On s'assure que le stepper desktop est toujours visible */
#bookingWrap .cpbs-main-navigation-default {
  display: block !important;
}

/* Ajustements de taille sur petits écrans */
@media (max-width: 500px) {

  /* un peu moins de padding pour la barre d'étapes */
  #bookingWrap .cpbs-main-navigation-default {
    padding: 16px 12px;
  }

  /* on compresse légèrement le contenu du stepper */
  #bookingWrap .cpbs-main-navigation-default li {
    padding: 0 6px;
  }

  #bookingWrap .cpbs-main-navigation-default li a {
    font-size: 12px;
  }

  #bookingWrap .cpbs-main-navigation-default li a > span:first-child {
    width: 30px;
    height: 30px;
    font-size: 13px;
  }
}
/* =============================================
   CENTRAGE STRICT DES CARTES – MOBILE
   ============================================= */
@media (max-width: 600px) {

  /* On enlève les paddings parasites côté wrapper */
  #bookingWrap,
  #bookingWrap .cpbs-main,
  #bookingWrap .cpbs-main-content-step-1 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0;
    margin-right: 0;
    max-width: 110%;
    box-sizing: border-box;
  }

  /* Stepper : largeur contrôlée + centré */
  #bookingWrap .cpbs-main-navigation-default {
    width: calc(100% - 3px); /* 16px de marge à gauche et à droite */
    margin: 0 auto 16px auto;
  }

  /* Groupe des 3 cartes de l'étape 1 */
  #bookingWrap .cpbs-main-content-step-1 .cpbs-form-panel > div > div > div:first-of-type {
    width: 100%;
    margin: 0;
  }

  /* Chaque carte ("Date entrée", "Date sortie", "Parking") */
  #bookingWrap .cpbs-main-content-step-1 .cpbs-form-panel > div > div > div:first-of-type > div {
    width: calc(90% - 3px);  /* 16px de marge à gauche et à droite */
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
  }

  /* Bouton RESERVER aligné sur les cartes */
  #bookingWrap .cpbs-button[type="submit"] {
    width: calc(90% - 32px);
    margin-left: auto;
    margin-right: auto;
  }

  /* Sécurité : pas de scroll horizontal */
  html,
  body {
    overflow-x: hidden;
  }
}

/* Taille plus petite pour le select "Aéroport Bâle-Mulhouse" */


#bookingWrap .ui-selectmenu-text {
  font-size: 12px;       /* texte plus petit */
  color: #111827;
  padding: 0;
}
/* =============================================
   OPTIONS SUPPLÉMENTAIRES – masquer les sélecteurs
   ============================================= */

/* On repasse les cartes d’options en 2 colonnes :
   1 = bloc texte (nom, prix, description)
   2 = bouton "SÉLECTIONNER" */
#bookingWrap .cpbs-booking-extra-list li {
  grid-template-columns: 1fr auto;
}

/* On masque le spinner jQuery UI (+ / – / champ quantité) 
   uniquement dans les options supplémentaires */
#bookingWrap .cpbs-booking-extra-list li .ui-spinner {
  display: none !important;
}
/* Masquer le bloc quantité (- / input / +) uniquement dans Options supplémentaires */
#bookingWrap .cpbs-booking-extra-list li .cpbs-quantity {
  display: none !important;
}
/* Le footer reste  dans la pile */
.light-footer {
  position: relative;
  z-index: 1;
}
@media (max-width: 600px) {

  /* Conteneur des deux boutons : colonne + centré */
  #bookingWrap .cpbs-main-content-navigation-button {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding-top: 16px;
  }

  /* Style commun aux deux boutons (Précédent / Suivant) */
  #bookingWrap .cpbs-main-content-navigation-button
  .cpbs-button-style-1,
  #bookingWrap .cpbs-main-content-navigation-button
  .cpbs-button-style-2 {
    width: 80%;
    max-width: 300px;

    /* taille plus petite */
    height: 32px;
    font-size: 10px;

    /* centrage parfait du texte */
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
    padding: 0 10px;
    text-align: center;
    white-space: normal; /* autorise le retour à la ligne */
  }
}
@media (max-width: 600px) {

  /* Bouton "Informations client" seulement */
  #bookingWrap .cpbs-main-content-navigation-button .cpbs-button-style-1 {
    font-size: 8px;      /* texte plus petit */
    letter-spacing: 0.02em;
    padding: 0 5px;       /* léger padding */
  }
}
/* ================================
   Boutons "Sélectionnez les dates"
   & "Informations client"
   (navigation step 2)
   ================================ */
#bookingWrap .cpbs-main-content-navigation-button .cpbs-button-style-1,
#bookingWrap .cpbs-main-content-navigation-button .cpbs-button-style-2 {
    /* bouton plus petit */
    height: 42px;
    padding: 0 18px;

    /* texte plus petit et centré sur plusieurs lignes */
    font-size: 13px;
    text-align: center;
    white-space: normal;
    line-height: 1.0;

    /* on garde le centrage flex */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Un tout petit peu plus compact sur mobile */
@media (max-width: 600px) {
  #bookingWrap .cpbs-main-content-navigation-button .cpbs-button-style-1,
  #bookingWrap .cpbs-main-content-navigation-button .cpbs-button-style-2 {
      height: 34px;
      font-size: 12px;
      padding: 0 12px;
  }
}

/* ================================
   Bouton "RÉSERVER" (submit step 1)
   ================================ */

/* Version mobile : encore un peu plus petit */
@media (max-width: 600px) {
  #bookingWrap .cpbs-button[type="submit"] {
      max-width: 200px;
      height: 40px;
      font-size: 12px;
      margin-top: 24px;
  }
}

/********************************************
 * A. Boutons navigation STEP 3 & STEP 4
 *    (Place de parking / Récapitulatif, etc.)
 ********************************************/

/* Taille par défaut un peu plus compacte */
#bookingWrap .cpbs-main-content-step-3 .cpbs-main-content-navigation-button .cpbs-button-style-1,
#bookingWrap .cpbs-main-content-step-3 .cpbs-main-content-navigation-button .cpbs-button-style-2,
#bookingWrap .cpbs-main-content-step-4 .cpbs-main-content-navigation-button .cpbs-button-style-1,
#bookingWrap .cpbs-main-content-step-4 .cpbs-main-content-navigation-button .cpbs-button-style-2 {
    height: 40px;
    padding: 0 18px;
    font-size: 13px;
    line-height: 1.1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: normal; /* autorise le retour à la ligne */
}

/* Version mobile : encore plus petits + centrés en colonne */
@media (max-width: 600px) {
  #bookingWrap .cpbs-main-content-step-3 .cpbs-main-content-navigation-button,
  #bookingWrap .cpbs-main-content-step-4 .cpbs-main-content-navigation-button {
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding-top: 16px;
  }

  #bookingWrap .cpbs-main-content-step-3 .cpbs-main-content-navigation-button .cpbs-button-style-1,
  #bookingWrap .cpbs-main-content-step-3 .cpbs-main-content-navigation-button .cpbs-button-style-2,
  #bookingWrap .cpbs-main-content-step-4 .cpbs-main-content-navigation-button .cpbs-button-style-1,
  #bookingWrap .cpbs-main-content-step-4 .cpbs-main-content-navigation-button .cpbs-button-style-2 {
      width: 80%;
      max-width: 280px;
      height: 32px;
      font-size: 11px;
      padding: 0 10px;
  }
}

/********************************************
 * B. Step 3 – Récap à la même largeur que
 *    la carte "Informations client" sur mobile
 ********************************************/

/* On neutralise le comportement sticky qui décale la box
   (theiaStickySidebar met un left: 40px et une largeur plus petite) */
@media (max-width: 768px) {
  #bookingWrap .cpbs-main-content-step-3 .theiaStickySidebar {
      position: static !important;
      left: auto !important;
      right: auto !important;
      top: auto !important;
      transform: none !important;
      width: auto !important;
  }

  /* Les deux colonnes prennent 100% de la largeur du conteneur */
  #bookingWrap .cpbs-main-content-step-3 .cpbs-layout-25x75 .cpbs-layout-column-left,
  #bookingWrap .cpbs-main-content-step-3 .cpbs-layout-25x75 .cpbs-layout-column-right {
      width: 100%;
  }

  /* Récap centré et même largeur visuelle que la carte du dessous */
  #bookingWrap .cpbs-main-content-step-3 .cpbs-summary-box {
      width: 100%;
      margin: 0 0 24px 0; /* même marge que les panels formulaires */
  }
}
/* =========================================
   Taille texte – boutons rouges "suivant"
   (INFORMATIONS CLIENT / RÉCAPITULATIF …)
   ========================================= */

/* Desktop & tablette */
#bookingWrap .cpbs-main-content-navigation-button .cpbs-button-style-1 {
    font-size: 11px;     /* plus petit */
    line-height: 1.1;
    letter-spacing: 0.03em;
}

/* Mobile : encore un poil plus compact */
@media (max-width: 600px) {
  #bookingWrap .cpbs-main-content-navigation-button .cpbs-button-style-1 {
      font-size: 9px;
      line-height: 1.15;
  }
}
/* Force une taille plus petite pour les boutons rouges "step-next" */
#bookingWrap .cpbs-main-content-navigation-button
a.cpbs-button.cpbs-button-style-1.cpbs-button-step-next {
    font-size: 10px !important;   /* taille du texte */
    line-height: 1.1;
    letter-spacing: 0.02em;
}
/* Bouton "Pays" : même look que les autres inputs du step 3 */
#bookingWrap .cpbs-main-content-step-3 
.ui-selectmenu-button.ui-button {
    width: 100%;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
    background: #ffffff;
    padding: 8px 12px;
    font-size: 14px;
    color: #111827;
    text-align: left;
}

/* Flèche du select */
#bookingWrap .cpbs-main-content-step-3 
.ui-selectmenu-button.ui-button .ui-icon {
    background: none;
    text-indent: 0;
}
#bookingWrap .cpbs-main-content-step-3 
.ui-selectmenu-button.ui-button .ui-icon::before {
    content: "▼";
    font-size: 10px;
    color: #6b7280;
}

/* Menu déroulant des pays :
   hauteur limitée + scroll interne */
#bookingWrap .cpbs-main-content-step-3 
.ui-selectmenu-menu .ui-menu {
    max-height: 260px;      /* au lieu de toute la page */
    overflow-y: auto;       /* barre de scroll interne */
    font-size: 14px;
}

/* Option active / survol un peu plus propre */
#bookingWrap .cpbs-main-content-step-3 
.ui-selectmenu-menu .ui-menu-item-wrapper.ui-state-active {
    background: #EF1728;
    color: #ffffff;
}
/* Liste déroulante jQuery UI utilisée pour le champ PAYS
   → hauteur fixe + scroll interne */
#bookingWrap .ui-selectmenu-menu .ui-menu {
    max-height: 220px;              /* ajustable (200–250px) */
    overflow-y: auto !important;    /* scroll à l'intérieur du menu */
    -webkit-overflow-scrolling: touch; /* scroll fluide sur mobile */
}

/* Pour être sûr que le menu passe au-dessus du reste (footer, etc.) */
#bookingWrap .ui-selectmenu-menu {
    z-index: 9999 !important;
}
#ui-id-11-menu {
    max-height: 220px;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
}
/* Champ + options du select PAYS */
#bookingWrap select[name="cpbs_client_billing_detail_country_code"],
#bookingWrap select[name="cpbs_client_billing_detail_country_code"] option {
    background-color: #ffffff !important;
    color: #111827;
}
/* Fond blanc pour la liste jQuery UI du pays */
#bookingWrap .ui-selectmenu-menu .ui-menu {
    background-color: #ffffff !important;
}

/* Chaque item de la liste */
#bookingWrap .ui-selectmenu-menu .ui-menu .ui-menu-item-wrapper {
    background-color: #ffffff !important;
    color: #111827;
}
/* =========================================================
   STEP 4 – Version épurée des infos client (colonne gauche)
   ========================================================= */

/* 1) On supprime les gros cadres internes */
#bookingWrap .cpbs-main-content-step-4 .cpbs-layout-column-left 
.cpbs-attribute-field .cpbs-layout-50x50 .cpbs-layout-column-left,
#bookingWrap .cpbs-main-content-step-4 .cpbs-layout-column-left 
.cpbs-attribute-field .cpbs-layout-50x50 .cpbs-layout-column-right,
#bookingWrap .cpbs-main-content-step-4 .cpbs-layout-column-left 
.cpbs-attribute-field:not(:has(.cpbs-layout-50x50)) {
    border: 0 !important;
    background: transparent !important;
    padding: 0;
    margin: 0;
}

/* 2) Chaque ligne devient un simple bloc avec un trait fin en bas */
#bookingWrap .cpbs-main-content-step-4 .cpbs-layout-column-left 
.cpbs-attribute-field {
    padding: 10px 0;
    border-bottom: 1px solid #e5e7eb;
}

/* Pas de trait sous le dernier bloc */
#bookingWrap .cpbs-main-content-step-4 .cpbs-layout-column-left 
.cpbs-attribute-field:last-of-type {
    border-bottom: none;
}

/* 3) Grille 2 colonnes pour les paires (Prénom/Nom, Email/Tél) */
#bookingWrap .cpbs-main-content-step-4 .cpbs-layout-column-left 
.cpbs-attribute-field .cpbs-layout-50x50 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

/* 4) Label + valeur, style plus fin */
#bookingWrap .cpbs-main-content-step-4 .cpbs-layout-column-left 
.cpbs-attribute-field-name {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: red;
    margin-bottom: 2px;
}

#bookingWrap .cpbs-main-content-step-4 .cpbs-layout-column-left 
.cpbs-attribute-field-value {
    font-size: 14px;
    font-weight: 500;
    color: #111827;
}
/* STEP 4 – Centrage des lignes simples (Immatriculation, Commentaires, Mode de paiement) */
#bookingWrap .cpbs-main-content-step-4 .cpbs-layout-column-left 
.cpbs-attribute-field:not(:has(.cpbs-layout-50x50)) {
    text-align: center;           /* centre le contenu dans la ligne */
}

/* Label et valeur affichés bien au centre l’un sous l’autre */
#bookingWrap .cpbs-main-content-step-4 .cpbs-layout-column-left 
.cpbs-attribute-field:not(:has(.cpbs-layout-50x50)) .cpbs-attribute-field-name,
#bookingWrap .cpbs-main-content-step-4 .cpbs-layout-column-left 
.cpbs-attribute-field:not(:has(.cpbs-layout-50x50)) .cpbs-attribute-field-value {
    display: block;
    text-align: center;
}

/****************************************************
 * STEP 3 – Masquer uniquement login + création compte
 ****************************************************/

/* 1. Masquer TOUT le panneau "Se connecter" */
#bookingWrap .cpbs-main-content-step-3 .cpbs-client-form-sign-in {
  display: none !important;
}

/* 2. S'assurer que le formulaire "Informations client" reste visible */
#bookingWrap .cpbs-main-content-step-3 .cpbs-client-form-sign-up {
  display: block !important;
}

/* 3. Masquer UNIQUEMENT le panneau "Créer un compte ?" */
#bookingWrap .cpbs-main-content-step-3 
.cpbs-client-form-sign-up .cpbs-form-panel:has(input[name="cpbs_client_sign_up_enable"]) {
  display: none !important;
}

/* Step 3 – Adresse de facturation : 4 colonnes */
#bookingWrap .cpbs-main-content-step-3
.cpbs-form-panel[data-fly-company-toggle-init="1"]
.cpbs-form-field.cpbs-form-field-width-33 {
  flex: 0 0 calc(25% - 12px);
}

/* Mobile : 1 champ par ligne */
@media (max-width: 768px) {
  #bookingWrap .cpbs-main-content-step-3
  .cpbs-form-panel[data-fly-company-toggle-init="1"]
  .cpbs-form-field.cpbs-form-field-width-33 {
    flex: 0 0 100%;
  }
}
.cpbs-payment li div.cpbs-header-style-4 {
    font-size: 0 !important;
}

.cpbs-payment li div.cpbs-header-style-4:after {
    content: "Carte bancaire" !important;
    font-size: 16px !important;
}
/*************************************************
 * STEP 4 – Récap "Mode de paiement sélectionné"
 * (remplace visuellement Payplug)
 *************************************************/

/* On part du principe que la ligne paiement est
   le DERNIER .cpbs-attribute-field de la colonne
   de droite du step 4. */
#bookingWrap .cpbs-main-content-step-4
  .cpbs-layout-column-right
  .cpbs-attribute-field:last-of-type
  .cpbs-attribute-field-value {
    position: relative;
    color: transparent;    /* on cache "Payplug" */
}

/* On affiche "Carte bancaire" */
#bookingWrap .cpbs-main-content-step-4
  .cpbs-layout-column-right
  .cpbs-attribute-field:last-of-type
  .cpbs-attribute-field-value::after {
    content: "Carte bancaire";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
}
/* Step 1 – Bouton "Reserver" en gris clair uniquement */
#bookingWrap .cpbs-main-content-step-1 input.cpbs-button[type="submit"] {
    background-color: #e5e7eb !important;   /* gris clair */
    color: #111827 !important;              /* texte gris très foncé */
    border: 1px solid #d1d5db !important;   /* petit contour gris */
}

/* Hover : gris un peu plus foncé, toujours neutre */
#bookingWrap .cpbs-main-content-step-1 input.cpbs-button[type="submit"]:hover {
    background-color: #d1d5db !important;
    color: #111827 !important;
}
/* Bloc récap (colonne gauche CPBS) : fond blanc + texte noir */
#bookingWrap .cpbs-summary-box {
    background: white !important;
    color: #000000 !important;
}

/* Titres dans le récap */
#bookingWrap .cpbs-summary-box .cpbs-header {
    color: #000000 !important;
}

/* Textes et valeurs dans les lignes de dates / récap */
#bookingWrap .cpbs-summary-box .cpbs-rental-date-box span,
#bookingWrap .cpbs-summary-box .cpbs-summary-price-element,
#bookingWrap .cpbs-summary-box .cpbs-summary-price-element-total div {
    color: #000000 !important;
}

/* Au cas où il y aurait des liens dans ce bloc */
#bookingWrap .cpbs-summary-box a {
    color: #000000 !important;
}
/* Récap – fond blanc + texte noir */
#bookingWrap .cpbs-summary-box {
    background: #ffffff !important;
    color: #000000 !important;
}

/* Titres dans le récap */
#bookingWrap .cpbs-summary-box .cpbs-header {
    color: #000000 !important;
}

/* Lignes "Date d'entrée / Date de sortie" : enlever le fond foncé */
#bookingWrap .cpbs-summary-box .cpbs-rental-date-box span {
    background: transparent !important;  /* supprime la bande bleue/noire */
    color: #000000 !important;           /* texte noir */
}

/* On s'assure que le conteneur des lignes ne remet pas un fond */
#bookingWrap .cpbs-summary-box .cpbs-rental-date-box > div {
    background: transparent !important;
}
/* Étape 1 – renommer les 2 premiers blocs en "Aller" et "Retour" */

/* 1) Bloc "Date et heure d'entrée" -> "Aller" */
.cpbs-main-content-step-1 
  .cpbs-form-panel > div > div > div > div:nth-child(1) 
  > .cpbs-header.cpbs-header-style-4 {
    font-size: 0 !important;   /* masque le texte d’origine */
    position: relative;
}

.cpbs-main-content-step-1 
  .cpbs-form-panel > div > div > div > div:nth-child(1) 
  > .cpbs-header.cpbs-header-style-4::before {
    content: "Aller";
    font-size: 18px;           /* taille réelle du texte */
    font-weight: 700;
    color: inherit;
}

/* 2) Bloc "Date et heure de sortie" -> "Retour" */
.cpbs-main-content-step-1 
  .cpbs-form-panel > div > div > div > div:nth-child(2) 
  > .cpbs-header.cpbs-header-style-4 {
    font-size: 0 !important;
    position: relative;
}

.cpbs-main-content-step-1 
  .cpbs-form-panel > div > div > div > div:nth-child(2) 
  > .cpbs-header.cpbs-header-style-4::before {
    content: "Retour";
    font-size: 18px;
    font-weight: 700;
    color: inherit;
}

/* 3) Bloc "Sélectionnez un parking" : on laisse le texte tel quel */
.cpbs-main-content-step-1 
  .cpbs-form-panel > div > div > div > div:nth-child(3) 
  > .cpbs-header.cpbs-header-style-4 {
    font-size: inherit !important;
}

.cpbs-main-content-step-1 
  .cpbs-form-panel > div > div > div > div:nth-child(3) 
  > .cpbs-header.cpbs-header-style-4::before {
    content: none;
}
/* Boutons de choix du lieu de rendez-vous (FR / CH) */

.flyv-lieux-toggle {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
}

.flyv-lieux-btn {
    flex: 1 1 180px;
    border-radius: 999px;
    border: 1px solid #e5e7eb;
    background: #ffffff;
    padding: 10px 14px;
    cursor: pointer;
    font-size: 0.95rem;
    font-weight: 600;
    color: #111827;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease,
                transform 0.12s ease;
}

.flyv-lieux-btn:hover {
    background: #f3f4f6;
    transform: translateY(-1px);
}

.flyv-lieux-btn.is-active {
    background: #111827;
    color: #ffffff;
    border-color: #111827;
}
/* Masquer complètement l'ancien bloc PARKING (label + select + UI) 
   dans la 3ème carte de l'étape 1 */
.cpbs-main-content-step-1 
  .cpbs-form-panel > div > div > div > div:nth-child(3) 
  .cpbs-form-field > label,
.cpbs-main-content-step-1 
  .cpbs-form-panel > div > div > div > div:nth-child(3) 
  .cpbs-form-field > .select2,
.cpbs-main-content-step-1 
  .cpbs-form-panel > div > div > div > div:nth-child(3) 
  .cpbs-form-field > .ui-selectmenu-button,
.cpbs-main-content-step-1 
  .cpbs-form-panel > div > div > div > div:nth-child(3) 
  .cpbs-form-field > .dropdown-wrapper {
    display: none !important;
}
/* Masque complètement le header flottant du plugin CPBS */
.cpbs-summary,
.cpbs-summary * {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}
/* Masquer définitivement le menu déroulant du lieu de rendez-vous (CPBS) */
.ui-selectmenu-menu[aria-labelledby="ui-id-2-button"],
#ui-id-2-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}
/* Pour être sûr que le menu passe au-dessus du reste (footer, etc.) */
#bookingWrap .ui-selectmenu-menu {
    z-index: 9999 !important;
}
/* Le calendrier jQuery UI / CPBS toujours tout en haut */
#ui-datepicker-div,
.cpbs-datepicker,
.cpbs-datepicker-wrapper {
 
  z-index: 99999 !important;
}

/* Le footer reste "en dessous" dans la pile */
.light-footer {
  position: relative;
  z-index: 1;
}
/****************************************
 * STEP 2 – supprimer complètement le récap
 ****************************************/

/* Colonne gauche avec la boîte récap */
.cpbs-main-content-step-2 .cpbs-layout-column-left,
.cpbs-main-content-step-2 .cpbs-summary-box {
    display: none !important;
}

/* Colonne droite = pleine largeur */
.cpbs-main-content-step-2 .cpbs-layout-column-right {
    width: 100% !important;
    float: none !important;
}
/* Bouton normal */
.cpbs-place-select-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 35px;
    border-radius: 999px;
    font-weight: 700;
    text-transform: uppercase;
    border: none;
    background: #eaff00;
    color: #fff;
    cursor: pointer;
    transition: all .2s ease;
}

/* État sélectionné */
.cpbs-place-select-button.cpbs-btn-selected {
    background: #1db954; /* vert */
    color: #fff;
}

/* Icône check dans le bouton sélectionné */
.cpbs-place-select-button.cpbs-btn-selected .cpbs-check {
    font-size: 22px;
    line-height: 1;
}
/* Style des cartes d'options */
.cpbs-booking-extra-list li {
    position: relative;
    border: 2px solid #e5e5e5;
    border-radius: 24px;
    padding: 40px 30px 30px;
    margin: 0 10px 20px;
}

/* Badge + centré en haut de la carte */
.cpbs-booking-extra-list li::before {
    content: "+";
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    width: 34px;
    height: 34px;
    border-radius: 10px;
    border: 2px solid #d4d4d4;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 18px;
    box-shadow: 0 0 0 4px #ffffff; /* effet pastille posée sur la bordure */
}
/* Carte sélectionnée */
.cpbs-booking-extra-list li.fly-extra-selected {
    border-color: #2ecc71;
}

/* Badge en mode "validé" */
.cpbs-booking-extra-list li.fly-extra-selected::before {
    content: "✔";
    background: #2ecc71;
    color: #ffffff;
    border-color: #2ecc71;
}
/* Style de base déjà en place pour tes extras... */

/* État désactivé pour l’option lavage (quand VIP) */
.cpbs-booking-extra-list li.cpbs-extra-disabled {
    opacity: 0.45;
}

.cpbs-booking-extra-list li.cpbs-extra-disabled,
.cpbs-booking-extra-list li.cpbs-extra-disabled * {
    cursor: not-allowed !important;
}

/* On neutralise le clic sur le bouton */
.cpbs-booking-extra-list li.cpbs-extra-disabled .cpbs-button {
    pointer-events: none;
}

/* Message visuel : inclus dans VIP (facultatif) */
.cpbs-booking-extra-list li.cpbs-extra-disabled .cpbs-booking-extra-name::after {
    content: " – inclus dans la formule VIP";
    display: block;
    font-weight: 400;
    font-size: 12px;
}
/* Option désactivée (lavage pour VIP) : plus aucun clic possible */
.cpbs-booking-extra-list li.cpbs-extra-disabled {
    opacity: 0.45;
    pointer-events: none;        /* << bloque tous les clics sur la carte */
}

/* (facultatif) Curseur visuel si jamais tu enlèves pointer-events */
.cpbs-booking-extra-list li.cpbs-extra-disabled,
.cpbs-booking-extra-list li.cpbs-extra-disabled * {
    cursor: not-allowed !important;
}
/* Conteneur des boutons navigation */
.cpbs-main-content-navigation-button {
    display: flex;
    justify-content: space-between;   /* un à gauche, un à droite */
    align-items: center;
    gap: 20px;                        /* espace entre les deux */
    margin-top: 30px;
}

/* Boutons dans cette zone : plus de full-width */
.cpbs-main-content-navigation-button .cpbs-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;                 /* largeur mini */
    padding: 12px 28px;
    border-radius: 999px;
    width: auto !important;           /* casse le width:100% du plugin */
}

/* Optionnel : style du bouton “Retour” un peu plus léger */
.cpbs-main-content-navigation-button .cpbs-button-step-prev {
    background: #ffffff;
    color: #000000;
    border: 2px solid #000000;
}

/* Bouton “Suivant” reste rouge */
.cpbs-main-content-navigation-button .cpbs-button-step-next {
    /* tu gardes ton style existant (rouge) */
}
/* Dès qu'il n'y a plus la classe fly-extra-selected,
   on force le badge à repasser en "+" */
.cpbs-booking-extra-list li:not(.fly-extra-selected)::before {
    content: "+";
    background: #ffffff;
    color: inherit;
    border-color: #d4d4d4;
}
.cpbs-booking-extra-list li.cpbs-extra-disabled {
    opacity: 0.45;
    pointer-events: none;
}
/* Option "Lavage intérieur premium" désactivée pour VIP */
.cpbs-booking-extra-list li.cpbs-wash-disabled {
    opacity: 0.45;
    pointer-events: none;      /* plus de clic possible */
}
/* État "grisé" purement visuel pour l'extra lavage (VIP) */
.cpbs-booking-extra-list li.cpbs-wash-visual-disabled {
    opacity: 0.45;
    pointer-events: none;           /* plus de clic possible sur cette carte */
}

/* Si tu veux aussi remettre le badge en + au lieu de ✔ */
.cpbs-booking-extra-list li.cpbs-wash-visual-disabled::before {
    content: "+";
    background: #ffffff;
    color: #666;
    border-color: #d4d4d4;
}
.cpbs-flight-number {
    margin-top: 10px;
}

.cpbs-flight-number label {
    display: block;
    font-weight: 600;
    margin-bottom: 4px;
}

.cpbs-flight-number input {
    width: 100%;
    padding: 8px;
    box-sizing: border-box;
}
/* Récapitulatif – colonne gauche, étape 3 */
.cpbs-main-content-step-3 .cpbs-layout-column-left .cpbs-summary-box {
    background: #f7f7fb;
    border: 1px solid #e0e2ec;
    border-radius: 12px;
    padding: 20px 18px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
    font-size: 14px;
    line-height: 1.5;
    color: #111827;
}

/* Espacement vertical interne */
.cpbs-main-content-step-3 .cpbs-layout-column-left .cpbs-summary-box > * + * {
    margin-top: 12px;
}

/* Titres (Connecté en tant que, Dates, Période, Récapitulatif, Total label) */
.cpbs-main-content-step-3 .cpbs-layout-column-left .cpbs-summary-box .cpbs-header.cpbs-header-style-4 {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
    color: #6b7280;
    margin-top: 16px;
    margin-bottom: 6px;
}

/* Premier header */
.cpbs-main-content-step-3 .cpbs-layout-column-left .cpbs-summary-box .cpbs-header.cpbs-header-style-4:first-of-type {
    margin-top: 0;
}

/* "Connecté en tant que" valeur (adminXXXX) – badge */
.cpbs-main-content-step-3 .cpbs-layout-column-left .cpbs-summary-box > div:first-of-type + div {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #e0f2fe;
    color: #0369a1;
    font-weight: 600;
    font-size: 13px;
}

/* Bloc dates de réservation */
.cpbs-main-content-step-3 .cpbs-layout-column-left .cpbs-summary-box .cpbs-rental-date-box {
    border-radius: 8px;
    background: #ffffff;
    border: 1px dashed #d1d5db;
    padding: 10px 12px;
}

/* Lignes Date d'entrée / Date de sortie */
.cpbs-main-content-step-3 .cpbs-layout-column-left .cpbs-summary-box .cpbs-rental-date-box > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    padding: 4px 0;
}

.cpbs-main-content-step-3 .cpbs-layout-column-left .cpbs-summary-box .cpbs-rental-date-box > div span:first-child {
    color: #6b7280;
}

.cpbs-main-content-step-3 .cpbs-layout-column-left .cpbs-summary-box .cpbs-rental-date-box > div span:last-child {
    font-weight: 600;
    color: #111827;
}

/* Période de réservation ("2 jours") – idéalement à remplacer par une classe dédiée si tu peux */
.cpbs-main-content-step-3 .cpbs-layout-column-left .cpbs-summary-box .cpbs-header.cpbs-header-style-4 + div {
    font-weight: 600;
    font-size: 14px;
    color: #111827;
    padding: 6px 0 4px;
}

/* Bloc prix global */
.cpbs-main-content-step-3 .cpbs-layout-column-left .cpbs-summary-box .cpbs-summary-price-element {
    margin-top: 8px;
}

/* Lignes "Place" / "Options supplémentaires" */
.cpbs-main-content-step-3 .cpbs-layout-column-left .cpbs-summary-box .cpbs-summary-price-element > div > div {
    display: flex;
    justify-content: space-between;
    padding: 4px 0;
    font-size: 13px;
}

.cpbs-main-content-step-3 .cpbs-layout-column-left .cpbs-summary-box .cpbs-summary-price-element > div > div span:first-child {
    color: #6b7280;
}

.cpbs-main-content-step-3 .cpbs-layout-column-left .cpbs-summary-box .cpbs-summary-price-element > div > div span:last-child {
    font-weight: 500;
    color: #111827;
}

/* Bloc Total */
.cpbs-main-content-step-3 .cpbs-layout-column-left .cpbs-summary-box .cpbs-summary-price-element-total {
    border-top: 1px solid #e5e7eb;
    margin-top: 8px;
    padding-top: 8px;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.cpbs-main-content-step-3 .cpbs-layout-column-left .cpbs-summary-box .cpbs-summary-price-element-total .cpbs-header-style-4 {
    margin: 0;
    font-size: 13px;
    color: #6b7280;
}

.cpbs-main-content-step-3 .cpbs-layout-column-left .cpbs-summary-box .cpbs-summary-price-element-total .cpbs-header-style-3 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #111827;
}

/* Responsive */
@media (max-width: 768px) {
    .cpbs-main-content-step-3 .cpbs-layout-column-left .cpbs-summary-box {
        margin-bottom: 20px;
        padding: 16px 14px;
    }
}
/* Label avec icône d’info */
.cpbs-label-has-info {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

/* Icône "i" */
.cpbs-info-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    border: 1px solid #999;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    line-height: 1;
}
.cpbs-label-has-info .cpbs-info-icon {
    margin-left: 3px; /* espace entre le texte et le cercle */
}
/* Contenu de la popup (cachée par défaut) */
.cpbs-info-tooltip {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: calc(100% + 8px);
    min-width: 220px;
    max-width: 240px;
    padding: 8px 10px;
    border-radius: 6px;
    background: #000;
    color: #fff;
    font-size: 12px;
    line-height: 1.4;
    box-shadow: 0 4px 10px rgba(0,0,0,.2);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 999;
    transition: opacity .15s ease;
}

/* >>> ICI était la faute de frappe : cpbs, pas cbps <<< */
.cpbs-info-icon:hover .cpbs-info-tooltip,
.cpbs-info-icon:focus .cpbs-info-tooltip,
.cpbs-info-icon:focus-within .cpbs-info-tooltip {
    opacity: 1;
    visibility: visible;
}
/* Masquer le texte d'origine pour l'étape 3 */
#bookingWrap .cpbs-main-navigation-default li[data-step="3"] a span:last-child {
    position: relative;
    font-size: 0 !important; /* masque "Suivant" */
}

/* Remplacer par "Informations" */
#bookingWrap .cpbs-main-navigation-default li[data-step="3"] a span:last-child::after {
    content: "Informations";
    font-size: 16px;          /* taille réelle */
    font-weight: 600;
    display: inline-block;
}
#bookingWrap .cpbs-form-field label {
  text-transform: uppercase;
}
/* Step 1 : labels en casse normale (Date d’aller, Heure dépôt, Atterrissage…) */
#bookingWrap .cpbs-form-field-label {
    text-transform: none !important;
}
#bookingWrap .cpbs-main-content-step-1 .cpbs-form-field-label {
    text-transform: none !important;
}
/* Boutons de choix du lieu (FR / CH) */
#bookingWrap .flyv-lieux-btn {
    font-size: 1.3rem;          /* texte un peu plus grand */
    font-weight: 600;
    text-transform: none !important;  /* on annule les MAJUSCULES forcées */
}

/* Drapeaux à l'intérieur des boutons */
#bookingWrap .flyv-lieux-btn img.emoji {
    width: 20px;   /* taille du drapeau */
    height: 20px;
    margin-right: 4px; /* léger espace après le drapeau si besoin */
}

/* À adapter selon ton breakpoint mobile */
@media (max-width: 768px) {

  /* Masquer la ligne "Côté suisse: aéroport… + Plus de détails" */
  .cpbs-place-location-name {
    display: none !important;
  }

  /* Masquer "Places disponibles / 50 sur 50 disponibles" */
  .cpbs-place-attribute-2 {
    display: none !important;
  }
}
@media (max-width: 768px) {

  /* Masquer infos inutiles sur mobile */
  .cpbs-place-location-name,
  .cpbs-place-attribute-2 {
    display: none !important;
  }

  /* Bloc général plus compact mais avec assez de place en haut
     pour le cartouche "Premium / VIP" */
  .cpbs-place {
    padding: 40px 15px 20px;   /* ↑ augmente le padding-top */
    margin: 10px 0;
    min-height: auto !important;
    height: auto !important;
  }

  /* On peut toujours virer la colonne image si tu ne l'utilises pas */
  .cpbs-place-layout-column-left {
    display: none !important;
  }

  /* On remet un peu d'espace sous le bloc titre/prix uniquement */
  .cpbs-place-layout-column-right-line-top {
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
  }

  /* Middle + bottom plus serrés */
  .cpbs-place-layout-column-right-line-middle,
  .cpbs-place-layout-column-right-line-bottom {
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Marge propre autour du texte avec les ✓ */
  .cpbs-place-layout-column-right-line-bottom p {
    margin: 8px 0 12px !important;
  }
}
@media (max-width: 768px) {

  /* Masquer les descriptions "Inclus : ..." / "Restitution ..." */
  .cpbs-booking-extra-description {
    display: none !important;
  }

  /* Compacter les cartes d'options */
  .cpbs-booking-extra-list li {
    padding: 15px 15px 12px;   /* réduis si tu veux encore plus serré */
    margin: 10px 0;
    min-height: auto !important;
    height: auto !important;
  }

  /* Réduire un peu l’espace vertical interne */
  .cpbs-booking-extra-list li > div:first-child {
    margin-bottom: 8px !important;
  }
}
@media (max-width: 768px) {

  /* On force le conteneur en flex colonne */
  .cpbs-main-content-step-3 .cpbs-layout-25x75 {
    display: flex !important;
    flex-direction: column;
  }

  /* Les trois blocs prennent 100% et ne flottent plus */
  .cpbs-main-content-step-3 .cpbs-layout-column-left,
  .cpbs-main-content-step-3 .cpbs-layout-column-right,
  .cpbs-main-content-step-3 #cpbs-payment {
    float: none !important;
    width: 100% !important;
  }

  /* Ordre mobile : Formulaire -> Récap -> Paiement */
  .cpbs-main-content-step-3 .cpbs-layout-column-right {
    order: 1;
  }

  .cpbs-main-content-step-3 .cpbs-layout-column-left {
    order: 2;
  }

  .cpbs-main-content-step-3 #cpbs-payment {
    order: 3;
  }
}
/* Bouton accordéon du récap sur mobile */
@media (max-width: 768px) {
  .cpbs-summary-toggle-mobile {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    margin: 20px 0 10px;
    border-radius: 999px;
    border: 1px solid #eee;
    background: #ffffff;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
  }

  .cpbs-summary-toggle-mobile::after {
    content: "+";
    font-size: 20px;
    line-height: 1;
  }

  .cpbs-summary-toggle-mobile:not(.is-collapsed)::after {
    content: "−";
  }
}

/* Sur desktop on n'affiche pas le bouton accordéon */
@media (min-width: 769px) {
  .cpbs-summary-toggle-mobile {
    display: none;
  }
}
/*////////////////////////////////*/
/* Étape 4 : remplacer "Suivant" par "Récapitulatif" dans le titre de gauche */
.cpbs-main-content-step-4 
.cpbs-layout-column-left.cpbs-form-panel
> .cpbs-header.cpbs-header-style-3:first-child {
    font-size: 0 !important;        /* neutralise la taille du texte "Suivant" */
    color: transparent !important;  /* le texte devient invisible */
    position: relative;
}

/* On injecte "Récapitulatif" à la place */
.cpbs-main-content-step-4 
.cpbs-layout-column-left.cpbs-form-panel
> .cpbs-header.cpbs-header-style-3:first-child::before {
    content: "Récapitulatif";
    font-size: 22px;                /* taille réelle du titre */
    font-weight: 700;
    color: #e4001b;                 /* rouge de ton thème */
}
/* Supprimer les bordures des colonnes de l'étape 4 */
.cpbs-main-content-step-4 .cpbs-form-panel,
.cpbs-main-content-step-4 .cpbs-layout-column-right {
    border: none !important;
    box-shadow: none !important;
}
/* Mettre le texte de la Date d'entrée en blanc */
.cpbs-rental-date-box > div:first-child span {
    color: #ffffff !important;
}
/* Centrer tous les titres des sections */
.cpbs-header {
    text-align: center !important;
}
/* Supprimer les bordures des colonnes de l'étape 4 */
.cpbs-main-content-step-4 .cpbs-form-panel,
.cpbs-main-content-step-4 .cpbs-layout-column-right {
    border: none !important;
    box-shadow: none !important;
}
/* Mettre le texte de la Date d'entrée en blanc */
.cpbs-rental-date-box > div:first-child span {
    color: #ffffff !important;
}
/* Centrer tous les titres des sections */
.cpbs-header {
    text-align: center !important;
}
/* 1. On cache le texte original ("Suivant") */
.cpbs-main-navigation-default li[data-step="3"] a > span:last-child {
    font-size: 0 !important;
    visibility: hidden;
}

/* 2. On insère le nouveau texte sur deux lignes via le pseudo-élément ::after */
.cpbs-main-navigation-default li[data-step="3"] a > span:last-child::after {
    /* Le '\A' est le code pour un saut de ligne. 
       Vous pouvez modifier le texte ici : par exemple "Vos\AInformations" ou juste couper le mot "Infor-\Amations"
    */
    content: "MesInforma\Ations"; 
    
    /* On rétablit les styles de police pour rendre le texte visible */
    font-size: 13px !important; /* Ajustez la taille (13px, 14px, 15px) pour correspondre exactement aux autres */
    font-weight: 700;           /* Pour mettre en gras, comme les autres titres */
    visibility: visible;
    color: #222;                /* Assurez-vous que la couleur correspond */
    
    /* PROPRIÉTÉS CLÉS POUR LE SAUT DE LIGNE */
    display: block;             /* Nécessaire pour que l'élément accepte le formatage de bloc */
    white-space: pre;           /* Indique au navigateur d'interpréter le '\A' comme un vrai saut de ligne */
    text-align: center;         /* Pour centrer les deux lignes de texte */
    line-height: 1.3;           /* Ajuste l'espace entre les deux lignes pour un rendu propre */
}
/* Ciblage plus précis avec suppression des styles parasites */
a.cpbs-place-select-button {
    background-color: #ff6666 !important;       /* Votre rouge clair */
    background-image: none !important;          /* SUPPRIME les dégradés existants */
    border: 1px solid #ff6666 !important;       /* Force la bordure */
    color: #ffffff !important;                  /* Texte blanc */
    box-shadow: none !important;                /* Supprime l'ombre portée */
    text-shadow: none !important;               /* Supprime l'ombre du texte */
}

/* Au survol de la souris */
a.cpbs-button.cpbs-button-style-1:hover {
    background-color: #ff8585 !important;       /* Encore plus clair au survol */
    background-image: none !important;
    color: #ffffff !important;
}/* End custom CSS */