/* Mobile polish (auto) */
:root {
  --tap-min: 44px;
}
@media (max-width: 768px) {
  html { font-size: 16px; }
  body { line-height: 1.5; }
  h1,h2,h3 { line-height: 1.2; word-wrap: break-word; }
  .hero, header, footer, section { padding-left: 16px; padding-right: 16px; }
}
/* Tap targets */
a, button {
  min-height: var(--tap-min);
}
button, .btn, a.button, a.btn, .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--tap-min);
  padding: 10px 16px;
  text-decoration: none;
}
/* Images: avoid layout shift */
img[width][height] {
  height: auto;
}
/* Navigation wrap */
nav ul, .nav, .navbar {
  display: flex; flex-wrap: wrap; gap: 8px;
}
/* Forms */
input, select, textarea {
  font-size: 16px; /* disable iOS zoom */
}
/* Tables on small screens */
@media (max-width: 768px) {
  .table-responsive, table {
    display: block; overflow-x: auto; -webkit-overflow-scrolling: touch;
  }
}
