
:root{
 --wcag-radius:18px;
 --wcag-shadow:0 12px 40px rgba(0,0,0,.18);
 --wcag-border:#e7e7e7;
}
.wcag-a11y-toggle{
 position:fixed;right:22px;bottom:22px;z-index:999999;
 width:62px;height:62px;border:none;border-radius:50%;
 background:#3E81B5;color:#fff;cursor:pointer;font-weight:700;
 box-shadow:var(--wcag-shadow);font-size:16px;
 display:flex;align-items:center;justify-content:center;
}
.wcag-a11y-icon{width:36px;height:36px;display:block;fill:#fff}
.wcag-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.wcag-a11y-panel{
 position:fixed;right:22px;bottom:95px;width:320px;
 background:#fff;border-radius:24px;
 border:1px solid var(--wcag-border);
 box-shadow:var(--wcag-shadow);
 z-index:999999;overflow:hidden;
 transform:translateY(20px);opacity:0;pointer-events:none;
 transition:all .25s ease;
 font-family:Arial,sans-serif;
}
.wcag-a11y-panel.open{
 opacity:1;transform:translateY(0);pointer-events:auto;
}
.wcag-a11y-head{
 padding:18px 20px;background:#3E81B5;color:#fff;
}
.wcag-a11y-head h3{margin:0;font-size:18px}
.wcag-a11y-head p{margin:6px 0 0;font-size:13px;opacity:.8}
.wcag-a11y-body{
 padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:12px;
}
.wcag-btn{
 border:1px solid var(--wcag-border);
 border-radius:16px;padding:14px 12px;
 background:#fff;cursor:pointer;
 font-size:14px;font-weight:600;
 transition:transform .2s ease, box-shadow .2s ease;
}
.wcag-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.08)}
.wcag-btn:focus,.wcag-a11y-toggle:focus{
 outline:3px solid #ffbf00;
 outline-offset:3px;
}
.wcag-footer{
 padding:14px 18px;border-top:1px solid #efefef;
 font-size:12px;color:#666;
}
body.wcag-high-contrast,
body.wcag-high-contrast *{
 background:#000!important;color:#fff!important;border-color:#fff!important;
}
body.wcag-highlight-links a{
 text-decoration:underline!important;
 outline:2px dashed currentColor!important;
 outline-offset:2px!important;
}
body.wcag-focus a,
body.wcag-focus button,
body.wcag-focus input,
body.wcag-focus textarea,
body.wcag-focus select,
body.wcag-focus [tabindex]{
 transition:outline-color .15s ease, box-shadow .15s ease, background-color .15s ease!important;
}
body.wcag-focus a:focus,
body.wcag-focus button:focus,
body.wcag-focus input:focus,
body.wcag-focus textarea:focus,
body.wcag-focus select:focus,
body.wcag-focus [tabindex]:focus{
 outline:4px solid #ffbf00!important;
 outline-offset:2px!important;
 box-shadow:0 0 0 7px rgba(0,0,0,.75)!important;
 background:#fff8c5!important;
 color:#000!important;
}
body.wcag-focus a:hover,
body.wcag-focus button:hover{
 outline:2px solid #ffbf00!important;
 outline-offset:2px!important;
}
@media(max-width:768px){
 .wcag-a11y-panel{width:calc(100vw - 32px);right:16px;bottom:88px}
 .wcag-a11y-toggle{right:16px;bottom:16px}
}
