/* Shared viewport and form safeguards for GTT Taxi public pages. */
html, body { width: 100%; max-width: 100%; overflow-x: clip; }
body { margin: 0; }
*, *::before, *::after { box-sizing: border-box; }
img, svg, video, iframe { max-width: 100%; }
main, section, header, footer, nav, form, fieldset, article { min-width: 0; }
.gtt-nav, .gtt-nav-inner { width: 100%; max-width: 100vw; }
.gtt-mobile-overlay { left: 0; right: 0; width: auto; max-width: 100%; }
.gtt-mobile-menu { max-width: calc(100vw - 24px); }
input, select, textarea { min-width: 0; max-width: 100%; }
textarea { overflow-wrap: anywhere; }
button, [role="button"], input[type="submit"], a.button { min-height: 44px; }
table { display: block; width: 100%; max-width: 100%; overflow-x: auto; }
@media (max-width: 768px) {
  h1, h2, h3, .page-title, .section-title { max-width: 100%; overflow-wrap: anywhere; text-wrap: balance; }
  input, select, textarea, button { font-size: 16px; }
  .container, .content, .main-content, .booking-container, .review-container, .payment-container { min-width: 0; max-width: 100%; }
  .form-row, .form-grid, .booking-grid, .booking-fields, .field-row { min-width: 0; }
}
