/*
Theme Name: FISVI
Description: Tema Child per Hello Elementor di Dynamic Mind
Author: Dynamic Mind
Template: hello-elementor
Version: 1.0.0
*/
/* BLOCCO INTRO */
.gform_wrapper .gfield.complete-field {
  /* spazio sotto il blocco */
  margin-bottom: 18px;

  /* spazio interno prima della linea */
  padding-bottom: 12px;

  /* linea divisoria sottile */
  border-bottom: 1px solid #d9e1e8;
}

/* TITOLO */
.gform_wrapper .gfield.complete-field .gsection_title {
  /* distanza dal testo sotto */
  margin: 0 0 6px;

  /* blu scuro */
  color: #103b63;

  /* dimensione piccola come nello screenshot target */
  font-size: 18px;

  /* interlinea compatta */
  line-height: 1.3;

  /* peso medio/semibold */
  font-weight: 500;

  /* niente tracking strano */
  letter-spacing: 0;

  /* larghezza controllata */
  max-width: 760px;
}

/* DESCRIZIONE */
.gform_wrapper .gfield.complete-field .gsection_description {
  /* reset margini */
  margin: 0;

  /* stesso blu */
  color: #103b63;

  /* testo piccolo */
  font-size: 15px;

  /* interlinea naturale */
  line-height: 1.4;

  /* normale */
  font-weight: 400;

  /* niente corsivo */
  font-style: normal;
}

/* se dentro c'è un <em>, annulla il corsivo */
.gform_wrapper .gfield.complete-field .gsection_description em {
  font-style: normal;
}

/* MOBILE */
@media (max-width: 767px) {
  .gform_wrapper .gfield.complete-field .gsection_title {
    font-size: 17px;
  }

  .gform_wrapper .gfield.complete-field .gsection_description {
    font-size: 14px;
  }
}

/* =========================================================
   CAMPI TESTUALI
   Usa la classe custom: text-field
   - First name
   - Last name
   - Work E-mail
   - Company/Organization
   - City
   - Phone
========================================================= */

/* Label del campo */
.gform_wrapper .gfield.text-field .gfield_label {
  color: #103b63;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
  margin-bottom: 8px;
}

/* Nasconde il testo "(Obbligatorio)" */
.gform_wrapper .gfield.text-field .gfield_required_text {
  display: none !important;
}

/* Azzera il contenitore del required */
.gform_wrapper .gfield.text-field .gfield_required {
  font-size: 0;
}

/* Mostra solo l'asterisco rosso */
.gform_wrapper .gfield.text-field .gfield_required::after {
  content: " *";
  color: #d94b2b;
  font-size: 15px;
  font-weight: 700;
}

/* Input testuali */
.gform_wrapper .gfield.text-field input[type="text"],
.gform_wrapper .gfield.text-field input[type="email"],
.gform_wrapper .gfield.text-field input[type="tel"] {
  width: 100%;
  height: 42px;
  padding: 10px 12px;
  border: 1px solid #d9e1e8;
  border-radius: 4px;
  background: #fff;
  color: #103b63;
  font-size: 15px;
  line-height: 1.4;
  box-shadow: none;
}

/* Placeholder */
.gform_wrapper .gfield.text-field input::placeholder {
  color: #8a97a6;
}

/* Focus del campo */
.gform_wrapper .gfield.text-field input[type="text"]:focus,
.gform_wrapper .gfield.text-field input[type="email"]:focus,
.gform_wrapper .gfield.text-field input[type="tel"]:focus {
  outline: none;
  border-color: #74c7e8;
  box-shadow: 0 0 0 3px rgba(116, 199, 232, 0.16);
}


/* =========================================================
   SELECT
   Usa la classe custom: select-field
========================================================= */

/* Label del campo */
.gform_wrapper .gfield.select-field .gfield_label {
  color: #103b63;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
  margin-bottom: 8px;
}

/* Nasconde "(Obbligatorio)" */
.gform_wrapper .gfield.select-field .gfield_required_text {
  display: none !important;
}

/* Azzera il contenitore del required */
.gform_wrapper .gfield.select-field .gfield_required {
  font-size: 0;
}

/* Mostra solo l'asterisco rosso */
.gform_wrapper .gfield.select-field .gfield_required::after {
  content: " *";
  color: #d94b2b;
  font-size: 15px;
  font-weight: 700;
}

/* Contenitore della select */
.gform_wrapper .gfield.select-field .ginput_container_select {
  display: flex;
  align-items: center;
}

/* Select */
.gform_wrapper .gfield.select-field select {
  width: 100%;
  min-height: 42px;
  height: 42px;
  padding: 0 38px 0 12px;
  border: 1px solid #d9e1e8;
  border-radius: 4px;
  background-color: #fff;
  color: #103b63;
  font-size: 15px;
  font-weight: 400;
  line-height: 42px;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  box-sizing: border-box;
  vertical-align: middle;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' fill='none' stroke='%23103b63' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px;
}

/* Fix specifico per Firefox */
.gform_wrapper .gfield.select-field select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #103b63;
}

/* Focus della select */
.gform_wrapper .gfield.select-field select:focus {
  outline: none;
  border-color: #74c7e8;
  box-shadow: 0 0 0 3px rgba(116, 199, 232, 0.16);
}

/* Placeholder delle select con prima option vuota */
.gform_wrapper .gfield.select-field select:invalid {
  color: #8a97a6;
}


/* =========================================================
   TEXTAREA
   Usa la classe custom: textarea-field
   - Message
========================================================= */

/* Label del campo */
.gform_wrapper .gfield.textarea-field .gfield_label {
  color: #103b63;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
  margin-bottom: 8px;
}

/* Nasconde "(Obbligatorio)" */
.gform_wrapper .gfield.textarea-field .gfield_required_text {
  display: none !important;
}

/* Azzera il contenitore del required */
.gform_wrapper .gfield.textarea-field .gfield_required {
  font-size: 0;
}

/* Mostra solo l'asterisco rosso */
.gform_wrapper .gfield.textarea-field .gfield_required::after {
  content: " *";
  color: #d94b2b;
  font-size: 15px;
  font-weight: 700;
}

/* Textarea */
.gform_wrapper .gfield.textarea-field textarea {
  width: 100%;
  min-height: 160px;
  padding: 10px 12px;
  border: 1px solid #d9e1e8;
  border-radius: 4px;
  background: #fff;
  color: #103b63;
  font-size: 15px;
  line-height: 1.4;
  box-shadow: none;
  resize: vertical;
}

/* Placeholder */
.gform_wrapper .gfield.textarea-field textarea::placeholder {
  color: #8a97a6;
}

/* Focus del campo */
.gform_wrapper .gfield.textarea-field textarea:focus {
  outline: none;
  border-color: #74c7e8;
  box-shadow: 0 0 0 3px rgba(116, 199, 232, 0.16);
}
/* =========================================================
   CHECKBOX
   Usa la classe custom: checkbox-field
   - Privacy
   - Newsletter
========================================================= */

/* Wrapper del campo */
.gform_wrapper .gfield.checkbox-field {
  margin-top: 4px;
}

/* Lista checkbox */
.gform_wrapper .gfield.checkbox-field .gfield_checkbox {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Singola riga checkbox */
.gform_wrapper .gfield.checkbox-field .gchoice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
}

/* Checkbox */
.gform_wrapper .gfield.checkbox-field input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  accent-color: #103b63;
}

/* Label checkbox */
.gform_wrapper .gfield.checkbox-field .gchoice label {
  color: #103b63;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
  margin: 0;
}

/* Link dentro checkbox */
.gform_wrapper .gfield.checkbox-field .gchoice label a {
  color: #103b63;
  text-decoration: underline;
}
/* =========================================================
   FILE UPLOAD
   Usa la classe custom: file-field
========================================================= */

/* Label del campo */
.gform_wrapper .gfield.file-field .gfield_label {
  color: #103b63;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
  margin-bottom: 8px;
}

/* Nasconde "(Obbligatorio)" */
.gform_wrapper .gfield.file-field .gfield_required_text {
  display: none !important;
}

/* Mostra solo l'asterisco rosso */
.gform_wrapper .gfield.file-field .gfield_required {
  font-size: 0;
}

.gform_wrapper .gfield.file-field .gfield_required::after {
  content: " *";
  color: #d94b2b;
  font-size: 15px;
  font-weight: 700;
}

/* Input file più coerente con gli altri campi */
.gform_wrapper .gfield.file-field input[type="file"] {
  width: 100%;
  height: 42px;
  padding: 7px 12px;
  border: 1px solid #d9e1e8;
  border-radius: 4px;
  background: #fff;
  color: #103b63;
  font-size: 14px;
  line-height: 1.4;
  box-shadow: none;
}

/* Bottone interno del file */
.gform_wrapper .gfield.file-field input[type="file"]::file-selector-button {
  height: 28px;
  padding: 0 12px;
  margin-right: 12px;
  border: 1px solid #d9e1e8;
  border-radius: 4px;
  background: #f8fafc;
  color: #103b63;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}

/* Focus */
.gform_wrapper .gfield.file-field input[type="file"]:focus {
  outline: none;
  border-color: #74c7e8;
  box-shadow: 0 0 0 3px rgba(116, 199, 232, 0.16);
}

/* Testo descrittivo sotto */
.gform_wrapper .gfield.file-field .gfield_description {
  color: #5f6f82;
  font-size: 13px;
  line-height: 1.45;
  margin-top: 6px;
}
/* =========================================================
   BOTTONE SUBMIT GRAVITY FORMS
========================================================= */

.gform_wrapper #gform_submit_button_2,
.gform_wrapper .gform_button {
  height: 46px;
  padding: 0 22px;
  border: 0;
  border-radius: 14px 0 14px 0;
  background: #103b63;
  color: #ffffff;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  box-shadow: none;
  cursor: pointer;
}

/* Hover */
.gform_wrapper #gform_submit_button_2:hover,
.gform_wrapper .gform_button:hover {
  background: #0d3253;
}

/* Focus */
.gform_wrapper #gform_submit_button_2:focus,
.gform_wrapper .gform_button:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(116, 199, 232, 0.16);
}