/* =========================================================
   SIMELFI IMMOBILIER : CSS DU SITE
   ========================================================= */

/* ===== COULEURS DE RÉFÉRENCE =====
   Orange accent  : #C24013
   Bleu header    : #0b5468
   Bleu foncé     : #0f3b4c
   Crème titres   : #f7ecd0
*/

/* ===== POLICES : Avenir Next (Thin 200, Light 300, Regular 400, Medium 500, Demi 600) ===== */
@font-face{
  font-family:'Avenir Next';
  src:url('../fonts/AvenirNext-Thin.woff2') format('woff2');
  font-weight:200;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Avenir Next';
  src:url('../fonts/AvenirNext-Light.woff2') format('woff2');
  font-weight:300;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Avenir Next';
  src:url('../fonts/AvenirNext-Regular.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Avenir Next';
  src:url('../fonts/AvenirNext-Medium.woff2') format('woff2');
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Avenir Next';
  src:url('../fonts/AvenirNext-Demi.woff2') format('woff2');
  font-weight:600;font-style:normal;font-display:swap;
}

/* Texte courant */
body, p, li, input, textarea, select,
.et_pb_text, .et_pb_button, #top-menu a, .sim-bar{
  font-family:'Avenir Next', Helvetica, Arial, sans-serif!important;
  font-weight:400;
}

/* Titres */
h1, h2, .et_pb_module_header{
  font-family:'Avenir Next', Helvetica, Arial, sans-serif!important;
  font-weight:600!important;
}
/* Titres */
h3, h4, h5, h6, .et_pb_module_header{
  font-family:'Avenir Next', Helvetica, Arial, sans-serif!important;
  font-weight:400!important;
}
.et_pb_button, #top-menu a{letter-spacing:0.08em}


/* =========================================================
   HEADER DIVI : menu centré, icônes à droite, logo inchangé
   ========================================================= */
@media(min-width:981px){
  #main-header #et-top-navigation{
    float:none!important;
    padding-left:0!important;
    position:relative;z-index:2;
    display:flex;justify-content:center;align-items:center;
  }
  #main-header #top-menu-nav{margin:0 auto}
  #main-header #top-menu{display:flex;justify-content:center}
  #main-header #top-menu > li{padding:0 16px!important}
  #main-header #et_top_search{
    position:absolute;right:0;top:50%;
    transform:translateY(-50%);
    margin:0!important;float:none!important;
  }
}


/* =========================================================
   HERO : SECTION ET FOND
   ========================================================= */
.sim-hero{box-sizing:border-box;position:relative;overflow:hidden;min-height:calc(100vh - 60px);padding-top:0!important;padding-bottom:60px!important;display:flex;flex-direction:column;justify-content:center}
.sim-hero > *:not(.sim-bg):not(.sim-bar){position:relative;z-index:2}
.sim-bg{position:absolute;inset:0;z-index:0}
.sim-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease}
.sim-slide.is-active{opacity:1}
.sim-bg::after{content:"";position:absolute;inset:0;background:rgba(10,25,35,.55)}


/* =========================================================
   HERO : CONTENU
   ========================================================= */
.sim-content{max-width:1100px;margin:0 auto;padding:20px 20px 60px;text-align:center}
.sim-eyebrow{
  font-family:'Avenir Next', Avenir, sans-serif!important;
  font-weight:400;font-size:11px;letter-spacing:.3em;text-transform:uppercase;
  color:rgba(255,255,255,.7);margin:0 0 30px;padding:0;
}
.sim-hero .sim-content h1{
 font-family:'Avenir Next', Avenir, sans-serif!important;
  font-weight:500!important;
  font-size:clamp(46px,8vw,110px)!important;
  line-height:1.02!important;
  letter-spacing:-0.02em;
  color:#f7ecd0;margin:0 0 32px;padding:0;
}
.sim-h1-l{display:block}
.sim-dot{color:#C24013}
.sim-sub{
  font-family:'Avenir Next', Avenir, sans-serif!important;
  font-weight:400;font-size:16px;line-height:1.6;
  color:rgba(255,255,255,.8);margin:0 0 40px;padding:0;
}
.sim-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.sim-btn{
  display:inline-flex;align-items:center;gap:10px;padding:16px 28px;
  font-family:'Avenir Next', Avenir, sans-serif!important;
  font-weight:500;font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  text-decoration:none;border:1px solid #fff;transition:all .3s;
}
.sim-btn-plein{background:#fff;color:#0f3b4c}
.sim-btn-plein:hover{background:#C24013;border-color:#C24013;color:#fff}
.sim-btn-contour{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.sim-btn-contour:hover{background:transparent;color:#fff;border-color:#fff}


/* =========================================================
   HERO : BARRE DES BIENS
   ========================================================= */
.sim-bar{position:absolute;left:0;right:0;bottom:0;height:70px;z-index:3;display:flex;background:rgba(15,22,26,.92);color:#fff;font-size:13px}
.sim-biens{position:relative;flex:1;display:flex;align-items:center;padding:0 40px;transition:background .3s}
.sim-biens:hover{background:#C24013}
.sim-bien{position:absolute;left:40px;right:90px;display:flex;align-items:center;gap:16px;color:#fff;text-decoration:none;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.sim-bien.is-active{opacity:1;visibility:visible}
.sim-bien img{width:40px;height:40px;object-fit:cover}
.sim-bien-txt{display:flex;flex-direction:column;gap:4px}
.sim-bien-lieu{font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.6}
.sim-biens:hover .sim-bien-lieu{opacity:.85}
.sim-bien-titre{font-weight:500}
.sim-next{margin-left:auto;background:none;border:0;color:#fff;opacity:.7;font-size:16px;cursor:pointer;position:relative;z-index:1}
.sim-next:hover,.sim-biens:hover .sim-next{opacity:1}
.sim-dots{display:flex;align-items:center;gap:10px;padding:0 40px;border-left:1px solid rgba(255,255,255,.1);border-right:1px solid rgba(255,255,255,.1)}
.sim-dots button{width:4px;height:4px;padding:0;border:0;border-radius:2px;background:rgba(255,255,255,.5);cursor:pointer;transition:all .3s}
.sim-dots button.is-active{width:20px;height:2px;background:#C24013}
.sim-decouvrir{display:flex;align-items:center;gap:10px;padding:0 40px;color:#fff;opacity:.6;font-size:10px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none}
.sim-decouvrir:hover{opacity:1}


/* =========================================================
   MOBILE
   ========================================================= */
@media(max-width:767px){
  .sim-content{padding:40px 16px}
  .sim-h1-l{display:inline}
  .sim-dots,.sim-decouvrir{display:none}
  .sim-biens{padding:0 16px}
  .sim-bien{left:16px;right:50px}
}


/* =========================================================
   BANDE CHIFFRES CLÉS (rangée 3 colonnes de compteurs, classe sim-stats)
   ========================================================= */
/* Rangée centrée, 3 colonnes de même largeur */
.sim-stats.et_pb_row{
  display:flex!important;flex-wrap:nowrap;
  justify-content:center;align-items:stretch;
  margin-left:auto!important;margin-right:auto!important;
}
.sim-stats.et_pb_row > .et_pb_column{
  flex:1 1 0;
  display:flex!important;flex-direction:column;
  justify-content:center!important;align-items:center;
  margin-bottom:0!important;
}

/* Module compteur : sans marges parasites, tout centré */
.sim-stats .et_pb_number_counter{
  width:100%;margin:0!important;padding:0!important;
  text-align:center!important;
}
.sim-stats .et_pb_number_counter *{
  font-family:'Avenir Next',Helvetica,Arial,sans-serif!important;
  text-align:center!important;
  white-space:nowrap;
}

/* Chiffre (20+, 600+, 98%) : hauteur = interligne, donc centré dans sa boîte */
.sim-stats .et_pb_number_counter .percent{
  font-size:36px!important;
  height:40px!important;
  line-height:40px!important;
  margin:0 0 8px!important;
  font-weight:400!important;
}
.sim-stats .et_pb_number_counter .percent p{
  line-height:inherit!important;margin:0!important;padding:0!important;
}

/* Libellé (ANNÉES D'EXPÉRIENCE...) */
.sim-stats .et_pb_number_counter .title,
.sim-stats .et_pb_number_counter .et_pb_module_header{
  margin:0!important;padding:0!important;
  line-height:1.3!important;
  font-weight:400!important;
}

/* Tablette */
@media(max-width:980px){
  .sim-stats.et_pb_row > .et_pb_column{width:auto!important;margin:0!important}
  .sim-stats .et_pb_number_counter .percent{
    font-size:36px!important;height:40px!important;line-height:40px!important;margin:0 0 6px!important;
  }
  .sim-stats .et_pb_number_counter .title,
  .sim-stats .et_pb_number_counter .et_pb_module_header{
    font-size:11px!important;letter-spacing:.06em!important;
  }
}

/* Mobile */
@media(max-width:767px){
  .sim-stats .et_pb_number_counter .percent{
    font-size:30px!important;height:36px!important;line-height:36px!important;margin:0 0 4px!important;
  }
  .sim-stats .et_pb_number_counter .title,
  .sim-stats .et_pb_number_counter .et_pb_module_header{
    font-size:9px!important;letter-spacing:.04em!important;
  }
}


/* =========================================================
   NOTRE APPROCHE (rangée 2 colonnes, classe sim-approche)
   ========================================================= */
.sim-approche.et_pb_row{
  display:flex!important;align-items:center;gap:80px;
  width:90%!important;max-width:1150px!important;
}
.sim-approche.et_pb_row > .et_pb_column{flex:1 1 0;width:auto!important;margin:0!important}

/* Colonne texte */
.sim-approche-txt .sim-eyebrow-o{
  font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  color:#C24013;margin:0 0 20px;padding:0;
}
.sim-approche-txt h2{
  font-size:clamp(28px,3vw,38px)!important;line-height:1.2!important;
  font-weight:600!important;color:#0b5468;
  margin:0 0 36px;padding:0;
}
.sim-approche-txt p{
  font-size:14px;line-height:2;color:#3a4a55;
  margin:0 0 16px;padding:0;
}
.sim-lien{
  display:inline-flex;align-items:center;gap:12px;
  margin-top:40px;padding-bottom:4px;
  border-bottom:1px solid #0b5468;
  color:#0b5468;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;transition:color .3s,border-color .3s;
}
.sim-lien span{transition:transform .3s}
.sim-lien:hover{color:#C24013;border-color:#C24013}
.sim-lien:hover span{transform:translateX(4px)}

/* Colonne image + badge orange */
.sim-approche-img{position:relative;margin:0 0 24px 24px}
.sim-approche-img img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.sim-badge{
  position:absolute;left:-24px;bottom:-24px;
  width:128px;padding:22px 24px;
  background:#C24013;color:#fff;
}
.sim-badge-n{display:block;font-size:30px;font-weight:600;line-height:1.1;margin-bottom:8px}
.sim-badge-t{display:block;font-size:11px;line-height:1.4}

/* Tablette : texte au-dessus, image en dessous */
@media(max-width:980px){
  .sim-approche.et_pb_row{flex-direction:column;align-items:stretch;gap:60px}
}

/* Mobile */
@media(max-width:767px){
  .sim-approche.et_pb_row{gap:48px}
  .sim-approche-txt h2{margin-bottom:24px}
  .sim-lien{margin-top:24px}
  .sim-badge{width:110px;padding:18px 20px}
  .sim-badge-n{font-size:26px}
}

/* =========================================================
   UTILITAIRE : bouton en bas de colonne (classe sim-bas sur la RANGÉE)
   Gère le bouton imbriqué dans un Blurb (Divi 5) ou placé seul en fin de colonne
   ========================================================= */
.sim-bas.et_pb_row{align-items:stretch!important}
.sim-bas.et_pb_row > .et_pb_column{display:flex!important;flex-direction:column}

/* Blurb : prend toute la hauteur de la colonne */
.sim-bas.et_pb_row > .et_pb_column > .et_pb_blurb{flex:1 1 auto;display:flex!important;flex-direction:column}
.sim-bas .et_pb_blurb_content{flex:1 1 auto;width:100%;display:flex!important;flex-direction:column}

/* Bouton poussé en bas */
.sim-bas .et_pb_blurb_content > .et_pb_button_module_wrapper,
.sim-bas.et_pb_row > .et_pb_column > .et_pb_button_module_wrapper:last-child{
  margin-top:auto!important;margin-bottom:0!important;padding-top:24px;
}

/* =========================================================
   BOUTON EN BAS DE COLONNE, AUTOMATIQUE (desktop)
   Rangée texte + image : le bouton, dernier module de sa colonne,
   s'aligne sur le bas de l'image. Aucune classe à poser dans Divi.
   ========================================================= */
@media(min-width:981px){
  .et_pb_row:has(> .et_pb_column > .et_pb_button_module_wrapper:last-child):has(.et_pb_image){
    align-items:stretch!important;
  }
  .et_pb_row:has(.et_pb_image) > .et_pb_column:has(> .et_pb_button_module_wrapper:last-child){
    display:flex!important;flex-direction:column;justify-content:flex-start!important;
  }
  .et_pb_row:has(.et_pb_image) > .et_pb_column > .et_pb_button_module_wrapper:last-child{
    margin-top:auto!important;margin-bottom:0!important;padding-top:32px;
  }
}


/* =========================================================
   CARTE BIEN (colonne : module Image + module Texte .sim-fiche)
   Aucune classe à poser : la colonne est détectée automatiquement
   ========================================================= */
.et_pb_column:has(.sim-fiche){
  display:flex!important;flex-direction:column;
  background:#fff;border:1px solid #d9e3e6;
  transition:box-shadow .3s,transform .3s;
}
.et_pb_column:has(.sim-fiche):hover{box-shadow:0 12px 30px rgba(11,84,104,.12);transform:translateY(-3px)}
.et_pb_column:has(.sim-fiche) > .et_pb_module{margin:0!important}
/* Divi 5 met un espace (gap) entre les modules d'une colonne : on le supprime */
.et_pb_column:has(.sim-fiche){gap:0!important;row-gap:0!important}
/* Le bloc texte colle au bas de la carte, même si les cartes n'ont pas la même hauteur */
.et_pb_column:has(.sim-fiche) > .et_pb_module:last-child{margin-top:auto!important}
.et_pb_column:has(.sim-fiche) .et_pb_image,
.et_pb_column:has(.sim-fiche) .et_pb_image_wrap{display:block;width:100%;overflow:hidden}
.et_pb_column:has(.sim-fiche) .et_pb_image img{
  display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s ease;
}
.et_pb_column:has(.sim-fiche):hover .et_pb_image img{transform:scale(1.04)}

.sim-fiche{padding:20px 16px 18px}
.sim-fiche p{margin:0!important;padding:0!important}
.sim-fiche-l{
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  font-size:13px;line-height:1.6;margin:0 0 2px;
}
.sim-fiche-l span{color:#7a8a93}
.sim-fiche-l strong{color:#0b5468;font-weight:600;white-space:nowrap}
.sim-fiche-head{margin-bottom:10px}
.sim-fiche-head span{
  color:#0b5468;font-weight:600;font-size:13px;
  text-transform:uppercase;letter-spacing:.06em;
}

/* Cartes de biens : aucun écart vertical Divi 5 */
.et_pb_column:has(.sim-fiche),
.et_pb_column:has(.sim-fiche) .et_flex_module,
.et_pb_column:has(.sim-fiche) .et_flex_group{row-gap:0!important}