/*
 * TSTU Redesign Addon CSS
 * ========================
 * Дополнительный CSS-файл для стилизации второстепенных страниц ТГТУ
 * в соответствии с новым дизайном главной страницы.
 * 
 * Для подключения добавьте в <head> страницы:
 * <link rel="stylesheet" href="tstu-redesign-addon.css">
 * 
 * Версия: 1.0
 * Дата: 22.01.2026
 */

/* ==========================================================================
   CSS ПЕРЕМЕННЫЕ (для удобства настройки)
   ========================================================================== */
:root {
    /* Основные цвета (из нового дизайна главной страницы) */
    --tstu-primary: #0a51a1;
    /* Основной синий */
    --tstu-primary-dark: #003366;
    /* Тёмный синий */
    --tstu-primary-light: #1e6bc9;
    /* Светлый синий */
    --tstu-accent: #E25F25;
    /* Оранжевый акцент */
    --tstu-accent-hover: #ff7a3d;
    /* Оранжевый при наведении */

    /* Нейтральные цвета */
    --tstu-bg-light: #f8f9fa;
    /* Светлый фон */
    --tstu-bg-section: #ebeff2;
    /* Фон секций */
    --tstu-border-light: #dee2e6;
    /* Светлая граница */
    --tstu-border-accent: #435f78;
    /* Акцентная граница */

    /* Текстовые цвета */
    --tstu-text-dark: #212529;
    /* Основной текст */
    --tstu-text-muted: #6c757d;
    /* Приглушённый текст */
    --tstu-link-color: #0a51a1;
    /* Цвет ссылок */
    --tstu-link-hover: #E25F25;
    /* Ссылка при наведении */

    /* Размеры */
    --tstu-border-radius: 8px;
    /* Скругление углов */
    --tstu-border-radius-sm: 4px;
    /* Маленькое скругление */
    --tstu-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    --tstu-shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.15);

    /* Шрифты */
    --tstu-font-family: 'Inter', 'Segoe UI', Arial, Helvetica, sans-serif;
    --tstu-font-size-base: 15px;
    --tstu-line-height: 1.6;
}

/* ==========================================================================
   БАЗОВЫЕ СТИЛИ
   ========================================================================== */

/* Улучшенная типографика */
body {
    font-family: var(--tstu-font-family);
    font-size: var(--tstu-font-size-base);
    line-height: var(--tstu-line-height);
    color: var(--tstu-text-dark);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* =====================================================
   ИСКЛЮЧЕНИЯ ДЛЯ ВЕРХНЕГО МЕНЮ НАВИГАЦИИ
   ===================================================== */

/* Верхнее меню #nav - сохраняем оригинальные размеры */
#nav,
ul#nav {
    height: 30px !important;
    line-height: 1 !important;
}

#nav li,
ul#nav li,
#nav li.top,
ul#nav li.top {
    line-height: 1 !important;
}

#nav li a,
ul#nav li a,
#nav li a.top_link,
ul#nav li a.top_link {
    line-height: 1 !important;
    /*height: 20px !important;*/
}

#nav li a.top_link span,
ul#nav li a.top_link span {
    line-height: 1 !important;
    height: 20px !important;
}

/* Контейнеры внутри ячеек верхнего меню */
#Table_01 td[height="30px"]>div,
#Table_01 td[bgcolor="#0a51a1"]>div {
    line-height: 1 !important;
}

#Table_01 td[height="30px"] center,
#Table_01 td[bgcolor="#0a51a1"] center {
    line-height: 1 !important;
}

/* Строка с верхним меню - фиксированная высота и синий фон */
#Table_01 tr td[height="30px"] {
    height: 30px !important;
    line-height: 1 !important;
    vertical-align: top !important;
    background-color: #0a51a1 !important;
    padding: 0 !important;
}

/* Первая ячейка с логотипом */
#Table_01 tr td[width="208px"][height="30px"] {
    height: 30px !important;
    line-height: 0 !important;
    padding: 0 !important;
}

/* Третья ячейка справа */
#Table_01 tr td[width="150px"][height="30px"] {
    height: 30px !important;
    line-height: 1 !important;
}

/* ==========================================================================
   ЗАГОЛОВКИ
   ========================================================================== */

/* Заголовок страницы */
.zag {
    font-family: var(--tstu-font-family) !important;
    font-size: 28px !important;
    font-weight: 600 !important;
    color: var(--tstu-primary-dark) !important;
    text-decoration: none !important;
    letter-spacing: -0.02em;
}

.zag:hover {
    color: var(--tstu-primary) !important;
    text-decoration: none !important;
}

/* Заголовки секций контента */
.head3,
.head4 {
    font-family: var(--tstu-font-family) !important;
    color: var(--tstu-primary-dark) !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em;
    margin-top: 25px !important;
    margin-bottom: 15px !important;
    padding-bottom: 10px !important;
    border-bottom: 3px solid var(--tstu-primary) !important;
    display: inline-block !important;
    position: relative;
}

.head3 {
    font-size: 18px !important;
}

.head4 {
    font-size: 22px !important;
}

/* Подзаголовки в центре страницы */
center>.head3,
center>font.head3 {
    display: block !important;
    text-align: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-bottom: none !important;
    margin-bottom: 20px !important;
}

center>.head3::after {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, var(--tstu-primary), var(--tstu-accent));
    margin: 10px auto 0;
    border-radius: 2px;
}

/* Заголовки разделов (div_zag2, div_zag3) */
.div_zag2,
.div_zag3 {
    background: linear-gradient(135deg, var(--tstu-primary) 0%, var(--tstu-primary-dark) 100%) !important;
    color: #ffffff !important;
    border-radius: var(--tstu-border-radius) !important;
    padding: 12px 20px !important;
    margin: 20px 0 15px 0 !important;
    border: none !important;
    box-shadow: var(--tstu-shadow);
    font-size: 16px !important;
}

.div_zag2 a,
.div_zag3 a {
    color: #ffffff !important;
}

.div_zag2 a:hover,
.div_zag3 a:hover {
    color: #ffdd99 !important;
}

/* ==========================================================================
   ТЕКСТОВЫЕ БЛОКИ И ПАРАГРАФЫ
   ========================================================================== */

/* Основной контейнер текста */
.div_text {
    font-family: var(--tstu-font-family) !important;
    font-size: var(--tstu-font-size-base) !important;
    line-height: var(--tstu-line-height) !important;
    color: var(--tstu-text-dark) !important;
    text-align: justify !important;
}

.div_text17 {
    font-size: 17px !important;
    line-height: 1.7 !important;
}

/* Абзацы с отступом */
.div_abz5,
.div_text5 {
    font-size: var(--tstu-font-size-base) !important;
    line-height: var(--tstu-line-height) !important;
    margin: 12px 0 !important;
}

.div_abz5 {
    text-indent: 35px !important;
}

/* Обычный текст */
.normal {
    font-family: var(--tstu-font-family) !important;
    font-size: var(--tstu-font-size-base) !important;
    line-height: var(--tstu-line-height) !important;
}

/* Мелкий текст */
.div_smoll {
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: var(--tstu-text-muted) !important;
}

/* ==========================================================================
   ССЫЛКИ
   ========================================================================== */

/* Стандартные ссылки */
.div_text a,
.normal a,
td a {
    color: var(--tstu-link-color) !important;
    text-decoration: none !important;
    transition: color 0.2s ease, border-bottom 0.2s ease !important;
    border-bottom: 1px solid transparent;
}

.div_text a:hover,
.normal a:hover,
td a:hover {
    color: var(--tstu-link-hover) !important;
    border-bottom-color: var(--tstu-link-hover);
}

/* Ссылки разделов */
.a_razdel {
    font-family: var(--tstu-font-family) !important;
    font-size: 15px !important;
    color: var(--tstu-primary) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
    padding-left: 0 !important;
}

.a_razdel:hover {
    color: var(--tstu-accent) !important;
    text-decoration: none !important;
    /*padding-left: 5px !important;*/
}

/* Ссылка без подчёркивания */
.noa {
    text-decoration: none !important;
}

.noa:hover {
    text-decoration: none !important;
    color: var(--tstu-accent) !important;
}

/* ==========================================================================
   СПИСКИ
   ========================================================================== */

/* Основные списки в контенте - только прямые потомки div_text, не вложенные в таблицы */
.div_text>ul,
.div_text>ol,
.div_text>p>ul,
.div_text>p>ol {
    margin: 15px 0 !important;
    padding-left: 0 !important;
    list-style: none !important;
}

/* Стилизованные элементы списков - только для списков первого уровня */
.div_text>ul>li,
.div_text>ol>li,
.div_text>p>ul>li,
.div_text>p>ol>li {
    position: relative !important;
    padding: 10px 15px 10px 30px !important;
    margin-bottom: 8px !important;
    background: var(--tstu-bg-light) !important;
    border-radius: var(--tstu-border-radius-sm) !important;
    border-left: 4px solid var(--tstu-primary) !important;
    transition: all 0.2s ease !important;
    line-height: 1.5 !important;
}

.div_text>ul>li:hover,
.div_text>ol>li:hover,
.div_text>p>ul>li:hover,
.div_text>p>ol>li:hover {
    background: #ffffff !important;
    border-left-color: var(--tstu-accent) !important;
    box-shadow: var(--tstu-shadow) !important;
    transform: translateX(5px);
}

/* =====================================================
   ИСКЛЮЧЕНИЯ ДЛЯ ВЛОЖЕННЫХ ЭЛЕМЕНТОВ
   ===================================================== */

/* Вложенные списки внутри li - убираем отступы */
.div_text ul ul,
.div_text ul ol,
.div_text ol ul,
.div_text ol ol,
.div_text li ul,
.div_text li ol {
    margin: 5px 0 5px 15px !important;
    padding-left: 10px !important;
}

/* Вложенные li - упрощённый стиль */
.div_text ul ul li,
.div_text ul ol li,
.div_text ol ul li,
.div_text ol ol li,
.div_text li ul li,
.div_text li ol li {
    padding: 5px 10px !important;
    margin-bottom: 3px !important;
    background: transparent !important;
    border-left: 2px solid var(--tstu-border-light) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.div_text ul ul li:hover,
.div_text ul ol li:hover,
.div_text li ul li:hover,
.div_text li ol li:hover {
    background: var(--tstu-bg-light) !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Списки внутри таблиц - минимальная стилизация */
.div_text table ul,
.div_text table ol,
table .div_text ul,
table .div_text ol,
td ul,
td ol {
    margin: 0px 0 !important;
    padding-left: 20px !important;
    list-style: disc !important;
}

.div_text table ul li,
.div_text table ol li,
table .div_text ul li,
table .div_text ol li,
td ul li,
td ol li {
    padding: 3px 0 !important;
    margin-bottom: 2px !important;
    background: transparent !important;
    border-left: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.div_text table ul li:hover,
.div_text table ol li:hover,
table .div_text ul li:hover,
table .div_text ol li:hover,
td ul li:hover,
td ol li:hover {
    background: transparent !important;
    transform: none !important;
    box-shadow: none !important;
}

/* =====================================================
   ИСКЛЮЧЕНИЯ ДЛЯ ГОРИЗОНТАЛЬНЫХ МЕНЮ (ul.tabs и т.п.)
   ===================================================== */

/* ul.tabs - горизонтальное меню вкладок (Департаменты, Структура и т.п.) */
ul.tabs,
.tabs {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: #eaf4fd !important;
    display: flex !important;
    flex-wrap: wrap !important;
}

ul.tabs li,
.tabs li {
    display: inline-block !important;
    float: left !important;
    padding: 0 0 0 21px !important;
    margin: 0 !important;
    background: #eaf4fd url(image/menu/fon_tab.gif) no-repeat left bottom !important;
    border-left: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    height: 20px !important;
    line-height: 20px !important;
    cursor: pointer !important;
    position: relative !important;
}

ul.tabs li:hover,
.tabs li:hover {
    background: #eaf4fd url(image/menu/fon_tab.gif) no-repeat left bottom !important;
    transform: none !important;
}

ul.tabs li.current,
.tabs li.current {
    background: #ffffff url(image/menu/fon_tab.gif) no-repeat left bottom !important;
}

ul.tabs li a,
.tabs li a {
    font-size: 13px !important;
    text-decoration: none !important;
    color: #3366cc !important;
    padding: 0 10px 0 0 !important;
}

ul.tabs li:hover a,
.tabs li:hover a {
    color: #6699ff !important;
}

ul.tabs li.current a,
.tabs li.current a {
    color: #900000 !important;
}

/* Нумерованные списки */
.div_text ol {
    counter-reset: list-counter !important;
}

.div_text ol li {
    counter-increment: list-counter !important;
}

.div_text ol li::before {
    content: counter(list-counter) !important;
    position: absolute !important;
    left: -25px !important;
    top: 3px !important;
    width: 22px !important;
    height: 22px !important;
    background: var(--tstu-primary) !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Компактные списки документов */
.div_text ul[type="square"] {
    margin: 10px 0 !important;
}

.div_text ul[type="square"] li {
    padding: 12px 15px 12px 35px !important;
    /*background: linear-gradient(135deg, #ffffff 0%, var(--tstu-bg-light) 100%) !important;*/
	background: transparent !important;
    border: 1px solid var(--tstu-border-light) !important;
    border-left: 4px solid var(--tstu-primary) !important;
}

.div_text ul[type="square"] li a::before {
    content: '📄' !important;
    position: absolute !important;
    left: 10px !important;
    top: 12px !important;
    font-size: 14px !important;
}

/* Если ссылка в списке ведёт на PDF */
.div_text ul li a[href*=".pdf"]::before,
.a_razdel[href*=".pdf"]::before {
    content: '📑 ' !important;
}

/* Если ссылка ведёт на DOC */
.div_text ul li a[href*=".doc"]::before,
.a_razdel[href*=".doc"]::before {
    content: '📝 ' !important;
}

/* ==========================================================================
   ТАБЛИЦЫ
   ========================================================================== */

/* 
 * ВАЖНО: Стилизуем только таблицы с border="1", которые являются таблицами данных.
 * Таблицы без border или width="100%" часто используются для двухколоночной верстки.
 */

/* Таблицы данных (с явной рамкой) */
table[border="1"] {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: none !important;
    border-radius: var(--tstu-border-radius) !important;
    overflow: hidden !important;
    box-shadow: var(--tstu-shadow) !important;
    margin: 20px 0 !important;
}

/* Заголовок таблицы */
table[border="1"] tr[bgcolor="#b7d0ff"],
table[border="1"] tr:first-child:has(b),
table[border="1"] thead tr {
   /* background: linear-gradient(135deg, var(--tstu-primary) 0%, var(--tstu-primary-dark) 100%) !important;*/
}

table[border="1"] tr[bgcolor="#b7d0ff"] td,
table[border="1"] tr[bgcolor="#b7d0ff"] th,
table[border="1"] thead th {
    background: transparent !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    padding: 14px 16px !important;
    text-align: center !important;
    border: none !important;
    font-size: 14px !important;
}

/* Шапка таблицы - альтернативный стиль через font.head2 */
table[border="1"] font.head2,
table[border="1"] .head2 {
    color: #8d8d8d !important font-style: normal !important;
    font-weight: 600 !important;
    font-size: 13px !important;
}

/* Стили .head2 вне таблиц */
font.head2,
.head2 {
    font-family: var(--tstu-font-family) !important;
    font-size: 15px !important;
    color: var(--tstu-primary-dark) !important;
    font-style: normal !important;
    font-weight: 500 !important;
}

/* Ячейки таблицы данных */
table[border="1"] td {
    padding: 12px 16px !important;
    border: none !important;
    border-bottom: 1px solid var(--tstu-border-light) !important;
    vertical-align: top !important;
    background: #ffffff !important;
    transition: background 0.2s ease !important;
}

/* Чередование строк */
table[border="1"] tr:nth-child(even) td {
    background: var(--tstu-bg-light) !important;
}

/* Эффект при наведении на строку */
table[border="1"] tr:hover td {
    background: #e8f4fd !important;

}

/* Последняя строка - убираем границу */
table[border="1"] tr:last-child td {
    border-bottom: none !important;
}

/* Первая колонка (обычно коды) */
table[border="1"] td:first-child {
    font-weight: 600 !important;
    color: var(--tstu-primary-dark) !important;
    text-align: center !important;
    white-space: nowrap !important;
}

/* =====================================================
   ИСКЛЮЧЕНИЯ ДЛЯ ТАБЛИЦ-КОНТЕЙНЕРОВ
   ===================================================== */

/* 
 * ВАЖНО: Эти стили применяются ТОЛЬКО к таблицам внутри .div_text
 * чтобы не затрагивать основные таблицы верстки страницы.
 */

/* Таблицы без border внутри .div_text - используются для вёрстки контента, НЕ стилизуем */
.div_text>table:not([border="1"]),
.div_text>p>table:not([border="1"]) {
    width: auto;
    border-collapse: collapse;
    border-spacing: 0;
    border: none;
    border-radius: 0;
    overflow: visible;
    box-shadow: none;
    margin: 0;
}

/* Ячейки таблиц-контейнеров внутри .div_text - без стилизации */
.div_text>table:not([border="1"]) td,
.div_text>p>table:not([border="1"]) td {
    padding: 5px;
    border: none;
    border-bottom: none;
    background: transparent;
    vertical-align: top;
}

/* Таблицы с классом div_text внутри таблиц - сохраняем стили */
table table.div_text[border="1"] {
    width: 100% !important;
    border-radius: var(--tstu-border-radius) !important;
    box-shadow: var(--tstu-shadow) !important;
    margin: 10px 0 !important;
}

/* Отключаем hover-эффекты для таблиц-контейнеров внутри .div_text */
.div_text>table:not([border="1"]) tr:hover td,
.div_text>p>table:not([border="1"]) tr:hover td {
    background: transparent;
}

/* =====================================================
   ИСКЛЮЧЕНИЯ ДЛЯ ТАБЛИЦ-КАРТОЧЕК (Гостевая книга, FAQ, Отзывы и т.п.)
   ===================================================== */

/* Таблицы с class="normal" и border="1" - это карточки сообщений, не стилизуем их как таблицы данных */
table.normal[border="1"],
center>table.normal[border="1"],
center>table[border="1"].normal {
    width: 90% !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
    box-shadow: none !important;
    margin: 5px auto !important;
    border: 1px solid #ccc !important;
}

table.normal[border="1"] td,
center>table.normal[border="1"] td {
    padding: 8px 10px !important;
    border: 1px solid #ddd !important;
    background: #ffffff !important;
    vertical-align: top !important;
    text-align: left !important;
    font-weight: normal !important;
    color: inherit !important;
    white-space: normal !important;
}

/* Заголовки карточек (строки с bgcolor) */
table.normal[border="1"] tr[bgcolor="#e6edf7"] td,
center>table.normal[border="1"] tr[bgcolor="#e6edf7"] td {
    background: #e6edf7 !important;
    padding: 6px 10px !important;
}

/* Отключаем hover-эффекты для таблиц-карточек */
table.normal[border="1"] tr:hover td,
center>table.normal[border="1"] tr:hover td {
   /* background: inherit !important;*/
}

/* Чётные/нечётные строки - отключаем чередование */
table.normal[border="1"] tr:nth-child(even) td {
    background: inherit !important;
}

/* Первая колонка - не центрируем */
table.normal[border="1"] td:first-child {
    font-weight: normal !important;
    text-align: left !important;
    white-space: normal !important;
}

/* font.head2 внутри таких таблиц - сохраняем тёмный цвет для ответов */
table.normal[border="1"] font.head2,
table.normal[border="1"] .head2 {
    color: var(--tstu-primary-dark) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
}

/* ==========================================================================
   ЛЕВОЕ БОКОВОЕ МЕНЮ
   ========================================================================== */

/* Контейнер левого меню - ВАЖНО: сохраняем ширину! */
td[width="250px"],
td[width="250px"][bgcolor="#ebeff2"] {
    width: 250px !important;
    min-width: 250px !important;
    max-width: 250px !important;
    background: linear-gradient(180deg, var(--tstu-bg-section) 0%, #ffffff 100%) !important;
    border-right: 1px solid var(--tstu-border-light) !important;
    padding: 5px !important;
    vertical-align: top !important;
}

/* Заголовки категорий в меню */
.c,
.c1 {
    font-family: var(--tstu-font-family) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 15px 15px 8px 15px !important;
    margin: 0 !important;
}

.c {
    color: var(--tstu-text-muted) !important;
}

.c1 {
    color: var(--tstu-primary) !important;
}

/* Список ссылок в левом меню */
ul.quicklinks-l {
    margin: 10px 10px 15px 10px !important;
    padding: 0 !important;
    list-style: none !important;
    background: #ffffff !important;
    border-radius: var(--tstu-border-radius) !important;
    overflow: hidden !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}

ul.quicklinks-l li {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

ul.quicklinks-l li a {
    display: block !important;
    padding: 10px 15px !important;
    margin: 0 !important;
    font-family: var(--tstu-font-family) !important;
    font-size: 13px !important;
    color: var(--tstu-text-dark) !important;
    text-decoration: none !important;
    border-bottom: 1px solid var(--tstu-border-light) !important;
    background: #ffffff !important;
    transition: all 0.2s ease !important;
    line-height: 1.4 !important;
}

ul.quicklinks-l li:last-child a {
    border-bottom: none !important;
}

ul.quicklinks-l li a:hover {
    background: var(--tstu-bg-light) !important;
    color: var(--tstu-primary) !important;
    padding-left: 20px !important;
}

/* Активный пункт меню */
ul.quicklinks-l li a.a1 {
    background: var(--tstu-primary) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

ul.quicklinks-l li a.a1:hover {
    background: var(--tstu-primary-dark) !important;
    padding-left: 20px !important;
}

/* ==========================================================================
   ФОРМЫ И КНОПКИ
   ========================================================================== */

/* Кнопка поиска */
input[type="submit"],
input[type="reset"],
.INPUT_submit {
    font-family: var(--tstu-font-family) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 6px 20px !important;
    background: linear-gradient(135deg, var(--tstu-primary) 0%, var(--tstu-primary-dark) 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 20px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

input[type="submit"]:hover,
input[type="reset"]:hover,
.INPUT_submit:hover {
    background: linear-gradient(135deg, var(--tstu-accent) 0%, #d14d15 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: var(--tstu-shadow-hover) !important;
}

/* Текстовые поля */
input[type="text"],
.INPUT_text,
textarea {
    font-family: var(--tstu-font-family) !important;
    font-size: 14px !important;
    padding: 10px 15px !important;
    border: 2px solid var(--tstu-border-light) !important;
    border-radius: var(--tstu-border-radius) !important;
    background: #ffffff !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

input[type="text"]:focus,
.INPUT_text:focus,
textarea:focus {
    border-color: var(--tstu-primary) !important;
    box-shadow: 0 0 0 3px rgba(10, 81, 161, 0.15) !important;
    outline: none !important;
}

/* ==========================================================================
   ВСПЛЫВАЮЩИЕ ПОДСКАЗКИ (POPUPS)
   ========================================================================== */

.bar {
    border: none !important;
    border-radius: var(--tstu-border-radius) !important;
    background: #ffffff !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2) !important;
    padding: 15px !important;
    z-index: 1000 !important;
}

.bar ul {
    margin: 0 !important;
    padding: 0 !important;
}

.bar ul li {
    background: transparent !important;
    padding: 8px 0 !important;
    border-left: none !important;
    margin: 0 !important;
}

.bar ul li:hover {
    transform: none !important;
}

.bar ul li a {
    color: var(--tstu-primary) !important;
    font-size: 14px !important;
}

.bar ul li a:hover {
    color: var(--tstu-accent) !important;
}

/* ==========================================================================
   ФУТЕР
   ========================================================================== */

/* Нижняя часть страницы */
table[bgcolor="#ebeff2"] {
    background: var(--tstu-bg-section) !important;
}

.bottom_text {
    font-family: var(--tstu-font-family) !important;
    font-size: 12px !important;
    color: var(--tstu-text-muted) !important;
    line-height: 1.6 !important;
}

.bottom_text a {
    color: var(--tstu-primary) !important;
}

.bottom_text a:hover {
    color: var(--tstu-accent) !important;
}

/* ==========================================================================
   УВЕДОМЛЕНИЯ И БАННЕРЫ (Cookie consent)
   ========================================================================== */

.YMdiv {
    background: linear-gradient(135deg, var(--tstu-primary) 0%, var(--tstu-primary-dark) 100%) !important;
    border-radius: 0 !important;
    box-shadow: 0 -5px 30px rgba(0, 0, 0, 0.3) !important;
    font-family: var(--tstu-font-family) !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

.knYMdiv {
    background: #ffffff !important;
    color: var(--tstu-primary) !important;
    font-family: var(--tstu-font-family) !important;
    font-weight: 600 !important;
    border-radius: 25px !important;
    padding: 3px 30px !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
}

.knYMdiv:hover {
    background: var(--tstu-accent) !important;
    color: #ffffff !important;
    transform: scale(1.05) !important;
}

/* ==========================================================================
   АДАПТИВНОСТЬ ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ
   ========================================================================== */

@media screen and (max-width: 768px) {

    /* Уменьшаем размеры шрифтов */
    .zag {
        font-size: 22px !important;
    }

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

    .head4 {
        font-size: 18px !important;
    }

    /* Таблицы становятся прокручиваемыми */
    .div_text table,
    table[border="1"] {
        display: block !important;
        overflow-x: auto !important;
        white-space: nowrap !important;
    }

    /* Списки компактнее */
    .div_text ul li,
    .div_text ol li {
        padding: 8px 10px 8px 25px !important;
    }

    /* Левое меню скрывается или адаптируется */
    td[width="250px"] {
        width: 100% !important;
        display: block !important;
    }
}

/* ==========================================================================
   АНИМАЦИИ И ПЕРЕХОДЫ
   ========================================================================== */

/* Плавное появление элементов при загрузке */
.div_text,
.div_text ul li,
.div_text table {
    animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ==========================================================================
   ДОПОЛНИТЕЛЬНЫЕ УЛУЧШЕНИЯ
   ========================================================================== */

/* Убираем устаревшие стили рамок */
table {
    border-collapse: collapse !important;
}

/* Скрываем устаревшие HR */
hr {
    border: none !important;
    height: 2px !important;
    background: linear-gradient(90deg, transparent, var(--tstu-border-light), transparent) !important;
    margin: 25px 0 !important;
}

/* Стиль для внешних ссылок */
a[target="_blank"]::after {
    content: ' ↗' !important;
    font-size: 0.85em !important;
    opacity: 0.6 !important;
}

/* Стиль для ссылок на почту */
a[href^="mailto:"]::before {
    content: '✉ ' !important;
}

/* Стиль для ссылок на телефон */
a[href^="tel:"]::before {
    content: '📞 ' !important;
}

/* Выделение текста */
::selection {
    background: var(--tstu-primary) !important;
    color: #ffffff !important;
}

::-moz-selection {
    background: var(--tstu-primary) !important;
    color: #ffffff !important;
}

/* Скроллбар для WebKit браузеров */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: var(--tstu-bg-light);
}

::-webkit-scrollbar-thumb {
    background: var(--tstu-primary);
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--tstu-primary-dark);
}

/* Proposed changes for tstu-redesign-addon.css */
.div_text ul[type="square"] li {
    padding: 6px 15px 6px 5px !important;
    /* Reduced from 12px */
    margin-bottom: 4px !important;
    /* Reduced from 8px */
}
.div_text ul[type="square"] li a {
    padding: 13px 15px 6px 35px !important;
    position: relative;
}
.div_text ul[type="square"] li .head3,
.div_text ul[type="square"] li .head4 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
    font-size: 16px !important;
    /* Slightly smaller for compactness */
    display: inline !important;
    /* Change from inline-block to prevent margin/padding issues */
}

/* Adjust the icon position slightly */
.div_text ul[type="square"] li::before {
    top: 8px !important;
    /* Centered with smaller padding */
}

/* Sidebar width for department pages */
td[width="204px"],
td[width="204px"][bgcolor="#eaf4fd"] {
    width: 250px !important;
    /* Force to standard width if possible, or keep original and adapt */
    /* Looking at the HTML, it's 204px. If I increase it, it might break the table layout. 
       Usually, it's safer to keep the width but apply the new styles. */
    background: linear-gradient(180deg, var(--tstu-bg-section) 0%, #ffffff 100%) !important;
    border-right: 1px solid var(--tstu-border-light) !important;
    padding: 5px !important;
    vertical-align: top !important;
}

/* Modernizing quicklinks-kaf */
ul.quicklinks-kaf {
    margin: 10px 10px 15px 10px !important;
    padding: 0 !important;
    list-style: none !important;
    background: #ffffff !important;
    border-radius: var(--tstu-border-radius) !important;
    overflow: hidden !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}

ul.quicklinks-kaf li {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

ul.quicklinks-kaf li a {
    display: block !important;
    padding: 10px 15px !important;
    margin: 0 !important;
    font-family: var(--tstu-font-family) !important;
    font-size: 13px !important;
    color: var(--tstu-text-dark) !important;
    text-decoration: none !important;
    border-bottom: 1px solid var(--tstu-border-light) !important;
    background: #ffffff !important;
    transition: all 0.2s ease !important;
    line-height: 1.4 !important;
}

ul.quicklinks-kaf li a.a1 {
    background: var(--tstu-primary) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

ul.quicklinks-kaf li a:hover {
    background: var(--tstu-bg-light) !important;
    color: var(--tstu-primary) !important;
    padding-left: 20px !important;
}

/* Modernizing the menu title */
ul.quicklinks-kaf center {
    font-family: var(--tstu-font-family) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 15px 15px 8px 15px !important;
    margin: 0 !important;
    color: var(--tstu-primary) !important;
    text-align: left !important;
    /* Move to left like others */
    min-height: 50px;
}

/* ==========================================================================
   ALUMNI PAGE STYLES (������������� - ����������)
   ========================================================================== */

/* Fix for text content paragraphs */
.div_abz5 {
    font-family: var(--tstu-font-family) !important;
    font-size: var(--tstu-font-size-base) !important;
    line-height: 1.6 !important;
    text-align: justify !important;
    margin-bottom: 15px !important;
    color: var(--tstu-text-dark) !important;
}

/* Fix for list items */
.div_li5 {
    font-family: var(--tstu-font-family) !important;
    font-size: var(--tstu-font-size-base) !important;
    line-height: 1.5 !important;
    margin-bottom: 8px !important;
    padding-left: 5px !important;
    color: var(--tstu-text-dark) !important;
}

/* Fix for plan table */
.tb {
    border: 1px solid var(--tstu-border-light) !important;
    padding: 8px 12px !important;
    font-family: var(--tstu-font-family) !important;
    font-size: 14px !important;
    vertical-align: middle !important;
}

.tb b {
    color: var(--tstu-primary-dark) !important;
}

center>a.kvs {
    color: #fff !important;
}

#gmenu li a {
    color: #fff !important;
}

#gmenu li:hover a {
    background: #170b5a !important;
}
#Table_01 input[type="submit"]{
	margin-top: -1px;
}
#nav a:hover{
	border-bottom-color: transparent !important;
}
.div_text > ol ul[type="square"] > li::before,
.div_text ul[type="square"] .head2+li a::before
{
    display: none !important;
	visibility: hidden !important;
}
.div_text ul[type="square"] li {
     border: 0px solid var(--tstu-border-light) !important; 
     border-left: 0px solid var(--tstu-primary) !important;
}
tr[bgcolor="#b7d0ff"] .normal{
	color:#000;
}
.bar  ul[type="square"] li a::before {
    content: '' !important;
    position: absolute !important;
    left: 10px !important;
    top: 12px !important;
    font-size: 14px !important;
}
.div_text img[src*="structure/inst/img/"] { 
    border-radius: 8px;
 
}
#nav h2 {
	line-height: 20px !important;
}