.booking-page { padding: 8rem 2rem 4rem; max-width: var(--maxw-page); margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr; gap: 4rem; }
.booking-page__heading { font-family: var(--font-display); font-size: var(--fs-section); letter-spacing: var(--tracking-display); }
.booking-page__subhead { font-family: var(--font-editorial); font-size: clamp(1.25rem, 2vw, 1.75rem); color: var(--cream-dim); margin-top: 0.5rem; margin-bottom: 3rem; }
.booking-form { display: flex; flex-direction: column; gap: 1.5rem; }
.booking-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.booking-form__submit { margin-top: 1rem; align-self: flex-start; }
.booking-form__status { padding: 1rem; border: 1px solid var(--smoke); display: none; }
.booking-form__status.is-error { display: block; border-color: var(--ember); color: var(--ember); }
.booking-form__status.is-success { display: block; border-color: var(--cream); color: var(--cream); font-family: var(--font-editorial); font-size: 1.25rem; }
.booking-sidebar { padding-top: 1rem; }
.booking-sidebar__label { font-family: var(--font-mono); font-size: var(--fs-meta); letter-spacing: var(--tracking-mono); color: var(--cream-dim); margin-bottom: 1rem; }
.booking-sidebar__list { display: flex; flex-direction: column; gap: 0.75rem; font-family: var(--font-mono); font-size: 0.875rem; }
@media (max-width: 900px) { .booking-page { grid-template-columns: 1fr; } .booking-form__row { grid-template-columns: 1fr; } }
@media (max-width: 768px) { .booking-page { padding: 5.5rem 1.25rem 3rem; } }
