/** Plugin | Contact Form 7 **/
.cf7-custom {
  width: 100%;
  margin: 0 auto;
  --form-gap: 20px;
}

.cf7-custom .cf7-row {
  width: 100%;
  margin-bottom: var(--form-gap);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  gap: var(--form-gap);
}

.cf7-custom .cf7-row:last-child {
  margin-bottom: 0;
}

.cf7-custom .cf7-row [class*="col-"] {
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

/* Generale */
.cf7-custom .cf7-row [class*="col-"]>*:not(input[type="checkbox"]):not(.wpcf7-submit):not(.wpcf7-spinner) {
  width: 100%;
}

.cf7-custom .cf7-row [class*="col-"] p,
.cf7-custom .cf7-row [class*="col-"] p *,
.cf7-custom .cf7-row [class*="col-"] h1,
.cf7-custom .cf7-row [class*="col-"] h1 *,
.cf7-custom .cf7-row [class*="col-"] h2,
.cf7-custom .cf7-row [class*="col-"] h2 *,
.cf7-custom .cf7-row [class*="col-"] h3,
.cf7-custom .cf7-row [class*="col-"] h3 *,
.cf7-custom .cf7-row [class*="col-"] h4,
.cf7-custom .cf7-row [class*="col-"] h4 *,
.cf7-custom .cf7-row [class*="col-"] h5,
.cf7-custom .cf7-row [class*="col-"] h5 *,
.cf7-custom .cf7-row [class*="col-"] h6,
.cf7-custom .cf7-row [class*="col-"] h6 * {
  margin: 0;
}

.cf7-custom .cf7-row input,
.cf7-custom .cf7-row label {
  margin-bottom: 0;
}

.cf7-custom .cf7-row label {
  line-height: 1.3;
}

/* Radio */
.cf7-custom .cf7-row [class*="col-"] .wpcf7-radio,
.cf7-custom .cf7-row [class*="col-"] .wpcf7-radio * {
  width: auto !important;
}

.cf7-custom .cf7-row [class*="col-"] .wpcf7-radio .wpcf7-list-item {
  margin: 5px;
}

/* Submit */
.cf7-custom .submit .wpcf7-submit {
  width: 50%;
}

/* Label */
.cf7-custom .wpcf7-not-valid-tip {
  font-size: 75%;
}

/* Newsletter */
.cf7-custom.cf7-newsletter .cf7-row {
  margin-bottom: calc(var(--form-gap) / 2);
}

/** Computer **/
@media only screen and (min-width: 768px) {
  .cf7-custom .cf7-row {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
  }

  .cf7-custom .cf7-row .col-1 {
    grid-column: span 1;
  }

  .cf7-custom .cf7-row .col-2 {
    grid-column: span 2;
  }

  .cf7-custom .cf7-row .col-3 {
    grid-column: span 3;
  }

  .cf7-custom .cf7-row .col-4 {
    grid-column: span 4;
  }

  .cf7-custom .cf7-row .col-5 {
    grid-column: span 5;
  }

  .cf7-custom .cf7-row .col-6 {
    grid-column: span 6;
  }

  .cf7-custom .cf7-row .col-7 {
    grid-column: span 7;
  }

  .cf7-custom .cf7-row .col-8 {
    grid-column: span 8;
  }

  .cf7-custom .cf7-row .col-9 {
    grid-column: span 9;
  }

  .cf7-custom .cf7-row .col-10 {
    grid-column: span 10;
  }

  .cf7-custom .cf7-row .col-11 {
    grid-column: span 11;
  }

  .cf7-custom .cf7-row .col-12 {
    grid-column: span 12;
  }
}