/*
Theme Name: bb Child Theme
Theme URI: http://www.wpbeaverbuilder.com
Version: 1.0
Description: Theme enfant du theme Beaver Builder theme. edition IA
Author: Cédric
Author URI: http://informatech.pro
template: bb-theme
*/

/* 
Effet hover photo module:
https://docs.wpbeaverbuilder.com/beaver-builder/layouts/modules/photo/add-hover-effects-to-the-photo-module/

Ne pas appliquer le css en édition :
body:not(.fl-builder-edit) {}

Lien des fichiers dans wp-content
background-image: url('../../uploads/2022/10/hamburger-mof.png');}

couleurs 
*/
:root {
--jaune: #fddb36; /* rgba(253,219,54,1) */
--jaune-fonce: #a88b20; /* Un jaune foncé avec la même logique que le bleu-foncé */
--bleu: #3a67a3; /* <= #004165;*/ /* rgba(58,103,163,1) */
--bleu-fonce: #004165; /* <= #1B3167; */
--noir: #231F20;
--gris: #414142;
--bg: #ffffff;
}
/*
utilisation
.jaune-exemple {  background-color: var(--jaune);}
*/
/** points d'arrets
largeur 1140
992
768
*/
/** font roboto */
/** footer - suppression de la bordure */
.fl-page-footer {border-top:0px;}

body.home .fl-module-heading .fl-heading {
        padding: 40px 0 !important;
}
.texte-bleu {color: var(--bleu);}






/** **************
home
************** */
body.home .fl-builder-content > .fl-row {margin: 0 auto;}
body.home .fl-builder-content > .fl-row > .fl-row-content-wrap,
body.home .fl-builder-content > .fl-row > .fl-row-content-wrap > .fl-row-content,
body.home .fl-builder-content > .fl-row > .fl-row-content-wrap > .fl-row-content > .fl-col-group,
body.home .fl-builder-content > .fl-row > .fl-row-content-wrap > .fl-row-content > .fl-col-group > .fl-col,
body.home .fl-builder-content > .fl-row > .fl-row-content-wrap > .fl-row-content > .fl-col-group > .fl-col > .fl-col-content,
body.home .fl-builder-content > .fl-row > .fl-row-content-wrap > .fl-row-content > .fl-col-group > .fl-col > .fl-col-content > .fl-module,
body.home .fl-builder-content > .fl-row > .fl-row-content-wrap > .fl-row-content > .fl-col-group > .fl-col > .fl-col-content > .fl-module > .fl-module-content { margin:0;padding: 0;}

body.home .fl-builder-content > .fl-row .fl-row-content-wrap {padding-top: 20px; padding-bottom: 20px;}
@media (max-width:1150px) { body.home .fl-builder-content > .fl-row > .fl-row-content-wrap {padding-right: 20px; padding-left: 20px;}}
/** ****************
temoignages
***************** */
.uabb-testimonials > .uabb-testimonial {background-color: var(--bg); border-radius: 0px; padding: 10px 60px 60px 60px;}
.uabb-testimonials-wrap .bx-wrapper .bx-viewport {border-radius: 20px;}

/** ************
ban slider
**************** */
.AAAslide-home .fl-slide-content  {background-color: rgba(253,219,54,0.29);}
.AAAslide-home p {background-color: var(--jaune); color: var(--noir)!important; font-size: 28px; line-height: 32px;padding-right:20px !important; padding-left: 20px!important;}
.AAAslide-home h2 {font-size: 5rem;}


/* .fl-content-slider-navigation a { */
  /* opacity: 1; */
  /* border-radius: 50%; */
  /* border: 3px solid white; */
  /* padding:10px; */
/* } */
/* alignement vertical */
/* Ciblage global du conteneur principal du slide */
.slide-home .fl-slide-foreground {
  display: flex;
  align-items: center; /* Centre verticalement les éléments enfants */
  height: 100%; /* Garantit que ce conteneur occupe la hauteur totale */
}

/* Partie gauche : contenu texte (titre et texte) */
.slide-home .fl-slide-content-wrap {
  display: flex;
  flex-direction: column; /* Permet un agencement vertical */
  justify-content: center; /* Centre verticalement le contenu */
  height: 100%; /* Étend cette section pour occuper toute la hauteur */
  text-align: left; /* Aligne le texte à gauche */
}

/* Partie droite : vidéo */
.slide-home .fl-slide-photo {
  display: flex; /* Active Flexbox pour la vidéo */
  justify-content: center; /* Centre horizontalement la vidéo */
  align-items: center; /* Centre verticalement la vidéo */
  height: 100%; /* Étend cette section pour occuper toute la hauteur */
}
.slide-home .slide-prez {text-transform: uppercase;}
/** *puce 2xrond [puce-slide] */
.puce-slide {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid black;
    border-radius: 50%;
    position: relative;
    margin-right: 8px;
}

.puce-slide::before {
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    background: black;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.slide-home .puce-slide { border: 1px solid var(--jaune); width: 24px; height: 24px;  min-width: 24px; min-height: 24px; margin-right: 12px;}
.slide-home .puce-slide:before { background: var(--jaune); width: 12px; height: 12px;}
.fl-slide-title {
    display: flex;
    align-items: center; /* Centre verticalement */
    gap: 2px; /* Espace entre la puce et le texte */
}

.slide-home h3 {font-size: 72px; font-weight:500; line-height: 72px;}


.slide-home p {font-size: 20px;}
.slide-home .fl-slide-photo-wrap .fl-slide-photo,
.slide-home .fl-slide-content-wrap .fl-slide-content {padding-right:40px !important; padding-left: 40px !important;}
.slide-home .fl-content-slider-svg-container {  width: 30px; height: 30px; }


/* Responsive - Ajustements pour petits écrans */
@media (max-width: 768px) {
  .slide-home .fl-slide-foreground {
    flex-direction: column; /* Les colonnes deviennent des lignes */
    justify-content: center; /* Centre verticalement chaque élément */
  }
  .slide-home .fl-slide-content-wrap,
  .slide-home .fl-slide-photo {
    height: auto; /* La hauteur devient automatique sur petits écrans */
    max-width: 100%; /* Chaque colonne prend toute la largeur */
    text-align: center; /* Centre le texte pour une meilleure lisibilité */
  }
}

.bouton-gmo {display: inline-block; padding: 20px 50px; border-radius: 50px; font-weight:bold; font-size: 20px; line-height:20px; transition: all .5s ease; margin-top: 20px; }
.bouton-gmo:hover {text-decoration: none !important; cursor: pointer;}
p .bouton-gmo:first-of-type { margin-right: 30px;}
.fl-slide-text > .bouton-gmo-container:last-child { 
    margin-top: 40px !important;
}

.bouton-gmo.bleu {background-color: var(--bleu); color: var(--bg);}
.bouton-gmo.bleu:hover {background-color: var(--bleu-fonce);}
.bouton-gmo.jaune {background-color: var(--jaune); color: var(--bleu)!important;}
.bouton-gmo.jaune:hover {background-color: var(--jaune-fonce); color: var(--bg)!important;}
.bouton-gmo.transparent {background-color: transparent; color: var(--bg)!important; border:1px solid var(--bg);}
.bouton-gmo.transparent:hover {background-color: var(--bleu-fonce);}

@media (max-width: 1140px) {.slide-home h3 {font-size: 54px!important;  line-height: 54px!important;}}
@media (max-width: 992px) {
		.slide-home h3 {font-size: 42px!important;  line-height: 42px!important;}
	/* .fl-slide-text > .bouton-gmo-container:last-child { margin-top: 20px !important;} */
	.slide-home .fl-slide-content-wrap .fl-slide-content  {padding-bottom:40px!important; padding-top: 40px!important;}
	/* .bouton-gmo { padding: 10px 25px; border-radius: 50px; font-size: 18px; line-height:18px;}} */
}
@media (max-width: 768px) {	
	.slide-home h3 {font-size: 30px!important;  line-height: 30px!important;}
	.fl-slide-text > .bouton-gmo-container:last-child { margin-top: 20px !important;}
	.slide-home .fl-slide-content-wrap .fl-slide-content  {padding-bottom:40px!important; padding-top: 40px!important;}
	.bouton-gmo { padding: 10px 25px; border-radius: 50px; font-size: 18px; line-height:18px;}
}
@media (max-width: 600px) {
	.bouton-gmo { padding: 10px 25px; border-radius: 50px; font-size: 16px; line-height:16px;}
}
/** *******************
groupipmmo vous offre
********************** */
.rangee-offre {background-image: url('img/bg-offre.svg'); background-size: cover; margin-left:-1px!important;margin-top: 40px!important;}
.titre-offre {}
.texte-offre {font-size:24px; font-weight: 600;}
span.jaune-offre {color: var(--jaune)!important; font-size: 1.1em; font-weight: 900;}
.texte-offre small {font-size:14px; font-weight: 400;}
@media (max-width:700px) { .rangee-offre {background-image: none; background-color: var(--bleu);}}
.bouton-beneficiez {margin-bottom:40px!important;}
/** *****************
accompagnement sur mesure 
********************** */
/* .accompagnement-col, */
.accompagnement .fl-col.fl-col-bg-photo {
    position: relative; /* Assure le bon positionnement du pseudo-élément */
	overflow: visible;
}


/* .accompagnement-col::before, */
.accompagnement .fl-col.fl-col-bg-photo::before {
    content: ""!important; /* Obligatoire pour afficher un pseudo-élément */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; /* Occupe toute la largeur */
    height: 200px; /* Hauteur définie */
    background: var(--jaune); /* Utilisation de la variable */
    border-radius: 40px; /* Coins arrondis */
    z-index: 0!important; /* Place l'élément derrière le contenu */
}
@media (min-width: 769px) {
    /* Supprime le border-radius à droite pour la première colonne */
    .accompagnement:not(.prez-col-unique) .fl-col.fl-col-bg-photo:first-child::before {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }

    /* Supprime le border-radius à gauche pour la deuxième colonne */
    .accompagnement:not(.prez-col-unique) .fl-col.fl-col-bg-photo:nth-child(2)::before {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }
}
@media (max-width: 1140px) { 
	.accompagnement .fl-col.fl-col-bg-photo:first-child .fl-col-content {margin-right: 20px!important;}
	.accompagnement .fl-col.fl-col-bg-photo:nth-child(2) .fl-col-content {margin-left: 20px!important;}
}
@media (max-width: 1024px) { 
	.accompagnement .fl-col.fl-col-bg-photo:first-child .fl-col-content {margin-right: 20px!important; margin-left: 20px!important;}
	.accompagnement .fl-col.fl-col-bg-photo:nth-child(2) .fl-col-content {margin-left: 20px!important; margin-right: 20px!important;}
}
@media (max-width: 768px) { 
	.accompagnement .fl-col.fl-col-bg-photo:first-child .fl-col-content {margin-right: 50px!important; margin-left: 50px!important;}
	.accompagnement .fl-col.fl-col-bg-photo:nth-child(2) .fl-col-content {margin-left: 50px!important; margin-right: 50px!important;}
}
@media (max-width: 450px) {
	.accompagnement .fl-col.fl-col-bg-photo:nth-child(2) .fl-col-content,
	.accompagnement .fl-col.fl-col-bg-photo:first-child .fl-col-content	  {margin-left: 0px!important; margin-right: 0px!important;}
}
	
/*****************
images + texte
***************** */
.titre-double .uabb-second-heading-text {display: block;}
.uabb-image-carousel-content {border-radius: 10px; z-index: 5;}
.uabb-image-carousel-item .uabb-image-carousel-caption {margin-top: -88px; padding-top:55px; z-index: 10; position: relative; border-radius: 0 0 5px 5px; background: rgb(253,219,54);
background: linear-gradient(0deg, rgba(253,219,54,1) 0%,rgba(253,219,54,1) 50%, rgba(253,219,54,0) 100%);}


/** *********
Entrez en contact (rangée sauvegardée, ajouter .contact-home dans la row)
*******/
body.home .fl-builder-content > .fl-row.contact-home > .fl-row-content-wrap > .fl-row-content > .fl-col-group > .fl-col > .fl-col-content {padding-top:40px; padding-bottom: 40px;}
/** ********************
Archives
********************** */
/** **miniatures posts */
/* Styles pour le conteneur */
.invest .uabb-post-card {
    /* border: 1px solid #ddd; */
    /* border-radius: 8px; */
    overflow: hidden;
    background-color: #fff;
    /* box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); */
    transition: transform 0.2s ease;
    cursor: pointer;
}

.invest .uabb-post-card:hover {
    transform: translateY(-5px);
}

/* Styles pour l'image */
.invest .uabb-post-thumbnail {
    width: 100%;
    height: 200px; /* Hauteur fixe pour un ratio uniforme */
    overflow: hidden;
	border-radius: 20px;
}

.invest .uabb-post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Recadrage pour respecter le format paysage */
}

/* Styles pour le badge Vente/Location */
.invest .uabb-post-header {
    display: flex;
    justify-content: space-between;
    align-items: left;
    padding: 10px;
}

.invest .uabb-post-badge {
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    padding: 5px 10px;
    border-radius: 4px;
    color: #fff;
}

.invest .uabb-post-badge.vente {
    background-color: #28a745; /* Vert pour Vente */
}

.invest .uabb-post-badge.location {
    background-color: #17a2b8; /* Bleu clair pour Location */
}

/* Prix */
.invest .uabb-post-price {
    font-size: 18px;
    font-weight: bold;
    color: #333;
}

/* Contenu */
.invest .uabb-post-content {
    padding: 10px 15px;
}

.invest .uabb-post-address {
    font-size: 16px;
    font-weight: bold;
    color: #333;
    margin: 0;
}

.invest .uabb-post-ville {
    font-size: 14px;
    color: #666;
    margin: 5px 0;
}

.invest .uabb-post-details {
    font-size: 14px;
    color: #666;
    margin-top: 10px;
}

/* Lien clicable */
.invest .uabb-post-thumbnail-link,
.invest .uabb-post-content-link {
    text-decoration: none;
    color: inherit;
    display: block;
}


.invest .uabb-post-card {min-height: 400px;}
.invest .uabb-blog-post-content {text-align: left!important;}
/** ****************
page telechargement
******************** */
/* Appliquer uniquement à la page avec l'ID 606 */
body.page-id-606 #fl-main-content {
    min-height: 70vh; /* Définit une hauteur minimale de 70% de la hauteur de la fenêtre */
    display: flex;
    flex-direction: column;
    justify-content: center; /* Centrer verticalement le contenu */
    align-items: center; /* Centrer horizontalement le contenu, si nécessaire */
    margin-bottom: 20px; /* Ajuster l'espace en bas si le pied de page est trop proche */
}



/**
 * =============================
 * MAIN NAVIGATION STYLES
 * =============================
 */
.fl-page-nav ul.sub-menu, #menu-main > li > ul {
  background-color: var(--bleu);
  border-top: 0px solid #907d2b;
  -moz-box-shadow: 0 1px 20px rgba(0, 0, 0, 0.15);
  -webkit-box-shadow: 0 1px 20px rgba(0, 0, 0, 0.15);
  box-shadow: 0 1px 20px rgba(0, 0, 0, 0.15);
}

.fl-page-nav ul.sub-menu li a {
  font-size: 16px;
}

#menu-main > li:hover, #menu-main-1 > li:hover {
  cursor: pointer;
}

/**  RESPONSIVE NAVIGATION STYLES */

/* Styles pour écrans larges */
@media (min-width: 768px) {
  .fl-page-nav-collapse ul.navbar-nav > li.separateur-main-menu {
    border-left: 1px solid #ccc;
  }
}

/* Styles pour écrans moyens */
@media (max-width: 1240px) {
  #menu-main-1 > li > a {
    font-size: 14px;
  }
}

@media (max-width: 1165px) {
  #menu-main-1 > li > a {
    font-size: 14px;
  }
  #AAAmenu-main-1 > li.part-menu-group > a {
    font-size: 20px;
  }
  #menu-main-1 > li.part-menu-group.separateur-main-menu {
    border-left: none;
  }
/* passer les 2 denriers element GROUPIMMO et GROUPIMMO-INVEST sur une 2e ligne */

}


@media (max-width: 1165px) {
  #menu-main-1 {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end; /* Alignement à droite */
  }

  /* Ajout d'un BEFORE pour forcer la ligne */
  #menu-main-1 > li.part-menu-group.separateur-main-menu::before {
    content: "";
    display: block;
    width: 100%; /* Prend toute la ligne */
    height: 1px; /* Invisible, mais agit sur le flux */border: 1px solid red;
  }

  /* Assure que les deux derniers éléments restent ensemble */
  #menu-main-1 > li.part-menu-group {
    display: flex;
    white-space: nowrap; /* Évite les retours à la ligne à l'intérieur */
  }
}





@media (max-width: 991px) {
  .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile .fl-page-nav ul.sub-menu li,
  .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile .fl-page-nav-collapse ul.sub-menu li {
    border-top: none !important;
    border-color: transparent !important;
  }
  .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile .fl-page-nav ul.sub-menu li a:before {
    content: '\25CB'; /* Cercle vide */
    font-family: inherit; 
    font-size: 1em; 
    margin-right: 10px;
  }
  #menu-main-1 > li:hover, 
  #menu-main-1 > li:has(.sub-menu[style*="display: block"]) {
    background-color: var(--bleu);
  }
  #menu-main-1 > li a {
    font-size: 24px;
  }
  #menu-main-1 > li ul li a {
    font-size: 18px;
  }
  .fl-page-header-row > div, .fl-page-header-container {
    padding-right: 0px !important;
    padding-left: 0px !important;
    overflow: hidden;
  }
  #menu-main-1 > li {
    padding-right: 55px;
    padding-left: 55px;
  }
  .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile .fl-submenu-icon-wrap .fl-submenu-toggle-icon {
    padding-right: 45px;
  }
}

/* Styles pour petits écrans */
@media (max-width: 767px) {
  .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile .fl-page-header-logo {
    padding-left: 40px;
  }
}

@media (min-width:992px) {
	.fl-page-header-wrap .fl-page-header-container .fl-page-header-row .col-md-4.fl-page-header-logo-col {width:20%;}
	.fl-page-header-wrap .fl-page-header-container .fl-page-header-row .col-md-8.fl-page-nav-col {width:80%;}
}
@media (min-width:1200px) {
	.fl-page-header-wrap .fl-page-header-container .fl-page-header-row .col-md-4.fl-page-header-logo-col {width:25%;}
	.fl-page-header-wrap .fl-page-header-container .fl-page-header-row .col-md-8.fl-page-nav-col {width:75%;}
}
@media (min-width:992px) and (max-width:1100px) {
	.fl-page-nav-toggle-visible-medium-mobile .fl-page-header-wrap .fl-page-header-container {padding: 15px 20px;}
	.fl-page-header-wrap .fl-page-header-container .fl-page-header-row .col-md-4.fl-page-header-logo-col {width:15%;}
	.fl-page-header-wrap .fl-page-header-container .fl-page-header-row .col-md-8.fl-page-nav-col {width:85%;}
	.fl-page-bar-container {padding: 0 20px;}
	.fl-page-bar-container .fl-page-bar-row .col-sm-6.col-md-6.text-left {width:60%;}
	.fl-page-bar-container .fl-page-bar-row .col-sm-6.col-md-6.text-right {width:40%;}
	.fl-page-bar-container .fl-page-bar-row .col-sm-6.col-md-6.text-right .fl-page-bar-text .menu-top-bar-col-droite-container {min-width:150px;}
	.fl-page-bar-container .fl-page-bar-row .col-sm-6.col-md-6.text-right .fl-page-bar-text .menu-top-bar-col-droite-container ul {padding-left: 5px;}
}

/** ***********
top bar
********** */

/** ***aligner les 2 cols */
.fl-page-bar-row {
    display: flex;
    align-items: center; /* Centre verticalement les éléments */
    gap: 10px; /* Espace entre le formulaire et le menu */
}

/** ***col droite ***** */
/* Aligner le formulaire et le menu de droite sur la même ligne */
.fl-page-bar-text.fl-page-bar-text-2 {
    display: flex;
    align-items: center; /* Centre verticalement les éléments */
    gap: 10px; /* Espace entre le formulaire et le menu */
}

.top-search-form {
    display: inline-block;
    margin: 0; /* Supprime les marges par défaut */
}

.menu-top-bar-col-droite-container {
    display: inline-block;
    margin: 0; /* Supprime les marges par défaut */
}

/*menus *********** */
.top-bar-nav ul li a ,
.menu-top-bar-col-droite-container ul li a {font-size:15px;padding: 10px 5px;}
.top-bar-nav ul ,
.menu-top-bar-col-droite-container ul { margin-bottom: 0;}
.menu-top-bar-col-droite-container ul li {list-style-type: none;}
.menu-top-bar-col-droite-container ul li a:hover {text-decoration: none;}
/** formulaire de recherche */
/* Style pour le formulaire de recherche */
.top-search-form {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 300px; /* Ajustez la largeur selon vos besoins */
}

/* Style pour le champ de recherche */
.top-search-field {
    width: 100%;
    padding: 10px 40px 10px 20px; /* Ajustez le padding pour l'espace intérieur */
    border: 0px solid #ccc; /* Couleur de la bordure */
    border-radius: 50px!important; /* Bordure ovale */
    font-size: 16px; /* Taille de la police */
    outline: none; /* Supprime la bordure bleue par défaut lors du focus */
    transition: border-color 0.3s ease; /* Transition pour l'effet de survol */
}

/* Style pour le champ de recherche au survol */
.top-search-field:hover {
    /*border-color: var(--bleu); */
}

/* Style pour le bouton de soumission */
.top-search-submit {
    position: absolute;
    right: 10px; /* Position à droite du champ de recherche */
    top: 50%;
    transform: translateY(-50%); /* Centrage vertical */
    background: none!important;
    border: none;
    cursor: pointer;
    padding: 0;
    font-size: 18px; /* Taille de l'icône */
    color: var(--bleu)!important; /* Couleur de l'icône */
}
.top-search-submit:hover, .top-search-submit:active, .top-search-submit:focus {position:absolute!important;}
.top-search-submit i.fa-search{
   color: var(--bleu)!important; /* Couleur de l'icône */
}
/* Style pour l'icône de recherche */
.top-search-submit .fa-search {
    transition: color 0.3s ease; /* Transition pour l'effet de survol */
}

/* Style pour l'icône de recherche au survol */
.top-search-submit:hover .fa-search {
    color: darken(var(--bleu), 10%); /* Assombrir légèrement la couleur au survol */
}

@media (max-width: 1024px) {
	.top-bar-nav ul li a ,
	.menu-top-bar-col-droite-container ul li a {font-size:15px;padding: 10px 10px;}
	.fl-page-bar-container {padding:0px!important;}
}
@media (max-width: 890px) {
	.top-bar-nav ul li a ,
	.menu-top-bar-col-droite-container ul li a {font-size:14px;padding: 10px 5px;}
	
}
@media (max-width: 740px) {
    /* Forcer l'affichage en bloc et la largeur à 100% */
    .fl-page-bar-row {
        display: block;
        width: 100%;
    }

    /* Aligner tout le contenu à gauche */
    .fl-page-bar-row > div {
        display: block;
        width: 100%;
        text-align: left !important; /* Surcharger les styles existants */
    }

    /* Aligner spécifiquement le menu de gauche */
    .fl-page-bar-row .text-left {
        text-align: left !important;
    }

    /* Aligner spécifiquement le contenu de la colonne de droite */
    .fl-page-bar-row .text-right {
        text-align: left !important;
    }

    /* Aligner les éléments inline-block dans .fl-page-bar-text-2 */
    .fl-page-bar-row .fl-page-bar-text-2 > * {
        display: inline-block;
        text-align: left !important;
    }

    /* Aligner les éléments du menu de gauche */
    .fl-page-bar-row .top-bar-nav ul {
        text-align: left !important;
        padding-left: 0; /* Supprimer le padding par défaut */
    }

    /* Aligner les éléments du menu de droite */
    .fl-page-bar-row .menu-top-bar-col-droite-container ul {
        text-align: left !important;
        padding-left: 0; /* Supprimer le padding par défaut */
    }

  .fl-page-bar .fl-page-bar-row .text-left, .fl-page-bar .fl-page-bar-row .text-right {
    text-align: left !important; padding-left: 20px;
  }

}
@media (max-width: 400px) {
	.fl-page-bar-row .text-left nav ul li,
	.fl-page-bar-row .text-right .fl-page-bar-text-2,
	.fl-page-bar-row .text-right .fl-page-bar-text-2 > *,
	.fl-page-bar-row .text-right .fl-page-bar-text-2 .menu-top-bar-col-droite-container ul li a	{display:block!important; width:100%;}
	.fl-page-bar-row .text-right .fl-page-bar-text-2 {padding-top:0;}
	
}
	
	/** *******************
plugin apimo
********************** */
/*
Liste des classes disponibles pour le module "Annonces Apimo":

- grid-layout

Classes associées aux tags :
- achat-maison
- achat-appartement
- achat-terrain
- achat-bureau
- achat-immeuble
- achat-fonds-de-commerce
- achat-local-commercial
- achat-parking
- achat-box
- louer-maison
- louer-appartement
- louer-terrain
- louer-bureau
- louer-immeuble
- louer-local-commercial
- louer-parking
- louer-box
- plus-pro
- particulier
- prestige
- vendu
- vendu-prestige


*/

#view_more_general_informations.apimo_more p {color: var(--bleu);}

/** home uabb advanced posts */
.last-offers .uabb-post-card {border:none;}
.last-offers .uabb-post-card .uabb-post-thumbnail-link {border-radius: 20px;}
.last-offers .Pro-Image > div {border-radius: 20px; overflow: hidden;}
.last-offers .Product-wrapper .Product-block {

  -moz-box-shadow: 0px 0px 0px 0px rgb(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 0px 0px 0px rgb(0, 0, 0, 0.1);
  box-shadow: 0px 0px 0px 0px rgb(0, 0, 0, 0.1);
  border: 0px solid #dedede;
  margin-bottom: 30px;
}
.last-offers .Product-wrapper .Product-block .Pro-content .Pro-price {  border-top: 0px #e2e2e2 solid;}

/** ********* APIMO carousel fix **/
/* Correction de l'affichage du carrousel Apimo en mode slide */

/* Correction de l'affichage du carrousel Apimo en mode slide avec flèches */

.apimo-carousel-container {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.apimo-row {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  border-left: 40px solid var(--bg);
  border-right: 40px solid var(--bg);
  /* padding: 0 40px!important; */
  margin: 0 !important;
  position: relative;
}

.apimo-row::-webkit-scrollbar {
  display: none; /* Masquer la barre de défilement */
}

.apimo-row > div {
  flex: 0 0 auto;
  /* margin-left: 5px !important; */
  /* margin-right: 5px !important; */
  padding: 0 20px!important;
}

/* Desktop - 3 annonces */
@media (min-width: 1024px) {
  .apimo-row > div {
    width: calc((100%) / 3); 
  }
}

/* Tablette - 2 annonces */
@media (min-width: 720px) and (max-width: 1023px) {
  .apimo-row > div {
    width: calc((100%) / 2);
  }
}

/* Mobile - 1 annonce */
@media (max-width: 719px) {
  .apimo-row > div {
    width: calc(100%);
	/* margin-right: 15px!important; */
	/* margin-left: 15px!important; */
  }
}

/* Ajout des flèches */
.carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  color: var(--bleu);
  padding: 10px;
  cursor: pointer;
  z-index: 10;
  font-size: 24px;
  border: none;
}

.carousel-arrow.left {
  left: 0px;
}

.carousel-arrow.right {
  right: 0px;
}

/* Images ajustées */
.apimo-image-slide-wrapper img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.apimo-row .slick-list.draggable {border-radius: 20px;}
@media (max-width:520px) {
	body.home .fl-builder-content > .fl-row.last-offers .fl-row-content-wrap {
  padding-left: 0px; padding-right:0px;
}
	.last-offers .apimo-row > div h3 {font-size: 18px!important;}
}

.apimo-content-wrapper .apimo-property-reference {display:none; position: absolute; left: -9999px;}
.apimo-content-wrapper .Product-wrapper .Product-block {border: none; box-shadow: none;}
.Product-wrapper .apimo-properties-item.Product-block .Pro-content .Pro-name h3  {color: var(--bleu)!important;}
.apimo-content-wrapper .Product-wrapper .Product-block .Pro-content .Pro-price {border: none; box-shadow: none; padding: 10px;}
.apimo-content-wrapper .Pro-top-info {padding: 0 10px!important;}

.annonce-apimo-module.carousel .apimo-pagination-wrapper {
    display: none !important;
}


/** *************
apimo mode grid
***************** */
.grid-layout .apimo-row {
  flex-wrap: wrap;
  overflow-x: hidden;
  border-left: 0;
  border-right: 0;
}
.grid-layout .apimo-row > div {margin-bottom: 15px;}

/* ****************
apimo etiquettes
 Styles pour les étiquettes des biens */
.property-label {display:none;
    display: inline-block;
    padding: 2px 6px;
    margin-right: 8px;
    font-size: 12px;
    font-weight: bold;
    border-radius: 3px;
    text-transform: uppercase;
}

/* Pour les biens à la vente */
.property-label.vente {display:none;
    background-color: var(--jaune);
    color: var(--jaune-fonce);
}

/* Pour les biens à la location */
.property-label.location {display:none;
    background-color: var(--bleu);
    color: var(--bleu-fonce);
}

/* Pour les biens vendus */
.property-label.vendu {display:none;
    background-color: var(--gris);
    color: #ffffff;
}
/** filtres */
button.btn-apply.apimo-apply-filter,
.apimo-filter-wrapper .filter-item-dropdown .apply-filter button  {background-color: var(--bleu)!important; border: none!important;}
.apimo-filter-wrapper .filter-item-dropdown .apply-filter button:hover  {background-color: var(--bleu-fonce)!important; border: none!important;}

/** autre page annonce apimo */
button.apimo_submit_button {width: auto!important; padding: 15px 25px;}
/** ***********
home actu
*****************/
.home-actu {}/* rangée */
.actu-carousel {} /* advanced posts - carousel catégorie actu */

/* Styles pour l'image */
.actu-carousel .uabb-post-thumbnail {
    width: 100%;
    height: 200px; /* Hauteur fixe pour un ratio uniforme */
    overflow: hidden;
	padding-left: 40px;
	padding-right: 40px;
}

.actu-carousel .uabb-post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Recadrage pour respecter le format paysage */
	border-radius: 20px;
}
/* Transition pour une animation fluide */
.actu-carousel .slick-slide.slick-active > div {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Effet au survol : agrandissement et ombre */
.actu-carousel .slick-slide.slick-active:hover > div{
  transform: scale(1.01); /* Agrandissement d'environ 5% */
  /*box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);*/ /* Ombre portée */
  
}


/** *******************
Nos agences
*********** */
/**titre*/
body.home .fl-module-dual-color-heading {margin-left:20px!important;}




/** temoignages */
.temoignage {
    display: flex;
    flex-direction: column;
    background: white;
    border-radius: 15px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    padding: 15px;
    max-width: 400px;
	margin: 20px;
}

.temoignage-header {
    display: flex;
    align-items: center;
    gap: 10px;
}

.temoignage-avatar {
    width: 50px;
    height: 50px;
    background: #ddd;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 24px;
}

.temoignage-info h3 {
    margin: 0;
}

.temoignage-sous-titre {
    color: #007bff; /* Couleur bleu par défaut */
    font-size: 14px;
}

.temoignage-content {
    margin-top: 10px;
}

.temoignage-rating {
    display: flex;
    gap: 5px;
    margin-top: 10px;
}

.temoignage-rating i {
    color: #FFD700; /* Jaune pour les étoiles */
    font-size: 18px;
}

/** ***************
footer
********************** */
/* icones sociaux */
footer .fl-page-footer-widget-col .wp-block-social-links li a svg {fill: var(--bg)!important;}



/** **************
page qui sommes-nous?
********************* */
/* compteurs :
.compteur-container
compteur-ans
compteur-transaction
compteur-agence
compteur-pct
*/
.compteur-home {box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);}
/* mettre le suffixe en bleu */
.compteur-home .fl-number-string {color: var(--bleu)!important;}
/** les 2 compteurs sur la meme rangée */
/* .[fl_builder_insert_layout slug="compteur-ans"] */
.row-compteur > .compteur-ans {}
.row-compteur > .compteur-pct {}

.compteur-pct > .fl-builder-content, .compteur-ans > .fl-builder-content {padding: 0;}

.compteur-home {margin: 20px; border-radius: 20px;box-sizing: border-box}
.compteur-ans .compteur-home, .compteur-pct .compteur-home {margin:0px; box-shadow: none;}

.row-compteur {margin: 20px;   box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);  border-radius: 20px;}



/* .row-compteur {margin: 20px;   box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);  border-radius: 20px;} */
.row-compteur .fl-module-numbers {box-shadow: none; margin: 20px 5px;}
.row-compteur .fl-module-numbers > .fl-module-content {margin: 20px;}
.row-compteur .fl-module-numbers > .fl-module-content .fl-number-after-text {font-size: 16px!important;}
/* .row-compteur > div {vertical-align: top;} */
/* .row-compteur .fl-module-numbers > .fl-module-content { height: 105px;display:block;} */
/* mettre le suffixe en bleu */
.compteur-container .fl-number-string {color: var(--bleu)!important;}
/** les 2 compteurs sur la meme rangée */
/* .[fl_builder_insert_layout slug="compteur-ans"] */
.row-compteur > .compteur-ans {}
.row-compteur > .compteur-pct {}
.row-compteur > .compteur-transaction {}
.row-compteur > .compteur-agence {}

.compteur-pct > .fl-builder-content, .compteur-ans > .fl-builder-content,
.compteur-transaction > .fl-builder-content, .compteur-agence > .fl-builder-content {padding: 0;}

/* .compteur-container {margin: 20px; border-radius: 20px;box-sizing: border-box} */
.compteur-ans, .compteur-pct, .compteur-transaction, .compteur-agence {margin:0px; box-shadow: none; display: inline-block; width: 25%;}
.row-compteur-home .row-compteur .compteur-ans, .row-compteur-home .row-compteur .compteur-pct { width: 50%;}
@media (max-width:1140px) {.row-compteur .fl-module-numbers > .fl-module-content .fl-number-after-text {font-size: 14px!important;}}
@media (max-width:1024px) {.row-compteur .fl-module-numbers > .fl-module-content .fl-number-after-text {font-size: 16px!important;}
.compteur-ans, .compteur-pct, .compteur-transaction, .compteur-agence { width: 50%;}}
@media (max-width:570px) {
	.compteur-container  > .fl-module-content {margin-right: 0px; margin-left: 0px;}
	.row-compteur .fl-module-numbers > .fl-module-content .fl-number-after-text {font-size: 14px!important;}
}
@media (max-width:480px) {.row-compteur {margin-left:5px; margin-right:5px;}}

/* colonne texte prez */
.texte-prez {}
@media (min-width: 900px) {
    .texte-prez .fl-rich-text {
        column-count: 2; /* Deux colonnes */
        column-gap: 40px; /* Espacement entre les colonnes */
        max-width: 100%; /* Empêche l'ajout d'une 3e colonne hors du conteneur */
        overflow: hidden; /* Empêche le débordement */
    }

    .texte-prez h2 {
        break-before: always; /* Assure que chaque titre commence en haut d'une colonne */
    }
}


/** titre gimmik */
.titre-gimmik {
    display: flex;
    align-items: center;
    gap: 10px; /* Espacement entre la puce et le texte */
    font-family: Arial, sans-serif;
}

.hexagon {
    width: 35px;
    min-width: 35px;
    height: 40px;
    min-height: 40px;
    background-color: var(--bleu);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);

    color: white;
    font-weight: bold;
    font-size: 16px;
}
.hexagon.jaune {background-color: var(--jaune); color: var(--noir);}
.numero {
    position: relative;
    z-index: 1; /* S'assure que le numéro reste au-dessus */
}

.titre-gimmik h3 {
    font-size: 20px;
    font-weight: bold;
    margin: 0;
}

/** equipe */
.membre-equipe .uabb-team-wrap {
    position: relative; /* Assure que les éléments internes peuvent se positionner par rapport à ce conteneur */
    display: inline-block;
    overflow: hidden;
    /* border-radius: 15px; */
}

.membre-equipe .uabb-team-image {
    position: relative; /* Permet aux enfants d’être positionnés en absolu */
    overflow: hidden;
    /* border-radius: 15px;  */
}

.membre-equipe .uabb-team-content {
    position: absolute;
    bottom: 10px; /* Ajuste la position verticale du texte */
    left: 50%;
    transform: translateX(-50%);
    background: var(--bleu);
	background: linear-gradient(90deg, var(--bleu-fonce), var(--bleu));
    color: var(--bg);
    text-align: center;
    padding: 10px 20px;
    width: 90%; /* Ajuste la largeur */
    border-radius: 20px;
    /* box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2); */
}

.membre-equipe .uabb-team-name-text {
    font-size: 18px;
    font-weight: bold;
    margin: 0;
	text-align:left;
	color: var(--bg);
}

.membre-equipe .uabb-team-desgn-text {
    font-size: 14px;
    margin: 0;
    display: block;
		text-align:left;
	color: var(--bg);
}

/** *******************
rangee globale nos-agences
********************** */
.nos-agences{} /* rangee*/

.coordonnees-agence .agence {
    display: flex;
    justify-content: center;
}

.coordonnees-agence .agence-card {
    background: white;
    border-radius: 20px;
    padding: 20px;
    width: 300px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    border: 1px solid #eee;
}
@media (min-width:1140px) { .coordonnees-agence .agence-card {padding: 30px; width: 400px;}}
.coordonnees-agence h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 18px;
    color: var(--noir);
    margin: 0;
}

.coordonnees-agence p {
    font-size: 16px;
    color: var(--noir);
    margin: 8px 0;
}

.coordonnees-agence .agence-icon {
    font-size: 16px;
    color: var(--noir);
}

.coordonnees-agence hr {
    border: 0;
    height: 1px;
    background: #ddd;
    margin: 10px 0;
}

.coordonnees-agence a {
    text-decoration: none;
    color: var(--bleu);
    font-weight: bold;
}

.coordonnees-agence .btn-location {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--jaune);
    color: var(--noir);
    padding: 10px 15px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: bold;
    margin-top: 15px;
    text-align: center;
    transition: 0.3s;
}

.coordonnees-agence .btn-location i {
    margin-left: 8px;
}

.coordonnees-agence .btn-location:hover {
    background: var(--bleu);
    color: white;
}
body:not(.fl-builder-edit) .nos-agences .fl-module.fl-module-uabb-off-canvas.off-agence {height:0;}
/** *************
titres et textes avec puce
puce-jaune texte-gauche grande-puce bg-fonce
*********************** */
/* puce jaune */
.puce-jaune p, .puce-jaune h2, .puce-jaune h3 {
    display: flex;
    align-items: center;justify-content: center;
    gap: 10px; /* Espacement entre la puce et le texte */
    font-size: 16px;
    font-weight: bold;
    color: var(--noir);
    margin: 0;
}
.puce-jaune h2 {font-size: 34px;}
.puce-jaune h3 {font-size: 24px;   line-height: 1.4;   letter-spacing: 0px;}
.puce-jaune h2, .puce-jaune h3 {font-weight: 400;   line-height: 1.4;   text-transform: none;   font-style: normal; }
.puce-jaune p::before, .puce-jaune h2::before, .puce-jaune h3::before {
    content: "";
    display: inline-block;
    width: 15px;
    min-width: 15px;
    height: 15px;
    min-height: 15px;
    background-color: var(--jaune);
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}
.puce-jaune.bg-fonce p, .puce-jaune.bg-fonce h2, .puce-jaune.bg-fonce h3 {color: var(--bg);}
.puce-jaune.texte-gauche p, .puce-jaune.texte-gauche h2, .puce-jaune.texte-gauche h3 {justify-content: flex-start;}
.puce-jaune.grande-puce  p, .puce-jaune.grande-puce  h2, .puce-jaune.grande-puce  h3 {gap: 30px;}
.puce-jaune.grande-puce  p::before, .puce-jaune.grande-puce  h2::before, .puce-jaune.grande-puce  h3::before {width: 35px; min-width: 35px; height: 40px; min-height: 40px;}

/** ***********
page +groupimmo 
************* */
.col-2-plus .bg-blanc > .fl-col-content {border: 1px solid var(--gris); border-radius: 25px;}
/** puces pour paragraphe - module avec .puce-paragraphe */
.puce-paragraphe p {
    position: relative;
    padding-left: 25px; /* Décale le texte pour ne pas recouvrir la puce */
}

.puce-paragraphe p::before {
    content: "•"; /* Symbole de puce (modifiable) */
    position: absolute;
    left: 0;
    top: 5px;
    font-size: 20px; /* Taille de la puce */
    color: var(--bleu); /* Couleur personnalisable */
}
/** titre h4 en liste */
/* .marge-reduite .fl-heading {padding-top: 40px; padding-bottom: 20px;} */

.fl-node-qabi3szngxch > .fl-col-content .fl-node-h5p9z1jluqwd > .fl-col-content, .fl-node-k1theo349ypw > .fl-col-content {border:2px solid #aaa;}
/* cartes offcanvas */
body:not(.fl-builder-edit) .row-offcanvas {height:0px;}

.tri-gestion {background-image: url('./img/gestion-locative.jpg'); background-repeat: no-repeat; width:100%; height:400px;}
.tri-gestion h2 {font-size: 40px; font-weight: bold;}
.tri-gestion span {display:inline-block; width:100%;}


/** ******************
carousel Off Market
******************* */
.off-market-carousel {}

.off-market-carousel .uabb-blog-post-content {padding-left: 0!important; padding-right: 0!important;}

/* Styles pour le conteneur */
.off-market-carousel .uabb-post-card {
    /* border: 1px solid #ddd; */
    /* border-radius: 20px; */
	padding: 15px;
    overflow: hidden;
    background-color: #fff;
    /* box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); */
    transition: transform 0.2s ease;
    cursor: pointer;
}

.off-market-carousel .uabb-post-card:hover {
    transform: translateY(-5px);
}

/* Styles pour l'image */
.off-market-carousel .uabb-post-thumbnail {
    width: 100%;
    height: 200px; /* Hauteur fixe pour un ratio uniforme */
    overflow: hidden;
	border-radius: 20px;
	/* padding: 15px; */
}

.off-market-carousel .uabb-post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Recadrage pour respecter le format paysage */
	
}

/* Styles pour le badge Vente/Location */
.off-market-carousel .uabb-post-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
}

.off-market-carousel .uabb-post-badge {
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    padding: 5px 10px;
    border-radius: 4px;
    color: #fff;
}

.off-market-carousel .uabb-post-badge.vente {
    background-color: #28a745; /* Vert pour Vente */
}

.off-market-carousel .uabb-post-badge.location {
    background-color: #17a2b8; /* Bleu clair pour Location */
}

/* Prix */
.off-market-carousel .uabb-post-price {
    font-size: 18px;
    font-weight: bold;
    color: #333;
}

/* Contenu */
.off-market-carousel .uabb-post-content {
    padding: 10px 0px;
}

.off-market-carousel .uabb-post-address {
    font-size: 16px;
    font-weight: bold;
    color: #333;
    margin: 0;
}

.off-market-carousel .uabb-post-ville {
    font-size: 14px;
    color: #666;
    margin: 5px 0;
}

.off-market-carousel .uabb-post-details {
    font-size: 14px;
    color: #666;
    margin-top: 10px;
}

/* Lien clicable */
.off-market-carousel .uabb-post-thumbnail-link,
.off-market-carousel .uabb-post-content-link {
    text-decoration: none;
    color: inherit;
    display: block;
}
/** ********* icones **/
.off-market-carousel .uabb-post-details span {
    display: inline-block;
    margin-right: 8px; /* Espacement entre chaque élément */
    white-space: nowrap; /* Empêche le retour à la ligne */
}

.off-market-carousel .uabb-post-details i {
    margin-right: 5px; /* Espacement entre l'icône et le texte */
    color: #007bff; /* Bleu par défaut, ajuste selon ton thème */
}

.off-market-carousel .uabb-post-badge.vente {
    background: #28a745; /* Vert */
    color: white;
    padding: 5px 10px;
    border-radius: 5px;
    font-weight: bold;
    display: inline-block;
}

.off-market-carousel .uabb-post-badge.location {
    background: #17a2b8; /* Bleu clair */
    color: white;
    padding: 5px 10px;
    border-radius: 5px;
    font-weight: bold;
    display: inline-block;
}

.off-market-carousel .uabb-post-badges {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

/** *supprimer les puces entre les meta */
.off-market-carousel .uabb-post-card .uabb-post-content .uabb-post-details {font-size: 0;}
.uabb-post-details span {font-size: 14px;}

/** bouton */
.off-market-carousel .uabb-post-card button {border-radius: 50px; background-color: var(--bleu); color: var(--bg); font-weight: normal; transition: all .5s ease;padding: 10px 25px; text-align: center;}
.off-market-carousel .uabb-post-card button:hover {background-color: var(--bleu-fonce);}

.off-market-carousel .uabb-post-card {
    position: relative;
}

.off-market-carousel .uabb-post-card button {
    position: relative;
    z-index: 10;
}
/** *fomulaire */

/** ******************
Foirmulaire estimation
********************** */
/*
type-bien select .demi
adresse-bien text .demi
surface-bien compteur
annee-construction compteur .demi
orientation-bien select .demi
etat-bien select .demi
peb select .demi 
nb-chambre diaporama .demi
etage-apt diaporama .demi
nb-etage diaporama .demi
vue-bien checkbox
nom text
email email
tel tel

groupes
apt-gp
maison-gp
*/
/*
.no-sep formulaires off market et +groupimmo
.form-bg-jane fomulaire +groupimmo
*/
.wpcf7 hr {
    border: none; /* Supprime le style par défaut */
    height: 2px; /* Épaisseur */
    background-color: #ddd; /* Couleur gris clair */
    margin: 20px 0; /* Espacement au-dessus et en dessous */
    width: 80%; /* Réduit légèrement la largeur */
    margin-left: auto;
    margin-right: auto;
}
/** dispoistion ***/
/* Conteneur global du formulaire */
.wpcf7-form {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
    max-width: 100%;
    margin: auto;
    padding: 20px;
    background: var(--bg);
    border-radius: 20px;
    position: relative;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
@media (max-width:450px) {.wpcf7-form {padding: 20px 0;}}
.form-bg-jaune .wpcf7-form {display: block; padding: 25px;}

/* Colonne gauche (infos bien) et droite (configurations) */
.col-form-estimation:not(.plusg) {
    flex: 1;
    min-width: 45%;
    padding: 10px;
    display: flex;
    flex-direction: column;
    /* gap: 15px; */
	max-width:100%;
}
.deux-col {display:inline-block; width:50%; padding: 25px;}
.plusg .deux-col:first-child {border-right: 1px solid var(--gris);}
/* Ligne séparatrice ajustée */
div:not(.no-sep) .wpcf7-form:not(.plusg)::after {
    content: "";
    position: absolute;
    top: 20px; /* Commence au premier élément */
    bottom: 200px; /* S'arrête avant le bouton */
    left: 50%;
    width: 2px;
    background-color: #ddd;
    transform: translateX(-50%);
}
.no-sep     .wpcf7-form::after {
        display: none; /* Supprime la ligne verticale */
    }
/* Alignement des labels */
.wpcf7 label {
    font-weight: 600;
    display: block;
    margin-bottom: 10px;
}
/* .wpcf7 label input { margin-top: 10px;} */

/* Champs input et select */
input.wpcf7-form-control,
select.wpcf7-form-control {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 50px;
    font-size: 16px;
	box-shadow: 0px 0px 40px -10px rgba(0,0,0,0.5);
	margin-top: 10px;
}


/* Conteneur des paires de labels */
.deux-input {
    display: flex;
    justify-content: space-between; /* Sépare les éléments sur la ligne */
    gap: 10px; /* Ajoute un petit espace entre les champs */
    width: 100%;
}

/* Labels demi-largeur */
label.demi {
    width: 50%; /* Force une largeur égale */
    display: flex;
    flex-direction: column; /* Assure que le texte et l'input restent bien alignés */
}

.form-bg-jaune .deux-input label.demi {padding: 10px 25px;}
.form-bg-jaune h4 {padding-left: 25px;}
.form-bg-jaune form > label {padding: 25px;}
/*.form-bg-jaune*/ form  label textarea.wpcf7-form-control {border:1px solid #ddd;}
.form-bg-jaune form {background-color: var(--jaune);}
.form-bg-jaune .wpcf7-form-control:not(input,textarea) { background-color: transparent;}
.form-bg-jaune textarea { box-shadow: 0px 0px 40px -10px rgba(0,0,0,0.5);  margin-top: 10px; font-weight: normal;}
.form-bg-jaune input[type="text"], .form-bg-jaune input[type="tel"], .form-bg-jaune input[type="email"] {font-weight: normal;}

/* Bouton de soumission centré sous les colonnes */
.wpcf7-submit {
    display: block;
    /* width: 40%; */
    /* background: #ffd700; */
    /* color: black; */
    font-weight: bold;
    font-size: 18px;
    padding: 20px 50px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    text-align: center;
    transition: background 0.3s ease;
    margin: auto; /* Centre horizontalement */
    margin-top: 20px;
}
div.no-sep .submit-container {width: 100%;}
div.no-sep .wpcf7-submit {background-color: var(--jaune); color: var(--bleu); width: auto; padding: 20px 50px; font-weight: bold;}
div.no-sep.form-bg-jaune .wpcf7-submit {background-color: var(--bleu); color: var(--jaune);}
div.no-sep .wpcf7-submit:hover {color: var(--bleu-fonce); background-color: var(--jaune);}
div.no-sep.form-bg-jaune .wpcf7-submit:hover {background-color: var(--bleu-fonce); color: var(--jaune)}
.wpcf7-submit:hover {
    background: #f7c000;
}
@media (max-width:400px) {div.no-sep .wpcf7-submit{white-space: normal;}}
/* Passage en une seule colonne sur mobile */
@media (max-width: 768px) {
    .wpcf7-form {
        flex-direction: column;
    }

    .col-form-estimation {
        min-width: 100%;
        padding: 0;
    }

    .wpcf7-form::after {
        display: none; /* Supprime la ligne verticale */
    }

    .demi {
        width: 100%; /* Champs prennent toute la largeur */
    }

    .wpcf7-submit {
        width: 100%; /* Pleine largeur sur mobile */
    }
}
/** style ****/
/* ---- STYLE GÉNÉRAL ---- */
.wpcf7-form {

}

/* ---- CHAMPS INPUT ET SELECT ARRONDIS ---- */
.wpcf7-form-control {
    width: 100%;
    padding: 12px;
    border: 0px solid var(--gris);
    border-radius: 25px; /* Arrondi des champs */
    font-size: 16px;
    background: var(--bg); /* Fond blanc */
    transition: all 0.3s ease-in-out;
}

/* Focus sur les champs */
.wpcf7-form-control:focus {
    border-color: var(--bleu);
    outline: none;
    box-shadow: 0 0 5px rgba(58,103,163,0.3);
}



/* ---- STYLE DU BOUTON SUBMIT ---- */
.wpcf7-form-control.wpcf7-submit {
    display: block;
    width: auto;
    background: var(--bleu);
    color: var(--bg);
    font-weight: bold;
    font-size: 18px;
    padding: 20px 50px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    text-align: center;
    transition: background 0.3s ease-in-out;
    margin: auto; /* Centre horizontalement */
    margin-top: 20px;
}

.wpcf7-submit:hover {
    background: var(--bleu-fonce);
}


/** *******
case à cocher
************/
.label-case-a-cocher > .wpcf7-form-control {display: block; margin-top: 10px;}

/** *******
Files
*************/
.upload-files input.wpcf7-form-control {
  border: none;
  box-shadow: none;
}
/** ***************
number ********/
/* Conteneur principal */
.wpcf7-form-control-wrap {
    display: inline-flex;
    align-items: center;
	max-width: fit-content; /* Évite l'extension inutile */
    gap: 5px; /* Réduction de l'espace entre les éléments */
    background: white;
    padding: 5px 10px; /* Ajustement du padding pour réduire la hauteur */
    border-radius: 30px;
    box-shadow: 0px 0px 40px -10px rgba(0,0,0,0.5); 
    border: 1px solid #ccc;
    height: 40px; /* Hauteur fixe pour mieux s'aligner avec les autres inputs */
	margin-top: 10px;
}
.wpcf7-form-control-wrap::before {content: ''; display: block; height:0px;}
/* Boutons - et + */
.input-number-btn {
    width: 25px; /* Légèrement réduit pour s'adapter */
    height: 28px; 
    background-color: var(--jaune);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px; /* Taille ajustée pour ne pas être trop imposante */
    font-weight: bold;
    color: var(--noir);
    border: none;
    cursor: pointer;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%); /* Hexagone */
    transition: background 0.3s ease-in-out;
    padding: 5px;
}

/* Réduction du champ input */
input.wpcf7-form-control.wpcf7-number {
    width: 40px; /* Réduction de la largeur */
    text-align: center;
    font-size: 16px; /* Taille du texte ajustée */
    border: none;
    outline: none;
    background: transparent;
    font-weight: bold;
    color: var(--noir);
    box-shadow: none;
    padding: 0;
    margin: 0;
    height: 28px; /* Aligner l’input avec les boutons */
    line-height: 28px;
}

/* Supprimer les flèches des navigateurs */
/* Chrome, Safari, Edge, Opera */
.wpcf7-form-control-wrap input[type="number"]::-webkit-outer-spin-button,
.wpcf7-form-control-wrap input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
.wpcf7-form-control-wrap input[type="number"] {
    -moz-appearance: textfield;
}


/* Empêche le label de changer le style des boutons */
.nb-increment:hover .input-number-btn {
    background-color: var(--jaune) !important;
	color: var(--noir);
	border: none;
}





/* Effet au clic (active) : empêche le bouton de rester bleu après le clic */
.input-number-btn:active {
    background-color: var(--jaune) !important;
	color: var(--noir);
	border: none;
}

/* Évite que les boutons restent bleus après avoir été cliqués */
.input-number-btn:focus {
    background-color: var(--jaune);
    outline: none;
	border: none;
	color: var(--noir);
}
/* Effet hover uniquement sur le bouton directement survolé */
.input-number-btn:hover {
    background-color: var(--bleu) !important;
}




/** checkbox */
/* Conteneur principal des checkboxes */
.wpcf7-radio {
    display: flex;
    align-items: center;
    gap: 0px; /* Évite les espaces entre les boutons */
    flex-wrap: nowrap; /* Force l'affichage sur une seule ligne */
    margin-top: 10px;
    padding: 0;
}
@media (max-width:1110px) {
.wpcf7-radio {display:inline-block;}}
/* Masquer les checkboxes natives */
.wpcf7-radio input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

/* Labels stylisés comme des boutons */
.wpcf7-radio .wpcf7-list-item-label {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: bold;
    color: var(--noir);
    background: white;
    /* border: 2px solid var(--noir); */
    padding: 10px 20px;
    cursor: pointer;
    min-height: 44px;
    white-space: nowrap;
    transition: all 0.3s ease-in-out;
}
@media (max-width:400px) {.wpcf7-radio .wpcf7-list-item-label {white-space: normal;}}
/* Appliquer un border-radius spécifique pour chaque case */
.wpcf7-radio .wpcf7-list-item:first-child .wpcf7-list-item-label {
    border-radius: 50px 0 0 50px; /* Arrondi à gauche */
}

.wpcf7-radio .wpcf7-list-item:last-child .wpcf7-list-item-label {
    border-radius: 0 50px 50px 0; /* Arrondi à droite */
}

.wpcf7-radio .wpcf7-list-item:not(:first-child):not(:last-child) .wpcf7-list-item-label {
    border-radius: 0; /* Pas d'arrondi pour le milieu */
}

/* Séparateur entre les options */
.wpcf7-radio .wpcf7-list-item {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
	margin: 0;
}

.wpcf7-radio .wpcf7-list-item:not(:last-child)::after {
    content: "";
    position: absolute;
    right: -1px;
    width: 2px;
    height: 60%;
    background: var(--noir);
    top: 50%;
    transform: translateY(-50%);
}
@media (max-width:1110px) {.wpcf7-radio .wpcf7-list-item:not(:last-child)::after {display:none;}}
/* Style actif lorsqu'une option est cochée */
.wpcf7-radio input[type="radio"]:checked + .wpcf7-list-item-label {
    background: var(--jaune);
    color: var(--bleu);
    border-color: var(--jaune);
}

/* Effet au survol */
.wpcf7-radio .wpcf7-list-item-label:hover {
    background: var(--jaune);
    color: var(--bleu);
    border-color: var(--jaune);
}

/** neutraliser les div conditionnelles */
/* Forcer les groupes CF7 conditionnels à se comporter comme les labels */
/* Conteneur des deux colonnes */
.deux-input {
    display: flex;
    width: 100%;
    justify-content: space-between;
    gap: 10px;
}

/* Labels avec input number */
label.demi.nb-increment {
    flex: 1 1 50%; /* Permet au label de s'adapter tout en ayant une largeur de base de 50% */
    max-width: 50%;
    width: auto;
    display: flex;
    flex-direction: column;
}

/* Conteneur des champs conditionnels */
.fix-conditional-cf7 {
    flex: 1 1 50%; /* Même logique que pour le label */
    max-width: 50%;
    width: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
/* Masquer la div fix-conditional-cf7 si elle ne contient que des éléments cachés */
.fix-conditional-cf7:has(.wpcf7cf-hidden) {
    display: none !important;
}

.fix-conditional-cf7 > div {width: 100%;}
.fix-conditional-cf7 > div > label.demi.nb-increment {display: block; width: 100%; max-width: 100%;}

/** regler l'espace entre les lignes */
.col-form-estimation > label, .col-form-estimation > .deux-input {margin-bottom: 20px;}

.col-form-estimation label {
    /* white-space: nowrap;  */
}

/* Correction spécifique pour le strong requis */
.col-form-estimation strong.requis {
    color: red;
    font-weight: bold;
    display: inline-block; /* Permet d'appliquer vertical-align */
    vertical-align: middle;
}

.form-bg-jaune .deux-col h3 {margin-top: 20px; margin-bottom: 20px;}
.form-bg-jaune .deux-col .wpcf7-form-control.wpcf7-checkbox  {padding-left: 0;}
.form-bg-jaune .deux-col .wpcf7-form-control.wpcf7-checkbox > span {display: block; margin-left: 0;}

/* ---- PASSAGE EN MODE MOBILE ---- */
@media (max-width: 768px) {
    .wpcf7-form {
        flex-direction: column;
    }

    .col-form-estimation {
        min-width: 100%;
        padding: 0;
    }

    .wpcf7-form::after {
        display: none; /* Supprime la ligne verticale */
    }
	.deux-input {display: block;}
    label.demi {
        width: 100%; /* Champs prennent toute la largeur */
		display:block;
    }

    .wpcf7-submit {
        width: 100%; /* Pleine largeur sur mobile */
    }
	
	.deux-col {width:100%;}
	.plusg .deux-col:first-child {border-right: 0px solid var(--gris);}
}


/** **************************
page investissement groupé
************************ */
.carac-achat-groupe .fl-icon-wrap {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.carac-achat-groupe .fl-icon-wrap .fl-icon {
  display: block !important;
  margin: 0 auto !important;
  float: none !important;
}
.carac-achat-groupe .fl-icon-text.fl-icon-text-wrap {padding-left: 0; margin-top: 15px; height: auto;}

.col-invest-bord-jaune > .fl-col-content {border: 1px solid var(--jaune); border-radius: 20px;}
.col-invest-bord-jaune h3 {color: var(--bleu);}

/** *********************
page rejoindre groupimmo
********************* */
.devenir {transition: all .3s ease;}
a.devenir:hover {color: var(--jaune)!important;}



/** autres */
.uabb-offcanvas-content h3,
.uabb-offcanvas-content label,
.uabb-offcanvas-content input {color: var(--noir)!important;}
.uabb-offcanvas-content button {padding: 25px 50px; font-weight: bold!important;}