/* Shared mobile accessibility; preserve the comparison layout. */
html { scroll-padding-bottom: 100px; }
button, input, select, textarea { touch-action: manipulation; }
:focus-visible { outline: 3px solid #9b7535; outline-offset: 3px; }
dialog { overflow-y: auto; overscroll-behavior: contain; max-height: calc(100dvh - 32px); box-sizing: border-box; }
@media (max-width: 680px) {
  body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  main { min-width: 0; }
  input:not([type=checkbox]):not([type=radio]), select, textarea { font-size: 16px !important; min-height: 44px; max-width: 100%; }
  button, summary { min-height: 44px; }
  .mobile-nav { height: auto !important; min-height: 64px; padding-bottom: env(safe-area-inset-bottom); }
  .mobile-nav button { min-height: 56px; }
  .mobile-nav button span { font-size: 12px !important; }
  .toast { bottom: calc(82px + env(safe-area-inset-bottom)) !important; max-width: calc(100vw - 32px); white-space: normal; line-height: 1.6; }
  .saved-search-dialog { width: calc(100% - 24px); padding: 18px; max-height: calc(100dvh - 40px - env(safe-area-inset-bottom)); }
  .saved-search-dialog button { min-height: 44px; }
  .saved-search-dialog input { min-width: 0; }
  .group label { min-height: 44px; font-size: 14px; }
  .notice, .trust-note small, .sort small, .saved-search-status { font-size: 13px !important; line-height: 1.7; }
  .restored-footer { padding-bottom: 24px; }
  .restored-footer a { display: inline-flex; align-items: center; min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
.mobile-nav[hidden]{display:none!important}
.profile-modal,.dining-modal{overflow-y:auto;max-height:100dvh;align-items:start!important;padding-top:24px!important;padding-bottom:32px!important}
.profile-card,.dining-card{max-height:calc(100dvh - 56px);overflow-y:auto;overscroll-behavior:contain}
.booking-routes{margin:20px auto;padding:22px;max-width:1180px;background:#fff;border:1px solid #dacfd1;border-radius:12px}
.booking-routes h2{font-size:20px;margin:0 0 12px;color:#561f2a}
.booking-routes p{font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.booking-routes>div{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.booking-routes a,.booking-routes button{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border:1px solid #dacfd1;border-radius:8px;background:white;color:#561f2a;font-size:14px;text-decoration:none}
