/* ============================================================================
   Multidialogo — Modale di registrazione a step
   (Prima era uno <style> inline in app/registrazione-step.php — ora qui.)
   ============================================================================ */
.md-reg-overlay{position:fixed;inset:0;z-index:10000;background:rgba(0,16,36,.55);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  display:none;align-items:flex-start;justify-content:center;overflow-y:auto;padding:40px 18px}
.md-reg-overlay.open{display:flex}
.md-reg-modal{background:var(--bg-card,#fff);color:var(--text,#002048);width:100%;max-width:620px;
  border-radius:24px;box-shadow:0 40px 100px rgba(0,0,0,.5);border:1px solid var(--line,rgba(0,32,72,.08));
  position:relative;animation:mdpop .4s cubic-bezier(.16,1,.3,1);margin:auto}
@keyframes mdpop{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}
.md-reg-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;
  border:none;background:var(--bg-elev,#f1f3f6);color:var(--text,#002048);font-size:20px;cursor:pointer;
  display:grid;place-items:center;z-index:2;transition:background .2s}
.md-reg-close:hover{background:#F05800;color:#fff}
.md-reg-head{padding:38px 38px 0}
.md-reg-head h2{font-weight:800;font-size:1.6rem;letter-spacing:-.03em;margin:0 0 4px}
.md-reg-head p{color:var(--text-soft,#5a6470);font-size:.96rem;margin:0}
.md-reg-body{padding:24px 38px 38px}
@media(max-width:560px){.md-reg-head{padding:30px 22px 0}.md-reg-body{padding:18px 22px 30px}}

.md-stepper{display:flex;align-items:center;gap:12px;margin:22px 0 6px}
.md-stepper .sd{display:flex;align-items:center;gap:9px}
.md-stepper .circ{width:28px;height:28px;border-radius:50%;border:2px solid var(--line-strong,#c9d0da);
  display:grid;place-items:center;font-weight:700;font-size:.82rem;color:var(--text-faint,#9aa2ad);transition:all .3s}
.md-stepper .sd.active .circ,.md-stepper .sd.done .circ{background:#F05800;border-color:#F05800;color:#fff}
.md-stepper .lbl{font-size:.85rem;font-weight:600;color:var(--text-faint,#9aa2ad)}
.md-stepper .sd.active .lbl,.md-stepper .sd.done .lbl{color:var(--text,#002048)}
.md-stepper .ln{flex:1;height:2px;background:var(--line-strong,#c9d0da);border-radius:2px}
.md-stepper .ln.done{background:#F05800}

#md_prospect_registration_form .input_row[data-step]{display:none}
#md_prospect_registration_form.md-on-step-1 .input_row[data-step="1"]{display:block}
#md_prospect_registration_form.md-on-step-2 .input_row[data-step="2"]{display:block}
#md_prospect_registration_form.md-on-step-1 .privacy{display:none}
#md_prospect_registration_form.md-on-step-1 #ff_submit{display:none}
/* Nasconde le righe-griglia che contengono solo campi dello step inattivo,
   così non lasciano spazio vuoto quando lo step è nascosto */
#md_prospect_registration_form.md-on-step-1 .full-row.row-step-2{display:none}
#md_prospect_registration_form.md-on-step-2 .full-row.row-step-1{display:none}

/* --- Anti-vuoto: la libreria esterna del form può iniettare wrapper/elementi
   nascosti o vuoti che lasciano spazio. Queste regole li azzerano. --- */
#md_prospect_registration_form .md-ac-list[hidden],
#md_prospect_registration_form [hidden]{display:none!important}
/* eventuali contenitori vuoti iniettati tra i campi e la privacy */
#md_prospect_registration_form section > *:empty:not(input):not(button):not(br){display:none!important}
/* la sezione campi non deve avere altezza minima imposta */
#md_prospect_registration_form > section:first-of-type{min-height:0!important;margin-bottom:0!important}
/* la privacy si attacca subito sotto i campi.
   La libreria esterna applica un padding-top elevato (~92px): lo azzeriamo. */
#md_prospect_registration_form .privacy{margin-top:18px!important;padding-top:0!important}
#md_prospect_registration_form .privacy-box{padding-top:0!important;margin-top:0!important}
/* l'autocomplete è in posizione assoluta: non deve occupare spazio nel flusso */
#md_prospect_registration_form .md-ac{min-height:0}
#md_prospect_registration_form .md-ac-list{position:absolute!important}
/* --- Spazio sopra i campi: lo stepper sta vicino al primo campo --- */
.md-stepper{margin:18px 0 14px!important}
#md_prospect_registration_form{margin-top:0!important;padding-top:0!important}
#md_prospect_registration_form > section:first-of-type{margin-top:0!important;padding-top:0!important}
#md_prospect_registration_form .full-row:first-child,
#md_prospect_registration_form .input_row:first-child{margin-top:0!important}
/* --- Spazio sopra "Leggi la nostra informativa": la privacy resta compatta --- */
#md_prospect_registration_form .privacy .privacy-box > p:first-child{margin-top:0!important}
#md_prospect_registration_form .input_row:last-child{margin-bottom:0!important}

#md_prospect_registration_form .full-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){#md_prospect_registration_form .full-row{grid-template-columns:1fr}}
#md_prospect_registration_form .input_row{margin-bottom:16px}
#md_prospect_registration_form label{display:block;font-size:.85rem;font-weight:600;margin-bottom:7px}
#md_prospect_registration_form input{width:100%;font-family:inherit;font-size:.98rem;
  padding:13px 15px;border-radius:13px;border:1px solid var(--line-strong,#c9d0da);
  background:var(--bg-soft,#fff);color:var(--text,#002048);outline:none;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}
#md_prospect_registration_form input:focus{border-color:#F05800;box-shadow:0 0 0 3px rgba(240,88,0,.12)}
#md_prospect_registration_form .md-ac{position:relative}
#md_prospect_registration_form .md-ac-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;margin:0;padding:6px;
  list-style:none;background:var(--bg-card,#fff);border:1px solid var(--line-strong,#c9d0da);border-radius:12px;box-shadow:0 14px 34px rgba(0,32,72,.18);
  max-height:230px;overflow-y:auto}
#md_prospect_registration_form .md-ac-item{padding:9px 12px;border-radius:8px;font-size:.93rem;color:var(--text,#002048);cursor:pointer}
#md_prospect_registration_form .md-ac-item:hover,
#md_prospect_registration_form .md-ac-item.active{background:rgba(240,88,0,.1);color:#F05800}
#md_prospect_registration_form .privacy{margin-top:20px}
#md_prospect_registration_form .privacy-box>p{font-size:.9rem;color:var(--text-soft,#5a6470);margin:0 0 16px}
#md_prospect_registration_form .privacy-box a{color:#F05800}
#md_prospect_registration_form fieldset{border:1px solid var(--line,rgba(0,32,72,.08));border-radius:14px;padding:16px;margin:0 0 14px}
#md_prospect_registration_form legend{font-size:.85rem;font-weight:600;padding:0 6px}
#md_prospect_registration_form .input-radio{display:inline-flex;align-items:center;gap:6px;margin-right:18px;font-size:.9rem}
#md_prospect_registration_form #ff_submit{width:100%;margin-top:6px;padding:14px;border:none;border-radius:100px;
  background:#F05800;color:#fff;font-weight:700;font-size:1rem;cursor:pointer;font-family:inherit}

.md-out-err{color:#e23b3b;font-size:.8rem;margin-top:-8px;margin-bottom:12px;display:none}
.md-out-err.show{display:block}
.md-step-nav{display:flex;justify-content:space-between;gap:12px;margin-top:10px}
.md-step-nav .spacer{flex:1}
.md-btn-next,.md-btn-back{font-family:inherit;font-weight:600;font-size:.95rem;padding:13px 26px;
  border-radius:100px;cursor:pointer;border:none}
.md-btn-next{background:#F05800;color:#fff}
.md-btn-back{background:transparent;color:var(--text,#002048);border:1px solid var(--line-strong,#c9d0da)}
