/* Fixed-width panel: white background + box shadow, no overlay */
.wp-a11y-toolbar {
  position: fixed;
  z-index: 2147483000;
  width: 360px;
  max-width: 92vw;
  max-height: 80vh;
  right: var(--a11y-offset-x, 16px);
  bottom: var(--a11y-offset-y, 16px);
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(0,0,0,.25);
  overflow: hidden;
  background: #ffffff;
  color: #111111;
}

/* Optional position mirrors (if needed later) */
.wp-a11y-toolbar.top-right    { top: var(--a11y-offset-y,16px); right: var(--a11y-offset-x,16px); bottom: auto; left: auto; }
.wp-a11y-toolbar.bottom-right { bottom: var(--a11y-offset-y,16px); right: var(--a11y-offset-x,16px); top: auto; left: auto; }
.wp-a11y-toolbar.bottom-left  { bottom: var(--a11y-offset-y,16px); left: var(--a11y-offset-x,16px);  top: auto; right: auto; }
.wp-a11y-toolbar.top-left     { top: var(--a11y-offset-y,16px); left: var(--a11y-offset-x,16px);   bottom: auto; right: auto; }

/* Freeze popup typography so site-level changes won't affect it */
.wp-a11y-toolbar.a11y-fixed {
  font-size: 16px !important;
  line-height: 1.4 !important;
  letter-spacing: normal !important;
  background: #fff !important;
  color: #111 !important;
}
html.a11y-font-scale .wp-a11y-toolbar.a11y-fixed { font-size: 16px !important; }
html.a11y-theme-high-dark .wp-a11y-toolbar.a11y-fixed,
html.a11y-theme-high-light .wp-a11y-toolbar.a11y-fixed { background: #fff !important; color: #111 !important;text-shadow:none; }

@font-face {
  font-family: 'OpenDyslexic';
  src: url('../fonts/opendyslexic.woff2') format('woff2'),
       url('../fonts/opendyslexic.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/* Root CSS variables for themes */
:root {
  --a11y-bg: #fff;
  --a11y-fg: #111;
  --a11y-accent: #005fcc;
  --a11y-overlay: rgba(0,0,0,.5);
  --a11y-focus: #ffbf47;

  --a11y-ruler-top: 45dvh;     /* stabile Höhe auch auf Mobile (dvh statt vh) */
  --a11y-ruler-height: 36px;
}
@media (max-width: 430px){
  :root{
    --a11y-ruler-top: 30dvh;   /* z.B. etwas tiefer auf kleinen Screens */
  }
}
.a11y-theme-high-dark  { --a11y-bg: #000; --a11y-fg: #fff; --a11y-accent: #33aaff; text-shadow:none; }
.a11y-theme-high-light { --a11y-bg: #fff; --a11y-fg: #000; --a11y-accent: #000;     text-shadow:none; }

/* Dialog */
#wp-a11y-toolbar[hidden] { display: none !important; }
.wp-a11y-toolbar__body, .wp-a11y-toolbar__header, .wp-a11y-toolbar__footer {
  background: var(--a11y-bg); color: var(--a11y-fg);
}
.wp-a11y-toolbar__header {
  min-width: 320px; max-width: 640px; width: 100%;
  border-radius: 10px 10px 0 0;
  padding: 12px 16px; border-bottom: 1px solid #ddd;
  display: flex; flex-direction: column; align-items: center; justify-content: space-between;
}
.wp-a11y-toolbar__body {
  min-width: 320px; max-width: 640px; width: 100%;
  padding: 12px 16px; max-height: 70vh; overflow: auto;
}
.wp-a11y-toolbar__footer {
  margin:0 auto;
  min-width: 320px; max-width: 640px; width: 100%;
  border-radius: 0 0 10px 10px;
  padding: 12px 16px; border-top: 1px solid #ddd;
  display: flex; justify-content: flex-end; gap: 8px; flex-direction: column;
}
.wp-a11y-close { background: none; border: 2px solid var(--a11y-fg); color: var(--a11y-fg); border-radius: 3px; font-size: 16px; line-height: 1; cursor: pointer; position: absolute; right: 10px; top: 10px; }
.wp-a11y-reset, .wp-a11y-button { background: var(--a11y-accent); color: #fff; border: none; border-radius: 6px; padding: 8px 12px; cursor: pointer; }
.wp-a11y-close{ padding: 0px 6px 2px 6px !important; background-color: #fff !important; font-weight: 800 !important; }

/* Controls layout */
.wp-a11y-controls { display: grid; gap: 8px; }
.wp-a11y-control { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.wp-a11y-control label { font-weight: 600; }
.wp-a11y-control input[type=range] { width: 160px; }
.wp-a11y-control .toggle { width: 52px; height: 28px; border-radius: 999px; background: #eee; position: relative; }
.wp-a11y-control .toggle::after { content: ""; position: absolute; width: 24px; height: 24px; background: #fff; top: 2px; left: 2px; border-radius: 50%; box-shadow: 0 4px 3px rgba(0,0,0,.2); transition: left .2s ease; }
.wp-a11y-control .toggle[aria-checked=true] { background: #005fcc; }
.wp-a11y-control .toggle[aria-checked=true]::after { left: 26px; }

/* Global feature classes */
html.a11y-font-scale { font-size: var(--a11y-font-scale, 100%); }
body.a11y-letter-spacing { letter-spacing: var(--a11y-letter-spacing, 0); }
body.a11y-line-height    { line-height: var(--a11y-line-height, 1.5); }

/* Link & heading highlights */
.a11y-highlight-links a { text-decoration: underline !important; outline: 2px dashed var(--a11y-accent) !important; }
.a11y-highlight-headings h1, .a11y-highlight-headings h2, .a11y-highlight-headings h3, .a11y-highlight-headings h4 { outline: 2px solid var(--a11y-accent); }

/* Strong focus ring */
:where(a, button, input, select, textarea):focus { outline: 3px solid --a11y-focus; outline-offset: 3px; }

/* Reading ruler
#a11y-reading-ruler { position: fixed; left: 0; right: 0; height: var(--a11y-ruler-height, 32px); pointer-events: none; background: rgba(255,255,0,.18); z-index: 99998; display: none; }
#a11y-reading-ruler.active { display: block; } */

/* Reading ruler – feste Position über CSS-Variablen */
#a11y-reading-ruler{
  position: fixed;
  left: 0;
  right: 0;
  top: var(--a11y-ruler-top, 45dvh); /* Höhe der Linie */
  height: var(--a11y-ruler-height, 36px);
  pointer-events: none;
  background: rgba(255,255,0,.18);
  z-index: 99998;
  display: none;
}
#a11y-reading-ruler.active{ display:block; }


/* Mobile: Lineal tiefer setzen + (optional) etwas höher machen */
@media (max-width: 430px){
  #a11y-reading-ruler{
    --a11y-ruler-top: 30dvh;          /* ← hier „tiefer“ einstellen */
    --a11y-ruler-height: 36px;       /* optional: etwas höher */
  }
}
/* iPhone-Notch */
@supports (top: env(safe-area-inset-top)){
  #a11y-reading-ruler{
    top: calc(var(--a11y-ruler-top, 30vh) + env(safe-area-inset-top));
  }
}


/* Pause animations scope */
.a11y-pause-animations * { animation: none !important; transition: none !important; }

/* Limit width for readability */
.a11y-limit-width main, .a11y-limit-width article, .a11y-limit-width .entry-content { max-width: 70ch; margin-inline: auto; padding-inline: 1rem; }

/* Exclude toolbar from global effects */
.a11y-highlight-links a:not(#wp-a11y-toolbar *):not(#wp-a11y-toolbar) { text-decoration: underline !important; outline: 2px dashed var(--a11y-accent) !important; }
.a11y-highlight-headings :is(h1,h2,h3,h4,h5,h6):not(#wp-a11y-toolbar *):not(#wp-a11y-toolbar) { outline: 2px solid var(--a11y-accent); }
:where(a, button, input, select, textarea):focus:not(#wp-a11y-toolbar *):not(#wp-a11y-toolbar) { outline: 3px solid var(--a11y-focus); outline-offset: 3px; }
.a11y-pause-animations *:not(#wp-a11y-toolbar *):not(#wp-a11y-toolbar) { animation: none !important; transition: none !important; }

/* Minimal page-level contrast (excludes toolbar by overriding toolbar colors) */
html.a11y-theme-high-dark body  { background: #000; color: #fff; text-shadow:none; }
html.a11y-theme-high-light body { background: #fff; color: #000; text-shadow:none; }
html.a11y-theme-high-dark a     { color: #33aaff; }
html.a11y-theme-high-light a    { color: #0000ee; }

/* Keep the toolbar neutral even in contrast modes */
html.a11y-theme-high-dark #wp-a11y-toolbar,
html.a11y-theme-high-light #wp-a11y-toolbar {
  background: #fff;
  color: #111;
}

/* Keep the toolbar unaffected by global typography adjustments */
#wp-a11y-toolbar {
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: normal;
}
html.a11y-font-scale #wp-a11y-toolbar { font-size: 16px; }
#wp-a11y-toolbar * { letter-spacing: inherit; line-height: inherit; }

/* Apply contrast to the page content only; keep toolbar neutral */
html.a11y-theme-high-dark body  { background:#000; color:#fff; }
html.a11y-theme-high-light body { background:#fff; color:#000; }
html.a11y-theme-high-dark body a  { color:#33aaff; }
html.a11y-theme-high-light body a { color:#0000ee; }

/* Force toolbar light theme regardless of contrast mode */
html.a11y-theme-high-dark #wp-a11y-toolbar,
html.a11y-theme-high-light #wp-a11y-toolbar {
  background:#fff !important;
  color:#111 !important;
}
html.a11y-theme-high-dark #wp-a11y-toolbar a,
html.a11y-theme-high-light #wp-a11y-toolbar a {
  color:#005fcc !important;
}

/* Hard isolation: the popup's controls keep size even when page typography changes */
#wp-a11y-toolbar,
#wp-a11y-toolbar :is(label, button, select, input, textarea, .wp-a11y-button) {
  font-size: 16px !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
#wp-a11y-toolbar .wp-a11y-button { padding: 8px 12px; }
#wp-a11y-toolbar select,
#wp-a11y-toolbar input[type="text"],
#wp-a11y-toolbar input[type="range"] { font-size: 16px !important; }

/* TTS controls as 2x2 grid (no label), avoiding horizontal scroll */
.wp-a11y-tts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  align-items: stretch;
}
.wp-a11y-tts .wp-a11y-button { width: 100%; }
@media (max-width: 380px) { .wp-a11y-tts { grid-template-columns: 1fr; } }

/* Paragraph-focused contrast (exclude popup) */
html.a11y-theme-high-dark :where(p):not(#wp-a11y-toolbar *):not(#wp-a11y-toolbar) {
  background: #000 !important;
  color: #fff !important;
  padding: 0.55em 0.5em !important;
  text-shadow:none;
}
html.a11y-theme-high-light :where(p):not(#wp-a11y-toolbar *):not(#wp-a11y-toolbar) {
  background: #fff !important;
  color: #000 !important;
  padding: 0.55em 0.5em !important;
  text-shadow:none;
}
html.a11y-theme-high-dark :where(p):not(#wp-a11y-toolbar *):not(#wp-a11y-toolbar) a {
  color: #33aaff !important;
  text-decoration: underline;
}
html.a11y-theme-high-light :where(p):not(#wp-a11y-toolbar *):not(#wp-a11y-toolbar) a {
  color: #0000ee !important;
  text-decoration: underline;
}

/* Toolbar theme toggle (light/dark) */
#wp-a11y-toolbar.theme-dark,
#wp-a11y-toolbar.theme-dark .wp-a11y-toolbar__header,
#wp-a11y-toolbar.theme-dark .wp-a11y-toolbar__body,
#wp-a11y-toolbar.theme-dark .wp-a11y-toolbar__footer {
  background: #111 !important;
  color: #fff !important;
}
#wp-a11y-toolbar.theme-dark .wp-a11y-button { background: #66b2ff !important; color: #111 !important; }
#wp-a11y-toolbar.theme-dark .wp-a11y-control .toggle[aria-checked=true] { background: #66b2ff !important; }

/* Small theme toggle button in header */
#wp-a11y-theme-toggle[aria-pressed="true"] { background: currentColor; color: #111; }

/* Headings contrast (exclude popup) */
html.a11y-theme-high-dark  :where(h1,h2,h3,h4,h5,h6):not(#wp-a11y-toolbar *):not(#wp-a11y-toolbar) { background: #000 !important; color: #fff !important; padding: 0.55em 0.35em !important; }
html.a11y-theme-high-light :where(h1,h2,h3,h4,h5,h6):not(#wp-a11y-toolbar *):not(#wp-a11y-toolbar) { background: #fff !important; color: #000 !important; padding: 0.55em 0.35em !important; }

/* Span contrast (exclude popup); no padding for inline elements */
html.a11y-theme-high-dark  :where(span):not(#wp-a11y-toolbar *):not(#wp-a11y-toolbar) { background: #000 !important; color: #fff !important; }
html.a11y-theme-high-light :where(span):not(#wp-a11y-toolbar *):not(#wp-a11y-toolbar) { background: #fff !important; color: #000 !important; }

/* === User-requested sizing overrides === */
.wp-a11y-toolbar{ width:410px; }
.wp-a11y-toolbar__header,
.wp-a11y-toolbar__body{ width:100%; margin: 0 auto; }

/* Normalize paddings on controls and footer buttons */
.wp-a11y-controls select,
.wp-a11y-controls button,
.wp-a11y-toolbar__footer button{ padding:8px !important; }

/* Header theme switch styled like regular toggles */
.wp-a11y-theme-switch{ display:inline-flex; align-items:center; gap:8px; margin-right:8px; }
span.one_line { font-size: 20px; font-weight: 500; }
.wp-a11y-theme-switch .label{ font-weight:600; }
.wp-a11y-theme-switch .toggle{
  width:52px; height:28px; border-radius:999px; background:#eee; position:relative; cursor:pointer; border:none;
}
.wp-a11y-theme-switch .toggle::after{
  content:""; position:absolute; width:24px; height:24px; background:#fff;
  top:2px; left:2px; border-radius:50%; box-shadow:0 4px 3px rgba(0,0,0,.2);
  transition:left .2s ease;
}
.wp-a11y-theme-switch .toggle[aria-checked="true"]{ background:#005fcc; }
.wp-a11y-theme-switch .toggle[aria-checked="true"]::after{ left:26px; }

/* === Dyslexie-Schrift global erzwingen, wenn aktiv === */
html.a11y-font-dyslexic body,
html.a11y-font-dyslexic body :is(h1,h2,h3,h4,h5,h6,p,li,span,div,a,em,strong,small,blockquote,figcaption,table,thead,tbody,tfoot,tr,th,td,label,button,input,select,textarea) {
  font-family: OpenDyslexic, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif !important;
}
/* Toolbar selbst neutral lassen */
html.a11y-font-dyslexic #wp-a11y-toolbar,
html.a11y-font-dyslexic #wp-a11y-toolbar * { font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif !important; }

#wp-a11y-toolbar .credits, #wp-a11y-toolbar .credits a, .credits, #wp-a11y-toolbar .credits a:hover { font-size: 13px; color: #333; padding: 10px; text-align: center; }
.theme-dark .credits,.theme-dark .credits a, .theme-dark .credits, .theme-dark .credits a:hover{ color: #fff; }

/* --- Docked panel positions (corner docking) --- */
#wp-a11y-toolbar.is-docked {
  position: fixed;
  inset: auto;
  transform: none;
  z-index: var(--a11y-z-index, 99999);
  max-height: calc(100dvh - (var(--a11y-offset-y, 16px) * 2));
  overflow: auto;
}
#wp-a11y-toolbar.is-docked.top-left     { top: var(--a11y-offset-y, 16px); left: var(--a11y-offset-x, 16px); }
#wp-a11y-toolbar.is-docked.top-right    { top: var(--a11y-offset-y, 16px); right: var(--a11y-offset-x, 16px); }
#wp-a11y-toolbar.is-docked.bottom-left  { bottom: var(--a11y-offset-y, 16px); left: var(--a11y-offset-x, 16px); }
#wp-a11y-toolbar.is-docked.bottom-right { bottom: var(--a11y-offset-y, 16px); right: var(--a11y-offset-x, 16px); }

/* Row mit 2 Segmented-Controls nebeneinander */
#wp-a11y-toolbar .wp-a11y-controls-row{ display:flex; justify-content:space-between; gap:.75rem; flex-wrap:wrap; }
#wp-a11y-toolbar .wp-a11y-controls-row .wp-a11y-control{ flex:1 1 0; min-width:240px; }
#wp-a11y-toolbar .wp-a11y-controls-row.kranj { flex-wrap: nowrap !important; margin-bottom: 15px; gap: 5px; }
.wp-a11y-control.fonty, .wp-a11y-control.contras { width: 48.5%; flex: none !important; min-width: 48.5% !important; }
.fonty .wp-a11y-segmented, .contras .wp-a11y-segmented { display:flex; flex-direction:column; }
.wp-a11y-seglist.btns { display:flex; flex-direction:row; justify-content:space-between; }
.contras .wp-a11y-segmented, .fonty .wp-a11y-segmented { width:100%; }
span.seg-swatch { display:none !important; }

/* Global feature classes – mobile fix */
@media (max-width:767px){
  /* NICHT das <html> skalieren – gezielt Fließtext */
  html.a11y-font-scale body :where(p, li, dd, td){
    font-size: var(--a11y-font-scale, 100%) !important;
  }
  /* Elementor-Container mit abdecken */
  html.a11y-font-scale .elementor :where(p, li){
    font-size: var(--a11y-font-scale, 100%) !important;
  }
  /* Überschriften NICHT aufblasen, nur umbrechbar */
  html.a11y-font-scale :where(h1,h2,h3,h4,h5,h6){
    overflow-wrap: anywhere; word-break: normal;
  }
  body.a11y-letter-spacing { letter-spacing: var(--a11y-letter-spacing, 0) !important; }
  body.a11y-line-height    { line-height: var(--a11y-line-height, 1.5) !important; }
}

/* 2) Letterspacing/Line-height nur auf Textknoten anwenden – nicht global auf body */
body.a11y-letter-spacing :where(p, li){ letter-spacing: var(--a11y-letter-spacing, 0) !important; }
body.a11y-line-height    :where(p, li){ line-height: var(--a11y-line-height, 1.5) !important; }

/* ===== A11y Font-Scale: Mobile-Fix gegen Elementor px-Werte ===== */
html.a11y-font-scale { --a11y-font-scale-factor: calc(var(--a11y-font-scale, 100%) / 100); }

/* ===== Segmented Controls (Kachel-Schalter) ===== */
#wp-a11y-toolbar .wp-a11y-segmented{
  display: inline-flex;
  gap: 0;
  padding: 4px;
  border-radius: 10px;
  background: #f5f6f8;
  border: 1px solid #d8dbe1;
}
#wp-a11y-toolbar.theme-dark .wp-a11y-segmented{ background:#1f1f23; border-color:#3a3a43; }
#wp-a11y-toolbar .wp-a11y-seg{
  position: relative; appearance:none; border:0; background:transparent; color:#111;
  padding:.45rem .8rem; border-radius:8px; font:inherit; cursor:pointer; outline:none;
}
#wp-a11y-toolbar.theme-dark .wp-a11y-seg{ color:#ddd; }
#wp-a11y-toolbar .wp-a11y-seg:hover{ background: rgba(0,0,0,.04); }
#wp-a11y-toolbar.theme-dark .wp-a11y-seg:hover{ background: rgba(255,255,255,.06); }
#wp-a11y-toolbar .wp-a11y-seg[aria-checked="true"]{ background:#2271b1; color:#fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); }
#wp-a11y-toolbar .wp-a11y-seg:focus-visible{ box-shadow: 0 0 0 3px rgba(34,113,177,.35); }

/* Swatches */
#wp-a11y-toolbar .wp-a11y-seg .seg-swatch{
  display:inline-block; width:1.05em; height:1.05em; border-radius:3px; vertical-align:-2px; margin-right:.45em; border:1px solid #c8c8c8;
}
#wp-a11y-toolbar.theme-dark .wp-a11y-seg .seg-swatch{ border-color:#555; }
#wp-a11y-toolbar .wp-a11y-seg.seg--off  .seg-swatch{ background: linear-gradient(135deg, #bbb 50%, #eee 50%); }
#wp-a11y-toolbar .wp-a11y-seg.seg--dark .seg-swatch{ background: linear-gradient(135deg, #000 50%, #fff 50%); }
#wp-a11y-toolbar .wp-a11y-seg.seg--light .seg-swatch{ background: linear-gradient(135deg, #fff 50%, #000 50%); }
#wp-a11y-toolbar .contrast_img {width: 30px !important; height: 30px !important; margin: 2px 0 !important; }

/* 2) Inhalt skalieren (nicht die Toolbar) */
@media (max-width: 767px) {
  /* 3) Spezifischer Override für dein konkretes Element (beats 19px) */
  html.a11y-font-scale .elementor-2 .elementor-element.elementor-element-7dd8b62 {
    font-size: calc(1em * var(--a11y-font-scale-factor)) !important;
  }
  /* 4) Toolbar vom globalen Typo-Einfluss abkoppeln */
  #wp-a11y-toolbar, #wp-a11y-toolbar * {
    font-size: 16px !important; letter-spacing: normal !important; line-height: normal !important;
  }
}

#wp-a11y-toolbar .credits, #wp-a11y-toolbar .credits a, .credits, #wp-a11y-toolbar .credits a:hover {
  font-size: 13px !important; color: #ccc !important; padding: 10px; text-align: center;
}
#wp-a11y-toolbar .credits a.a_credits, #wp-a11y-toolbar .credits a.a_credits:hover {
  color: #ccc !important;
}
/* Buttons */
#wp-a11y-toolbar [type=button], #wp-a11y-toolbar [type=submit], #wp-a11y-toolbar button { border:1px solid #dedede; color:#333; }
#wp-a11y-toolbar #wp-a11y-theme-toggle { border: 1px solid #dedede; }
/* Close Button */
#wp-a11y-toolbar [type=button].wp-a11y-close:hover { color:#333; }
#wp-a11y-toolbar [type=button]:hover,
#wp-a11y-toolbar [type=button]:active,
#wp-a11y-toolbar [type=button]:focus { background:#005fcc; color:#fff; }

/* ===== Button-Icons nur bei Hover/Focus/Active (Font Awesome lokal) ===== */
.wp-a11y-button[data-icon]::before{
  font-family: "Font Awesome 6 Free"; font-weight: 900; display: inline-block; width: 1em; margin-right: .5em;
  text-align: center; line-height: 1; opacity: 0; transform: scale(.9);
  transition: opacity .15s ease, transform .15s ease; content: "";
}
.wp-a11y-button[data-icon="check"]::before { content: "\f00c"; }
.wp-a11y-button[data-icon]::before,
.wp-a11y-button:hover[data-icon]::before,
.wp-a11y-button:focus-visible[data-icon]::before,
.wp-a11y-button:active[data-icon]::before,
.wp-a11y-button[aria-pressed="true"][data-icon]::before{ opacity: 1; transform: none; }

/* Row von globaler Vergrößerung abkoppeln */
html.a11y-font-scale #wp-a11y-toolbar .wp-a11y-controls-row.kranj,
html.a11y-font-scale #wp-a11y-toolbar .wp-a11y-controls-row.kranj *{ font-size: 16px; }

/* Box-Metriken stabil */
#wp-a11y-toolbar .wp-a11y-controls-row.kranj .wp-a11y-seg{ padding: .45em .8em; }

/* Theme-Switch vom globalen fontScale entkoppeln */
#wp-a11y-toolbar .wp-a11y-theme-switch .toggle{ line-height:1; padding:.35em .6em; border-radius:999px; }
html.a11y-font-scale #wp-a11y-toolbar .wp-a11y-theme-switch .toggle{ font-size:14px; }
#wp-a11y-toolbar .wp-a11y-theme-switch .label{ font-size:1em; }

/* Kontrast-Segmente stabil */
#wp-a11y-toolbar .wp-a11y-seg{
  line-height: 1.2; padding: 7px 11px;
  transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
}
#wp-a11y-toolbar .wp-a11y-seg .seg-text{ display:inline-block; line-height:1; transform-origin:center; will-change:transform; }
#wp-a11y-toolbar{ --seg-off:1; --seg-dark:1.15; --seg-light:1.15; }
#wp-a11y-toolbar .wp-a11y-seg{ display:inline-flex; align-items:center; height:34px; padding:0 11px; line-height:1; }
#wp-a11y-toolbar .contrast .wp-a11y-seg .seg-text{ display:inline-block; line-height:30px; font-size:30px; }
#wp-a11y-toolbar .wp-a11y-seg.seg--off  .seg-text{  font-size: 1em; }
#wp-a11y-toolbar .wp-a11y-seg.seg--dark .seg-text{  font-size: 38px !important; }
#wp-a11y-toolbar .wp-a11y-seg.seg--light .seg-text{ font-size: 30px !important; }
#wp-a11y-toolbar .wp-a11y-controls-row.kranj .wp-a11y-seg.seg--dark{  padding: 0 8px 8px 8px; }
#wp-a11y-toolbar .wp-a11y-controls-row.kranj .wp-a11y-seg.seg--light{ padding: 0 5px 4px 5px; }
#wp-a11y-toolbar .wp-a11y-controls-row.kranj .wp-a11y-seg.seg--off{   padding: 10px; }

span#a11y-contrast__label, span#a11y-fontFamily__label { padding-bottom: 15px; text-align: center; }
#wp-a11y-toolbar .wp-a11y-seglist .contrast_img{
  display:inline-block; height:18px; vertical-align:middle; margin:0 .35em; user-select:none; pointer-events:none; opacity:.85;
}

/* Mobile sizes */
@media (max-width: 767px) {
  .wp-a11y-toolbar { max-width: 95vw; max-height: 80vh; --a11y-offset-x: 10px !important; }
}
@media (max-width: 430px) {
  #wp-a11y-toolbar .contrast_img { width:20px !important; height:20px !important; margin:7px 0 !important; }
}
@media (max-width: 391px) {
  .wp-a11y-control input[type=range] { width: 134px !important; }
  #wp-a11y-toolbar button.wp-a11y-seg.sys, #wp-a11y-toolbar button.wp-a11y-seg.dys { font-size: 14px !important; }
}
@media (max-width: 376px) {
  .wp-a11y-toolbar { max-width: 97vw; max-height: 92vh; }
}

.bgbg, html .bgbg{ background:#fff; color:#000; }

/* ================== Globaler sicherer Wort-/URL-Umbruch ================== */
/* Aktiv via Klasse <html class="a11y-wordwrap"> */

/* Fließtext-Container */
html.a11y-wordwrap body :where(p, li, dd, blockquote, figcaption){
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  hyphens: auto;
}
/* Inhalt IN den Containern */
html.a11y-wordwrap body :where(p, li, dd, blockquote, figcaption) *{
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  hyphens: auto;
}
/* Überschriften */
html.a11y-wordwrap :where(h1,h2,h3,h4,h5,h6){
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  hyphens: auto;
}
/* Elementor typische Typen */
html.a11y-wordwrap .elementor .elementor-heading-title,
html.a11y-wordwrap .elementor .elementor-widget-text-editor,
html.a11y-wordwrap .elementor .elementor-widget-text-editor p,
html.a11y-wordwrap .elementor .elementor-widget-container p{
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}
/* Links/URLs */
html.a11y-wordwrap a{ overflow-wrap:anywhere !important; word-break:break-word !important; }
/* Tabellen */
html.a11y-wordwrap :where(td, th){ overflow-wrap:anywhere !important; word-break:break-word !important; hyphens:auto; }
/* Code/Pre nicht zerstückeln */
html.a11y-wordwrap :where(code, pre, kbd, samp){
  hyphens:none !important; overflow-wrap:normal !important; word-break:normal !important; white-space:pre-wrap !important;
}
/* Panel-UI ausnehmen – EINMAL zentral */
#wp-a11y-toolbar, #wp-a11y-toolbar *{
  hyphens: manual !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  white-space: normal !important;
}
/* ===== Schriftgröße auch für "nackten" Text (ohne <p>) ===== */

/* Classic WP-Content: alle direkten Kinder in .entry-content, außer Überschriften & Bedienelemente */
html.a11y-font-scale .entry-content > :not(h1,h2,h3,h4,h5,h6, button, [role="button"], input, select, textarea){
  font-size: var(--a11y-font-scale, 100%) !important;
}

/* Elementor: Container von Widgets skalieren – aber NICHT das Heading-Widget */
html.a11y-font-scale .elementor .elementor-widget:not(.elementor-widget-heading) > .elementor-widget-container{
  font-size: var(--a11y-font-scale, 100%) !important;

@media (max-width: 767px) {

/* ===== Schriftgröße auch für "nackten" Text (ohne <p>) ===== */

/* Classic WP-Content: alle direkten Kinder in .entry-content, außer Überschriften & Bedienelemente */
html.a11y-font-scale .entry-content > :not(h1,h2,h3,h4,h5,h6, button, [role="button"], input, select, textarea){
  font-size: var(--a11y-font-scale, 100%) !important;
}

/* Elementor: Container von Widgets skalieren – aber NICHT das Heading-Widget */
html.a11y-font-scale .elementor .elementor-widget:not(.elementor-widget-heading) > .elementor-widget-container{
  font-size: var(--a11y-font-scale, 100%) !important;
}
}
	
	
/* ---------------- NAVIGATION: maximal +10% -------------------------------- */
/* Setzt die Schrift im Nav-Kontext auf (Basis * cap) und vererbt nach unten */
html.a11y-font-scale
  :is(nav, [role="navigation"], .elementor-nav-menu, .main-navigation, .site-navigation, .menu)
  :not(#wp-a11y-toolbar):not(#wp-a11y-toolbar *) {
  font-size: calc(var(--a11y-base-rem) * var(--a11y-cap-nav)) !important;
  line-height: 1.4;
}

/* Alle üblichen Kinder im Nav erben die Größe, statt eigene zu setzen */
html.a11y-font-scale
  :is(nav, [role="navigation"], .elementor-nav-menu, .main-navigation, .site-navigation, .menu)
  :is(a, li, span, div, p, strong, small, svg, input, select, textarea) {
  font-size: inherit !important;
}

/* Buttons in/bei Nav nicht mitskalieren (bleiben bei Basis) */
html.a11y-font-scale
  :is(nav, [role="navigation"], .elementor-nav-menu, .main-navigation, .site-navigation, .menu)
  :is(button, [role="button"], .elementor-button, .btn, .button),
html.a11y-font-scale
  :is(nav, [role="navigation"], .elementor-nav-menu, .main-navigation, .site-navigation, .menu)
  :is(button, [role="button"], .elementor-button, .btn, .button) * {
  font-size: var(--a11y-base-rem) !important;
}

/* ---------------- HEADINGS: maximal +30% ---------------------------------- */
/* Wir bauen Headline-Größen aus dem "unskalierten" rem nach */
html.a11y-font-scale :where(h1) { font-size: calc(var(--a11y-base-rem) * 2.00 * var(--a11y-cap-head)) !important; }
html.a11y-font-scale :where(h2) { font-size: calc(var(--a11y-base-rem) * 1.50 * var(--a11y-cap-head)) !important; }
html.a11y-font-scale :where(h3) { font-size: calc(var(--a11y-base-rem) * 1.17 * var(--a11y-cap-head)) !important; }
html.a11y-font-scale :where(h4) { font-size: calc(var(--a11y-base-rem) * 1.00 * var(--a11y-cap-head)) !important; }
html.a11y-font-scale :where(h5) { font-size: calc(var(--a11y-base-rem) * 0.83 * var(--a11y-cap-head)) !important; }
html.a11y-font-scale :where(h6) { font-size: calc(var(--a11y-base-rem) * 0.67 * var(--a11y-cap-head)) !important; }

/* Toolbar selbst niemals beeinflussen */
#a11y-toolbar, #wp-a11y-toolbar, #wp-a11y-toolbar * {
  font-size: revert !important;
}