@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;500;600;700&display=swap');
/* ============================================================
   NORME DE DESIGN — partagée (2026-05-12)
   Surcharge monstyle.css. Aucune icône, aucun gradient.
   Couleurs : orange #F26522 en accent, gris/bleu nuit sinon.
   Border-radius : 5px partout.
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --orange:#F26522;
  --orange-d:#D9551C;
  --dark:#1A2B49;
  --text:#1F2937;
  --muted:#6B7280;
  --light:#9CA3AF;
  --border:#D1D5DB;
  --border-soft:#E5E7EB;
  --bg:#F5F6FA;
  --bg-soft:#FAFAFB;
  --white:#fff;
}

html,body{
  font-family:'Lato',sans-serif !important;
  font-size:14px;
  color:var(--text);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  margin:0 !important;
  padding:0 !important;
  line-height:1.5;
}
body * { font-family:inherit }

/* Barre de progression "Progression X%" injectée par scripts_bitar.js sur certains sites
   (doublon avec le stepper haut). Masquée. */
.ci-progress-bar{display:none !important}

body p,body span,body label{font-size:inherit}

/* ============================================================
   NAVIGATION — wrapper original masqué (le bouton est cloné via JS
   dans .btp_question de chaque slide pour s'aligner avec Valider)
   ============================================================ */
.btn_control_steps_wrapper{display:none !important}

/* Le .btp_question devient un footer flex : Valider à droite, Précédent (si présent) à gauche via margin-right:auto */
.body_content .btp_question,
.body_content p.btp_question{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:14px !important;
  margin:20px 0 0 !important;
  padding:18px 0 0 !important;
  border-top:1px dashed var(--border-soft) !important;
  background:transparent !important;
  width:100% !important;
}

/* Bouton Précédent injecté dans .btp_question */
.body_content .btp_question .injected-prev,
a.injected-prev{
  display:inline-flex !important;
  align-items:center !important;
  background:transparent !important;
  background-image:none !important;
  color:var(--muted) !important;
  padding:8px 14px !important;
  font-size:13px !important;
  font-weight:500 !important;
  text-decoration:none !important;
  border:none !important;
  border-radius:5px !important;
  box-shadow:none !important;
  cursor:pointer !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  font-family:inherit !important;
  transition:color .15s !important;
  margin:0 auto 0 0 !important;
  height:auto !important;
  line-height:1.4 !important;
}
.body_content .btp_question .injected-prev:hover{
  color:var(--orange) !important;
  background:transparent !important;
}

/* Bouton Précédent — lien sobre */
.btn_step.prev_step{
  display:inline-flex !important;
  align-items:center !important;
  gap:0 !important;
  background:transparent !important;
  background-image:none !important;
  color:var(--muted) !important;
  padding:6px 12px 6px 10px !important;
  font-size:0 !important;
  font-weight:500 !important;
  text-decoration:none !important;
  border:none !important;
  border-radius:5px !important;
  box-shadow:none !important;
  cursor:pointer !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  font-family:inherit !important;
  transition:color .15s !important;
  float:none !important;
  height:auto !important;
  line-height:1.4 !important;
}
.btn_step.prev_step::before{
  content:"\002190\00a0 Pr\0000e9c\0000e9dent" !important;
  display:inline-block !important;
  font-size:13px !important;
  color:inherit !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  white-space:nowrap !important;
}
.btn_step.prev_step span{
  display:none !important;
  font-size:0 !important;
}
.btn_step.prev_step:hover{
  color:var(--orange) !important;
  background:transparent !important;
}
/* Désactivé (sur l'étape 1) — caché */
.btn_step.prev_step.slick-disabled{
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Bouton Suivant du slick — caché (doublon avec le bouton "Valider" à l'intérieur) */
.btn_step.next_step,
.btn_step.next_step.active{
  display:none !important;
}

/* 2e section logo (doublon dans le template) — cachée car redondante */
section.contenuPage#logo{display:none !important}

/* ============================================================
   BANDEAU IMAGES — restauré, sobre
   ============================================================ */
.img_building_houses{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:0 !important;
  padding:0 !important;
  margin:0 !important;
  float:none !important;
  width:100% !important;
  height:120px !important;
  position:relative !important;
  overflow:hidden !important;
  background:var(--dark) !important;
  border-bottom:1px solid var(--border-soft) !important;
}
.img_building_houses::before{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg,rgba(26,43,73,.15) 0%,rgba(26,43,73,.45) 100%) !important;
  z-index:2 !important;
  pointer-events:none !important;
}
.img_building_houses::after{display:none !important}
.img_building_houses .img_item{
  width:100% !important;
  height:120px !important;
  padding:0 !important;
  margin:0 !important;
  float:none !important;
  overflow:hidden !important;
  position:relative !important;
}
.img_building_houses .img_item img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  filter:saturate(.6) brightness(.85) !important;
}

/* ============================================================
   STEPPER 3 ÉTAPES (Je remplis / Je suis contacté / J'achète)
   Adapté à la norme : sobre, sans gradient sur l'icône active
   ============================================================ */
.step_tab_level{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  background:var(--white) !important;
  padding:28px 32px 0 !important;
  position:relative !important;
  margin:0 !important;
  gap:0 !important;
  border-bottom:1px solid var(--border-soft) !important;
}
.step_tab_level::before{
  content:'' !important;
  position:absolute !important;
  top:56px !important;
  left:calc(32px + 28px) !important;
  right:calc(32px + 28px) !important;
  height:2px !important;
  background:var(--border-soft) !important;
  border-radius:2px !important;
  z-index:0 !important;
}
.step_tab_level::after{
  content:'' !important;
  position:absolute !important;
  top:55px !important;
  left:calc(32px + 28px) !important;
  width:calc((100% - 120px) * var(--ci-progress, 0)) !important;
  height:3px !important;
  background:var(--orange) !important;
  border-radius:2px !important;
  z-index:1 !important;
  transition:width .4s ease !important;
}
.step_tab_level .titreBloc{
  flex:1 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:6px !important;
  padding:0 4px 22px !important;
  cursor:default !important;
  position:relative !important;
  z-index:2 !important;
  background:transparent !important;
  border:none !important;
  border-left:none !important;
  margin:0 !important;
  text-align:center !important;
  font-size:14px !important;
  color:var(--muted) !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  font-weight:600 !important;
}
.step_tab_level .titreBloc .etape1Bc{
  display:block !important;
  order:2 !important;
  width:auto !important;
  height:auto !important;
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  color:var(--light) !important;
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:.12em !important;
  margin:4px 0 0 !important;
  padding:0 !important;
  text-transform:uppercase !important;
  box-shadow:none !important;
  position:static !important;
}
.step_tab_level .titreBloc.active .etape1Bc{
  color:var(--orange) !important;
}
.step_tab_level .titreBloc .titreicon{
  order:1 !important;
  position:static !important;
  width:48px !important;
  height:48px !important;
  border-radius:50% !important;
  background:var(--white) !important;
  border:1.5px solid var(--border) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  transform:none !important;
  box-shadow:none !important;
  transition:border-color .2s ease,background .2s ease !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
}
.step_tab_level .titreBloc .titreicon img{
  width:22px !important;
  height:22px !important;
  filter:grayscale(100%) opacity(.5) !important;
  transition:filter .2s ease !important;
}
.step_tab_level .titreBloc.active .titreicon{
  background:var(--orange) !important;
  border-color:var(--orange) !important;
}
.step_tab_level .titreBloc.active .titreicon img{
  filter:brightness(0) invert(1) opacity(1) !important;
}
.step_tab_level .titreBloc .titreEtape{
  order:3 !important;
  font-size:13px !important;
  font-weight:600 !important;
  color:var(--muted) !important;
  letter-spacing:0 !important;
  margin:0 !important;
  text-align:center !important;
}
.step_tab_level .titreBloc.active .titreEtape{color:var(--dark) !important}
.step_tab_level br.spacer{display:none !important}
.step_tab_level svg#container{display:none !important}
.step_tab_level .titreBloc.achete,
.step_tab_level .titreBloc.contacte{text-align:center !important}

/* Le svg#container est masqué (déjà géré par stepper) */
svg#container{display:none !important}

/* ============================================================
   LAYOUT GLOBAL
   ============================================================ */
.container.credit_immo_form_steps{
  padding:24px 16px !important;
  margin:0 !important;
  max-width:100% !important;
  background:var(--white) !important;
}

.main_form_section{
  max-width:900px !important;
  width:100% !important;
  margin:0 auto !important;
  padding:0 !important;
  background:var(--white) !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transform:none !important;
  overflow:visible !important;
  position:relative !important;
}
.main_form_section.activate{
  height:auto !important;
  max-width:900px !important;
  transform:none !important;
  padding-left:0 !important;
  margin-top:0 !important;
}

/* ============================================================
   SLICK CAROUSEL — neutralisation des spécificités
   ============================================================ */
.steps_wrapper,
.slick-list,
.slick-track{
  overflow:hidden !important;
}
.step_item_content{
  background:var(--white) !important;
  overflow:visible !important;
}

/* ============================================================
   CARD (chaque étape)
   ============================================================ */
.intContentFormEtapeToo{
  padding:0 !important;
  background:var(--white) !important;
  border-radius:0 !important;
  border:none !important;
  box-shadow:none !important;
}

/* HEADER de la card (titre de question) */
.intContentFormEtapeToo .title_holder,
.intContentFormEtapeToo .left.visu_emp.title_holder{
  width:100% !important;
  padding:24px 32px 18px !important;
  margin:0 !important;
  background:var(--white) !important;
  border-bottom:1px solid var(--border-soft) !important;
  float:none !important;
  display:block !important;
}

/* Compteur "Question N sur X" — déjà au-dessus du titre */
.ci-q-counter{
  display:block !important;
  color:var(--orange) !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.8px !important;
  text-transform:uppercase !important;
  margin-bottom:8px !important;
}
.ci-q-counter span{
  color:var(--light) !important;
  font-weight:500 !important;
}

/* Titre de question (titreBloc dans title_holder) */
.intContentFormEtapeToo > .left .titreBloc,
.intContentFormEtapeToo > .right .titreBloc,
.intContentFormEtapeToo .title_holder .titreBloc,
.intContentFormEtapeToo .left.title_holder .titreBloc{
  font-size:20px !important;
  font-weight:700 !important;
  color:var(--dark) !important;
  margin:0 !important;
  padding:0 0 0 12px !important;
  border-left:3px solid var(--orange) !important;
  border-bottom:none !important;
  background:transparent !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  display:block !important;
  line-height:1.3 !important;
  text-align:left !important;
}

/* BODY de la card */
.intContentFormEtapeToo .body_content,
.body_content{
  padding:28px 32px !important;
  background:var(--white) !important;
  width:100% !important;
  float:none !important;
  border-top:none !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.step_item_content{
  border-radius:0 !important;
  box-shadow:none !important;
  border:none !important;
}

/* Neutraliser les float spécifiques aux montants */
.body_content .champ_reponse label .reponse_txt_droite,
.body_content .champ_reponse label .couleur,
.body_content .champ_reponse label .labelPosDroite,
.body_content .champ_reponse label .spec_ret2_Q7,
.body_content .champ_reponse label .spec_ret2_Q8,
.body_content .champ_reponse label .spec_ret2_Q12,
.body_content .champ_reponse label .spec_ret2_Q14,
.body_content .champ_reponse label .spec_ret2_Q15,
.body_content .champ_reponse label .spec_ret2_Q17,
.body_content .champ_reponse label .spec_ret2_Q23,
.body_content .champ_reponse label .type_credit{
  float:none !important;
  position:static !important;
  top:auto !important;
}
.body_content .champ_reponse label .spec_ret1_Q7,
.body_content .champ_reponse label .spec_ret1_Q8,
.body_content .champ_reponse label .spec_ret1_Q12,
.body_content .champ_reponse label .spec_ret1_Q14,
.body_content .champ_reponse label .spec_ret1_Q15,
.body_content .champ_reponse label .spec_ret1_Q17,
.body_content .champ_reponse label .spec_ret1_Q23{
  flex:1 !important;
}

/* ============================================================
   RADIO CARDS (.champ_reponse avec labelGrand_*)
   ============================================================ */
.body_content .champ_reponse{
  margin:0 0 8px !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
}
.body_content .champ_reponse:last-of-type{margin-bottom:0 !important}

/* Neutraliser l'icône ::before (running.svg) du CSS original */
.body_content .champ_reponse label::before,
.body_content .champ_reponse label::after{
  display:none !important;
  content:none !important;
  background:none !important;
  width:0 !important;
  height:0 !important;
}

/* Le label-card lui-même */
.body_content .champ_reponse > label,
.body_content .champ_reponse .labelGrand_f,
.body_content .champ_reponse .labelGrand_aide_f,
.body_content .champ_reponse .labelGrand_aide_f_Sel,
.body_content .champ_reponse .labelGrand_f_Sel,
.body_content .champ_reponse .labelGrand_sf,
.body_content .champ_reponse .labelGrand_aide_sf,
.body_content .champ_reponse .labelGrandN_aide_sf,
.body_content .champ_reponse .labelGrand_sf_Sel,
.body_content .champ_reponse .labelGrand_saide_sf_Sel{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  padding:16px 18px !important;
  background:var(--white) !important;
  background-color:var(--white) !important;
  background-image:none !important;
  border:1px solid var(--border-soft) !important;
  border-radius:5px !important;
  cursor:pointer !important;
  transition:border-color .15s !important;
  width:100% !important;
  margin:0 !important;
  text-align:left !important;
  font-size:14px !important;
  font-weight:500 !important;
  color:var(--dark) !important;
  position:relative !important;
  min-height:auto !important;
  height:auto !important;
  box-shadow:none !important;
  text-transform:none !important;
}
/* HOVER : on neutralise le hover orange complet du CSS original — juste la bordure */
.body_content .champ_reponse > label:hover,
.body_content .champ_reponse .labelGrand_f:hover,
.body_content .champ_reponse .labelGrand_aide_f:hover,
.body_content .champ_reponse .labelGrand_aide_f_Sel:hover,
.body_content .champ_reponse .labelGrand_f_Sel:hover,
.body_content .champ_reponse .labelGrand_sf:hover,
.body_content .champ_reponse .labelGrand_aide_sf:hover,
.body_content .champ_reponse .labelGrandN_aide_sf:hover,
.body_content .champ_reponse .labelGrand_sf_Sel:hover,
.body_content .champ_reponse .labelGrand_saide_sf_Sel:hover{
  background:var(--white) !important;
  background-color:var(--white) !important;
  border-color:var(--orange) !important;
  color:var(--dark) !important;
}
.body_content .champ_reponse > label:hover span,
.body_content .champ_reponse label:hover .reponse_txt_champ,
.body_content .champ_reponse label:hover .sous_reponse_txt_champ,
.body_content .champ_reponse label:hover .reponse_txt{
  color:var(--dark) !important;
}

/* Quand la radio est cochée — bordure orange uniquement si le label contient une radio cochée */
.body_content .champ_reponse > label:has(input[type="radio"]:checked){
  border-color:var(--orange) !important;
  background:var(--white) !important;
}
/* Pour les labels _Sel : ne pas colorer en orange si ce n'est pas un radio (sinon ça donne des bordures orange sur des selects/inputs non-cochés) */
.body_content .champ_reponse > label.labelGrand_aide_f_Sel:has(input[type="radio"]:checked),
.body_content .champ_reponse > label.labelGrand_f_Sel:has(input[type="radio"]:checked),
.body_content .champ_reponse > label.labelGrand_sf_Sel:has(input[type="radio"]:checked),
.body_content .champ_reponse > label.labelGrand_saide_sf_Sel:has(input[type="radio"]:checked){
  border-color:var(--orange) !important;
  background:var(--white) !important;
}

/* Radios customisés */
.body_content .champ_reponse input[type="radio"]{
  appearance:none !important;
  -webkit-appearance:none !important;
  width:18px !important;
  height:18px !important;
  border:1.5px solid var(--border) !important;
  border-radius:50% !important;
  flex-shrink:0 !important;
  position:relative !important;
  cursor:pointer !important;
  margin:0 !important;
  padding:0 !important;
  background:var(--white) !important;
  vertical-align:middle !important;
}
.body_content .champ_reponse input[type="radio"]:checked{
  border-color:var(--orange) !important;
}
.body_content .champ_reponse input[type="radio"]:checked::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:8px;
  height:8px;
  background:var(--orange);
  border-radius:50%;
}

/* Texte de la réponse */
.body_content .reponse_txt_champ,
.body_content .sous_reponse_txt_champ,
.body_content .reponse_txt_champ_b{
  flex:1 !important;
  font-size:14px !important;
  font-weight:500 !important;
  color:var(--dark) !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  text-align:left !important;
  background:transparent !important;
  border:none !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}

/* ============================================================
   INPUTS DE MONTANTS (.textBox_montant + .txt_d_champ)
   ============================================================ */
/* Conteneur du champ avec label à gauche + input à droite */
.body_content .champ_reponse:has(.textBox_montant),
.body_content .champ_reponse:has(.textBox),
.body_content .champ_reponse.prix_achat_show,
.body_content .champ_reponse.construction_terrain_show,
.body_content .champ_reponse.transparent{
  margin-bottom:18px !important;
}

/* Label complet (texte à gauche + input à droite, sur une ligne) */
.body_content .champ_reponse > label.labelGrand_sf,
.body_content .champ_reponse > label.labelGrand_aide_sf,
.body_content .champ_reponse > label.labelGrandN_aide_sf{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:14px 18px !important;
  background:var(--white) !important;
  border:1px solid var(--border-soft) !important;
  border-radius:5px !important;
  cursor:default !important;
}

/* Si la ligne contient un input montant (avec labelPosDroite), on n'a pas besoin du cadre extérieur (cadre intérieur suffit) */
.body_content .champ_reponse:has(.labelPosDroite) > label,
.body_content .champ_reponse:has(.textBox_montant) > label,
.body_content .champ_reponse.transparent > label,
.body_content .champ_reponse.prix_achat_show > label,
.body_content .champ_reponse.construction_terrain_show > label{
  border:none !important;
  padding:8px 0 !important;
  background:transparent !important;
}
.body_content .champ_reponse.transparent{
  margin:0 0 8px !important;
}

/* Frais de notaire — aligné avec les autres champs montants (pas de cadre extérieur) */
.body_content .champ_reponse.transparent > label.labelGrandN_aide_sf,
.body_content .champ_reponse.transparent > label{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:8px 0 !important;
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
}
/* Frais de notaire affichage (valeur calculée en JS) — input visuel sobre */
.body_content .champ_reponse.transparent .reponse_txt_droite{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  font-size:14px !important;
  font-weight:500 !important;
  color:var(--text) !important;
  padding:0 14px !important;
  background:var(--white) !important;
  border:1px solid var(--border) !important;
  border-radius:5px !important;
  height:40px !important;
  width:140px !important;
  max-width:140px !important;
  justify-content:flex-end !important;
}
/* Input à l'intérieur de .reponse_txt_droite : pas de bordure interne (doublon avec le wrapper) */
.body_content .champ_reponse.transparent .reponse_txt_droite input,
.body_content .champ_reponse.transparent .reponse_txt_droite input.textBox_montant{
  border:none !important;
  background:transparent !important;
  padding:0 !important;
  height:auto !important;
  width:auto !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  box-shadow:none !important;
}

/* Texte du label dans les inputs montants */
.body_content .reponse_txt,
.body_content .reponse_txt_droite{
  font-size:13px !important;
  font-weight:500 !important;
  color:var(--text) !important;
  margin:0 !important;
  padding:0 !important;
  display:inline-block !important;
  flex:0 0 auto !important;
}

/* Conteneur des inputs/selects à droite (.labelPosDroite) */
.body_content .labelPosDroite{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  overflow:visible !important;
  margin:0 !important;
  padding:0 !important;
  height:auto !important;
  min-width:0 !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
}

/* Input montant — cadre individuel avec bord */
.body_content .textBox_montant,
.body_content input.textBox_montant{
  border:1px solid var(--border) !important;
  border-radius:5px !important;
  background:var(--white) !important;
  padding:0 14px !important;
  font-size:14px !important;
  font-weight:500 !important;
  color:var(--text) !important;
  outline:none !important;
  font-family:inherit !important;
  width:140px !important;
  max-width:140px !important;
  height:40px !important;
  margin:0 !important;
  text-align:right !important;
  box-shadow:none !important;
  text-transform:none !important;
  display:inline-block !important;
  vertical-align:middle !important;
}
.body_content .textBox_montant:focus{
  border-color:var(--orange) !important;
}
.body_content .textBox_montant::placeholder{color:var(--light) !important;font-weight:400 !important}

/* Suffix € ou unité (txt_d_champ) — badge sobre */
.body_content .txt_d_champ{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 8px !important;
  background:transparent !important;
  border:none !important;
  color:var(--muted) !important;
  font-size:13px !important;
  font-weight:500 !important;
  height:40px !important;
  margin:0 !important;
  min-width:0 !important;
  white-space:nowrap !important;
}

/* ============================================================
   INPUTS TEXTE (.textBox, .textBox2)
   ============================================================ */
.body_content .textBox,
.body_content .textBox2,
.body_content input.textBox,
.body_content input.textBox2,
.body_content input[type="text"]:not(.textBox_montant),
.body_content input[type="email"],
.body_content input[type="tel"]{
  width:100% !important;
  max-width:100% !important;
  background:var(--white) !important;
  border:1px solid var(--border) !important;
  border-radius:5px !important;
  padding:10px 14px !important;
  font-size:14px !important;
  color:var(--text) !important;
  outline:none !important;
  transition:border-color .15s !important;
  font-family:inherit !important;
  height:40px !important;
  box-shadow:none !important;
  margin:0 !important;
  text-transform:none !important;
}

/* Empêcher la lowercase agressive du CSS original */
.body_content .champ_reponse input,
.body_content .champ_reponse select{
  text-transform:none !important;
}

/* ============================================================
   Cas spécial : groupes de radios inline avec <br> (auto_height)
   Question à gauche + plusieurs radios à droite mal alignés
   => Layout vertical : question en haut, radios en dessous
   ============================================================ */
.body_content .champ_reponse.auto_height > label,
.body_content .champ_reponse.auto_height label.labelGrand_sf,
.body_content .champ_reponse.auto_height label.labelGrand_aide_sf{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:12px !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  width:100% !important;
}
.body_content .champ_reponse.auto_height .reponse_txt,
.body_content .champ_reponse.auto_height .spec_ret1_Q7,
.body_content .champ_reponse.auto_height .spec_ret1_Q8,
.body_content .champ_reponse.auto_height .spec_ret1_Q12{
  display:block !important;
  width:100% !important;
  flex:none !important;
  font-size:13px !important;
  font-weight:600 !important;
  color:var(--text) !important;
  text-transform:uppercase !important;
  letter-spacing:.4px !important;
  margin:0 0 4px !important;
  padding:0 !important;
}
.body_content .champ_reponse.auto_height .labelPosDroite{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:6px !important;
  width:100% !important;
  flex:none !important;
  padding:0 !important;
  margin:0 !important;
}
/* Chaque option radio = ligne pleine largeur, comme une radio card */
.body_content .champ_reponse.auto_height .labelPosDroite > span{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:12px 16px !important;
  background:var(--white) !important;
  border:1px solid var(--border-soft) !important;
  border-radius:5px !important;
  cursor:pointer !important;
  font-size:14px !important;
  font-weight:500 !important;
  color:var(--dark) !important;
  width:100% !important;
  margin:0 !important;
  transition:border-color .15s !important;
}
.body_content .champ_reponse.auto_height .labelPosDroite > span:hover{
  border-color:var(--orange) !important;
}
/* Cacher les <br> qui forçaient le retour à la ligne */
.body_content .champ_reponse.auto_height .labelPosDroite > br{
  display:none !important;
}
/* Radio input customisé dans ce cas */
.body_content .champ_reponse.auto_height .labelPosDroite input[type="radio"]{
  appearance:none !important;
  -webkit-appearance:none !important;
  width:18px !important;
  height:18px !important;
  border:1.5px solid var(--border) !important;
  border-radius:50% !important;
  flex-shrink:0 !important;
  position:relative !important;
  cursor:pointer !important;
  margin:0 !important;
  background:var(--white) !important;
}
.body_content .champ_reponse.auto_height .labelPosDroite input[type="radio"]:checked{
  border-color:var(--orange) !important;
}
.body_content .champ_reponse.auto_height .labelPosDroite input[type="radio"]:checked::after{
  content:"" !important;
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  transform:translate(-50%,-50%) !important;
  width:8px !important;
  height:8px !important;
  background:var(--orange) !important;
  border-radius:50% !important;
}
/* La ligne entière passe en bordure orange quand cochée */
.body_content .champ_reponse.auto_height .labelPosDroite > span:has(input[type="radio"]:checked){
  border-color:var(--orange) !important;
}
.body_content .textBox::placeholder,
.body_content .textBox2::placeholder,
.body_content input[type="text"]::placeholder,
.body_content input[type="email"]::placeholder,
.body_content input[type="tel"]::placeholder{color:var(--light) !important}
.body_content .textBox:focus,
.body_content .textBox2:focus,
.body_content input[type="text"]:focus,
.body_content input[type="email"]:focus,
.body_content input[type="tel"]:focus{
  border-color:var(--orange) !important;
}

/* ============================================================
   SELECTS (y compris ceux avec classe .textBox)
   ============================================================ */
.body_content select,
.body_content select.textBox,
.body_content .labelPosDroite select,
.body_content .labelPosDroite select.textBox{
  appearance:none !important;
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  width:auto !important;
  min-width:120px !important;
  background-color:var(--white) !important;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%236B7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
  background-repeat:no-repeat !important;
  background-position:right 14px center !important;
  border:1px solid var(--border) !important;
  border-radius:5px !important;
  padding:0 36px 0 14px !important;
  font-size:14px !important;
  color:var(--text) !important;
  outline:none !important;
  cursor:pointer !important;
  font-family:inherit !important;
  font-weight:500 !important;
  font-style:normal !important;
  height:40px !important;
  margin:0 !important;
  box-shadow:none !important;
  vertical-align:middle !important;
  text-transform:none !important;
  display:inline-block !important;
}
.body_content select:focus,
.body_content select.textBox:focus{
  border-color:var(--orange) !important;
}
/* Options du select */
.body_content select option{
  color:var(--text) !important;
  background:var(--white) !important;
  font-weight:500 !important;
  font-style:normal !important;
  text-transform:none !important;
}
/* Placeholder option (value vide) — couleur grise */
.body_content select:invalid,
.body_content select:has(option[value=""]:checked){
  color:var(--light) !important;
}

/* ============================================================
   BOUTONS
   ============================================================ */
/* Bouton "Valider" (btp_valider) */
.body_content .btp_question,
.body_content p.btp_question{
  text-align:right !important;
  margin:20px 0 0 !important;
  padding:18px 0 0 !important;
  border-top:1px dashed var(--border-soft) !important;
  background:transparent !important;
  width:100% !important;
}
.body_content .btp_valider,
.body_content a.btp_valider,
a.btp_valider{
  display:inline-block !important;
  background:var(--orange) !important;
  background-color:var(--orange) !important;
  background-image:none !important;
  color:var(--white) !important;
  padding:11px 24px !important;
  font-size:13px !important;
  font-weight:600 !important;
  letter-spacing:.6px !important;
  text-transform:uppercase !important;
  border:none !important;
  border-radius:5px !important;
  text-decoration:none !important;
  cursor:pointer !important;
  margin:0 !important;
  height:auto !important;
  max-width:none !important;
  line-height:1 !important;
  box-shadow:none !important;
  transition:background .15s !important;
  font-family:inherit !important;
}
.body_content .btp_valider:hover,
.body_content a.btp_valider:hover,
.body_content .btp_valider:focus,
.body_content a.btp_valider:focus,
a.btp_valider:hover{
  background:var(--orange-d) !important;
  background-color:var(--orange-d) !important;
  background-image:none !important;
  color:var(--white) !important;
}

/* Bouton final "Submit" */
.submit_form_btn,
input.submit_form_btn,
input[name="submit_form"]{
  display:inline-block !important;
  background:var(--orange) !important;
  color:var(--white) !important;
  padding:12px 28px !important;
  font-size:13px !important;
  font-weight:600 !important;
  letter-spacing:.6px !important;
  text-transform:uppercase !important;
  border:none !important;
  border-radius:5px !important;
  cursor:pointer !important;
  font-family:inherit !important;
  box-shadow:none !important;
}
.submit_form_btn:hover{background:var(--orange-d) !important}

/* Bouton "btp_redirect" (formulaire détaillé) */
.body_content .btp_redirect{
  display:inline-block !important;
  background:transparent !important;
  color:var(--muted) !important;
  padding:11px 18px !important;
  font-size:12px !important;
  font-weight:500 !important;
  text-transform:uppercase !important;
  letter-spacing:.4px !important;
  border:1px solid var(--border) !important;
  border-radius:5px !important;
  text-decoration:none !important;
  margin-right:10px !important;
}
.body_content .btp_redirect:hover{
  border-color:var(--orange) !important;
  color:var(--orange) !important;
}

/* ============================================================
   TEXTE LÉGAL ET MENTIONS
   ============================================================ */
.body_content .txt_descript_optin{
  font-size:11px !important;
  color:var(--light) !important;
  line-height:1.6 !important;
  margin-top:18px !important;
  padding:14px 0 0 !important;
  border-top:1px solid var(--border-soft) !important;
  background:transparent !important;
  font-style:normal !important;
}
.body_content .txt_confirmation{
  font-size:14px !important;
  color:var(--text) !important;
  line-height:1.6 !important;
  margin:0 0 12px !important;
}

/* ============================================================
   SECTIONS SPÉCIALES (récap, multi-credits, etc.)
   ============================================================ */

/* Récap (Q14) */
.body_content .ul_champ_question{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.body_content .li_champ_recap,
.body_content .ul_champ_question .li_champ_recap{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  padding:14px 0 !important;
  border-bottom:1px solid var(--border-soft) !important;
  background:transparent !important;
  background-color:transparent !important;
  margin:0 !important;
  list-style:none !important;
  font-size:14px !important;
}
/* Battre le pink des .back_Sel */
.body_content .back_Sel,
.body_content .li_champ_recap .back_Sel,
.body_content .ul_champ_question .li_champ_recap .back_Sel{
  background:transparent !important;
  background-color:transparent !important;
}
.body_content .label_recap,
.body_content .li_champ_recap .label_recap{
  font-weight:500 !important;
  color:var(--text) !important;
  font-size:14px !important;
  border:none !important;
  padding:0 !important;
  margin:0 !important;
  width:auto !important;
  flex:1 !important;
}
.body_content .li_champ_recap .reponse_txt{
  float:none !important;
  font-size:14px !important;
  line-height:1.5 !important;
  font-weight:500 !important;
  color:var(--text) !important;
}
.body_content .total_recap{
  margin-top:8px !important;
  padding:18px !important;
  background:var(--bg-soft) !important;
  background-color:var(--bg-soft) !important;
  border:1px solid var(--border-soft) !important;
  border-radius:5px !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
}
.body_content .total_recap .label_recap,
.body_content .total_recap .reponse_txt{
  color:var(--dark) !important;
  font-weight:700 !important;
  font-size:14px !important;
  text-transform:uppercase !important;
  letter-spacing:.4px !important;
}
.body_content .aide_app_recap{
  font-size:16px !important;
  font-weight:700 !important;
  color:var(--orange) !important;
  text-decoration:none !important;
  background:var(--white) !important;
  background-color:var(--white) !important;
  border:1px solid var(--border-soft) !important;
  border-radius:5px !important;
  padding:6px 14px !important;
  display:inline-block !important;
  min-width:80px !important;
  text-align:right !important;
}
/* Montants individuels (li_champ_recap value) — pas souligné, couleur sobre */
.body_content .li_champ_recap a,
.body_content .li_champ_recap span.couleur,
.body_content .li_champ_recap .grasCouleur,
.body_content .ul_champ_question a,
.body_content .ul_champ_question .label_recap a,
.body_content .ul_champ_question .reponse_txt a{
  text-decoration:none !important;
  color:var(--dark) !important;
  font-weight:600 !important;
  border-bottom:none !important;
  border:none !important;
  cursor:default !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}
.body_content .li_champ_recap a:hover,
.body_content .ul_champ_question a:hover{
  color:var(--orange) !important;
  text-decoration:none !important;
  background:transparent !important;
}

/* ============================================================
   Q13 (Crédits en cours) — overrides spécifiques par slide
   ============================================================ */
.step1_item13 .champ_reponse.add_credit,
.step1_item14 .champ_reponse.add_credit,
.step1_item15 .champ_reponse.add_credit,
.step1_item16 .champ_reponse.add_credit,
.step1_item17 .champ_reponse.add_credit,
.step1_item18 .champ_reponse.add_credit,
.step1_item19 .champ_reponse.add_credit,
.body_content .champ_reponse.add_credit{
  background:var(--bg-soft) !important;
  border:1px solid var(--border-soft) !important;
  border-radius:5px !important;
  padding:20px !important;
  margin:10px 0 !important;
  display:block !important;
  position:relative !important;
}
/* Le label du bloc crédit en colonne — force triple spécificité */
.step1_item13 .add_credit label.labelGrand_saide_sf_Sel,
.step1_item13 .add_credit > label,
.body_content .champ_reponse.add_credit label.labelGrand_saide_sf_Sel,
body .body_content .champ_reponse.add_credit .labelGrand_saide_sf_Sel{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:12px !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  background-color:transparent !important;
  border:none !important;
  cursor:default !important;
  width:100% !important;
  max-width:100% !important;
  box-shadow:none !important;
}
/* Type de crédit (select seul) — ligne sobre */
.step1_item13 .add_credit .sous_rubrique_cp,
.body_content .champ_reponse.add_credit .sous_rubrique_cp{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:6px !important;
  width:100% !important;
}
/* Chaque ligne sous_rubrique_coordonnees → label + input à droite */
.step1_item13 .add_credit .sous_rubrique_coordonnees,
.body_content .champ_reponse.add_credit .sous_rubrique_coordonnees{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  background-color:transparent !important;
  border:none !important;
  border-top:none !important;
  border-bottom:none !important;
  border-radius:0 !important;
  width:100% !important;
  flex-wrap:wrap !important;
}
/* Le label intérieur d'un bloc crédit = stack vertical des champs */
.body_content .champ_reponse.add_credit > label,
.body_content .champ_reponse.add_credit .labelGrand_saide_sf_Sel{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:14px !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:none !important;
  cursor:default !important;
}
/* Chaque ligne du bloc crédit (Type, Mensualité, Fin du prêt, Capital) */
.body_content .champ_reponse.add_credit .sous_rubrique_coordonnees,
.body_content .champ_reponse.add_credit .sous_rubrique_cp,
.body_content .champ_reponse.add_credit .sous_rubrique_cp2,
.body_content .sous_rubrique_coordonnees,
.body_content .sous_rubrique_cp,
.body_content .sous_rubrique_cp2{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:12px 14px !important;
  background:var(--white) !important;
  background-color:var(--white) !important;
  border:1px solid var(--border-soft) !important;
  border-top:1px solid var(--border-soft) !important;
  border-bottom:1px solid var(--border-soft) !important;
  border-radius:5px !important;
  margin:0 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  color:var(--text) !important;
  font-size:13px !important;
  font-weight:500 !important;
}
.body_content .champ_reponse.add_credit .reponse_txt_coordonnees,
.body_content .reponse_txt_coordonnees{
  text-transform:none !important;
  letter-spacing:0 !important;
  color:var(--text) !important;
  font-size:13px !important;
  font-weight:500 !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  background-color:transparent !important;
  border:none !important;
  display:inline-block !important;
  flex:1 !important;
  float:none !important;
}

/* Battre les background pink #f6e4e4 / #F6E4E3 du CSS original */
.body_content .label_coordonnees_Sel,
.body_content .label_coordonnees_Sel span,
.body_content .label_coordonnees_Sel p,
.body_content .labelSous_Rub,
.body_content label.labelSous_Rub,
.body_content .champ_reponse .sous_rubrique_cp label.labelSous_Rub,
.body_content .champ_reponse .sous_rubrique_cp .sous_rubrique_coordonnees label.labelSous_Rub{
  background:transparent !important;
  background-color:transparent !important;
  color:var(--text) !important;
  padding-left:0 !important;
  margin-top:0 !important;
  height:auto !important;
  border:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  width:100% !important;
  padding:0 !important;
}
.body_content .labelSous_Rub p,
.body_content .labelSous_Rub span{
  color:var(--text) !important;
  background:transparent !important;
  background-color:transparent !important;
}

/* Conteneur du paragraphe avec boutons (Ajouter un crédit + Valider) — pas de fond */
.body_content p.ajout_credit{
  background:transparent !important;
  border:none !important;
  padding:18px 0 0 !important;
  margin:18px 0 0 !important;
  border-top:1px dashed var(--border-soft) !important;
  display:flex !important;
  justify-content:flex-end !important;
  gap:10px !important;
  align-items:center !important;
  border-radius:0 !important;
}

/* Lien "Ajouter un credit" (classe ajout_credit clone_add_credit) */
body .body_content a.ajout_credit.clone_add_credit,
body .body_content a.clone_add_credit,
body a.ajout_credit.clone_add_credit{
  display:inline-block !important;
  background:var(--white) !important;
  background-color:var(--white) !important;
  background-image:none !important;
  border:1px dashed var(--border) !important;
  border-radius:5px !important;
  padding:10px 18px !important;
  text-align:center !important;
  color:var(--muted) !important;
  font-weight:500 !important;
  font-size:12px !important;
  text-transform:uppercase !important;
  letter-spacing:.4px !important;
  cursor:pointer !important;
  margin:0 !important;
  font-family:inherit !important;
  text-decoration:none !important;
  transition:border-color .15s,color .15s !important;
  width:auto !important;
  max-width:none !important;
  min-height:0 !important;
  line-height:1 !important;
  height:auto !important;
  box-shadow:none !important;
}
body .body_content a.ajout_credit.clone_add_credit:hover,
body .body_content a.clone_add_credit:hover,
body a.ajout_credit.clone_add_credit:hover{
  border-color:var(--orange) !important;
  color:var(--orange) !important;
  background:var(--white) !important;
  background-color:var(--white) !important;
}

/* "Supprimer" — repositionné en flex, sobre, pas absolute */
.body_content .rmv_me,
.body_content a.rmv_me{
  background:none !important;
  border:none !important;
  color:var(--muted) !important;
  font-size:12px !important;
  cursor:pointer !important;
  text-decoration:underline !important;
  font-family:inherit !important;
  padding:0 !important;
  margin:0 0 12px !important;
  display:inline-block !important;
  text-transform:none !important;
  position:static !important;
  left:auto !important;
  top:auto !important;
  transform:none !important;
  box-shadow:none !important;
  z-index:auto !important;
  text-align:right !important;
  width:auto !important;
  letter-spacing:0 !important;
  font-weight:500 !important;
}
.body_content .rmv_me.hide{display:none !important}
.body_content .rmv_me:hover{color:var(--orange) !important;background:none !important}
.body_content .sup_app_recap,
.body_content .rmv_me{
  background:none !important;
  border:none !important;
  color:var(--muted) !important;
  font-size:12px !important;
  cursor:pointer !important;
  text-decoration:underline !important;
  font-family:inherit !important;
  padding:0 !important;
}
.body_content .sup_app_recap:hover,
.body_content .rmv_me:hover{color:var(--orange) !important}

/* Co-emprunteur block */
.body_content .co_emprunteur,
.body_content .emp{
  margin:16px 0 !important;
  padding:0 !important;
  background:transparent !important;
}

/* Sous-rubriques */
.body_content .sous_rubrique_coordonnees,
.body_content .sous_rubrique_cp,
.body_content .sous_rubrique_cp2,
.body_content .labelSous_Rub{
  font-size:11px !important;
  font-weight:700 !important;
  color:var(--muted) !important;
  text-transform:uppercase !important;
  letter-spacing:1px !important;
  margin:20px 0 10px !important;
  padding-top:14px !important;
  border-top:1px solid var(--border-soft) !important;
  display:block !important;
  background:transparent !important;
}
.body_content .sous_rubrique_coordonnees:first-child,
.body_content .sous_rubrique_cp:first-child{
  margin-top:0 !important;
  padding-top:0 !important;
  border-top:none !important;
}

/* Coordonnées (Q17) — labels au-dessus */
.body_content .label_coordonnees_Sel,
.body_content label[for="nom"],
.body_content label[for="prenom"],
.body_content label[for="email"],
.body_content label[for="code_postal"],
.body_content label[for="ville"],
.body_content label[for="tel_portable"]{
  display:block !important;
  font-size:12px !important;
  font-weight:600 !important;
  color:var(--text) !important;
  margin-bottom:6px !important;
  text-transform:uppercase !important;
  letter-spacing:.4px !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
}
.body_content .reponse_txt_coordonnees{
  display:block !important;
  font-size:12px !important;
  font-weight:600 !important;
  color:var(--text) !important;
  margin-bottom:6px !important;
  text-transform:uppercase !important;
  letter-spacing:.4px !important;
}

/* ============================================================
   AIDE / TOOLTIPS
   ============================================================ */
.body_content .aide_Q{
  font-size:11px !important;
  color:var(--light) !important;
  margin-top:6px !important;
  font-style:normal !important;
  display:block !important;
}

/* ============================================================
   ERRORS
   ============================================================ */
.body_content .error,
.body_content label.error{
  color:var(--orange) !important;
  font-size:12px !important;
  margin-top:4px !important;
  font-weight:500 !important;
  background:transparent !important;
  border:none !important;
  padding:0 !important;
}
/* Caché par défaut, visible UNIQUEMENT si label.error contient du texte (jQuery validator l'affiche/cache via .show()/.hide()) */
.body_content label.error:empty{display:none !important}
.body_content input.error,
.body_content select.error{
  border-color:var(--orange) !important;
}

/* ============================================================
   CLASSES UTILITAIRES
   ============================================================ */
.body_content .cleaner{clear:both !important}
.body_content .hide{display:none !important}
.body_content .float_L{float:none !important}
.body_content .couleur,
.body_content .grasCouleur{color:var(--orange) !important}
.body_content .transparent{background:transparent !important}

/* ============================================================
   RESPONSIVE — Tablet (max 900)
   ============================================================ */
@media (max-width:900px){
  .container.credit_immo_form_steps{padding:8px 6px !important}
  .intContentFormEtapeToo .title_holder,
  .intContentFormEtapeToo .left.visu_emp.title_holder{padding:18px 16px 12px !important}
  .intContentFormEtapeToo .body_content{padding:16px 14px !important}
  .body_content .champ_reponse{margin:0 0 6px !important}
  .body_content .champ_reponse > label,
  .body_content .champ_reponse .labelGrand_f,
  .body_content .champ_reponse .labelGrand_aide_f,
  .body_content .champ_reponse .labelGrand_aide_f_Sel,
  .body_content .champ_reponse .labelGrand_f_Sel{
    padding:12px 14px !important;
  }
  .step_tab_level{padding:18px 16px 0 !important}
  .step_tab_level .titreBloc .titreicon{width:40px !important;height:40px !important}
  .step_tab_level::before{top:48px !important;left:calc(16px + 20px) !important;right:calc(16px + 20px) !important}
  .step_tab_level::after{top:47px !important;left:calc(16px + 20px) !important;width:calc((100% - 72px) * var(--ci-progress, 0)) !important}
  .img_building_houses{height:90px !important}
  .img_building_houses .img_item{height:90px !important}
}

/* ============================================================
   RESPONSIVE — Mobile (max 600)
   Stack vertical pour label/input, padding réduit
   ============================================================ */
@media (max-width:600px){
  .container.credit_immo_form_steps{padding:4px !important}
  .intContentFormEtapeToo .title_holder,
  .intContentFormEtapeToo .left.visu_emp.title_holder{padding:14px 12px 10px !important}
  .intContentFormEtapeToo .body_content{padding:12px 10px !important}
  .intContentFormEtapeToo .title_holder .titreBloc{font-size:17px !important}
  .body_content .champ_reponse{margin:0 0 5px !important}
  .body_content .champ_reponse > label,
  .body_content .champ_reponse .labelGrand_f,
  .body_content .champ_reponse .labelGrand_aide_f,
  .body_content .champ_reponse .labelGrand_aide_f_Sel,
  .body_content .champ_reponse .labelGrand_f_Sel{
    padding:11px 12px !important;
    gap:10px !important;
  }
  /* Champs montant : label en haut, input + € sur même ligne en dessous */
  .body_content .champ_reponse > label.labelGrand_sf,
  .body_content .champ_reponse > label.labelGrand_aide_sf,
  .body_content .champ_reponse > label.labelGrandN_aide_sf,
  .body_content .champ_reponse.transparent > label,
  .body_content .champ_reponse.transparent > label.labelGrandN_aide_sf,
  .body_content .champ_reponse.transparent > label.labelGrand_aide_sf,
  .body_content .champ_reponse.transparent > label.labelGrand_sf{
    display:flex !important;
    flex-flow:row wrap !important;
    align-items:center !important;
    gap:6px !important;
  }
  /* Le label texte prend toute la largeur (passe à la ligne) */
  .body_content .champ_reponse > label.labelGrand_sf > .reponse_txt,
  .body_content .champ_reponse > label.labelGrand_aide_sf > .reponse_txt,
  .body_content .champ_reponse > label.labelGrandN_aide_sf > .reponse_txt,
  .body_content .champ_reponse.transparent > label > .reponse_txt{
    flex:1 1 100% !important;
    width:100% !important;
  }
  /* L'input prend l'espace restant, le € reste juste à droite */
  .body_content .champ_reponse > label .textBox_montant,
  .body_content .champ_reponse > label input.textBox_montant{
    flex:1 1 auto !important;
    width:auto !important;
    min-width:0 !important;
  }
  .body_content .champ_reponse > label .txt_d_champ{
    flex:0 0 auto !important;
  }
  /* Mobile : aligner Frais de notaire (.transparent) avec les autres champs montants
     en remettant la zone droite à pleine largeur (au lieu de width:140px forcé) */
  .body_content .champ_reponse.transparent .reponse_txt_droite,
  .body_content .champ_reponse.transparent .labelPosDroite{
    width:100% !important;
    max-width:100% !important;
    justify-content:flex-start !important;
  }
  .body_content .labelPosDroite{
    justify-content:flex-start !important;
    width:100% !important;
  }
  .body_content .textBox_montant,
  .body_content input.textBox_montant{
    width:100% !important;
    max-width:100% !important;
    flex:1 1 auto !important;
  }
  /* Aussi pour .transparent qui a .reponse_txt_droite a la place de .textBox_montant */
  .body_content .champ_reponse.transparent .reponse_txt_droite,
  .body_content .champ_reponse.transparent .labelPosDroite{
    width:100% !important;
    max-width:100% !important;
    justify-content:flex-start !important;
  }
  .body_content .reponse_txt,
  .body_content .reponse_txt_droite,
  .body_content .reponse_txt_coordonnees{
    font-size:12px !important;
    text-transform:uppercase !important;
    letter-spacing:.3px !important;
    color:var(--muted) !important;
  }
  /* Field-row : 1 colonne sur mobile */
  .body_content .compound-row,
  .body_content .field-row{
    grid-template-columns:1fr !important;
  }
  /* Step level : reduce */
  .step_tab_level{padding:12px 10px 0 !important}
  .step_tab_level .titreBloc{padding:0 2px 14px !important; gap:3px !important}
  .step_tab_level .titreBloc .titreicon{width:34px !important;height:34px !important}
  .step_tab_level .titreBloc .titreicon img{width:18px !important;height:18px !important}
  .step_tab_level .titreBloc .titreEtape{font-size:11px !important}
  .step_tab_level .titreBloc .etape1Bc{font-size:9px !important}
  .step_tab_level::before{top:38px !important;left:calc(10px + 17px) !important;right:calc(10px + 17px) !important}
  .step_tab_level::after{top:37px !important;left:calc(10px + 17px) !important;width:calc((100% - 54px) * var(--ci-progress, 0)) !important}
  /* Bandeau images plus discret */
  .img_building_houses{height:60px !important}
  .img_building_houses .img_item{height:60px !important}
  /* Q-counter plus discret */
  .ci-q-counter{font-size:10px !important}
  /* Boutons un peu plus compacts */
  .body_content .btp_valider,
  .body_content a.btp_valider{padding:10px 18px !important;font-size:12px !important}
  .body_content .injected-prev{padding:6px 8px !important;font-size:12px !important}
  /* Q13 ajout_credit padding réduit */
  .body_content .champ_reponse.add_credit{padding:12px !important}
}
