.booking form[data-opb-booking] {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, .8fr) minmax(0, .8fr) auto;
  align-items: end;
}
.booking form[data-opb-booking] > label,
.booking form[data-opb-booking] > button[type="submit"] {
  grid-row: 1;
  margin: 0;
  min-width: 0;
}
.booking form[data-opb-booking] > .opb-arrival { grid-column: 1; }
.booking form[data-opb-booking] > .opb-departure { grid-column: 2; }
.booking form[data-opb-booking] > .opb-adults { grid-column: 3; }
.booking form[data-opb-booking] > .opb-children { grid-column: 4; }
.booking form[data-opb-booking] > .opb-age { grid-column: 4; grid-row: 2; }
.booking form[data-opb-booking] > button[type="submit"] { grid-column: 5; }
.booking form[data-opb-booking] > [hidden] { display: none; }
@media (max-width: 900px) {
  .booking form[data-opb-booking] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .booking form[data-opb-booking] > .opb-adults { grid-column: 1; grid-row: 2; }
  .booking form[data-opb-booking] > .opb-children { grid-column: 2; grid-row: 2; }
  .booking form[data-opb-booking] > .opb-age { grid-column: 2; grid-row: 3; }
  .booking form[data-opb-booking] > button[type="submit"] { grid-column: 1 / -1; grid-row: 4; }
}
