/* Barrierefreiheitsmodus (public/js/a11y.js) - eigenständig, damit er auf
   allen Seiten gleich wirkt (Dashboard-Look style.css und landing.css).
   Die Optionen hängen als data-a11y-* am <html>. */

/* --- Bedienfeld --- */
.a11y-skip{position:fixed;left:12px;top:-60px;z-index:2000;padding:10px 16px;background:#0b0c0c;color:#ffdd00;font:700 15px/1.2 system-ui,sans-serif;border-radius:6px;text-decoration:underline;transition:top .15s}
.a11y-skip:focus{top:12px;outline:3px solid #ffdd00;outline-offset:2px}
.a11y-fab{position:fixed;left:20px;bottom:20px;z-index:999;width:52px;height:52px;border-radius:50%;border:2px solid #fff;background:#0a58ca;color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.35)}
.a11y-fab:hover{background:#084298}
.a11y-fab.is-on,#a11yToggle.is-on{box-shadow:0 0 0 3px #34c759,0 6px 20px rgba(0,0,0,.35)}
.a11y-panel{position:fixed;z-index:2001;right:16px;top:70px;width:min(380px,calc(100vw - 32px));max-height:calc(100vh - 90px);overflow:auto;background:#fff;color:#1a1a1a;border:1px solid #c8ccd0;border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.35);font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;text-align:left;letter-spacing:normal;word-spacing:normal}
.a11y-fab~.a11y-panel{top:auto;right:auto;left:16px;bottom:84px}
[data-theme="dark"] .a11y-panel{background:#1b1f24;color:#f1f3f5;border-color:#3d444c}
.a11y-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(127,127,127,.3)}
.a11y-head h2{margin:0;font-size:17px;font-weight:700;color:inherit;letter-spacing:0;text-transform:none}
.a11y-close{width:34px;height:34px;border-radius:8px;border:1px solid rgba(127,127,127,.4);background:transparent;color:inherit;cursor:pointer;font-size:15px}
.a11y-body{padding:6px 16px}
.a11y-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid rgba(127,127,127,.18)}
.a11y-row:last-child{border-bottom:0}
.a11y-label{display:grid;gap:2px}
.a11y-label span{font-weight:600}
.a11y-label small{font-size:12.5px;opacity:.75}
.a11y-steps{display:flex;flex:none;border:1px solid rgba(127,127,127,.45);border-radius:9px;overflow:hidden}
.a11y-steps button{border:0;background:transparent;color:inherit;font:600 13px/1 system-ui,sans-serif;padding:8px 9px;cursor:pointer}
.a11y-steps button+button{border-left:1px solid rgba(127,127,127,.45)}
.a11y-steps button[aria-checked="true"]{background:#0a58ca;color:#fff}
.a11y-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid rgba(127,127,127,.3);font-size:13.5px}
.a11y-foot a{color:#0a58ca;text-decoration:underline}
[data-theme="dark"] .a11y-foot a{color:#6ea8fe}
.a11y-reset{border:1px solid rgba(127,127,127,.5);background:transparent;color:inherit;border-radius:8px;padding:7px 12px;font:600 13px/1 system-ui,sans-serif;cursor:pointer}
.a11y-panel :focus-visible,.a11y-fab:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}
/* iPhone-Schalter im Panel (auch auf Seiten ohne style.css) */
.a11y-panel .ios-switch{flex:none;display:inline-flex;padding:0;border:0;background:none;cursor:pointer;border-radius:999px}
.a11y-panel .ios-track{position:relative;display:block;width:51px;height:31px;border-radius:999px;background:#e9e9eb;transition:background-color .25s}
[data-theme="dark"] .a11y-panel .ios-track{background:#3a3f45}
.a11y-panel .ios-knob{position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.2);transition:transform .25s cubic-bezier(.3,1.4,.6,1)}
.a11y-panel .ios-switch[aria-checked="true"] .ios-track{background:#34c759}
.a11y-panel .ios-switch[aria-checked="true"] .ios-knob{transform:translateX(20px)}
@media(max-width:560px){.a11y-panel{top:auto;bottom:84px;right:12px;left:12px;width:auto}.a11y-fab{left:14px;bottom:14px}}

/* --- Optionen --- */
/* Schriftgröße: zoom skaliert px- und rem-Angaben beider Stylesheets gleich */
html[data-a11y-font="1"] body{zoom:1.25}
html[data-a11y-font="2"] body{zoom:1.5}
html[data-a11y-font="1"] .a11y-panel{zoom:.8;font-size:18px}
html[data-a11y-font="2"] .a11y-panel{zoom:.6667;font-size:21px}

/* Hoher Kontrast: Tokens beider Stylesheets schärfen + generelle Regeln */
html[data-a11y-contrast]{--muted:#1a1a1a;--faint:#333;--border:#555;--secondary-bg:#d0d4d8;--tertiary-bg:#eceef0;--primary:#0040b0;--primary-hover:#002f80;--code:#9b0050;
  --lp-muted:#e6edf5;--lp-text:#ffffff;--lp-line:rgba(255,255,255,.55);--lp-line-soft:rgba(255,255,255,.35)}
html[data-a11y-contrast][data-theme="dark"]{--body-bg:#000;--body-color:#fff;--muted:#f1f1f1;--faint:#d6d6d6;--border:#9aa0a6;--tertiary-bg:#111;--secondary-bg:#222;--primary:#5aa2ff;--code:#ff8fc8}
html[data-a11y-contrast] .muted,html[data-a11y-contrast] .small{opacity:1}
html[data-a11y-contrast] .btn,html[data-a11y-contrast] .card,html[data-a11y-contrast] .panel,html[data-a11y-contrast] .stat,html[data-a11y-contrast] input,html[data-a11y-contrast] select,html[data-a11y-contrast] textarea{border-width:2px}
html[data-a11y-contrast] .badge,html[data-a11y-contrast] .badge-muted{outline:1px solid currentColor}
html[data-a11y-contrast] .lp{background:#000}
html[data-a11y-contrast] .lp p,html[data-a11y-contrast] .lp li{color:#fff}

/* Links hervorheben */
html[data-a11y-links] a:not(.btn):not(.brand):not(.side-link):not(.lp-btn):not(.tx-btn){text-decoration:underline!important;text-underline-offset:3px;text-decoration-thickness:2px;font-weight:700}
html[data-a11y-links] a.btn,html[data-a11y-links] .side-link{outline:1px dashed currentColor;outline-offset:2px}

/* Lesefreundlicher Abstand (WCAG 1.4.12) */
html[data-a11y-spacing] body,html[data-a11y-spacing] body *:not(code):not(pre):not(.a11y-panel *){line-height:1.8!important;letter-spacing:.06em!important;word-spacing:.16em!important}
html[data-a11y-spacing] p{margin-bottom:1.5em}

/* Deutlicher Fokus */
html[data-a11y-focus] :focus-visible,html[data-a11y-focus] :focus{outline:4px solid #ffbf47!important;outline-offset:3px!important;box-shadow:0 0 0 7px #0b0c0c!important;border-radius:4px}

/* Animationen aus */
html[data-a11y-motion] *,html[data-a11y-motion] *::before,html[data-a11y-motion] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-a11y-motion] .lp-reveal{opacity:1!important;transform:none!important}
html[data-a11y-motion] .truck{left:auto!important;right:28%}
html[data-a11y-motion] .scene-load .truck{left:calc(var(--lp-a) + var(--lp-off))!important;right:auto}
html[data-a11y-motion] .scene-load .digger-1{left:var(--lp-a)!important}

/* Großer Mauszeiger */
html[data-a11y-cursor],html[data-a11y-cursor] *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'%3E%3Cpath d='M4 2l15 11-7 1 4 8-3 1-4-8-5 5z' fill='%23000' stroke='%23fff' stroke-width='1.4'/%3E%3C/svg%3E") 4 2,auto!important}
html[data-a11y-cursor] a,html[data-a11y-cursor] button,html[data-a11y-cursor] [role="switch"],html[data-a11y-cursor] label{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'%3E%3Cpath d='M4 2l15 11-7 1 4 8-3 1-4-8-5 5z' fill='%230a58ca' stroke='%23fff' stroke-width='1.4'/%3E%3C/svg%3E") 4 2,pointer!important}

#inhalt:focus,main[tabindex="-1"]:focus{outline:none}
