/* QR MENU v4.4.54 — iOS/Android mobile focus & layout stability */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html, body { max-width: 100%; }
body { overflow-x: clip; }
.phone-wrap, .menu-app, .menu-scroll, .sheet, .sheet-body,
.modal-backdrop, .search-wrap, .products, .product-card,
input, select, textarea { min-width: 0; box-sizing: border-box; }
.phone-wrap, .menu-app, .menu-scroll { max-width: 100%; }
input, textarea, select { max-width: 100%; }
/* iOS Safari zooms inputs with computed font-size below 16px. */
@media (pointer: coarse), (max-width: 767px) {
  input:not([type="checkbox"]):not([type="radio"]),
  textarea, select, [contenteditable="true"] {
    font-size: 16px !important;
    line-height: 1.45;
  }
  #search, #orderNote, .table-picker { font-size: 16px !important; }
  .search-wrap input { width: 100%; flex: 1 1 auto; }
  #orderNote { display: block; width: 100%; resize: vertical; }
  .modal-backdrop { max-width: 100vw; max-width: 100dvw; }
  .modal-backdrop .sheet {
    width: min(100%, 100vw);
    max-width: 100vw;
    max-height: min(92dvh, 100%);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .modal-backdrop .sheet-body { width: 100%; }
  .menu-scroll { overscroll-behavior-x: none; }
}
@supports (height: 100dvh) {
  .modal-backdrop { max-height: 100dvh; }
}
/* Keep intentional pinch zoom available: no user-scalable=no. */
