/* Barrierefreiheits-Tool – Bedien-Widget + Hilfsklassen.
   Einstellungen werden lokal gespeichert (localStorage, rein funktional, kein Tracking). */

/* ---- Hilfsklassen (auf <html>) ---- */
html.a11y-fs1{zoom:1.15}
html.a11y-fs2{zoom:1.3}
html.a11y-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
/* Inhalte, die per Einblend-Animation sichtbar werden, bei "Bewegung aus" trotzdem zeigen */
html.a11y-motion .rise{opacity:1!important;transform:none!important}
html.a11y-links a{text-decoration:underline!important;text-underline-offset:2px}
html.a11y-readable p,html.a11y-readable li,html.a11y-readable .lead,html.a11y-readable .m,html.a11y-readable blockquote{
  line-height:1.95!important;letter-spacing:.02em!important;word-spacing:.14em!important}
html.a11y-contrast{--ink:#0c120a;--ink-soft:#2c3826;--line:#9fb389}
html.a11y-contrast body::before,html.a11y-contrast .bgshapes,html.a11y-contrast .gblob{display:none!important}
html.a11y-contrast a{text-decoration:underline}
html.a11y-contrast .lead,html.a11y-contrast .m,html.a11y-contrast .fact span,html.a11y-contrast p{color:var(--ink)!important}

/* ---- Auslöse-Button ---- */
.a11y-fab{position:fixed;right:18px;bottom:18px;z-index:9000;width:56px;height:56px;border-radius:50%;
  background:#2d3e2c;color:#e4fd97;border:2px solid #e4fd97;cursor:pointer;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 22px rgba(20,45,25,.32)}
.a11y-fab:hover{background:#1d2a1c}
.a11y-fab svg{width:30px;height:30px;fill:currentColor}
.a11y-fab:focus-visible{outline:3px solid #2d3e2c;outline-offset:3px}

/* ---- Panel ---- */
.a11y-panel{position:fixed;right:18px;bottom:84px;z-index:9001;width:300px;max-width:calc(100vw - 36px);
  background:#fff;color:#23311f;border:1.5px solid #2d3e2c;border-radius:16px;padding:18px 18px 14px;
  box-shadow:0 18px 44px rgba(20,45,25,.30);font-family:'Archivo',system-ui,sans-serif;display:none}
.a11y-panel[data-open="true"]{display:block}
.a11y-panel h2{font-family:'Archivo',sans-serif!important;text-transform:none!important;font-size:16px;font-weight:800;margin:0 0 4px;letter-spacing:0}
.a11y-panel .hint{font-size:12px;color:#586b4f;margin-bottom:12px}
.a11y-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid #e3edca}
.a11y-row:first-of-type{border-top:0}
.a11y-row span.lbl{font-size:14.5px;font-weight:700}
.a11y-btn{font-family:'Archivo',sans-serif;font-size:13.5px;font-weight:700;border:1.5px solid #2d3e2c;background:#fff;color:#23311f;
  border-radius:999px;padding:7px 14px;cursor:pointer}
.a11y-btn[aria-pressed="true"]{background:#2d3e2c;color:#e4fd97}
.a11y-btn:focus-visible{outline:3px solid #2d3e2c;outline-offset:2px}
.a11y-stepper{display:flex;gap:6px}
.a11y-stepper button{width:34px;height:34px;font-size:16px;font-weight:800;border:1.5px solid #2d3e2c;background:#fff;border-radius:10px;cursor:pointer}
.a11y-stepper button:focus-visible{outline:3px solid #2d3e2c;outline-offset:2px}
.a11y-reset{margin-top:12px;width:100%;font-family:'Archivo',sans-serif;font-weight:700;font-size:14px;
  background:#dce9c4;border:0;border-radius:999px;padding:10px;cursor:pointer;color:#1d2a1c}
.a11y-reset:focus-visible{outline:3px solid #2d3e2c;outline-offset:2px}
.a11y-panel a.more{display:inline-block;margin-top:10px;font-size:12.5px;color:#2d3e2c;font-weight:700;text-decoration:underline}
@media print{.a11y-fab,.a11y-panel{display:none!important}}

.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
