input {
  padding: 0;
}

/* ----- Validazione: messaggi di errore e campi non validi ----- */
.error-msg {
  width: 100%;
  margin-top: 4px;
  color: #ef4444;
  font-size: 0.8rem;
  line-height: 1.3;
  text-align: left;
}

.input-container {
  width: 100%;
}

.form-container > form input.input-invalid {
  border: 1px solid #ef4444 !important;
  background-color: #fff5f5 !important;
}

/* Bordo rosso anche sul wrapper del telefono (intl-tel-input) */
.form-container .iti:has(input.input-invalid) {
  border: 1px solid #ef4444 !important;
  background-color: #fff5f5 !important;
}

.submitButton:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

/* ----- Spunta di successo nel modale ----- */
.am-success-check {
  margin-top: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.checkbox{
  width: 15px !important;
  height: 15px !important;
  margin-top: 10px !important;
}

.form-container{
    display: flex;
    flex-direction: column;
    background-color: transparent;
    border-radius: 4%;  
    width: 100%;
    justify-content: space-between;
  
    >form:first-child {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      height: 100%;
      width: 100%;
      gap: 10px;
      
  
      >div{
        width: 100%;
        >input{
          width: 100%;
          height: 40px;
          padding-block: 10px;
          padding-inline: 20px;
          border-radius: 5px;
          border: 1px solid #c7c7c7;
          outline-color: none;
          background-color: white;
        }
    
        >input:focus-visible{
          border: 1px solid #c7c7c7;
          outline: none;
        }
    

      }
      >button{
        width: 100%;
        padding-block: 10px;
        padding-inline: 20px;
        border: none;
        border-radius: 5px;
        color: white;
        font-weight: 600;
        text-transform: uppercase;
        box-shadow: 0px 10px 20px #77777775;
      }
    }

    >div:last-child{
      padding: 26px 26px 26px 26px;
      background-color: #ECECEC;
      border-radius: 0px 0px 15px 15px;
      display: flex;
      justify-content: center;
      >img{
        margin: 0 auto;
      }
    }
  }

  
  .phone_number{
    width: 100% !important;
    border-radius: 5px !important;
    border: none !important;
    outline: none !important;
  }
  
  .iti{
    width: 100% !important;
    height: 40px !important;
    border-radius: 5px !important;
    border: 1px solid #c7c7c7 !important;
    background-color: white !important;
    outline: none !important;
  }