/* ==========================================================================
   PROJECT ISOLATION — Habillage du plugin "Multi Step Form" (Mondula)
   pour retrouver le style
   ========================================================================== */

:root{
  --pi-ink:#11222f;
  --pi-gold:#b08a3e;
  --pi-sand:#f4efe1;
  --pi-sand-2:#eee6d2;
  --pi-card:#fffdf8;
  --pi-border:#e4dcc8;
  --pi-muted:#6b6459;
  --pi-warn:#b3402a;
  --pi-radius:14px;
}
.fw-wizard-step[data-stepid="0"] .fw-step-block[data-type="fw-radio"],
.fw-wizard-step[data-stepid="2"] .fw-step-block[data-type="fw-radio"]:nth-of-type(2) {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.fw-wizard-step[data-stepid="0"] .fw-step-block[data-type="fw-radio"] > .msf-h3,
.fw-wizard-step[data-stepid="2"] .fw-step-block[data-type="fw-radio"]:nth-of-type(2) > .msf-h3 {
    grid-column: 1 / -1;
}
#multi-step-form .fa.form-control-feedback {
     display: none;
}
    #multi-step-form.fw-large-container .fw-progress-bar .fw-progress-step.fw-visited:after {
         height: 6px;
    }
.fw-wizard-step[data-stepid="0"] .fw-step-block[data-type="fw-radio"] > br,
.fw-wizard-step[data-stepid="2"] .fw-step-block[data-type="fw-radio"]:nth-of-type(2) > br {
    display: none;
}
    #multi-step-form .fw-wizard-step-header .msf-h2 {
        font-family: 'Fraunces';
    }
/* Le bloc Département doit rester au-dessus */
.fw-step-block[data-type="fw-select"]{
    position: relative;
    z-index: 9999;
}

/* Le menu Select2 */
.select2-container--open{
    z-index: 99999 !important;
}
.fw-wizard-step[data-stepid="1"] .fw-step-block[data-type="fw-radio"] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.fw-wizard-step[data-stepid="1"] .fw-step-block[data-type="fw-radio"] > .msf-h3 {
    grid-column: 1 / -1;
}

.fw-wizard-step[data-stepid="1"] .fw-step-block[data-type="fw-radio"] > br {
    display: none;
}

.fw-wizard-step[data-stepid="1"] .fw-choice {
    width: 100%;
    margin: 0;
}
/* Les radios restent en dessous */
.fw-step-block[data-type="fw-radio"]{
    position: relative;
    z-index: 1;
}
#multi-step-form,
#multi-step-form *{
  box-sizing:border-box;
  font-family:"Inter", -apple-system, sans-serif;
}

#multi-step-form{
  background:var(--pi-card) !important;
  border:1px solid var(--pi-border) !important;
  border-radius:22px !important;
  padding:0 !important;
  max-width:1200px!important;
  width:1280px!important;
  margin:0 auto;
  box-shadow:0 20px 60px -30px rgba(17,34,47,.25) !important;
  overflow:hidden;
}
/* le skin "boxlayout" par défaut du plugin ajoute un fond gris et une
   barre verticale colorée sur .fw-wizard-step / .fw-step-part — on les
   neutralise puisqu'on gère notre propre fond sur #multi-step-form */
.fw-wizard-step,
.fw-step-part{
  background:transparent !important;
  border:none !important;
  border-left:none !important;
  box-shadow:none !important;
  padding-left:0 !important;
}

/* ---------- En-têtes d'étape (titre + texte) ---------- */
.fw-wizard-step-header-container{
  padding:32px 40px 0;
}
.fw-wizard-step-header{ display:none; }
.fw-wizard-step-header.fw-current{
  display:block;
  animation:pi-fade .25s ease;
}
.fw-wizard-step-header .msf-h2{
  display:block;
  font-family:"Fraunces", Georgia, serif;
  font-weight:600;
  font-size:1.6rem;
  color:var(--pi-ink);
  margin:4px 0 6px;
}
.fw-wizard-step-header .fw-copytext{
  color:var(--pi-muted);
  font-size:.98rem;
  line-height:1.5;
  margin:0 0 18px;
  max-width:62ch;
}
/* étiquette "Étape X / 4" en amorce, si tu la retires du titre côté back-office
   tu peux la réinjecter ici avec une pseudo-classe basée sur data-stepid */
@keyframes pi-fade{ from{opacity:0; transform:translateY(4px);} to{opacity:1; transform:none;} }

/* ---------- Barre de progression ---------- */
/* .fw-progress-bar-container{
  padding:0 40px 24px;
  border-bottom:1px solid var(--pi-border);
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  overflow:hidden;
}
.fw-progress-bar{
  list-style:none;
  display:flex;
  gap:0;
  margin:0;
  padding:0;
  counter-reset:pi-step;
  width:100% !important;
  max-width:100% !important;
}
.fw-progress-step{
  position:relative !important;
  float:none !important;
  flex:1 1 0 !important;
  width:auto !important;
  max-width:none !important;
  left:auto !important;
  text-align:center;
  padding-top:38px;
  counter-increment:pi-step;
}
.fw-progress-step::before{
  content:counter(pi-step);
  position:absolute;
  top:0; left:50%;
  transform:translateX(-50%);
  width:30px; height:30px;
  border-radius:50%;
  border:1px solid var(--pi-border);
  background:var(--pi-card);
  color:var(--pi-muted);
  font-size:.82rem;
  font-weight:600;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
}
.fw-progress-step::after{
  content:"";
  position:absolute;
  top:14px; left:-50%;
  width:100%; height:2px;
  background:var(--pi-border);
  z-index:1;
}
.fw-progress-step:first-child::after{ display:none; }
.fw-progress-step.fw-active::before{
  background:var(--pi-ink);
  border-color:var(--pi-ink);
  color:#fff;
}
.fw-progress-step.fw-done::before,
.fw-progress-step.fw-active ~ .fw-progress-step.fw-done::before{
  background:var(--pi-gold);
  border-color:var(--pi-gold);
  color:#fff;
}
.fw-progress-step.fw-done::after,
.fw-progress-step.fw-active::after{
  background:linear-gradient(90deg, var(--pi-gold), var(--pi-ink));
}
.fw-progress-bar-bar{ display:none; } /* barre interne du plugin, on la remplace visuellement par ::after */
/* .fw-txt-ellipsis{
  display:block;
  margin-top:8px;
  font-size:.74rem;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--pi-muted);
  white-space:normal;
}
.fw-progress-step.fw-active .fw-txt-ellipsis{ color:var(--pi-ink); font-weight:600; } */ */

/* ---------- Corps des étapes ---------- */
.fw-wizard-step-container{ padding:8px 40px 0; }
.fw-wizard-step{ padding:24px 0 8px; }
.fw-step-part-title{ display:none; } /* déjà affiché dans le header au-dessus */

/* .fw-step-block{
  margin-bottom:22px;
} */
.msf-h3{
  display:block;
  font-family:"Inter", sans-serif;
  font-weight:600;
  font-size:.92rem;
  color:var(--pi-ink);
  margin-bottom:8px;
}

/* ---------- Champs texte / numérique / email ---------- */
.fw-text-input,
.fw-select,
.select2-container .select2-selection--single{
  width:100%;
  border:1px solid var(--pi-border) !important;
  border-radius:10px !important;
  background:var(--pi-card) !important;
  padding:12px 14px !important;
  height:auto !important;
  font-size:.96rem;
  color:var(--pi-ink);
  transition:border-color .15s;
}
.fw-text-input:focus,
.select2-container--focus .select2-selection--single{
  border-color:var(--pi-gold) !important;
  outline:none;
}
.select2-selection__rendered{
  line-height:normal !important;
  padding:0 !important;
  color:var(--pi-ink) !important;
}
.select2-selection__arrow{ height:100% !important; }
.fw-input-container .form-control-feedback{ display:none; } /* icônes crayon/enveloppe du plugin, pas dans le design d'origine */

/* ---------- Choix façon "cartes" : type de bien / niveau de prestation ---------- */
.fw-step-block[data-type="fw-radio"] > .fw-choice.fw-radio-row{
  display:inline-flex;
}
.fw-step-block[data-type="fw-radio"]{
  display:block;
}
.fw-step-block[data-type="fw-radio"] .fw-choice.fw-radio-row{
  display:block;
  margin:0 0 10px;
}
/* on passe les groupes de radio en grille de cartes */
.fw-wizard-step[data-stepid="0"] .fw-step-block[data-type="fw-radio"],
.fw-wizard-step[data-stepid="2"] .fw-step-block[data-type="fw-radio"]:nth-of-type(2)
{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:10px;
}
 #multi-step-form.fw-large-container .fw-progress-bar-container {
       margin-bottom: 0 !important;
    width: 120%;
    padding: 46px 0px 0px;
}
.fw-wizard-step {
    padding: 0px 0 11px;
}
.fw-wizard-step-container {
    padding: 0px 48px;
}
#multi-step-form .select2-container--default .select2-selection--single {
 border: 1px solid #d5c6a4 !important;
    border-radius: 4px !important;
    height: 55px !important;
    padding-top: 11px !important;
    background-color: #fff !important;
}
.fw-choice.fw-radio-row {
    border: 1px solid #d5c6a4 !important;
    border-radius: 4px !important;
}
#multi-step-form [data-type=fw-radio] label, #multi-step-form [data-type=fw-checkbox] label {
    padding-left: 35px !important;
}
#multi-step-form .fw-radio-row input[type=radio]:checked+label:before {
        line-height: 18px;
    }
#multi-step-form .select2-container--default .select2-selection--single .select2-selection__rendered {

    font-size: 17px;
}

.fw-txt-ellipsis {
    margin-top: 0;
}
    #multi-step-form.fw-large-container .fw-progress-bar .fw-progress-step:before {
      height: 45px;
    line-height: 45px;
    width: 45px;
    font-size: 15px;
    z-index: 1;
    font-family: 'Fraunces';
    text-align: center;
    left: 124px;box-shadow: 0 0 0 4px #EFE8D8;
    }
#multi-step-form.fw-large-container .fw-progress-bar .fw-progress-step {
        margin: 32px 0 0;
        padding: 0px;
    }
    #multi-step-form.fw-large-container .fw-progress-bar .fw-progress-step .fw-txt-ellipsis {
        font-size: 13px;    font-style: italic;
    font-weight: 500;
    }
    #multi-step-form.fw-large-container .fw-progress-bar .fw-progress-step:last-child:before {
        font-size: 15px;
        padding-top: 2px;
    }
#multi-step-form .fw-step-block input, #multi-step-form .fw-step-block textarea {
    width: 100% !important;
}
#multi-step-form.fw-large-container .fw-progress-bar .fw-progress-step .fw-txt-ellipsis{
	text-align: center; position: relative; left: -16px;
}
.fw-wizardd-step[data-stepid="0"] .fw-step-block[data-type="fw-radio"] .msf-h3,
.fw-wizar-step[data-stepid="2"] .fw-step-block[data-type="fw-radio"]:nth-of-type(2) .msf-h3{
  grid-column:1 / -1;
}
.fw-wizard-step[data-stepid="0"] .fw-choice.fw-radio-row,
.fw-wizard-step[data-stepid="2"] .fw-step-block[data-type="fw-radio"]:nth-of-type(2) .fw-choice.fw-radio-row{
  margin:0 !important;
}
    #multi-step-form.fw-large-container .fw-progress-bar .fw-progress-step {
        width: 21%;
    }
.fw-choice.fw-radio-row{
    position: relative !important;
    display: block !important;
    float: none !important;
    border: 1px solid var(--pi-border) !important;
    border-radius: 4px !important;
    background: #fff !important;
    padding: 13px !important;
    transition: border-color .15s, background .15s;
}
.fw-text-input, .fw-select, .select2-container .select2-selection--single {
    width: 100%;
    border: 1px solid var(--pi-border) !important;
    border-radius: 4px !important;
    background: #fff !important;
    height: 55px !important;
}
.fw-choice.fw-radio-row:has(input:checked){
  border-color:var(--pi-gold) !important;
  background:var(--pi-sand) !important;
}
.fw-choice.fw-radio-row .fw-radio{
  position:absolute !important;
  inset:0 !important;
  top:0 !important; right:auto !important; left:0 !important; bottom:0 !important;
  width:100% !important; height:100% !important;
  margin:0 !important;
  opacity:0 !important;
  cursor:pointer;
  z-index:3;
}
.fw-choice.fw-radio-row label{
  display:block !important;
  float:none !important;
  padding:0 !important;
  margin:0 !important;
  font-weight:600;
  color:var(--pi-ink) !important;
  cursor:pointer;
  position:relative;
  z-index:1;
}

/* ---------- Étape 2 : liste des zones (checkboxes numérotées) ---------- */
.fw-wizard-step[data-stepid="1"] .fw-step-block[data-type="fw-radio"]{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:10px;
}
.fw-wizard-step[data-stepid="1"] .msf-h3{ grid-column:1 / -1; }
.fw-wizard-step[data-stepid="1"] .fw-choice.fw-input-container{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid var(--pi-border);
  border-radius:12px;
  background:var(--pi-card);
  padding:14px 16px;
  margin:0;
  cursor:pointer;
  transition:border-color .15s, background .15s;
}
.fw-wizard-step[data-stepid="1"] .fw-choice.fw-input-container:has(input:checked){
  border-color:var(--pi-gold);
  background:var(--pi-sand);
}
.fw-wizard-step[data-stepid="1"] .fw-checkbox{
  width:17px; height:17px;
  accent-color:var(--pi-gold);
  margin:0;
}
.fw-wizard-step[data-stepid="1"] .fw-choice.fw-input-container label{
  font-weight:600;
  color:var(--pi-ink);
  cursor:pointer;
}
/* badge numéroté "01" extrait du texte par pi-msf.js */
.pi-zone-n{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px; height:24px;
  padding:0 4px;
  border:1px solid var(--pi-border);
  border-radius:6px;
  font-family:"Fraunces", serif;
  font-style:italic;
  font-size:.78rem;
  color:var(--pi-gold);
  margin-right:2px;
}

/* ---------- Upload de fichier ---------- */
.fw-button-fileupload{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px dashed var(--pi-border);
  border-radius:10px;
  background:var(--pi-sand-2);
  color:var(--pi-ink);
  padding:12px 16px;
  font-weight:600;
  font-size:.9rem;
  cursor:pointer;
}
.fw-input-container p{ color:var(--pi-muted); font-size:.82rem; margin-top:6px; }

/* ---------- Résumé (facultatif) ---------- */
.fw-toggle-summary{
  border:1px solid var(--pi-border);
  background:var(--pi-card);
  border-radius:10px;
  padding:10px 16px;
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.03em;
  color:var(--pi-ink);
  cursor:pointer;
  margin:12px 0;
}
.fw-wizard-summary{
  background:var(--pi-sand);
  border:1px solid var(--pi-border);
  border-radius:14px;
  padding:20px;
}
.fw-step-summary-title{
  font-family:"Fraunces", serif;
  color:var(--pi-gold);
  text-transform:uppercase;
  font-size:.78rem;
  letter-spacing:.05em;
  margin:14px 0 6px;
}
.fw-step-summary-field{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:6px 0;
  border-bottom:1px dashed var(--pi-border);
  font-size:.88rem;
}
.fw-summary-invalid{ color:var(--pi-warn); }
.fw-summary-alert{
  background:#fbe9e4;
  color:var(--pi-warn);
  border-radius:8px;
  padding:10px 14px;
  font-size:.85rem;
  margin-bottom:14px;
}
.fw-wizard-step[data-stepid="0"] .fw-step-part-body{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}

.fw-wizard-step[data-stepid="0"] .fw-step-part-body > .fw-step-block:nth-child(3),
.fw-wizard-step[data-stepid="0"] .fw-step-part-body > .fw-step-block:nth-child(4){
    grid-column:1 / -1;
}
#multi-step-form.fw-large-container .fw-progress-bar .fw-progress-step:after {
        content: "";
        background-size: 35px 35px;
        margin: 0 auto;
        padding: 0;
        height: 6px;
        width: 100%;
        left: 52%;
        position: absolute;
        top: -52px;
        z-index: 0;
    }

/* Étape 3 */
.fw-wizard-step[data-stepid="2"] .fw-step-part-body{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}

/* Surface */
.fw-wizard-step[data-stepid="2"] .fw-step-block:nth-child(1){
    grid-column:1;
}

/* Matériau */
.fw-wizard-step[data-stepid="2"] .fw-step-block:nth-child(2){
    grid-column:2;
}

/* Niveau de prestation */
.fw-wizard-step[data-stepid="2"] .fw-step-block:nth-child(3){
    grid-column:1 / -1;
}

/* Aides recherchées */
.fw-wizard-step[data-stepid="2"] .fw-step-block:nth-child(4){
    grid-column:1;
}

/* Parachèvement */
.fw-wizard-step[data-stepid="2"] .fw-step-block:nth-child(5){
    grid-column:2;
}

/* Photos */
.fw-wizard-step[data-stepid="2"] .fw-step-block:nth-child(6){
    grid-column:1 / -1;
}

/* Étape 4 */
.fw-wizard-step[data-stepid="3"] .fw-step-part-body{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}

.fw-wizard-step[data-stepid="3"] .fw-step-block{
    width:auto !important;
    float:none !important;
    margin:0 !important;
    max-width:none !important;
}

/* Adresse sur toute la largeur */
.fw-wizard-step[data-stepid="3"] .fw-step-block:nth-child(5){
    grid-column:1 / -1;
}

/* Politique de confidentialité */
.fw-wizard-step[data-stepid="3"] .fw-step-block:nth-child(10){
    grid-column:1 / -1;
}

#multi-step-form.fw-large-container .fw-progress-bar .fw-progress-step.fw-visited:before {
        font-size: 21px;
    }
/* ---------- Boutons de navigation ---------- */
.fw-wizard-button-container{
  padding:24px 40px 32px;
  border-top:1px solid var(--pi-border);
  margin-top:16px; background-color: #F4EFE3;
}
.fw-wizard-buttons{
  display:flex;
  justify-content:space-between;
  align-items:center;
}
#multi-step-form.fw-large-container .fw-progress-bar .fw-progress-step .fw-txt-ellipsis[data-title]:hover:after{
	        box-shadow: 5px 0 0 0 rgba(0, 0, 0, 0.15)!important;
}
    #multi-step-form.fw-large-container .fw-progress-bar .fw-progress-step .fw-txt-ellipsis[data-title]:hover:before {
                border-bottom-width: 0!important;

    }
#multi-step-form .fw-wizard-step-container .msf-h3 {
    font-weight: 600;
    font-size: 15px;
}
.fw-button-previous,
.fw-button-next,
.fw-btn-submit{
  border:none;
  border-radius:10px;
  padding:13px 24px;
  font-weight:600;
  font-size:.92rem;
  cursor:pointer;
  transition:opacity .15s;
}
.fw-button-previous{
  background:transparent;
  border:1px solid var(--pi-border);
  color:var(--pi-ink);
}
.fw-button-next,
.fw-btn-submit{
  background:var(--pi-ink);
  color:#fff;
  margin-left:auto;
}
.fw-button-previous:hover,
.fw-button-next:hover,
.fw-btn-submit:hover{ opacity:.88; }
.fw-button-previous i,
.fw-button-next i{ display:none; } /* icônes font-awesome par défaut, pas dans le design d'origine */

/* ---------- Responsive ---------- */
@media (max-width: 720px){
  .fw-wizard-step-header-container,
  .fw-wizard-step-container,
  .fw-wizard-button-container,
  .fw-progress-bar-container{ padding-left:20px; padding-right:20px; }
  .fw-wizard-step[data-stepid="0"] .fw-step-block[data-type="fw-radio"],
  .fw-wizard-step[data-stepid="1"] .fw-step-block[data-type="fw-radio"],
  .fw-wizard-step[data-stepid="2"] .fw-step-block[data-type="fw-radio"]:nth-of-type(2){
    grid-template-columns:1fr;
  }
/*   .fw-txt-ellipsis{ display:none; }  */
	/* libellés d'étape masqués sur mobile, seuls les ronds numérotés restent */
	#multi-step-form{
 max-width:auto !important;
  width:100%!important;
}
	#multi-step-form .fw-progress-bar .fw-progress-step:before {
		font-size:15px;
		font-family: 'Fraunces';
	}
}
/* ===========================
   Mobile (≤768px)
=========================== */

@media (max-width:768px){

    /* Tous les formulaires sur une seule colonne */
    .fw-step-part-body{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:16px !important;
    }

    .fw-step-block{
        width:100% !important;
        max-width:100% !important;
        float:none !important;
        grid-column:1 / -1 !important;
        margin:0 !important;
    }

    /* Radios (Maison, Appartement...) */
    .fw-step-block[data-type="fw-radio"]{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:12px;
    }

    /* Checkboxes (Zones à isoler) */
    .fw-step-block[data-type="fw-radio"] .fw-input-container{
        width:100% !important;
    }

    /* Tous les champs */
    .fw-text-input,
    .select2-container,
    .select2-selection,
    .fw-choice label{
        width:100% !important;
    }

    /* Barre de progression */
    .fw-progress-bar{
        gap:8px;
    }

    .fw-progress-step::before{
        width:34px;
        height:34px;
        font-size:15px;
    }

    .fw-txt-ellipsis{
        font-size:11px;
    }

    /* Boutons */
    .fw-wizard-buttons{
        flex-direction:column;
        gap:12px;
    }

    .fw-button-next,
    .fw-button-previous{
        width:100%;
    }
#multi-step-form .fw-progress-bar .fw-progress-step:before {
    line-height: 36px!important;
    height: 36px!important;
    width: 36px!important;
    font-size: 11px!important;
}
}