.booking-form-wrapper {
    max-width: 450px;
}

.booking-form-wrapper.inline {
    max-width: 100%;
}

.booking-form {
    --gap: 3%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    column-gap: var(--gap);
    margin: 0 auto;
}

.booking-form-wrapper.framed .booking-form {
    padding: 10px;
    margin-bottom: 15px;
}

.booking-form-wrapper.inline .booking-form .group {
    flex-basis: 25%;
}

.booking-form .group {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: var(--gap);
    margin-bottom: 3px;
}

.booking-form > .group {
    margin-bottom: 10px;
}

.booking-form .group.group-row {
    flex-direction: row;
    flex-wrap: wrap;
}

.booking-form-wrapper.inline .booking-form .group.group-row {
    flex-basis: 64.5%;
}

.booking-form :is(input:not([type="radio"], [type="checkbox"]), select) {
    width: 100%;
    margin: 0;
}

.booking-form label {
    cursor: pointer;
    margin-bottom: 3px;
}

.booking-form-wrapper:not(.inline) .booking-form .group.group-col-1 {
    flex-basis: 100%;
}

.booking-form-wrapper:not(.inline) .booking-form .group.group-col-2 {
    flex-basis: 48%;
}

.booking-form-wrapper:not(.inline) .booking-form .group.group-col-3 {
    flex-basis: 30%;
}

.booking-form .group.submit [type="submit"] {
    line-height: 1.75;
}