.form-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 30px;
  row-gap: 0;
  min-width: 0;
}
.form-columns.form-columns-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.form-columns > .form-column {
  min-width: 0;
}
.form-columns > .form-column-full {
  grid-column: 1/-1;
}
.form-columns :is(input[type=text], input[type=email], input[type=tel], input[type=url], input[type=number], input[type=date], input[type=password], select, textarea) {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.form-columns input[type=file] {
  max-width: 100%;
}

@media (max-width: 1024px) {
  .form-columns.form-columns-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .form-columns {
    column-gap: 24px;
  }
}
@media (max-width: 768px) {
  .form-columns, .form-columns.form-columns-3 {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 20px;
    column-gap: 0;
  }
}
