/* form */
form {
  position: relative;
  display: flex;
  flex-direction: column;
}
.gform_heading,
.gform_body .spacer,
.gform_body .gsection {
  margin: 0 !important;
  display: none !important;
}
.gform_body {
  width: 100%;
}
.gform_body .gform_fields {
  display: flex !important;
  grid-column-gap: unset !important;
  grid-row-gap: unset !important;
  grid-template-columns: none !important;
  flex-wrap: wrap;
  justify-content: space-between !important;
  gap: var(--form-gap) !important;
}

/* footer */
.gform_footer {
  width: 100%;
  padding: 0 !important;
  margin: var(--distance-medium) auto 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.gform_footer .button {
  width: 100% !important;
}

/* SUBMIT */
input[type="submit"],
input[type="submit"]:visited,
input[type="submit"]:focus,
input[type="submit"]:hover {
  position: relative;
  padding: calc(var(--distance-big) / 4) calc(var(--distance-big) * 1.5)
    calc(var(--distance-medium) / 2);
  border-radius: var(--distance-medium);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--azzurro_scuro);
  border: none;
  outline: none;
  box-shadow: none;
  font-size: 2rem;
  line-height: 2.6rem;
  letter-spacing: normal;
  font-weight: 400;
  color: var(--bianco);
}
input[type="submit"]:hover {
  opacity: 0.9;
}

/* dimensione campi */
.gform_body .gfield {
  width: 100%;
}
.gform_body .gfield--width-half {
  width: calc(100% / 2 - calc(var(--form-gap) / 2));
}
.gform_body .gfield--width-third {
  width: calc(100% / 3 - calc(var(--form-gap) / 2));
}
.gform_body .gfield--width-two-thirds {
  width: calc(100% / 3 * 2 - calc(var(--form-gap) / 2));
}
/* .gform_body .gfield .ginput_container_consent {
  width: 45%;
} */

/* Label */
main label,
.gfield_wrapper .gfield_error label {
  font-size: 1.6rem !important;
  line-height: 2.4rem;
  text-transform: uppercase;
  display: block;
  font-weight: 400 !important;
  color: var(--grigio_scuro) !important;
}
.gform_body .gfield_required {
  display: none !important;
}

/* Inputs */
input[type="text"],
input[type="text"]:focus,
input[type="text"]:hover,
input[type="tel"],
input[type="tel"]:focus,
input[type="tel"]:hover,
input[type="email"],
input[type="email"]:focus,
input[type="email"]:hover,
input[type="number"],
input[type="number"]:focus,
input[type="number"]:hover,
textarea,
textarea:focus,
textarea:hover,
select,
select:focus,
select:hover {
  font-size: clamp(16px, 1.66vw, 22px) !important;
  line-height: 2;
  letter-spacing: normal;
  font-weight: 400;
  padding: calc(var(--distance-mini) * 1.5) calc(var(--distance-big) / 2) !important;
  border: 1px solid rgba(87, 209, 249, 0.2) !important;
  background: rgba(87, 209, 249, 0.2);
  border-radius: var(--distance-medium);
  transition: var(--transition);
  resize: none !important;
  width: 100%;
}
textarea,
textarea:focus,
textarea:hover {
  border-radius: calc(var(--distance-medium) / 2);
}
select,
select:focus,
select:hover {
  background-image: linear-gradient(
      45deg,
      transparent 50%,
      var(--grigio_scuro) 50%
    ),
    linear-gradient(135deg, var(--grigio_scuro) 50%, transparent 50%),
    linear-gradient(to right, var(--grigio), var(--grigio));
  background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%,
    calc(100% - 2.5em) 0.5em;
  background-size: 5px 5px, 5px 5px, 1px 1.5em;
  background-repeat: no-repeat;
  padding-top: calc(var(--distance-mini) * 3) !important;
  padding-bottom: calc(var(--distance-mini) * 3) !important;
  cursor: pointer;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
}
input[type="text"].filled,
input[type="tel"].filled,
input[type="email"].filled,
textarea.filled {
  background: var(--bianco);
  border: 1px solid rgba(87, 209, 249, 0.2) !important;
}
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
textarea:focus {
  background: var(--bianco);
  border: 1px solid var(--blu) !important;
}

/* checkbox */
main input[type="checkbox"] {
  width: 0;
  height: 0;
  overflow: hidden;
  position: absolute;
}
main input[type="checkbox"] + label,
main input[type="checkbox"] label:focus,
main input[type="checkbox"] label:hover {
  font-size: 1.3rem !important;
  line-height: 1.8rem;
  padding-left: var(--distance);
  position: relative;
  color: var(--grigio_scuro) !important;
  text-transform: none;
  cursor: pointer;
}
main input[type="checkbox"] + label a,
main input[type="checkbox"] + label a:focus,
main input[type="checkbox"] + label a:visited,
main input[type="checkbox"] + label a:hover {
  font-size: 1.3rem !important;
  line-height: 1.8rem;
  color: inherit !important;
  text-transform: none;
  text-decoration: underline;
  transition: var(--transition);
}
main input[type="checkbox"] + label a:hover {
  color: var(--azzurro_scuro) !important;
}
main input[type="checkbox"] + label::before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(0.9rem - calc(var(--distance-half) / 2));
  width: var(--distance-half);
  height: var(--distance-half);
  background: transparent;
  border-radius: 5px;
  border: 1px solid var(--azzurro_scuro);
  transition: var(--transition);
}
main input[type="checkbox"] + label:hover::before {
  border: 1px solid var(--azzurro_scuro);
}
main input[type="checkbox"]:checked + label::before {
  border: 1px solid var(--azzurro_scuro);
  background: var(--azzurro_scuro);
}

main .gfield_error input[type="checkbox"] + label::before {
  border: 1px solid var(--error);
}
/* Error */
.gform_validation_errors {
  width: 100%;
  padding: var(--distance-half) !important;
  border: 1px solid var(--error);
  color: var(--error) !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  box-shadow: none !important;
  margin: 0 0 var(--form-gap) !important;
}
.gform_validation_errors .gform-icon--close,
.gform_wrapper.gravity-theme .instruction {
  display: none !important;
}
/* .gfield_validation_message {
  display: none !important;
} */
/* .instruction.validation_message {
  display: none;
} */
/* Confirmation */
.gform_confirmation_message {
  text-align: center !important;
}

/* SPINNER */
.gform_wrapper.gravity-theme .gform-loader {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  animation: spinner 1.1s infinite linear;
  border-radius: 50%;
  -webkit-mask: url(../media/icons/icon-spinner.svg) no-repeat 50% 50%;
  mask: url(../media/icons/icon-spinner.svg) no-repeat 50% 50%;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: var(--bianco);
  display: inline-block;
  margin-left: 0;
  border-block: none;
  border-inline: none;
}
@keyframes spinner {
  0% {
    transform: translateY(-50%) rotate(0deg);
  }
  100% {
    transform: translateY(-50%) rotate(360deg);
  }
}

/* CUSTOM ERRORS */
.gform_validation_errors {
  display: none;
}
div.gfield_error,
div.gfield_correct {
  position: relative;
}
div.gfield_error::before,
div.gfield_correct::before {
  content: "";
  position: absolute;
  right: calc(var(--distance-medium) / 2);
  top: calc(50% + var(--distance-half));
  transform: translateY(-50%);
  width: var(--distance);
  height: var(--distance);
  background-image: url(../media/icons/error.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none !important;
}
div.gfield_correct::before {
  background-image: url(../media/icons/check.png);
}

.gform_wrapper .gfield .gfield_validation_message {
  position: absolute;
  top: -3px;
  font-size: 1.3rem;
  line-height: 1.8rem;
  letter-spacing: normal;
  font-weight: 400;
  color: #fb6868;
  margin-top: calc(var(--distance-mini) * 2);
  background: none;
  border: none;
  padding: 0;
  padding-right: calc(var(--distance-mini) * 2);
  text-align: end;
}
.gfield--type-consent.gfield .gfield_validation_message {
  display: none !important;
}
.gform_wrapper .gfield .gfield_validation_message a,
.gform_wrapper .gfield .gfield_validation_message a:focus,
.gform_wrapper .gfield .gfield_validation_message a:visited,
.gform_wrapper .gfield .gfield_validation_message a:hover {
  color: #fb6868 !important;
  text-decoration: underline !important;
}
.gform_wrapper .gfield .ginput_container_consent + .gfield_validation_message {
  padding-right: 0;
  padding-left: calc(var(--distance-mini) * 2);
  text-align: start;
}
