/* Foundry – Barrierefreiheit (migriert aus sun concept Accessibility Toolbox).
 * Cursor-Pfade sind jetzt relativ zur CSS-Datei (portabel).
 */

/* ---------------------------------------------------- Schwebender Button */
#sun-acc-toolbox-trigger {
	display: flex; align-items: center; justify-content: center;
	border: 0; border-radius: 50%; cursor: pointer; padding: 0;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .25);
	transition: filter .15s, transform .15s;
}
#sun-acc-toolbox-trigger:hover { filter: brightness(1.08); transform: scale(1.05); }
#sun-acc-toolbox-trigger:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
#sun-acc-toolbox-trigger img { display: none; }
#sun-acc-toolbox-trigger::before {
	content: ""; display: block; width: 62%; height: 62%;
	background-color: currentColor;
	-webkit-mask: var(--sun-acc-icon) center / contain no-repeat;
	mask: var(--sun-acc-icon) center / contain no-repeat;
}

/* ---------------------------------------------------------- Panel (Offcanvas) */
#sun-accessibility-toolbox {
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 18px !important;
	width: 100%;
	z-index: 99999;
}
#sun-accessibility-toolbox .uk-offcanvas-bar {
	width: 450px;
	max-width: 90% !important;
	background: #fff !important;
	border-right: 3px solid black !important;
	padding: 30px 20px !important;
}
#sun-accessibility-toolbox .uk-acc-button {
	display: flex; flex-direction: column; justify-content: space-between; align-items: center;
	gap: 1px; color: #000; background: #eeeeee; height: auto; padding: 8px 4px;
	line-height: 1.3; flex-basis: 100%; border: 1px solid black; cursor: pointer;
}
#sun-accessibility-toolbox .uk-acc-button,
#sun-accessibility-toolbox .uk-acc-button span {
	font-family: Arial, Helvetica, sans-serif !important; font-size: 16px !important;
}
#sun-accessibility-toolbox .uk-acc-button:hover { color: #000; background: #c2c2c2; }
#sun-accessibility-toolbox .uk-acc-button:active { color: #000; background: #9d9d9d; }
#sun-accessibility-toolbox .uk-acc-button.uk-active { background: yellow !important; }
#sun-accessibility-toolbox .uk-offcanvas-close {
	gap: 8px !important; display: flex !important; align-items: center !important;
	color: black !important; background: #eeeeee !important; border: 1px solid black !important;
	border-top-width: 0 !important; border-right-width: 0 !important;
	font-family: Arial, Helvetica, sans-serif !important; font-size: 16px !important;
	top: 0 !important; right: 0 !important; padding: 14px !important;
}
#sun-accessibility-toolbox .uk-offcanvas-close:hover { color: #000 !important; background: #c2c2c2 !important; }
#sun-accessibility-toolbox .uk-offcanvas-close:active { color: #000 !important; background: #9d9d9d !important; }
#sun-accessibility-toolbox .uk-offcanvas-close line { stroke-width: 2px !important; }
#sun-accessibility-toolbox .uk-offcanvas-close svg { width: 14px !important; height: 14px !important; }
#sun-accessibility-toolbox span.sun-acc-toolbox-images-titles { display: none !important; }
#sun-accessibility-toolbox .uk-acc-headline { color: black !important; font-weight: bold !important; font-size: 20px !important; }
#sun-accessibility-toolbox #sun-acc-toolbox-fonts-up { position: relative; }
#sun-accessibility-toolbox #sun-acc-toolbox-fonts-up-enabled { position: absolute; top: 0; right: 4px; }
@media (max-width: 400px) {
	#sun-accessibility-toolbox .uk-offcanvas-bar > .uk-flex { flex-wrap: wrap; }
}

/* -------------------------------------------------------------- Effekte */
.sun-acc-toolbox-zoom-up > :not(#sun-accessibility-toolbox) {
	zoom: 1.4 !important;
	-moz-transform: scale(1.4) !important;
	-moz-transform-origin: 40% 0 !important;
}

.sun-acc-toolbox-contrast-monochrome::after,
.sun-acc-toolbox-contrast-hard::after {
	content: "" !important; position: fixed !important; inset: 0 !important;
	pointer-events: none; z-index: 99989;
}
.sun-acc-toolbox-contrast-monochrome::after { backdrop-filter: grayscale(1) !important; }
.sun-acc-toolbox-contrast-hard::after { backdrop-filter: invert(1) !important; }

.sun-acc-toolbox-contrast-soft,
.sun-acc-toolbox-contrast-soft > :not(#sun-accessibility-toolbox),
.sun-acc-toolbox-contrast-soft > :not(#sun-accessibility-toolbox) :not(img) {
	color: #000 !important; background: 0 0 !important;
}

.sun-acc-toolbox-disable-buttons-animations * {
	-webkit-transition-property: none !important; transition-property: none !important;
	-webkit-animation: none !important; animation: none !important;
	-webkit-animation-name: none !important; animation-name: none !important;
}

.sun-acc-toolbox-disable-buttons-keyboard > :not(#sun-accessibility-toolbox) :is(a, button, h1, h2, h3, h4, h5, h6, input, li, p, select, textarea):focus {
	outline: 0 !important; background: #ff0 !important; color: #000 !important;
	-webkit-box-shadow: none !important; box-shadow: none !important; text-shadow: none !important;
}

.sun-acc-toolbox-content-links a { text-decoration: underline !important; }
.sun-acc-toolbox-content-headers :is(h1, h2, h3, h4, h5, h6) { text-decoration: underline !important; }

.sun-acc-toolbox-cursor-big-white { cursor: url(../accessibility/cursors/w21.png), auto !important; }
.sun-acc-toolbox-cursor-big-white a,
.sun-acc-toolbox-cursor-big-white button { cursor: url(../accessibility/cursors/hw21.png), auto !important; }
.sun-acc-toolbox-cursor-big-black { cursor: url(../accessibility/cursors/b2.png), auto !important; }
.sun-acc-toolbox-cursor-big-black a,
.sun-acc-toolbox-cursor-big-black button { cursor: url(../accessibility/cursors/hb.png), auto !important; }

.sun-acc-toolbox-content-images span.sun-acc-toolbox-images-titles {
	display: block !important; font-size: 20px !important; max-width: 180px !important;
	line-height: 1 !important; margin: 0 auto !important; font-weight: 400 !important;
	text-align: center !important; background: #ffffe0 !important; color: #000 !important;
	-webkit-box-shadow: none !important; box-shadow: none !important; padding: 10px !important;
	border: solid 1px #8b0000 !important; border-radius: 0 !important;
}

.sun-acc-toolbox-fonts-simple :not(i):not(.fa) { font-family: Arial, Helvetica, sans-serif !important; }

/* ------------------------------------------------------- Neue Werkzeuge */

/* Legasthenie-Modus: gut lesbare Schrift + mehr Abstand */
.sun-acc-toolbox-fonts-dyslexia :not(i):not(.fa) {
	font-family: "Comic Sans MS", "Trebuchet MS", Verdana, Arial, sans-serif !important;
	letter-spacing: .06em !important;
	word-spacing: .16em !important;
	line-height: 1.8 !important;
}

/* Fokus deutlich hervorheben (WCAG) */
.sun-acc-toolbox-focus-highlight :is(a, button, input, select, textarea, summary, [tabindex]):focus,
.sun-acc-toolbox-focus-highlight :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid #1d4ed8 !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 3px rgba(29, 78, 216, .35) !important;
}

/* Lesehilfe-Leiste, folgt dem Mauszeiger */
#sun-acc-reading-guide-bar {
	position: fixed; left: 0; right: 0; height: 2.4em;
	background: rgba(255, 255, 0, .16);
	border-top: 2px solid rgba(0, 0, 0, .55);
	border-bottom: 2px solid rgba(0, 0, 0, .55);
	transform: translateY(-50%);
	pointer-events: none; z-index: 99988;
}
