/* Accessibility mode ("Версия для слабовидящих") */
.a11y-menu {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	z-index: 1200;
	width: min(22rem, calc(100vw - 2rem));
	padding: 1rem;
	border: .0625rem solid #d1d5db;
	border-radius: .75rem;
	background: #fff;
	color: #111827;
	box-shadow: 0 .75rem 2rem rgba(15, 23, 42, .2);
}

.a11y-menu__title {
	font-size: 1rem;
	font-weight: 700;
	margin-bottom: .75rem;
}

.a11y-menu__group + .a11y-menu__group {
	margin-top: .75rem;
}

.a11y-menu__label {
	font-size: .875rem;
	font-weight: 600;
	margin-bottom: .375rem;
}

.a11y-menu__options {
	display: flex;
	flex-wrap: wrap;
	gap: .375rem;
}

.a11y-menu__option,
.a11y-menu__action {
	border: .0625rem solid #9ca3af;
	border-radius: .5rem;
	background: #fff;
	color: #111827;
	padding: .35rem .65rem;
	font-size: .875rem;
	line-height: 1.2;
}

.a11y-menu__option.is-active {
	background: #111827;
	color: #fff;
	border-color: #111827;
}

.a11y-menu__check {
	display: block;
	font-size: .875rem;
}

.a11y-menu__check + .a11y-menu__check {
	margin-top: .375rem;
}

.a11y-menu__actions {
	display: flex;
	gap: .5rem;
	margin-top: .9rem;
}

.a11y-menu__action[data-a11y-action="reset"] {
	background: #111827;
	color: #fff;
	border-color: #111827;
}

:root.is-accessibility-enabled {
	--a11y-font-scale: 1.15;
	--a11y-line-height: 1.8;
	--a11y-letter-spacing: 0.03em;
}

:root.is-accessibility-enabled body {
	font-size: calc(1.125rem * var(--a11y-font-scale));
	line-height: var(--a11y-line-height);
	letter-spacing: var(--a11y-letter-spacing);
}

:root.is-accessibility-enabled :is(p, li, a, span, div, label, input, textarea, button, h1, h2, h3, h4, h5, h6) {
	line-height: var(--a11y-line-height);
	letter-spacing: var(--a11y-letter-spacing);
}

:root.is-accessibility-enabled *:focus-visible {
	outline: .1875rem solid currentColor !important;
	outline-offset: .1875rem;
}

:root.is-accessibility-enabled.is-a11y-hide-images :is(img, video, iframe, canvas, picture) {
	visibility: hidden !important;
}

:root.is-accessibility-enabled.is-a11y-underline-links a {
	text-decoration: underline !important;
	text-underline-offset: .12em;
}

:root.is-accessibility-enabled[data-a11y-contrast="default"] {
	--color-bg: #f4f4f5;
	--color-dark: #0f172a;
	--color-border: #e7e8ea;
	--color-white: #ffffff;
	--color-accent2: #ff4f12;
	--color-accent1: #7000ff;
	--color-accent2-hover: #e03000;
}

:root.is-accessibility-enabled[data-a11y-contrast="high"] {
	--color-bg: #ffffff;
	--color-dark: #000000;
	--color-border: #111111;
	--color-white: #ffffff;
	--color-accent2: #7a0000;
	--color-accent1: #0011cc;
	--color-accent2-hover: #520000;
}

:root.is-accessibility-enabled[data-a11y-contrast="dark"] {
	--color-bg: #000000;
	--color-dark: #ffffff;
	--color-border: #d1d5db;
	--color-white: #111111;
	--color-accent2: #facc15;
	--color-accent1: #22d3ee;
	--color-accent2-hover: #f59e0b;
}

:root.is-accessibility-enabled[data-a11y-contrast="dark"] .a11y-menu {
	background: #0f172a;
	color: #f9fafb;
	border-color: #334155;
}

:root.is-accessibility-enabled[data-a11y-contrast="dark"] :is(.a11y-menu__option, .a11y-menu__action) {
	background: #111827;
	color: #f9fafb;
	border-color: #64748b;
}

:root.is-accessibility-enabled[data-a11y-contrast="dark"] .a11y-menu__option.is-active {
	background: #f9fafb;
	color: #111827;
	border-color: #f9fafb;
}
