/* Mobile comfort patch (auto-added) */
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body{ overflow-x:hidden; }
img, video, svg{ max-width:100%; height:auto; }

/* Better tap targets */
a, button, .btn{ touch-action:manipulation; }
.btn{ min-height:44px; }

/* Prevent iOS zoom on focus */
input, select, textarea{ font-size:16px; }

/* Wrap long text */
.card, .panel, .pill, .tag, .sub, .meta, .row{ overflow-wrap:anywhere; word-break:break-word; }

@media (max-width: 720px){
  .container{ width: calc(100% - 28px) !important; }
  .section{ padding:28px 0 !important; }

  /* Navigation: stack nicely */
  .nav-inner{ flex-wrap:wrap !important; align-items:flex-start !important; gap:10px !important; padding:10px 0 !important; }
  .nav-inner .logo{ flex:0 0 auto; }
  .nav-actions{ width:100% !important; display:flex !important; flex-wrap:wrap !important; gap:10px !important; justify-content:flex-start !important; }
  .nav-actions .btn{ flex:1 1 auto; justify-content:center; }

  /* Grids become single column */
  .grid, .grid-2, .grid-3, .hero-grid, .places{ grid-template-columns:1fr !important; }

  /* Rows become vertical */
  .row{ flex-direction:column !important; align-items:stretch !important; }
  .row > *{ width:100% !important; }

  /* Cards/panels spacing */
  .card{ border-radius:18px !important; }
  .hero{ padding:16px !important; border-radius:20px !important; }

  /* Tables: allow horizontal scroll instead of squeezing */
  .table-wrap, .table-scroll{ overflow-x:auto !important; -webkit-overflow-scrolling:touch; }
  table{ width:max-content; min-width:100%; }
}
