/* =========================================
ACCESSIBILITY WIDGET
========================================= */

.accessibility-widget {
    position: fixed;
    top: 15%;
    right: 0;
    z-index: 999999;
    transform: translateY(-50%);
    direction: rtl;
}

/* Русская версия */
html[lang="ru"] .accessibility-widget {
direction: ltr;
}

/* Главная кнопка */

.accessibility-toggle {
width: 58px;
height: 58px;
border: 0;
border-radius: 12px 0 0 12px;
background: #005ea8;
color: #ffffff;
cursor: pointer;
font-size: 30px;
box-shadow: 0 4px 15px rgba(0,0,0,.25);
transition: all .25s ease;
}

.accessibility-toggle,
.accessibility-toggle:focus,
.accessibility-toggle:active {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

.accessibility-icon {
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

.accessibility-toggle:hover {
width: 65px;
background: #004a85;
}

.accessibility-icon {
display: block;
line-height: 1;
}



/* Панель */

.accessibility-panel {
position: absolute;
top: 0;
right: 0;
width: 310px;
max-width: calc(100vw - 20px);
background: #ffffff;
border-radius: 14px 0 0 14px;
box-shadow: 0 8px 35px rgba(0,0,0,.30);

opacity: 0;
visibility: hidden;
transform: translateX(110%);
transition: all .3s ease;
overflow: hidden;

}

/* Открытая панель */

.accessibility-widget.active .accessibility-panel {
opacity: 1;
visibility: visible;
transform: translateX(0);
}

.accessibility-widget.active .accessibility-toggle {
opacity: 0;
pointer-events: none;
}

/* Header */

.accessibility-header {
display: flex;
align-items: center;
justify-content: space-between;
background: #005ea8;
color: #ffffff;
padding: 15px 18px;
}

.accessibility-title {
font-size: 20px;
font-weight: bold;
}

.accessibility-title span {
margin-left: 8px;
}

.accessibility-close {
width: 34px;
height: 34px;
border: 0;
border-radius: 50%;
background: rgba(255,255,255,.18);
color: #ffffff;
font-size: 26px;
line-height: 30px;
cursor: pointer;
}

/* Content */

.accessibility-content {
padding: 15px;
}

/* Кнопки */

.accessibility-action {
width: 100%;
min-height: 52px;
display: flex;
align-items: center;
gap: 14px;

margin-bottom: 9px;
padding: 10px 14px;

background: #f5f5f5;
border: 1px solid #e2e2e2;
border-radius: 8px;

color: #222222;
font-size: 16px;
text-align: right;

cursor: pointer;
transition: all .2s ease;

}

.accessibility-action:hover {
background: #e9f3fb;
border-color: #005ea8;
}

.accessibility-action.active {
background: #dceefa;
border-color: #005ea8;
}

.accessibility-action-icon {
min-width: 34px;
height: 34px;

display: flex;
align-items: center;
justify-content: center;

background: #005ea8;
color: #ffffff;

border-radius: 7px;
font-size: 15px;
font-weight: bold;

}

/* Reset */

.accessibility-reset {
width: 100%;
margin-top: 8px;
padding: 13px;

```
border: 0;
border-radius: 8px;

background: #333333;
color: #ffffff;

font-size: 16px;
cursor: pointer;

}

.accessibility-reset span {
margin-left: 6px;
}

/* =========================================
ACCESSIBILITY FUNCTIONS
========================================= */

/* Высокая контрастность */

body.accessibility-contrast {
background: #000000 !important;
color: #ffffff !important;
}

body.accessibility-contrast * {
background-color: #000000 !important;
color: #ffffff !important;
border-color: #ffffff !important;
}

body.accessibility-contrast img,
body.accessibility-contrast video {
filter: none !important;
}

/* Черно-белый режим */

html.accessibility-grayscale {
filter: grayscale(100%);
}

/* Подчеркивание ссылок */

body.accessibility-links a {
text-decoration: underline !important;
font-weight: bold !important;
}

/* Читаемый шрифт */

body.accessibility-readable-font,
body.accessibility-readable-font * {
font-family: Arial, sans-serif !important;
}

/* Остановка анимации */

body.accessibility-stop-animation *,
body.accessibility-stop-animation *:before,
body.accessibility-stop-animation *:after {
animation: none !important;
transition: none !important;
}

/* Мобильная версия */

@media (max-width: 600px) {

.accessibility-widget {
    top: auto;
    bottom: 20px;
    transform: none;
}

.accessibility-toggle {
    width: 54px;
    height: 54px;
    font-size: 27px;
}

.accessibility-panel {
    position: fixed;
    top: auto;
    bottom: 10px;
    right: 10px;

    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);

    border-radius: 14px;

    overflow-y: auto;

    transform: translateX(110%);
}

.accessibility-widget.active .accessibility-panel {
    transform: translateX(0);
}

}
