/* TuS Bad Oeynhausen — accessibility widget (bottom-left). Self-contained. */

.a11y-widget{position:fixed;left:16px;bottom:16px;z-index:2147483000;font-family:inherit}
.a11y-fab{width:56px;height:56px;border-radius:50%;border:3px solid #fff;background:var(--c-primary,#2e7d32);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.28);transition:transform .2s ease}
.a11y-fab:hover,.a11y-fab:focus-visible{transform:scale(1.08);outline:none}
.a11y-fab svg{width:32px;height:32px}

.a11y-panel{position:absolute;left:0;bottom:68px;width:268px;max-width:82vw;background:#fff;border-radius:18px;box-shadow:0 14px 44px rgba(0,0,0,.3);padding:14px;color:#1a1a1a}
.a11y-panel[hidden]{display:none}
.a11y-panel__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.a11y-panel__head strong{font-size:1rem;color:var(--c-primary-darker,#1b5e20)}
.a11y-close{border:0;background:none;font-size:1.5rem;line-height:1;cursor:pointer;color:#777;padding:0 4px}
.a11y-close:hover{color:#000}

.a11y-row{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;border:1.5px solid #e3e8e3;border-radius:12px;margin-bottom:8px;font-size:.9rem;font-weight:600;color:#222}
.a11y-fontbtns{display:flex;gap:5px}
.a11y-fontbtns button{min-width:34px;height:34px;border:1.5px solid var(--c-primary,#2e7d32);background:#fff;color:var(--c-primary-darker,#1b5e20);border-radius:9px;cursor:pointer;font-weight:700;font-size:.85rem}
.a11y-fontbtns button:hover{background:var(--c-primary-light,#e8f5e9)}

.a11y-toggle{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:10px 11px;border:1.5px solid #e3e8e3;background:#fff;border-radius:12px;margin-bottom:7px;cursor:pointer;font-size:.9rem;font-weight:600;color:#222}
.a11y-toggle:hover{border-color:var(--c-primary,#2e7d32)}
.a11y-toggle.is-on{background:var(--c-primary,#2e7d32);color:#fff;border-color:var(--c-primary,#2e7d32)}
.a11y-toggle__ic{width:22px;height:22px;flex:none;display:flex;align-items:center;justify-content:center;font-size:1rem}

.a11y-reset{width:100%;padding:10px;border:0;background:#f0f3f0;border-radius:12px;cursor:pointer;font-size:.85rem;font-weight:600;color:#444;margin-top:4px}
.a11y-reset:hover{background:#e3e8e3}

@media (max-width:600px){
  .a11y-fab{width:50px;height:50px}
  .a11y-fab svg{width:28px;height:28px}
}

/* ===================== effect classes (applied to <html>) ===================== */

/* Readable font + spacing */
html.a11y-readable,html.a11y-readable p,html.a11y-readable li,html.a11y-readable a,
html.a11y-readable span,html.a11y-readable h1,html.a11y-readable h2,html.a11y-readable h3,
html.a11y-readable h4,html.a11y-readable button,html.a11y-readable input,html.a11y-readable label{
  font-family:Arial,Helvetica,sans-serif !important;letter-spacing:.02em !important;line-height:1.8 !important;word-spacing:.06em}

/* Highlight links */
html.a11y-links a{text-decoration:underline !important;text-underline-offset:3px;box-shadow:inset 0 -3px 0 rgba(255,193,7,.55)}

/* Grayscale (page regions only, never the widget) */
html.a11y-gray .topbar,html.a11y-gray .site-header,html.a11y-gray .news-ticker,
html.a11y-gray #content,html.a11y-gray .site-footer{filter:grayscale(1)}

/* High contrast */
html.a11y-contrast .topbar,html.a11y-contrast .site-header,html.a11y-contrast .news-ticker,
html.a11y-contrast #content,html.a11y-contrast .site-footer{filter:contrast(1.35) saturate(1.25)}
html.a11y-contrast #content a{text-decoration:underline !important}

/* Stop animations */
html.a11y-noanim *,html.a11y-noanim *::before,html.a11y-noanim *::after{
  animation-duration:.001s !important;animation-iteration-count:1 !important;
  transition-duration:.001s !important;scroll-behavior:auto !important}

/* Big cursor */
html.a11y-cursor,html.a11y-cursor *{
  cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"><path d="M7 3l27 20-12 2 7 15-5 3-8-16-9 7z" fill="white" stroke="black" stroke-width="2.5" stroke-linejoin="round"/></svg>') 6 3,auto !important}
