:root {
  --nb-focus-ring-v45: #ffca28;
  --nb-safe-inline-v45: clamp(16px, 4vw, 34px);
}

html {
  scroll-padding-top: 92px;
}

body {
  overflow-x: clip;
}

:where(main, section, article, aside, nav, form) {
  min-width: 0;
}

:where(img, video, canvas, svg) {
  max-width: 100%;
}

:where(button, a, input, select, textarea, summary) {
  -webkit-tap-highlight-color: transparent;
}

:where(button, a, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--nb-focus-ring-v45);
  outline-offset: 3px;
}

:where(button, [role="button"], summary) {
  touch-action: manipulation;
}

:where([id]) {
  scroll-margin-top: 104px;
}

.nb-visually-hidden-v45 {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 760px) {
  html {
    scroll-padding-top: 76px;
  }

  :where([id]) {
    scroll-margin-top: 88px;
  }

  :where(button, a, input, select, textarea, summary) {
    max-width: 100%;
  }

  :where(input, select, textarea) {
    font-size: 16px;
  }

  .site-header {
    isolation: isolate;
  }

  .nb-search-filter-buttons-v2,
  .fc-quick-queries-v38 {
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
