/* BWP Accessibility Core 0.1
   Functional styles are theme-neutral. Themes style .bwp-a11y-controls themselves. */

:root{
  --bwp-a11y-font-scale:1;
  --bwp-a11y-line-height:1.55;
  --bwp-a11y-reading-width:100%;
}

html{font-size:calc(100% * var(--bwp-a11y-font-scale));}
body{line-height:var(--bwp-a11y-line-height);}

.bwp-a11y-reading main,
.bwp-a11y-reading .bbb-page{
  max-width:min(860px,var(--bwp-a11y-reading-width)) !important;
}

.bwp-skip-link{
  position:fixed;
  left:12px;
  top:12px;
  z-index:10000;
  transform:translateY(-180%);
  padding:.7rem 1rem;
  background:#fff;
  color:#111;
  border:2px solid currentColor;
  font-weight:700;
  text-decoration:none;
}
.bwp-skip-link:focus{transform:translateY(0);}

.bwp-a11y-controls button:focus-visible,
.bwp-a11y-controls a:focus-visible,
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:3px solid currentColor;
  outline-offset:3px;
}

/* High contrast deliberately avoids a theme-specific palette. */
html.bwp-a11y-contrast body{
  background:#000 !important;
  color:#fff !important;
}
html.bwp-a11y-contrast body *{
  border-color:#fff !important;
  box-shadow:none !important;
}
html.bwp-a11y-contrast body :is(header,footer,main,section,article,aside,nav,div){
  background-color:#000 !important;
  background-image:none !important;
  color:#fff !important;
}
html.bwp-a11y-contrast body :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,span,strong,em,label){
  color:#fff !important;
}
html.bwp-a11y-contrast body a{
  color:#ffea00 !important;
  text-decoration:underline !important;
}
html.bwp-a11y-contrast body button{
  background:#fff !important;
  color:#000 !important;
  border:2px solid #fff !important;
}
html.bwp-a11y-contrast img{filter:none;}

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