/* Booking keeps the theme's spacing, typography and breakpoints. */
.booking-picker { position:fixed; inset:var(--admin-offset) 0 0; z-index:500; display:grid; place-items:center; padding:var(--space-2); overflow-y:auto; overscroll-behavior:contain }
.booking-backdrop { position:fixed; inset:0; background:rgba(0,0,0,.82) }
.booking-panel { position:relative; width:100%; max-width:calc(var(--space-16) * 7); max-height:calc(100svh - var(--admin-offset) - var(--space-4)); max-height:calc(100dvh - var(--admin-offset) - var(--space-4)); overflow-y:auto; overscroll-behavior:contain; padding:var(--space-7) var(--space-2) calc(var(--space-3) + env(safe-area-inset-bottom,0px)); border:var(--stroke) solid var(--line-strong); border-radius:var(--radius); background:var(--bg-2); box-shadow:var(--shadow) }
.booking-title { max-width:24ch; margin-bottom:var(--space-2); font-size:var(--title-size); line-height:var(--heading-leading) }
.booking-panel > p { color:var(--muted) }
.booking-close { position:absolute; top:var(--space-1); right:var(--space-1); display:grid; place-items:center; width:var(--space-6); height:var(--space-6); border:var(--stroke) solid var(--line); border-radius:var(--radius-sm); background:var(--surface); font-size:var(--type-3); line-height:1; cursor:pointer }
.booking-close:hover { border-color:var(--red) }
.booking-salons { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--space-2); margin-top:var(--space-3) }
.booking-salon { display:flex; min-width:0; flex-direction:column; align-items:flex-start; padding:var(--space-2); border:var(--stroke) solid var(--line-strong); border-radius:var(--radius-sm); background:var(--surface); transition:border-color var(--fast),background var(--fast) }
.booking-salon:hover { background:var(--surface-2); border-color:var(--red) }
.booking-salon strong { display:block; margin-bottom:var(--space-1); font-size:var(--type-1); line-height:var(--heading-leading); font-weight:750 }
.booking-address { color:var(--muted); font-size:var(--micro-size) }
.booking-action { margin-top:auto; padding-top:var(--space-2); color:var(--text); font-size:var(--micro-size); font-weight:700 }
.booking-help { margin-top:var(--space-3); font-size:var(--micro-size) }
.booking-all { display:inline-flex; align-items:center; min-height:var(--space-6); margin-top:var(--space-2); font-size:var(--micro-size); text-decoration:underline; text-underline-offset:var(--space-1) }
body.booking-open { overflow:hidden }
body.booking-open .mobile-dock { display:none!important }
@media(min-width:480px) { .booking-panel { padding-inline:var(--space-3) } }
@media(min-width:768px) { .booking-panel { padding:var(--space-6); padding-top:var(--space-7) } .booking-salons { grid-template-columns:repeat(2,minmax(0,1fr)) } .booking-salon { padding:var(--space-3) } }
@media(prefers-reduced-motion:reduce) { .booking-salon { transition:none } }
