/* Доработки цифровой доступности (WCAG 2.1/2.2). Подключается после app.css */

/* 2.4.1 — ссылка «Перейти к основному содержанию», видна только при фокусе с клавиатуры */
.skip-link {
    position: absolute;
    top: 0;
    left: -9999px;
    z-index: 100000;
}

.skip-link:focus {
    left: 16px;
    top: 16px;
    padding: 12px 20px;
    background: #ffffff;
    color: #000000;
    border: 3px solid #1a4b8c;
    font-size: 16px;
    font-weight: 500;
    text-decoration: underline;
}

#main-content:focus {
    outline: none;
}

/* 3.3.1, 4.1.3 — сообщения об ошибках в формах */
.a11y-error-summary:not(:empty) {
    margin-bottom: 20px;
    padding: 12px 16px;
    border-left: 4px solid #b00020;
    background: #fdecee;
    color: #8a0019;
    font-weight: 500;
}

.a11y-error {
    margin-top: 6px;
    color: #b00020;
    font-size: 14px;
}

.form-control[aria-invalid="true"] {
    border-color: #b00020;
    box-shadow: 0 0 0 1px #b00020;
}

/* 2.4.7 — заметный индикатор фокуса клавиатуры на любом фоне, в том числе поверх видео:
   тёмно-синяя рамка с белым ореолом */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
    outline: 3px solid #0a3a82 !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 7px #ffffff !important;
}

/* В слайдерах края обрезаются (overflow: hidden), поэтому рамка рисуется внутри элемента */
.slick-slide a:focus-visible,
.slick-slide button:focus-visible {
    outline-offset: -4px !important;
    box-shadow: none !important;
}

/* 1.4.3 — контраст текста */
.breadcrumb-item.active {
    color: #495057;
}

.newspage .card-body-date,
.regions-in .card-body-date,
.objects-in .card-body-date,
.figure-caption,
.article-info {
    color: #5f6670;
}

.header .navbar-top .dropdown-toggle.btn-secondary {
    background: #5a6268;
    border-color: #5a6268;
}

.footer .footer-bottom p {
    color: #9ea4ac;
}

a.btn-four[href*="2gis.kg"] {
    color: #0a58ca;
}

.datepicker-days tr:first-child th {
    color: #0056b3;
}

.datepicker-days tr th.dow {
    color: #5f6670;
}

.bootstrap-datetimepicker-widget td.day.old,
.bootstrap-datetimepicker-widget td.day.new {
    color: #6b6b6b;
}

/* Лента пресс-службы и «Городские истории»: розовый #e91e63 давал 4.3:1, нужно 4.5:1 */
body .press-timeline > li .press-timeline-time span:first-child,
body .press-timeline > li .press-timeline-time span:last-child,
body .press-timeline > li .press-timeline-label h5 {
    color: #c2185b;
}

/* Заголовок, который читает только программа экранного доступа (например, h1 на главной) */
.a11y-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* 2.4.11 — кнопка паузы видео не должна перекрывать закреплённую шапку при прокрутке */
.videoheader .pause_video_block {
    z-index: 2;
    pointer-events: none;
}

.videoheader .pause_video_block .pause_video {
    position: relative;
    z-index: 1;
    pointer-events: auto;
}
