/* BERlogic Accessibility Widget */

/* Compact top-nav: reduce font-size a touch so the extended menu
   (Products..Barrierefreiheit) has a better chance of fitting on one line.
   !important because the page-specific Tilda CSS bundle loads after this
   file and would otherwise win on equal specificity. */
.a11y-compact-menu .t-menu__link-item{font-size:14px !important;letter-spacing:0.3px !important;}
#a11yToggleBtn{
  position:fixed; left:20px; bottom:20px; z-index:99998;
  width:52px; height:52px; border-radius:50%; background:#111; color:#fff;
  border:none; display:flex; align-items:center; justify-content:center;
  cursor:pointer; box-shadow:0 4px 16px rgba(0,0,0,0.3); font-size:26px;
}
#a11yToggleBtn:focus-visible, #a11yToggleBtn:hover{outline:3px solid #005fcc; outline-offset:2px;}

#a11yPanel{
  position:fixed; left:20px; bottom:82px; z-index:99998; width:300px; max-height:70vh; overflow-y:auto;
  background:#fff; color:#111; border-radius:12px; box-shadow:0 8px 30px rgba(0,0,0,0.35);
  padding:16px; display:none; font-family:Arial, sans-serif; font-size:14px;
}
#a11yPanel.open{display:block;}
#a11yPanel h2{font-size:16px; margin:0 0 12px;}
#a11yPanel .a11y-row{margin-bottom:12px;}
#a11yPanel .a11y-row > span{display:block; font-weight:600; margin-bottom:6px;}
#a11yPanel button.a11y-opt{
  background:#f0f0f0; border:1px solid #ccc; border-radius:6px; padding:6px 10px; margin:2px;
  cursor:pointer; font-size:13px;
}
#a11yPanel button.a11y-opt[aria-pressed="true"]{background:#111; color:#fff; border-color:#111;}
#a11yPanel button.a11y-opt:focus-visible{outline:3px solid #005fcc; outline-offset:2px;}
#a11yPanel .a11y-reset{width:100%; margin-top:6px; background:#eee;}
#a11yPanel .a11y-lang-row{display:flex; gap:6px; margin-bottom:14px;}

/* Font size steps - uses zoom (scales layout, not just text) on the page
   content wrapper only, so the accessibility panel/button itself keeps its
   own fixed size regardless of the user's chosen scale. */
html.a11y-fs-1 #allrecords{zoom:1.15;}
html.a11y-fs-2 #allrecords{zoom:1.3;}
html.a11y-fs-3 #allrecords{zoom:1.5;}

/* Letter spacing */
html.a11y-ls-1 body, html.a11y-ls-1 body *{letter-spacing:0.05em !important;}
html.a11y-ls-2 body, html.a11y-ls-2 body *{letter-spacing:0.1em !important;}

/* Line height */
html.a11y-lh-1 body, html.a11y-lh-1 body *{line-height:1.6 !important;}
html.a11y-lh-2 body, html.a11y-lh-2 body *{line-height:2 !important;}

/* Contrast modes */
html.a11y-contrast-dark body{background:#000 !important; color:#fff !important;}
html.a11y-contrast-dark body *{background-color:#000 !important; color:#fff !important; border-color:#fff !important;}
html.a11y-contrast-light body{background:#fff !important; color:#000 !important;}
html.a11y-contrast-light body *{background-color:#fff !important; color:#000 !important; border-color:#000 !important;}
html.a11y-contrast-high body{background:#000 !important; color:#ff0 !important;}
html.a11y-contrast-high body *{background-color:#000 !important; color:#ff0 !important; border-color:#ff0 !important;}

/* Highlight links */
html.a11y-highlight-links a{
  outline:2px solid #ff8562 !important; background:#fff59a !important; color:#111 !important;
}

/* Reading guide */
#a11yReadingGuide{
  position:fixed; left:0; width:100%; height:32px; background:rgba(255,229,100,0.55);
  z-index:99997; pointer-events:none; display:none; top:0;
}
