/* Keep iOS form controls above the focus-zoom threshold; preserve pinch zoom. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:900px),(hover:none) and (pointer:coarse){
 input:not([type=checkbox]):not([type=radio]),select,textarea{
  font-size:17px!important;line-height:1.4;min-width:0;max-width:100%;
 }
 input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select{min-height:44px}
 #bookingform,#bookingform .field,.booking>*{min-width:0;max-width:100%}
 #bookingform input,#bookingform select,#bookingform textarea{box-sizing:border-box;width:100%}
 #bookingform #terms{width:22px;min-height:22px}
 #bookinghandoff{min-width:0;max-width:100%;overflow-wrap:anywhere}
 #bookinghandoff .formactions .btn{white-space:normal;text-align:center}
}
@media(max-width:600px){
 #bookingform .formgrid{grid-template-columns:minmax(0,1fr)}
 #bookingform .formgrid>.full{grid-column:1/-1}
 #bookingform .field{font-size:14px}
 .booking{grid-template-columns:minmax(0,1fr);padding:22px 16px}
 #bookinghandoff{padding:16px}
 #bookinghandoff .formactions{flex-direction:column;align-items:stretch}
 .location-fields{grid-template-columns:minmax(0,1fr)}
 .location-toolbar label{min-width:0;width:100%;flex-basis:100%}
}

#direct-booking-delivery{padding:16px;background:#edf8f8;border-radius:12px;margin:12px 0}#direct-booking-delivery>.btn{width:100%;min-height:52px}#bookinghandoff .request-details{margin-top:20px}#bookinghandoff .request-details summary{padding:14px 0;font-weight:bold;cursor:pointer}#booking-contact-actions{display:flex;flex-wrap:wrap;gap:12px}
