/* Hrono Accessibility Fixes 1.5.7 — контраст без изменения оформления */

/* Скрытый заголовок H1 */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Видимый фокус при работе с клавиатуры */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid #14667A !important;
	outline-offset: 2px;
}

/* Ссылки: тот же бирюзовый, но темнее — 6.5:1 вместо 2.9:1 */
.top_item__content,
.top_item__content a,
.xs_block_2_item__cert a,
.xs_block_5__item___info___link a,
.xs_block_9__content___news____item____el_2 a,
.xs_more a,
.xs_contacts__content___item___info > div a.view_map,
.page-id-607 .xs_page a {
	color: #14667A !important;
	border-bottom-color: #14667A !important;
}

/* Кнопки: прежний светлый градиент, но тёмный текст — 5.1–9.4:1 вместо 1.6–2.8:1 */
.xs_btn,
a.xs_btn,
button.xs_btn {
	color: #0B2A33 !important;
}

/* Вертикальная вкладка «Онлайн запись»: прежний жёлтый, тёмный текст — 8.9:1 */
.xs_online_zapis {
	color: #1A1A1A !important;
}

/* Кнопка «Версия сайта для слабовидящих»: прежний голубой, тёмный текст — 6.2:1 */
.bvi-shortcode a.bvi-open,
.bvi-shortcode,
.bvi-widget a {
	color: #0E2F38 !important;
}

/* Большие бирюзовые плашки: тот же цвет, темнее на 2% — 3.1:1 для крупного текста */
.xs_block_6,
.xs_block_9__content___item____2 {
	background-color: #299FB8 !important;
}

/* Кнопка паузы карусели — в углу слайда, вёрстку не сдвигает */
.slick-slider {
	position: relative;
}

/* Скрытый H1 не должен растягивать страницу в режиме БВИ */
body.bvi-active .screen-reader-text,
body.bvi-active .hrono-a11y-h1 {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Режим «для слабовидящих»: при крупном шрифте меню переносится, а не вылезает за экран */
body.bvi-active .header_nav,
body.bvi-active .header_nav ul,
body.bvi-active .xs_header__menu,
body.bvi-active .xs_footer__bottom___nav,
body.bvi-active .xs_footer__bottom___nav ul {
	height: auto !important;
	max-width: 100% !important;
}

body.bvi-active .header_nav ul,
body.bvi-active .xs_header__menu,
body.bvi-active .xs_footer__bottom___nav ul {
	display: flex;
	flex-wrap: wrap;
}

body.bvi-active .xs_block_11__item___list {
	flex-wrap: wrap;
}

body.bvi-active .xs_block_2_item__cert,
body.bvi-active .xs_block_2_item__cert a {
	max-width: 100% !important;
	white-space: normal !important;
	overflow-wrap: anywhere;
}

/* Таблицы цен: прокручиваются внутри себя, страница — нет */
body.bvi-active table {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	overflow-x: auto;
}

body.bvi-active table td,
body.bvi-active table th {
	overflow-wrap: anywhere;
}

/* В режиме БВИ страница не должна прокручиваться по горизонтали */
body.bvi-active,
body.bvi-active .bvi-body {
	overflow-x: hidden !important;
	max-width: 100% !important;
}

/* Сетка Bootstrap не должна вылезать за экран в режиме БВИ */
body.bvi-active .container,
body.bvi-active .row,
body.bvi-active .row > [class*="col-"] {
	max-width: 100% !important;
}

body.bvi-active .row {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Слайдер шапки не должен растягивать страницу в режиме БВИ */
body.bvi-active .xs_header_slider,
body.bvi-active .xs_header_slider .slick-list {
	overflow: hidden !important;
	max-width: 100% !important;
}

/* Длинные слова не выталкивают страницу за экран в режиме БВИ */
body.bvi-active h1,
body.bvi-active h2,
body.bvi-active h3,
body.bvi-active h4,
body.bvi-active h5,
body.bvi-active h6,
body.bvi-active p,
body.bvi-active li,
body.bvi-active a {
	overflow-wrap: break-word;
	word-break: break-word;
}

.hrono-a11y-pause {
	position: absolute;
	right: 14px;
	bottom: 14px;
	z-index: 6;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.88);
	color: #0B2A33;
	font-size: 12px;
	line-height: 34px;
	text-align: center;
	cursor: pointer;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
}

.hrono-a11y-pause:hover {
	background: #FFFFFF;
}

.hrono-a11y-pause:focus-visible {
	outline: 3px solid #0B4B58;
	outline-offset: 2px;
}
