/* =========================================
   MODAL ASSISTENZA - STILI DEDICATI (SCOPED)
   FIX: scrollabile su mobile
========================================= */

.faisa-modal{
  position: fixed;
  inset: 0;
  display: none;
  align-items: flex-start;        /* ← era center, causava il problema */
  justify-content: center;
  padding: 18px;
  background: rgba(0,0,0,.55);
  z-index: 999999;
  overflow-y: auto;               /* ← scroll verticale sull'overlay */
  -webkit-overflow-scrolling: touch; /* ← scroll fluido su iOS */
}
.faisa-modal.is-open{display:flex;}
.faisa-modal,.faisa-modal *{box-sizing:border-box;font-family:inherit;color:#1f2937;}

/* Box */
.faisa-modal__box{
  width: 100%;
  max-width: 720px;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 18px 50px rgba(0,0,0,.22);
  border: 2px solid rgba(11,42,74,.15);
  position: relative;
  padding: 18px 18px 16px;
  margin: auto;                   /* ← centra verticalmente quando c'è spazio */
}

/* Header */
.faisa-modal__header{display:flex;align-items:center;gap:12px;}
.faisa-modal__logo{width:54px;height:auto;display:block;}
.faisa-modal__brand{font-weight:800;color:#0b2a4a;font-size:16px;line-height:1.1;}
.faisa-modal__subtitle{color:#6b7280;font-size:12px;margin-top:2px;}
.faisa-modal__divider{height:1px;background:#e8ebf1;margin:14px 0 10px;}

/* Close */
.faisa-modal__close{position:absolute;top:10px;right:12px;width:40px;height:40px;border-radius:12px;border:0;background:rgba(11,42,74,.08);color:#0b2a4a;font-size:22px;line-height:1;cursor:pointer;}
.faisa-modal__close:hover{background:rgba(11,42,74,.15);}

/* Placeholder */
.faisa-modal ::placeholder{color:#9ca3af !important;opacity:1;}

/* Select base */
.faisa-modal select{appearance:none;-webkit-appearance:none;-moz-appearance:none;}

/* =========================
   CAMPI FORM (SOLO TESTUALI)
========================= */
.faisa-modal input[type="text"],
.faisa-modal input[type="email"],
.faisa-modal input[type="tel"],
.faisa-modal input[type="password"],
.faisa-modal input[type="search"],
.faisa-modal input[type="url"],
.faisa-modal input[type="number"],
.faisa-modal select,
.faisa-modal textarea{
  width:100%;
  background:#fff !important;
  color:#1f2937 !important;
  border:1px solid #d1d5db !important;
  border-radius:12px;
  padding:10px 12px;
  font-size:14px;
  transition:border-color .2s ease,box-shadow .2s ease;
}

.faisa-modal input[type="text"]:focus,
.faisa-modal input[type="email"]:focus,
.faisa-modal input[type="tel"]:focus,
.faisa-modal input[type="password"]:focus,
.faisa-modal input[type="search"]:focus,
.faisa-modal input[type="url"]:focus,
.faisa-modal input[type="number"]:focus,
.faisa-modal select:focus,
.faisa-modal textarea:focus{
  outline:none;
  border-color:#0b2a4a !important;
  box-shadow:0 0 0 2px rgba(11,42,74,.15) !important;
}

/* =========================
   TEXTAREA
========================= */
.faisa-modal textarea{resize:none;height:110px;min-height:110px;max-height:110px;overflow:auto;line-height:1.35;}
.faisa-modal textarea{scrollbar-width:none;-ms-overflow-style:none;}
.faisa-modal textarea::-webkit-scrollbar{width:0;height:0;display:none;}

/* =========================
   CHECKBOX
========================= */
.faisa-modal .form-check{display:flex;align-items:flex-start;gap:10px;}
.faisa-modal input[type="checkbox"]{
  width:18px !important;
  height:18px !important;
  padding:0 !important;
  margin:2px 0 0 0;
  border-radius:4px;
  border:1px solid #9ca3af;
  background:#fff;
  cursor:pointer;
  appearance:auto;
  -webkit-appearance:auto;
}
.faisa-modal .form-check-label{color:#374151;font-size:13px;cursor:pointer;}

/* Button */
.faisa-modal__btn{width:100%;border:0;border-radius:14px;padding:12px 14px;background:#0b2a4a !important;color:#fff !important;font-weight:700;transition:background .25s ease,transform .15s ease,box-shadow .25s ease;}
.faisa-modal__btn:hover,.faisa-modal__btn:focus,.faisa-modal__btn:focus-visible{background:#143a63 !important;color:#fff !important;box-shadow:0 6px 18px rgba(11,42,74,.25);}
.faisa-modal__btn:active{background:#0b2a4a !important;color:#fff !important;transform:translateY(0);}
.faisa-modal__btn:disabled{opacity:.75;transform:none;cursor:not-allowed;}

/* Messaggi esito */
.faisa-msg{display:none;opacity:0;transform:translateY(-6px);max-height:0;overflow:hidden;transition:opacity .35s ease,transform .35s ease,max-height .35s ease;}
.faisa-msg.is-visible{display:block;opacity:1;transform:translateY(0);max-height:160px;}
.faisa-msg .alert{border-radius:12px;border:0;box-shadow:0 6px 16px rgba(0,0,0,.10);margin:10px 0 0 0;padding:10px 12px;font-size:14px;}
.faisa-msg .alert-success{background:#e6f4ea;color:#1e7e34;}
.faisa-msg .alert-danger{background:#fdecea;color:#b00020;}

/* Mobile */
@media (max-width:576px){
  .faisa-modal{
    padding: 12px;
    align-items: flex-start;      /* ← sempre flex-start su mobile */
  }
  .faisa-modal__box{
    border-radius:16px;
    padding:16px 14px 14px;
    margin: 0 auto 12px;          /* ← margine sotto per respiro */
  }
  .faisa-modal__logo{width:48px;}
}