#djbf-toggle{position:fixed;right:20px;bottom:20px;z-index:2147483000;width:66px;height:66px;border:2px solid #fff;border-radius:50%;background:#064bc4;color:#fff;font-size:25px;cursor:pointer;box-shadow:0 2px 12px #0005}
#djbf-panel{position:fixed;right:20px;bottom:84px;z-index:2147483000;width:min(320px,calc(100vw - 40px));max-height:min(75vh,650px);overflow-y:auto;box-sizing:border-box;padding:16px;border:2px solid #064bc4;border-radius:12px;background:#fff;color:#111;box-shadow:0 5px 24px #0004;font:16px/1.4 Arial,sans-serif}
#djbf-panel[hidden]{display:none!important}
#djbf-panel .djbf-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
#djbf-panel h2{margin:0;font-size:20px;color:#111}
#djbf-panel button:not(#djbf-close),#djbf-panel select{display:block;width:100%;box-sizing:border-box;padding:9px;margin:6px 0;border:1px solid #777;border-radius:6px;background:#f7f7f7;color:#111;font:inherit;text-align:left;cursor:pointer}
#djbf-panel #djbf-close{background:#eee;color:#111;border:1px solid #777;border-radius:6px;padding:5px 10px;cursor:pointer}
#djbf-panel label{display:block;margin-top:7px}
#djbf-panel .djbf-check{display:flex;align-items:center;gap:7px}
#djbf-panel button[aria-pressed="true"]{background:#064bc4;color:#fff}
#djbf-panel :focus-visible,#djbf-toggle:focus-visible{outline:3px solid #f90;outline-offset:3px}
.djbf-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Never style generic DIV wrappers: these can contain floating widgets (WhatsApp etc.). */
body.djbf-contrast{background:#000!important;color:#fff!important}
body.djbf-contrast :where(main,article,section,p,h1,h2,h3,h4,h5,h6,li):not(#djbf-panel):not(#djbf-panel *){background-color:#000!important;color:#fff!important}
/* Preserve other plugins' floating buttons, including their backgrounds and visibility. */
body.djbf-contrast :where(main,article,section,p,li) a{color:#00ffff!important}
/* Graustufen auf visuelle Seiteninhalte, ohne schwebende Bedienelemente zu filtern. */
body.djbf-grayscale :is(img,video,canvas,svg,picture,iframe):not(#djbf-panel *):not(#djbf-toggle *):not(.djbf-exempt):not(.djbf-exempt *){filter:grayscale(1)!important}
body.djbf-grayscale :is(main,article,.elementor-widget-container) :is(button,a):not(#djbf-panel *):not(#djbf-toggle *){filter:grayscale(1)}
body.djbf-focus :focus-visible{outline:4px solid #ff9b00!important;outline-offset:3px!important}
/* Sichtbarer Lesefokus: horizontales Lesefenster folgt der Maus; niemals Klicks blockieren. */
#djbf-reading-guide{position:fixed!important;left:0;top:0;width:100vw;height:100vh;z-index:2147483000;pointer-events:none!important;display:none;background:linear-gradient(to bottom,rgba(0,0,0,.58) 0,rgba(0,0,0,.58) calc(var(--djbf-y,50vh) - 42px),transparent calc(var(--djbf-y,50vh) - 42px),transparent calc(var(--djbf-y,50vh) + 42px),rgba(0,0,0,.58) calc(var(--djbf-y,50vh) + 42px),rgba(0,0,0,.58) 100%)}
body.djbf-focus #djbf-reading-guide{display:block}
@media (prefers-reduced-motion:reduce){#djbf-reading-guide{transition:none}}
body.djbf-no-animations *,body.djbf-no-animations *::before,body.djbf-no-animations *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
/* Nur Fließtext skalieren, nicht Layout-Container, Menüs, Überschriften oder Floating-Widgets. */
body.djbf-large-text :is(p,li,blockquote):not(#djbf-panel *):not(#djbf-toggle *):not(.djbf-exempt *){font-size:calc(var(--djbf-original-size, 16px) * var(--djbf-font-scale, 1))!important}
@media(max-width:480px){#djbf-toggle{right:12px;bottom:12px}#djbf-panel{right:12px;bottom:76px;width:calc(100vw - 24px)}}

/* Icon as SVG: independent of emoji fonts; larger touch target. */
#djbf-toggle{display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;line-height:1!important;min-width:66px;min-height:66px}
#djbf-toggle .djbf-wheelchair{display:block!important;width:40px;height:40px;fill:#fff;flex:none}
#djbf-panel{bottom:98px}
@media(max-width:480px){#djbf-panel{bottom:90px}}

/* Keep the launcher visible above high-contrast site overlays and theme styles. */
body.djbf-contrast #djbf-toggle,
body.djbf-grayscale.djbf-contrast #djbf-toggle {
  position:fixed!important;display:flex!important;visibility:visible!important;
  opacity:1!important;filter:none!important;mix-blend-mode:normal!important;
  background:#064bc4!important;color:#fff!important;
  border:3px solid #fff!important;box-shadow:0 0 0 2px #000,0 3px 14px #0009!important;
  z-index:2147483646!important;pointer-events:auto!important;
}
body.djbf-contrast #djbf-toggle .djbf-wheelchair {
  display:block!important;visibility:visible!important;opacity:1!important;
  fill:#fff!important;color:#fff!important;filter:none!important;
}
body.djbf-contrast #djbf-panel {
  z-index:2147483645!important;background:#fff!important;color:#111!important;
  opacity:1!important;visibility:visible!important;filter:none!important;
}

/* Controls remain in the viewport and retain their own colors in all modes. */
html body #djbf-toggle{position:fixed!important;display:flex!important;visibility:visible!important;opacity:1!important;transform:none!important;filter:none!important;z-index:2147483646!important}
html body #djbf-panel:not([hidden]){position:fixed!important;display:block!important;visibility:visible!important;opacity:1!important;filter:none!important;z-index:2147483645!important}
