/* Keep form controls inside grid tracks and prevent iOS focus auto-zoom.
   Pinch zoom remains available for accessibility. */
html, body { max-width:100%; overflow-x:hidden; }
@supports (overflow:clip) { html, body { overflow-x:clip; } }
.layout > *, .grid2 > *, .grid3 > *, .budget > *, .loc-row > *, .lang-row > * { min-width:0; }
.grid2, .budget { grid-template-columns:repeat(2,minmax(0,1fr)); }
.grid3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.field, .lang-row select.field { min-width:0; max-width:100%; }
.range-row input { min-width:0; }
.card, .hero { min-width:0; }
@media (max-width:600px) {
  input.field, select.field, textarea.field, .lang-row select.field { font-size:16px; }
  .grid3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .card-head > *, .feat, .stat { min-width:0; overflow-wrap:anywhere; }
}
@media (max-width:360px) {
  .grid2, .grid3, .budget { grid-template-columns:minmax(0,1fr); }
}
