/* PYRANHA MMA – Barrierefreiheits-Menü (assets/js/a11y.js), Darstellungsmodi und die
   dauerhaft sichtbaren Buttons für Barrierefreiheit (rechts) und Cookie-Einstellungen (links). */

/* Atkinson Hyperlegible – lesefreundliche Schrift für den Modus „Lesefreundliche Schrift“ */
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/atkinson/atkinson-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/atkinson/atkinson-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/atkinson/atkinson-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/atkinson/atkinson-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- Runde Buttons (immer sichtbar) ---------- */
.a11y-fab,.cookie-fab{position:fixed;z-index:9993;bottom:16px;width:56px;height:56px;padding:0;border-radius:50%;border:3px solid #FFFFFF;cursor:pointer;display:grid;place-items:center;box-shadow:0 12px 30px -8px rgba(0,0,0,.7);transition:background .15s,transform .2s}
.a11y-fab{right:16px;background:#E30613;color:#FFFFFF}
.a11y-fab:hover{background:#C40511}
.cookie-fab{left:16px;background:#141418;color:#FFFFFF}
.cookie-fab:hover{background:#2A2A2F;transform:rotate(-12deg)}
.a11y-fab:focus-visible,.cookie-fab:focus-visible{outline:3px solid #FFFFFF;outline-offset:3px}
/* Über der mobilen Sticky-Leiste */
@media (max-width:760px){
  .a11y-fab,.cookie-fab{width:50px;height:50px}
  body:has([data-sticky-cta],[data-sticky]) .a11y-fab,body:has([data-sticky-cta],[data-sticky]) .cookie-fab{bottom:92px}
}
/* Während das mobile Menü offen ist, ausblenden */
body.nav-open .a11y-fab,body.nav-open .cookie-fab,body.nav-open .a11y-panel{display:none}
/* Cookie-Hinweis sitzt über den Buttons */
.consent{bottom:84px}
@media (max-width:760px){body:has([data-sticky-cta],[data-sticky]) .consent{bottom:152px}}

/* ---------- Panel ---------- */
.a11y-panel{position:fixed;z-index:9996;right:16px;bottom:84px;width:min(380px,calc(100vw - 32px));max-height:calc(100vh - 110px);overflow:auto;background:#141418;color:#FFFFFF;border:1px solid #2A2A2F;box-shadow:0 30px 80px -20px rgba(0,0,0,.8);font:500 15px/1.45 'Inter',system-ui,sans-serif}
.a11y-panel[hidden]{display:none}
@media (max-width:760px){body:has([data-sticky-cta],[data-sticky]) .a11y-panel{bottom:152px;max-height:calc(100vh - 170px)}}
.a11y-head{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:#E30613;color:#FFFFFF}
.a11y-head h2{margin:0;font:400 24px/1.1 'Anton',sans-serif;text-transform:uppercase;letter-spacing:.005em;color:#FFFFFF}
.a11y-head h2:focus{outline:none}
.a11y-head h2:focus-visible{outline:3px solid #FFFFFF;outline-offset:4px}
.a11y-close{width:40px;height:40px;border-radius:50%;border:2px solid rgba(255,255,255,.7);background:transparent;color:#FFFFFF;font-size:16px;cursor:pointer}
.a11y-close:hover{background:rgba(255,255,255,.15)}
.a11y-close:focus-visible{outline:3px solid #FFFFFF;outline-offset:2px}
.a11y-body{padding:8px 18px 18px}
.a11y-group{border:0;margin:0;padding:12px 0 4px;border-bottom:1px solid #2A2A2F}
.a11y-gt{margin:0 0 6px;padding:0;font:700 11px 'Inter',sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#A5A5AC}
.a11y-opt{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 0}
.a11y-opt label{display:grid;gap:1px;cursor:pointer}
.a11y-ot{font-weight:800}
.a11y-od{font-size:13px;color:#A5A5AC}
.a11y-zoom{display:flex;align-items:center;gap:10px;padding:6px 0 10px}
.a11y-zoom button{width:52px;height:44px;border-radius:10px;border:1px solid #FFFFFF;background:transparent;color:#FFFFFF;font:800 16px 'Inter',sans-serif;cursor:pointer}
.a11y-zoom button:hover:not(:disabled){background:#E30613;border-color:#E30613}
.a11y-zoom button:disabled{opacity:.35;cursor:not-allowed}
.a11y-zoomval{min-width:64px;text-align:center;font:800 16px 'Inter',sans-serif}
.a11y-switch{position:relative;flex:0 0 auto;width:52px;height:30px;display:inline-block}
.a11y-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.a11y-switch-ui{position:absolute;inset:0;border-radius:999px;background:#3A3A40;transition:background .15s}
.a11y-switch-ui::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#FFFFFF;transition:transform .15s}
.a11y-switch input:checked + .a11y-switch-ui{background:#E30613}
.a11y-switch input:checked + .a11y-switch-ui::after{transform:translateX(22px)}
.a11y-switch input:focus-visible + .a11y-switch-ui{outline:3px solid #FFFFFF;outline-offset:3px}
.a11y-reset{width:100%;margin-top:14px;min-height:46px;border-radius:10px;border:1px solid #FFFFFF;background:transparent;color:#FFFFFF;font:800 14px 'Inter',sans-serif;letter-spacing:.02em;text-transform:uppercase;cursor:pointer}
.a11y-reset:hover{background:#FFFFFF;color:#0A0A0C}
.a11y-note{margin:12px 0 0;font-size:13px;color:#A5A5AC}
.a11y-note a{color:#FFFFFF}
.a11y-panel :focus-visible{outline:3px solid #FFFFFF;outline-offset:2px}

/* Lese-Lineal */
.a11y-guide{display:none;position:fixed;left:0;right:0;top:0;height:28px;z-index:9991;pointer-events:none;background:rgba(227,6,19,.18);border-top:2px solid #E30613;border-bottom:2px solid #E30613}
html.a11y-m-guide .a11y-guide{display:block}

/* ---------- Modi ---------- */
/* Größe: skaliert die ganze Seite (Layout arbeitet mit px) */
html.a11y-m-zoom{zoom:var(--a11y-zoom,1)}

/* Lesefreundliche Schrift (auch Überschriften, damit Anton-Versalien lesbarer werden) */
html.a11y-m-font body,html.a11y-m-font body *{font-family:"Atkinson Hyperlegible",Verdana,Arial,sans-serif !important}
html.a11y-m-font body :is(h1,h2,h3,h4){text-transform:none !important;letter-spacing:0 !important}

/* Abstände (WCAG 1.4.12) */
html.a11y-m-lh main :is(p,li,blockquote,dd,label){line-height:1.9 !important}
html.a11y-m-lh main p{margin-bottom:1.2em}
html.a11y-m-ws body{word-spacing:.16em !important;letter-spacing:.06em !important}
html.a11y-m-left main *{text-align:left !important}

/* Kontrast / Farben – auf <html>, damit fixierte Elemente an ihrem Platz bleiben */
html.a11y-m-contrast{filter:contrast(1.35)}
html.a11y-m-contrast main a{text-decoration:underline !important}
html.a11y-m-contrast main :is(p,li,span,label){text-shadow:none !important}
html.a11y-m-invert{filter:invert(1) hue-rotate(180deg);background:#0A0A0C}
html.a11y-m-invert :is(img,video,iframe){filter:invert(1) hue-rotate(180deg)}
html.a11y-m-gray{filter:grayscale(1)}
html.a11y-m-contrast.a11y-m-gray{filter:grayscale(1) contrast(1.35)}
html.a11y-m-invert.a11y-m-gray{filter:invert(1) hue-rotate(180deg) grayscale(1)}
html.a11y-m-invert.a11y-m-contrast{filter:invert(1) hue-rotate(180deg) contrast(1.35)}

/* Hervorhebungen */
html.a11y-m-links main a,html.a11y-m-links footer a{text-decoration:underline !important;text-decoration-thickness:2px !important;text-underline-offset:3px;outline:2px dashed #FFD400;outline-offset:2px}
html.a11y-m-headings main :is(h1,h2,h3,h4){outline:3px solid #FFD400;outline-offset:4px}
html.a11y-m-focus :focus-visible,html.a11y-m-focus :focus{outline:5px solid #FFD400 !important;outline-offset:3px !important;box-shadow:0 0 0 9px #0A0A0C !important}
html.a11y-m-cursor,html.a11y-m-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 fill='%230A0A0C' stroke='%23fff' stroke-width='1.2' d='M5 2l14 11-6.2.9 3.7 7.3-2.6 1.3-3.7-7.4L5 19z'/%3E%3C/svg%3E") 4 2,auto !important}

/* Animationen stoppen (Slider, Laufband, Einblendungen) */
html.a11y-m-motion *,html.a11y-m-motion ::before,html.a11y-m-motion ::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}
html.a11y-m-motion{scroll-behavior:auto !important}
html.a11y-m-motion [data-reveal]{opacity:1 !important;transform:none !important}

@media print{.a11y-fab,.cookie-fab,.a11y-panel,.a11y-guide,.consent{display:none !important}}
@media (prefers-reduced-motion:reduce){.cookie-fab{transition:none}.cookie-fab:hover{transform:none}}

/* „Zum Inhalt springen“ */
.skip-link{position:fixed;left:16px;top:-100px;z-index:9999;background:#E30613;color:#FFFFFF;padding:12px 18px;font:800 14px 'Inter',sans-serif;text-transform:uppercase;letter-spacing:.02em;text-decoration:none;border-radius:10px}
.skip-link:focus{top:16px;color:#FFFFFF}
