/* OBC24 accessibility and keyboard UX polish */
:where(a, button, input, select, textarea, [role="button"], [tabindex]):focus-visible {
  outline: 3px solid var(--amber);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px rgba(245,158,11,.16);
}

.skip-link:focus,
.skip-link:focus-visible {
  left: 12px;
  top: 12px;
  outline: 3px solid var(--text);
  outline-offset: 3px;
}

.site-header .portal-menu.is-open .portal-dropdown {
  display: grid !important;
  gap: 4px;
}

.site-header .portal-trigger[aria-expanded="true"] {
  border-color: rgba(245,158,11,.55);
  background: rgba(245,158,11,.10);
}

.site-header .menu-toggle[aria-expanded="true"] {
  border-color: rgba(245,158,11,.55);
}

.language-switch a[aria-current="page"] {
  cursor: default;
}

.theme-switch button[aria-pressed="true"] {
  border-color: rgba(245,158,11,.65);
  box-shadow: 0 0 0 4px rgba(245,158,11,.12);
}

.step-indicator {
  min-height: 1.6em;
}

.form-message[role="status"],
.form-message[role="alert"] {
  scroll-margin-top: 110px;
}

.mission-form fieldset.form-step:not(.is-active) {
  display: none;
}

.mission-form input[aria-invalid="true"],
.mission-form textarea[aria-invalid="true"],
.mission-form select[aria-invalid="true"] {
  border-color: rgba(239,68,68,.75) !important;
}

.airport-suggestions[hidden],
.address-suggestions[hidden] {
  display: none !important;
}

.airport-suggestion[aria-selected="true"],
.address-suggestion[aria-selected="true"] {
  background: rgba(56,189,248,.14);
  color: var(--text);
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}
