@font-face {
    font-family: 'OpenDyslexicCustom';
    src: url('fonts/OpenDyslexic-Regular.otf') format('opentype');
    font-weight: normal;
}
@font-face {
    font-family: 'OpenDyslexicCustom';
    src: url('fonts/OpenDyslexic-Bold.otf') format('opentype');
    font-weight: bold;
}

body.acc-dyslexia, 
body.acc-dyslexia p, body.acc-dyslexia div, body.acc-dyslexia a, 
body.acc-dyslexia h1, body.acc-dyslexia h2, body.acc-dyslexia h3, 
body.acc-dyslexia span:not([class*="fa-"]) { 
    font-family: 'OpenDyslexicCustom', sans-serif !important; line-height: 1.6 !important;
}

body.acc-high-contrast { background-color: #000 !important; color: #ffff00 !important; }

body.acc-high-contrast *:not(.acc-option):not(i):not(#acc-reading-line):not(.acc-panel):not(.acc-btn-float):not(.acc-panel-content) { 
    background-color: #000 !important; 
    color: #ffff00 !important; 
    border-color: #ffff00 !important; 
}

body.acc-high-contrast .acc-panel { background-color: #000 !important; border: 3px solid #ffff00 !important; }
body.acc-high-contrast .acc-option { background-color: #000 !important; border: 2px solid #ffff00 !important; color: #ffff00 !important; }
body.acc-high-contrast .acc-option.active { background-color: #ffff00 !important; color: #000 !important; }
body.acc-high-contrast .acc-option.active i { color: #000 !important; }
body.acc-high-contrast #acc-reading-line { background-color: #ffff00 !important; height: 6px !important; }

html.acc-monochrome { filter: grayscale(100%) !important; }
body.acc-links-highlight a { background: #ffff00 !important; color: #000 !important; font-weight: bold !important; text-decoration: underline !important; }
body.acc-stop-anim * { animation: none !important; transition: none !important; }

body.acc-big-cursor, body.acc-big-cursor * { 
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 32 32'%3E%3Cpolygon points='2,2 2,28 10,20 16,30 20,28 14,18 24,18' fill='black' stroke='white' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") 2 2, auto !important;
}

body.f-size-1 { font-size: 1.15rem !important; }
body.f-size-2 { font-size: 1.3rem !important; }
body.f-size-3 { font-size: 1.45rem !important; }

.acc-panel {
    display: block !important; 
    position: fixed !important; 
    top: 55% !important;                       /* war 50% — schafft Lücke zum MOL-Sticker bei top 10% */
    right: -320px !important; 
    transform: translateY(-50%) !important;
    width: 320px !important; 
    max-width: 85vw !important; 
    background: #fff !important; 
    border: 1px solid #ddd !important; 
    border-right: none !important;
    border-radius: 0 !important; 
    z-index: 9999 !important;
    box-shadow: -5px 5px 20px rgba(0,0,0,0.2) !important;
    transition: right 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.acc-panel.active { 
    right: 0 !important; 
}

.acc-btn-float {
    position: absolute !important; 
    top: 50% !important;                       /* war -1px — zentriert statt oben angehängt */
    transform: translateY(-50%) !important;    /* neu — entkoppelt Y-Position von Panel-Höhe */
    left: -51px !important; 
    width: 50px !important; 
    height: 50px !important; 
    min-width: 0 !important; 
    border-radius: 0 !important; 
    background-color: #2467af !important; 
    color: #fff !important; 
    border: none !important;
    border-left: 1px solid #ddd !important;
    border-top: 1px solid #ddd !important;
    border-bottom: 1px solid #ddd !important;
    display: flex !important; 
    align-items: center !important; 
    justify-content: center !important; 
    padding: 0 !important;
    cursor: pointer !important; 
    box-shadow: -4px 0 10px rgba(0,0,0,0.1) !important;
    font-size: 24px !important; 
}

.acc-panel-content {
    padding: 20px !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
}

.acc-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
.acc-option { background: #f8f9fa !important; border: 1px solid #eee !important; padding: 10px 5px !important; border-radius: 8px !important; text-align: center !important; font-size: 10px !important; font-weight: bold !important; color: #3d4449 !important; cursor: pointer; }
.acc-option i { display: block !important; font-size: 18px !important; margin-bottom: 5px !important; color: #2467af !important; }
.acc-option.active { background: #3d4449 !important; color: #fff !important; }

#acc-reading-line { display: none; position: fixed; left: 0; width: 100%; height: 4px; background: #2467af; z-index: 9998; pointer-events: none; }
body.acc-reading-guide #acc-reading-line { display: block; }
