/* File: assets/css/accessall.css */
/* Version: 1.2.2 */
/* Scoped box-sizing to avoid interfering with the site/theme */
#itweb-accessall-root,
#itweb-accessall-root *,
#itweb-accessall-root *::before,
#itweb-accessall-root *::after,
.iaa-intro,
.iaa-intro *,
.iaa-intro *::before,
.iaa-intro *::after,
.iaa-sr-float,
.iaa-sr-float *,
.iaa-sr-float *::before,
.iaa-sr-float *::after{
  box-sizing: border-box;
}

:root{
  --iaa-z: 2147483000;
  --iaa-gap: 10px;

  --iaa-panel-bg: rgba(10,10,12,.96);
  --iaa-panel-fg: #f4f4f5;
  --iaa-panel-border: rgba(255,255,255,0.18);
  --iaa-shadow: 0 14px 40px rgba(0,0,0,.45);

  --iaa-accent2: #ffb86b;

/* Erweiterte UI-Variablen (Backend-gesteuert) */
--iaa-focus: var(--iaa-accent2);

--iaa-panel-border-w: 1px;

--iaa-launcher-border: var(--iaa-panel-border);
--iaa-launcher-border-w: 1px;

--iaa-divider: rgba(255,255,255,.12);
--iaa-title: var(--iaa-panel-fg);
--iaa-muted: rgba(244,244,245,.82);

--iaa-icon-color: var(--iaa-panel-fg);
--iaa-icon-hover-color: var(--iaa-accent2);
--iaa-chevron-color: var(--iaa-panel-fg);
--iaa-close-color: var(--iaa-panel-fg);
--iaa-close-hover-color: var(--iaa-accent2);

--iaa-control-bg: rgba(255,255,255,0);
--iaa-control-border: rgba(255,255,255,.18);
--iaa-control-fg: var(--iaa-panel-fg);
--iaa-control-border-w: 1px;

--iaa-card-fg: var(--iaa-panel-fg);
--iaa-card-border-w: 1px;
--iaa-card-hover-bg: rgba(255,255,255,.07);
--iaa-card-hover-border: rgba(255,255,255,.20);

--iaa-intro-bg: rgba(20,20,20,0.92);
--iaa-intro-fg: #fff;
--iaa-intro-border: var(--iaa-panel-border);
--iaa-intro-border-w: 1px;
--iaa-intro-arrow-bg: var(--iaa-intro-bg);
--iaa-intro-arrow-border: var(--iaa-intro-border);
--iaa-intro-close-bg: rgba(255,255,255,.06);
--iaa-intro-close-border: rgba(255,255,255,.18);
--iaa-intro-close-fg: #fff;

  --iaa-word: 0em;
  --iaa-letter: 0em;

  --iaa-c-bg: #ffffff;
  --iaa-c-fg: #000000;
  --iaa-c-link: #1a73e8;

  --iaa-main-bg: var(--iaa-panel-bg);
  --iaa-sub-bg: var(--iaa-panel-bg);

  --iaa-block-bg: rgba(255,255,255,.04);
  --iaa-block-border: rgba(255,255,255,.14);
  --iaa-block-radius: 12px;

  --iaa-font-size: 15px;
  --iaa-font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --iaa-font-weight: 600;

  --iaa-launcher-bg: rgba(15,15,17,.96);
  --iaa-launcher-icon-color: #ffffff;
  --iaa-launcher-text-color: #ffffff;
  --iaa-launcher-radius: 999px;
  --iaa-launcher-icon-size: 32px;
  --iaa-launcher-font-size: 13px;
  --iaa-launcher-padding: 10px 12px;
  
  --iaa-margin-top: 16px;
  --iaa-margin-right: 16px;
  --iaa-margin-bottom: 16px;
  --iaa-margin-left: 16px;

  /* Intro-Bubble vertikaler Versatz relativ zum Launcher */
  --iaa-intro-offset: calc(var(--iaa-launcher-h, 56px) + 12px); /* Launcherhöhe + Abstand */

/* Launcher-Metriken (JS setzt diese dynamisch) */
--iaa-launcher-w: 56px;
--iaa-launcher-h: 56px;
--iaa-gap: 12px;
--iaa-panel-offset-x: calc(var(--iaa-launcher-w) + var(--iaa-gap));
--iaa-panel-offset-y: calc(var(--iaa-launcher-h) + var(--iaa-gap));
}

/* Verhindert Aufblitzen - Root ist initial unsichtbar */
.iaa-root { 
  position: fixed; 
  z-index: var(--iaa-z); 
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.01s;
}
.iaa-root.iaa-ready { opacity: 1; }
.iaa-root.iaa-hide{ display:none; }

.iaa-launcher{
  pointer-events:auto;
  position:fixed;
  display:inline-flex; 
  align-items:center; 
  gap:5px;
  padding: var(--iaa-launcher-padding);
  border-radius: var(--iaa-launcher-radius);
  border: var(--iaa-panel-border-w, var(--iaa-launcher-border-w)) solid var(--iaa-panel-border, var(--iaa-launcher-border));
  background: var(--iaa-launcher-bg);
  color: var(--iaa-launcher-text-color);
  box-shadow: var(--iaa-shadow);
  cursor:pointer;
  font-weight: 600;
  font-size: var(--iaa-launcher-font-size);
  line-height: 1.1;
  font-family: var(--iaa-font-family);
}

/* Launcher Positions mit Margins */
.iaa-root.iaa-top-left .iaa-launcher{ top: var(--iaa-margin-top); left: var(--iaa-margin-left); }
.iaa-root.iaa-top-center .iaa-launcher{ top: var(--iaa-margin-top); left: 50%; transform: translateX(-50%); }
.iaa-root.iaa-top-right .iaa-launcher{ top: var(--iaa-margin-top); right: var(--iaa-margin-right); }
.iaa-root.iaa-middle-left .iaa-launcher{ top:50%; left: var(--iaa-margin-left); transform:translateY(-50%); }
.iaa-root.iaa-middle-center .iaa-launcher{ top:50%; left:50%; transform:translate(-50%, -50%); }
.iaa-root.iaa-middle-right .iaa-launcher{ top:50%; right: var(--iaa-margin-right); transform:translateY(-50%); }
.iaa-root.iaa-bottom-left .iaa-launcher{ bottom: var(--iaa-margin-bottom); left: var(--iaa-margin-left); }
.iaa-root.iaa-bottom-center .iaa-launcher{ bottom: var(--iaa-margin-bottom); left: 50%; transform: translateX(-50%); }
.iaa-root.iaa-bottom-right .iaa-launcher{ bottom: var(--iaa-margin-bottom); right: var(--iaa-margin-right); }

.iaa-launcher__icon{ 
  font-size: var(--iaa-launcher-icon-size); 
  line-height:1;
  color: var(--iaa-launcher-icon-color);
}
.iaa-launcher__text{ 
  font-weight:800; 
  letter-spacing:.02em;
  color: var(--iaa-launcher-text-color);
}
.iaa-launcher.iaa-min{ padding:10px; }
.iaa-launcher.iaa-min .iaa-launcher__text{ display:none; }
.iaa-launcher--icon-only .iaa-launcher__text{ display:none; }
.iaa-launcher:focus, .iaa-launcher:focus-visible{ outline:3px solid var(--iaa-focus); outline-offset:3px; }

.iaa-panel{
  pointer-events:auto;
  position:fixed;
  width: clamp(350px, 28em, calc(100vw - 32px));
  max-height: var(--iaa-panel-maxh, 90svh);          
  border-radius: 14px;
  border: var(--iaa-panel-border-w, var(--iaa-launcher-border-w)) solid var(--iaa-panel-border, var(--iaa-launcher-border));
  background: var(--iaa-panel-bg);
  color: var(--iaa-panel-fg);
  box-shadow: var(--iaa-shadow);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  overflow:hidden;
  font-weight: var(--iaa-font-weight);
  font-size: var(--iaa-font-size);
  line-height: 1.25;
  font-family: var(--iaa-font-family);
}

/* Firefox-Workaround: backdrop-filter kann in Kombination mit fixed/scroll zu Rendering-Artefakten
   führen (z. B. Panel „schrumpft“ beim Scrollen). In Firefox deaktivieren wir den Blur.
   (Die Transparenz kommt weiterhin über die gewählten Farben/Alphas.) */
html.iaa-browser-ff .iaa-panel,
html.iaa-browser-ff .iaa-intro__bubble{
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* Panel Positions (margins backend-gesteuert) */
.iaa-root.iaa-top-left .iaa-panel--main{ top: calc(var(--iaa-margin-top) + var(--iaa-panel-offset-y)); left: var(--iaa-margin-left); }
.iaa-root.iaa-top-center .iaa-panel--main{ top: calc(var(--iaa-margin-top) + var(--iaa-panel-offset-y)); left: 50%; transform: translateX(-50%); }
.iaa-root.iaa-top-right .iaa-panel--main{ top: calc(var(--iaa-margin-top) + var(--iaa-panel-offset-y)); right: var(--iaa-margin-right); }

.iaa-root.iaa-middle-left .iaa-panel--main{ top:50%; left: calc(var(--iaa-margin-left) + var(--iaa-panel-offset-x)); transform:translateY(-50%); }
.iaa-root.iaa-middle-center .iaa-panel--main{ top:50%; left:50%; transform:translate(-50%, -50%); }
.iaa-root.iaa-middle-right .iaa-panel--main{ top:50%; right: calc(var(--iaa-margin-right) + var(--iaa-panel-offset-x)); transform:translateY(-50%); }

.iaa-root.iaa-bottom-left .iaa-panel--main{ bottom: calc(var(--iaa-margin-bottom) + var(--iaa-panel-offset-y)); left: var(--iaa-margin-left); }
.iaa-root.iaa-bottom-center .iaa-panel--main{ bottom: calc(var(--iaa-margin-bottom) + var(--iaa-panel-offset-y)); left: 50%; transform: translateX(-50%); }
.iaa-root.iaa-bottom-right .iaa-panel--main{ bottom: calc(var(--iaa-margin-bottom) + var(--iaa-panel-offset-y)); right: var(--iaa-margin-right); }

.iaa-panel--main{ background: var(--iaa-main-bg); }
.iaa-panel--sub{ 
  background: var(--iaa-sub-bg);
  width: clamp(320px, 30em, calc(100vw - 32px));
}

.iaa-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 10px 8px 10px;
  border-bottom:1px solid var(--iaa-divider);
}
.iaa-head__left{ display:flex; align-items:center; gap:10px; }
.iaa-logo{ font-size:18px; }
.iaa-head__titles{ display:flex; flex-direction:column; gap:2px; }
.iaa-title{ font-weight:900; letter-spacing:.02em; color: var(--iaa-title); }
.iaa-title--brand{ font-size:18px; line-height:1.05; font-weight:950; }
.iaa-title__emoji{ font-size:32px; line-height:1; margin-left:6px; }
.iaa-subtitle{ font-size:14px; opacity:.8; display:none; color: var(--iaa-muted); }

.iaa-head__right{ display:flex; gap:8px; margin-left:auto; }

.iaa-ico{
  width:44px; height:44px;
  border: var(--iaa-control-border-w) solid var(--iaa-control-border);
  background: var(--iaa-control-bg);
  color: var(--iaa-icon-color);
  border-radius: 10px;
  padding:0;
  cursor:pointer;
  font: inherit;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
}
.iaa-ico:focus, .iaa-ico:focus-visible{ outline:3px solid var(--iaa-focus); outline-offset:2px; }
.iaa-ico--ghost{ border-color: transparent; opacity:.9; }
.iaa-ico:hover{ color: var(--iaa-icon-hover-color); border-color: var(--iaa-control-border); }

.iaa-body{
  padding:10px 10px 18px;
  display:grid;
  gap:8px;
  overflow-y:auto;
  overflow-x:hidden;
  max-height: calc(var(--iaa-panel-maxh, 90svh) - 52px);
}

/* Quick Zoom block (main menu) */
.iaa-block--quickzoom{
  padding: 10px 12px;
}
.iaa-block--quickzoom .iaa-row{ margin-bottom: 6px; }


.iaa-item{
  display:grid !important;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items:center;
  column-gap: 10px;
  padding:9px 9px;
  border-radius: 12px;
  border: var(--iaa-card-border-w) solid var(--iaa-block-border);
  background: var(--iaa-block-bg);
  color: var(--iaa-card-fg);
  cursor:pointer;
  text-align:left;
  font: inherit;
}
.iaa-item:hover{ background: var(--iaa-card-hover-bg); border-color: var(--iaa-card-hover-border); }
.iaa-item:focus, .iaa-item:focus-visible{ outline:3px solid var(--iaa-focus); outline-offset:2px; }
.iaa-item--danger{ border-color: rgba(255,120,120,.35); }

.iaa-item__icon{ 
  width:34px; 
  font-size:18px;
  display:inline-flex; 
  align-items:center; 
  justify-content:center; 
  opacity:.95; 
}
.iaa-item__label{ 
  font-weight:800;
  min-width:0;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.25;
  word-break: break-word;
}
.iaa-item__right{ 
  opacity:.9; 
  display:flex; 
  align-items:center; 
  gap:10px;
  justify-self:end;
}

.iaa-chevron{ color: var(--iaa-chevron-color); 
  font-size:22px; 
  width:20px; 
  text-align:center; 
  opacity:.9; 
}
.iaa-chevron--placeholder{ visibility:hidden; }

.iaa-pill{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:48px;
  padding:3px 8px;
  border-radius: var(--iaa-launcher-radius);
  border:1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.25);
  font-weight:900;
  font-size:12px;
}

.iaa-link{
  border:none;
  background: transparent;
  color: rgba(255,255,255,.85);
  text-align:left;
  padding:6px 4px;
  cursor:pointer;
  font: inherit;
}
.iaa-link:hover{ color:#fff; text-decoration: underline; }

.iaa-hint{ display:none;  font-size:14px; opacity:.8; padding:6px 2px 10px; line-height:1.3; overflow-wrap:anywhere; }

.iaa-subhead{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 10px 8px 10px;
  border-bottom:1px solid var(--iaa-divider);
}
.iaa-subtitle2{ font-weight:900; }
.iaa-back{
  width:44px; height:44px;
  border: var(--iaa-control-border-w) solid var(--iaa-control-border);
  background: transparent;
  color: var(--iaa-card-fg);
  border-radius:10px;
  padding:0;
  cursor:pointer;
  font: inherit;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
}
.iaa-back:focus, .iaa-back:focus-visible{ outline:3px solid var(--iaa-focus); outline-offset:2px; }

.iaa-subbody{
  padding:10px;
  overflow-y:auto;
  overflow-x:hidden;
  max-height: calc(var(--iaa-sub-maxh, var(--iaa-panel-maxh, 90svh)) - 48px);
  display:grid;
  gap: 5px;
}

.iaa-subview{
  display:grid;
  gap:5px;
}
.iaa-subview[hidden]{ display:none !important; }

.iaa-block{
  border:1px solid var(--iaa-block-border);
  background: var(--iaa-block-bg);
  border-radius: var(--iaa-block-radius);
  padding:10px;
  display:grid;
  gap:10px;
}
.iaa-row{ display:flex; align-items:center; justify-content:flex-start; gap:10px; min-width:0; width:100%; }
.iaa-row > *{ min-width:0; }
.iaa-row__label{ font-weight:900; }
.iaa-row__right{ margin-left:auto; }
.iaa-row__right output{ font-weight:900; font-variant-numeric: tabular-nums; }

.iaa-slider, .iaa-range{ display:flex; align-items:center; gap:10px; }
.iaa-slider input[type="range"], .iaa-range input[type="range"]{ width:100%; }
.iaa-mini{
  width:38px; height:38px;
  border-radius:10px;
  border: var(--iaa-control-border-w) solid var(--iaa-control-border);
  background: var(--iaa-intro-close-bg);
  color: var(--iaa-card-fg);
  cursor:pointer;
  font: inherit;
  font-size:18px;
}
.iaa-mini:focus, .iaa-mini:focus-visible{ outline:3px solid var(--iaa-focus); outline-offset:2px; }

.iaa-check{
  display:flex; align-items:center; gap:10px;
  padding:8px 8px;
  border-radius: 10px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.18);
}
.iaa-check input{ width:16px; height:16px; }

.iaa-align{ display:grid; grid-template-columns: repeat(4, 1fr); gap:8px; }
.iaa-align__btn{
  border-radius: 12px;
  border: var(--iaa-control-border-w) solid var(--iaa-control-border);
  background: var(--iaa-intro-close-bg);
  color: var(--iaa-card-fg);
  padding:9px 0;
  cursor:pointer;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
}
.iaa-align__btn svg{ width:20px; height:20px; fill: currentColor; }
.iaa-align__btn[aria-pressed="true"]{
  border-color: rgba(255,184,107,.65);
  box-shadow: 0 0 0 2px rgba(255,184,107,.18) inset;
}
.iaa-align__btn:focus, .iaa-align__btn:focus-visible{ outline:3px solid var(--iaa-focus); outline-offset:2px; }

.iaa-presets{ display:grid; grid-template-columns: 1fr 1fr; gap:8px; }
.iaa-preset{
  border-radius: 12px;
  border: var(--iaa-control-border-w) solid var(--iaa-control-border);
  background: var(--iaa-intro-close-bg);
  color: var(--iaa-card-fg);
  padding:10px;
  cursor:pointer;
  font-weight:900;
}
.iaa-preset:focus, .iaa-preset:focus-visible{ outline:3px solid var(--iaa-focus); outline-offset:2px; }

.iaa-preview{ display:grid; gap:8px; }
.iaa-preview__row{ display:flex; align-items:center; justify-content:flex-start; opacity:.9; gap:10px; }
.iaa-preview__ratio{ font-weight:900; }
#itweb-accessall-root .iaa-preview__ratio[data-ok="0"]{ text-decoration: underline; }
.iaa-preview__box{
  border-radius:12px;
  padding:12px;
  border: var(--iaa-card-border-w) solid var(--iaa-block-border);
  background: rgba(0,0,0,.2);
}

.iaa-actions{ display:flex; gap:8px; justify-content:space-between; flex-wrap:wrap; }
.iaa-btn2{
  border-radius: var(--iaa-launcher-radius);
  border: var(--iaa-control-border-w) solid var(--iaa-control-border);
  background: rgba(255,184,107,.18);
  color: var(--iaa-card-fg);
  padding:9px 12px;
  cursor:pointer;
  font-weight:900;
}
.iaa-btn2--ghost{ background: transparent; }

.iaa-hint2{ font-size:12px; opacity:.85; line-height:1.3; }
.iaa-hint2 kbd{
  border:1px solid rgba(255,255,255,.22);
  border-radius: 6px;
  padding: 1px 6px;
  background: rgba(0,0,0,.25);
}

.iaa-switch{ display:inline-flex; align-items:center; }
.iaa-switch input{ position:absolute; opacity:0; pointer-events:none; width:44px; height:24px; margin:0; }
.iaa-switch input:focus + .iaa-switch__ui,
.iaa-switch input:focus-visible + .iaa-switch__ui,
.iaa-switch:focus-within .iaa-switch__ui{ outline:3px solid var(--iaa-focus); outline-offset:2px; }
.iaa-check input:focus, .iaa-check input:focus-visible{ outline:3px solid var(--iaa-focus); outline-offset:2px; }
.iaa-switch__ui{
  width:44px; height:24px;
  border-radius: var(--iaa-launcher-radius);
  border: var(--iaa-control-border-w) solid var(--iaa-control-border);
  background: rgba(255,255,255,.08);
  position:relative;
}
.iaa-switch__ui::after{
  content:"";
  position:absolute; top:2px; left:2px;
  width:18px; height:18px; border-radius: var(--iaa-launcher-radius);
  background: rgba(255,255,255,.85);
  transition: transform .15s ease;
}
.iaa-switch input:checked + .iaa-switch__ui{
  background: rgba(255,184,107,.35);
  border-color: rgba(255,184,107,.55);
}
.iaa-switch input:checked + .iaa-switch__ui::after{ transform: translateX(20px); }

.iaa-bluefilter{
  position:fixed; inset:0;
  z-index: 2147483646;
  pointer-events:none;
  background: rgba(255, 160, 20, 0);
  mix-blend-mode: multiply;
}

.iaa-ruler{
  position:fixed;
  top:0;
  left:0; right:0;
  height:120px;
  z-index: 2147483647;
  pointer-events:none;
  background: transparent;
  box-shadow: none;
  border-top: 1px solid rgba(255,255,255,.18);
  border-bottom: 1px solid rgba(255,255,255,.18);
  transform: translateY(-9999px);
}

.iaa-cursor-halo{
  position:fixed;
  left:0; top:0;
  width:60px; height:60px;
  border-radius: var(--iaa-launcher-radius);
  z-index: 2147483647;
  pointer-events:none;
  border: 3px solid rgba(255, 184, 107, .90);
  box-shadow: 0 0 0 6px rgba(255,184,107,.25);
  transform: translate(-9999px, -9999px);
}

#iaa-zoom-wrap,
[data-iaa-wrap="1"]{
  word-spacing: var(--iaa-word);
  letter-spacing: var(--iaa-letter);
}

html.iaa-focus-force #iaa-zoom-wrap :focus,
html.iaa-focus-force #iaa-zoom-wrap :focus-visible{
  outline: var(--iaa-focus-width, 3px) solid var(--iaa-accent2) !important;
  outline-offset: 3px !important;
}

/* Nachtmodus */
html.iaa-night,
html.iaa-night body{
  background:#000 !important;
}

html.iaa-night #iaa-zoom-wrap{
  filter: invert(1) hue-rotate(180deg);
}

html.iaa-night body > *:not(#iaa-zoom-wrap):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo){
  filter: invert(1) hue-rotate(180deg);
}

html.iaa-night #iaa-zoom-wrap img,
html.iaa-night #iaa-zoom-wrap video,
html.iaa-night #iaa-zoom-wrap iframe,
html.iaa-night #iaa-zoom-wrap svg,
html.iaa-night #iaa-zoom-wrap canvas,
html.iaa-night #iaa-zoom-wrap [style*="background-image"],
html.iaa-night body > *:not(#iaa-zoom-wrap):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) img,
html.iaa-night body > *:not(#iaa-zoom-wrap):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) video,
html.iaa-night body > *:not(#iaa-zoom-wrap):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) iframe{
  filter: invert(1) hue-rotate(180deg);
}

/* Kontrastmodus - KORRIGIERT */
html.iaa-contrast,
html.iaa-contrast body{
  background: var(--iaa-c-bg) !important;
  color: var(--iaa-c-fg) !important;
}

/* WICHTIG: Nur TEXT-Elemente anpassen, NICHT Bilder/Videos/Iframes */
html.iaa-contrast #iaa-zoom-wrap p,
html.iaa-contrast #iaa-zoom-wrap h1,
html.iaa-contrast #iaa-zoom-wrap h2,
html.iaa-contrast #iaa-zoom-wrap h3,
html.iaa-contrast #iaa-zoom-wrap h4,
html.iaa-contrast #iaa-zoom-wrap h5,
html.iaa-contrast #iaa-zoom-wrap h6,
html.iaa-contrast #iaa-zoom-wrap span,
html.iaa-contrast #iaa-zoom-wrap div,
html.iaa-contrast #iaa-zoom-wrap li,
html.iaa-contrast #iaa-zoom-wrap a,
html.iaa-contrast #iaa-zoom-wrap button,
html.iaa-contrast #iaa-zoom-wrap label,
html.iaa-contrast #iaa-zoom-wrap input,
html.iaa-contrast #iaa-zoom-wrap textarea,
html.iaa-contrast #iaa-zoom-wrap select,
html.iaa-contrast #iaa-zoom-wrap td,
html.iaa-contrast #iaa-zoom-wrap th,
html.iaa-contrast #iaa-zoom-wrap blockquote,
html.iaa-contrast #iaa-zoom-wrap code,
html.iaa-contrast #iaa-zoom-wrap pre{
  color: var(--iaa-c-fg) !important;
}

/* Container-Elemente bekommen Hintergrund */
html.iaa-contrast #iaa-zoom-wrap div,
html.iaa-contrast #iaa-zoom-wrap section,
html.iaa-contrast #iaa-zoom-wrap article,
html.iaa-contrast #iaa-zoom-wrap main,
html.iaa-contrast #iaa-zoom-wrap header,
html.iaa-contrast #iaa-zoom-wrap footer,
html.iaa-contrast #iaa-zoom-wrap nav,
html.iaa-contrast #iaa-zoom-wrap aside,
html.iaa-contrast #iaa-zoom-wrap button,
html.iaa-contrast #iaa-zoom-wrap input,
html.iaa-contrast #iaa-zoom-wrap textarea,
html.iaa-contrast #iaa-zoom-wrap select{
  background-color: var(--iaa-c-bg) !important;
}

/* Dropdown-Menüs & interaktive Elemente behalten Hintergrund */
html.iaa-contrast #iaa-zoom-wrap select,
html.iaa-contrast #iaa-zoom-wrap option,
html.iaa-contrast #iaa-zoom-wrap [role="menu"],
html.iaa-contrast #iaa-zoom-wrap [role="listbox"],
html.iaa-contrast #iaa-zoom-wrap .dropdown,
html.iaa-contrast #iaa-zoom-wrap .menu{
  background-color: var(--iaa-c-bg) !important;
  border: 2px solid var(--iaa-c-fg) !important;
}

/* Links */
html.iaa-contrast #iaa-zoom-wrap a{
  color: var(--iaa-c-link) !important;
  text-decoration: underline !important;
}

/* WICHTIG: Bilder, Videos, Iframes, SVGs NICHT verändern */
html.iaa-contrast #iaa-zoom-wrap img,
html.iaa-contrast #iaa-zoom-wrap video,
html.iaa-contrast #iaa-zoom-wrap iframe,
html.iaa-contrast #iaa-zoom-wrap svg,
html.iaa-contrast #iaa-zoom-wrap canvas,
html.iaa-contrast #iaa-zoom-wrap picture{
  background-color: transparent !important;
  filter: none !important;
}

/* Rahmen für bessere Lesbarkeit */
html.iaa-contrast #iaa-zoom-wrap *{
  border-color: var(--iaa-c-fg) !important;
  box-shadow: none !important;
}

/* Link-Outline Option */
html.iaa-linkoutline #iaa-zoom-wrap a{
  outline: 2px solid var(--iaa-c-link) !important;
  outline-offset: 2px !important;
  border-radius: 3px;
}

/* High-Contrast: robuste Focus-Styles + Form-Controls (WCAG-nah) */
html.iaa-contrast #iaa-zoom-wrap :focus-visible{
  outline: 3px solid var(--iaa-c-link) !important;
  outline-offset: 2px !important;
}
html.iaa-contrast #iaa-zoom-wrap button,
html.iaa-contrast #iaa-zoom-wrap input,
html.iaa-contrast #iaa-zoom-wrap select,
html.iaa-contrast #iaa-zoom-wrap textarea{
  border: 2px solid var(--iaa-c-fg) !important;
}
html.iaa-contrast #iaa-zoom-wrap input::placeholder,
html.iaa-contrast #iaa-zoom-wrap textarea::placeholder{
  color: var(--iaa-c-fg) !important;
  opacity: .8;
}

/* Focus-Styles auch für "außerhalb des Wraps" (fixed/off-canvas) */
html.iaa-contrast body > *:not(#iaa-zoom-wrap):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) :focus-visible{
  outline: 3px solid var(--iaa-c-link) !important;
  outline-offset: 2px !important;
}

/* Außerhalb des Wraps (für fixed/off-canvas Elemente etc.) */
/* Einige Themes hängen Menüs/Overlays als position:fixed + hoher z-index direkt an <body>.
   Diese Elemente werden von ensureWrap bewusst NICHT in #iaa-zoom-wrap verschoben.
   Daher muss der Kontrastmodus auch für diese Container/Descendants greifen. */
html.iaa-contrast body > *:not(#iaa-zoom-wrap):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo){
  background-color: var(--iaa-c-bg) !important;
  color: var(--iaa-c-fg) !important;
}

/* Descendants – konservativ, aber ausreichend für typische Dropdowns/Off-Canvas Menüs */
html.iaa-contrast body > *:not(#iaa-zoom-wrap):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) *{
  color: var(--iaa-c-fg) !important;
  background-color: var(--iaa-c-bg) !important;
  border-color: var(--iaa-c-fg) !important;
  box-shadow: none !important;
}

/* Links außerhalb des Wraps */
html.iaa-contrast body > *:not(#iaa-zoom-wrap):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) a{
  color: var(--iaa-c-link) !important;
  text-decoration: underline !important;
}

/* Bilder/Videos außerhalb Wrap auch nicht verändern */
html.iaa-contrast body > *:not(#iaa-zoom-wrap):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) img,
html.iaa-contrast body > *:not(#iaa-zoom-wrap):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) video,
html.iaa-contrast body > *:not(#iaa-zoom-wrap):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) iframe,
html.iaa-contrast body > *:not(#iaa-zoom-wrap):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) svg,
html.iaa-contrast body > *:not(#iaa-zoom-wrap):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) canvas,
html.iaa-contrast body > *:not(#iaa-zoom-wrap):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) picture{
  background-color: transparent !important;
  filter: none !important;
}

/* Select */
.iaa-select{
  background: var(--iaa-intro-close-bg);
  border: var(--iaa-control-border-w) solid var(--iaa-control-border);
  color: var(--iaa-card-fg);
  border-radius:10px;
  padding:8px 10px;
  font: inherit;

  /* Prevent content-based min-width in flex rows (fixes horizontal scroll) */
  width: 100%;
  max-width: 100%;
  flex: 1 1 0;
  min-width: 0;

  /* Truncate long selected option text */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.iaa-select:focus, .iaa-select:focus-visible{
  outline:3px solid var(--iaa-focus);
  outline-offset:2px;
}
.iaa-select option{ color:#000; background:#fff; }

/* Footer */
.iaa-footer{
  margin-top:8px;
  padding: 6px 2px 0 2px;
}
.iaa-footer__link{
  display:block;
  font-size: 12px !important;
  line-height: 1.2 !important;
  opacity: .9;
  text-decoration: none;
  font-family: Arial, sans-serif !important;
  letter-spacing: 0 !important;
  word-spacing: 0 !important;
  white-space: normal;
  overflow-wrap: anywhere;
}


.iaa-footer__hide{
  margin-top:8px;
  width:100%;
  text-align:left;
  background: transparent;
  border: 1px solid var(--iaa-control-border, var(--iaa-panel-border));
  border-width: var(--iaa-control-border-w, 1px);
  color: var(--iaa-panel-fg);
  border-radius: 10px;
  padding: 10px 12px;
  font: inherit;
  cursor: pointer;
}
.iaa-footer__hide:hover{ filter: brightness(1.06); }


.iaa-footer__hidewrap{ margin-top:8px; }
.iaa-footer__hidewrap .iaa-footer__hide{ margin-top:0; }
.iaa-footer__hidehint{ margin-top:6px; font-size:11px !important; line-height:1.25 !important; opacity:.78; }

.iaa-footer__link:hover{ text-decoration: underline; }

/* Intro */
.iaa-intro{
  position:fixed;
  max-width:380px;
  width: min(380px, calc(100vw - 32px));
  z-index: calc(var(--iaa-z) + 1);
  pointer-events:auto;
}

/* Die Bubble folgt nun den Backend-Margins des Launchers */
.iaa-root.iaa-top-left ~ .iaa-intro{ top: calc(var(--iaa-margin-top) + var(--iaa-intro-offset)); left: var(--iaa-margin-left); }
.iaa-root.iaa-top-center ~ .iaa-intro{ top: calc(var(--iaa-margin-top) + var(--iaa-intro-offset)); left: 50%; transform: translateX(-50%); }
.iaa-root.iaa-top-right ~ .iaa-intro{ top: calc(var(--iaa-margin-top) + var(--iaa-intro-offset)); right: var(--iaa-margin-right); }

.iaa-root.iaa-middle-left ~ .iaa-intro{ top:50%; left: calc(var(--iaa-margin-left) + var(--iaa-panel-offset-x)); transform:translateY(-50%); }
.iaa-root.iaa-middle-center ~ .iaa-intro{ top:50%; left:50%; transform:translate(-50%, -50%); }
.iaa-root.iaa-middle-right ~ .iaa-intro{ top:50%; right: calc(var(--iaa-margin-right) + var(--iaa-panel-offset-x)); transform:translateY(-50%); }

.iaa-root.iaa-bottom-left ~ .iaa-intro{ bottom: calc(var(--iaa-margin-bottom) + var(--iaa-intro-offset)); left: var(--iaa-margin-left); }
.iaa-root.iaa-bottom-center ~ .iaa-intro{ bottom: calc(var(--iaa-margin-bottom) + var(--iaa-intro-offset)); left:50%; transform: translateX(-50%); }
.iaa-root.iaa-bottom-right ~ .iaa-intro{ bottom: calc(var(--iaa-margin-bottom) + var(--iaa-intro-offset)); right: var(--iaa-margin-right); }

.iaa-intro__bubble{
  position:relative;
  background: var(--iaa-intro-bg);
  border: var(--iaa-intro-border-w) solid var(--iaa-intro-border);
  box-shadow: var(--iaa-shadow);
  border-radius: 14px;
  padding: 14px 16px;
  display:flex;
  gap:10px;
  align-items:flex-start;
  color: var(--iaa-intro-fg);
}
.iaa-intro__text{
  font-size: 28px;
  line-height: 1.25;
  font-weight: 800;
  color: var(--iaa-intro-fg);
  text-shadow: 0 1px 0 rgba(0,0,0,.35);
}
.iaa-intro__close{
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border: var(--iaa-intro-border-w) solid var(--iaa-intro-close-border);
  background: var(--iaa-intro-close-bg);
  color: var(--iaa-intro-close-fg);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  line-height: 1 !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
/* Pseudo-Pfeil an der Bubble */
.iaa-intro__bubble:after{
  content:"";
  position:absolute;
  width: 14px;
  height: 14px;
  background: var(--iaa-intro-arrow-bg);
  border-right: var(--iaa-intro-border-w) solid var(--iaa-intro-arrow-border);
  border-bottom: var(--iaa-intro-border-w) solid var(--iaa-intro-arrow-border);
  transform: rotate(45deg);
}

.iaa-root.iaa-bottom-right ~ .iaa-intro .iaa-intro__bubble:after,
.iaa-root.iaa-bottom-left ~ .iaa-intro .iaa-intro__bubble:after{
  bottom:-8px;
  right:24px;
}
.iaa-root.iaa-bottom-left ~ .iaa-intro .iaa-intro__bubble:after{
  left:24px;
  right:auto;
}

.iaa-root.iaa-top-right ~ .iaa-intro .iaa-intro__bubble:after,
.iaa-root.iaa-top-left ~ .iaa-intro .iaa-intro__bubble:after{
  top:-8px;
  right:24px;
  border-right:none;
  border-bottom:none;
  border-top: var(--iaa-intro-border-w) solid var(--iaa-intro-arrow-border);
  border-left: var(--iaa-intro-border-w) solid var(--iaa-intro-arrow-border);
}
.iaa-root.iaa-top-left ~ .iaa-intro .iaa-intro__bubble:after{
  left:24px;
  right:auto;
}

/* Desktop: mehr Platz, möglichst ohne Scroll, aber clamp im Viewport */
@media (min-width: 992px){
  .iaa-panel{ max-height: var(--iaa-panel-maxh, 92svh); }
  .iaa-body{ max-height: calc(var(--iaa-panel-maxh, 92svh) - 52px); }
  .iaa-subbody{ max-height: calc(var(--iaa-sub-maxh, var(--iaa-panel-maxh, 92svh)) - 48px); }
}


/* Center-Positionen: Pfeil mittig */
.iaa-root.iaa-bottom-center ~ .iaa-intro .iaa-intro__bubble:after,
.iaa-root.iaa-top-center ~ .iaa-intro .iaa-intro__bubble:after{
  left: calc(50% - 7px);
  right: auto;
}

/* Middle-Positionen: Pfeil links/rechts mittig */
.iaa-root.iaa-middle-left ~ .iaa-intro .iaa-intro__bubble:after{
  left:-8px;
  right:auto;
  top:50%;
  bottom:auto;
  transform: translateY(-50%) rotate(45deg);
  border-right:none;
  border-top:none;
  border-left: var(--iaa-intro-border-w) solid var(--iaa-intro-arrow-border);
  border-bottom: var(--iaa-intro-border-w) solid var(--iaa-intro-arrow-border);
}
.iaa-root.iaa-middle-right ~ .iaa-intro .iaa-intro__bubble:after{
  right:-8px;
  left:auto;
  top:50%;
  bottom:auto;
  transform: translateY(-50%) rotate(45deg);
  border-left:none;
  border-bottom:none;
  border-right: var(--iaa-intro-border-w) solid var(--iaa-intro-arrow-border);
  border-top: var(--iaa-intro-border-w) solid var(--iaa-intro-arrow-border);
}

/* Middle-Center: Intro über dem Launcher (nicht überdecken) */
.iaa-root.iaa-middle-center ~ .iaa-intro{
  top: calc(50% - (var(--iaa-launcher-h, 56px) / 2) - var(--iaa-gap));
  left: 50%;
  transform: translate(-50%, -100%);
}
.iaa-root.iaa-middle-center ~ .iaa-intro .iaa-intro__bubble:after{
  bottom:-8px;
  top:auto;
  left: calc(50% - 7px);
  right:auto;
}

/* Mobile */
@media (max-width: 767px){
  .iaa-panel{ width: min(340px, calc(100vw - 24px)); }
  .iaa-panel--sub{ width: min(360px, calc(100vw - 4px)); }

  /* Mobile: kleinere Standardmargins berücksichtigen */
  .iaa-root.iaa-top-left .iaa-launcher,
  .iaa-root.iaa-top-left .iaa-panel--main{ left:12px; }
  
  .iaa-root.iaa-top-right .iaa-launcher,
  .iaa-root.iaa-top-right .iaa-panel--main{ right:12px; }
  
  .iaa-root.iaa-bottom-left .iaa-launcher,
  .iaa-root.iaa-bottom-left .iaa-panel--main{ left:12px; }
  
  .iaa-root.iaa-bottom-right .iaa-launcher,
  .iaa-root.iaa-bottom-right .iaa-panel--main{ right:12px; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .iaa-panel *, .iaa-launcher *{ transition: none !important; animation: none !important; }
}

/* Prefer more contrast */
@media (prefers-contrast: more){
  :root{ --iaa-panel-border: rgba(16,24,40,.55); }
  .iaa-item, .iaa-ico, .iaa-back{ border-width: 3px; }
}

/* =========================================
   Reader / TTS Controls (Website vorlesen)
   ========================================= */

.iaa-tts {
  --iaa-tts-bg: #f6f7f9;
  --iaa-tts-fg: #111;
  --iaa-tts-accent: #1a73e8;
  background: var(--iaa-tts-bg);
  color: var(--iaa-tts-fg);
  padding: .5rem .6rem;
  border-radius: .5rem;
  border: 1px solid rgba(0,0,0,.08);
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}

.iaa-tts-btn {
  appearance: none;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  color: inherit;
  padding: .35rem .55rem;
  border-radius: .4rem;
  cursor: pointer;
  line-height: 1;
  font: inherit;
}
.iaa-tts-btn:hover { border-color: rgba(0,0,0,.25); }
.iaa-tts-btn:focus { outline: 2px solid var(--iaa-tts-accent); outline-offset: 2px; }

.iaa-tts-rate,
.iaa-tts-voice {
  margin-left: .25rem;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: .35rem;
  padding: .25rem .4rem;
  background: #fff;
  color: #111;
  font: inherit;
}

.iaa-tts-status { min-width: 6ch; }

.iaa-visually-hidden {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
  border: 0;
  padding: 0;
  margin: -1px;
}

/* Aktive Satz-Hervorhebung während des Vorlesens */
.iaa-tts-highlight {
  background: rgba(26,115,232,.15);
  box-shadow: 0 0 0 2px rgba(26,115,232,.25);
  border-radius: .15rem;
  transition: background .12s ease;
}

/* =========================================
   Screenreader-Subview – Layoutfixes
   ========================================= */

/* Subpanel etwas schmaler und flexibles Wrapping der Reihen */
#iaa-screenreader .iaa-row{
  flex-wrap: wrap;
}
#iaa-screenreader .iaa-row > *{
  flex: 1 1 160px;
  min-width: 140px;
}

/* Steuerelemente passen sich der Breite an */
#iaa-screenreader select,
#iaa-screenreader input[type="range"],
#iaa-screenreader button{
  width: 100%;
}

/* Visuelle Hervorhebung des gelesenen Textes (JS umschließt Auswahl) */
.iaa-sr-highlight{
  background: var(--iaa-sr-hl-bg);
  color: inherit;
  padding: 0 .08em;
  border-radius: 2px;
}
:root{
  --iaa-sr-hl-bg: rgba(255, 235, 59, 0.35);
  --iaa-sr-outline-color: #ffb86b;
  --iaa-sr-outline-width: 2px;
}

/* Aktuelles Element (Block) während des Vorlesens */
.iaa-sr-current{
  background: var(--iaa-sr-hl-bg);
  border-radius: 4px;
}

/* Vorlesbare Bereiche umranden (optional) */
.iaa-sr-outline-on .iaa-sr-readable{
  outline: var(--iaa-sr-outline-width) dashed var(--iaa-sr-outline-color);
  outline-offset: 3px;
  border-radius: 4px;
}
.iaa-sr-outline-on .iaa-sr-readable:focus{
  outline-style: solid;
  background: var(--iaa-sr-hl-bg);
}



/* =========================================
   Screenreader Floating Panel
   ========================================= */

.iaa-sr-float{
  resize: none !important;
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 2147483647;
  width: 320px;
  max-width: calc(100vw - 32px);
  background: var(--iaa-panel-bg);
  color: var(--iaa-panel-fg);
  border: var(--iaa-panel-border-w, 1px) solid var(--iaa-panel-border);
  border-radius: 18px;
  box-shadow: var(--iaa-shadow);
  overflow: hidden;
}

.iaa-sr-float[hidden]{ display:none !important; }

.iaa-sr-float__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding: 10px 12px;
  background: rgba(255,255,255,.06);
  cursor: move;
  user-select: none;
  touch-action: none;
}

.iaa-sr-float__title{
  font-weight: 900;
  font-size: 13px;
  opacity: .95;
}

.iaa-sr-float__drag{
  font-size: 12px;
  opacity: .7;
}

.iaa-sr-float__body{
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 12px 12px;
}

.iaa-sr-float__body .iaa-btn2{
  flex: 1 1 calc(50% - 8px);
  min-width: 120px;
  text-align:center;
}

@media (max-width: 420px){
  .iaa-sr-float{ width: calc(100vw - 24px); right: 12px; bottom: 12px; }
  .iaa-sr-float__body .iaa-btn2{ flex-basis: 100%; }
}

/* =========================================
   Presets + Tooltips
   ========================================= */

.iaa-help{
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
  opacity: .9;
}

.iaa-presetrows{ display:grid; gap:10px; }
.iaa-presetrow{ display:flex; gap:10px; align-items:stretch; }
.iaa-preset-switch{ flex: 0 0 auto; align-self: center; }

.iaa-preset2{
  flex: 1;
  border-radius: 14px;
  border: var(--iaa-control-border-w) solid var(--iaa-control-border);
  background: rgba(255,255,255,.06);
  color: var(--iaa-card-fg);
  padding: 10px 12px;
  cursor: pointer;
  text-align: left;
}

/* Robustness: prevent Elementor/Theme global button styles from changing Presets layout */
#itweb-accessall-root .iaa-preset2{
  font: inherit !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  padding: 10px 12px !important;
  min-height: 0 !important;
  height: auto !important;
}
#itweb-accessall-root .iaa-preset-switch{
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  line-height: 1 !important;
}

#itweb-accessall-root .iaa-tip{
  font: inherit !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
#itweb-accessall-root .iaa-presetrow .iaa-preset-switch{
  padding: 0 !important;
  min-height: 0 !important;
}

.iaa-preset2:hover{ background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.16); }
.iaa-preset2:focus, .iaa-preset2:focus-visible{ outline:3px solid var(--iaa-focus); outline-offset:2px; }

.iaa-preset2__title{ display:block; font-weight: 900; font-size: 13px; }
.iaa-preset2__desc{ display:block; font-size: 12px; opacity: .88; margin-top: 2px; line-height:1.3; }

.iaa-tip{
  flex: 0 0 auto;
  width: 34px;
  border-radius: 12px;
  border: var(--iaa-control-border-w) solid var(--iaa-control-border);
  background: rgba(0,0,0,.18);
  color: var(--iaa-card-fg);
  cursor: help;
  font-weight: 900;
}
.iaa-tip:focus, .iaa-tip:focus-visible{ outline:3px solid var(--iaa-focus); outline-offset:2px; }

.iaa-tooltip{
  position: absolute;
  z-index: 2147483647;
  max-width: 260px;
  background: rgba(0,0,0,.92);
  color: #fff;
  border: 1px solid rgba(255,255,255,.18);
  padding: 8px 10px;
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(0,0,0,.35);
  font-size: 12px;
  line-height: 1.35;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity .12s ease, transform .12s ease;
}

/* Tooltip positioning: anchor to the info button */
.iaa-presetrow{ position: relative; }
.iaa-tip + .iaa-tooltip{
  top: 50%;
  right: 44px;
  transform: translateY(-50%) translateY(-4px);
}
.iaa-tip:hover + .iaa-tooltip,
.iaa-tip:focus + .iaa-tooltip,
.iaa-tip:focus-visible + .iaa-tooltip{
  opacity: 1;
  transform: translateY(-50%) translateY(0);
}

@media (max-width: 420px){
  .iaa-tip + .iaa-tooltip{ right: 0; left: 0; top: calc(100% + 8px); transform: none; }
  .iaa-tip:hover + .iaa-tooltip,
  .iaa-tip:focus + .iaa-tooltip,
  .iaa-tip:focus-visible + .iaa-tooltip{ transform: none; }
}

/* =========================================
   No-motion (for ADHS / Epilepsy safety)
   Scope: website content wrapper only
   ========================================= */

html.iaa-no-motion #iaa-zoom-wrap,
html.iaa-no-motion #iaa-zoom-wrap * ,
html.iaa-no-motion #iaa-zoom-wrap *::before,
html.iaa-no-motion #iaa-zoom-wrap *::after{
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}

/* =========================================
   Useful Tools (v1.0.21 partial)
   ========================================= */

/* Hide images + show alt text placeholders */
#iaa-zoom-wrap .iaa-img-alt{
  display: none;
  font-size: 12px;
  line-height: 1.3;
  padding: 2px 6px;
  border: 1px dashed currentColor;
  border-radius: 4px;
  margin: 2px 0;
  opacity: 0.9;
  word-break: break-word;
}

html.iaa-hide-images #iaa-zoom-wrap img{
  display: none !important;
}

html.iaa-hide-images #iaa-zoom-wrap .iaa-img-alt{
  display: block !important;
}

/* Outline links (no color/contrast changes) */
html.iaa-outline-links #iaa-zoom-wrap a[href]{
  outline: 2px solid currentColor !important;
  outline-offset: 2px !important;
}


/* ===== AccessAll: Wrap Compatibility (no DOM re-parent) ===== */


[data-iaa-wrap="1"]{
  word-spacing: var(--iaa-word);
  letter-spacing: var(--iaa-letter);
}


html.iaa-focus-force [data-iaa-wrap="1"] :focus,
html.iaa-focus-force [data-iaa-wrap="1"] :focus-visible{
  outline: var(--iaa-focus-width, 3px) solid var(--iaa-accent2) !important;
  outline-offset: 3px !important;
}


html.iaa-night [data-iaa-wrap="1"]{
  filter: invert(1) hue-rotate(180deg);
}


html.iaa-night body > *:not([data-iaa-wrap="1"]):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo){
  filter: invert(1) hue-rotate(180deg);
}


html.iaa-night [data-iaa-wrap="1"] img,
html.iaa-night [data-iaa-wrap="1"] video,
html.iaa-night [data-iaa-wrap="1"] iframe,
html.iaa-night [data-iaa-wrap="1"] svg,
html.iaa-night [data-iaa-wrap="1"] canvas,
html.iaa-night [data-iaa-wrap="1"] [style*="background-image"],
html.iaa-night body > *:not([data-iaa-wrap="1"]):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) img,
html.iaa-night body > *:not([data-iaa-wrap="1"]):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) video,
html.iaa-night body > *:not([data-iaa-wrap="1"]):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) iframe{
  filter: invert(1) hue-rotate(180deg);
}


/* WICHTIG: Nur TEXT-Elemente anpassen, NICHT Bilder/Videos/Iframes */
html.iaa-contrast [data-iaa-wrap="1"] p,
html.iaa-contrast [data-iaa-wrap="1"] h1,
html.iaa-contrast [data-iaa-wrap="1"] h2,
html.iaa-contrast [data-iaa-wrap="1"] h3,
html.iaa-contrast [data-iaa-wrap="1"] h4,
html.iaa-contrast [data-iaa-wrap="1"] h5,
html.iaa-contrast [data-iaa-wrap="1"] h6,
html.iaa-contrast [data-iaa-wrap="1"] span,
html.iaa-contrast [data-iaa-wrap="1"] div,
html.iaa-contrast [data-iaa-wrap="1"] li,
html.iaa-contrast [data-iaa-wrap="1"] a,
html.iaa-contrast [data-iaa-wrap="1"] button,
html.iaa-contrast [data-iaa-wrap="1"] label,
html.iaa-contrast [data-iaa-wrap="1"] input,
html.iaa-contrast [data-iaa-wrap="1"] textarea,
html.iaa-contrast [data-iaa-wrap="1"] select,
html.iaa-contrast [data-iaa-wrap="1"] td,
html.iaa-contrast [data-iaa-wrap="1"] th,
html.iaa-contrast [data-iaa-wrap="1"] blockquote,
html.iaa-contrast [data-iaa-wrap="1"] code,
html.iaa-contrast [data-iaa-wrap="1"] pre{
  color: var(--iaa-c-fg) !important;
}


/* Container-Elemente bekommen Hintergrund */
html.iaa-contrast [data-iaa-wrap="1"] div,
html.iaa-contrast [data-iaa-wrap="1"] section,
html.iaa-contrast [data-iaa-wrap="1"] article,
html.iaa-contrast [data-iaa-wrap="1"] main,
html.iaa-contrast [data-iaa-wrap="1"] header,
html.iaa-contrast [data-iaa-wrap="1"] footer,
html.iaa-contrast [data-iaa-wrap="1"] nav,
html.iaa-contrast [data-iaa-wrap="1"] aside,
html.iaa-contrast [data-iaa-wrap="1"] button,
html.iaa-contrast [data-iaa-wrap="1"] input,
html.iaa-contrast [data-iaa-wrap="1"] textarea,
html.iaa-contrast [data-iaa-wrap="1"] select{
  background-color: var(--iaa-c-bg) !important;
}


/* Dropdown-Menüs & interaktive Elemente behalten Hintergrund */
html.iaa-contrast [data-iaa-wrap="1"] select,
html.iaa-contrast [data-iaa-wrap="1"] option,
html.iaa-contrast [data-iaa-wrap="1"] [role="menu"],
html.iaa-contrast [data-iaa-wrap="1"] [role="listbox"],
html.iaa-contrast [data-iaa-wrap="1"] .dropdown,
html.iaa-contrast [data-iaa-wrap="1"] .menu{
  background-color: var(--iaa-c-bg) !important;
  border: 2px solid var(--iaa-c-fg) !important;
}


/* Links */
html.iaa-contrast [data-iaa-wrap="1"] a{
  color: var(--iaa-c-link) !important;
  text-decoration: underline !important;
}


/* WICHTIG: Bilder, Videos, Iframes, SVGs NICHT verändern */
html.iaa-contrast [data-iaa-wrap="1"] img,
html.iaa-contrast [data-iaa-wrap="1"] video,
html.iaa-contrast [data-iaa-wrap="1"] iframe,
html.iaa-contrast [data-iaa-wrap="1"] svg,
html.iaa-contrast [data-iaa-wrap="1"] canvas,
html.iaa-contrast [data-iaa-wrap="1"] picture{
  background-color: transparent !important;
  filter: none !important;
}


/* Rahmen für bessere Lesbarkeit */
html.iaa-contrast [data-iaa-wrap="1"] *{
  border-color: var(--iaa-c-fg) !important;
  box-shadow: none !important;
}


/* Link-Outline Option */
html.iaa-linkoutline [data-iaa-wrap="1"] a{
  outline: 2px solid var(--iaa-c-link) !important;
  outline-offset: 2px !important;
  border-radius: 3px;
}


/* High-Contrast: robuste Focus-Styles + Form-Controls (WCAG-nah) */
html.iaa-contrast [data-iaa-wrap="1"] :focus-visible{
  outline: 3px solid var(--iaa-c-link) !important;
  outline-offset: 2px !important;
}

html.iaa-contrast [data-iaa-wrap="1"] button,
html.iaa-contrast [data-iaa-wrap="1"] input,
html.iaa-contrast [data-iaa-wrap="1"] select,
html.iaa-contrast [data-iaa-wrap="1"] textarea{
  border: 2px solid var(--iaa-c-fg) !important;
}

html.iaa-contrast [data-iaa-wrap="1"] input::placeholder,
html.iaa-contrast [data-iaa-wrap="1"] textarea::placeholder{
  color: var(--iaa-c-fg) !important;
  opacity: .8;
}


/* Focus-Styles auch für "außerhalb des Wraps" (fixed/off-canvas) */
html.iaa-contrast body > *:not([data-iaa-wrap="1"]):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) :focus-visible{
  outline: 3px solid var(--iaa-c-link) !important;
  outline-offset: 2px !important;
}


/* Außerhalb des Wraps (für fixed/off-canvas Elemente etc.) */
/* Einige Themes hängen Menüs/Overlays als position:fixed + hoher z-index direkt an <body>.
   Diese Elemente werden von ensureWrap bewusst NICHT in [data-iaa-wrap="1"] verschoben.
   Daher muss der Kontrastmodus auch für diese Container/Descendants greifen. */
html.iaa-contrast body > *:not([data-iaa-wrap="1"]):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo){
  background-color: var(--iaa-c-bg) !important;
  color: var(--iaa-c-fg) !important;
}


/* Descendants – konservativ, aber ausreichend für typische Dropdowns/Off-Canvas Menüs */
html.iaa-contrast body > *:not([data-iaa-wrap="1"]):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) *{
  color: var(--iaa-c-fg) !important;
  background-color: var(--iaa-c-bg) !important;
  border-color: var(--iaa-c-fg) !important;
  box-shadow: none !important;
}


/* Links außerhalb des Wraps */
html.iaa-contrast body > *:not([data-iaa-wrap="1"]):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) a{
  color: var(--iaa-c-link) !important;
  text-decoration: underline !important;
}


/* Bilder/Videos außerhalb Wrap auch nicht verändern */
html.iaa-contrast body > *:not([data-iaa-wrap="1"]):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) img,
html.iaa-contrast body > *:not([data-iaa-wrap="1"]):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) video,
html.iaa-contrast body > *:not([data-iaa-wrap="1"]):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) iframe,
html.iaa-contrast body > *:not([data-iaa-wrap="1"]):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) svg,
html.iaa-contrast body > *:not([data-iaa-wrap="1"]):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) canvas,
html.iaa-contrast body > *:not([data-iaa-wrap="1"]):not(#itweb-accessall-root):not(.iaa-bluefilter):not(.iaa-ruler):not(.iaa-cursor-halo) picture{
  background-color: transparent !important;
  filter: none !important;
}


/* =========================================
   No-motion (for ADHS / Epilepsy safety)
   Scope: website content wrapper only
   ========================================= */

html.iaa-no-motion [data-iaa-wrap="1"],
html.iaa-no-motion [data-iaa-wrap="1"] * ,
html.iaa-no-motion [data-iaa-wrap="1"] *::before,
html.iaa-no-motion [data-iaa-wrap="1"] *::after{
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}


/* =========================================
   Useful Tools (v1.0.21 partial)
   ========================================= */

/* Hide images + show alt text placeholders */

/* =====================================================================
   ULTIMATE UI-HARDENING
   Einige Themes/Elementor-Kits setzen Button-/Input-Styles mit hoher
   Spezifität oder sogar !important (z.B. .elementor-kit-XXX button).
   Dadurch können in Subviews Zeilenhöhen/Controls „aufblasen“.
   Diese Regeln fixieren Typografie + Control-Metriken innerhalb des Widgets
   (inkl. Body-Overlays wie Intro & Screenreader-Float).
   ===================================================================== */

#itweb-accessall-root button,
#itweb-accessall-root input,
#itweb-accessall-root select,
#itweb-accessall-root textarea,
.iaa-intro button,
.iaa-intro input,
.iaa-intro select,
.iaa-intro textarea,
.iaa-sr-float button,
.iaa-sr-float input,
.iaa-sr-float select,
.iaa-sr-float textarea{
  font-family: var(--iaa-font-family) !important;
  font-size: var(--iaa-font-size) !important;
  font-weight: inherit !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  box-sizing: border-box !important;
}

/* +/- und Zurück-Button: fixe Höhe, kein fremdes Padding */
#itweb-accessall-root .iaa-mini,
.iaa-sr-float .iaa-mini{
  width:38px !important;
  height:38px !important;
  min-height:38px !important;
  padding:0 !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:18px !important;
}

#itweb-accessall-root .iaa-back,
.iaa-sr-float .iaa-back{
  width:44px !important;
  height:44px !important;
  min-height:44px !important;
  padding:0 !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:22px !important;
}

/* Standard-Buttons: fixiere Padding/Line-Height gegen Theme-Overrides */
#itweb-accessall-root .iaa-btn2,
.iaa-sr-float .iaa-btn2,
.iaa-intro .iaa-btn2{
  padding:9px 12px !important;
  line-height:1.1 !important;
}

/* Slider: verhindere Range-„Padding“ durch Theme */
#itweb-accessall-root input[type="range"],
.iaa-sr-float input[type="range"]{
  padding:0 !important;
  margin:0 !important;
}

#itweb-accessall-root .iaa-slider,
.iaa-sr-float .iaa-slider{
  align-items:center !important;
}
[data-iaa-wrap="1"] .iaa-img-alt{
  display: none;
  font-size: 12px;
  line-height: 1.3;
  padding: 2px 6px;
  border: 1px dashed currentColor;
  border-radius: 4px;
  margin: 2px 0;
  opacity: 0.9;
  word-break: break-word;
}


html.iaa-hide-images [data-iaa-wrap="1"] img{
  display: none !important;
}


html.iaa-hide-images [data-iaa-wrap="1"] .iaa-img-alt{
  display: block !important;
}


/* Outline links (no color/contrast changes) */
html.iaa-outline-links [data-iaa-wrap="1"] a[href]{
  outline: 2px solid currentColor !important;
  outline-offset: 2px !important;
}

/* =============================================================================
   HARDENING (v1.0.52):
   Elementor "Site Settings" (Kit CSS) often applies global button/link styles with
   selectors like .elementor-kit-XXX button. Some of our rules used only class
   selectors (.iaa-ico, .iaa-back, ...), which can be overridden.
   The following block re-asserts the key UI rules with #itweb-accessall-root
   to win the specificity war without touching the site.
============================================================================= */

#itweb-accessall-root .iaa-launcher{
  pointer-events:auto;
  position:fixed;
  display:inline-flex; 
  align-items:center; 
  gap:5px;
  padding: var(--iaa-launcher-padding);
  border-radius: var(--iaa-launcher-radius);
  border: var(--iaa-panel-border-w, var(--iaa-launcher-border-w)) solid var(--iaa-panel-border, var(--iaa-launcher-border));
  background: var(--iaa-launcher-bg);
  color: var(--iaa-launcher-text-color);
  box-shadow: var(--iaa-shadow);
  cursor:pointer;
  font-weight: 600;
  font-size: var(--iaa-launcher-font-size);
  line-height: 1.1;
  font-family: var(--iaa-font-family);
  text-transform: none;
}

#itweb-accessall-root .iaa-ico{
  width:44px; height:44px;
  border: var(--iaa-control-border-w) solid var(--iaa-control-border);
  background: var(--iaa-control-bg);
  color: var(--iaa-icon-color);
  border-radius: 10px;
  padding:0;
  cursor:pointer;
  font: inherit;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  text-transform: none;
}

#itweb-accessall-root .iaa-item{
  display:grid !important;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items:center;
  column-gap: 10px;
  padding:9px 9px;
  border-radius: 12px;
  border: var(--iaa-card-border-w) solid var(--iaa-block-border);
  background: var(--iaa-block-bg);
  color: var(--iaa-card-fg);
  cursor:pointer;
  text-align:left;
  font: inherit;
  text-transform: none;
}

#itweb-accessall-root .iaa-back{
  width:44px; height:44px;
  border: var(--iaa-control-border-w) solid var(--iaa-control-border);
  background: transparent;
  color: var(--iaa-card-fg);
  border-radius:10px;
  padding:0;
  cursor:pointer;
  font: inherit;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  text-transform: none;
}

#itweb-accessall-root .iaa-btn2{
  border-radius: var(--iaa-launcher-radius);
  border: var(--iaa-control-border-w) solid var(--iaa-control-border);
  background: rgba(255,184,107,.18);
  color: var(--iaa-card-fg);
  padding:9px 12px;
  cursor:pointer;
  font-weight:900;
  text-transform: none;
}
#itweb-accessall-root .iaa-btn2--ghost{ background: transparent; }

#itweb-accessall-root .iaa-mini{
  width:38px; height:38px;
  border-radius:10px;
  border: var(--iaa-control-border-w) solid var(--iaa-control-border);
  background: var(--iaa-intro-close-bg);
  color: var(--iaa-card-fg);
  cursor:pointer;
  font: inherit;
  font-size:18px;
  text-transform: none;
}

#itweb-accessall-root .iaa-align__btn{
  border-radius: 12px;
  border: var(--iaa-control-border-w) solid var(--iaa-control-border);
  background: var(--iaa-intro-close-bg);
  color: var(--iaa-card-fg);
  padding:9px 0;
  cursor:pointer;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  text-transform: none;
}

#itweb-accessall-root .iaa-preset{
  border-radius: 12px;
  border: var(--iaa-control-border-w) solid var(--iaa-control-border);
  background: var(--iaa-intro-close-bg);
  color: var(--iaa-card-fg);
  padding:10px;
  cursor:pointer;
  font-weight:900;
  text-transform: none;
}

#itweb-accessall-root .iaa-link{
  border:none;
  background: transparent;
  color: rgba(255,255,255,.85);
  text-align:left;
  padding:6px 4px;
  cursor:pointer;
  font: inherit;
  text-transform: none;
}

#itweb-accessall-root .iaa-footer__hide{
  margin-top:8px;
  width:100%;
  text-align:left;
  background: transparent;
  border: 1px solid var(--iaa-control-border, var(--iaa-panel-border));
  border-width: var(--iaa-control-border-w, 1px);
  color: var(--iaa-panel-fg);
  border-radius: 10px;
  padding: 10px 12px;
  font: inherit;
  cursor: pointer;
  text-transform: none;
}

/* =====================================================================
   ULTIMATE UI-HARDENING
   Einige Themes/Elementor-Kits setzen Button-/Input-Styles mit hoher
   Spezifität oder sogar !important (z.B. .elementor-kit-XXX button).
   Das führt zu „wachsenden“ Controls (mehr Padding/Line-Height).
   Diese Regeln fixieren Metriken (Height/Padding/Line-Height) innerhalb
   des Widgets (inkl. Intro-Bubble & Screenreader-Float).
   ===================================================================== */

#itweb-accessall-root button,
#itweb-accessall-root input,
#itweb-accessall-root select,
#itweb-accessall-root textarea,
.iaa-intro button,
.iaa-intro input,
.iaa-intro select,
.iaa-intro textarea,
.iaa-sr-float button,
.iaa-sr-float input,
.iaa-sr-float select,
.iaa-sr-float textarea{
  font-family: var(--iaa-font-family) !important;
  font-size: var(--iaa-font-size) !important;
  font-weight: inherit !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  box-sizing: border-box !important;
}

/* +/- Buttons (iaa-mini) – feste Höhe, kein Theme-Padding */
#itweb-accessall-root .iaa-mini,
.iaa-sr-float .iaa-mini{
  width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
}

/* Back-Button im Submenu */
#itweb-accessall-root .iaa-back,
.iaa-sr-float .iaa-back{
  width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
}

/* Primäre Buttons */
#itweb-accessall-root .iaa-btn2,
.iaa-sr-float .iaa-btn2,
.iaa-intro .iaa-btn2{
  padding: 9px 12px !important;
  line-height: 1.1 !important;
}

/* Grid Buttons & Presets – konstante Höhe/Typografie */
#itweb-accessall-root .iaa-align__btn,
.iaa-sr-float .iaa-align__btn{
  padding: 9px 0 !important;
  line-height: 1.1 !important;
}

#itweb-accessall-root .iaa-preset,
.iaa-sr-float .iaa-preset{
  padding: 10px !important;
  line-height: 1.2 !important;
}

/* Switch Metriken fixieren */
#itweb-accessall-root .iaa-switch__ui,
.iaa-sr-float .iaa-switch__ui{
  width: 44px !important;
  height: 24px !important;
}

/* Slider/Ranges – keine Theme-Margins/Paddings */
#itweb-accessall-root input[type="range"],
.iaa-sr-float input[type="range"]{
  margin: 0 !important;
  padding: 0 !important;
}



/* HARDEN INTRO CLOSE */
.iaa-intro .iaa-intro__close,
.iaa-intro button.iaa-intro__close{
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  max-width: 34px !important;
  max-height: 34px !important;
  padding: 0 !important;
  line-height: 1 !important;
  font-size: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}
