/* Accord refonte 2026 : questionnaires detailles (lot parallele)
   =====================================================================================
   Pages : credit_immobilier_particulier_rapide.php, _rachat_rapide, _professionnel_rapide, _remere_rapide
   (affichees en iframe dans /services/*.php et dans les mini-sites).
   Gabarits : templates/temp/front_office_page_iframe.tpl + front_office_page/pages/credit_front/**.
   Cette feuille est chargee en DERNIER (fin du <body>) : elle passe devant monstyle.css (charge dans le corps).
   Aucun champ, aucune validation, aucun script d'envoi n'est modifie : uniquement l'apparence.
   Toutes les regles sont prefixees par body.ac-questionnaire (classe posee dans front_office_page_iframe.tpl).
   ===================================================================================== */

:root {
	--acq-nuit: #16283A;
	--acq-ardoise: #435E79;
	--acq-ambre: #F3AC4B;
	--acq-ambre-hover: #EA9D33;
	--acq-ambre-fonce: #9a5a00;
	--acq-ambre-clair: #FDF4E6;
	--acq-encre: #14202C;
	--acq-texte: #4A5868;
	--acq-gris: #6B7785;
	--acq-ligne: #E3E8EE;
	--acq-bord: #C9D3DE;
	--acq-fond: #F3F6F9;
	--acq-erreur: #B42318;
	--acq-erreur-fond: #FEF3F2;
	--acq-police: 'Plus Jakarta Sans', "Jakarta Fallback", system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
	--acq-ombre: 0 1px 2px rgba(20, 32, 44, .05), 0 6px 18px rgba(20, 32, 44, .06);
}

/* ---------- base ---------- */
html body.ac-questionnaire {
	margin: 0 !important; padding: 0 !important;
	background: #fff !important;
	font-family: var(--acq-police) !important;
	font-size: 15px; line-height: 1.5; color: var(--acq-texte);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
body.ac-questionnaire *, body.ac-questionnaire *:before, body.ac-questionnaire *:after { box-sizing: border-box; }
body.ac-questionnaire, body.ac-questionnaire p, body.ac-questionnaire span, body.ac-questionnaire label,
body.ac-questionnaire a, body.ac-questionnaire input, body.ac-questionnaire select, body.ac-questionnaire textarea,
body.ac-questionnaire h1, body.ac-questionnaire strong, body.ac-questionnaire b { font-family: var(--acq-police) !important; }

/* elements herites sans objet dans l'iframe : photos de chantier, logo (Immofinances), barre jquery.progress, prechargeur,
   boutons " Etape precedente / suivante " (ils restent dans la page : ce sont les fleches du carrousel) */
body.ac-questionnaire .img_building_houses,
body.ac-questionnaire #logo.contenuPage,
body.ac-questionnaire #container,
body.ac-questionnaire #preloader,
body.ac-questionnaire .step_tab_level .etape1Bc,
body.ac-questionnaire .step_tab_level .spacer,
body.ac-questionnaire .btn_control_steps_wrapper,
body.ac-questionnaire .ci-q-counter,
body.ac-questionnaire .ci-progress-bar,
body.ac-questionnaire .main_form_section > #btp_cp_valider,
body.ac-questionnaire #btp_cp_valider[style*="opacity: 0"] { display: none !important; }

/* ---------- cadre ---------- */
body.ac-questionnaire .for_content_nwpop { margin: 0; padding: 0; }
body.ac-questionnaire .credit_immo_form_steps,
body.ac-questionnaire .container.credit_immo_form_steps {
	width: 100% !important; max-width: 760px !important; margin: 0 auto !important;
	padding: 12px 16px 18px !important; float: none !important;
}
/* etat " chargement " du gabarit (petit carre de 70 px pendant 1,2 s) : le formulaire s'affiche tout de suite */
body.ac-questionnaire .main_form_section,
body.ac-questionnaire .main_form_section.activate {
	max-width: none !important; width: 100% !important; height: auto !important;
	margin: 0 !important; padding: 0 !important; transform: none !important;
	border: 0 !important; overflow: visible !important; background: transparent !important; box-shadow: none !important;
}
body.ac-questionnaire .main_form_section #form2 { opacity: 1 !important; visibility: visible !important; }
body.ac-questionnaire form#form2 { margin: 0; padding: 0; }

/* ---------- titre compact (remplace l'ancien bandeau photo) ---------- */
body.ac-questionnaire h1.ac-q-titre {
	max-width: 760px; margin: 0 auto; padding: 14px 16px 0;
	font-size: 19px !important; line-height: 1.25; font-weight: 800; letter-spacing: -.01em;
	color: var(--acq-nuit) !important; text-align: left; text-transform: none;
	background: none; border: 0;
}
body.ac-questionnaire h1.ac-q-titre span { font-size: 12px; font-weight: 700; color: var(--acq-ambre-fonce); margin-left: 6px; }

/* ---------- frise des etapes = progression ---------- */
body.ac-questionnaire .step_tab_level {
	--ac-avance: 0;
	position: relative !important; display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr));
	width: 100% !important; max-width: none !important; height: auto !important; margin: 0 0 16px !important; padding: 12px 8px 10px !important;
	background: var(--acq-fond) !important; border: 0 !important; border-radius: var(--ac-r-max, 7px); box-shadow: none !important;
	top: auto !important; left: auto !important; transform: none !important;
}
body.ac-questionnaire .step_tab_level.sticky { position: relative !important; top: auto !important; }
body.ac-questionnaire .step_tab_level > p.titreBloc {
	position: relative; display: flex !important; flex-direction: column; align-items: center; gap: 3px;
	width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; float: none !important;
	background: none !important; border: 0 !important; box-shadow: none !important; text-align: center; cursor: default;
}
/* ligne entre les pastilles (fond gris) et trait de progression (ambre) entre " Je remplis " et " Je suis contacte " */
body.ac-questionnaire .step_tab_level > p.titreBloc:not(:last-of-type):before,
body.ac-questionnaire .step_tab_level > p.titreBloc:first-of-type:after {
	content: ""; position: absolute; top: 14px; left: calc(50% + 20px); height: 3px; border-radius: 3px;
	width: calc(100% - 40px); background: #D5DEE8; display: block !important;
}
body.ac-questionnaire .step_tab_level > p.titreBloc:first-of-type:after {
	background: var(--acq-ambre); width: calc((100% - 40px) * var(--ac-avance)); transition: width .45s ease;
}
body.ac-questionnaire .step_tab_level .titreicon {
	display: flex !important; align-items: center; justify-content: center; position: relative; z-index: 1;
	width: 30px !important; height: 30px !important; margin: 0 !important; padding: 0 !important; float: none !important;
	border-radius: 50%; background: #fff !important; border: 2px solid #C3CEDA !important; box-shadow: none !important;
	left: auto !important; right: auto !important; top: auto !important;
	font-size: 13px; font-weight: 800; color: var(--acq-gris);
}
body.ac-questionnaire .step_tab_level .titreicon img { display: none !important; }
body.ac-questionnaire .step_tab_level { counter-reset: acq-etape; }
body.ac-questionnaire .step_tab_level > p.titreBloc { counter-increment: acq-etape; }
body.ac-questionnaire .step_tab_level .titreicon:before { content: counter(acq-etape); }
body.ac-questionnaire .step_tab_level .titreEtape {
	display: block !important; position: static !important; width: auto !important; margin: 0 !important; padding: 0 !important;
	font-size: 13px !important; line-height: 1.25 !important; font-weight: 600 !important; color: var(--acq-gris) !important;
	text-transform: none !important; letter-spacing: 0 !important; background: none !important; float: none !important; border: 0 !important;
}
body.ac-questionnaire .step_tab_level > p.titreBloc.active .titreicon { background: var(--acq-nuit) !important; border-color: var(--acq-nuit) !important; color: #fff; }
body.ac-questionnaire .step_tab_level > p.titreBloc.active .titreEtape { color: var(--acq-nuit) !important; font-weight: 700 !important; }
body.ac-questionnaire .step_tab_level > p.titreBloc.ac-fait .titreicon { background: var(--acq-ambre) !important; border-color: var(--acq-ambre) !important; color: var(--acq-nuit); }
body.ac-questionnaire .step_tab_level > p.titreBloc.ac-fait .titreicon:before { content: "\2713"; }
body.ac-questionnaire .step_tab_level .titreBloc span.ac-q-compteur {
	display: block; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important;
	font-size: 12px !important; font-weight: 700 !important; line-height: 1.2 !important; color: var(--acq-ambre-fonce) !important;
	text-transform: none !important; letter-spacing: 0 !important; white-space: nowrap;
}
body.ac-questionnaire .step_tab_level .titreBloc span.ac-q-compteur:empty { display: none; }

/* ---------- ecrans (diapositives) ---------- */
body.ac-questionnaire .steps_wrapper { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; top: auto !important; }
body.ac-questionnaire .steps_wrapper.sticky { margin-top: 0 !important; }
body.ac-questionnaire .step_item_content,
body.ac-questionnaire .step_item_content .intContentFormEtapeToo {
	width: 100% !important; margin: 0 !important; padding: 0 !important; float: none !important;
	background: transparent !important; border: 0 !important; box-shadow: none !important; min-height: 0 !important;
}
body.ac-questionnaire .intContentFormEtapeToo > .left,
body.ac-questionnaire .intContentFormEtapeToo > .title_holder {
	width: 100% !important; height: auto !important; min-height: 0 !important; margin: 0 0 12px !important; padding: 0 !important;
	float: none !important; background: none !important; border: 0 !important; box-shadow: none !important; display: block !important;
}
body.ac-questionnaire .intContentFormEtapeToo > .title_holder:empty { display: none !important; }
body.ac-questionnaire .title_holder .titreBloc {
	margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important;
	font-size: 20px !important; line-height: 1.25 !important; font-weight: 800 !important; letter-spacing: -.01em;
	color: var(--acq-encre) !important; text-transform: none !important; text-align: left !important;
}
body.ac-questionnaire .title_holder .titreBloc:before,
body.ac-questionnaire .title_holder .titreBloc:after { display: none !important; }
body.ac-questionnaire .title_holder .titreBloc span {
	display: inline; margin: 0 !important; padding: 0 !important; background: none !important;
	font-size: inherit !important; font-weight: inherit !important; color: inherit !important; text-transform: none !important;
}
/* sous-titre ("Achat ou Rachat", "Co-emprunteur"...) : petite pastille a cote du titre, sans tiret.
   Classes posees par formulaire_produit_pied.tpl : ac-sous-titre (texte place apres le titre), ac-titre-debut (debut du titre) */
body.ac-questionnaire .title_holder .titreBloc span.ac-sous-titre {
	display: inline-block; margin-left: 8px !important; padding: 2px 9px !important; vertical-align: 3px;
	font-size: 12px !important; line-height: 1.5 !important; font-weight: 700 !important; letter-spacing: 0; color: var(--acq-ambre-fonce) !important;
	background: var(--acq-ambre-clair) !important; border: 0 !important; border-radius: var(--ac-r-max, 7px); box-shadow: none !important; float: none !important; width: auto !important; text-transform: none !important;
}
body.ac-questionnaire .title_holder .titreBloc span.ac-sous-titre * { letter-spacing: 0 !important; border: 0 !important; background: none !important; padding: 0 !important; margin: 0 !important; font-size: inherit !important; color: inherit !important; }
body.ac-questionnaire .title_holder .titreBloc span.ac-titre-debut {
	display: inline !important; float: none !important; width: auto !important; text-align: left !important;
	font-size: inherit !important; font-weight: inherit !important; line-height: inherit !important; color: inherit !important; text-transform: none !important;
}
body.ac-questionnaire .title_holder .titreBloc strong { font-weight: 700 !important; color: inherit !important; }

/* ---------- contenu d'un ecran : grille (2 champs par ligne sur ordinateur, classes posees par formulaire_produit_pied.tpl) ---------- */
body.ac-questionnaire .body_content {
	display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; align-items: start;
	width: 100% !important; margin: 0 !important; padding: 0 !important; float: none !important;
	background: transparent !important; border: 0 !important; box-shadow: none !important;
}
body.ac-questionnaire .body_content > * { grid-column: 1 / -1; min-width: 0; }
body.ac-questionnaire .body_content > .ac-demi { grid-column: auto; }
body.ac-questionnaire .body_content > .ac-plein { grid-column: 1 / -1; }
body.ac-questionnaire .body_content > br,
body.ac-questionnaire .body_content .cleaner { display: none !important; }

body.ac-questionnaire .body_content .champ_reponse {
	width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; float: none !important;
	background: none !important; border: 0 !important; box-shadow: none !important; min-height: 0 !important;
}
body.ac-questionnaire .body_content .champ_reponse label:before,
body.ac-questionnaire .body_content .champ_reponse label:after { display: none !important; content: none !important; }

/* --- reponses a choix unique : cartes cliquables --- */
body.ac-questionnaire .body_content .champ_reponse > label:has(> input[type=radio]) {
	display: flex !important; align-items: center; gap: 12px;
	width: 100% !important; min-height: 52px; height: auto !important; margin: 0 !important; padding: 12px 16px !important; float: none !important;
	background: #fff !important; border: 1px solid var(--acq-bord) !important; border-radius: var(--ac-r-max, 7px) !important; box-shadow: none !important;
	cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
body.ac-questionnaire .body_content .champ_reponse > label:has(> input[type=radio]):hover {
	border-color: var(--acq-ardoise) !important; box-shadow: var(--acq-ombre) !important; background: #fff !important;
}
body.ac-questionnaire .body_content .champ_reponse > label:has(> input[type=radio]:checked) {
	border-color: var(--acq-nuit) !important; box-shadow: inset 0 0 0 1px var(--acq-nuit) !important; background: var(--acq-ambre-clair) !important;
}
body.ac-questionnaire .body_content .champ_reponse > label > input[type=radio] {
	-webkit-appearance: none; appearance: none; flex: none; position: static !important; opacity: 1 !important;
	width: 20px !important; height: 20px !important; margin: 0 !important; padding: 0 !important;
	border: 2px solid #9AABBD !important; border-radius: 50% !important; background: #fff !important; box-shadow: none !important;
	cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease;
}
body.ac-questionnaire .body_content .champ_reponse > label > input[type=radio]:checked {
	border-color: var(--acq-nuit) !important; background: var(--acq-nuit) !important; box-shadow: inset 0 0 0 4px #fff !important;
}
body.ac-questionnaire .body_content .champ_reponse > label > input[type=radio]:focus-visible { outline: 2px solid var(--acq-ambre) !important; outline-offset: 2px; }
body.ac-questionnaire .body_content .champ_reponse > label > :is(.reponse_txt_champ, .sous_reponse_txt_champ, .reponse_txt) {
	display: block !important; flex: 1; width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important;
	font-size: 15px !important; line-height: 1.35 !important; font-weight: 600 !important; color: var(--acq-encre) !important;
	text-transform: none !important; background: none !important; text-align: left !important;
}

/* --- champs de saisie : libelle au-dessus, champ 48 px --- */
body.ac-questionnaire .body_content label:not(.error):not(:has(> input[type=radio])),
body.ac-questionnaire .body_content .champ_reponse .sous_rubrique_cp label.labelSous_Rub,
body.ac-questionnaire .body_content .champ_reponse .sous_rubrique_cp .sous_rubrique_coordonnees label.labelSous_Rub {
	display: flex !important; flex-direction: column; align-items: stretch; gap: 6px;
	width: 100% !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; float: none !important;
	background: none !important; background-color: transparent !important; border: 0 !important; box-shadow: none !important; cursor: default;
}
body.ac-questionnaire .body_content label:not(.error):not(:has(> input[type=radio])) > :is(.reponse_txt, .reponse_txt_coordonnees) {
	display: block !important; width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important;
	font-size: 14px !important; line-height: 1.3 !important; font-weight: 600 !important; color: var(--acq-nuit) !important;
	text-align: left !important; text-transform: none !important; background: none !important; min-height: 0 !important;
}
body.ac-questionnaire .body_content label:not(.error):not(:has(> input[type=radio])) > :is(.reponse_txt, .reponse_txt_coordonnees) * {
	font-size: inherit !important; font-weight: inherit !important; color: inherit !important; background: none !important; margin: 0 !important; padding: 0 !important;
}

body.ac-questionnaire .body_content label:not(.error):not(:has(> input[type=radio])) > :is(.reponse_txt, .reponse_txt_coordonnees) .grasCouleur,
body.ac-questionnaire .grasCouleur, body.ac-questionnaire span#et_12 { color: var(--acq-ambre-fonce) !important; font-weight: 700 !important; }
body.ac-questionnaire .body_content label:not(.error):not(:has(> input[type=radio])) > :is(.labelPosDroite, .type_credit, .reponse_txt_droite, [class*="spec_ret2"]) {
	display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px;
	width: 100% !important; margin: 0 !important; padding: 0 !important; float: none !important; position: static !important;
	font-size: 14px !important; color: var(--acq-gris) !important; background: none !important; text-align: left !important;
}
body.ac-questionnaire .body_content label :is(.labelPosDroite, .type_credit, .reponse_txt_droite) > span:not(.txt_d_champ) {
	display: inline-flex !important; align-items: center; gap: 6px; margin: 0 !important; padding: 0 !important; float: none !important;
	font-size: 14px !important; font-weight: 500 !important; color: var(--acq-gris) !important; background: none !important; width: auto !important;
}
body.ac-questionnaire .body_content .txt_d_champ {
	display: inline !important; margin: 0 !important; padding: 0 !important; float: none !important; width: auto !important;
	font-size: 14px !important; font-weight: 500 !important; color: var(--acq-gris) !important; white-space: nowrap; text-transform: none !important; letter-spacing: 0 !important;
}

body.ac-questionnaire .steps_wrapper :is(input[type=text], input[type=tel], input[type=email], input[type=number], input:not([type]), select, textarea) {
	flex: 1 1 120px; width: auto !important; min-width: 0 !important; max-width: 100% !important;
	height: 48px !important; margin: 0 !important; padding: 0 14px !important; float: none !important;
	font-size: 15px !important; font-weight: 500 !important; line-height: normal !important; color: var(--acq-encre) !important; text-align: left !important; text-transform: none !important;
	background-color: #fff !important; border: 1px solid var(--acq-bord) !important; border-radius: var(--ac-r-max, 7px) !important; box-shadow: none !important; outline: 0 !important;
	transition: border-color .15s ease, box-shadow .15s ease;
}
body.ac-questionnaire .steps_wrapper textarea { height: auto !important; min-height: 110px; padding: 12px 14px !important; }
body.ac-questionnaire .steps_wrapper select {
	-webkit-appearance: none; appearance: none; padding-right: 38px !important; cursor: pointer;
	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 1.5 6 6.5l5-5' fill='none' stroke='%23435E79' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important; background-position: right 14px center !important; background-size: 12px 8px !important;
}
body.ac-questionnaire .steps_wrapper :is(input[type=text], input[type=tel], input[type=email], input[type=number], input:not([type]), select, textarea):hover { border-color: var(--acq-ardoise) !important; }
body.ac-questionnaire .steps_wrapper :is(input[type=text], input[type=tel], input[type=email], input[type=number], input:not([type]), select, textarea):focus {
	border-color: var(--acq-nuit) !important; box-shadow: 0 0 0 3px rgba(22, 40, 58, .12) !important;
}
body.ac-questionnaire .steps_wrapper ::placeholder { color: #98A4B1; opacity: 1; text-transform: none; }
body.ac-questionnaire .steps_wrapper :is(input, select).error { border-color: var(--acq-erreur) !important; background-color: #fff !important; }
/* champs courts : mois / annee de fin de pret, anciennete, nombre de mois */
body.ac-questionnaire .steps_wrapper :is(.credit_mois, #anciennete_banque) { flex: 0 0 72px !important; width: 72px !important; }
body.ac-questionnaire .steps_wrapper .credit_annee { flex: 0 0 96px !important; width: 96px !important; }
body.ac-questionnaire .steps_wrapper :is(select[name^="anciennete_an"], select[name^="anciennete_mois"], select[name^="revenu_net"]) { flex: 0 1 96px !important; }
/* petites cases Oui / Non (CCMI) a l'interieur d'un champ */
body.ac-questionnaire .body_content label:not(.error):not(:has(> input[type=radio])) input[type=radio],
body.ac-questionnaire .body_content label:not(.error):not(:has(> input[type=radio])) input[type=checkbox] {
	width: 18px !important; height: 18px !important; margin: 0 !important; accent-color: var(--acq-nuit); position: static !important; opacity: 1 !important; flex: none;
}

/* regroupement / remere : tableaux "credit(s) immo(s) | credit(s) conso(s)".
   Dans le gabarit, les champs conso puis immo sont ecrits dans cet ordre et etaient inverses par float:right :
   on garde la meme correspondance colonne / en-tete (immo a gauche, conso a droite). */
body.ac-questionnaire .body_content > p.two_col {
	display: grid !important; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr); gap: 0 12px;
	margin: 0 0 -4px !important; padding: 0 !important; text-align: left !important; background: none !important; border: 0 !important;
}
body.ac-questionnaire .body_content > p.two_col > span {
	display: block !important; width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important;
	font-size: 12.5px !important; font-weight: 700 !important; line-height: 1.3 !important; color: var(--acq-ardoise) !important;
	text-transform: none !important; letter-spacing: 0 !important; text-align: left !important; background: none !important;
}
body.ac-questionnaire .body_content > p.two_col > .credit_immo { grid-column: 2; }
body.ac-questionnaire .body_content > p.two_col > .credit_conso { grid-column: 3; }
body.ac-questionnaire .body_content .champ_reponse > label:not(.error):not(:has(> input[type=radio])):has(> .nbre_credit) {
	display: grid !important; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr); gap: 0 12px; align-items: center !important;
}
body.ac-questionnaire .body_content .champ_reponse > label:not(.error):not(:has(> input[type=radio])):has(> .nbre_credit) > .reponse_txt { grid-column: 1; grid-row: 1; }
body.ac-questionnaire .body_content .champ_reponse > label:not(.error):not(:has(> input[type=radio])):has(> .nbre_credit) > span:nth-child(2) { grid-column: 2; grid-row: 1; }
body.ac-questionnaire .body_content .champ_reponse > label:not(.error):not(:has(> input[type=radio])):has(> .nbre_credit) > span:nth-child(3) { grid-column: 3; grid-row: 1; }
body.ac-questionnaire .body_content .champ_reponse > label:not(.error):not(:has(> input[type=radio])):has(> .nbre_credit) > span:has(input[name*="immo"]) { grid-column: 2; }
body.ac-questionnaire .body_content .champ_reponse > label:not(.error):not(:has(> input[type=radio])):has(> .nbre_credit) > span:has(input[name*="conso"]) { grid-column: 3; }
/* ligne d'en-tete du regroupement (champs en lecture seule sans nom) */
body.ac-questionnaire .steps_wrapper .nbre_credit input[readonly]:not([name]) {
	height: auto !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; cursor: default;
	font-size: 12.5px !important; font-weight: 700 !important; color: var(--acq-ardoise) !important;
}
body.ac-questionnaire .body_content .champ_reponse > label:not(.error):not(:has(> input[type=radio])):has(> .nbre_credit) > .nbre_credit input { flex: 1 1 auto; width: 100% !important; }

/* bloc de boutons vide (remere, 1er ecran : le choix fait avancer) */
body.ac-questionnaire .body_content > p.btp_question:not(:has(a)) { display: none !important; }
/* texte d'information place dans un ecran (remere) */
body.ac-questionnaire .body_content > p.txt_confirmation {
	margin: 0 !important; padding: 14px 16px !important; background: var(--acq-fond) !important; border-radius: var(--ac-r-max, 7px);
	font-size: 14px !important; line-height: 1.6 !important;
}

/* liste de choix a l'interieur d'un champ (ex. "Etes-vous dans une des situations suivantes ?") : une option par ligne */
body.ac-questionnaire .body_content .champ_reponse.auto_height label:not(.error):not(:has(> input[type=radio])) > .labelPosDroite { flex-direction: column; align-items: flex-start !important; gap: 8px !important; }
body.ac-questionnaire .body_content .champ_reponse.auto_height label:not(.error):not(:has(> input[type=radio])) > .labelPosDroite > span { color: var(--acq-texte) !important; font-size: 14.5px !important; gap: 10px !important; }
body.ac-questionnaire .body_content .champ_reponse.auto_height label:not(.error):not(:has(> input[type=radio])) > .labelPosDroite > br { display: none; }

/* frais de notaire calcules (champ en lecture) */
body.ac-questionnaire .body_content .champ_reponse.transparent label { background: none !important; }
body.ac-questionnaire #frais_notaire_txt { color: var(--acq-gris) !important; }

/* aides et mentions */
body.ac-questionnaire .aide_Q {
	display: block; width: auto !important; margin: 8px 0 0 !important; padding: 10px 12px !important; float: none !important;
	font-size: 13px !important; line-height: 1.5 !important; color: var(--acq-texte) !important;
	background: var(--acq-fond) !important; border: 0 !important; border-radius: var(--ac-r-max, 7px);
}
body.ac-questionnaire .aide_Q * { font-size: inherit !important; color: inherit !important; }
body.ac-questionnaire .aide_Q p { margin: 0 !important; }
body.ac-questionnaire .body_content > .aide_Q { margin: 0 !important; }
body.ac-questionnaire .txt_descript_optin {
	margin: 4px 0 0 !important; padding: 12px 0 0 !important; float: none !important; width: auto !important;
	border-top: 1px solid var(--acq-ligne); background: none !important;
	font-size: 12px !important; line-height: 1.55 !important; color: var(--acq-gris) !important; font-style: normal !important; text-align: left !important;
}
body.ac-questionnaire .txt_descript_optin.txt_confirmation {
	margin: 0 !important; padding: 14px 16px !important; border: 0; border-radius: var(--ac-r-max, 7px); background: var(--acq-fond) !important;
	font-size: 14.5px !important; line-height: 1.6 !important; color: var(--acq-texte) !important;
}

/* --- credits en cours : un bloc par credit --- */
body.ac-questionnaire .body_content .champ_reponse.add_credit {
	position: relative; display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px;
	padding: 14px !important; background: var(--acq-fond) !important; border-radius: var(--ac-r-max, 7px) !important;
}
body.ac-questionnaire .body_content .champ_reponse.add_credit > .sous_rubrique_cp,
body.ac-questionnaire .body_content .champ_reponse.add_credit > .sous_rubrique_cp > div[id^="id_date"] { display: contents !important; }
body.ac-questionnaire .body_content .champ_reponse.add_credit > .cleaner { display: none !important; }
body.ac-questionnaire .body_content .champ_reponse.add_credit .rmv_me {
	grid-column: 1 / -1; justify-self: end; margin: -4px 0 -6px !important; padding: 0 !important; float: none !important; position: static !important;
	font-size: 13px !important; font-weight: 600 !important; color: var(--acq-erreur) !important; background: none !important; border: 0 !important; text-decoration: underline;
}
body.ac-questionnaire .body_content .champ_reponse.add_credit .rmv_me.hide { display: none !important; }
body.ac-questionnaire .body_content .champ_reponse .sous_rubrique_cp {
	width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; background: none !important; border: 0 !important;
}

/* --- coordonnees --- */
body.ac-questionnaire .body_content .sous_rubrique_cp.sous_rubrique_cp2 { display: block !important; }
body.ac-questionnaire .body_content label.label_coordonnees_Sel:not(.error):not(:has(> input[type=radio])) {
	display: block !important; margin: 0 0 12px !important; padding: 0 !important; background: none !important; background-color: transparent !important; border: 0 !important;
}
body.ac-questionnaire .body_content .label_coordonnees_Sel > .reponse_txt,
body.ac-questionnaire .body_content .label_coordonnees_Sel p {
	font-size: 15px !important; font-weight: 700 !important; color: var(--acq-nuit) !important; margin: 0 !important; padding: 0 !important; background: none !important;
}
body.ac-questionnaire .body_content .sous_rubrique_coordonnees {
	display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px;
	width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; background: none !important; border: 0 !important;
}
body.ac-questionnaire .body_content .sous_rubrique_coordonnees > * { grid-column: 1 / -1; min-width: 0; }
body.ac-questionnaire .body_content .sous_rubrique_coordonnees > .ac-demi { grid-column: auto; }
body.ac-questionnaire .body_content .sous_rubrique_coordonnees > .ac-plein { grid-column: 1 / -1; }
body.ac-questionnaire .body_content .sous_rubrique_coordonnees > input[type=hidden] { display: none; }

/* --- resume du chiffrage --- */
body.ac-questionnaire .body_content .ul_champ_question {
	margin: 0 !important; padding: 4px 0 !important; border: 1px solid var(--acq-ligne) !important; border-radius: var(--ac-r-max, 7px) !important; background: #fff !important; overflow: hidden;
}
body.ac-questionnaire .ul_champ_question .li_champ_recap { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; width: auto !important; float: none !important; }
body.ac-questionnaire .ul_champ_question .li_champ_recap .label_recap {
	display: flex !important; justify-content: space-between; align-items: baseline; gap: 16px;
	margin: 0 !important; padding: 9px 16px !important; width: auto !important; height: auto !important; float: none !important;
	background: none !important; border: 0 !important; border-bottom: 1px solid var(--acq-ligne) !important;
}
body.ac-questionnaire .ul_champ_question .li_champ_recap:last-child .label_recap { border-bottom: 0 !important; }
body.ac-questionnaire .ul_champ_question .li_champ_recap .label_recap.back_Sel { background: var(--acq-fond) !important; }
body.ac-questionnaire .ul_champ_question .label_recap > span {
	float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; background: none !important;
	font-size: 14px !important; line-height: 1.4 !important; color: var(--acq-texte) !important; font-weight: 500 !important; text-align: left !important;
}
body.ac-questionnaire .ul_champ_question .label_recap > .reponse_txt_droite { white-space: nowrap; font-weight: 600 !important; color: var(--acq-encre) !important; text-align: right !important; }
body.ac-questionnaire .ul_champ_question .label_recap > .total_recap { font-weight: 800 !important; color: var(--acq-nuit) !important; font-size: 15px !important; }

/* --- ecrans apres l'envoi (remerciement, offre) --- */
body.ac-questionnaire .txt_confirmation { font-size: 15px !important; line-height: 1.6 !important; color: var(--acq-texte) !important; margin: 0 0 8px !important; }
body.ac-questionnaire .txt_confirmation a { color: var(--acq-nuit) !important; font-weight: 700; text-decoration: none; }
body.ac-questionnaire .txt_confirmation b { color: var(--acq-nuit) !important; }
body.ac-questionnaire #form-immo-form { margin: 0 !important; padding: 16px 18px !important; background: var(--acq-fond); border-radius: var(--ac-r-max, 7px); }
body.ac-questionnaire #form-immo-form > br { display: none; }
body.ac-questionnaire .cover-edition-special { display: block; max-width: 100% !important; height: auto !important; margin: 0 auto; border-radius: var(--ac-r-max, 7px); }
body.ac-questionnaire #form-immo-form:has(.cover-edition-special) { padding: 0 !important; background: none; }

/* ---------- messages d'erreur (jquery.validate) ---------- */
body.ac-questionnaire label.error,
body.ac-questionnaire .step1_item22 label.error {
	position: static !important; display: block; grid-column: 1 / -1;
	width: auto !important; height: auto !important; margin: 0 !important; padding: 9px 12px 9px 12px !important; float: none !important;
	font-size: 13.5px !important; line-height: 1.4 !important; font-weight: 600 !important; color: var(--acq-erreur) !important; text-align: left !important;
	background: var(--acq-erreur-fond) !important; border: 0 !important; border-left: 3px solid var(--acq-erreur) !important; border-radius: 6px !important;
	box-shadow: none !important; top: auto !important; left: auto !important; transform: none !important;
}
body.ac-questionnaire label.error:before, body.ac-questionnaire label.error:after { display: none !important; }
body.ac-questionnaire label.error[style*="display: none"] { display: none !important; }
/* erreur placee a l'interieur d'une carte de choix : sous le texte */
body.ac-questionnaire .champ_reponse > label:has(> input[type=radio]) > label.error { flex-basis: 100%; }
body.ac-questionnaire .champ_reponse > label:has(> input[type=radio]):has(> label.error:not([style*="none"])) { flex-wrap: wrap; }

/* ---------- boutons ---------- */
body.ac-questionnaire .body_content > p.btp_question,
body.ac-questionnaire .body_content > p.ajout_credit {
	display: flex !important; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px;
	width: auto !important; height: auto !important; margin: 6px 0 0 !important; padding: 14px 0 0 !important; float: none !important;
	border-top: 1px solid var(--acq-ligne) !important; background: none !important; opacity: 1 !important; position: static !important;
}
body.ac-questionnaire a.btp_valider {
	display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; order: 2;
	min-width: 170px; height: 48px !important; margin: 0 !important; padding: 0 26px !important; float: none !important; position: static !important;
	font-size: 16px !important; font-weight: 700 !important; line-height: 1 !important; letter-spacing: 0 !important; text-transform: none !important;
	color: var(--acq-nuit) !important; background: var(--acq-ambre) !important; background-image: none !important;
	border: 0 !important; border-radius: var(--ac-r-max, 7px) !important; box-shadow: 0 2px 0 rgba(201, 123, 20, .35) !important; text-decoration: none !important; cursor: pointer;
	transition: background-color .15s ease, transform .15s ease;
}
body.ac-questionnaire a.btp_valider:after {
	content: "" !important; display: block !important; position: static !important; width: 16px; height: 16px; margin: 0 !important; border: 0 !important; transform: none !important;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2316283A' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / 16px 16px !important;
}
body.ac-questionnaire a.btp_valider:before { display: none !important; }
body.ac-questionnaire a.btp_valider:hover { background: var(--acq-ambre-hover) !important; color: var(--acq-nuit) !important; }
body.ac-questionnaire a.btp_valider:focus-visible { outline: 2px solid var(--acq-nuit) !important; outline-offset: 2px; }
body.ac-questionnaire a.injected-prev {
	display: inline-flex !important; align-items: center; order: 1;
	height: 48px !important; margin: 0 !important; padding: 0 18px !important; float: none !important; position: static !important;
	font-size: 15px !important; font-weight: 600 !important; line-height: 1 !important; color: var(--acq-nuit) !important; text-decoration: none !important;
	background: #fff !important; border: 1px solid var(--acq-bord) !important; border-radius: var(--ac-r-max, 7px) !important; box-shadow: none !important; letter-spacing: 0 !important; text-transform: none !important;
}
body.ac-questionnaire a.injected-prev:before, body.ac-questionnaire a.injected-prev:after { display: none !important; content: none !important; }
body.ac-questionnaire a.injected-prev:hover { border-color: var(--acq-nuit) !important; }
body.ac-questionnaire .ac-apres-envoi a.injected-prev { display: none !important; }
body.ac-questionnaire a.ajout_credit.clone_add_credit {
	display: inline-flex !important; align-items: center; gap: 6px; order: 1;
	height: 48px !important; margin: 0 !important; padding: 0 16px !important; float: none !important; position: static !important;
	font-size: 15px !important; font-weight: 600 !important; line-height: 1 !important; color: var(--acq-nuit) !important; text-decoration: none !important;
	background: #fff !important; border: 1px dashed var(--acq-ardoise) !important; border-radius: var(--ac-r-max, 7px) !important; box-shadow: none !important; text-transform: none !important;
}
body.ac-questionnaire a.ajout_credit.clone_add_credit:before { content: "+" !important; display: inline !important; position: static !important; font-size: 18px; font-weight: 700; background: none !important; width: auto; height: auto; }
body.ac-questionnaire a.ajout_credit.clone_add_credit:after { display: none !important; }
body.ac-questionnaire a.ajout_credit.clone_add_credit:hover { border-style: solid !important; }

/* ---------- carrousel : aucune hauteur fantome ---------- */
/* popup.css force la liste a la hauteur de l'ecran le plus haut (min 300 px) : l'iframe restait trop haute.
   Les ecrans non affiches sont ramenes a 1 px de hauteur (pas 0 : des flottants de hauteur nulle se replieraient tous a gauche et
   l'ecran courant, decale par slick, sortirait du cadre). Ils restent dans la page : la validation n'est pas modifiee. */
body.ac-questionnaire .steps_wrapper.slick-initialized .slick-list,
body.ac-questionnaire .steps_wrapper.slick-initialized div.slick-list[style] { height: auto !important; min-height: 0 !important; }
body.ac-questionnaire .steps_wrapper.slick-initialized .slick-track { height: auto !important; }
body.ac-questionnaire .steps_wrapper.slick-initialized .slick-slide:not(.slick-current) { height: 1px !important; min-height: 0 !important; overflow: hidden !important; }
body.ac-questionnaire .steps_wrapper .slick-slide { outline: 0; }

/* ---------- mobile / iframe etroite ---------- */
@media (max-width: 600px) {
	body.ac-questionnaire .credit_immo_form_steps,
	body.ac-questionnaire .container.credit_immo_form_steps { padding: 10px 12px 14px !important; }
	body.ac-questionnaire h1.ac-q-titre { padding: 12px 12px 0; font-size: 17px !important; }
	body.ac-questionnaire .body_content,
	body.ac-questionnaire .body_content .sous_rubrique_coordonnees,
	body.ac-questionnaire .body_content .champ_reponse.add_credit { grid-template-columns: minmax(0, 1fr); }
	body.ac-questionnaire .body_content > .ac-demi,
	body.ac-questionnaire .body_content .sous_rubrique_coordonnees > .ac-demi,
	body.ac-questionnaire .body_content .champ_reponse.add_credit > * { grid-column: 1 / -1; }
	body.ac-questionnaire .title_holder .titreBloc { font-size: 18px !important; }
	body.ac-questionnaire .step_tab_level .titreEtape { font-size: 12px !important; }
	body.ac-questionnaire .step_tab_level .titreBloc span.ac-q-compteur { font-size: 11.5px !important; }
	body.ac-questionnaire .body_content .champ_reponse > label:has(> input[type=radio]) { min-height: 48px; padding: 11px 14px !important; }
	body.ac-questionnaire a.btp_valider { flex: 1 1 auto; min-width: 0; }
	body.ac-questionnaire a.injected-prev { padding: 0 14px !important; }
	/* tableaux immo / conso : libelle sur sa ligne, puis les 2 colonnes */
	body.ac-questionnaire .body_content .champ_reponse > label:not(.error):not(:has(> input[type=radio])):has(> .nbre_credit),
	body.ac-questionnaire .body_content > p.two_col { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px 10px; }
	body.ac-questionnaire .body_content .champ_reponse > label:not(.error):not(:has(> input[type=radio])):has(> .nbre_credit) > .reponse_txt { grid-column: 1 / -1; grid-row: 1; }
	body.ac-questionnaire .body_content .champ_reponse > label:not(.error):not(:has(> input[type=radio])):has(> .nbre_credit) > span:nth-child(2) { grid-column: 1; grid-row: 2; }
	body.ac-questionnaire .body_content .champ_reponse > label:not(.error):not(:has(> input[type=radio])):has(> .nbre_credit) > span:nth-child(3) { grid-column: 2; grid-row: 2; }
	body.ac-questionnaire .body_content .champ_reponse > label:not(.error):not(:has(> input[type=radio])):has(> .nbre_credit) > span:has(input[name*="immo"]) { grid-column: 1; }
	body.ac-questionnaire .body_content .champ_reponse > label:not(.error):not(:has(> input[type=radio])):has(> .nbre_credit) > span:has(input[name*="conso"]) { grid-column: 2; }
	body.ac-questionnaire .body_content .champ_reponse > label:not(.error):not(:has(> input[type=radio])):has(> .nbre_credit):has(input[readonly]:not([name])) > .reponse_txt { display: none !important; }
	body.ac-questionnaire .body_content .champ_reponse > label:not(.error):not(:has(> input[type=radio])):has(> .nbre_credit):has(input[readonly]:not([name])) > span { grid-row: 1; }
	body.ac-questionnaire .body_content > p.two_col > .credit_immo { grid-column: 1; }
	body.ac-questionnaire .body_content > p.two_col > .credit_conso { grid-column: 2; }
}

/* remerciement : pas de marge fantome en haut du cadre */
body.ac-questionnaire #form-immo-form .txt_confirmation { padding: 0 !important; margin: 0 0 10px !important; background: none !important; }
body.ac-questionnaire #form-immo-form .txt_confirmation:last-of-type { margin-bottom: 0 !important; }
body.ac-questionnaire #form-immo-form #espace_client_p:empty { display: none; }
body.ac-questionnaire .cover-edition-special { margin: 0 auto !important; box-shadow: var(--acq-ombre) !important; }

/* reponses sur 2 colonnes : cartes d'une meme ligne a la meme hauteur */
body.ac-questionnaire .body_content > .champ_reponse.ac-demi:has(> label > input[type=radio]) { align-self: stretch; display: flex !important; }
body.ac-questionnaire .body_content > .champ_reponse.ac-demi:has(> label > input[type=radio]) > label { flex: 1; }

/* dans une page produit ou un mini-site (iframe), le titre est deja donne par la page : on ne garde que la frise */
html.ac-en-iframe body.ac-questionnaire h1.ac-q-titre { display: none; }
html.ac-en-iframe body.ac-questionnaire .credit_immo_form_steps,
html.ac-en-iframe body.ac-questionnaire .container.credit_immo_form_steps { padding-top: 14px !important; padding-bottom: 18px !important; }

/* pas de cadre bleu au clic (29/09) */
html { -webkit-tap-highlight-color: transparent; }
a:focus:not(:focus-visible), button:focus:not(:focus-visible), .btn:focus:not(:focus-visible), .btn:active { outline: none !important; box-shadow: none !important; }
