/* ===== Mobil: kein horizontales Scrollen ===== */
html,body{overflow-x:clip}
@media(max-width:640px){
  .topbar-inner{flex-wrap:wrap;justify-content:center;text-align:center;row-gap:2px}
  .topbar-inner>div{justify-content:center}
}
@media(max-width:480px){
  .topbar-inner span:has(#tb_email){display:none}
  .tb-mail-wrap{display:none}
}
/* ===== Barrierefreiheit ===== */
.skip-link{position:absolute;left:-9999px;top:0;z-index:99999;background:var(--blue,#1a6fba);color:#fff;padding:.8rem 1.2rem;border-radius:0 0 8px 0;font-weight:600;text-decoration:none}
.skip-link:focus{left:0}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible,.nav-dd-toggle:focus-visible{outline:3px solid #ff8c00;outline-offset:2px;border-radius:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---- Schriftgröße ---- */
html.a11y-font-1{font-size:112.5%}
html.a11y-font-2{font-size:125%}
html.a11y-font-3{font-size:140%}

/* ---- Modus: Maximaler Kontrast ---- */
html.a11y-contrast body{--text:#000;--text2:#111;--text3:#222;--border:#000;--bg:#fff;--bg2:#fff;--bg3:#f0f0f0}
html.a11y-contrast a:not(.btn-p):not(.nav-cta):not(.skip-link){text-decoration:underline;color:#0033cc}
html.a11y-contrast .btn-p,html.a11y-contrast .nav-cta{outline:3px solid #000;background:#0033cc!important;color:#fff!important}

/* ---- Modus: Rot-Grün-Schwäche (Blau/Orange statt Rot/Grün) ---- */
html.a11y-cb body{--green:#0072b2;--green-bg:#e1f0fa;--red:#d55e00;--red-bg:#fdecdf;--orange:#d55e00;--blue:#0072b2;--blue-d:#005a8f;--blue-l:#e1f0fa}
html.a11y-cb .price-badge.green,html.a11y-cb [style*="green"]{filter:none}

/* ---- Modus: Dunkelmodus (blendfrei) ---- */
html.a11y-dark body{--text:#f0f0f0;--text2:#cfd6e0;--text3:#9aa5b5;--bg:#15181f;--bg2:#1d2129;--bg3:#262b35;--border:#3a414e;--blue-l:#1a2a3a}
html.a11y-dark body{background:#15181f}
html.a11y-dark .topbar{background:#0d4a80}

/* ---- Modus: Lesbare Schrift (Legasthenie/Leseschwäche) ---- */
html.a11y-readable body{font-family:Verdana,Tahoma,'Segoe UI',sans-serif!important;line-height:1.8!important;letter-spacing:.02em;word-spacing:.08em}
html.a11y-readable h1,html.a11y-readable h2,html.a11y-readable h3{font-family:Verdana,Tahoma,sans-serif!important}

/* ---- Modus: Links hervorheben ---- */
html.a11y-links a:not(.btn-p):not(.nav-cta):not(.skip-link){text-decoration:underline!important;font-weight:700!important}

/* ===== Bedien-Panel ===== */
#a11yToggle{position:fixed;right:16px;bottom:16px;z-index:99990;width:56px;height:56px;border-radius:50%;border:3px solid #fff;background:#1a6fba;color:#fff;cursor:pointer;box-shadow:0 4px 20px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;padding:0}
@keyframes a11yHuepf{0%,20%,40%,60%,80%,100%{transform:translateY(0)}10%,50%{transform:translateY(-16px)}30%,70%{transform:translateY(-9px)}}
#a11yToggle.huepft{animation:a11yHuepf 2s ease-in-out 1.2s 4 both}
#a11yToggle svg{width:32px;height:32px;fill:#fff}
#a11yToggle:hover{background:#0d4a80}
#a11yPanel{position:fixed;right:16px;bottom:16px;z-index:99991;width:300px;max-width:calc(100vw - 32px);background:#fff;border:2px solid #1a6fba;border-radius:16px;box-shadow:0 8px 40px rgba(0,0,0,.3);padding:16px;color:#1a1f2e;font-family:-apple-system,'Segoe UI',sans-serif}
#a11yPanel[hidden]{display:none}
#a11yPanel h2{font-size:16px;margin:0 0 4px;color:#1a1f2e;font-family:inherit}
#a11yPanel .a11y-hint{font-size:12px;color:#555;margin:0 0 12px}
#a11yPanel .a11y-row{margin-bottom:10px}
#a11yPanel .a11y-label{font-size:12px;font-weight:700;color:#444;text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px;display:block}
#a11yPanel .a11y-btns{display:flex;gap:6px;flex-wrap:wrap}
#a11yPanel .a11y-opt{flex:1 1 60px;min-width:60px;padding:9px 6px;border:2px solid #dde3ed;background:#f6f8fa;border-radius:9px;cursor:pointer;font-size:12.5px;line-height:1.25;font-weight:600;color:#1a1f2e;text-align:center;hyphens:auto;overflow-wrap:break-word}
#a11yPanel .a11y-opt:hover{border-color:#1a6fba;background:#e8f2fb}
#a11yPanel .a11y-opt[aria-pressed="true"]{background:#1a6fba;color:#fff;border-color:#1a6fba}
#a11yPanel .a11y-foot{display:flex;gap:8px;margin-top:8px}
#a11yPanel .a11y-gs{display:flex;align-items:center;gap:10px;width:100%;padding:11px;margin-top:4px;background:#0e7a4a;color:#fff;border:none;border-radius:10px;text-decoration:none;font-size:14px;font-weight:700;justify-content:center}#a11yPanel .a11y-gs:hover{background:#0a5c38}
#a11yPanel .a11y-speakhint{font-size:11.5px;color:#0e7a4a;font-weight:600;margin:6px 0 0;text-align:center}
html.a11y-speakmode p,html.a11y-speakmode li,html.a11y-speakmode h1,html.a11y-speakmode h2,html.a11y-speakmode h3,html.a11y-speakmode td{cursor:pointer}
html.a11y-speakmode p:hover,html.a11y-speakmode li:hover,html.a11y-speakmode h1:hover,html.a11y-speakmode h2:hover,html.a11y-speakmode h3:hover,html.a11y-speakmode td:hover{outline:2px dashed #0e7a4a;outline-offset:2px;background:#e6f7ef}
.a11y-speaking{background:#fff3cd!important;outline:2px solid #b75d0d!important}
#a11yPanel .a11y-reset{flex:1;padding:9px;border:2px solid #c0392b;background:#fff;color:#c0392b;border-radius:9px;cursor:pointer;font-size:13px;font-weight:700}
#a11yPanel .a11y-closebtn{flex:1;padding:9px;border:2px solid #1a6fba;background:#1a6fba;color:#fff;border-radius:9px;cursor:pointer;font-size:13px;font-weight:700}
