/* The browser owns the gesture and snap physics; vertical scrolling and zoom stay native. */
.calendar-swipe { display:flex; width:100%; min-width:0; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:none; touch-action:pan-x pan-y pinch-zoom; overflow-anchor:none; }
.calendar-swipe::-webkit-scrollbar { display:none; }
.calendar-swipe-page { flex:0 0 100%; width:100%; min-width:0; scroll-snap-align:start; scroll-snap-stop:always; }
.calendar-swipe-current > :is(.concert-days,table) { width:100%; }
.calendar-swipe-preview { align-self:stretch; display:flex; align-items:center; justify-content:center; gap:12px; background:var(--panel); color:var(--text); border:1px solid var(--line); font:600 var(--text-lead)/1.4 var(--sans); padding:24px; text-align:center; }
.calendar-swipe-preview svg { flex:0 0 auto; color:var(--gold); }
.calendar-swipe-current :focus-visible { outline-offset:-3px; }
.booking-calendar-widget { overflow-anchor:none; }
.booking-calendar-widget .booking-month-nav a { scroll-margin-block:0; }

.calendar-swipe:focus-visible { outline:var(--focus-width) solid var(--gold); outline-offset:3px; }
