/* Overlay shell */
.lead-overlay[hidden]{display:none!important;}
.lead-overlay{
  position:fixed; inset:0; z-index:2147483646; /* above #header */
  pointer-events:auto; transform:none !important; /* defeat theme transforms */
}

/* Backdrop */
.lead-overlay .lead-backdrop{
  position:absolute; inset:0;
  background:rgba(0,0,0,.55);
  opacity:1; display:block; z-index:1;
}

/* Dialog (centered) */
.lead-overlay .lead-dialog{
  position:absolute;
  top:50% !important; left:50% !important;
  transform:translate(-50%, -50%) !important;
  margin:0 !important;
  width:min(720px,92vw);
  max-height:88vh; overflow:visible;
  background:#fff; border-radius:16px;
  padding:1.25rem 1.5rem;
  box-shadow:0 20px 60px rgba(0,0,0,.35);
  z-index:2;
}
.lead-title{margin:0 0 .75rem; font-size:1.25rem;}
.lead-close{
  position:absolute; right:.75rem; top:.5rem;
  border:0; background:transparent; font-size:1.25rem; cursor:pointer;
}

/* Keep Select2 above everything and prevent clipping */
.select2-container{z-index:2147483646!important;}
.select2-container--open{z-index:2147483647!important;}
.lead-overlay .forminator-row,
.lead-overlay .forminator-field,
.lead-overlay .forminator-field-wrap{overflow:visible;}

/* Lock background scroll when open */
.no-scroll{overflow:hidden!important;}

/* Mobile tweak: avoid notch overlap */
@media (max-width:640px){
  .lead-overlay .lead-dialog{
    top:8vh !important; left:50% !important; transform:translate(-50%, 0) !important;
    max-height:84vh;
  }
}
