.booking-navigation-dock { display:none; }
@media(max-width:620px) {
  #bookingModalOverlay {
    inset:auto 0 auto; top:var(--booking-viewport-top,0px);
    height:var(--booking-viewport-height,100dvh); padding:10px 0 0;
    overflow:hidden; align-items:stretch; box-sizing:border-box;
  }
  #bookingModal {
    display:flex; flex-direction:column; width:100%; height:100%; max-height:100%;
    margin:0; overflow:hidden; border-radius:12px 12px 0 0; animation:none;
  }
  #bookingModal .booking-modal-header { flex-shrink:0; padding:12px 16px; }
  #bookingModal .booking-modal-title { font-size:18px; }
  #bookingModal .booking-modal-service-label { font-size:10px; }
  #bookingModal .booking-modal-price { font-size:12px; }
  #bookingModal .booking-modal-close { width:40px; height:40px; }
  #bookingDetailsForm {
    flex:1; min-height:0; overflow-y:auto; overflow-x:hidden;
    padding:12px 12px 24px; overscroll-behavior:contain; overflow-anchor:none; scroll-padding:16px 0;
    -webkit-overflow-scrolling:touch;
  }
  #bookingNavigationDock:not([hidden]) { display:block; flex-shrink:0; z-index:5; background:#fffdf8; border-top:1px solid #ded2c2; padding:12px 12px max(12px,env(safe-area-inset-bottom)); }
  #bookingNavigationDock .booking-nav { margin:0; padding:0; border:0; width:100%; gap:10px; }
  #bookingNavigationDock .booking-nav button { flex:1; min-width:0; min-height:46px; height:auto; max-height:none; padding:12px 8px; line-height:1.3; white-space:normal; }
  #bookingModal #bp-1 .schedule-date-card { padding:10px; gap:0; justify-content:flex-start; }
  #bookingModal #bp-1 .schedule-card-head { margin:-10px -10px 10px; padding:6px 10px; min-height:0; }
  #bookingModal #bp-1 .schedule-date-card .schedule-card-head p { display:none; }
  #bookingModal #bp-1 .booking-calendar-top { margin-bottom:8px; padding:4px; }
  #bookingModal #bp-1 .booking-calendar-nav { min-height:36px; height:36px; width:36px; }
  #bookingModal #bp-1 .booking-calendar-days { gap:5px; }
  #bookingModal #bp-1 .booking-calendar-day,#bookingModal #bp-1 .booking-calendar-blank {
    height:var(--booking-calendar-day-size,44px);
    min-height:44px; padding:3px 1px;
  }
  #bookingModal #bp-1 .calendar-availability-label { font-size:9px; line-height:1.1; padding:3px 1px; overflow-wrap:normal; }
  #bookingModal #bp-1 .schedule-date-note { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:8px; padding:8px; font-size:10px; }
  #bookingModal #bp-1 .schedule-date-note span { font-size:11px; margin:0; }
  #bookingModal input,#bookingModal textarea,#bookingModal select { scroll-margin:16px 0; }
}
