/* Small state/accessibility additions. Layout and artwork stay in source CSS. */
body.menu--open .js-header {
  transform: translateY(0) !important;
  background: #f7f8f7;
}

body.menu--open .js-menu-wrapper .js-menu-fadeIn-animation,
body.menu--open .js-menu-wrapper .js-menu-lft-to-rht-animation {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.js-menu-wrapper[inert] {
  pointer-events: none;
}

/* Pointer-opened overlays receive focus without adding a source-absent ring.
   Their keyboard-operable controls retain their own focus-visible treatment. */
.director-popup[tabindex="-1"]:focus,
.js-menu-wrapper[tabindex="-1"]:focus {
  outline: none;
}

.js-menu-toggle:focus-visible,
.director-card:focus-visible,
.director-popup .close-popup:focus-visible,
.choices:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
}

.director-popup[hidden],
.iti__country[hidden],
.axight-form-status[hidden] {
  display: none !important;
}

.director-popup .popup-overlay {
  position: absolute;
  inset: 0;
}

.director-popup .popup-content {
  max-height: 100dvh;
}

.director-popup .description {
  overscroll-behavior: contain;
}

.director-popup .close-popup {
  cursor: pointer;
}

.axight-copy-buffer {
  position: fixed;
  left: -9999px;
  top: 0;
  opacity: 0;
}

.iti.axight-country-portal {
  z-index: 10000000;
}

.iti.axight-country-portal .iti__dropdown-content {
  margin: 0;
  min-height: 0;
  overflow: hidden;
  flex: 1;
}

.iti.axight-country-portal .iti__country-list {
  min-height: 0;
  max-height: none;
  overscroll-behavior: contain;
}

.iti.axight-country-portal .iti__search-input-wrapper {
  flex-shrink: 0;
}

.axight-form-status {
  margin-top: 24px;
  padding: 18px 20px;
  color: #313e51;
  background: #daddda;
  border: 1px solid #aaafaa;
  border-radius: 6px;
}

.contact-form .axight-field-invalid input:not([type="checkbox"]),
.contact-form .axight-field-invalid textarea,
.contact-form .axight-field-invalid .choices__inner {
  border-color: #c7262a;
}

@media (max-width: 600px) {
  .director-popup .popup-content {
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}

@media (prefers-reduced-motion: reduce) {
  .js-header,
  .js-overlay,
  .js-menu-wrapper,
  .director-popup,
  .director-popup .popup-content,
  .cookie-banner {
    transition-duration: 0.01ms !important;
  }
}
