/* GMT v17.4: contained accessibility fixes (public, customer and admin).
   No external fonts or JavaScript dependencies. */
:root { --gmt-v174-focus: #176aab; }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 3px solid var(--gmt-v174-focus);
  outline-offset: 3px;
}
:where(.panel,.gmt-section-panel,.gmt-support-tile,.data-table td,.data-table th)
  { overflow-wrap: anywhere; }
:where(input,textarea,select) { min-width: 0; max-width: 100%; }
:where(input[type="email"],input[type="tel"],input[type="url"],input[type="number"],
  input[name*="reference"],input[name*="code"],input[name*="passport"])
  { direction: ltr; unicode-bidi: plaintext; text-align: start; }
:where(.gmt-flight-amendment) {
  border: 1px solid var(--border-color, #cad9e3);
  padding: clamp(12px, 2vw, 20px);
  border-radius: 12px;
  margin-block: 18px;
}
:where(.gmt-flight-amendment textarea,.gmt-flight-amendment input) { width: 100%; }
@supports (padding: max(0px, env(safe-area-inset-bottom))) {
  @media (max-width: 700px) {
    :where(.topbar,.gmt-topbar) {
      padding-inline-start: max(12px, env(safe-area-inset-left));
      padding-inline-end: max(12px, env(safe-area-inset-right));
    }
    :where(main,.gmt-main,.gmt-account-layout,footer) {
      padding-bottom: max(12px, env(safe-area-inset-bottom));
    }
  }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
@media (max-width: 700px) {
  :where(.field-grid,.gmt-account-support-grid) { min-width: 0; }
  :where(.table-wrap) { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
