/* ============================================================
   Barrierefreiheit – selbst gebaut (kein Fremd-Plugin)
   ============================================================ */
.a11y-btn{
  position:fixed;left:18px;bottom:18px;z-index:75;width:50px;height:50px;border-radius:50%;
  border:none;cursor:pointer;background:#2b59ff;color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 22px rgba(0,0,0,.3);transition:transform .2s ease;
}
.a11y-btn:hover{transform:scale(1.07)}
.a11y-btn svg{width:28px;height:28px}

.a11y-panel{
  position:fixed;left:18px;bottom:80px;z-index:76;width:300px;max-width:calc(100vw - 36px);
  background:#fff;color:#1d2433;border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.32);
  font-family:'Montserrat',system-ui,sans-serif;overflow:hidden;display:none;
  max-height:calc(100vh - 110px);overflow-y:auto;
}
.a11y-panel.open{display:block}
.a11y-head{background:#2b59ff;color:#fff;padding:16px 18px;display:flex;align-items:center;justify-content:space-between}
.a11y-head h3{margin:0;font-size:16px;font-weight:800}
.a11y-head button{background:rgba(255,255,255,.2);border:none;color:#fff;width:28px;height:28px;border-radius:8px;cursor:pointer;font-size:16px;line-height:1}
.a11y-body{padding:14px}
.a11y-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #eef0f4}
.a11y-row:last-child{border-bottom:none}
.a11y-row .lbl{font-size:14px;font-weight:600}
.a11y-stepper{display:flex;align-items:center;gap:8px}
.a11y-stepper button{width:30px;height:30px;border-radius:8px;border:1px solid #d7dce6;background:#f4f6fa;cursor:pointer;font-size:17px;line-height:1;color:#1d2433}
.a11y-stepper span{min-width:34px;text-align:center;font-size:13px;font-weight:700}
.a11y-toggle{width:46px;height:26px;border-radius:26px;border:none;background:#cfd4dd;position:relative;cursor:pointer;flex-shrink:0;transition:.2s}
.a11y-toggle::before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:3px;left:3px;transition:.2s}
.a11y-toggle.on{background:#2b59ff}
.a11y-toggle.on::before{transform:translateX(20px)}
.a11y-reset{width:100%;margin-top:12px;padding:11px;border:none;border-radius:10px;background:#eef0f4;color:#333;font-weight:700;cursor:pointer;font-family:inherit;font-size:13.5px}

/* ---------- Wirk-Klassen ---------- */
html.a11y-lh p, html.a11y-lh li, html.a11y-lh h1, html.a11y-lh h2, html.a11y-lh h3,
html.a11y-lh h4, html.a11y-lh a, html.a11y-lh span, html.a11y-lh small, html.a11y-lh strong{line-height:1.95 !important}

html.a11y-spacing p, html.a11y-spacing li, html.a11y-spacing h1, html.a11y-spacing h2, html.a11y-spacing h3,
html.a11y-spacing h4, html.a11y-spacing a, html.a11y-spacing span, html.a11y-spacing small, html.a11y-spacing strong{letter-spacing:.06em !important;word-spacing:.12em !important}

html.a11y-readable *{font-family:Arial, Verdana, "Segoe UI", sans-serif !important}

html.a11y-links a{text-decoration:underline !important;text-underline-offset:2px}

html.a11y-cursor, html.a11y-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24'%3E%3Cpath d='M5 2l14 7-6 2-2 6z' fill='black' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E") 4 2, auto !important}

html.a11y-gray{filter:grayscale(1)}

html.a11y-contrast body{background:#000 !important}
html.a11y-contrast section, html.a11y-contrast .section, html.a11y-contrast footer,
html.a11y-contrast .header-inner, html.a11y-contrast .card, html.a11y-contrast .review,
html.a11y-contrast .stat, html.a11y-contrast .mission-card, html.a11y-contrast .usp-bar,
html.a11y-contrast .hf, html.a11y-contrast .cta-box{background:#000 !important}
html.a11y-contrast *{color:#fff !important;border-color:#fff !important}
html.a11y-contrast a, html.a11y-contrast .accent, html.a11y-contrast .ah-title .accent{color:#ffd24a !important}
html.a11y-contrast .a11y-panel, html.a11y-contrast .a11y-panel *{background:#fff !important;color:#1d2433 !important}
html.a11y-contrast .a11y-head, html.a11y-contrast .a11y-head *{background:#2b59ff !important;color:#fff !important}

/* bei offenem Menü ausblenden */
body.nav-open .a11y-btn, body.nav-open .a11y-panel{display:none}
