form {
  display: grid;
  gap: 10px;
}

input, select {
  width: calc(100% - 16px);
}

input[type="button"] {
  width: min(48rem, 100%);
  margin: 10px;
}

input[type="checkbox"] {
  width: unset;
}

textarea {
  white-space: pre-line;
  word-break: break-all;
  width: min(48rem, 100%);
  height: 5rem;
}

#form {
  grid-template-columns: repeat(3, min(16rem, calc(100% / 3)));
}