/* ============================================
   Innovity Inclusion Plugin – Modes
   ============================================ */

/* Fokus-Indikator erzwingen */
body.inno-incl-focus *:focus {
    outline: 3px solid #ffbf00 !important;
    outline-offset: 3px !important;
}

/* Hoher Kontrast */
body.inno-incl-high-contrast {
    background: #000 !important;
    color: #fff !important;
    filter: none !important;
}
body.inno-incl-high-contrast p,
body.inno-incl-high-contrast li,
body.inno-incl-high-contrast span,
body.inno-incl-high-contrast div {
    color: #fff !important;
    background: #000 !important;
}
body.inno-incl-high-contrast a {
    color: #ffff00 !important;
}
body.inno-incl-high-contrast h1,
body.inno-incl-high-contrast h2,
body.inno-incl-high-contrast h3,
body.inno-incl-high-contrast h4 {
    color: #ffff00 !important;
    background: #000 !important;
}
body.inno-incl-high-contrast button,
body.inno-incl-high-contrast input,
body.inno-incl-high-contrast textarea {
    background: #000 !important;
    color: #fff !important;
    border: 2px solid #fff !important;
}
body.inno-incl-high-contrast img {
    filter: contrast(1.2) brightness(0.9) !important;
}

/* Invertierte Farben */
body.inno-incl-invert > *:not(#inno-incl-toggle):not(#inno-incl-panel):not(#inno-incl-banner) {
    filter: invert(1) hue-rotate(180deg) !important;
}
body.inno-incl-invert img,
body.inno-incl-invert video,
body.inno-incl-invert iframe {
    filter: invert(1) hue-rotate(180deg) !important;
}

/* Graustufen */
body.inno-incl-grayscale > *:not(#inno-incl-toggle):not(#inno-incl-panel):not(#inno-incl-banner) {
    filter: grayscale(1) !important;
}

/* Farblindheits-Filter via SVG-Filter */
body.inno-incl-deutan > *:not(#inno-incl-toggle):not(#inno-incl-panel):not(#inno-incl-banner) {
    filter: url('#inno-incl-filter-deutan') !important;
}
body.inno-incl-protan > *:not(#inno-incl-toggle):not(#inno-incl-panel):not(#inno-incl-banner) {
    filter: url('#inno-incl-filter-protan') !important;
}
body.inno-incl-tritan > *:not(#inno-incl-toggle):not(#inno-incl-panel):not(#inno-incl-banner) {
    filter: url('#inno-incl-filter-tritan') !important;
}

/* Animationen deaktivieren */
body.inno-incl-no-animations *,
body.inno-incl-no-animations *::before,
body.inno-incl-no-animations *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
}

/* Legasthenie-Schrift */
@font-face {
    font-family: 'OpenDyslexic';
    src: url('../fonts/OpenDyslexic/OpenDyslexic-Regular.woff2') format('woff2'),
         url('../fonts/OpenDyslexic/OpenDyslexic-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
body.inno-incl-dyslexia,
body.inno-incl-dyslexia p,
body.inno-incl-dyslexia li,
body.inno-incl-dyslexia span,
body.inno-incl-dyslexia a,
body.inno-incl-dyslexia h1,
body.inno-incl-dyslexia h2,
body.inno-incl-dyslexia h3,
body.inno-incl-dyslexia h4 {
    font-family: 'OpenDyslexic', sans-serif !important;
    line-height: 1.8 !important;
    letter-spacing: 0.05em !important;
    word-spacing: 0.2em !important;
}

/* Zeilenabstand */
body.inno-incl-line-height-1 {
    line-height: 1.8 !important;
}
body.inno-incl-line-height-1 p,
body.inno-incl-line-height-1 li {
    line-height: 1.8 !important;
}
body.inno-incl-line-height-2 {
    line-height: 2.4 !important;
}
body.inno-incl-line-height-2 p,
body.inno-incl-line-height-2 li {
    line-height: 2.4 !important;
}

/* Buchstabenabstand */
body.inno-incl-letter-spacing-1 p,
body.inno-incl-letter-spacing-1 li,
body.inno-incl-letter-spacing-1 span {
    letter-spacing: 0.1em !important;
}
body.inno-incl-letter-spacing-2 p,
body.inno-incl-letter-spacing-2 li,
body.inno-incl-letter-spacing-2 span {
    letter-spacing: 0.2em !important;
}

/* Großer Cursor */
body.inno-incl-big-cursor,
body.inno-incl-big-cursor * {
    cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><path d="M5 2 L5 35 L13 27 L19 38 L23 36 L17 25 L28 25 Z" fill="black" stroke="white" stroke-width="2"/></svg>') 5 2, auto !important;
}

/* Links hervorheben */
body.inno-incl-highlight-links a {
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
    outline: 1px dashed currentColor !important;
    outline-offset: 2px !important;
}

/* Schriftgröße */
body.inno-incl-font-size-1 { font-size: 110% !important; }
body.inno-incl-font-size-2 { font-size: 125% !important; }
body.inno-incl-font-size-3 { font-size: 150% !important; }

/* SVG-Filter Container (unsichtbar) */
.inno-incl-svg-filters {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}
