@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700;800&display=swap');

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

:root{
  --orange:#EC7B35;
  --orange-d:#d46b28;
  --orange-l:#fff5ed;
  --navy:#1a2e4a;
  --navy-d:#0f1d33;
  --gray-1:#f8fafc;
  --gray-2:#f1f5f9;
  --gray-3:#e2e8f0;
  --gray-4:#cbd5e1;
  --gray-5:#94a3b8;
  --gray-6:#64748b;
  --red:#e11d48;
  --green:#16a34a;
}

html,body{
  font-family:'Plus Jakarta Sans','Inter',system-ui,-apple-system,sans-serif;
  font-size:15px;
  color:var(--navy);
  background:#fff;
  overflow:hidden !important;
  overflow-x:hidden !important;
  overflow-y:hidden !important;
  -webkit-font-smoothing:antialiased;
  margin:0 !important;
  padding:0 !important;
}
.steps_wrapper,.slick-list,.slick-track,.step_item_content,.intContentFormEtapeToo{
  overflow:hidden !important;
}
body p,body span{font-size:inherit}

header.ci-page-header{display:none !important}
section#logo{display:none !important}
/* Masquer la barre "CRÉDIT IMMOBILIER" (inline dans le template iframe_embed) */
body > div[style*="border-left:4px solid"]{display:none !important}

.container.credit_immo_form_steps{
  padding:0 !important;
  margin:0 !important;
  max-width:100% !important;
}

/* ─── WRAPPER : remplit toute la largeur de l'iframe ─── */
.main_form_section{
  max-width:100% !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:#fff !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:100% !important;
  transform:none !important;
  padding-left:0 !important;
  margin-top:0 !important;
}

/* ─── HERO BANDEAU IMAGES — sobre, sans texte par-dessus ─── */
.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;
  position:relative;
  overflow:hidden;
  background:var(--navy);
  border-bottom:1px solid var(--gray-3);
}
.img_building_houses::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(15,29,51,.15) 0%,rgba(15,29,51,.45) 100%);
  z-index:2;
  pointer-events:none;
}
.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;
  position:relative;
}
.img_building_houses .img_item img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  filter:saturate(.6) brightness(.85);
}

/* ─── STEPPER + PROGRESS INTÉGRÉS ─── */
.step_tab_level{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  background:#fff !important;
  padding:32px 32px 0 !important;
  position:relative !important;
  margin:0 !important;
  gap:0 !important;
}
/* Track gris (ligne pleine) */
.step_tab_level::before{
  content:'';
  position:absolute;
  top:61px;
  left:calc(32px + 28px);
  right:calc(32px + 28px);
  height:2px;
  background:var(--gray-2);
  border-radius:2px;
  z-index:0;
}
/* Progress orange qui se remplit selon --ci-progress (0 → 1) */
.step_tab_level::after{
  content:'';
  position:absolute;
  top:60px;
  left:calc(32px + 28px);
  width:calc((100% - 120px) * var(--ci-progress, 0));
  height:3px;
  background:linear-gradient(90deg,var(--orange) 0%,var(--orange-d) 100%);
  border-radius:2px;
  z-index:1;
  transition:width .55s cubic-bezier(.4,0,.2,1);
  box-shadow:0 1px 4px rgba(236,123,53,.35);
}

.step_tab_level .titreBloc{
  flex:1;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:6px !important;
  padding:0 4px 24px !important;
  cursor:default;
  position:relative;
  z-index:2;
  background:transparent !important;
  border:none !important;
  margin:0 !important;
  text-align:center !important;
}
/* Le texte "ÉTAPE 1" devient un badge sous l'icône */
.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(--gray-5) !important;
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:.62rem !important;
  font-weight:800 !important;
  letter-spacing:.14em !important;
  margin:6px 0 0 !important;
  padding:0 !important;
  text-transform:uppercase;
  box-shadow:none !important;
  position:static;
  transition:color .25s ease;
}
.step_tab_level .titreBloc.active .etape1Bc{
  color:var(--orange) !important;
}
/* L'icône devient un cercle plein */
.step_tab_level .titreBloc .titreicon{
  order:1 !important;
  position:static !important;
  width:56px !important;
  height:56px !important;
  border-radius:50% !important;
  background:#fff !important;
  border:2px solid var(--gray-3) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  transform:none !important;
  box-shadow:0 4px 12px rgba(15,29,51,.06);
  transition:background .25s ease,border-color .25s ease;
}
.step_tab_level .titreBloc .titreicon img{
  width:26px !important;
  height:26px !important;
  filter:grayscale(100%) opacity(.45);
  transition:filter .25s ease;
}
.step_tab_level .titreBloc.active .titreicon{
  background:linear-gradient(135deg,var(--orange) 0%,var(--orange-d) 100%) !important;
  border-color:var(--orange) !important;
  box-shadow:0 6px 18px rgba(236,123,53,.32);
}
.step_tab_level .titreBloc.active .titreicon img{
  filter:brightness(0) invert(1) opacity(1);
}
.step_tab_level .titreBloc .titreEtape{
  order:3 !important;
  font-size:.82rem !important;
  font-weight:700 !important;
  color:var(--gray-5) !important;
  letter-spacing:0;
  margin:0 !important;
  transition:color .25s;
}
.step_tab_level .titreBloc.active .titreEtape{color:var(--navy) !important}
.step_tab_level br.spacer{display:none}
.step_tab_level svg#container{display:none !important}

/* ─── BOUTONS PRÉCÉDENT/SUIVANT NAV : MASQUÉS (redondants avec Valider) ─── */
.btn_control_steps_wrapper{
  display:none !important;
  height:0 !important;
  overflow:hidden;
}
.btn_control_steps{
  position:static !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:auto !important;
  max-width:100% !important;
  padding:18px 32px !important;
  margin:0 !important;
  height:auto !important;
}

/* ─── PROGRESS SVG (mince ligne au-dessus du contenu) ─── */
svg#container{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:4px !important;
  overflow:hidden;
  background:var(--gray-2);
  border-radius:0;
}
svg#container rect:first-child{fill:var(--gray-2) !important}
svg#container rect:not(:first-child){fill:var(--orange) !important}
svg#container text{
  font-size:0 !important;
  fill:transparent !important;
}

/* ─── BOUTONS NAV PREV/NEXT ─── */
.btn_step{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px;
  padding:10px 20px !important;
  border-radius:12px !important;
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:.78rem !important;
  font-weight:700 !important;
  text-decoration:none !important;
  transition:all .25s ease !important;
  background:var(--gray-1) !important;
  color:var(--gray-6) !important;
  border:1.5px solid var(--gray-3) !important;
  box-shadow:none !important;
  cursor:pointer;
  letter-spacing:.02em;
}
.btn_step span{
  font-size:.6rem !important;
  color:var(--gray-5);
  text-transform:uppercase;
  letter-spacing:.1em;
  display:inline-block;
  margin:0 !important;
  font-weight:700;
}
.btn_step.prev_step::before{
  content:'\2190';
  font-size:1rem;
  font-weight:800;
}
.btn_step.next_step.active{
  background:linear-gradient(135deg,var(--orange) 0%,var(--orange-d) 100%) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 8px 24px -6px rgba(236,123,53,.5) !important;
  padding:11px 22px !important;
}
.btn_step.next_step.active span{color:rgba(255,255,255,.85) !important}
.btn_step.next_step.active::after{
  content:'\2192';
  font-size:1rem;
  font-weight:800;
}
.btn_step:hover:not(.slick-disabled){border-color:var(--gray-4) !important}
.btn_step.slick-disabled{
  background:var(--gray-2) !important;
  color:var(--gray-4) !important;
  border-color:var(--gray-2) !important;
  cursor:not-allowed;
  opacity:.6;
}
.btn_step.slick-disabled span{color:var(--gray-4) !important}

/* ─── CONTENU ÉTAPES ─── */
.steps_wrapper{
  max-width:100% !important;
  width:100% !important;
  margin:0 !important;
  background:#fff !important;
  border-radius:0 !important;
}
.step_item_content{
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  padding:0 !important;
}
.intContentFormEtapeToo{padding:0 !important;border-bottom:none !important}

/* ─── HEADER DE CHAQUE ÉTAPE (titre question) ─── */
.intContentFormEtapeToo .title_holder,
.intContentFormEtapeToo > .left.visu_emp.title_holder{
  background:#fff !important;
  padding:18px 32px 26px !important;
  margin:0 !important;
  width:100% !important;
  position:static !important;
  float:none !important;
  display:block !important;
  border-bottom:1px solid var(--gray-2);
  height:auto !important;
}
/* L'élément .right de l'ancien layout 2 colonnes : neutralisé */
.intContentFormEtapeToo > .right{
  width:auto !important;
  float:none !important;
  display:block !important;
}
/* Compteur "Question X / Y" injecté par JS au-dessus du titre */
.ci-q-counter{
  display:block;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:.7rem;
  font-weight:700;
  color:var(--orange);
  letter-spacing:.1em;
  text-transform:uppercase;
  margin:0 0 8px 0;
  padding:0;
}
.ci-q-counter span{color:var(--gray-5);font-weight:600;margin-left:6px}
.intContentFormEtapeToo > .left.title_holder .titreBloc,
.intContentFormEtapeToo > .right.title_holder .titreBloc{
  text-align:left !important;
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:1.45rem !important;
  color:var(--navy) !important;
  font-weight:800 !important;
  padding:0 0 0 18px !important;
  border-bottom:none !important;
  border-left:4px solid var(--orange) !important;
  margin:0 !important;
  line-height:1.25 !important;
  letter-spacing:-.01em;
}
.intContentFormEtapeToo > .left.title_holder .titreBloc span,
.intContentFormEtapeToo > .right.title_holder .titreBloc span{
  color:var(--gray-6) !important;
  font-size:.82rem !important;
  font-weight:500 !important;
  display:block;
  margin-top:6px !important;
}
.intContentFormEtapeToo > .left.title_holder .titreBloc span strong{
  font-size:.7rem !important;
  color:var(--orange) !important;
  border:1.5px solid var(--orange) !important;
  background:var(--orange-l) !important;
  padding:3px 10px !important;
  border-radius:30px !important;
  margin-top:8px !important;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-weight:700 !important;
  display:inline-block;
}

/* ─── BODY ÉTAPE ─── */
.body_content{
  padding:24px 32px 28px !important;
  border-top:none !important;
  border:none !important;
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
  -webkit-box-shadow:none !important;
  width:100% !important;
  margin:0 !important;
  float:none !important;
}

/* ─── RADIO CARDS ─── */
.champ_reponse{margin-bottom:10px}
.labelGrand_aide_f_Sel,
.labelGrand_aide_f,
.labelGrand_f_Sel,
.labelGrand_f{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  padding:0 48px 0 18px !important;
  min-height:64px !important;
  border:1.5px solid var(--gray-3) !important;
  border-radius:12px !important;
  background:#fff !important;
  cursor:pointer !important;
  transition:border-color .2s ease,background .2s ease !important;
  width:100% !important;
  box-shadow:none !important;
  position:relative;
}
.labelGrand_aide_f_Sel > .reponse_txt_champ,
.labelGrand_aide_f > .reponse_txt_champ,
.labelGrand_f_Sel > .reponse_txt_champ,
.labelGrand_f > .reponse_txt_champ,
.labelGrand_aide_f_Sel > .sous_reponse_txt_champ,
.labelGrand_aide_f > .sous_reponse_txt_champ,
.labelGrand_f_Sel > .sous_reponse_txt_champ,
.labelGrand_f > .sous_reponse_txt_champ{
  flex:1 1 auto !important;
  padding:14px 0 !important;
}
/* Chevron SVG propre (caché par défaut, visible au hover/select) */
.labelGrand_aide_f_Sel::after,
.labelGrand_aide_f::after,
.labelGrand_f_Sel::after,
.labelGrand_f::after{
  content:'';
  position:absolute;
  right:20px;
  top:50%;
  width:8px;
  height:14px;
  transform:translateY(-50%);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='14' viewBox='0 0 8 14' fill='none'%3E%3Cpath d='M1 1l6 6-6 6' stroke='%23cbd5e1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  opacity:.6;
  transition:opacity .2s ease,background-image .2s ease;
  pointer-events:none;
}
.labelGrand_aide_f_Sel:hover,
.labelGrand_aide_f:hover,
.labelGrand_f_Sel:hover,
.labelGrand_f:hover{
  border-color:var(--orange) !important;
  background:var(--orange-l) !important;
}
.labelGrand_aide_f_Sel:hover::after,
.labelGrand_aide_f:hover::after,
.labelGrand_f_Sel:hover::after,
.labelGrand_f:hover::after{
  opacity:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='14' viewBox='0 0 8 14' fill='none'%3E%3Cpath d='M1 1l6 6-6 6' stroke='%23EC7B35' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.labelGrand_aide_f_Sel input[type=radio],
.labelGrand_aide_f input[type=radio],
.labelGrand_f_Sel input[type=radio],
.labelGrand_f input[type=radio]{
  appearance:none;
  -webkit-appearance:none;
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  border:2px solid var(--gray-4) !important;
  border-radius:50% !important;
  background:#fff !important;
  flex-shrink:0 !important;
  cursor:pointer !important;
  transition:all .2s !important;
  position:relative !important;
  margin:0 !important;
}
.labelGrand_aide_f_Sel input[type=radio]:checked,
.labelGrand_aide_f input[type=radio]:checked,
.labelGrand_f_Sel input[type=radio]:checked,
.labelGrand_f input[type=radio]:checked{
  border-color:var(--orange) !important;
  background:var(--orange) !important;
  box-shadow:inset 0 0 0 4px #fff,0 0 0 4px rgba(236,123,53,.18) !important;
}
.labelGrand_aide_f_Sel:has(input:checked),
.labelGrand_aide_f:has(input:checked),
.labelGrand_f_Sel:has(input:checked),
.labelGrand_f:has(input:checked){
  border-color:var(--orange) !important;
  background:linear-gradient(135deg,var(--orange-l) 0%,#fff 80%) !important;
  box-shadow:0 6px 18px -8px rgba(236,123,53,.25),0 0 0 1px var(--orange) inset !important;
}
.labelGrand_aide_f_Sel:has(input:checked)::after,
.labelGrand_aide_f:has(input:checked)::after,
.labelGrand_f_Sel:has(input:checked)::after,
.labelGrand_f:has(input:checked)::after{
  opacity:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='14' viewBox='0 0 8 14' fill='none'%3E%3Cpath d='M1 1l6 6-6 6' stroke='%23EC7B35' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.reponse_txt_champ,
.sous_reponse_txt_champ{
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:.95rem !important;
  font-weight:600 !important;
  color:var(--navy) !important;
  line-height:1.4 !important;
}

/* ─── LABELS INPUT/SELECT — card row : label gauche, input+€ droite ─── */
.labelGrand_aide_sf_Sel,
.labelGrand_saide_sf_Sel,
.labelGrand_aide_sf,
.labelGrand_sf_Sel,
.labelGrand_sf,
.labelGrandN_aide_sf{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  padding:14px 18px !important;
  background:#fff !important;
  border:1.5px solid var(--gray-3) !important;
  border-radius:12px !important;
  width:100% !important;
  box-shadow:none !important;
  cursor:default !important;
  margin:0 0 10px !important;
  transition:border-color .2s,box-shadow .2s !important;
}
.labelGrand_aide_sf_Sel:focus-within,
.labelGrand_saide_sf_Sel:focus-within,
.labelGrand_aide_sf:focus-within,
.labelGrand_sf_Sel:focus-within,
.labelGrand_sf:focus-within,
.labelGrandN_aide_sf:focus-within{
  border-color:var(--orange) !important;
  box-shadow:0 0 0 3px var(--orange-l) !important;
}
.labelGrand_aide_sf_Sel > .reponse_txt,
.labelGrand_saide_sf_Sel > .reponse_txt,
.labelGrand_aide_sf > .reponse_txt,
.labelGrand_sf_Sel > .reponse_txt,
.labelGrand_sf > .reponse_txt,
.labelGrandN_aide_sf > .reponse_txt{
  flex:1 1 auto !important;
  margin:0 !important;
  padding:0 !important;
}
/* Tous les labels uniformisés — même style que les radio cards (.reponse_txt_champ) */
.reponse_txt,
.reponse_txt_coordonnees,
.reponse_txt span,
.reponse_txt_coordonnees span,
span.reponse_txt,
span.reponse_txt_coordonnees{
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:.95rem !important;
  font-weight:600 !important;
  color:var(--navy) !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  float:none !important;
  text-align:left !important;
  background:transparent !important;
  line-height:1.4 !important;
}
.reponse_txt,.reponse_txt_coordonnees{
  display:block !important;
  margin-bottom:0 !important;
  padding:0 !important;
}
.reponse_txt .grasCouleur,
.reponse_txt_coordonnees .grasCouleur{
  color:var(--orange) !important;
  font-size:.95rem !important;
  font-weight:600 !important;
  margin-left:2px;
  text-transform:none !important;
}

/* ─── INPUTS — sans bordure, dans la card row ─── */
.textBox2,.textBox_montant{
  display:inline-block !important;
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  padding:0 !important;
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:1.05rem !important;
  font-weight:700 !important;
  color:var(--navy) !important;
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  outline:none !important;
  transition:none !important;
  margin:0 !important;
  -webkit-appearance:none !important;
  appearance:none !important;
  text-align:right !important;
  box-shadow:none !important;
}
.textBox2::placeholder,.textBox_montant::placeholder{
  color:var(--gray-4);
  font-weight:500;
}
.textBox2:focus,.textBox_montant:focus{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  outline:none !important;
}
.textBox_montant{
  font-variant-numeric:tabular-nums !important;
  letter-spacing:0 !important;
  width:auto !important;
  min-width:50px !important;
  max-width:140px !important;
  text-align:right !important;
  padding:0 !important;
}
/* Wrapper input monétaire : input + € côte à côte à droite */
.labelPosDroite{
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  margin:0 !important;
}
.labelPosDroite > .txt_d_champ{
  position:static !important;
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:1rem !important;
  font-weight:700 !important;
  color:var(--gray-5) !important;
  margin:0 !important;
  background:transparent !important;
}
/* Frais de notaire (€ en raw text) : reponse_txt_droite avec input + € inline */
#frais_notaire_txt,
.reponse_txt_droite{
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  position:relative !important;
  font-size:0 !important;
}
#frais_notaire_txt .textBox_montant{
  font-size:1.05rem !important;
  width:auto !important;
  min-width:50px !important;
  max-width:140px !important;
}
#frais_notaire_txt::after{
  content:'\20AC';
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1rem;
  font-weight:700;
  color:var(--gray-5);
  pointer-events:none;
}
.textBox_montant{font-variant-numeric:tabular-nums}
.txt_d_champ{
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:.85rem !important;
  font-weight:700 !important;
  color:var(--gray-6) !important;
  margin-left:8px;
}

/* ─── SELECTS (tous les selects, .textBox ou natif) ─── */
.textBox,
.body_content select,
.steps_wrapper select{
  display:inline-block !important;
  padding:11px 40px 11px 14px !important;
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:.92rem !important;
  font-weight:600 !important;
  color:var(--navy) !important;
  background-color:#fff !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23EC7B35' stroke-width='2.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 14px center !important;
  border:1.5px solid var(--gray-3) !important;
  border-radius:10px !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  cursor:pointer !important;
  outline:none !important;
  transition:border-color .2s,box-shadow .2s !important;
  min-width:160px;
  height:auto !important;
  line-height:1.4 !important;
}
.textBox:focus,
.body_content select:focus,
.steps_wrapper select:focus{
  background-color:#fff !important;
  border-color:var(--orange) !important;
  box-shadow:0 0 0 3px var(--orange-l) !important;
}
/* Petits selects (date, durée, mois) */
.credit_mois,.credit_annee{
  padding:10px 14px !important;
  background:var(--gray-1) !important;
  border:1.5px solid transparent !important;
  border-radius:10px !important;
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:.9rem !important;
  font-weight:600 !important;
  color:var(--navy) !important;
  outline:none !important;
  transition:all .2s !important;
  text-align:center !important;
}
.credit_mois{max-width:60px}
.credit_annee{max-width:80px}
.credit_mois:focus,.credit_annee:focus{
  border-color:var(--orange) !important;
  background:#fff !important;
  box-shadow:0 0 0 4px var(--orange-l) !important;
}

/* ─── ERREURS — texte rouge gras, simple, sans encadré ─── */
label[class="error"],
label[id$="-error"]:not([class*="label"]),
label.error:not([class*="label"]){
  display:block;
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:.88rem !important;
  font-weight:700 !important;
  color:var(--red) !important;
  margin:0 0 14px 0 !important;
  padding:0 !important;
  background:transparent !important;
  background-color:transparent !important;
  border:none !important;
  border-radius:0 !important;
  animation:errorIn .2s cubic-bezier(.4,0,.2,1);
  width:auto !important;
  max-width:100% !important;
  text-align:left !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  cursor:default !important;
  box-shadow:none !important;
  position:static !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  z-index:5;
  line-height:1.4 !important;
  float:none !important;
}
/* Cache un label.error vide (jQuery Validate vide le contenu après résolution) */
label[class="error"]:empty,
label[id$="-error"]:empty{display:none !important}
/* Pas d'icône "!" — juste le texte */
label[class="error"]::before,
label[id$="-error"]::before,
label.error::before{display:none !important;content:none !important}
@keyframes errorIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
/* PAS de style erreur sur les inputs (validation se voit via le label.error) */
.textBox2.error,.textBox_montant.error,.textBox.error,
[class*="label"].error{
  border-color:inherit !important;
  background:inherit !important;
  box-shadow:none !important;
  color:inherit !important;
}
/* Annule complètement l'erreur héritée par les .labelXxx */
label.labelSous_Rub.error,
label[class*="labelGrand"].error,
label[class*="labelGrand"][class*="error"]{
  background:transparent !important;
  border:none !important;
  padding:0 !important;
  animation:none !important;
}
label.labelSous_Rub.error::before,
label[class*="labelGrand"].error::before{display:none !important}

/* ─── ÉTAPES "PUR CHOIX RADIO" : pas de bouton Valider (clic = avance auto) ─── */
.step_item_content.step1_item1 .btp_question,
.step_item_content.step1_item2 .btp_question,
.step_item_content.step1_item3 .btp_question,
.step_item_content.step1_item4 .btp_question,
.step_item_content.step1_item6 .btp_question,
.step_item_content.step1_item8 .btp_question{
  display:none !important;
}

/* ─── BOUTON VALIDER ─── */
.btp_valider{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px;
  padding:14px 36px !important;
  background:linear-gradient(135deg,var(--orange) 0%,var(--orange-d) 100%) !important;
  color:#fff !important;
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:.92rem !important;
  font-weight:700 !important;
  border-radius:12px !important;
  text-decoration:none !important;
  border:none !important;
  cursor:pointer !important;
  transition:all .25s ease !important;
  box-shadow:0 10px 28px -8px rgba(236,123,53,.55),0 4px 10px -4px rgba(236,123,53,.3) !important;
  letter-spacing:.02em;
  text-transform:uppercase;
  font-size:.78rem !important;
  position:relative;
  overflow:hidden;
}
.btp_valider::after{
  content:'\2192';
  font-size:1rem;
  font-weight:800;
  margin-left:4px;
  transition:transform .25s ease;
}
.btp_valider:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 12px 28px -8px rgba(236,123,53,.55),0 4px 10px -4px rgba(236,123,53,.35) !important;
}
.btp_valider:hover::after{transform:translateX(3px)}
.btp_valider.terminer{
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-d) 100%) !important;
  box-shadow:0 10px 28px -8px rgba(15,29,51,.55) !important;
}
.btp_valider.terminer:hover{
  box-shadow:0 12px 28px -8px rgba(15,29,51,.6) !important;
}
.btp_redirect{
  display:inline-flex !important;
  align-items:center !important;
  padding:11px 24px !important;
  background:transparent !important;
  border:1.5px solid var(--orange) !important;
  color:var(--orange) !important;
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:.78rem !important;
  font-weight:700 !important;
  border-radius:12px !important;
  text-decoration:none !important;
  transition:all .2s !important;
  margin-left:10px;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.btp_redirect:hover{background:var(--orange) !important;color:#fff !important}

/* ─── PARAGRAPHE BOUTON ─── */
.btp_question,.ajout_credit{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  margin-top:24px !important;
  padding-top:20px !important;
  border-top:1px dashed var(--gray-3) !important;
  gap:12px;
}

/* ─── TEXTES LÉGAUX / OPTIN ─── */
.txt_descript_optin{
  font-family:'Inter',sans-serif !important;
  font-size:.74rem !important;
  color:var(--gray-6) !important;
  line-height:1.65 !important;
  margin-top:18px !important;
  padding:14px 0 0 !important;
  background:transparent !important;
  border:none !important;
  border-top:1px solid var(--gray-3) !important;
  border-radius:0 !important;
}
/* Messages de succès / confirmation : texte vert simple, sans décoration */
.txt_confirmation,
.alert-success,
.alert.alert-success,
#success_form,
.success-message,
.form-success,
.merci-message{
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:.95rem !important;
  color:var(--green) !important;
  line-height:1.7 !important;
  padding:0 !important;
  background:transparent !important;
  background-color:transparent !important;
  border:none !important;
  border-radius:0 !important;
  font-weight:500 !important;
  margin:0 !important;
  box-shadow:none !important;
}
.aide_Q{
  font-family:'Inter',sans-serif !important;
  font-size:.78rem !important;
  color:var(--gray-6) !important;
  background:#eff6ff !important;
  border-left:3px solid #3b82f6 !important;
  border-radius:8px !important;
  padding:12px 16px !important;
  margin-top:12px !important;
  line-height:1.6 !important;
  position:relative;
}
.aide_Q::before{
  content:'i';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  background:#3b82f6;
  color:#fff;
  border-radius:50%;
  font-size:.7rem;
  font-weight:800;
  font-style:italic;
  margin-right:8px;
  vertical-align:middle;
}

/* ─── RÉCAP CHIFFRAGE ─── */
.ul_champ_question{margin:0 !important;padding:0 !important;display:flex;flex-direction:column;gap:6px}
.li_champ_recap{margin:0 !important}
.label_recap{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  padding:14px 18px !important;
  border-radius:10px !important;
  background:var(--gray-1) !important;
  border:1px solid var(--gray-3);
}
.label_recap.back_Sel{
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-d) 100%) !important;
  border-color:transparent;
  box-shadow:0 6px 18px -4px rgba(15,29,51,.25);
}
.label_recap.back_Sel .reponse_txt,
.label_recap.back_Sel .reponse_txt_droite{
  color:#fff !important;
  text-transform:none !important;
  letter-spacing:normal !important;
  font-size:.92rem !important;
  font-weight:700 !important;
}
.reponse_txt_droite{
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-weight:700 !important;
  font-size:.92rem !important;
  color:var(--navy) !important;
  font-variant-numeric:tabular-nums;
}
.grasCouleur.total_recap{color:var(--orange) !important;font-size:1.05rem !important}

/* ─── CRÉDITS ─── */
.add_credit{
  padding:18px !important;
  background:var(--gray-1) !important;
  border:1.5px dashed var(--gray-3) !important;
  border-radius:14px !important;
  margin-bottom:14px !important;
  position:relative;
}
.ajout_credit a.clone_add_credit,
.ajout_credit a:not(.btp_valider){
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:.78rem !important;
  font-weight:700 !important;
  color:var(--orange) !important;
  text-decoration:none !important;
  padding:10px 18px !important;
  background:var(--orange-l) !important;
  border:1.5px solid var(--orange) !important;
  border-radius:12px !important;
  transition:all .2s !important;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.ajout_credit a.clone_add_credit::before{content:'+ '}
.ajout_credit a.clone_add_credit:hover,
.ajout_credit a:not(.btp_valider):hover{background:var(--orange) !important;color:#fff !important}
.rmv_me{
  font-size:.72rem !important;
  font-weight:700 !important;
  color:var(--red) !important;
  text-decoration:none !important;
  padding:5px 12px !important;
  background:#fef2f2 !important;
  border:1px solid #fecaca !important;
  border-radius:20px !important;
  display:inline-flex !important;
  align-items:center !important;
  float:right !important;
  transition:all .2s !important;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.rmv_me::before{content:'\2715\00a0';font-weight:800}
.rmv_me:hover{background:var(--red) !important;color:#fff !important;border-color:var(--red) !important}
.rmv_me.hide{display:none !important}
.sous_rubrique_cp{margin-top:16px !important;padding-top:16px !important;border-top:1px dashed var(--gray-3) !important}
.sous_rubrique_cp2{
  background:var(--gray-1) !important;
  padding:18px !important;
  border-radius:12px !important;
  margin-bottom:14px !important;
  border:1px solid var(--gray-3);
}
.sous_rubrique_coordonnees{display:flex !important;flex-direction:column !important;gap:14px !important}
.label_coordonnees_Sel{
  padding:0 0 12px !important;
  margin-bottom:8px !important;
  border-bottom:1px solid var(--gray-3);
}
.label_coordonnees_Sel .reponse_txt{
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:.95rem !important;
  color:var(--navy) !important;
  font-weight:800 !important;
  margin-bottom:0 !important;
  text-transform:none !important;
  letter-spacing:-.005em !important;
}

/* ─── LAYOUT INTERNE LABELS (input + symbole + select inline) ─── */
.labelPosDroite,
.type_credit,
.remboursement_pret,
.credit_fin_pret,
.credit_crd{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  float:none !important;
  width:100% !important;
  margin-top:0 !important;
}
.labelPosDroite .textBox,
.type_credit .textBox{
  flex:1 1 200px !important;
  min-width:0 !important;
  max-width:100% !important;
}
/* Inputs DANS un labelPosDroite simple (sans select) : pleine largeur */
.labelPosDroite:not(:has(select)) > .textBox_montant,
.labelPosDroite:not(:has(select)) > .textBox2{
  width:100% !important;
  flex:1 1 100% !important;
  min-width:0 !important;
  margin-top:0 !important;
}
/* Inputs DANS un labelPosDroite COMPLEXE (avec select) : largeur naturelle */
.labelPosDroite:has(select) > .textBox_montant,
.labelPosDroite:has(select) > .textBox2{
  flex:0 1 160px !important;
  min-width:100px !important;
  width:auto !important;
  margin-top:0 !important;
  height:48px !important;
  padding-right:18px !important;
  text-align:left !important;
}

/* labelGrand_xxx : transformer en flex column quand contient label + input */

/* sous-rubrique (pour crédits en cours) : empilement vertical */
.body_content .champ_reponse .sous_rubrique_cp,
.sous_rubrique_cp{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  margin-top:14px !important;
  padding-top:14px !important;
  padding-bottom:0 !important;
  margin-bottom:0 !important;
  border-top:1px dashed var(--gray-3) !important;
  border-bottom:none !important;
}
.body_content .champ_reponse .sous_rubrique_cp label.labelSous_Rub,
.sous_rubrique_cp .labelSous_Rub,
.labelSous_Rub{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  padding:12px 14px !important;
  background:#fff !important;
  background-color:#fff !important;
  border:1px solid var(--gray-3) !important;
  border-radius:10px !important;
  margin:0 !important;
  height:auto !important;
  box-sizing:border-box !important;
  width:100% !important;
}
.body_content .champ_reponse .sous_rubrique_cp label.labelSous_Rub p,
.body_content .champ_reponse .sous_rubrique_cp label.labelSous_Rub span{
  color:inherit !important;
}
.labelSous_Rub > .reponse_txt_coordonnees{
  display:block !important;
  margin-bottom:0 !important;
  background:transparent !important;
  border:none !important;
  padding:0 !important;
  font-size:.7rem !important;
  font-weight:800 !important;
  color:var(--gray-6) !important;
  text-transform:uppercase !important;
  letter-spacing:.1em !important;
}

/* ─── ÉTAPE 22 : Coordonnées — un seul bloc blanc avec séparateurs internes ─── */
.body_content .champ_reponse .sous_rubrique_cp.sous_rubrique_cp2,
.sous_rubrique_cp.sous_rubrique_cp2{
  background:#fff !important;
  border:1.5px solid var(--gray-3) !important;
  border-radius:12px !important;
  padding:0 !important;
  margin:0 0 14px !important;
  overflow:hidden !important;
  display:block !important;
}
/* "Emprunteur :" comme titre intégré en haut du bloc */
.label_coordonnees_Sel{
  display:block !important;
  padding:12px 18px !important;
  background:var(--gray-1) !important;
  border-bottom:1px solid var(--gray-3) !important;
  margin:0 !important;
  border-radius:0 !important;
}
.label_coordonnees_Sel .reponse_txt{
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:.72rem !important;
  font-weight:800 !important;
  color:var(--gray-6) !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1 !important;
  display:block !important;
}
/* Container des champs : sans bordure, juste séparateurs internes */
.sous_rubrique_coordonnees{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  background:transparent !important;
  padding:0 !important;
}
.body_content .champ_reponse .sous_rubrique_cp .sous_rubrique_coordonnees label.labelSous_Rub,
.sous_rubrique_coordonnees .labelSous_Rub{
  display:grid !important;
  grid-template-columns:140px 1fr !important;
  align-items:center !important;
  gap:14px !important;
  padding:12px 18px !important;
  background:transparent !important;
  background-color:transparent !important;
  border:none !important;
  border-bottom:1px solid var(--gray-2) !important;
  border-radius:0 !important;
  transition:background .2s !important;
  height:auto !important;
  margin:0 !important;
}
.sous_rubrique_coordonnees .labelSous_Rub:last-child{
  border-bottom:none !important;
}
.sous_rubrique_coordonnees .labelSous_Rub:focus-within{
  background:var(--orange-l) !important;
  border-color:var(--gray-2) !important;
  box-shadow:none !important;
}
.sous_rubrique_coordonnees .reponse_txt_coordonnees{
  margin:0 !important;
  font-size:.72rem !important;
  font-weight:700 !important;
  color:var(--gray-6) !important;
  text-transform:uppercase !important;
  letter-spacing:.05em !important;
}
.sous_rubrique_coordonnees .labelPosDroite{
  margin:0 !important;
  width:100% !important;
}
.sous_rubrique_coordonnees .textBox2{
  background:transparent !important;
  border:none !important;
  padding:6px 0 !important;
  border-radius:0 !important;
  margin:0 !important;
  font-size:.92rem !important;
  font-weight:600 !important;
}
.sous_rubrique_coordonnees .textBox2:focus{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
/* Selects dans coordonnees : on garde la flèche dropdown */
.sous_rubrique_coordonnees select.textBox{
  background-color:transparent !important;
  border:none !important;
  padding:6px 28px 6px 0 !important;
  border-radius:0 !important;
  margin:0 !important;
  background-position:right 4px center !important;
  min-width:0 !important;
  width:100% !important;
}
.sous_rubrique_coordonnees select.textBox:focus{
  background-color:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

.couleur{color:inherit !important}

/* Spans positionnement legacy */
.spec_ret1_Q7,.spec_ret1_Q8,.spec_ret1_Q12,.spec_ret1_Q14,.spec_ret1_Q15,.spec_ret1_Q17,.spec_ret1_Q23{
  display:block !important;float:none !important;width:auto !important;flex:none !important;
}
.spec_ret2_Q7,.spec_ret2_Q8,.spec_ret2_Q12,.spec_ret2_Q14,.spec_ret2_Q15,.spec_ret2_Q17,.spec_ret2_Q23{
  display:flex !important;float:none !important;width:auto !important;align-items:center !important;flex-wrap:wrap !important;gap:8px !important;
}
/* Etape 8 (durée) - centrer le select avec "an(s)" */
#duree_souhaite{margin-bottom:8px !important}
#duree_pret{display:flex !important;align-items:center !important;gap:10px !important}
.cleaner{display:none !important}
.cover-edition-special{max-width:100% !important;border-radius:14px !important;box-shadow:0 18px 40px -12px rgba(15,29,51,.25) !important}

/* Pas de footer trust (suprimé) */
.main_form_section::after{display:none !important}

/* ─── RESPONSIVE ─── */
@media(max-width:720px){
  .main_form_section{margin:0 !important;border-radius:0 !important}
  .img_building_houses{height:110px}
  .img_building_houses .img_item{height:110px !important}
  /* Stepper */
  .step_tab_level{padding:22px 18px 0 !important}
  .step_tab_level::before{top:46px;left:calc(18px + 22px);right:calc(18px + 22px);height:2px}
  .step_tab_level::after{top:45px;left:calc(18px + 22px);height:3px}
  .step_tab_level .titreBloc{padding:0 4px 18px !important;gap:5px !important}
  .step_tab_level .titreBloc .titreicon{width:46px !important;height:46px !important}
  .step_tab_level .titreBloc .titreicon img{width:22px !important;height:22px !important}
  .step_tab_level .titreBloc .etape1Bc{font-size:.55rem !important;letter-spacing:.12em !important;margin:4px 0 0 !important}
  .step_tab_level .titreBloc .titreEtape{font-size:.7rem !important;line-height:1.2 !important}
  .btn_control_steps{padding:14px 16px !important}
  /* Title holder */
  .intContentFormEtapeToo .title_holder{padding:18px 18px 22px !important}
  .intContentFormEtapeToo > .left.title_holder .titreBloc,
  .intContentFormEtapeToo > .right.title_holder .titreBloc{font-size:1.15rem !important;padding-left:12px !important}
  .ci-q-counter{font-size:.65rem !important}
  /* Body content */
  .body_content{padding:18px !important}
  /* Radio cards mobile : hauteur uniforme + padding réduit + chevron rapproché */
  .labelGrand_aide_f_Sel,.labelGrand_aide_f,.labelGrand_f_Sel,.labelGrand_f{
    min-height:60px !important;
    padding:0 36px 0 14px !important;
    gap:12px !important;
    border-radius:10px !important;
  }
  .labelGrand_aide_f_Sel > .reponse_txt_champ,
  .labelGrand_aide_f > .reponse_txt_champ,
  .labelGrand_f_Sel > .reponse_txt_champ,
  .labelGrand_f > .reponse_txt_champ,
  .labelGrand_aide_f_Sel > .sous_reponse_txt_champ,
  .labelGrand_aide_f > .sous_reponse_txt_champ,
  .labelGrand_f_Sel > .sous_reponse_txt_champ,
  .labelGrand_f > .sous_reponse_txt_champ{padding:12px 0 !important}
  .labelGrand_aide_f_Sel::after,.labelGrand_aide_f::after,
  .labelGrand_f_Sel::after,.labelGrand_f::after{right:14px !important;width:7px !important;height:12px !important}
  .reponse_txt_champ,.sous_reponse_txt_champ{font-size:.9rem !important;line-height:1.3 !important}
  .labelGrand_aide_f_Sel input[type=radio],.labelGrand_aide_f input[type=radio],
  .labelGrand_f_Sel input[type=radio],.labelGrand_f input[type=radio]{width:18px !important;height:18px !important;min-width:18px !important}
  /* Inputs / selects */
  .labelGrand_aide_sf_Sel,.labelGrand_saide_sf_Sel,.labelGrand_aide_sf,
  .labelGrand_sf_Sel,.labelGrand_sf{padding:14px 16px !important;border-radius:12px !important;margin-bottom:10px !important}
  .reponse_txt,.reponse_txt_coordonnees{font-size:.66rem !important;margin-bottom:8px !important}
  .textBox2,.textBox_montant{padding:11px 12px !important;font-size:.92rem !important;border-radius:8px !important}
  .textBox_montant{min-width:90px;flex:1 1 100px !important}
  .textBox{padding:10px 32px 10px 12px !important;font-size:.9rem !important;min-width:120px !important}
  .labelPosDroite{gap:8px !important;flex-wrap:wrap !important}
  .txt_d_champ{font-size:.82rem !important;margin-left:4px !important}
  /* Boutons */
  .btp_valider{width:100% !important;padding:14px 20px !important}
  .btp_question,.ajout_credit{flex-direction:column;align-items:stretch;gap:10px !important}
  .btn_step{padding:10px 16px !important;font-size:.78rem !important}
  .btn_step span{display:none}
}
@media(max-width:480px){
  .img_building_houses{grid-template-columns:repeat(2,1fr) !important;height:110px !important}
  .img_building_houses .img_item:nth-child(n+3){display:none !important}
  .img_building_houses::after{font-size:.95rem}
  .body_content .champ_reponse .sous_rubrique_cp .sous_rubrique_coordonnees label.labelSous_Rub,
  .sous_rubrique_coordonnees .labelSous_Rub{
    grid-template-columns:1fr !important;
    gap:6px !important;
    padding:12px 14px !important;
  }
  .sous_rubrique_coordonnees .reponse_txt_coordonnees{
    margin-bottom:4px !important;
  }
  .sous_rubrique_coordonnees .textBox2,
  .sous_rubrique_coordonnees select.textBox{
    padding:8px 0 !important;
  }
}

/* Fix single-image case (rachat-credit, remere) — grid auto-fits 1 image */
.img_building_houses:has(> .img_item:only-child){
  grid-template-columns:1fr !important;
}
.img_building_houses:has(> .img_item:only-child) .img_item{
  grid-column:1 / -1 !important;
}

/* Fix mobile overflow: labelPosDroite/nbre_credit wrap below input on small screens */
@media(max-width:720px){
  .labelGrand_aide_sf, .labelGrand_aide_sf_Sel,
  .labelGrand_sf, .labelGrand_sf_Sel,
  .labelGrand_aide_f, .labelGrand_aide_f_Sel{
    flex-wrap:wrap !important;
  }
  .labelPosDroite.nbre_credit,
  .labelPosDroite,
  .type_credit, .spec_ret2_Q7, .spec_ret2_Q8, .spec_ret2_Q17,
  .remboursement_pret, .credit_fin_pret, .credit_crd,
  .reponse_txt_droite, .couleur{
    flex:1 1 100% !important;
    width:100% !important;
    max-width:100% !important;
    margin-top:6px !important;
    box-sizing:border-box !important;
  }
  .labelPosDroite > .textBox_montant,
  .labelPosDroite > .textBox2,
  .type_credit > .textBox,
  .type_credit > select{
    width:100% !important;
    max-width:100% !important;
  }
}
