/* Page-specific details for the booking, booking-status, withdrawal, voucher, application and guide pages.
   Layout and components (flow, panel, choices, days, slots, steps, summary, notices, honeypot) come from ../core.css. */
.booking-step h2:focus, .booking-done:focus, [data-done]:focus { outline: none; }
.flow__actions { flex-wrap: wrap; }
/* Booking page: hidden blocks (mode notice, steps, inactive step sections) must not leave a gap, so the first
   visible block lines up with the sidebar and the card has even padding. Gap ignores display:none children. */
.page-booking .flow__main.stack, .page-booking #booking-form { display: flex; flex-direction: column; gap: var(--stack, var(--space-m)); }
.page-booking .flow__main.stack > * + *, .page-booking #booking-form > * + * { margin-top: 0; }
.flow__actions [data-next], .flow__actions [data-submit], .flow__actions [data-inquiry-submit] { margin-left: auto; }
.code-row { flex-wrap: nowrap; }
.code-row .input { flex: 1 1 auto; min-width: 0; }
.consents .check span { line-height: 1.5; }
.slot-loading { display: flex; align-items: center; gap: .6rem; }
.summary__edit { margin-left: .4rem; padding: 0; border: 0; background: none; font: inherit; font-size: var(--step--1, .875rem); cursor: pointer; }
.days { scroll-snap-type: x proximity; }
.days .day { scroll-snap-align: start; }
.prep-list li + li { margin-top: .5rem; }
.timeline { counter-reset: step; list-style: none; padding: 0; }
.timeline li { counter-increment: step; position: relative; padding-left: 2.75rem; }
.timeline li + li { margin-top: 1.1rem; }
.timeline li::before { content: counter(step); position: absolute; left: 0; top: 0; width: 1.9rem; height: 1.9rem; border-radius: 50%; display: grid; place-items: center; font-weight: 600; border: 1px solid currentColor; }
