/* Self-hosted accessibility kit (no third-party code). Peaksite 2026-10 */
.a11y-skip{position:fixed;top:-200px;right:12px;left:auto;z-index:2147483646;background:#111;color:#fff!important;padding:12px 18px;border-radius:10px;font:700 16px/1.2 system-ui,Arial,sans-serif;text-decoration:none!important}
[dir=ltr] .a11y-skip{right:auto;left:12px}
.a11y-skip:focus{top:12px}
:focus-visible{outline:3px solid #fff!important;outline-offset:0!important;box-shadow:0 0 0 6px #0b3d91!important}
.a11y-sr{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 (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
html.a11y-nomotion *,html.a11y-nomotion *::before,html.a11y-nomotion *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
html.a11y-fs1 body{zoom:1.15}html.a11y-fs2 body{zoom:1.3}html.a11y-fs3 body{zoom:1.5}
html.a11y-links a{text-decoration:underline!important;text-underline-offset:3px!important;text-decoration-thickness:2px!important}
html.a11y-font body,html.a11y-font body *:not(i):not(svg):not(svg *):not([class*=icon]):not(.a11y-ico){font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;letter-spacing:.01em!important;word-spacing:.05em!important}
html.a11y-contrast body,html.a11y-contrast body *:not(img):not(video):not(svg):not(svg *):not(picture):not(iframe){background-color:#000!important;color:#fff!important;border-color:#fff!important;text-shadow:none!important;background-image:none!important}
html.a11y-contrast body a,html.a11y-contrast body a *{color:#ffe600!important}
html.a11y-contrast body button,html.a11y-contrast body button *{color:#ffe600!important}
html.a11y-contrast img,html.a11y-contrast video{opacity:1!important}
html.a11y-gray body{filter:grayscale(1)}
/* widget */
.a11y-fab{position:fixed;bottom:var(--a11y-bottom,18px);left:var(--a11y-side,18px);z-index:2147483640;width:48px;height:48px;border-radius:50%;border:2px solid #fff;background:#0b3d91;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.28);padding:0;margin:0}
.a11y-fab.a11y-right{left:auto;right:var(--a11y-side,18px)}
.a11y-fab svg{width:28px;height:28px;fill:currentColor}
.a11y-panel{position:fixed;bottom:calc(var(--a11y-bottom,18px) + 58px);left:var(--a11y-side,18px);z-index:2147483641;width:min(300px,calc(100vw - 24px));max-height:calc(100vh - 110px);overflow:auto;background:#fff;color:#111;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.3);padding:16px;font:400 15px/1.4 system-ui,Arial,sans-serif;text-align:start}
.a11y-panel.a11y-right{left:auto;right:var(--a11y-side,18px)}
.a11y-panel[hidden]{display:none!important}
.a11y-panel h2{font:700 17px/1.3 system-ui,Arial,sans-serif;margin:0 0 10px;color:#111}
.a11y-panel .a11y-row{display:flex;gap:6px;margin-bottom:8px}
.a11y-panel button{flex:1;min-height:44px;border:1.5px solid #555;background:#f4f5f7;color:#111;border-radius:10px;font:600 14px/1.2 system-ui,Arial,sans-serif;cursor:pointer;padding:6px 8px}
.a11y-panel button[aria-pressed=true]{background:#0b3d91;color:#fff;border-color:#0b3d91}
.a11y-panel .a11y-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.a11y-panel .a11y-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;border-top:1px solid #ddd;padding-top:10px}
.a11y-panel .a11y-foot a{color:#0b3d91!important;font-weight:700;text-decoration:underline}
.a11y-panel .a11y-close{flex:0 0 auto;min-width:44px}
html.a11y-contrast .a11y-panel,html.a11y-contrast .a11y-panel *{background-color:#000!important;color:#fff!important}
html.a11y-contrast .a11y-panel button[aria-pressed=true]{background:#ffe600!important;color:#000!important}
@media print{.a11y-fab,.a11y-panel,.a11y-skip{display:none!important}}
.a11y-pausebtn{position:absolute;z-index:5;bottom:14px;left:14px;width:44px;height:44px;border-radius:50%;border:2px solid #fff;background:rgba(0,0,0,.62);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.a11y-pausebtn svg{width:20px;height:20px;fill:currentColor}
/* Peaksite credit line: full-opacity text for AA contrast */
.pk-credit .pk-txt{opacity:1!important}
