/* v40 · accessibility enhancements · shared behavior */
body.a11y-keyboard-nav :focus-visible {
  outline: 4px solid #00B8D9 !important;
  outline-offset: 4px !important;
  border-radius: 4px !important;
  box-shadow: 0 0 0 8px rgba(0,184,217,.2) !important;
}

html[data-a11y-font-size="125"] body { font-size: 125%; }
html[data-a11y-font-size="150"] body { font-size: 150%; }

html[data-a11y-font-size="125"] :is(.v23-main,.page-main,.v32-trust-page) :is(p,li,dd,dt,label,input,select,textarea,button),
html[data-a11y-font-size="125"] :is(.v23-footer,.ent-nav) a { line-height: 1.72; }
html[data-a11y-font-size="150"] :is(.v23-main,.page-main,.v32-trust-page) :is(p,li,dd,dt,label,input,select,textarea,button),
html[data-a11y-font-size="150"] :is(.v23-footer,.ent-nav) a { line-height: 1.78; }

body.a11y-highlight-links main a:not(.v23-btn):not(.ent-btn),
body.a11y-highlight-links footer a {
  text-decoration: underline !important;
  text-decoration-thickness: .14em !important;
  text-underline-offset: .2em !important;
}

body.a11y-text-spacing main,
body.a11y-text-spacing footer {
  letter-spacing: .04em;
  word-spacing: .12em;
}
body.a11y-text-spacing main :is(p,li),
body.a11y-text-spacing footer :is(p,a) { line-height: 1.8 !important; }

body.a11y-panel-open { overflow: hidden; }

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