/* =================================================================
   ОСНОВНЫЕ СТИЛИ ДОСТУПНОСТИ ДЛЯ SATCOM28.RU
   СООТВЕТСТВИЕ ГОСТ Р 52872-2019
   ВЕРСИЯ С ИСПРАВЛЕНИЯМИ ДУБЛИРОВАНИЯ SKIP-LINK
   ================================================================= */

/* ПАНЕЛЬ УПРАВЛЕНИЯ ДОСТУПНОСТЬЮ */
.accessibility-toolbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: #000000 !important;
    color: #ffffff !important;
    padding: 8px 10px !important;
    z-index: 10001 !important;
    border-bottom: 3px solid #ffffff !important;
    font-family: Arial, sans-serif !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.5) !important;
    display: flex !important;
    align-items: center !important;
    min-height: 70px !important;
    height: auto !important; /* Позволяем тулбару расти */
}

.font-size-large .accessibility-toolbar {
    min-height: 80px !important;
}

.font-size-extra-large .accessibility-toolbar {
    min-height: 90px !important;
}

.accessibility-controls {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    align-items: center !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    justify-content: center !important;
    width: 100% !important;
}

.accessibility-controls span {
    font-weight: bold;
    font-size: 13px;
    margin-right: 10px;
    white-space: nowrap;
}

.accessibility-controls button {
    background: #333333 !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    padding: 6px 10px;
    cursor: pointer;
    font-size: 12px;
    min-height: 36px;
    min-width: 36px;
    font-family: Arial, sans-serif !important;
    border-radius: 0;
    transition: none;
    white-space: nowrap;
}

.accessibility-controls button:hover,
.accessibility-controls button:focus {
    background: #ffffff !important;
    color: #000000 !important;
    outline: 3px solid #ffff00 !important;
    outline-offset: 2px;
}

.accessibility-controls button:active {
    background: #ffff00 !important;
    color: #000000 !important;
}

/* КНОПКА ВЫХОДА ИЗ РЕЖИМА НА ТУЛБАРЕ */
.accessibility-exit-button {
    margin-left: auto !important;
    background: #cc0000 !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    padding: 6px 12px !important;
    font-size: 12px !important;
    font-weight: bold !important;
    white-space: nowrap !important;
}

.accessibility-exit-button:hover,
.accessibility-exit-button:focus {
    background: #ffffff !important;
    color: #cc0000 !important;
}

/* ССЫЛКА БЫСТРОГО ПЕРЕХОДА - ТОЛЬКО ОДНО ПРАВИЛО */
.skip-links {
    /* ВСТРАИВАЕМ В ТУЛБАР КАК ПЕРВУЮ КНОПКУ */
    background: #444444 !important;
    color: #ffffff !important;
    padding: 6px 10px !important;
    font-size: 11px !important;
    border: 2px solid #ffffff !important;
    border-radius: 0 !important;
    margin-right: 15px !important;
    order: -1 !important; /* СТАВИМ В НАЧАЛО */
    white-space: nowrap !important;
    text-decoration: none !important;
    font-family: Arial, sans-serif !important;
    font-weight: bold !important;
    min-height: 36px !important;
    min-width: auto !important;
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
    transition: none !important;
    
    /* УБИРАЕМ ПОЗИЦИОНИРОВАНИЕ */
    position: static !important;
    top: auto !important;
    left: auto !important;
    z-index: auto !important;
    
    /* ВСЕГДА ВИДНА */
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
}

/* СОСТОЯНИЯ HOVER И FOCUS */
.skip-links:hover,
.skip-links:focus {
    background: #ffffff !important;
    color: #000000 !important;
    outline: 3px solid #ffff00 !important;
    outline-offset: 2px !important;
    text-decoration: none !important;
}

.skip-links:active {
    background: #ffff00 !important;
    color: #000000 !important;
}

/* ОТСТУП ДЛЯ КОНТЕНТА ПРИ АКТИВНОЙ ПАНЕЛИ */
body.accessibility-toolbar-active {
    transition: padding-top 0.3s ease;
}

body.accessibility-toolbar-active .head {
    margin-top: 0 !important;
}

/* ПЕРЕКЛЮЧАТЕЛЬ ВЕРСИЙ В ОБЫЧНОМ РЕЖИМЕ */
.mtop-menu .accessibility-menu-item {
    display: inline-block !important;
    list-style-type: none !important;
    margin-right: 0 !important;
    margin-left: 15px !important;
    line-height: 47px !important;
    vertical-align: middle !important;
    height: 47px !important;
}

.mtop-menu .accessibility-menu-item .accessible-link {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 10px !important;
    padding: 4px 8px !important;
    background: rgba(240, 248, 255, 0.9) !important;
    border: 1px solid #0066cc !important;
    color: #0066cc !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    border-radius: 3px !important;
    font-weight: bold !important;
    line-height: 1.2 !important;
    vertical-align: middle !important;
    height: auto !important;
    max-height: 30px !important;
    box-sizing: border-box !important;
}

.client-type {
    width: 280px !important;
}

.client-type li {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.social-icon {
    width: 75px !important;
}

.channel-ico {
    display: none;
}

.mtop-menu .accessibility-menu-item .accessible-link:hover,
.mtop-menu .accessibility-menu-item .accessible-link:focus {
    background: #0066cc !important;
    color: #ffffff !important;
    outline: 2px solid #ffff00 !important;
    outline-offset: 1px !important;
}

/* СКРЫВАЕМ ПЕРЕКЛЮЧАТЕЛЬ ВЕРСИЙ В РЕЖИМЕ ДОСТУПНОСТИ */
.accessible-version .mtop-menu .accessibility-menu-item {
    display: none !important;
}

/* УБИРАЕМ ОТДЕЛЬНЫЙ БЛОК ПЕРЕКЛЮЧАТЕЛЯ ВЕРСИЙ В ДОСТУПНОСТИ */
.accessible-version .version-switcher-accessible {
    display: none !important;
}

/* ОСНОВНЫЕ СТИЛИ ПЕРЕКЛЮЧАТЕЛЯ ДЛЯ ОБЫЧНОЙ ВЕРСИИ */
.version-switcher-normal {
    display: inline-block;
}

.accessible-link {
    display: inline-flex;
    align-items: center;
    background: #f0f8ff;
    padding: 8px 12px;
    border: 1px solid #0066cc;
    text-decoration: none !important;
    color: #0066cc !important;
    font-weight: bold;
}

.accessible-link:hover,
.accessible-link:focus {
    background: #0066cc !important;
    color: #ffffff !important;
    outline: 3px solid #ffff00 !important;
}

/* РАЗМЕРЫ ШРИФТОВ */
.font-size-small { font-size: 14px !important; }
.font-size-small * { font-size: 14px !important; }

.font-size-normal { font-size: 16px !important; }
.font-size-normal * { font-size: 16px !important; }

.font-size-large { font-size: 20px !important; }
.font-size-large * { font-size: 20px !important; }

.font-size-extra-large { font-size: 24px !important; }
.font-size-extra-large * { font-size: 24px !important; }

/* ЦВЕТОВЫЕ СХЕМЫ */

/* Высокий контраст (черный фон, белый текст) */
.theme-high-contrast,
.theme-high-contrast * {
    background: #000000 !important;
    color: #ffffff !important;
    border-color: #ffffff !important;
}

.theme-high-contrast a,
.theme-high-contrast a * {
    color: #ffff00 !important;
    text-decoration: underline !important;
}

.theme-high-contrast a:visited,
.theme-high-contrast a:visited * {
    color: #ff00ff !important;
}

.theme-high-contrast a:hover,
.theme-high-contrast a:focus {
    background: #ffff00 !important;
    color: #000000 !important;
}

.theme-high-contrast .accessibility-toolbar {
    background: #ffffff !important;
    color: #000000 !important;
    border-color: #000000 !important;
}

.theme-high-contrast .accessibility-controls button {
    background: #000000 !important;
    color: #ffffff !important;
    border-color: #000000 !important;
}

.theme-high-contrast .accessibility-exit-button {
    background: #ffffff !important;
    color: #000000 !important;
    border-color: #000000 !important;
}

/* Черно-белая схема */
.theme-monochrome,
.theme-monochrome * {
    filter: grayscale(100%) !important;
}

/* Инверсия цветов */
.theme-inverted,
.theme-inverted * {
    filter: invert(1) hue-rotate(180deg) !important;
}

.theme-inverted .accessibility-toolbar {
    filter: invert(1) hue-rotate(180deg) !important;
}

/* ФОКУС НА ЭЛЕМЕНТАХ - КРИТИЧЕСКИ ВАЖНО ДЛЯ ГОСТ */
a:focus, 
button:focus, 
input:focus, 
select:focus, 
textarea:focus,
.channel:focus,
[tabindex]:focus {
    outline: 3px solid #ffff00 !important;
    outline-offset: 2px !important;
    background-color: #ffff00 !important;
    color: #000000 !important;
}

/* УЛУЧШЕННАЯ ЧИТАЕМОСТЬ ССЫЛОК */
.accessible-version a {
    text-decoration: underline !important;
    color: #0000ee !important; /* Контраст 8.6:1 */
}

.accessible-version a:visited {
    color: #800080 !important; /* Контраст 5.1:1 */
}

.accessible-version a:hover, 
.accessible-version a:focus {
    background-color: #ffff00 !important;
    color: #000000 !important;
    text-decoration: underline !important;
}

/* СКРЫТИЕ ДЕКОРАТИВНЫХ ЭЛЕМЕНТОВ */
.hide-images img:not([alt]),
.hide-images img[alt=""],
.hide-images .decorative {
    display: none !important;
}

.hide-images .img_main {
    display: none !important;
}

/* ОТКЛЮЧЕНИЕ АНИМАЦИЙ - ТРЕБОВАНИЕ ГОСТ */
.no-animations *,
.no-animations *::before,
.no-animations *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    animation-play-state: paused !important;
}

.no-animations .animated {
    animation: none !important;
}

/* УЛУЧШЕННЫЕ ФОРМЫ */
.accessible-version input,
.accessible-version select,
.accessible-version textarea {
    border: 2px solid #333333 !important;
    padding: 8px !important;
    font-size: 16px !important;
    min-height: 44px !important;
    font-family: Arial, sans-serif !important;
}

.accessible-version label {
    display: block !important;
    margin-bottom: 5px !important;
    font-weight: bold !important;
    font-size: 16px !important;
}

/* ТАБЛИЦЫ */
.accessible-version table {
    border-collapse: collapse !important;
    width: 100% !important;
    border: 2px solid #000000 !important;
}

.accessible-version th,
.accessible-version td {
    border: 1px solid #333333 !important;
    padding: 8px !important;
    text-align: left !important;
    vertical-align: top !important;
}

.accessible-version th {
    background-color: #f0f0f0 !important;
    font-weight: bold !important;
}

/* ЗАГОЛОВКИ - ПРАВИЛЬНАЯ ИЕРАРХИЯ */
.accessible-version h1,
.accessible-version h2,
.accessible-version h3,
.accessible-version h4,
.accessible-version h5,
.accessible-version h6 {
    margin-bottom: 0.5em !important;
    margin-top: 1em !important;
    line-height: 1.3 !important;
    font-family: Arial, sans-serif !important;
}

.accessible-version h1 {
    font-size: 2em !important;
}

.accessible-version h2 {
    font-size: 1.5em !important;
}

.accessible-version h3 {
    font-size: 1.25em !important;
}

/* СПИСКИ */
.accessible-version ul,
.accessible-version ol {
    padding-left: 2em !important;
    margin-bottom: 1em !important;
}

.accessible-version li {
    margin-bottom: 0.5em !important;
    line-height: 1.5 !important;
}

/* КАНАЛЫ ТВ - СПЕЦИФИКА SATCOM28 */
.accessible-version .channel {
    border: 2px solid #333333 !important;
    padding: 10px !important;
    margin-bottom: 10px !important;
    display: block !important;
}

.accessible-version .channel:hover,
.accessible-version .channel:focus {
    border-color: #0066cc !important;
    background-color: #f0f8ff !important;
}

/* КОНТРАСТНОСТЬ - СООТВЕТСТВИЕ ГОСТ 4.5:1 */
.accessible-version {
    background-color: #ffffff !important;
    color: #000000 !important; /* Контраст 21:1 */
    font-family: Arial, sans-serif !important;
    line-height: 1.5 !important;
}

/* ИНФОРМАЦИОННАЯ ПАНЕЛЬ */
#accessibility-info {
    background: #e6f3ff !important;
    padding: 15px !important;
    border: 2px solid #0066cc !important;
    margin-bottom: 20px !important;
    font-family: Arial, sans-serif !important;
}

#accessibility-info h2 {
    color: #0066cc !important;
    margin-top: 0 !important;
}

#accessibility-info ul {
    margin-left: 20px !important;
}

#accessibility-info li {
    margin-bottom: 5px !important;
}

/* АДАПТИВНОСТЬ */
@media (max-width: 1200px) {
    .accessibility-toolbar {
        min-height: 90px !important;
    }
    
    body.accessibility-toolbar-active {
        padding-top: 100px !important;
    }
    
    .skip-links {
        font-size: 10px !important;
        padding: 5px 8px !important;
    }
    
    .accessibility-controls {
        gap: 6px;
    }
    
    .accessibility-controls button {
        padding: 4px 8px;
        font-size: 11px;
        min-height: 32px;
        min-width: 32px;
    }
    
    .accessibility-controls span {
        font-size: 12px;
        margin-right: 8px;
    }
    
    .mtop-menu .accessibility-menu-item .accessible-link {
        font-size: 9px !important;
        padding: 3px 6px !important;
        max-height: 25px !important;
    }
}

@media (max-width: 768px) {
    .accessibility-toolbar {
        padding: 6px 8px !important;
        min-height: 130px !important;
    }
    
    .accessibility-controls {
        flex-direction: column !important;
        gap: 4px !important;
    }
    
    .accessibility-controls button {
        width: 100% !important;
        max-width: 120px !important;
        font-size: 11px !important;
        padding: 6px 8px !important;
    }
    
    body.accessibility-toolbar-active {
        padding-top: 140px !important;
    }
    
    .accessibility-controls span {
        margin-right: 0;
        margin-bottom: 5px;
        font-size: 12px;
    }
    
    .skip-links {
        width: 100% !important;
        max-width: 120px !important;
        margin-right: 0 !important;
        margin-bottom: 4px !important;
        justify-content: center !important;
    }
    
    /* СКРЫВАЕМ ПЕРЕКЛЮЧАТЕЛЬ НА МОБИЛЬНЫХ */
    .mtop-menu .accessibility-menu-item {
        display: none !important;
    }
}

@media (max-width: 480px) {
    .accessibility-toolbar {
        padding: 5px !important;
        min-height: 160px !important;
    }
    
    .accessibility-controls button {
        max-width: 100px !important;
        font-size: 10px !important;
        padding: 4px 6px !important;
        min-height: 28px !important;
        min-width: 28px !important;
    }
    
    body.accessibility-toolbar-active {
        padding-top: 170px !important;
    }
    
    .skip-links {
        max-width: 100px !important;
    }
}

/* ПЕЧАТЬ */
@media print {
    .accessibility-toolbar,
    .version-switcher-accessible,
    .version-switcher-normal,
    .skip-links,
    .accessibility-menu-block,
    .mtop-menu .accessibility-menu-item {
        display: none !important;
    }
    
    body.accessibility-toolbar-active {
        padding-top: 0 !important;
    }
}