/* Barrierefreiheits-Werkzeugleiste */
#va-a11y-btn{
	position:fixed; left:18px; bottom:18px; z-index:9990;
	width:54px; height:54px; border-radius:50%;
	background:#1b2b24; color:#c9a96e; border:2px solid #c9a96e;
	display:grid; place-items:center; cursor:pointer; padding:0;
	box-shadow:0 8px 22px rgba(0,0,0,.35);
}
#va-a11y-btn svg{ width:30px; height:30px; }
#va-a11y-btn:hover,#va-a11y-btn:focus-visible{ background:#c9a96e; color:#1b2b24; outline:3px solid #fff; outline-offset:2px; }

#va-a11y{
	position:fixed; left:18px; bottom:84px; z-index:9991;
	width:min(360px, calc(100vw - 36px)); max-height:calc(100vh - 110px); overflow:auto;
	background:#fff; color:#1b2b24; border-radius:12px;
	box-shadow:0 20px 60px rgba(0,0,0,.4); border:1px solid #d9d4c7;
	font-family:inherit; font-size:16px; line-height:1.4;
}
#va-a11y[hidden]{ display:none; }
#va-a11y .hd{
	display:flex; align-items:center; justify-content:space-between;
	padding:14px 16px; background:#1b2b24; color:#fff; border-radius:12px 12px 0 0;
}
#va-a11y .hd h2{ margin:0; font-size:1rem; letter-spacing:.04em; color:#fff; font-family:inherit; }
#va-a11y .x{ background:none; border:0; color:#fff; font-size:1.6rem; line-height:1; cursor:pointer; padding:2px 8px; }
#va-a11y .grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:14px; }
#va-a11y .opt{
	display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
	min-height:78px; padding:10px 8px; text-align:center;
	background:#f7f4ee; color:#1b2b24; border:2px solid #e2dccd; border-radius:10px;
	font:inherit; font-size:.85rem; cursor:pointer;
}
#va-a11y .opt svg{ width:24px; height:24px; }
#va-a11y .opt:hover{ border-color:#b3925a; }
#va-a11y .opt[aria-pressed="true"]{ background:#1b2b24; color:#fff; border-color:#1b2b24; }
#va-a11y .opt:focus-visible,#va-a11y .x:focus-visible{ outline:3px solid #b3925a; outline-offset:2px; }
#va-a11y .size{ grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:10px; background:#f7f4ee; border:2px solid #e2dccd; border-radius:10px; padding:8px 12px; }
#va-a11y .size .lbl{ font-size:.85rem; }
#va-a11y .size .ctl{ display:flex; align-items:center; gap:10px; }
#va-a11y .size button{ width:40px; height:40px; border-radius:50%; border:2px solid #1b2b24; background:#fff; color:#1b2b24; font-size:1.2rem; font-weight:600; cursor:pointer; }
#va-a11y .size button:focus-visible{ outline:3px solid #b3925a; outline-offset:2px; }
#va-a11y .size output{ min-width:3.2em; text-align:center; font-weight:600; }
#va-a11y .ft{ padding:0 14px 14px; }
#va-a11y .reset{ width:100%; padding:12px; border:2px solid #1b2b24; background:#fff; color:#1b2b24; border-radius:10px; font:inherit; font-weight:600; cursor:pointer; }
#va-a11y .reset:hover{ background:#1b2b24; color:#fff; }

/* Wirkung der Einstellungen (Klassen auf <html>) */
html.va-a11y-invert{ filter:invert(1) hue-rotate(180deg); }
html.va-a11y-gray{ filter:grayscale(1); }
html.va-a11y-invert.va-a11y-gray{ filter:invert(1) hue-rotate(180deg) grayscale(1); }

html.va-a11y-contrast body,
html.va-a11y-contrast body *{
	background-color:#000 !important; background-image:none !important;
	color:#fff !important; border-color:#fff !important; text-shadow:none !important; box-shadow:none !important;
}
html.va-a11y-contrast body a,
html.va-a11y-contrast body a *{ color:#ffeb3b !important; }
html.va-a11y-contrast #va-a11y .opt[aria-pressed="true"]{ background:#ffeb3b !important; color:#000 !important; }
html.va-a11y-contrast svg,html.va-a11y-contrast svg *{ fill:currentColor; }

html.va-a11y-links body a{ text-decoration:underline !important; text-underline-offset:3px; background:rgba(255,235,59,.35) !important; color:#000 !important; outline:2px solid #000; outline-offset:1px; }

html.va-a11y-font body,
html.va-a11y-font body *{ font-family:Verdana, Tahoma, Arial, sans-serif !important; }

html.va-a11y-lh body *{ line-height:1.9 !important; }
html.va-a11y-ls body *{ letter-spacing:.12em !important; word-spacing:.2em !important; }

html.va-a11y-noanim *,html.va-a11y-noanim *::before,html.va-a11y-noanim *::after{
	animation:none !important; transition:none !important; scroll-behavior:auto !important;
}
html.va-a11y-noimg body img{ visibility:hidden !important; }
html.va-a11y-noimg body *{ background-image:none !important; }

html.va-a11y-cursor,
html.va-a11y-cursor *{
	cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'><path d='M4 2l15 9-7 1.8L9 20z' fill='black' stroke='white' stroke-width='1.5' stroke-linejoin='round'/></svg>") 4 2, auto !important;
}

#va-a11y-guide{
	position:fixed; left:0; right:0; top:-200px; height:64px; z-index:9989; pointer-events:none;
	border-top:3px solid #ffeb3b; border-bottom:3px solid #ffeb3b;
	box-shadow:0 0 0 100vmax rgba(0,0,0,.55);
	display:none;
}
html.va-a11y-guide #va-a11y-guide{ display:block; }

@media (max-width:640px){
	#va-a11y-btn{ left:12px; bottom:12px; width:48px; height:48px; }
	#va-a11y{ left:10px; right:10px; width:auto; bottom:70px; }
}
