/* Compact booking forms without shrinking inputs or action buttons. */
#booking-form .field-grid { row-gap: 12px; }
#booking-form .field { gap: 6px; }
#booking-form fieldset { margin-bottom: 20px; }
#booking-form legend { padding-bottom: 10px; margin-bottom: 14px; }
#modal-body .modal-field-grid:has([name="firstName"]) { row-gap: 12px; }
#modal-body .modal-field-grid:has([name="firstName"]) .modal-field { margin-bottom: 0; }

/* The checkbox already names the optional field: retain its input label for
   assistive technology instead of repeating the same heading on screen. */
.optional-address-field > label {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
.optional-address-toggle + .optional-address-field:not([hidden]),
.business-toggle + .business-company-field:not([hidden]) { margin-top: -6px; }
.optional-address-toggle label, .business-toggle label { min-height: 32px; }
