/* =========================================================
   БЛОК 1: БАЗОВЫЕ НАСТРОЙКИ (СБРОС И ГЛОБАЛЬНЫЕ СТИЛИ)
   ========================================================= */

/* Универсальный сброс отступов и правильная работа с box-sizing */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    height: 100%;
    width: 100%;
    overflow-x: hidden;
    font-family: Arial, sans-serif;
    background-color: #fff;
    color: #333;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;           /* Ключевое: минимальная высота = высоте экрана */
    margin: 0;
    padding: 0;
}


/* =========================================================
   БЛОК 2: ШАПКА (header.php) — ВЕРХНЯЯ ЧАСТЬ С ДАТОЙ, ЛОГО, НАЗВАНИЕМ
   ========================================================= */

.header {
    display: flex;            /* Включаем флекс-контейнер: блоки выстроятся в строку */
    align-items: center;       /* Центрируем содержимое по вертикали (чтобы дата, лого и соцсети были на одной линии) */
    background-color: #000770; /* Цвет фона шапки (тёмно-синий) */
    color: white;              /* Цвет текста по умолчанию */
    padding: 10px 20px;        /* Внутренние отступы шапки */
    width: 100%;               /* Шапка на всю ширину экрана */
    box-sizing: border-box;   /* Чтобы padding не увеличивал итоговую ширину */
    gap: 24px;                 /* Расстояние МЕЖДУ тремя основными блоками: левый, центр, правый */
    flex-shrink: 0;            /* Шапка не сжимается */
}

/* --- ЛЕВЫЙ БЛОК: ДАТА (15%) — теперь компактнее и по центру --- */
.header-left {
    flex: 0 0 15%;            /* Ровно 15%, не сжимается и не растёт */
    min-width: 0;
    display: flex;
    justify-content: center;  /* ← центрируем содержимое (дату) внутри 15% */
    align-items: center;      /* Вертикально по центру */
}

.date-display {
    text-align: center;       /* На всякий случай дублируем выравнивание текста */
    width: 100%;              /* Чтобы justify-content сработал корректно */
}

#current-day {
    font-weight: bold;        /* День недели жирным */
    font-size: clamp(14px, 1.2vw, 18px); /* Адаптивный размер шрифта: от 14px до 18px */
}

#current-date {
    font-size: clamp(12px, 1vw, 16px);   /* Чуть меньше основного текста */
    opacity: 0.9;              /* Лёгкая прозрачность, чтобы не спорил с основным текстом */
    margin-top: 4px;           /* Небольшой отступ сверху */
}

/* --- ЦЕНТРАЛЬНЫЙ БЛОК: ЛОГОТИП + НАЗВАНИЕ (остаток ширины) --- */
.header-center {
    flex: 1;                  /* Забирает ВСЁ оставшееся место после 15%+15% */
    display: flex;            /* Внутри центра тоже флекс: чтобы разместить лого и название в строке */
    align-items: center;      /* Выравнивание по вертикали */
    gap: 24px;                /* Расстояние между логотипом и названием школы */
    min-width: 0;             /* Разрешает блоку сжиматься при узких экранах */
}

/* Блок с логотипом */
.logo-link {
    flex-shrink: 0;           /* Запрещаем логотипу сжиматься, если места мало */
}

.logo-link img {
    max-height: 110px;
    width: auto;
    object-fit: contain;
    display: block;
}

/* Блок с названием школы */
.school-name {
    margin: 0 auto;           /* Ключевое правило: центрирует блок названия ВНУТРИ .header-center */
    text-align: center;       /* Текст внутри блока тоже по центру */
    line-height: 1.3;         /* Межстрочный интервал для читаемости */
    width: 100%;              /* На всю доступную ширину внутри .header-center */
    max-width: 800px;         /* Ограничиваем максимальную ширину, чтобы на больших экранах текст не был слишком широким */
    box-sizing: border-box;   /* Учитываем padding в ширине */
}

/* Вспомогательные классы для строк названия (оставляем как у тебя) */
.box {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    width: 100%;
}

.box1, .box3 {
    font-size: clamp(13px, 1.1vw, 15px);
}

.box2 {
    font-size: clamp(15px, 1.4vw, 18px);
    font-weight: bold;
}

/* --- ПРАВЫЙ БЛОК: СОЦСЕТИ (15%) --- */
.header-right {
    flex: 0 0 15%;            /* Ровно 15% ширины */
    min-width: 0;             /* Разрешаем сжиматься при очень узких экранах */
    display: flex;
    justify-content: flex-end; /* Прижимаем содержимое (соцсети) к правому краю блока */
    align-items: center;
}

.social-links {
    display: flex;
    gap: 12px;                /* Отступ между иконками соцсетей */
}

.social-link img {
    width: 32px;
    height: 32px;
    vertical-align: middle;
    display: block;
}

/* --- АДАПТИВНОСТЬ (МОБИЛЬНЫЕ УСТРОЙСТВА) --- */
@media (max-width: 900px) {
    .header {
        flex-direction: column;    /* На мобильных шапка становится вертикальной */
        align-items: stretch;      /* Растягиваем все блоки по ширине */
        text-align: center;        /* По умолчанию всё по центру */
        padding: 15px 20px;
        gap: 16px;                 /* Уменьшаем отступы между секциями */
    }

    .header-left,
    .header-center,
    .header-right {
        width: 100%;               /* Каждый блок занимает всю ширину */
        flex: none;                /* Отключаем flex-распределение ширины */
        justify-content: center;   /* Центрируем содержимое внутри каждого блока */
    }

    .header-center {
        display: flex;
        flex-direction: column-reverse; /* На мобильном сначала название, потом лого */
        align-items: center;
        gap: 12px;
    }

    .school-name {
        margin: 0;                 /* На мобильном авто-марджин не нужен */
        max-width: 100%;           /* Название на всю ширину */
    }

    .logo-link img {
        max-height: 80px;          /* Уменьшаем лого на мобильных */
    }

    .header-right {
        align-items: center;       /* Центрируем соцсети */
        justify-content: center;
    }
}


/* =========================================================
   БЛОК 3: МЕНЮ С ВЫПАДАЮЩИМИ СПИСКАМИ
   ========================================================= */

/* Контейнер меню: центрирование */
.menu-wrapper {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-top: 12px;
    position: relative;          /* важно */
    z-index: 200;                /* выше, чем у контактов */
}

.main-nav-wrapper {
    position: relative;
    width: fit-content;
    box-sizing: border-box;
    background-color: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(4px);  /* лёгкое размытие фона */
    border-radius: 8px;          /* аккуратные уголки */
}

/* Убираем подчёркивание у всех ссылок в меню */
.main-nav-wrapper .nav-link,
.submenu-link {
    text-decoration: none !important;
}

/* Обнуляем отступы у списков */
.main-nav-wrapper ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Главное меню: пункты в строку */
.main-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.nav-item {
    position: relative;
    flex: 0 1 auto;
}

/* Ссылки в главном меню: прозрачный фон, базовый стиль */
.nav-link {
    display: block;
    padding: 12px 16px;
    color: #1e40af;
    font-size: clamp(13px, 1.1vw, 15px);
    white-space: nowrap;
    background-color: transparent;
    transition: color 0.2s, font-size 0.2s, font-weight 0.2s;
}

/* --- АКТИВНЫЙ ПУНКТ: цвет + увеличенный шрифт + жирность --- */
.nav-item:hover > .nav-link,
.nav-item.active > .nav-link {
    color: #3b82f6;              /* голубой цвет текста */
    font-size: clamp(14px, 1.2vw, 16px); /* чуть крупнее */
    font-weight: 600;            /* делаем жирнее */
    background-color: transparent !important; /* точно убираем любой фон */
}

/* Выпадающее подменю */
.submenu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    background-color: #f5f5f5;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 6px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.25s, visibility 0.25s, transform 0.25s;
    z-index: 100;
    margin-top: 4px;
}

/* Показываем подменю при наведении */
.nav-item:hover > .submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Пункты подменю */
.submenu-item {
    width: 100%;
}

.submenu-link {
    display: block;
    padding: 8px 16px;
    color: #333333;
    text-decoration: none !important; /* Убираем подчеркивание в подменю */
    border-bottom: 1px solid #e0e0e0;
    white-space: nowrap;
}

.submenu-link:hover {
    background-color: #eefaf5;
    color: #0056b3;
}

.submenu-item:last-child .submenu-link {
    border-bottom: none;
}

/* --- АДАПТИВНОСТЬ: МОБИЛЬНЫЕ --- */
@media (max-width: 900px) {
    .main-nav-wrapper {
        position: static;
        left: auto;
        transform: none;
        width: 100%;
        text-align: center;
    }
    .main-nav {
        flex-direction: column;
        align-items: stretch;
    }
    .nav-item {
        width: 100%;
    }
    .submenu {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        background-color: transparent;
        padding: 4px 0;
        margin-top: 4px;
        border-left: 3px solid #3b82f6;
    }
    .submenu-link {
        padding-left: 24px;
        color: #555;
    }
    .submenu-link:hover {
        background-color: transparent;
        color: #000;
    }
    .main-nav-wrapper .nav-link {
        pointer-events: none;
        cursor: default;
    }
}


/* =========================================================
   БЛОК 4: КОНТАКТЫ — ЯДЕРНЫЙ ВАРИАНТ (MAX PRIORITY)
   ========================================================= */

/* Блок с рамкой — родитель для абсолютного позиционирования */
.contacts-block-simple {
    position: relative;
    border: 3px solid #000770;
    border-radius: 8px;
    background-color: #ffffff;
    margin: 30px 0;              /* Убираем max-width, только вертикальные отступы */
    padding: 20px 16px;
    box-sizing: border-box;
    overflow: visible;
    width: 100%;                 /* Растягиваем на всю ширину родителя */
}

/* Ярлык — теперь ВНУТРИ .contacts-block-simple */
h3.contacts-label {
    margin: 0;
    padding: 0;
    position: absolute;
    top: -18px;                  /* Подбираем, чтобы перекрыть рамку и отступ */
    left: 12px;                  /* Небольшой отступ слева, чтобы не прилипал к краю */
    background-color: #ffffff;   /* Белый фон перекрывает синюю рамку */
    color: #333;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 6px 12px;
    white-space: nowrap;
    z-index: 10;                 /* Поверх рамки */
    display: block;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* --- ТАБЛИЦА КОНТАКТОВ --- */
.contacts-table-simple {
    width: 100%;
    border-collapse: collapse;   /* Убираем двойные границы */
    font-size: 14px;
}

/* Заголовки таблицы */
.contacts-table-simple thead th {
    text-align: left;
    padding: 10px 8px;
    background-color: #f0f4f8;
    color: #000770;
    font-weight: 600;
    font-size: 13px;
    border-bottom: 2px solid #000770;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Ячейки таблицы */
.contacts-table-simple tbody td {
    padding: 10px 8px;
    border-bottom: 1px solid #e0e0e0;  /* ГРАНИЦА МЕЖДУ СТРОКАМИ */
    vertical-align: middle;
    font-size: 13px;
    line-height: 1.4;
}

/* Убираем границу у последней строки */
.contacts-table-simple tbody tr:last-child td {
    border-bottom: none;
}

/* Стили для колонок */
.col-role {
    font-weight: 600;
    color: #333;
    width: 25%;
}

.col-name {
    color: #333;
    width: 25%;
}

.col-room {
    color: #555;
    width: 12%;
    text-align: center;
}

.col-phone {
    color: #d35400;
    width: 18%;
}

.col-phone a {
    color: #d35400;
    text-decoration: none;
    transition: color 0.2s;
}

.col-phone a:hover {
    color: #a04000;
    text-decoration: underline;
}

.col-time {
    color: #555;
    width: 20%;
    font-size: 12px;
}

/* Подсветка при наведении на строку */
.contacts-table-simple tbody tr:hover td {
    background-color: #f8faff;
    transition: background-color 0.2s;
}

/* --- АДАПТИВНОСТЬ: ПЛАНШЕТЫ (до 992px) --- */
@media (max-width: 992px) {
    .contacts-block-simple {
        margin: 20px 0;
        padding: 15px 10px;
    }

    h3.contacts-label {
        font-size: 14px;
        top: -16px;
        left: 10px;
        padding: 4px 10px;
    }

    .contacts-table-simple {
        font-size: 12px;
    }

    .contacts-table-simple thead th,
    .contacts-table-simple tbody td {
        padding: 8px 6px;
        font-size: 12px;
    }

    .col-role {
        width: 22%;
    }

    .col-name {
        width: 22%;
    }

    .col-room {
        width: 10%;
    }

    .col-phone {
        width: 20%;
    }

    .col-time {
        width: 26%;
        font-size: 11px;
    }
}

/* --- АДАПТИВНОСТЬ: МОБИЛЬНЫЕ (до 768px) --- */
@media (max-width: 768px) {
    .contacts-block-simple {
        margin: 15px 0;
        padding: 15px 8px;
        border-width: 2px;
    }

    h3.contacts-label {
        font-size: 12px;
        top: -14px;
        left: 8px;
        padding: 3px 8px;
        white-space: normal;      /* Разрешаем перенос на мобильных */
    }

    /* На мобильных таблица становится блочной */
    .contacts-table-simple {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .contacts-table-simple thead,
    .contacts-table-simple tbody,
    .contacts-table-simple tr,
    .contacts-table-simple th,
    .contacts-table-simple td {
        display: block;
    }

    .contacts-table-simple thead {
        display: none;           /* Скрываем заголовки на мобильных */
    }

    .contacts-table-simple tbody tr {
        border-bottom: 1px solid #e0e0e0;
        padding: 10px 0;
        margin-bottom: 5px;
    }

    .contacts-table-simple tbody tr:last-child {
        border-bottom: none;
    }

    .contacts-table-simple tbody td {
        border: none;
        padding: 4px 8px;
        position: relative;
        text-align: left;
        font-size: 12px;
        display: flex;
        align-items: baseline;
        gap: 8px;
    }

    /* Добавляем псевдо-метки для мобильных */
    .col-role::before {
        content: "Должность: ";
        font-weight: 600;
        color: #000770;
        min-width: 100px;
        flex-shrink: 0;
    }

    .col-name::before {
        content: "ФИО: ";
        font-weight: 600;
        color: #000770;
        min-width: 100px;
        flex-shrink: 0;
    }

    .col-room::before {
        content: "Кабинет: ";
        font-weight: 600;
        color: #000770;
        min-width: 100px;
        flex-shrink: 0;
    }

    .col-phone::before {
        content: "Телефон: ";
        font-weight: 600;
        color: #000770;
        min-width: 100px;
        flex-shrink: 0;
    }

    .col-time::before {
        content: "Время приёма: ";
        font-weight: 600;
        color: #000770;
        min-width: 100px;
        flex-shrink: 0;
    }

    .col-time {
        border-bottom: none;
    }

    .contacts-table-simple tbody tr:hover td {
        background-color: transparent;
    }
}


/* =========================================================
   БЛОК 5: ПОДВАЛ (FOOTER) — ПРИЛЕПЛЕН К НИЗУ, НЕ ПЕРЕКРЫВАЕТ КОНТЕНТ
   ========================================================= */

	.site-footer {
		flex-shrink: 0;              /* КЛЮЧЕВОЙ МОМЕНТ: футер не сжимается */
		background: none;
		border-top: none;
		font-size: 13px;
		color: #333;
		width: 100%;
		box-sizing: border-box;
		margin: 0;
		padding: 10px 0;
	}

	.site-footer__container {
		display: flex;
		align-items: stretch;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 0;
		gap: 0;
	}

	/* --- ЛЕВАЯ КОЛОНКА (60%) --- */
	.site-footer__left {
		flex: 0 0 60%;
		max-width: 60%;
		padding: 8px 15px 8px 20px;
		box-sizing: border-box;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		border-right: none;
		min-height: 100px;
	}

	/* Контейнер контактов */
	.footer-contacts {
		width: 100%;
		display: flex;
		flex-direction: column;
		gap: 4px;
		padding: 0;
	}

	/* Каждая строка контакта */
	.contact-line {
		display: flex;
		align-items: baseline;
		gap: 6px;                    /* Небольшое расстояние между элементами */
		font-size: 12px;
		line-height: 1.3;
		flex-wrap: wrap;
	}

	/* Метка (должность) - БЕЗ FIXED WIDTH */
	.contact-label {
		font-weight: 600;
		color: #333;
		flex-shrink: 0;
		font-size: 12px;
		white-space: nowrap;
	}

	/* Адрес (ссылка на карту) */
	.contact-address {
		color: #0066cc;
		text-decoration: none;
		border-bottom: 1px dotted #0066cc;
		transition: border-color 0.2s;
		font-size: 12px;
	}

	.contact-address:hover {
		border-bottom: 1px solid #0066cc;
	}

	/* Телефон */
	.contact-phone {
		color: #d35400;
		font-weight: bold;
		white-space: nowrap;
		font-size: 12px;
	}

	/* --- ПРАВАЯ КОЛОНКА (40%) --- */
	.site-footer__right {
		flex: 0 0 40%;
		max-width: 40%;
		padding: 8px 0 8px 15px;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 6px;
		text-align: center;
		min-height: 100px;
	}

	.footer-copyright {
		font-size: 12px;
		color: #333;
		width: 100%;
	}

	.footer-updated {
		font-size: 12px;
		color: #555;
		width: 100%;
	}

	.footer-updated strong {
		color: #000770;
		font-size: 13px;
	}

	.footer-counters {
		font-size: 12px;
		color: #555;
		width: 100%;
	}

	.footer-counters div {
		margin: 1px 0;
	}

	.footer-counters b {
		color: #000770;
		font-size: 13px;
	}

/* --- АДАПТИВНОСТЬ: ПЛАНШЕТЫ (до 992px) --- */
@media (max-width: 992px) {
    .site-footer__container {
        flex-direction: column;
        padding: 0 15px;
    }

    .site-footer__left {
        flex: none;
        max-width: 100%;
        width: 100%;
        padding: 10px 0;
        border-right: none;
        border-bottom: 1px solid #e0e0e0;
        justify-content: center;
        min-height: auto;
    }

    .footer-contacts {
        gap: 6px;
    }

    .contact-line {
        justify-content: center;
        text-align: center;
        font-size: 11px;
        gap: 4px;
    }

    .contact-label {
        font-size: 11px;
        width: 100%;
        text-align: center;
    }

    .site-footer__right {
        flex: none;
        max-width: 100%;
        width: 100%;
        padding: 10px 0;
        min-height: auto;
        gap: 8px;
    }

    .footer-copyright,
    .footer-updated,
    .footer-counters {
        font-size: 11px;
    }
}

/* --- АДАПТИВНОСТЬ: МОБИЛЬНЫЕ (до 768px) --- */
@media (max-width: 768px) {
    .site-footer {
        padding: 8px 0;
    }

    .site-footer__container {
        padding: 0 10px;
    }

    .site-footer__left {
        padding: 8px 0;
    }

    .contact-line {
        flex-direction: column;
        align-items: center;
        gap: 2px;
        font-size: 10px;
        padding: 4px 0;
        border-bottom: 1px solid #f0f0f0;
    }

    .contact-line:last-child {
        border-bottom: none;
    }

    .contact-label {
        font-size: 10px;
        font-weight: 700;
        color: #000770;
        width: 100%;
        text-align: center;
    }

    .contact-address {
        font-size: 10px;
    }

    .contact-phone {
        font-size: 11px;
    }

    .site-footer__right {
        padding: 8px 0;
        gap: 6px;
    }

    .footer-copyright,
    .footer-updated,
    .footer-counters {
        font-size: 10px;
    }

    .footer-updated strong {
        font-size: 11px;
    }

    .footer-counters b {
        font-size: 12px;
    }
}


/* =========================================================
   БЛОК 6: ОСНОВНОЕ ПОЛЕ САЙТА (ТРЁХКОЛОНОЧНАЯ СЕТКА)
   ========================================================= */

	.page-content {
		display: flex;
		flex-direction: row;
		width: 100%;
		box-sizing: border-box;
		position: relative;
		flex: 1 0 auto;              /* КЛЮЧЕВОЙ МОМЕНТ: контент растягивается, занимает всё свободное место */
		min-height: 0;               /* Важно для вложенных скроллов в колонках */
	}

	/* Левая колонка: 15%, светло‑бежевый фон */
	.col-left {
		flex: 0 0 15%;
		box-sizing: border-box;
		padding: 20px;
		background-color: none;          /* тёплый светлый оттенок */
		border-right: none;    /* тонкая линия, чтобы отделить от центра */
		color: #333;
	}

	/* Центральная колонка: всё оставшееся место, белый фон */
	.col-center {
		flex: 1;
		box-sizing: border-box;
		padding: 20px;
		background-color: #ffffff;
		color: #333;
		min-width: 0;               /* Важно: разрешает сжиматься */
		overflow: hidden;           /* Предотвращает вылезание содержимого */	
	}

	/* Правая колонка: 15%, светло‑голубой фон (в тон шапке) */
	.col-right {
		flex: 0 0 15%;
		box-sizing: border-box;
		padding: 20px;
		background-color: none;          /* мягкий голубой, сочетается с #000770 */
		border-left: none;     /* тонкая линия, чтобы отделить от центра */
		color: #333;
	}

	/* Адаптивность: на мобильных — в одну колонку друг под другом */
	@media (max-width: 900px) {
		.page-content {
			flex-direction: column;
		}

		.col-left,
		.col-center,
		.col-right {
			flex: none;
			width: 100%;
			padding: 15px;
			border: none;                   /* убираем боковые линии на мобильном */
			background-color: #ffffff;      /* на мобильном все колонки белые */
		}
	}

/* =========================================================
   БЛОК 7: СТИЛЯ ДЛЯ ТЕКСТОВ
   ========================================================= */
	/*СТИЛИ ДЛЯ ПРИВЕТСТВЕННОГО СЛОВА НА ГЛАВНОЙ СТРАНИЦЕ*/

		.about-lyceum {
		  /*max-width: 800px;*/
		  margin: 0 auto;
		  padding: 40px 20px;
		}

		.about-lyceum h2 {
		  font-size: 1.8rem;
		  line-height: 1.2;
		  margin-bottom: 24px;
		  text-align: center;
		}

		.about-lyceum p {
		  font-size: 1rem;
		  line-height: 1.6;
		  color: #333;
		  margin-bottom: 16px;
		  text-align: justify;           /* Выравнивание по ширине */
		  text-indent: 1.5em;            /* Отступ первой строки (красная строка) */
		}

		@media (max-width: 600px) {
		  .about-lyceum {
			padding: 20px 16px;
		  }
		  .about-lyceum h2 {
			font-size: 1.5rem;
		  }
	}
	
	/* =========================================================
   БЛОК "УЧРЕДИТЕЛИ И ОРГАНЫ УПРАВЛЕНИЯ" (блок внутри блока)
   ========================================================= */

.contacts-block-inner {
    padding: 10px 0 4px 0;
}

/* --- ОРГАНИЗАЦИЯ --- */
.org-block {
    margin-bottom: 16px;
}

.org-block:last-child {
    margin-bottom: 0;
}

.org-title {
    font-size: 15px;
    font-weight: 700;
    color: #000770;
    margin: 0 0 10px 0;
    padding-bottom: 6px;
    border-bottom: 2px solid #eef6fc;
}

.org-content p {
    margin: 4px 0;
    font-size: 13px;
    line-height: 1.6;
    color: #333;
}

.org-label {
    font-weight: 600;
    color: #000770;
    display: inline-block;
    min-width: 140px;
}

.org-value {
    color: #333;
}

.org-link {
    color: #0066cc;
    text-decoration: none;
    transition: color 0.2s, text-decoration 0.2s;
}

.org-link:hover {
    color: #003d80;
    text-decoration: underline;
}

/* --- РАЗДЕЛИТЕЛЬ --- */
.org-divider {
    border: 0;
    border-top: 1px solid #e0e8f0;
    margin: 16px 0;
}

/* --- АДАПТИВНОСТЬ --- */
@media (max-width: 992px) {
    .org-title {
        font-size: 14px;
    }
    
    .org-content p {
        font-size: 12px;
    }
    
    .org-label {
        min-width: 120px;
        font-size: 12px;
    }
}

@media (max-width: 768px) {
    .org-content p {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }
    
    .org-label {
        min-width: auto;
        font-weight: 700;
    }
    
    .org-divider {
        margin: 12px 0;
    }
}

/* =========================================================
   ДОКУМЕНТЫ С ЭЦП (информация при наведении)
   ========================================================= */

	.document-card {
		background: #f8faff;
		border: 1px solid #e0e8f0;
		border-radius: 8px;
		padding: 16px;
		margin-bottom: 12px;
		transition: box-shadow 0.2s;
	}

	.document-card:hover {
		box-shadow: 0 4px 12px rgba(0,0,0,0.08);
	}

	.document-info {
		display: flex;
		align-items: center;
		gap: 12px;
		flex-wrap: wrap;
	}

	.document-link {
		display: flex;
		align-items: center;
		gap: 8px;
		text-decoration: none;
		color: #0066cc;
		font-weight: 500;
		flex: 1;
		min-width: 200px;
	}

	.document-link:hover {
		color: #003d80;
		text-decoration: underline;
	}

	.document-icon {
		font-size: 20px;
		flex-shrink: 0;
	}

	.document-title {
		font-size: 14px;
		line-height: 1.4;
	}

	.document-sign {
		display: flex;
		align-items: center;
		gap: 6px;
		flex-shrink: 0;
	}

	.sign-icon {
		width: 32px;
		height: 32px;
		cursor: help;
		display: block;
		transition: transform 0.2s;
	}

	.sign-icon:hover {
		transform: scale(1.5);
	}

	.sign-badge {
		font-size: 10px;
		background: #0056b3;
		color: #fff;
		padding: 2px 10px;
		border-radius: 12px;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.5px;
	}

	.sign-icon-small {
		width: 32px;
		height: 32px;
		cursor: help;
		display: inline-block;
		vertical-align: middle;
		transition: transform 0.2s;
	}

	.sign-icon-small:hover {
		transform: scale(1.2);
	}

	/* --- КОМПАКТНЫЙ ВАРИАНТ --- */
	.document-item {
		padding: 8px 0;
		border-bottom: 1px solid #f0f4f8;
	}

	.document-item:last-child {
		border-bottom: none;
	}

	.doc-link {
		display: flex;
		align-items: center;
		gap: 10px;
		text-decoration: none;
		color: #0066cc;
		font-size: 14px;
	}

	.doc-link:hover {
		color: #003d80;
		text-decoration: underline;
	}

	.doc-name {
		flex: 1;
	}
	
/* =========================================================
	ДОПОЛНИТЕЛЬНЫЕ СТИЛИ ДЛЯ ДОКУМЕНТОВ (ГОДА И КНОПКА)
========================================================= */

	.doc-year-group {
		margin-bottom: 12px;
	}

	.doc-year-title {
		font-size: 15px;
		font-weight: 700;
		color: #000770;
		margin: 0 0 6px 0;
		padding-bottom: 4px;
		border-bottom: 2px solid #eef6fc;
	}

	/* --- КНОПКА "ПОКАЗАТЬ БОЛЬШЕ" --- */
	.doc-show-more {
		text-align: center;
		margin-top: 12px;
	}

	.doc-toggle-btn {
		background: #000770;
		color: #fff;
		border: none;
		padding: 8px 24px;
		border-radius: 4px;
		font-size: 13px;
		font-weight: 600;
		cursor: pointer;
		transition: background 0.2s;
	}

	.doc-toggle-btn:hover {
		background: #0a0a9a;
	}

	/* --- АДАПТИВНОСТЬ --- */
	@media (max-width: 768px) {
		.doc-year-title {
			font-size: 14px;
		}
		
		.doc-toggle-btn {
			padding: 6px 16px;
			font-size: 12px;
		}
	}
/* =========================================================
   ССЫЛКИ В ТЕКСТЕ (БЕЗ ПОДЧЁРКИВАНИЯ, С ЦВЕТОВЫМ ВЫДЕЛЕНИЕМ)
========================================================= */

	.org-content .doc-link-inline {
		color: #d35400;
		text-decoration: none;
		font-weight: 600;
		display: inline;                /* Ссылка ведёт себя как текст */
		padding: 0 4px;
		border-radius: 3px;
		white-space: normal;            /* Разрешаем перенос */
		word-break: break-word;         /* Перенос длинных слов */
		transition: color 0.2s, background-color 0.2s;
	}

	.org-content .doc-link-inline:hover {
		color: #a04000;
		background-color: #fef5f0;
	}
	/* Альтернатива — синий (в цвет ссылок на сайте) */
	.org-content .doc-link-inline-blue {
		color: #0066cc;
		text-decoration: none;
		font-weight: 600;
		transition: color 0.2s, transform 0.2s, background-color 0.2s;
		display: inline-block;
		padding: 0 4px;
		border-radius: 3px;
	}

	.org-content .doc-link-inline-blue:hover {
		color: #003d80;
		transform: scale(1.2);
		background-color: #f0f7ff;
	}

	/* Альтернатива — тёмно-синий (в цвет шапки) */
	.org-content .doc-link-inline-dark {
		color: #000770;
		text-decoration: none;
		font-weight: 600;
		transition: color 0.2s, transform 0.2s, background-color 0.2s;
		display: inline-block;
		padding: 0 4px;
		border-radius: 3px;
	}

	.org-content .doc-link-inline-dark:hover {
		color: #0a0a9a;
		transform: scale(1.2);
		background-color: #eef6fc;
	}

/* =========================================================
   ОФОРМЛЕНИЕ ТЕКСТА В БЛОКАХ (.org-content)
   ========================================================= */

	.org-content p {
		margin: 0 0 12px 0;              /* Отступ между абзацами */
		font-size: 14px;                /* Размер шрифта */
		line-height: 1.7;               /* Межстрочный интервал */
		text-align: justify;            /* Выравнивание по ширине */
		text-indent: 1.5em;             /* Отступ первой строки (красная строка) */
		color: #333;
	}

	/* Убираем отступ у последнего абзаца */
	.org-content p:last-child {
		margin-bottom: 0;
	}
/* =========================================================
   ВЛОЖЕННЫЙ РАСКРЫВАЮЩИЙСЯ СПИСОК
   ========================================================= */

	/* Вложенный блок внутри списка */
	.custom-details-inner {
		margin: 4px 0 0 0;
		border: 1px solid #dce4ed;
		border-radius: 4px;
		background: #f8faff;
	}

	.custom-details-inner:hover {
		border-color: #b0c4de;
	}

	.custom-summary-inner {
		padding: 6px 12px;
		font-size: 14px;
		font-weight: 600;
		color: #000770;
		cursor: pointer;
		display: flex;
		align-items: center;
		gap: 6px;
		user-select: none;
		transition: background 0.2s;
		border-radius: 4px;
	}

	.custom-summary-inner:hover {
		background: #eef6fc;
	}

	.custom-summary-inner::before {
		content: "▶";
		font-size: 10px;
		color: #000770;
		transition: transform 0.3s ease;
		display: inline-block;
		flex-shrink: 0;
	}

	.custom-details-inner[open] .custom-summary-inner::before {
		transform: rotate(90deg);
	}

	.custom-details-content-inner {
		padding: 4px 12px 10px 12px;
		font-size: 14px;
		line-height: 1.7;
		color: #333;
		border-top: 1px solid #dce4ed;
	}

	.custom-details-content-inner .custom-list {
		margin: 2px 0 2px 0;
		padding-left: 16px;
	}

	.custom-details-content-inner .custom-list li {
		font-size: 14px;
		line-height: 1.7;
		padding-left: 18px;
	}

	/* --- АДАПТИВНОСТЬ --- */
	@media (max-width: 768px) {
		.custom-summary-inner {
			font-size: 13px;
			padding: 4px 10px;
		}
		
		.custom-details-content-inner {
			font-size: 13px;
			padding: 4px 10px 8px 10px;
		}
		
		.custom-details-content-inner .custom-list li {
			font-size: 13px;
			padding-left: 16px;
		}
	}

	@media (max-width: 480px) {
		.custom-summary-inner {
			font-size: 12px;
			padding: 4px 8px;
		}
		
		.custom-details-content-inner {
			font-size: 12px;
			padding: 2px 8px 6px 8px;
		}
		
		.custom-details-content-inner .custom-list li {
			font-size: 12px;
			padding-left: 14px;
		}
	}
	/* =========================================================
   ПОДРАЗДЕЛЫ ДОКУМЕНТОВ (ПРОТОКОЛЫ, АКТЫ И Т.Д.)
   ========================================================= */

	.doc-subsection {
		margin: 6px 0 6px 0;
	}

	.doc-subsection-title {
		font-size: 14px;
		font-weight: 600;
		color: #333;
		padding: 4px 0 4px 0;
		border-bottom: 1px solid #eef2f8;
		margin-bottom: 4px;
	}

	.doc-subsection-content {
		padding: 2px 0 2px 12px;
	}

	.doc-subsection-content .document-item {
		padding: 4px 0;
		border-bottom: none;
	}

	.doc-subsection-content .document-item:last-child {
		border-bottom: none;
	}

	.doc-subsection-content .doc-link {
		font-size: 13px;
	}

	/* --- АДАПТИВНОСТЬ --- */
	@media (max-width: 768px) {
		.doc-subsection-title {
			font-size: 13px;
		}
		
		.doc-subsection-content {
			padding-left: 8px;
		}
		
		.doc-subsection-content .doc-link {
			font-size: 12px;
		}
	}
	
	/* =========================================================
   КОНТАКТНАЯ ИНФОРМАЦИЯ ПО ПИТАНИЮ (ПРАВАЯ КОЛОНКА)
   ========================================================= */

	/* --- ОТВЕТСТВЕННЫЙ ПО ПИТАНИЮ --- */
	.contact-person-card {
		text-align: center;
		padding: 4px 0;
	}

	.contact-person-name {
		font-size: 15px;
		font-weight: 700;
		color: #000770;
		margin: 0 0 2px 0;
	}

	.contact-person-role {
		font-size: 13px;
		color: #666;
		margin: 0 0 8px 0;
	}

	.contact-person-item {
		font-size: 13px;
		line-height: 1.6;
		margin: 4px 0;
	}

	.contact-person-item .contact-label {
		font-weight: 600;
		color: #000770;
	}

	.contact-person-email-link {
		color: #0066cc;
		text-decoration: none;
		word-break: break-all;
	}

	.contact-person-email-link:hover {
		text-decoration: underline;
	}

	/* --- ГОРЯЧИЕ ЛИНИИ --- */
	.hotlines-block {
		margin-top: 4px;
	}

	.hotlines-title {
		font-size: 14px;
		font-weight: 700;
		color: #000770;
		margin: 0 0 8px 0;
		text-align: center;
		padding-bottom: 6px;
		border-bottom: 2px solid #eef6fc;
	}

	.hotline-item {
		display: flex;
		align-items: flex-start;
		gap: 10px;
		padding: 6px 0;
		border-bottom: 1px solid #f0f4f8;
	}

	.hotline-item:last-child {
		border-bottom: none;
	}

	.hotline-icon {
		width: 28px;
		height: 28px;
		flex-shrink: 0;
		margin-top: 2px;
	}

	.hotline-text {
		flex: 1;
		font-size: 13px;
		line-height: 1.5;
		color: #333;
	}

	.hotline-name {
		font-weight: 500;
		display: block;
	}

	.hotline-phone {
		color: #d35400;
		font-weight: 700;
		font-size: 14px;
		display: block;
	}

	.hotline-schedule {
		font-size: 11px;
		color: #888;
		display: block;
	}

	.hotline-link {
		display: flex;
		align-items: center;
		gap: 10px;
		text-decoration: none;
		color: #0066cc;
		font-size: 13px;
		padding: 4px 0;
		transition: color 0.2s;
	}

	.hotline-link:hover {
		color: #003d80;
		text-decoration: underline;
	}

	.hotline-link .hotline-name {
		font-weight: 500;
	}

	/* --- АДАПТИВНОСТЬ --- */
	@media (max-width: 900px) {
		.contact-person-name {
			font-size: 14px;
		}
		
		.hotline-item {
			padding: 5px 0;
		}
		
		.hotline-icon {
			width: 24px;
			height: 24px;
		}
		
		.hotline-text {
			font-size: 12px;
		}
		
		.hotline-phone {
			font-size: 13px;
		}
	}

	@media (max-width: 480px) {
		.hotline-item {
			flex-wrap: wrap;
			gap: 6px;
		}
		
		.hotline-icon {
			width: 20px;
			height: 20px;
		}
		
		.hotline-link {
			flex-wrap: wrap;
		}
	}
/* =========================================================
   БЛОК 8: СТИЛЯ ДЛЯ КАРТИНОК
   ========================================================= */
	/*СТИЛИ ДЛЯ ПРИВЕТСТВЕННОГО СЛОВА НА ГЛАВНОЙ СТРАНИЦЕ*/

/* =========================================================
   РАСКРЫВАЮЩИЙСЯ ТЕКСТ (НОВЫЙ БЛОК)
   ========================================================= */

	.expandable-text {
		max-height: 200px;              /* Высота видимой части */
		overflow: hidden;
		transition: max-height 0.5s ease;
		position: relative;
	}

	/* Градиентная маска */
	.expandable-text::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		height: 60px;
		background: linear-gradient(to bottom, transparent, #ffffff);
		pointer-events: none;
		transition: opacity 0.5s ease;
	}

	.expandable-text.expanded {
		max-height: none;
	}

	.expandable-text.expanded::after {
		opacity: 0;
	}

	.expand-btn-wrapper {
		text-align: center;
		margin-top: 12px;
	}

	.expand-btn {
		background: #000770;
		color: #fff;
		border: none;
		padding: 8px 30px;
		border-radius: 4px;
		font-size: 14px;
		font-weight: 600;
		cursor: pointer;
		transition: background 0.2s, transform 0.2s;
	}

	.expand-btn:hover {
		background: #0a0a9a;
		transform: scale(1.02);
	}

	.expand-btn:active {
		transform: scale(0.98);
	}

	@media (max-width: 768px) {
		.expandable-text {
			max-height: 150px;
		}
		
		.expand-btn {
			padding: 6px 20px;
			font-size: 13px;
		}
	}

/* =========================================================
   МАРКИРОВАННЫЕ СПИСКИ В .org-content
   ========================================================= */

	/* --- СПИСОК БЕЗ ССЫЛОК (обычный) --- */
	.org-content ul {
		list-style: none;
		padding-left: 0;
		margin: 8px 0 12px 0;
	}

	.org-content ul li {
		padding-left: 24px;
		position: relative;
		margin-bottom: 4px;
		font-size: 14px;
		line-height: 1.7;
		color: #333;
		text-align: justify;
	}

	.org-content ul li::before {
		content: "-";                      /* Символ для обычных списков */
		position: absolute;
		left: 4px;
		color: #000770;
		font-weight: 700;
		font-size: 12px;
	}

	.org-content ul li:last-child {
		margin-bottom: 0;
	}

	/* --- СПИСОК СО ССЫЛКАМИ --- */
	.org-content ul.list-links {
		list-style: none;
		padding-left: 0;
		margin: 8px 0 12px 0;
	}

	.org-content ul.list-links li {
		padding-left: 24px;
		position: relative;
		margin-bottom: 4px;
		font-size: 14px;
		line-height: 1.7;
		color: #333;
		text-align: justify;
	}

	.org-content ul.list-links li::before {
		content: "►";                      /* Другой символ для списков со ссылками */
		position: absolute;
		left: 4px;
		color: #d35400;                    /* Оранжевый, в цвет ссылок */
		font-weight: 700;
		font-size: 16px;
	}

	.org-content ul.list-links li:last-child {
		margin-bottom: 0;
	}

	/* --- ВЛОЖЕННЫЕ СПИСКИ (второй уровень) --- */
	.org-content ul ul li::before {
		content: "–";                      /* Среднее тире для вложенных списков */
		color: #666;
	}

	.org-content ul.list-links ul li::before {
		content: "◦";                      /* Белый кружок для вложенных списков со ссылками */
		color: #999;
	}

	/* --- НУМЕРОВАННЫЕ СПИСКИ (оставляем стандартными) --- */
	.org-content ol {
		margin: 8px 0 12px 24px;
		padding-left: 8px;
		font-size: 14px;
		line-height: 1.7;
		color: #333;
	}

	.org-content ol li {
		margin-bottom: 4px;
		text-align: justify;
	}

	.org-content ol li:last-child {
		margin-bottom: 0;
	}
/* =========================================================
   РАСКРЫВАЮЩИЙСЯ СПИСОК (АККОРДЕОН) ДЛЯ ЛЬГОТНЫХ КАТЕГОРИЙ
   ========================================================= */

	.custom-details {
		margin: 0 0 4px 0;
		border: 1px solid #e0e8f0;
		border-radius: 6px;
		background: #fafcff;
		transition: border-color 0.2s;
	}

	.custom-details:hover {
		border-color: #b0c4de;
	}

	.custom-summary {
		padding: 10px 16px;
		font-size: 14px;
		font-weight: 600;
		color: #000770;
		cursor: pointer;
		display: flex;
		align-items: center;
		gap: 8px;
		user-select: none;
		transition: background 0.2s;
		border-radius: 6px;
	}

	.custom-summary:hover {
		background: #eef6fc;
	}

	/* Кастомный маркер (вместо стандартного треугольника) */
	.custom-summary::before {
		content: "▶";
		font-size: 12px;
		color: #000770;
		transition: transform 0.3s ease;
		display: inline-block;
		flex-shrink: 0;
	}

	.custom-details[open] .custom-summary::before {
		transform: rotate(90deg);
	}

	/* Содержимое */
	.custom-details-content {
		padding: 8px 16px 16px 16px;
		font-size: 14px;
		line-height: 1.7;
		color: #333;
		border-top: 1px solid #e0e8f0;
	}

	.custom-details-content p {
		margin: 0;
	}

	.custom-details-content p:last-child {
		margin-bottom: 0;
	}

	/* Вложенные списки */
	.custom-details .custom-details {
		margin: 6px 0 0 0;
		background: #ffffff;
	}

	.custom-details .custom-details .custom-summary {
		font-size: 13px;
		font-weight: 500;
		color: #333;
		padding: 8px 14px;
	}

	.custom-details .custom-details .custom-summary:hover {
		background: #f5f8fc;
	}

	.custom-details .custom-details .custom-details-content {
		padding: 6px 14px 12px 14px;
		font-size: 13px;
	}

	/* --- АДАПТИВНОСТЬ --- */
	@media (max-width: 768px) {
		.custom-summary {
			font-size: 13px;
			padding: 8px 12px;
		}
		
		.custom-details-content {
			font-size: 13px;
			padding: 6px 12px 12px 12px;
		}
		
		.custom-details .custom-details .custom-summary {
			font-size: 12px;
			padding: 6px 10px;
		}
	}

	@media (max-width: 480px) {
		.custom-summary {
			font-size: 12px;
			padding: 6px 10px;
		}
		
		.custom-details-content {
			font-size: 12px;
			padding: 4px 10px 10px 10px;
		}
	}

/* =========================================================
   ЛЕВАЯ КОЛОНКА — КАРТИНКА С ЗАГОЛОВКОМ
   ========================================================= */

	.col-left .right-block {
    /* Можно переопределить, если нужно */
    background: #fafafa;  /* Например, чуть другой фон */
}

	.col-left .right-block-title {
    /* Можно переопределить, если нужно */
    color: #000770;
}	
	.sidebar-image-wrapper {
		margin-bottom: 20px;
		text-align: center;
	}

	/* Заголовок над картинкой */
	.sidebar-image-title {
		font-size: 14px;
		font-weight: 700;
		color: #000770;
		margin: 0 0 10px 0;
		padding-bottom: 6px;
		border-bottom: 2px solid #eef6fc;
		text-transform: uppercase;
		letter-spacing: 0.5px;
		text-align: center;
	}

	.sidebar-image {
		width: 100%;
		height: auto;
		display: block;
		border-radius: 8px;
		box-shadow: 0 2px 8px rgba(0,0,0,0.1);
		transition: transform 0.3s, box-shadow 0.3s;
	}

	.sidebar-image:hover {
		transform: scale(1.02);
		box-shadow: 0 4px 16px rgba(0,0,0,0.15);
	}

	.sidebar-image-link {
		display: block;
		text-decoration: none;
	}

	.sidebar-image-link:hover .sidebar-image {
		opacity: 0.95;
		transform: scale(1.02);
	}
/* =========================================================
   ПРАВАЯ КОЛОНКА — БЛОКИ
   ========================================================= */

	/* --- БЛОК В ПРАВОЙ КОЛОНКЕ --- */
		.right-block {
			background: #ffffff;
			border-radius: 8px;
			padding: 16px;
			margin-bottom: 16px;
			box-shadow: 0 2px 8px rgba(0,0,0,0.06);
			border: 1px solid #e8edf5;
		}

		.right-block:last-child {
			margin-bottom: 0;
		}

		/* --- ЗАГОЛОВОК БЛОКА --- */
		.right-block-title {
			font-size: 14px;
			font-weight: 700;
			color: #000770;
			margin: 0 0 12px 0;
			padding-bottom: 8px;
			border-bottom: 2px solid #eef6fc;
			text-transform: uppercase;
			letter-spacing: 0.5px;
			text-align: center;
		}

		/* --- СОДЕРЖИМОЕ БЛОКА --- */
		.right-block-content {
			font-size: 13px;
			color: #333;
			line-height: 1.6;
		}

		.right-block-content p {
			margin: 0 0 8px 0;
		}

		.right-block-content p:last-child {
			margin-bottom: 0;
		}

		.right-block-content strong {
			color: #000770;
		}

		.right-block-content a {
			color: #0066cc;
			text-decoration: none;
			transition: color 0.2s;
		}

		.right-block-content a:hover {
			color: #003d80;
			text-decoration: underline;
		}

		/* --- СПИСОК ССЫЛОК --- */
		.right-links {
			list-style: none;
			padding: 0;
			margin: 0;
		}

		.right-links li {
			padding: 4px 0;
			border-bottom: 1px solid #f0f4f8;
		}

		.right-links li:last-child {
			border-bottom: none;
		}

		.right-links a {
			color: #0066cc;
			text-decoration: none;
			font-size: 13px;
			transition: color 0.2s, padding-left 0.2s;
			display: block;
			padding: 4px 0 4px 12px;
			border-left: 3px solid transparent;
		}

		.right-links a:hover {
			color: #003d80;
			padding-left: 16px;
			border-left-color: #000770;
		}
/* =========================================================
   КАРТОЧКА СОТРУДНИКА С ФОТО В КОЛОНКЕ
   ========================================================= */

	.director-card {
		text-align: center;
	}

	.director-photo {
		width: 100%;
		max-width: 150px;
		border-radius: 8px;
		margin-bottom: 8px;
	}

	.director-name {
		margin: 0 0 4px 0;
		font-weight: 700;
		font-size: 15px;
		color: #333;
	}

	.director-position {
		margin: 0 0 8px 0;
		color: #666;
		font-size: 13px;
	}

	.director-phone {
		margin: 0 0 4px 0;
		font-size: 13px;
		color: #333;
	}

	.director-phone-label {
		font-weight: 600;
	}

	.director-phone-value {
		color: #333;
	}

	.director-email {
		margin: 0;
		font-size: 13px;
	}

	.director-email-label {
		font-weight: 600;
	}

	.director-email-link {
		color: #0066cc;
		text-decoration: none;
		display: inline-block;
	}

	.director-email-link:hover {
		text-decoration: underline;
	}
/* =========================================================
   СОЦИАЛЬНЫЕ ИКОНКИ
   ========================================================= */

	.social-icons {
		display: flex;
		flex-direction: column;
		gap: 8px;
	}

	.social-icon {
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 8px 12px;
		border-radius: 6px;
		background: #f8faff;
		text-decoration: none;
		color: #333;
		transition: background 0.2s, transform 0.2s;
		border: 1px solid transparent;
	}

	.social-icon:hover {
		background: #eef6fc;
		border-color: #d0dff0;
		transform: translateX(4px);
	}

	.social-icon img {
		width: 28px;
		height: 28px;
		flex-shrink: 0;
		display: block;
	}

	.social-icon span {
		font-size: 13px;
		font-weight: 500;
		color: #333;
	}

	.social-icon:hover span {
		color: #000770;
	}

	/* --- АДАПТИВНОСТЬ ДЛЯ ПРАВОЙ КОЛОНКИ --- */
	@media (max-width: 900px) {
		.right-block {
			padding: 12px;
		}
		
		.right-block-title {
			font-size: 13px;
		}
		
		.right-block-content {
			font-size: 12px;
		}
		
		.social-icon {
			padding: 6px 10px;
		}
		
		.social-icon img {
			width: 24px;
			height: 24px;
		}
		
		.social-icon span {
			font-size: 12px;
		}
	}

	@media (max-width: 480px) {
		.right-block {
			padding: 10px;
		}
		
		.social-icons {
			flex-direction: row;
			flex-wrap: wrap;
			justify-content: center;
		}
		
		.social-icon {
			flex-direction: column;
			padding: 8px 12px;
			min-width: 70px;
			text-align: center;
		}
		
		.social-icon span {
			font-size: 10px;
		}
	}
	
	/* =========================================================
   ВИДЖЕТ ГОСУСЛУГ (адаптация под правую колонку)
   ========================================================= */

/* --- АДАПТАЦИЯ ВИДЖЕТА ПОД ПРАВУЮ КОЛОНКУ --- */
#js-show-iframe-wrapper {
    background: none !important;
    min-width: auto !important;
    padding: 0 !important;
    width: 100% !important;
}

#js-show-iframe-wrapper .bf-160 {
    position: relative;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 90px;
    height: auto !important;           /* Автоматическая высота */
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #0d4cd3;
    border-radius: 4px;
    padding: 12px;
    margin: 0 auto;
}

#js-show-iframe-wrapper .bf-160__content {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

#js-show-iframe-wrapper .bf-160__logo-wrap {
    display: inline-flex;
    align-items: center;
    width: 100%;
}

#js-show-iframe-wrapper .bf-160__logo {
    width: 61.01px;
    height: 16.28px;
    flex-shrink: 0;
}

#js-show-iframe-wrapper .bf-160__logo2 {
    width: 41px;
    height: 40px;
    flex-shrink: 0;
}

#js-show-iframe-wrapper .bf-160__description {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    width: 100%;
}

#js-show-iframe-wrapper .bf-160__text {
    color: #0b40b3;
    box-sizing: border-box;
    font-family: LatoWeb, sans-serif;
    font-weight: 700;
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: 0;
    flex: 1;
    min-height: auto;
}

/* --- АДАПТИВНОСТЬ --- */
@media (max-width: 900px) {
    #js-show-iframe-wrapper .bf-160 {
        min-height: 80px;
        padding: 10px;
    }
    
    #js-show-iframe-wrapper .bf-160__text {
        font-size: 12px;
        line-height: 1.4;
    }
    
    #js-show-iframe-wrapper .bf-160__logo2 {
        width: 32px;
        height: 32px;
    }
}

@media (max-width: 600px) {
    #js-show-iframe-wrapper .bf-160 {
        min-height: 70px;
        padding: 8px;
    }
    
    #js-show-iframe-wrapper .bf-160__description {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
    
    #js-show-iframe-wrapper .bf-160__text {
        font-size: 11px;
        line-height: 1.4;
    }
    
    #js-show-iframe-wrapper .bf-160__logo2 {
        width: 28px;
        height: 28px;
        align-self: flex-end;
    }
}

@media (max-width: 480px) {
    #js-show-iframe-wrapper .bf-160 {
        min-height: 60px;
        padding: 6px;
    }
    
    #js-show-iframe-wrapper .bf-160__text {
        font-size: 10px;
        line-height: 1.3;
    }
    
    #js-show-iframe-wrapper .bf-160__logo {
        width: 50px;
        height: 13px;
    }
    
    #js-show-iframe-wrapper .bf-160__logo2 {
        width: 24px;
        height: 24px;
    }
}
/* =========================================================
   БЛОК 9: КАРУСЕЛИ, СЛАЙДЕРЫ
   ========================================================= */
 /* =========================================================
   СЛАЙДЕР НОВОСТЕЙ (АДАПТИВНАЯ) — С КНОПКАМИ НА ВСЮ ВЫСОТУ
   ========================================================= */

	section.news-carousel-section {
		position: relative;
		background-color: #f5f7fa;
		padding: 5px 0;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		margin: 0;
		border-radius: 12px;
	}

	.news-wrapper {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: stretch;        /* Растягиваем дочерние элементы по высоте */
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
		padding: 0 50px;             /* Увеличил отступы для кнопок */
		box-sizing: border-box;
	}

	#newsContainer {
		display: flex;
		flex-direction: row;
		gap: 16px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		padding: 10px 0;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		scrollbar-width: thin;
		scrollbar-color: #ccc #f1f1f1;
	}

	/* Скрываем скроллбар, чтобы не мешал кнопкам */
	#newsContainer::-webkit-scrollbar {
		height: 4px;
	}

	#newsContainer::-webkit-scrollbar-track {
		background: #f1f1f1;
		border-radius: 3px;
	}

	#newsContainer::-webkit-scrollbar-thumb {
		background: #ccc;
		border-radius: 3px;
	}

	/* --- КАРТОЧКИ --- */
	.news-card {
		flex: 0 0 260px;
		min-width: 260px;
		max-width: 260px;
		background: white;
		border-radius: 12px;
		box-shadow: 0 4px 12px rgba(0,0,0,0.08);
		display: flex;
		flex-direction: column;
		align-items: stretch;
		scroll-snap-align: start;
		overflow: hidden;
		box-sizing: border-box;
		transition: transform 0.2s, box-shadow 0.2s;
	}

	.news-card:hover {
		transform: translateY(-4px);
		box-shadow: 0 8px 24px rgba(0,0,0,0.12);
	}

	.slide-image-wrapper {
		position: relative;
		width: 100%;
		height: 200px;
		overflow: hidden;
		background-color: #f0f0f0;
	}

	.slide-image-wrapper img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}

	.slide-date {
		position: absolute;
		bottom: 12px;
		right: 12px;
		background-color: rgba(0, 86, 179, 0.9);
		color: white;
		padding: 4px 12px;
		border-radius: 20px;
		font-size: 13px;
		font-weight: 600;
		z-index: 10;
	}

	.slide-content {
		padding: 16px;
		display: flex;
		flex-direction: column;
		flex-grow: 1;
	}

	.slide-title {
		font-size: 16px;
		font-weight: 700;
		color: #1a1a1a;
		margin: 0 0 12px 0;
		line-height: 1.4;
		text-align: center;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		min-height: 48px;
	}

	.slide-desc {
		font-size: 13px;
		color: #555;
		line-height: 1.5;
		text-align: justify;
		text-indent: 16px;
		display: -webkit-box;
		-webkit-line-clamp: 4;
		-webkit-box-orient: vertical;
		overflow: hidden;
		min-height: 80px;
		flex-grow: 1;
	}

	.slide-btn {
		display: inline-block;
		background-color: #007bff;
		color: white;
		padding: 10px 20px;
		text-decoration: none;
		border-radius: 6px;
		font-size: 14px;
		font-weight: 600;
		margin-top: 12px;
		align-self: flex-start;
		transition: background 0.2s;
	}

	.slide-btn:hover {
		background-color: #0056b3;
	}

	/* --- КНОПКИ НА ВСЮ ВЫСОТУ --- */
	.carousel-btn {
		position: absolute;
		top: 0;
		bottom: 0;
		transform: none;
		background: rgba(0, 0, 0, 0.05);     /* Полупрозрачный тёмный фон */
		border: none;
		border-radius: 0;
		font-size: 32px;
		cursor: pointer;
		padding: 0 16px;
		z-index: 20;
		box-shadow: none;
		user-select: none;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		transition: background 0.2s, opacity 0.2s;
		color: #333;
		width: 48px;
		min-height: 100%;
	}

	.prev-btn {
		left: 0;
		border-radius: 12px 0 0 12px;
		background: linear-gradient(to right, rgba(255,255,255,0.95) 60%, rgba(255,255,255,0));
	}

	.next-btn {
		right: 0;
		border-radius: 0 12px 12px 0;
		background: linear-gradient(to left, rgba(255,255,255,0.95) 60%, rgba(255,255,255,0));
	}

	.carousel-btn:hover {
		background: rgba(255, 255, 255, 0.98);
	}

	.carousel-btn:active {
		opacity: 0.7;
	}

	/* --- АДАПТИВНОСТЬ --- */
	@media (max-width: 1400px) {
		.news-card { flex: 0 0 220px; min-width: 220px; max-width: 220px; }
	}

	@media (max-width: 1200px) {
		.news-card { flex: 0 0 200px; min-width: 200px; max-width: 200px; }
	}

	@media (max-width: 992px) {
		.news-card { flex: 0 0 180px; min-width: 180px; max-width: 180px; }
		.news-wrapper { padding: 0 40px; }
		.carousel-btn { width: 40px; font-size: 28px; padding: 0 12px; }
	}

	@media (max-width: 768px) {
		section.news-carousel-section { padding: 15px 0; }
		.news-card { flex: 0 0 220px; min-width: 220px; max-width: 220px; }
		.slide-image-wrapper { height: 160px; }
		.slide-title { font-size: 14px; min-height: 40px; }
		.slide-desc { font-size: 12px; min-height: 60px; }
		.carousel-btn { display: none; }
		.news-wrapper { padding: 0 10px; }
	}

	@media (max-width: 480px) {
		.news-card {
			flex: 0 0 100%;
			min-width: 100%;
			max-width: 100%;
		}
		.news-wrapper { padding: 0; }
		.slide-image-wrapper { height: 200px; }
	}
	
	/* =========================================================
	БЕГУЩАЯ СТРОКА С НОВОСТЯМИ
   ========================================================= */

	.news-ticker-container {
		overflow: hidden;
		background-color: #000770;
		border-top: 1px solid #333;
		border-bottom: 1px solid #333;
		padding: 6px 0;
		margin: 0;
		box-sizing: border-box;
		min-height: 36px;
		width: 100%;
		position: relative;
		display: flex;
		align-items: center;
	}

	/* "СРОЧНО" слева */
/*	.news-ticker-container::before {
/*		content: "⚡ СРОЧНО";
/*		flex-shrink: 0;
		background: #dc3545;
		color: #fff;
		font-weight: 700;
		font-size: 14px;
		padding: 6px 16px;
		border-radius: 6px;
		margin: 0 18px 0 24px;
		letter-spacing: 1px;
		z-index: 2;
		text-transform: uppercase;
	}*/

	.news-ticker-track {
		display: flex;
		white-space: nowrap;
		animation: ticker-scroll 40s linear infinite; /*скорость бегущей строки*/
		will-change: transform;
		flex-shrink: 0;
		min-width: 100%;
		padding: 10px 0;
		align-items: center;
	}

	.news-ticker-container:hover .news-ticker-track {
		animation-play-state: paused;
	}

	.news-ticker-item {
		display: inline-block;
		padding: 8px 50px 8px 0;
		font-size: 16px;
		 color: #ffffff; 
		line-height: 1.6;
		vertical-align: middle;
		white-space: nowrap;
		flex-shrink: 0;
	}

	.news-ticker-link {
		display: inline-block;
		text-decoration: none;
		color: inherit;
		flex-shrink: 0;
		padding: 0;
		transition: color 0.25s ease;
	}

	.news-ticker-link:hover .news-ticker-item {
		color: #0056b3;
		text-decoration: underline;
	}

	@keyframes ticker-scroll {
		0% { transform: translateX(100%); }
		100% { transform: translateX(-100%); }
	}
	
/* =========================================================
10.   КНОПКА "ВЕРСИЯ ДЛЯ СЛАБОВИДЯЩИХ" В МЕНЮ (ТОЛЬКО ИКОНКА)
   ========================================================= */
/* Правый блок шапки — центрируем содержимое */
.header .header-right {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 15%;
    min-width: 0;
    gap: 8px;
}

/* Кнопка */
.header .special-version-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    padding: 6px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    transition: background 0.2s, transform 0.2s;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-sizing: border-box;
    margin: 0 auto;
}

.header .special-version-btn:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: scale(1.3);
}

.header .special-version-icon {
    width: 28px;
    height: 28px;
    display: block;
}

/* --- АДАПТИВНОСТЬ --- */
@media (max-width: 900px) {
    .header .header-right {
        flex: 0 0 auto;
        width: auto;
    }
    
    .header .special-version-btn {
        width: 40px;
        height: 40px;
        padding: 4px;
    }
    
    .header .special-version-icon {
        width: 24px;
        height: 24px;
    }
}

@media (max-width: 480px) {
    .header .special-version-btn {
        width: 36px;
        height: 36px;
        padding: 3px;
    }
    
    .header .special-version-icon {
        width: 20px;
        height: 20px;
    }
}
/* =========================================================
 11.  БАННЕР СОГЛАСИЯ НА ОБРАБОТКУ ПЕРСОНАЛЬНЫХ ДАННЫХ
   ========================================================= */

	.cookie-consent {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		background: rgba(0, 7, 112, 0.95);  /* В цвет шапки */
		color: #ffffff;
		padding: 16px 20px;
		z-index: 1000;
		box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3);
		box-sizing: border-box;
		border-top: 3px solid #ffc107;  /* Жёлтая полоса сверху */
		display: none;  /* Скрыт по умолчанию, показывается через JS */
	}

	.cookie-consent-content {
		max-width: 1200px;
		margin: 0 auto;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 20px;
		flex-wrap: wrap;
	}

	.cookie-consent-text {
		flex: 1;
		font-size: 14px;
		line-height: 1.6;
	}

	.cookie-consent-text p {
		margin: 0;
	}

	.cookie-consent-text a {
		color: #ffc107;
		text-decoration: underline;
		transition: color 0.2s;
	}

	.cookie-consent-text a:hover {
		color: #ffffff;
	}

	.cookie-consent-buttons {
		display: flex;
		gap: 12px;
		flex-shrink: 0;
	}

	.cookie-btn {
		padding: 10px 28px;
		border: none;
		border-radius: 6px;
		font-size: 14px;
		font-weight: 600;
		cursor: pointer;
		transition: background 0.2s, transform 0.2s;
		white-space: nowrap;
	}

	.cookie-btn:hover {
		transform: scale(1.02);
	}

	.cookie-btn:active {
		transform: scale(0.98);
	}

	/* Кнопка "Согласен" — жёлтая */
	.cookie-btn-accept {
		background: #ffc107;
		color: #000;
	}

	.cookie-btn-accept:hover {
		background: #ffd54f;
	}

	/* Кнопка "Отказаться" — прозрачная с обводкой */
	.cookie-btn-decline {
		background: transparent;
		color: #ffffff;
		border: 2px solid rgba(255, 255, 255, 0.3);
	}

	.cookie-btn-decline:hover {
		background: rgba(255, 255, 255, 0.1);
		border-color: rgba(255, 255, 255, 0.6);
	}

	/* --- АДАПТИВНОСТЬ --- */
	@media (max-width: 768px) {
		.cookie-consent {
			padding: 12px 16px;
		}
		
		.cookie-consent-content {
			flex-direction: column;
			align-items: stretch;
			gap: 12px;
		}
		
		.cookie-consent-text {
			font-size: 13px;
			text-align: center;
		}
		
		.cookie-consent-buttons {
			justify-content: center;
		}
		
		.cookie-btn {
			padding: 8px 20px;
			font-size: 13px;
		}
	}

	@media (max-width: 480px) {
		.cookie-consent {
			padding: 10px 12px;
		}
		
		.cookie-consent-text {
			font-size: 12px;
		}
		
		.cookie-consent-buttons {
			flex-direction: column;
			gap: 8px;
			width: 100%;
		}
		
		.cookie-btn {
			padding: 10px 20px;
			font-size: 14px;
			width: 100%;
			text-align: center;
		}
	}
	
	
/* =========================================================
12.  СЧЕТЧИК MAIL.RU В ФУТЕРЕ
   ========================================================= */

	.mailru-counter {
		margin-top: 6px;
	}

	.mailru-counter a {
		display: inline-block;
		transition: opacity 0.2s, transform 0.2s;
	}

	.mailru-counter a:hover {
		opacity: 0.8;
		transform: scale(1.05);
	}

	.mailru-counter img {
		display: block;
		border-radius: 4px;
	}