/* AS Premium v14.5.28 · bounded enhancement, not a blanket WCAG certification. */
/* Preserve the theme's existing skip link but make its focused state reliable. */
.skip-link:focus,
.skip-link:focus-visible {
  position: fixed !important;
  inset: max(12px, env(safe-area-inset-top)) auto auto max(12px, env(safe-area-inset-left)) !important;
  width: auto !important;
  height: auto !important;
  padding: 12px 18px !important;
  clip: auto !important;
  clip-path: none !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  z-index: 2147483000 !important;
  background: #132a52 !important;
  color: #fff !important;
  border-radius: 5px;
}
/* Visible keyboard focus. Double contrast ring works on light and dark areas. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #ffc247 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 2px #14233b;
}
:where(a, button, input, select, textarea, summary, [tabindex]):focus:not(:focus-visible) {
  /* Do not remove theme-provided focus styles for pointer/AT interactions. */
}
/* Sticky masthead: help anchor jumps and keyboard scrolling remain perceivable. */
html { scroll-padding-top: 7rem; }
:where(#main-content, [id]):target { scroll-margin-top: 7rem; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus { scroll-margin-block: 7rem 2rem; }
/* Target-size minimum for known compact controls only; inline editorial links unchanged. */
:where(.nav-toggle, .as116-carousel-arrow, .cookie-btn, #as-back-to-top,
       #as-cookie-accept, #as-cookie-reject, #as-cookie-custom,
       #as-cookie-save-custom) {
  min-inline-size: 32px;
  min-block-size: 32px;
}
/* Respect vestibular preferences without disabling carousel functionality. */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  :where(.as116-carousel-track, .as1140-carousel-progress, .as1140-carousel-progress *,
         .as116-home-carousel, .as1300-home-desk, .editorial-link, .editorial-link *) {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Windows high-contrast/forced-colors: retain a system-visible focus ring. */
@media (forced-colors: active) {
  :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid Highlight !important;
    box-shadow: none !important;
  }
}
