/* ===== Barrierefreiheits-Widget ===== */
.a11y-fab{position:fixed;left:16px;bottom:16px;z-index:2000;width:60px;height:60px;border-radius:50%;border:3px solid #fff;background:#1d4ed8;color:#fff;font-size:1.9rem;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.35);cursor:pointer;transition:transform .2s}
.a11y-fab:hover{transform:scale(1.08)}
@media(max-width:991.98px){.a11y-fab{bottom:76px}}
.a11y-panel{position:fixed;left:16px;bottom:88px;z-index:2001;width:min(380px,calc(100vw - 32px));max-height:min(78vh,720px);overflow:auto;background:#fff;color:#0d1726;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.4);border:3px solid #1d4ed8;display:none}
@media(max-width:991.98px){.a11y-panel{bottom:148px;max-height:calc(100vh - 170px)}}
.a11y-panel.open{display:block;animation:a11yIn .2s ease}
@keyframes a11yIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.a11y-head{position:sticky;top:0;background:#1d4ed8;color:#fff;padding:.8rem 1rem;display:flex;align-items:center;justify-content:space-between;z-index:2}
.a11y-head h2{font-family:"Bebas Neue",sans-serif;font-size:1.7rem;margin:0;color:#fff}
.a11y-head button{background:transparent;border:2px solid #fff;color:#fff;border-radius:8px;width:38px;height:38px;font-size:1.1rem}
.a11y-body{padding:1rem}
.a11y-sec{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#4b5667;margin:.4rem 0 .5rem}
.a11y-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.9rem}
.a11y-opt{border:2px solid #d5dce6;background:#f6f8fb;border-radius:12px;padding:.7rem .5rem;text-align:center;font-weight:700;font-size:.85rem;color:#0d1726;cursor:pointer;line-height:1.2;display:flex;flex-direction:column;align-items:center;gap:.3rem;min-height:84px;justify-content:center}
.a11y-opt i{font-size:1.5rem;color:#1d4ed8}
.a11y-opt[aria-pressed="true"]{background:#1d4ed8;border-color:#1d4ed8;color:#fff}
.a11y-opt[aria-pressed="true"] i{color:#fff}
.a11y-size{display:flex;align-items:center;gap:.5rem;margin-bottom:.9rem}
.a11y-size button{flex:0 0 48px;height:48px;border-radius:12px;border:2px solid #d5dce6;background:#f6f8fb;font-weight:800;font-size:1.2rem;color:#0d1726}
.a11y-size .lvl{flex:1;text-align:center;font-weight:800}
.a11y-size .bar{height:8px;background:#e3e8ef;border-radius:8px;overflow:hidden;margin-top:4px}
.a11y-size .bar span{display:block;height:100%;background:#1d4ed8;transition:width .2s}
.a11y-reset{width:100%;border:0;border-radius:12px;background:#0A192F;color:#fff;font-weight:800;padding:.8rem;letter-spacing:.06em;text-transform:uppercase}
.a11y-note{font-size:.78rem;color:#4b5667;margin-top:.7rem}
.a11y-guide{position:fixed;left:0;right:0;height:46px;pointer-events:none;z-index:1999;background:rgba(255,214,0,.18);border-top:3px solid #FFD600;border-bottom:3px solid #FFD600;display:none}
html.a11y-guide-on .a11y-guide{display:block}

/* ---- Effekte ---- */
html{font-size:calc(100% * var(--a11y-scale,1))}
html.a11y-contrast body,html.a11y-contrast .protocol,html.a11y-contrast .usp,html.a11y-contrast .flow-item,html.a11y-contrast section,html.a11y-contrast .nd-card,html.a11y-contrast .summary,html.a11y-contrast .vital,html.a11y-contrast .cat-card,html.a11y-contrast .panel,html.a11y-contrast .rcard{background:#000!important;color:#fff!important;border-color:#fff!important}
html.a11y-contrast *{color:#fff!important;text-shadow:none!important}
html.a11y-contrast a,html.a11y-contrast a *{color:#ffea00!important;text-decoration:underline!important}
html.a11y-contrast .btn,html.a11y-contrast button,html.a11y-contrast .chip span,html.a11y-contrast .seg span{background:#000!important;border:2px solid #ffea00!important;color:#ffea00!important}
html.a11y-contrast input,html.a11y-contrast textarea,html.a11y-contrast select{background:#000!important;color:#fff!important;border:2px solid #fff!important}
html.a11y-contrast .chip input:checked+span,html.a11y-contrast .seg input:checked+span,html.a11y-contrast .a11y-opt[aria-pressed="true"]{background:#ffea00!important;color:#000!important}
html.a11y-contrast .chip input:checked+span *,html.a11y-contrast .seg input:checked+span *{color:#000!important}
html.a11y-contrast .hero-bg,html.a11y-contrast .pb-bg{background:#000!important}
html.a11y-contrast .a11y-panel,html.a11y-contrast .a11y-panel *{background-color:#000;color:#fff!important}
html.a11y-invert{filter:invert(1) hue-rotate(180deg)}
html.a11y-invert img,html.a11y-invert .leaflet-tile,html.a11y-invert video{filter:invert(1) hue-rotate(180deg)}
html.a11y-gray{filter:grayscale(1)}
html.a11y-sat body{filter:saturate(.35)}
html.a11y-links a{text-decoration:underline!important;text-underline-offset:3px;outline:2px dashed currentColor;outline-offset:2px}
html.a11y-readable body,html.a11y-readable body *:not(.bi):not([class^="bi-"]){font-family:Verdana,Tahoma,"Atkinson Hyperlegible",Arial,sans-serif!important;letter-spacing:.03em!important}
html.a11y-spacing body *:not(.bi){line-height:1.9!important;letter-spacing:.06em!important;word-spacing:.12em!important}
html.a11y-spacing p,html.a11y-spacing li{margin-bottom:1em!important}
html.a11y-motion *,html.a11y-motion *::before,html.a11y-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.a11y-motion .reveal{opacity:1!important;transform:none!important}
html.a11y-motion [data-parallax]{transform:none!important}
html.a11y-cursor,html.a11y-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M6 4l30 16-13 3-6 13z' fill='%23000' stroke='%23fff' stroke-width='3'/%3E%3C/svg%3E") 4 4,auto!important}
html.a11y-focus *:focus{outline:5px solid #ff0!important;outline-offset:3px!important;box-shadow:0 0 0 9px #000!important}
html.a11y-headings h1,html.a11y-headings h2,html.a11y-headings h3,html.a11y-headings h4{outline:3px solid #1d4ed8;outline-offset:4px;background:rgba(29,78,216,.08)}
html.a11y-left body *{text-align:left!important}
html.a11y-bigtargets .btn,html.a11y-bigtargets button,html.a11y-bigtargets .chip span,html.a11y-bigtargets .nav-link{min-height:52px;padding-top:.85rem!important;padding-bottom:.85rem!important}
html.a11y-hideimg img:not(.a11y-keep),html.a11y-hideimg .hero-bg,html.a11y-hideimg .pb-bg{visibility:hidden}
.a11y-speaking{outline:4px solid #1d4ed8!important;background:rgba(29,78,216,.1)!important}
.sr-only-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media(max-width:991.98px){.a11y-fab{left:auto;right:12px;width:52px;height:52px;bottom:72px}.a11y-fab svg{width:28px;height:28px}.a11y-panel{left:auto;right:12px}}
