html, body {background: #fff; margin: 0px; padding: 0px; font: 16px 'Arial'; color: #1e1a17; user-select: none;}
a, a img {border: 0px;}
p {margin: 0px; padding: 0px 0px 6px 0px; user-select: none;}
table, table td {padding: 0px; margin: 0px; border-collapse: collapse; border: 0px; vertical-align: top;}

/* читать еще - мобильная адаптация */
.read-more-promo {
  display: inline;
  color: #144492;
  font-weight: 500;
  position: relative;
  padding-bottom: 2px; /* Добавляем отступ для лучшего касания */
}

.read-more-promo:before {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #698EC9, #144492);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s ease;
}

/* Увеличиваем область касания для мобильных */
@media (pointer: coarse) {
  .read-more-promo {
    padding: 8px 4px; /* Увеличиваем область касания */
    margin: -8px -4px; /* Компенсируем увеличение отступов */
  }
}

/* Анимация при наведении или активации (для тач-устройств) */
.read-more-promo:hover:before,
.read-more-promo:focus:before,
.read-more-promo:active:before {
  transform: scaleX(1);
  transform-origin: left;
}

/* Улучшаем визуальную обратную связь для тач-устройств */
.read-more-promo:active {
  opacity: 0.8;
  transition: opacity 0.2s;
}

/* стиль для журнала */

.journal {
  background: linear-gradient(transparent 80%, #DDB30B 20%);
}

/* Общие стили для интервью (работают на всех устройствах) */
.question {
  border-left: 4px solid #DDB30B;
  font-weight: 550;
  padding-left: 15px;
  background: #f8f9fa;
  padding: 10px 15px;
  margin-bottom: 10px;
}

.answer {
  border-left: 4px solid #698EC9;
  padding-left: 15px;
  background: #f8f9fa;
  padding: 10px 15px;
  margin-bottom: 30px;
}

/* Стили для мобильных устройств (экран до 768px) */
@media (max-width: 768px) {
  .question, .answer {
    padding: 8px 12px; /* Уменьшаем отступы */
    margin-bottom: 15px; /* Уменьшаем отступ снизу */
    border-left-width: 3px; /* Делаем границу тоньше */
    font-size: 0.95em; /* Немного уменьшаем размер шрифта */
  }
  
  .answer {
    margin-bottom: 20px; /* Для ответов оставляем чуть больше места */
  }
}

/* Дополнительные стили для очень маленьких экранов (до 480px) */
@media (max-width: 480px) {
  .question, .answer {
    padding: 6px 10px;
    border-left-width: 2px;
    font-size: 0.9em;
  }
  
  .question {
    font-weight: 500; /* Делаем шрифт немного менее жирным */
  }
}

/* врезка */

.inset {
  border: 1px solid #e1e8f2;
  padding: 1.2em;
  margin: 1.8em 0;
  border-radius: 8px;
  color: #4a6da7;
  background-color: transparent;
}

@media (max-width: 768px) {
  .inset {
    padding: 1em;
    margin: 1.2em 0;
  }
}

/* Дополнительная адаптация для очень маленьких экранов */
@media (max-width: 480px) {
  .inset {
    padding: 0.6em 0.6em 0.6em 2.2em; /* Еще меньше отступы */
    margin: 1em 0;
  }
}

/* оформление эксперта */

.expert-info {
    display: inline-block;
    margin-top: 15px;
    margin-bottom: 15px;
    padding: 8px 15px;
    background: #f5f7fa;
    border-radius: 5px;
    font-size: 0.85em;
}

/* Стиль для блока выводов/заключения */
.conclusion {
    background-color: #f5f7fa;
    border-left: 4px solid #144492;
    padding: 1.2em 1.5em;
    margin: 2em 0;
    border-radius: 0 4px 4px 0;
    position: relative;
}

.conclusion:before {
    content: "Вывод";
    display: block;
    font-weight: 600;
    color: #144492;
    font-size: 1.1em;
    margin-bottom: 0.8em;
    font-style: normal;
}

.conclusion p:last-child {
    margin-bottom: 0;
}

/* Мобильные стили */
@media (max-width: 768px) {
    .conclusion {
        padding: 1em;
        margin: 1.5em 0;
        border-left-width: 3px;
    }
    
    .conclusion:before {
        font-size: 1em;
        margin-bottom: 0.6em;
    }
}

@media (max-width: 480px) {
    .conclusion {
        padding: 0.8em;
        margin: 1em 0;
    }
    
    .conclusion:before {
        font-size: 0.95em;
    }
}

/* чередование абзацев фоном */
.enum-item-1 { background-color: #f8f8f8; padding: 12px; border-radius: 4px; }
.enum-item-2 { background-color: #f0f5ff; padding: 12px; border-radius: 4px; }

/* Цитата дня */
blockquote {
  position: relative;
  padding: 1.5em 2em 1.5em 3em; /* Больше места слева для иконки */
  margin: 2em 0;
  background: #f5f7fa; /* Светлый фон */
  border-radius: 8px; /* Скругленные углы */
  font-size: 1.1em;
  line-height: 1.6;
  color: #333; /* Читаемый текст */
  border-left: 3px solid #698EC9; /* Акцентная полоса */
  box-shadow: 0 2px 4px rgba(0,0,0,0.05); /* Легкая тень */
  font-family: 'Georgia', serif; /* Классический шрифт для цитат */
}

blockquote:before {
  content: "\201C"; /* Символ кавычки */
  font-family: Georgia, serif;
  font-size: 4em; /* Крупная кавычка */
  color: #e0e6ed; /* Светлый цвет */
  position: absolute;
  left: 15px;
  top: 15px;
  line-height: 1; /* Фикс выравнивания */
}

blockquote cite {
  display: block;
  font-size: 0.85em;
  color: #6c757d; /* Серый цвет для автора */
  margin-top: 1em;
  font-style: normal; /* Убираем курсив */
  font-weight: 500; /* Полужирный */
}

blockquote cite:before {
  content: "\2014 \2009"; /* Тире и тонкий пробел */
}

blockquote:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  transition: all 0.3s ease;
}

/* Стиль для выделения имени спикера в цитате */
blockquote .speaker {
  font-weight: bold;
  color: #2c3e50; /* Темно-синий/серый для хорошей читаемости */
}

/* Адаптация для мобильных */
@media (max-width: 768px) {
  blockquote {
    padding: 1em 1.5em 1em 2.5em; /* Уменьшаем отступы */
    font-size: 1em; /* Чуть меньший размер шрифта */
    margin: 1.5em 0; /* Меньшие отступы сверху/снизу */
  }
  
  blockquote:before {
    font-size: 3em; /* Меньшая кавычка */
    left: 10px;
    top: 10px;
  }
  
  blockquote cite {
    font-size: 0.8em; /* Меньший размер для подписи */
  }
  
  /* Убираем hover-эффекты на тач-устройствах */
  @media (hover: none) {
    blockquote:hover {
      transform: none;
      box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    }
  }
}

/* Для очень маленьких экранов */
@media (max-width: 480px) {
  blockquote {
    padding: 0.8em 1em 0.8em 2em;
    font-size: 0.95em;
  }
  
  blockquote:before {
    font-size: 2.5em;
    left: 8px;
    top: 8px;
  }
}

/* критика */

.criticism {
  background-color: #fef9f9;
  border-left: 4px solid #ffd8d8;
  padding: 12px 15px;
  margin: 15px 0;
  color: #333;
  font-style: normal;
  border-radius: 0 4px 4px 0;
}

.criticism-title {
  font-weight: bold;
  color: #d63031;
  margin-bottom: 8px;
  display: inline-block;
}

/* похвала */
.praise {
  background-color: #f9fdf8;
  border-left: 4px solid #d8f5d8;
  padding: 12px 15px;
  margin: 15px 0;
  color: #333;
  font-style: normal;
  border-radius: 0 4px 4px 0;
}

.praise-title {
  font-weight: bold;
  color: #2b8a3e;
  margin-bottom: 8px;
  display: inline-block;
}

/* стиль interview */

.interview {
    padding: 10px;
    margin-left: 0px;
    margin-top: 15px;
    margin-bottom: 8px;

    background: linear-gradient(to right, #ACACAC, #ffffff);
    color: #000;

    text-align: left;
    font-size: 17pt;
}

/* хлебные крошки */

.breadcrumbs {
  font-size: 14px;
  margin: 0 0 20px 0;
  padding: 8px 15px;
  background: #f5f5f5;
  border-radius: 4px;
}

.breadcrumbs a {
  color: #144492;
  text-decoration: none;
  transition: color 0.2s;
}

.breadcrumbs a:hover {
  color: #DDB30B;
  text-decoration: underline;
}

.breadcrumbs .separator {
  margin: 0 8px;
  color: #aaa;
}

/* подпись к фото — основная и inline в тексте */
.image-caption,
.inline-img figcaption {
  font-size: 0.85em;
  color: #698EC9;
  padding: 4px 6px;
  border-bottom: 1px solid rgba(105, 142, 201, 0.3);
  background: linear-gradient(to right, rgba(105, 142, 201, 0.02), rgba(105, 142, 201, 0.09));
  margin-bottom: 15px;
  line-height: 1.4;
  border-radius: 2px;
}
.image-caption:hover,
.inline-img figcaption:hover {
  background-color: rgba(105, 142, 201, 0.1);
}

/* Общие стили для ВСЕХ ссылок */
a {
    color: #144492;
    text-decoration: underline;
    transition: all 0.2s;
}

/* Стили для внешних ссылок (переопределяют общие) */
a[href^="http://"]:not([href*="innovanews.ru"]),
a[href^="https://"]:not([href*="innovanews.ru"]) {
    text-decoration: underline dotted !important;
}

/* Ховер-эффекты (для всех ссылок) */
a:hover {
    color: #DDB30B;
}

/* Отмена эффектов для изображений внутри ссылки */
a:hover img {
    background: none !important;
    box-shadow: none !important;
    color: inherit !important;
}

/* приглашение в телеграм */

.telegram-cyber {
  padding: 10px;
  background: #fff;
  border: 1px solid #DDB30B;
  color: #DDB30B;
  font-family: 'Courier New';
  margin: 30px 0;
  position: relative;
  overflow: hidden;
}

.telegram-cyber-text {
  margin-left: 30px;
  text-shadow: 0 0 5px rgba(0, 243, 255, 0.5);
  animation: glitch 2s infinite alternate;
}

.telegram-cyber-link {
  color: #DDB30B !important;
  text-decoration: none;
  position: relative;
  display: inline-block;
  margin-top: 10px;
}

.telegram-cyber-link:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #DDB30B;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.3s;
}

.telegram-cyber-link:hover:after {
  transform: scaleX(1);
  transform-origin: left;
}

@keyframes glitch {
  0% { transform: translate(0); }
  20% { transform: translate(-2px, 2px); }
  40% { transform: translate(-2px, -2px); }
  60% { transform: translate(2px, 2px); }
  80% { transform: translate(2px, -2px); }
  100% { transform: translate(0); }
}

.hr {border-bottom: 1px solid #999999; margin: 20px 0px; clear: both;}
.hrnc {border-bottom: 1px solid #504f4d; margin: 20px 0px;}

#whole {width: 10%; margin-left: 1px; margin-top: 50px; position: absolute;}

@media (max-width: 768px) {
  blockquote {
    padding: 1em 1.5em 1em 2.5em;
    font-size: 1em;
  }
  blockquote:before {
    font-size: 3em;
    left: 10px;
  }
}

/* монтаж картинки в контейнере */

img,
.inline-img img {
    object-fit: cover;
    margin: 5px 0px;
    filter: brightness(1.0) contrast(1.1) saturate(0.85);
    transition: filter 0.3s ease;
    border-radius: 6px;
}
img:hover,
.inline-img img:hover {
    filter: brightness(1.01) contrast(1.2) saturate(0.9);
}

/* Меню в шапке и лого */
#header {width: 81%; margin-left: 15px auto 10px auto; position: relative;}
.menu {margin: 0px; padding: 0px; list-style: none; display: inline;}
.menu li {margin-left: 5px; padding: 0px; list-style: none; display: inline; color: #1e1a17;}
.menu li a {color: #1e1a17; text-decoration: none; margin-right: 5px;}
.menu li a:hover {color: #f00; text-decoration: none; box-shadow: 0 2px 4px rgba(0,0,0,0.1);}
#header h1 {
    position: relative;
    margin-left: 100px;
    padding: 0px;
    font: bold 28px 'Arial';
    text-transform: uppercase;
    color: #1e1916;
    top: -3px;
    right: 18px;
}

/* Стили при наведении на ссылку внутри h1 */
#header h1 a {
    color: inherit; /* Наследует цвет от h1 */
    text-decoration: none; /* Убирает подчёркивание */
}

#header h1 a:hover {
    color: #DDB30B;
    background-color: #698EC9;
}

/* Навигация под шапкой */

#nav {width: 81%; background: #000; margin: 0px; padding: 0px; margin: 0px auto; height: 30px;}
#nav li {margin: 0px 1px 0px 10px; padding: 0px; display: inline; list-style: none; font: 11px/27px 'Arial';}
#nav li a {color: #fff; text-decoration: underline;}
#nav li a:hover {color: #f00; text-decoration: underline; box-shadow: 0 2px 4px rgba(0,0,0,0.1);}

nav {
height: 40px;
width: 100%;
background: #fff;
font-size: 9pt;
font-family: 'Arial', sans serif, PT Sans;
font-weight: regular;
position: relative;
border bottom: 2px solid #283744;
}
nav ul {
padding: 0;
margin: 0 auto;
width: 900px;
height: 40px;
}

nav li {
display: inline;
float: left;
}

nav a {
color: #000000;
display: inline-block;
list-style: none;
width: 100px;
text-align: center;
text-decoration: none;
line-height: 30px;
}

nav li a {
	border-right: 0px solid #576979;
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
}
nav li:last-child a {
	border-right: 0;
}

nav a:hover, nav a:active {
	background-color: #fff;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

nav a#pull {
	display: none;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}
.clearfix:after {
    clear: both;
}
.clearfix {
    *zoom: 1;
}

#mobile-menu {
                display: none;
}

/* меню рубрик */

nav1 {
height: 40px;
width: 100%;
background: #000000;
font-size: 12px;
font-family: 'Arial', sans serif, PT Sans;
font-weight: regular;
position: relative;
border bottom: 2px solid #283744;
}
nav1 ul {
padding: 0;
margin: 0 auto;
width: 1300px;
height: 40px;
}

nav1 li {
display: inline;
float: left;
}

nav1 a {
color: #fff;
background-color: #000000;
display: inline-block;
list-style: none;
width: 80px;
text-align: center;
text-decoration: none;
line-height: 30px;
}

nav1 li a {
	border-right: 0px solid #576979;
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
}
nav1 li:last-child a {
	border-right: 0;
}

nav1 a:hover, nav a:active {
        color: #DDB30B;
	background-color: #000000;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

nav1 a#pull {
	display: none;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}
.clearfix:after {
    clear: both;
}
.clearfix {
    *zoom: 1;
}

/* Стили меню ТОЛЬКО для мобильных устройств */
@media (max-width: 1300px) {

    /* Гамбургер-кнопка - компактный квадратик */
    .hamburger-menu {
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        cursor: pointer;
        position: fixed;
        top: 10px;
        left: 10px;
        z-index: 1001;
        background-color: rgba(255, 255, 255, 0.9);
        border-radius: 5px;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
        width: 44px;
        height: 44px;
        padding: 0;
    }

    .hamburger-menu .bar {
        width: 22px;
        height: 2.5px;
        background-color: #383838;
        margin: 3px 0;
        transition: 0.4s;
        display: block;
    }

    .hamburger-menu.active .bar:nth-child(1) {
        transform: rotate(-45deg) translate(-4px, 4px);
    }

    .hamburger-menu.active .bar:nth-child(2) {
        opacity: 0;
    }

    .hamburger-menu.active .bar:nth-child(3) {
        transform: rotate(45deg) translate(-4px, -4px);
    }

    #mobile-menu {
        display: none;
        position: fixed;
        inset: 0;
        width: 100%;
        height: 100%;
        max-height: 100dvh;
        background-color: rgba(0, 0, 0, 0.95);
        z-index: 1000;
        overflow: hidden;
        flex-direction: column;
    }

    #mobile-menu.active {
        display: flex !important;
    }

    .mobile-menu-header {
        flex: 0 0 auto;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding: 12px 16px 8px;
        z-index: 1002;
    }

    .mobile-menu-scroll {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: scroll;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
        scrollbar-width: auto;
        scrollbar-color: rgba(255, 255, 255, 0.55) rgba(255, 255, 255, 0.12);
    }

    .mobile-menu-scroll::-webkit-scrollbar {
        width: 12px;
    }

    .mobile-menu-scroll::-webkit-scrollbar-track {
        background: rgba(255, 255, 255, 0.08);
        border-radius: 6px;
    }

    .mobile-menu-scroll::-webkit-scrollbar-thumb {
        background: rgba(255, 255, 255, 0.45);
        border-radius: 6px;
        border: 2px solid rgba(0, 0, 0, 0.25);
    }

    .mobile-menu-scroll::-webkit-scrollbar-thumb:hover {
        background: rgba(255, 255, 255, 0.65);
    }

    .mobile-menu-container {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 15px;
        padding: 8px 20px 32px 20px;
        max-width: 600px;
        width: 100%;
        margin: 0 auto;
        box-sizing: border-box;
    }

    #mobile-menu a {
        display: flex !important;
        align-items: center;
        justify-content: center;
        color: white !important;
        font-size: 16px;
        padding: 15px 10px !important;
        text-decoration: none;
        background-color: rgba(255, 255, 255, 0.1);
        border-radius: 8px;
        transition: 0.3s;
        text-align: center;
        min-height: 60px;
        border-bottom: none !important;
        min-width: 0;
        box-sizing: border-box;
    }

    #mobile-menu a:hover {
        background-color: rgba(255, 255, 255, 0.2);
        transform: scale(1.05);
    }

    #mobile-menu .close-menu {
        position: relative;
        box-sizing: border-box;
        -webkit-appearance: none;
        appearance: none;
        margin: 0;
        padding: 0;
        border: none;
        overflow: visible;
        width: 50px;
        height: 50px;
        cursor: pointer;
        background-color: rgba(255, 255, 255, 0.2);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        transition: 0.3s;
        color: transparent;
    }

    #mobile-menu .close-menu:hover {
        background-color: rgba(255, 255, 255, 0.4);
        transform: rotate(90deg);
    }

    #mobile-menu .close-menu::before,
    #mobile-menu .close-menu::after {
        content: '';
        position: absolute;
        left: 50%;
        top: 50%;
        width: 24px;
        height: 3px;
        background-color: #fff;
        border-radius: 1px;
    }

    #mobile-menu .close-menu::before {
        transform: translate(-50%, -50%) rotate(45deg);
    }

    #mobile-menu .close-menu::after {
        transform: translate(-50%, -50%) rotate(-45deg);
    }
}

@media (max-width: 480px) {
    .hamburger-menu {
        width: 40px !important;
        height: 40px !important;
        top: 8px;
        left: 8px;
    }

    .hamburger-menu .bar {
        width: 20px;
        height: 2px;
        margin: 2.5px 0;
    }

    .mobile-menu-container {
        gap: 10px;
        padding: 4px 15px 24px 15px;
    }

    .mobile-menu-header {
        padding: 10px 12px 6px;
    }

    #mobile-menu .close-menu {
        width: 45px;
        height: 45px;
    }

    #mobile-menu a {
        font-size: 14px;
        padding: 12px 8px !important;
        min-height: 50px;
    }
}

/* На десктопе скрываем */
@media (min-width: 1301px) {
    .hamburger-menu {
        display: none !important;
    }

    #mobile-menu {
        display: none !important;
    }
}

 @media (max-width: 1300px) {
            nav, nav1 {
                display: none;
            }
            
            .hamburger-menu {
                display: block;
                position: relative;
                z-index: 100;
            }
            
            /* Обертка для позиционирования */
            .menu-container {
                position: relative;
                display: inline-block;
            }
        }

/* Тело страницы */
#main {width: 81%; max-width: 81%; margin: 12px auto;}

@media screen and (max-width: 768px) {
#header {width: 95%;}
#main {width: 90%; display: flex;}
#whole {display: none}
#leftcol {width: 100% !important; display: block}
.news_top {margin: 0px 0px 0px 10px; width: 100%; max-width: 768px;}
#rightcol {display: none}
.three {display: none}
.lc {float: left; width: 100%; margin-left: 0px !important; overflow: visible; display: flex}
.rc {float: left; width: 100%; margin-left: 0px !important; overflow: visible; display: flex}
#footer {clear: both; height: 50px; border-top: 1px solid #666; width: 100%; position: relative;}
.breakoutr {float: right; width: 100%; padding: 10px; background-color: #E6E6E6; color: #000; text-align: left; font-size: 9pt;}
.allnews {width: 90% !important; overflow: visible; display: inline;}
.newsblock {float: left; width: 45%; overflow: visible;}
.comment {display: list-item; font-size: 13px; width: 100%}
#main1 {max-width: 90%;}
#main2 {max-width: 90%;}
}

@media screen and (max-width: 480px) {
#header {width: 95%;}
#main {width: 90%; display: flex}
#whole {display: none}
#leftcol {width: 100% !important; display: block}
.news_top {margin: 0px 0px 0px 10px; width: 100%; max-width: 480px}
#rightcol {display: none}
.three {display: none}
.lc {float: left; width: 100%; overflow: visible; display: inline}
.rc {float: left; width: 100%; margin-left: 0px !important; overflow: visible; display: inline}
#footer {clear: both; height: 50px; border-top: 1px solid #666; width: 100%; position: relative;}
.breakoutr {float: right; width: 90%; padding: 10px; background-color: #E6E6E6; color: #000; text-align: left; font-size: 9pt;}
.allnews {width: 90% !important; overflow: visible; display: inline;}
.newsblock {float: left; width: 45%; overflow: visible;}
.comment {display: list-item; font-size: 13px; width: 90%}
#main1 {max-width: 90%;}
#main2 {max-width: 90%;}
}

@media screen and (max-width: 320px) {
#header {width: 95%;}
#main {width: 90%; display: flex}
#whole {display: none}
#leftcol {width: 100% !important; display: block}
.news_top {margin: 0px 0px 0px 10px; width: 100%; max-width: 320px}
#rightcol {display: none}
.three {display: none}
.lc {float: left; width: 100%; overflow: visible; display: inline}
.rc {float: left; width: 100%; margin: 0px; overflow: visible; display: inline}
#footer {clear: both; height: 50px; border-top: 1px solid #666; width: 100%; position: relative;}
.breakoutr {float: right; width: 90%; padding: 10px; background-color: #E6E6E6; color: #000; text-align: left; font-size: 9pt;}
.allnews {width: 90% !important; overflow: visible; display: inline;}
.newsblock {float: left; width: 45%; overflow: visible;}
.comment {display: list-item; font-size: 13px; width: 90%}
#main1 {max-width: 90%;}
#main2 {max-width: 90%;}
}

/* Планшеты (вертикально) */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  #main { width: 90%; }
  .newsblock { width: 48%; } /* Две колонки с небольшим отступом */
  #rightcol { display: none } /* скрыть */
}

/* Планшеты (горизонтально) */
@media screen and (min-width: 1025px) and (max-width: 1280px) {
  #main { width: 85%; }
  .newsblock { width: 32%; } /* Три колонки */
  #rightcol { display: none }
}

/* Тело страницы для ссылки */
#main1 {width: 700px; max-width: 81%; margin-left: 140px; float: left;}
#main2 {width: 700px; max-width: 81%; margin-left: 10px; float: left;}

/* Левая колонка */
#leftcol {width: 735px; float: left;}
.news_top {margin: 0px 0px 0px 10px; width: 100%;}
.news_top img {margin-bottom: 5px;}
html:root* .news_top img {margin-bottom: 5px; margin-right: 10px;}
.news_top .image {padding-right: 10px;}
.img img {float: left; margin: 0px 10px 5px 0px;}
.title, .title a, h3 a {font-size: 19px; color: #144492; text-decoration: none;}
.title a:hover, h3 a:hover {font-size: 19px; color: #DDB30B; text-decoration: underline; box-shadow: 0 2px 4px rgba(0,0,0,0.1);}
a.opinions {font: 12px 'Arial'; text-decoration: underline; color: #333;}
a.opinions:hover {font: 9px 'Arial'; text-decoration: underline; color: #DDB30B;}

/* Новости в три колонки */
.three {margin: 15px 0px 0px 10px; padding: 0px; list-style: none; overflow: visible; text-align: left;}
.three .title {text-align: left !important;}
.three li {margin: 0px 16px 0px 0px; padding: 0px; list-style: none; display: block; float: left; width: 225px;}
.three li .title {display: block; margin: 15px 0px 10px 0px;}

/* Новость */
.news {margin-left: 10px;}
.news_image a:hover {background-color: transparent !important;}
h3 {margin: 10px; padding: 10px;}
h4 {margin: 10px; padding: 10px;}

.news-detail .author { margin-bottom:6px; }
.news-detail .source { margin-bottom:6px; }
.news-detail .date {color:#999;}

/* автор и дата */

.news_info {
    opacity: 0;
    animation: fadeIn 0.5s ease forwards;
}

@keyframes fadeIn {
    to { opacity: 1; }
}

.news-author {
    font-weight: bold;
    color: #698EC9;
    margin-bottom: 15px;  /* Отступ снизу */
}

.news-date {
    color: #7f8c8d;
    font-size: 0.85em;
}

.news-source {
    color: #5a6a7a;
    font-size: 0.85em;
    margin-top: 4px;
    margin-bottom: 15px;  /* Отступ снизу */
    display: block;
}

.news-source a {
    color: #698EC9;  /* Как у автора, но можно сделать менее ярким */
    text-decoration: none;  /* Убрать подчеркивание */
    transition: color 0.2s ease;  /* Плавное изменение цвета */
}

.news-source a:hover {
    color: #DDB30B;  /* Темнее при наведении */
    text-decoration: underline;  /* Подчеркивание при наведении */
}

/* Двойная колонка новостей */
.lc {float: left; width: 347px; overflow: visible;}
.allnews {width: 780px; overflow: visible; position: relative;  margin-right: -200px;}
.newsblock {float: left; width: 347px; overflow: visible; margin-right: 40px;}
.rc {float: left; width: 347px; margin-left: 40px; overflow: visible;}

h2 {
    /* Размеры и отступы (сохранены) */
    margin: 0 0 20px 0;
    padding: 0 0 0 15px;
    height: 25px;

    /* Цветовая гамма (сохранена) */
    background: #1f1a17;
    color: #fff;
    border-left: 4px solid #DDB30B;

    /* Типографика — более современная и читаемая */
    font: normal 14px/25px system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.5px;

    /* Современные улучшения */
    display: flex;
    align-items: center;
    box-sizing: border-box;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

.space {padding-bottom: 20px;}
.double {margin-bottom: 20px;}
.double span {display: block; margin-bottom: 10px;}
.rc .double {margin-left: 0px !important;}

/* Правая колонка */
#rightcol {margin-left: 760px; width: 255px;}

/* Блоки */

/* Main block container */
.block_lenta {
  font-size: 13px;
  width: 100%;
  margin-top: 10px;
}

/* Image container styles */
.block_lenta .image {
  padding-right: 10px;
}

/* Root-level image container override */
html:root*.block_lenta .image {
  padding: 0 !important; /* Reset padding */
}

html:root*.block_lenta .image img {
  margin-right: 10px;
}

/* Full-width image modifier */
.full .image {
  padding-right: 1px !important; /* Minimal padding */
}

/* Link styles */
.block_lenta a {
  display: inline-block; /* Better hover area */
  font-size: 13px;
  color: #144492;
  text-decoration: underline;
  transition: all 0.2s ease; /* Smooth hover effects */
}

/* Link hover state */
.block_lenta a:hover {
  color: #DDB30B;
  text-decoration: underline;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  transform: translateY(-1px); /* Subtle lift effect */
}

/* Table cell styling */
.block_lenta td {
  padding-bottom: 10px;
  vertical-align: top; /* Better alignment for content */
}

/* Облако тэгов */
.cloud, .cloud li {margin: 0px; padding: 0px; list-style: none; display: inline;}
.cloud a {color: #1e1a17; text-decoration: none; margin: 0px 1px;}
.cloud a:hover {color: #DDB30B; text-decoration: none; box-shadow: 0 2px 4px rgba(0,0,0,0.1);}
.cloud li.c6 {font-size: 34px;}
.cloud li.c5 {font-size: 30px;}
.cloud li.c4 {font-size: 26px;}
.cloud li.c3 {font-size: 22px;}
.cloud li.c2 {font-size: 18px;}
.cloud li.c1 {font-size: 14px;}
.cloud li.c0 {font-size: 10px;}
.all {display: block; font-size: 11px !important; margin-top: 15px;}

/* Подвал */
#footer {clear: both; height: 50px; border-top: 1px solid #666; width: 79%; margin: 0px auto; padding-left: 19px; padding-top: 15px; position: relative;}
/* #footer span {display: block; margin-left: -7px;} */

.pagination-wrap { clear:both; height:23px; margin-right:10px; font-size:13px; padding-bottom: 10px;PADDING-RIGHT: 30px;}
.pagination-wrap .pagination { float:right; }
.pagination-wrap .pagination .separator { padding:3px 10px; margin:0; }
.pagination-wrap a { color:#0971B2; display:block; float:left; padding:4px 5px; margin-left:3px; text-transform:uppercase; }
.pagination-wrap span { display:block; float:left; color:#ccc; margin-left:3px; padding:4px 5px; text-transform:uppercase; }
.pagination-wrap span.current { border:1px solid #ccc; padding:3px 4px; }
.pagination-wrap a:hover {color: #DDB30B; border:1px solid #0971B2; text-decoration:none; padding:3px 4px; box-shadow: 0 2px 4px rgba(0,0,0,0.1);}
.pagination-wrap .next_page { margin:0; }

/* Кастомная пагинация */
.custom-pagination-container {
  margin: 25px 0;
  text-align: center;
  font-family: Arial, sans-serif;
}

.custom-pagination-prev,
.custom-pagination-next,
.custom-pagination-link {
  display: inline-block;
  padding: 8px 14px;
  margin: 0 4px;
  border: 1px solid #e0e0e0;
  background: #f9f9f9;
  color: #333;
  text-decoration: none;
  border-radius: 4px;
  transition: all 0.2s;
}

.custom-pagination-current {
  display: inline-block;
  padding: 8px 14px;
  margin: 0 4px;
  background: #DDB30B;
  color: white;
  border: 1px solid #DDB30B;
  border-radius: 4px;
  font-weight: bold;
}

.custom-pagination-divider {
  display: inline-block;
  margin: 0 6px;
  color: #e0e0e0;
}

.custom-pagination-prev:hover,
.custom-pagination-next:hover,
.custom-pagination-link:hover {
  background: #698EC9;
  border-color: #ccc;
}

.custom-pagination-prev:active,
.custom-pagination-next:active,
.custom-pagination-link:active {
  transform: scale(0.95);
}

/* звезды */

.stars
{
	margin: 0px;
	padding: 0px;
}

.stars li
{
	margin: 0px;
	padding: 0px;
	width: 16px;
	height: 16px;
	float: left;
	background: url('/hostcmsfiles/images/stars_gray.gif') no-repeat 0 0;
	cursor: pointer;
	list-style-type: none;
}

.stars .curr
{
	margin: 0px;
	padding: 0px;
	width: 16px;
	height: 16px;
	float: left;
	background: none;
	background: url('/hostcmsfiles/images/stars_single.gif') no-repeat 0 0;
}

/* комментарии */
.comment {display: inline-block; padding: 20px; font-size: 13px; width: 500}

    /* кнопки прокрутки и email */
    #scrollToTopBtn, #emailBtn {
        position: fixed;
        z-index: 9999;
        left: 20px;
        width: 50px;
        height: 50px;
        border-radius: 50%;
        background-color: #383838;
        color: white;
        border: none;
        cursor: pointer;
        font-size: 24px;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s, visibility 0.3s;
    }

    #scrollToTopBtn {
        bottom: 20px;
    }

    #emailBtn {
        bottom: 80px; /* Располагаем выше кнопки прокрутки */
    }

    #scrollToTopBtn.show, #emailBtn.show {
        opacity: 0.5;
        visibility: visible;
    }

    #scrollToTopBtn:hover, #emailBtn:hover {
        opacity: 1;
        background-color: #666;
    }

/* Футер — в общей палитре сайта */
.site-footer {
  margin-top: auto;
  padding: 2.5rem 1.25rem 2rem;
  border-top: 1px solid #e0e6ed;
  color: #1e1a17;
  font-size: 0.9375rem;
  line-height: 1.6;
}

.site-footer__inner {
  width: 100%;
  max-width: 100%;
  margin: 0;
  margin-right: auto;
  margin-left: 0;
}

.site-footer__copyright {
  margin: 0 0 0.75rem;
  color: #1e1a17;
}

.site-footer__brand {
  color: #144492;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.site-footer__dash {
  color: #6c757d;
  font-weight: 400;
  margin: 0 0.15em;
}

.site-footer__legal {
  margin: 0 0 1.75rem;
  color: #6c757d;
  font-size: 0.875rem;
}

.site-footer__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem 2rem;
}

.site-footer__card {
  background: #f5f7fa;
  border: 1px solid #e0e6ed;
  border-radius: 12px;
  padding: 1.1rem 1.25rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  transition: box-shadow 0.2s ease;
}

.site-footer__card:hover {
  box-shadow: 0 4px 12px rgba(20, 68, 146, 0.08);
}

/* Как h2 / заголовки блоков: тёмная полоса + золотой акцент слева */
.site-footer__title {
  margin: 0 0 0.65rem;
  padding: 0 0 0 12px;
  min-height: 22px;
  font: 600 0.8125rem/22px system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #fff;
  background: #1f1a17;
  border-left: 4px solid #ddb30b;
  border-radius: 0 4px 4px 0;
}

.site-footer__text {
  margin: 0.75rem 0 0;
  color: #1e1a17;
}

.site-footer__text a {
  color: #144492;
  text-decoration: underline;
  transition: color 0.2s ease;
}

.site-footer__text a:hover {
  color: #ddb30b;
}

.site-footer__bottom {
  display: flex;
  justify-content: flex-end;
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid #e0e6ed;
}

.site-footer__age {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  height: 2rem;
  padding: 0 0.65rem;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #f5f7fa;
  background: #1f1a17;
  border-radius: 8px;
  border-left: 3px solid #ddb30b;
  box-shadow: 0 2px 8px rgba(30, 26, 23, 0.12);
}

@media (max-width: 768px) {
  .site-footer {
    padding: 2rem 1rem 1.5rem;
  }

  .site-footer__grid {
    grid-template-columns: 1fr;
  }

  .site-footer__bottom {
    justify-content: flex-start;
  }
}

/* Контейнер поиска */
.search-container {
    width: 100%;
    max-width: 500px; /* Можно настроить под ваш макет */
}

/* Форма поиска */
.search-form {
    margin: 0;
    padding: 0;
}

/* Обёртка для гибкого расположения */
.search-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    box-sizing: border-box;
}

/* Поле ввода */
.search-input {
    flex: 1;
    width: 80%; /* Сохранено из вашего требования */
    height: 36px;
    padding: 0 12px;
    background: #1f1a17; /* Сохранён цвет из h2 */
    color: #fff;
    border: 1px solid rgba(221, 179, 11, 0.3);
    border-radius: 4px;
    font: 14px/1.5 system-ui, -apple-system, 'Segoe UI', sans-serif;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

/* Стили для placeholder */
.search-input::placeholder {
    color: rgba(255, 255, 255, 0.5);
    font-size: 13px;
}

/* Фокус на поле ввода */
.search-input:focus {
    outline: none;
    border-color: #DDB30B; /* Акцентная полоса из h2 */
    box-shadow: 0 0 0 3px rgba(221, 179, 11, 0.1);
    background: #2a2420; /* Чуть светлее при фокусе */
}

/* Кнопка поиска */
.search-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    background: #DDB30B; /* Акцентный цвет */
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

/* Иконка внутри кнопки */
.search-button svg {
    width: 16px;
    height: 16px;
    color: #1f1a17; /* Цвет фона из h2 для контраста */
}

/* Ховер на кнопке */
.search-button:hover {
    background: #c49c08; /* Чуть темнее акцентного */
    transform: scale(1.02);
}

/* Активное состояние кнопки */
.search-button:active {
    transform: scale(0.98);
}

/* Фокус на кнопке */
.search-button:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(221, 179, 11, 0.3);
}

/* Адаптивность для мобильных */
@media (max-width: 640px) {
    .search-input {
        height: 32px;
        font-size: 13px;
        padding: 0 10px;
    }
    
    .search-button {
        width: 32px;
        height: 32px;
    }
    
    .search-button svg {
        width: 14px;
        height: 14px;
    }
}

/* Базовый стиль для всех заголовков внутри статьи */

.article-content-wrapper h1,
.article-content-wrapper h2,
.article-content-wrapper h3,
.article-content-wrapper h4,
.article-content-wrapper h5,
.article-content-wrapper h6 {
    font-family: 'Arial', sans-serif; /* Единый шрифт */
    color: #1f1a17; /* Основной цвет (как у вас в дизайне) */
    margin: 0 0 12px 0; /* Базовая величина отступа снизу */
    font-weight: bold; /* Жирное начертание (кроме h5/h6) */
    line-height: 1.3; /* Компактный, но читаемый интерлиньяж */
    padding-left: 0; /* Сброс отступа */
    background: none; /* Убираем фон (если был у h2) */
}

/* Индивидуальные стили для каждого уровня */

.article-content-wrapper {
    display: flex;
    flex-direction: column; /* Важно! */
    align-items: flex-start; /* Отключаем растяжение */
    margin: 12px 0 20px 0; /* Четкие отступы для абзацев */
    line-height: 1.5;
}

/* h1 — главный заголовок статьи (максимальный акцент) */
.article-content-wrapper h1 {
    font-family: 'Arial', sans-serif;
    font-size: 28px;          /* 16px × 1.75 (выделяется даже над h2) */
    color: #1f1a17;           /* Основной цвет (как в вашем дизайне) */
    font-weight: bold;
    line-height: 1.2;
    margin: 0 0 25px 0;       /* Большой отступ снизу */
    padding: 0;
    border-bottom: none;
    padding-bottom: 0;
}

/* h2 — подзаголовок 1-го уровня */
.article-content-wrapper h2 {
    font-size: 24px;          /* 16px × 1.5 */
    margin-top: 15px;
    margin-bottom: 20px;
    padding: 5px 10px;
    line-height: 1.4;
    min-height: auto;
    height: auto;
    border-left: none; /* Акцентная полоса */
    text-transform: none;
    letter-spacing:0px;

    /* Отступы */
    margin: 20px 0 12px 0;
    padding: 0 0 0.5em 0;
}

/* h3 — подзаголовок 2-го уровня */
.article-content-wrapper h3 {
    font-size: 20px;          /* 16px × 1.25 */
    margin-bottom: 5px;
    margin: 16px 0 8px 0;
}

/* h4 — подзаголовок 3-го уровня */
.article-content-wrapper h4 {
    font-size: 18px;          /* 16px + 2px */
    color: #333;
    margin-bottom: 16px;
}

/* h5 — дополнительный акцент */
.article-content-wrapper h5 {
    font-size: 16px;          /* Как основной текст */
    font-weight: 600;         /* Полужирный */
    color: #555;
    margin-bottom: 14px;
}

/* h6 — мелкие примечания */
.article-content-wrapper h6 {
    font-size: 14px;          /* Меньше основного текста */
    font-weight: normal;
    color: #777;
    margin-bottom: 12px;
    text-transform: uppercase; /* Опционально */
}

/* Специфичные отступы для мобильных */
@media (max-width: 768px) {

.article-content-wrapper {
    display: flex;
    flex-direction: column; /* Важно! */
    align-items: flex-start; /* Отключаем растяжение */
}

    .article-content-wrapper h1 {
        font-size: 24px;
        margin-bottom: 1.2em; /* Увеличиваем отступ */
        line-height: 1.25;
    }
    
.article-content-wrapper h2 {
    /* Сброс стилей */
    all: unset;
    box-sizing: border-box;
    
    /* Основные стили */
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    width: 100%;
    
    /* Фикс для flex */
    min-height: 0; /* Разрешаем сжатие */
    flex-shrink: 0; /* Запрещаем сжатие */
    
    /* Отступы */
    margin: 0;
    padding: 0 0 0.5em 0;
    position: relative;

    contain: layout;
    display: flow-root;
}

/* Гарантированный отступ */
.article-content-wrapper h2::after {
    content: "";
    display: block;
    height: 1.5em;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    pointer-events: none;
}

/* Фикс для следующего элемента */
.article-content-wrapper h2 + * {
    margin-top: -0.75em;
    padding-top: 0.75em;
}
    
    .article-content-wrapper h3 {
        font-size: 18px;
        margin-bottom: 0.2em; /* em вместо px для адаптивности */
        padding-top: 0.3em; /* Дополнительный верхний отступ */
    }
    
    .article-content-wrapper h4 {
        font-size: 16px;
        margin-bottom: 0.2em;
    }
    
    .article-content-wrapper h5,
    .article-content-wrapper h6 {
        margin-bottom: 0.2em;
    }
}

/* Для мобильных - 1 колонка */
@media (max-width: 767px) {
  .newsblock {
    width: 100% !important; /* Переопределяем ширину */
    margin-right: 0 !important; /* Убираем отступы */
    margin-left: 0 !important;
  }
  
  .news-clear {
    display: none; /* Скрываем очищающий элемент */
  }
}

/* Основные стили контейнера */
.gen-article-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 20px;
    background-color: rgba(252, 253, 254, 0.95); /* Легкий голубой подтон */
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

/* Хлебные крошки */
.gen-breadcrumbs {
    padding: 10px 0;
    margin-bottom: 20px;
    font-size: 14px;
    color: #698EC9;
}

.gen-breadcrumbs__link {
    color: #144492;
    text-decoration: none;
    transition: color 0.2s;
}

.gen-breadcrumbs__link:hover {
    color: #DDB30B;
    text-decoration: underline;
}

.gen-breadcrumbs__separator {
    margin: 0 8px;
    color: #698EC9;
}

/* Заголовок новости */
.gen-news-header {
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid #f0f5ff;
}

.gen-news-title {
    font-size: 28px;
    margin: 0 0 15px;
    color: #144492;
    line-height: 1.3;
}

/* Мета-информация */
.gen-news-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: center;
    font-size: 14px;
    color: #698EC9;
}

.gen-news-author,
.gen-news-date,
.gen-news-views,
.gen-news-rating {
    display: flex;
    align-items: center;
    gap: 5px;
}

.gen-icon {
    fill: #DDB30B;
    vertical-align: middle;
}

/* Контент новости */
.gen-news-content {
    line-height: 1.6;
    color: #333;
}

.gen-news-anons {
    font-size: 18px;
    margin-bottom: 20px;
    color: #144492;
    font-weight: 500;
}

.gen-news-text {
    margin-bottom: 25px;
}

.gen-news-text p {
    margin-bottom: 15px;
}

/* Изображения */
.gen-news-image {
    margin: 20px 0;
    text-align: center;
    width: 100%;
    max-width: 1200px;
    height: auto;
}

/* встроенные картинки из шорткодов — на всю ширину текста */
.gen-news-text .inline-img,
.inline-img {
    width: 100%;
    max-width: 100%;
    margin: 1.25em 0;
    box-sizing: border-box;
}

.gen-news-text .inline-img img,
.inline-img img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

.gen-image-link {
    display: inline-block;
    transition: transform 0.2s;
    width: 100%; /* или max-width: 100% */
    height: auto; /* сохраняет пропорции */
}

.gen-image-link:hover {
    transform: scale(1.02);
}

.gen-image {
    width: 100%;
    max-width: 1200px;
    height: auto;
    border-radius: 6px;
}

.gen-image-caption {
    font-size: 14px;
    color: #698EC9;
    margin-top: 8px;
    text-align: center;
    font-style: italic;
}

/* Источник */
.gen-news-source {
    margin-top: 30px;
    padding-top: 15px;
    border-top: 1px solid #f0f5ff;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}

.gen-source-link {
    color: #144492;
    text-decoration: none;
}

.gen-source-link:hover {
    color: #DDB30B;
    text-decoration: underline;
}

/* Климатический симулятор */
.gen-simulator-container {
    margin: 30px 0;
    padding: 20px;
    background-color: #f5f7fa;
    border-radius: 8px;
    border: 1px solid #f0f5ff;
}

.gen-simulator-title {
    margin: 0 0 15px;
    color: #144492;
    font-size: 20px;
}

.gen-simulator-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 20px;
}

.gen-simulator-label {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 200px;
}

.gen-simulator-text {
    min-width: 90px;
    color: #698EC9;
}

.gen-simulator-range {
    flex: 1;
    height: 6px;
    background: #f0f5ff;
    border-radius: 3px;
    outline: none;
    -webkit-appearance: none;
}

.gen-simulator-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    background: #DDB30B;
    border-radius: 50%;
    cursor: pointer;
}

.gen-simulator-value {
    min-width: 40px;
    text-align: center;
    color: #144492;
    font-weight: bold;
}

.gen-simulator-chart {
    width: 100%;
    max-height: 220px;
}

/* Комментарии */
.gen-comments-section {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid #f0f5ff;
}

.gen-comments-title {
    font-size: 22px;
    margin: 0 0 20px;
    color: #144492;
}

.gen-comments-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.gen-comment {
    padding: 15px;
    background-color: #f8f8f8;
    border-radius: 6px;
    border-left: 3px solid #698EC9;
}

.gen-comment-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.gen-comment-author {
    font-weight: bold;
    color: #144492;
    text-decoration: none;
}

.gen-comment-author:hover {
    color: #DDB30B;
}

.gen-comment-date {
    font-size: 13px;
    color: #698EC9;
}

.gen-comment-subject {
    font-size: 18px;
    margin: 0 0 10px;
    color: #144492;
}

.gen-comment-text {
    margin-bottom: 10px;
    line-height: 1.5;
}

.gen-comment-rating {
    font-size: 14px;
    color: #698EC9;
    display: flex;
    align-items: center;
    gap: 5px;
}

/* Форма комментария */
.gen-comment-form-container {
    margin-top: 30px;
}

.gen-comment-toggle {
    margin-bottom: 20px;
}

.gen-comment-button {
    background-color: #144492;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.2s;
}

.gen-comment-button:hover {
    background-color: #DDB30B;
}

.gen-comment-form {
    background-color: #f8f8f8;
    padding: 20px;
    border-radius: 6px;
}

.gen-form-group {
    margin-bottom: 15px;
}

.gen-form-label {
    display: block;
    margin-bottom: 8px;
    font-weight: bold;
    color: #144492;
}

.gen-form-input,
.gen-form-textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #f0f5ff;
    border-radius: 4px;
    background-color: white;
    font-family: inherit;
    font-size: 14px;
}

.gen-form-textarea {
    min-height: 100px;
    resize: vertical;
}

.gen-rating-stars {
    margin-top: 5px;
}

.gen-stars-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 5px;
}

.gen-star {
    width: 24px;
    height: 24px;
    background-color: #f0f5ff;
    border-radius: 50%;
    cursor: pointer;
    transition: background-color 0.2s;
}

.gen-star:hover,
.gen-star.curr {
    background-color: #DDB30B;
}

.gen-captcha-block {
    display: flex;
    align-items: center;
    gap: 10px;
}

.gen-captcha-image {
    border: 1px solid #f0f5ff;
    border-radius: 4px;
}

.gen-captcha-input {
    padding: 8px;
    border: 1px solid #f0f5ff;
    border-radius: 4px;
    width: 120px;
}

.gen-form-submit {
    margin-top: 20px;
}

.gen-submit-button {
    background-color: #144492;
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.2s;
}

.gen-submit-button:hover {
    background-color: #DDB30B;
}

/* Сообщения */
.gen-message {
    padding: 15px;
    margin-bottom: 20px;
    background-color: #f0f5ff;
    border-left: 4px solid #698EC9;
    color: #144492;
    border-radius: 4px;
}

/* Теги */
.gen-tag {
    display: inline-block;
    padding: 3px 8px;
    background-color: #f0f5ff;
    color: #144492;
    border-radius: 4px;
    text-decoration: none;
    font-size: 13px;
    margin-right: 5px;
    transition: all 0.2s;
}

.gen-tag:hover {
    background-color: #DDB30B;
    color: white;
}

/* Общие стили списков внутри контейнера */
.gen-article-container ul,
.gen-article-container ol {
  padding-left: 0.5em;     /* Общий отступ слева */
  margin: 0 0 1.5em 0;     /* Внешние отступы */
  list-style-position: outside; /* Маркеры/цифры остаются за пределами фона */
}

/* Стилизация пунктов списка */
.gen-article-container li {
  padding: 8px 12px;       /* Внутренние отступы */
  margin-left: 1em;        /* Выравнивание текста относительно маркеров/цифр */
  margin-bottom: 2px;      /* Отступ между пунктами */
  background-clip: padding-box; /* Чтобы фон не залезал под маркеры */
}

/* Чередование фона */
.gen-article-container li:nth-child(odd) {
  background-color: #f8f8f8;
}
.gen-article-container li:nth-child(even) {
  background-color: #f0f5ff;
}

/* Специальные настройки для нумерованных списков */
.gen-article-container ol {
  counter-reset: li-counter;
  padding-left: 0.5em;       /* Больше места для длинных номеров */
}

/* таблицы внутри статей */

  .gen-article-container table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5em 0;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    overflow: hidden;
    font-size: 16px;
  }

  .gen-article-container th {
    background-color: #4a6fa5;
    color: white;
    font-weight: 600;
    text-align: left;
    padding: 12px 15px;
  }

  .gen-article-container td {
    padding: 10px 15px;
    border-bottom: 1px solid #e0e0e0;
    vertical-align: top;
  }

  /* Стили для строк-заголовков групп */
  .gen-article-container tr:has(> td[colspan]),
  .gen-article-container tr:has(> th[colspan]) {
    background-color: #e1e8f0;
  }
  
  .gen-article-container tr:has(> td[colspan]) td,
  .gen-article-container tr:has(> th[colspan]) th {
    font-weight: bold;
    color: #2c3e50;
    border-bottom: 2px solid #d0d9e4;
    text-align: center;
  }

  /* Четные строки */
  .gen-article-container tr:nth-child(even):not(:has(> td[colspan])) {
    background-color: #f8f9fa;
  }

  /* Ховер-эффект */
  .gen-article-container tr:hover:not(:has(> td[colspan])) {
    background-color: #f1f5fd;
    transition: background-color 0.2s ease;
  }

/* Мобильная версия - улучшенный вариант */
@media (max-width: 768px) {
    .gen-article-container table {
        font-size: 14px;
        box-shadow: none;
        border: none;
        background: transparent;
    }
    
    .gen-article-container thead {
        display: none;
    }
    
    /* Заголовки групп */
    .gen-article-container tr:has(> td[colspan]),
    .gen-article-container tr:has(> th[colspan]) {
        display: block;
        background-color: #4a6fa5;
        color: white;
        padding: 12px 15px;
        margin: 16px 0 8px 0;
        border-radius: 8px;
        font-weight: 600;
        border-left: none;
        text-align: center;
        font-size: 15px;
    }
    
    /* Обычные строки (карточки) */
    .gen-article-container tr:not(:has(> td[colspan])) {
        display: block;
        margin-bottom: 12px;
        border: 1px solid #e0e0e0;
        border-radius: 10px;
        padding: 0;
        background: white;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
        overflow: hidden;
    }
    
    /* Ячейки внутри карточек */
    .gen-article-container tr:not(:has(> td[colspan])) td {
        display: flex;
        flex-direction: column;
        padding: 12px 15px;
        border-bottom: 1px solid #f0f0f0;
    }
    
    /* Убираем нижнюю границу у последней ячейки */
    .gen-article-container tr:not(:has(> td[colspan])) td:last-child {
        border-bottom: none;
    }
    
    /* Заголовки ячеек (data-label) */
    .gen-article-container tr:not(:has(> td[colspan])) td:before {
        content: attr(data-label);
        font-weight: 600;
        color: #4a6fa5;
        margin-bottom: 4px;
        font-size: 13px;
    }
    
    /* Четные строки */
    .gen-article-container tr:nth-child(even):not(:has(> td[colspan])) {
        background-color: #fafcff;
    }
    
    /* Ховер-эффект */
    .gen-article-container tr:hover:not(:has(> td[colspan])) {
        background-color: #f5f8ff;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
    }
}

.gen-disclaimer {
    margin: 30px 0;
    padding: 15px;
    background-color: #f8f9fa;
    border-left: 4px solid #dc3545;
}

.gen-disclaimer-title {
    margin-top: 0;
    color: #dc3545;
    font-size: 1.1em;
}

.gen-disclaimer-text {
    margin-bottom: 0;
    color: #6c757d;
}

/* Основные стили сайдбара */
.sidebar-news {
    max-width: 255px;
    font-family: 'Arial', sans-serif;
    background-color: rgba(252, 253, 254, 0.95); /* Легкий голубой подтон */
    border-radius: 6px;
    padding: 12px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

/* Заголовок блока */
.sidebar-news__title {
    color: #144492;
    font-size: 16px;
    margin: 0 0 12px 0;
    padding-bottom: 8px;
    border-bottom: 2px solid #DDB30B;
}

/* Список новостей */
.sidebar-news__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Элемент новости */
.sidebar-news__item {
    padding-bottom: 10px;
    border-bottom: 1px dashed #698EC9;
}

.sidebar-news__item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

/* Изображение новости */
.sidebar-news__image-link {
    display: block;
    margin-bottom: 6px;
}

.sidebar-news__image {
    width: 100%;
    height: auto;
    max-height: 100px;
    object-fit: cover;
    border-radius: 3px;
    border: 1px solid #e0e0e0;
}

/* Текст новости */
.sidebar-news__content {
    font-size: 13px;
    line-height: 1.3;
}

.sidebar-news__link {
    color: #144492;
    text-decoration: none;
    display: block;
    margin-bottom: 4px;
    transition: color 0.2s;
    /* Перенос слов и ограничение по высоте */
    word-wrap: break-word;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3; /* Ограничение в 3 строки */
    -webkit-box-orient: vertical;
}

.sidebar-news__link:hover {
    color: #DDB30B;
    text-decoration: underline;
}

/* Мета-данные (дата) */
.sidebar-news__meta {
    font-size: 11px;
    color: #698EC9;
}

/* Ссылка на архив */
.sidebar-news__archive {
    margin-top: 10px;
    text-align: right;
    font-size: 12px;
}

.sidebar-news__archive a {
    color: #698EC9;
    text-decoration: none;
    transition: color 0.2s;
}

.sidebar-news__archive a:hover {
    color: #DDB30B;
}

/* Основные стили для двойной новостной ленты на главной */
.news-container1 {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
    background-color: #f0f5ff;
    padding: 20px;
    border-radius: 10px;
}

/* Стили для заголовка раздела */
.section-header1 {
    width: 100%;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #DDB30B;
}

.section-title1 {
    color: #144492;
    margin: 0 0 10px 0;
    font-size: 1.5rem;
}

.section-description1 {
    color: #555;
    font-size: 1rem;
    line-height: 1.5;
}

/* Стили для подгрупп */
.subgroups-container1 {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 20px;
}

.subgroup-item1 {
    background: #fff;
    padding: 12px 15px;
    border-radius: 6px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    display: flex;
    align-items: center;
    transition: all 0.3s ease;
}

.subgroup-item1:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(20, 68, 146, 0.1);
}

.subgroup-image1 {
    width: 30px;
    height: 30px;
    object-fit: cover;
    border-radius: 4px;
    margin-right: 10px;
}

.subgroup-link1 {
    color: #144492;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.subgroup-link1:hover {
    color: #DDB30B;
}

.subgroup-count1 {
    color: #698EC9;
    font-size: 0.85rem;
    margin-left: 8px;
}

/* Стили для новостных элементов */
.news-column1 {
    width: 347px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.news-column1:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(20, 68, 146, 0.1);
}

.news-featured1 {
    padding: 20px;
}

.news-featured-image1 {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 6px;
    margin-bottom: 15px;
    transition: opacity 0.3s ease;
    border: 1px solid #f0f5ff;
}

.news-featured-image1:hover {
    opacity: 0.9;
}

.news-item1 {
    padding: 15px 20px;
    border-top: 1px solid #f0f5ff;
}

.news-title1 {
    margin: 0 0 10px 0;
    font-weight: 600;
    line-height: 1.3;
    color: #144492;
}

.news-featured1 .news-title1 {
    font-size: 1.2rem;
}

.news-item1 .news-title1 {
    font-size: 1rem;
}

.news-title1 a {
    color: #144492;
    text-decoration: none;
    transition: color 0.2s ease;
}

.news-title1 a:hover {
    color: #DDB30B;
}

.news-excerpt1 {
    color: #555;
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0 0 15px 0;
}

.news-meta1 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.85rem;
    color: #698EC9;
}

.news-date1, .news-views1 {
    display: flex;
    align-items: center;
    gap: 5px;
}

.news-icon1 {
    margin-right: 4px;
    vertical-align: middle;
}

.news-image-link1 {
    display: block;
    text-decoration: none;
}

/* Стили для верхней новости на главной */
.maintop-news-announce {
    font-family: Arial, sans-serif;
    margin-bottom: 30px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.maintop-news-image-container {
    width: 100%;
    height: 400px;
    overflow: hidden;
    position: relative;
}

.maintop-news-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
    margin: 0;
}

.maintop-news-image-container:hover .maintop-news-image {
    transform: scale(1.03);
}

.maintop-news-content {
    padding: 25px;
}

.maintop-news-title {
    margin-left: 0;
    padding-left: 0;
    font-size: 24px;
    margin-bottom: 15px;
}

.maintop-news-title a {
    text-decoration: none;
}

.maintop-news-description {
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    margin-bottom: 15px;
}

.maintop-news-meta {
    display: flex;
    align-items: center;
    font-size: 14px;
    color: #6c757d;
}

.maintop-news-date {
    margin-right: 15px;
}

/* Адаптация для мобильных устройств */
@media (max-width: 768px) {
    .maintop-news-announce {
        margin-bottom: 25px;
        border-radius: 8px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); /* Добавляем тень для выделения */
        border: 1px solid rgba(0, 0, 0, 0.08); /* Тонкая граница */
        overflow: hidden; /* Для скругленных углов изображения */
        transition: transform 0.2s ease; /* Анимация при нажатии */
    }
    
    .maintop-news-announce:active {
        transform: scale(0.98); /* Эффект нажатия */
    }
    
    .maintop-news-image-container {
        height: 280px; /* Чуть увеличиваем высоту */
        position: relative;
    }
    
    .maintop-news-image-container::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 40%;
        background: linear-gradient(to top, rgba(0,0,0,0.3) 0%, transparent 100%); /* Градиент для текста */
    }
    
    .maintop-news-content {
        padding: 18px;
        background: #fff; /* Явно задаем фон */
    }
    
    .maintop-news-title {
        font-size: 22px;
        margin-bottom: 12px;
        font-weight: 700; /* Делаем более жирным */
        line-height: 1.3;
    }
    
    .maintop-news-description {
        font-size: 16px;
        line-height: 1.5;
        margin-bottom: 15px;
        display: -webkit-box;
        -webkit-line-clamp: 3; /* Ограничиваем количество строк */
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    
    .maintop-news-meta {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
    
    .maintop-news-date {
        font-weight: 600; /* Делаем дату более заметной */
        font-size: 14px;
    }
    
    .maintop-news-category {
        padding: 4px 8px;
        border-radius: 4px;
        background-color: rgba(0,0,0,0.05); /* Легкий фон для категории */
        font-size: 13px;
    }
}

/* Дополнительная адаптация для очень маленьких экранов */
@media (max-width: 480px) {
    .maintop-news-image-container {
        height: 220px;
    }
    
    .maintop-news-title {
        font-size: 20px;
    }
    
    .maintop-news-description {
        font-size: 15px;
        -webkit-line-clamp: 2; /* Меньше строк на маленьких экранах */
    }
    
    .maintop-news-content {
        padding: 15px;
    }
}
/* Стили для трех карточек новостей в ряд на главной */
.threetop-news-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
    margin-bottom: 30px;
}

.threetop-news-announce {
    flex: 1 1 calc(33.333% - 20px);
    min-width: 200px;
    font-family: Arial, sans-serif;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
}

.threetop-news-image-container {
    width: 100%;
    height: 200px;
    overflow: hidden;
    position: relative;
}

.threetop-news-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
    margin: 0;
}

.threetop-news-image-container:hover .threetop-news-image {
    transform: scale(1.03);
}

.threetop-news-content {
    padding: 15px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.threetop-news-title {
    margin: 0 0 10px 0;
    font-size: 18px;
    line-height: 1.3;
}

.threetop-news-title a {
    text-decoration: none;
}

.threetop-news-description {
    font-size: 14px;
    line-height: 1.5;
    color: #333;
    margin-bottom: 15px;
    flex-grow: 1;
}

.threetop-news-meta {
    display: flex;
    align-items: center;
    font-size: 12px;
    color: #6c757d;
    gap: 15px;
}

.threetop-news-meta span {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

.threetop-news-meta svg {
    vertical-align: middle;
    fill: currentColor;
    width: 14px;
    height: 14px;
}

/* Стили для ленты новостей по рубрикам на главной */
.rubmain-news-container {
    font-family: Arial, sans-serif;
    margin-bottom: 40px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.rubmain-news-list {
    display: flex;
    flex-direction: column;
}

.rubmain-news-item {
    padding: 20px;
    border-bottom: 1px solid #eee;
}

.rubmain-news-item:last-child {
    border-bottom: none;
}

.rubmain-news-item-first {
    display: flex;
    flex-direction: column;
}

.rubmain-news-image-container {
    width: 100%;
    height: 250px;
    overflow: hidden;
    position: relative;
    margin-bottom: 15px;
}

.rubmain-news-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.rubmain-news-image-container:hover .rubmain-news-image {
    transform: scale(1.03);
}

.rubmain-news-title {
    font-size: 18px;
    margin-bottom: 10px;
}

.rubmain-news-title a {
    text-decoration: none;
}

.rubmain-news-description {
    font-size: 14px;
    line-height: 1.5;
    color: #333;
    margin-bottom: 15px;
}

/* Стили для мета-информации (как в первом шаблоне) */
.rubmain-news-meta {
    display: flex;
    align-items: center;
    font-size: 12px;
    color: #6c757d;
    margin-top: 5px;
    gap: 15px; /* Отступ между элементами (датой и просмотрами) */
}

.rubmain-news-date,
.rubmain-news-views {
    display: inline-flex;
    align-items: center;
    gap: 3px; /* Точный отступ как в первом шаблоне */
}

.rubmain-news-meta svg {
    width: 14px;
    height: 14px;
    vertical-align: middle;
    fill: currentColor;
}

/* Адаптация для мобильных устройств */
@media (max-width: 768px) {
    .rubmain-news-container {
        margin-bottom: 30px;
        border-radius: 6px;
    }
    
    .rubmain-news-image-container {
        height: 200px;
    }
    
    .rubmain-news-item {
        padding: 15px;
    }
    
    .rubmain-news-title {
        font-size: 18px;
    }
    
    .rubmain-news-description {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .rubmain-news-image-container {
        height: 180px;
    }
    
    .rubmain-news-title {
        font-size: 17px;
    }
}

/* Стили для ленты анонсов под новостью */
.under-news-container {
    font-family: Arial, sans-serif;
    margin: 40px 0;
}

.under-section-header {
    margin-bottom: 25px;
    padding-bottom: 10px;
    border-bottom: 2px solid #f0f0f0;
}

.under-section-title {
    font-size: 22px;
    font-weight: 600;
    color: #333;
    margin: 0;
}

.under-news-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 25px;
}

.under-news-item {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.under-news-item:hover {
    transform: translateY(-5px);
}

.under-news-image-container {
    width: 100%;
    height: 180px;
    overflow: hidden;
}

.under-news-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.under-news-item:hover .under-news-image {
    transform: scale(1.05);
}

.under-news-content {
    padding: 20px;
}

.under-news-title {
    font-size: 18px;
    margin-bottom: 10px;
}

.under-news-title a {
    text-decoration: none;
    color: inherit;
}

.under-news-description {
    font-size: 14px;
    line-height: 1.5;
    color: #555;
    margin-bottom: 15px;
}

.under-news-meta {
    display: flex;
    align-items: center;
    font-size: 13px;
    color: #6c757d;
    gap: 15px;
}

.under-news-date,
.under-news-views {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.under-news-meta svg {
    width: 14px;
    height: 14px;
    vertical-align: middle;
    fill: currentColor;
}

/* Адаптация */
@media (max-width: 768px) {
    .under-news-list {
        grid-template-columns: 1fr;
    }
    
    .under-news-image-container {
        height: 160px;
    }
    
    .under-section-title {
        font-size: 20px;
    }
}

@media (max-width: 480px) {
    .under-news-image-container {
        height: 140px;
    }
    
    .under-news-content {
        padding: 15px;
    }
    
    .under-news-title {
        font-size: 16px;
    }
}

/* одноколоночная верстка в рубрике */

/* Контейнер статей */
.news-container-single {
    max-width: 90%;
    margin: 0 auto;
}

/* Статьи */
.news-article {
    background: white;
    border-radius: 12px;
    margin-bottom: 25px;
    padding: 25px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    overflow: hidden;
}

.news-article:hover {
    box-shadow: 0 8px 25px rgba(0,0,0,0.12);
}

.article-image {
    margin-bottom: 20px;
    text-align: center;
    max-width: 100%;
    height: auto;
}

.article-image img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.article-title {
    margin-bottom: 15px;
    font-size: 1.6em;
}

.article-title a {
    text-decoration: none;
    transition: color 0.2s ease;
}

.article-description {
    margin-bottom: 20px;
    color: #555;
    line-height: 1.7;
    font-size: 1.05em;
}

.article-meta {
    display: flex;
    gap: 20px;
    margin-bottom: 15px;
    padding-top: 15px;
    border-top: 1px solid #e9ecef;
}

.article-rating, .article-comments {
    font-size: 0.9em;
    color: #6c757d;
}

/* Адаптивность одноколонки */
@media (max-width: 768px) {
    
    .news-article {
        padding: 20px;
    }
    
    .article-title {
        font-size: 1.4em;
    }
    
    .article-meta {
        flex-direction: column;
        gap: 10px;
    }
    
    .attribute-row {
        flex-direction: column;
    }
    
    .attribute-name {
        min-width: auto;
        margin-bottom: 5px;
    }
    
    .subgroup-item {
        flex-direction: column;
        text-align: center;
    }
    
    .subgroup-image {
        margin-right: 0;
        margin-bottom: 10px;
    }
}

/* Контейнер релизов разводящая */
.press-releases-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    font-family: 'Arial', sans-serif;
    color: #333;
}

/* заголовки релизов */
.press-header {
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
}

.press-title {
    font-size: 28px;
    color: #2c3e50;
    margin-bottom: 10px;
    font-weight: 600;
}

.press-description {
    font-size: 16px;
    line-height: 1.5;
    color: #7f8c8d;
}

/* хлебные крошки релизов */
.breadcrumbs {
    font-size: 14px;
    margin-bottom: 15px;
}

.breadcrumb-link {
    color: #3498db;
    text-decoration: none;
    transition: color 0.3s;
}

.breadcrumb-link:hover {
    color: #2980b9;
    text-decoration: underline;
}

.breadcrumb-current {
    color: #2c3e50;
    font-weight: 500;
}

.breadcrumb-separator {
    margin: 0 8px;
    color: #bdc3c7;
}

/* подгруппы релизов */
.subgroups-container {
    margin-bottom: 30px;
    background: #f9f9f9;
    padding: 20px;
    border-radius: 5px;
}

.subgroups-title {
    font-size: 20px;
    margin-bottom: 15px;
    color: #2c3e50;
}

.subgroups-list {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.subgroup-item {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 4px;
    padding: 15px;
    flex: 1 1 200px;
    transition: transform 0.3s, box-shadow 0.3s;
}

.subgroup-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.subgroup-link {
    color: #2c3e50;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s;
}

.subgroup-link:hover {
    color: #3498db;
}

.subgroup-image {
    max-width: 100%;
    height: auto;
    margin-bottom: 10px;
    border-radius: 3px;
}

/* плитка релизов */
.press-items-container {
    margin: 30px 0;
}

.press-items-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 25px;
}

.press-item {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 5px;
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
}

.press-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.press-item-link {
    text-decoration: none;
    color: inherit;
    display: block;
    height: 100%;
}

.press-item-image {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.press-item-content {
    padding: 20px;
}

.press-item-title {
    font-size: 18px;
    margin: 0 0 10px;
    color: #144492;
    line-height: 1.3;
}

.press-item-title:hover {
    color: #DDB30B;
}

.press-item-date {
    font-size: 13px;
    color: #7f8c8d;
    margin-bottom: 10px;
}

.press-item-date:hover {
    color: #DDB30B;
}

.press-item-excerpt {
    font-size: 14px;
    line-height: 1.5;
    color: #555;
}

/* пагинация релизов */
.press-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 40px;
    flex-wrap: wrap;
    gap: 10px;
}

.pagination-prev,
.pagination-next {
    padding: 8px 16px;
    background: #f1f1f1;
    color: 144492;
    text-decoration: none;
    border-radius: 4px;
    transition: background 0.3s;
}

.pagination-prev:hover,
.pagination-next:hover {
    background: #698ec9;
}

.pagination-pages {
    display: flex;
    gap: 5px;
}

.pagination-link {
    padding: 8px 12px;
    background: #f1f1f1;
    color: #144492;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.3s;
}

.pagination-link:hover {
    background: #698EC9;
    color: DDB30B;
}

.pagination-current {
    padding: 8px 12px;
    background: #DDB30B;
    color: white;
    border-radius: 4px;
    font-weight: 500;
}

/* адаптивная версия релизов */
@media (max-width: 768px) {
    .press-items-grid {
        grid-template-columns: 1fr;
    }
    
    .subgroups-list {
        flex-direction: column;
    }
    
    .press-pagination {
        flex-direction: column;
    }
}

/* Основные стили пресс-релиза */
.press-container {
    font-family: 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
    color: #333;
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    border-radius: 8px;
}

.press-header {
    margin-bottom: 30px;
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
}

.press-title {
    color: #222;
    font-size: 32px;
    margin-bottom: 15px;
    font-weight: 700;
    line-height: 1.3;
}

.press-breadcrumbs {
    font-size: 14px;
    color: #666;
    margin-bottom: 15px;
}

.press-breadcrumbs a {
    color: #2a6496;
    text-decoration: none;
}

.press-breadcrumbs a:hover {
    text-decoration: underline;
}

.press-breadcrumbs .path_arrow {
    margin: 0 5px;
    color: #999;
}

.press-meta {
    color: #666;
    font-size: 14px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.press-date,
.press-views {
    display: inline-flex;
    align-items: center;
}

.press-message {
    padding: 15px;
    margin-bottom: 20px;
    background: #fff8e1;
    border-left: 4px solid #ffc107;
    border-radius: 4px;
}

.press-group-text {
    margin-bottom: 25px;
    padding: 15px;
    background: #f5f5f5;
    border-radius: 6px;
    font-size: 15px;
    line-height: 1.6;
}

.press-image-container {
    margin: 25px 0;
    text-align: center;
}

.press-image {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}

.press-image:hover {
    transform: scale(1.02);
}

.press-content {
    margin-bottom: 30px;
}

.press-content p {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.7;
    color: #444;
}

.press-rating {
    display: flex;
    align-items: center;
    margin: 15px 0;
    padding: 10px 0;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

.press-rating-label {
    margin-right: 10px;
    font-size: 14px;
    color: #666;
}

.press-rating-stars {
    display: flex;
    align-items: center;
}

.press-pagination {
    margin: 25px 0;
    padding: 15px 0;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

.press-pagination-label {
    margin-bottom: 10px;
    font-size: 14px;
    color: #666;
}

.press-tags-container {
    margin: 25px 0;
    padding: 15px 0;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

.press-tag {
    display: inline-block;
    margin-right: 8px;
    margin-bottom: 8px;
    padding: 6px 12px;
    background: #f5f5f5;
    border-radius: 4px;
    color: #555;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.press-tag:hover {
    background: #e0e0e0;
    color: #333;
}

.press-properties {
    margin: 30px 0;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #eee;
}

.press-property-group {
    margin-bottom: 20px;
}

.press-property-group-title {
    color: #144492;
    font-size: 18px;
    margin-bottom: 15px;
    font-weight: 600;
}

.press-property-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 15px;
}

.press-property-row {
    border-bottom: 1px solid #ddd;
}

.press-property-name {
    padding: 10px;
    font-weight: 500;
    width: 30%;
    vertical-align: top;
    color: #555;
}

.press-property-value {
    padding: 10px;
    vertical-align: top;
}

.press-property-file {
    color: #2a6496;
    text-decoration: none;
    transition: color 0.2s ease;
}

.press-property-file:hover {
    color: #DDB30B;
    text-decoration: underline;
}

.press-comments-container {
    margin-top: 40px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.press-comments-title {
    font-size: 22px;
    margin-bottom: 20px;
    color: #333;
}

.press-comment {
    margin-bottom: 25px;
    padding: 20px;
    background: #f9f9f9;
    border-radius: 6px;
    position: relative;
}

.press-comment:before {
    content: "";
    position: absolute;
    top: 0;
    left: 20px;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #f9f9f9;
    transform: translateY(-100%);
}

.press-comment-meta {
    font-size: 13px;
    color: #666;
    margin-bottom: 10px;
}

.press-comment-text {
    line-height: 1.5;
}

.press-comment-form-toggle {
    margin: 20px 0;
}

.press-comment-form-button {
    background: #2a6496;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s ease;
    font-size: 14px;
}

.press-comment-form-button:hover {
    background: #1d4b75;
}

.press-comment-form {
    margin-top: 30px;
    padding: 20px;
    background: #f5f5f5;
    border-radius: 6px;
}

.press-comment-form input,
.press-comment-form textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-family: inherit;
}

.press-comment-form textarea {
    min-height: 100px;
}

.press-comment-form-submit {
    background: #2a6496;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.press-comment-form-submit:hover {
    background: #1d4b75;
}

/* таблицы внутри релизов */

  .press-container table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5em 0;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    overflow: hidden;
    font-size: 16px;
  }

  .press-container th {
    background-color: #4a6fa5;
    color: white;
    font-weight: 600;
    text-align: left;
    padding: 12px 15px;
  }

  .press-container td {
    padding: 10px 15px;
    border-bottom: 1px solid #e0e0e0;
    vertical-align: top;
  }

  /* Стили для строк-заголовков групп */
  .press-container tr:has(> td[colspan]),
  .press-container tr:has(> th[colspan]) {
    background-color: #e1e8f0;
  }
  
  .press-container tr:has(> td[colspan]) td,
  .press-container tr:has(> th[colspan]) th {
    font-weight: bold;
    color: #2c3e50;
    border-bottom: 2px solid #d0d9e4;
    text-align: center;
  }

  /* Четные строки */
  .press-container tr:nth-child(even):not(:has(> td[colspan])) {
    background-color: #f8f9fa;
  }

  /* Ховер-эффект */
  .press-container tr:hover:not(:has(> td[colspan])) {
    background-color: #f1f5fd;
    transition: background-color 0.2s ease;
  }

/* Мобильная версия - скролл только для таблицы */
@media (max-width: 768px) {
    /* Основной контейнер - фиксированная ширина, без скролла */
    .press-container {
        width: 100% !important;
        max-width: 100vw !important;
        overflow: visible !important; /* Убираем скролл с контейнера */
        position: relative !important;
        box-sizing: border-box !important;
    }
    
    /* Заголовки групп и другие элементы остаются на месте */
    .press-container tr:has(> td[colspan]),
    .press-container tr:has(> th[colspan]) {
        display: table-row !important;
        width: 100% !important;
        background-color: #e1e8f0 !important;
    }
    
    /* Оборачиваем таблицу в скроллящийся блок */
    .press-container table {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        border-collapse: collapse !important;
        margin: 0 !important;
        /* Убираем фиксированную min-width, она теперь не нужна */
    }
    
    /* Фиксим отображение структуры таблицы */
    .press-container table thead,
    .press-container table tbody,
    .press-container table tr {
        display: table !important;
        width: 100% !important;
        table-layout: auto !important;
    }
    
    /* Ячейки ведут себя нормально */
    .press-container table td,
    .press-container table th {
        display: table-cell !important;
        white-space: normal !important; /* Текст переносится */
        min-width: 120px !important; /* Минимальная ширина, чтобы не сжимались */
        padding: 10px 12px !important;
        box-sizing: border-box !important;
    }
    
    /* Заголовки можно не переносить */
    .press-container table th {
        white-space: nowrap !important;
    }
    
    /* Убираем data-label */
    .press-container td:before {
        display: none !important;
    }
    
    /* Стилизация скроллбара (для таблицы) */
    .press-container table::-webkit-scrollbar {
        height: 6px;
    }
    
    .press-container table::-webkit-scrollbar-track {
        background: #f1f1f1;
        border-radius: 10px;
    }
    
    .press-container table::-webkit-scrollbar-thumb {
        background: #4a6fa5;
        border-radius: 10px;
    }
}

/* Индикатор на таблице */
.press-container.indicator-visible table {
    position: relative;
}

.press-container.indicator-visible table::after {
    content: '→ Тяните →';
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    display: inline-block;
    padding: 8px 16px;
    background: rgba(74, 111, 165, 0.85);
    color: white;
    border-radius: 40px;
    font-size: 14px;
    font-weight: 500;
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    z-index: 30;
    pointer-events: none;
    white-space: nowrap;
    opacity: 0.9;
    animation: hint-glow 2s infinite;
}

@keyframes hint-glow {
    0%, 100% { 
        opacity: 0.2;
        right: 20px;
        background: rgba(74, 111, 165, 0.8);
    }
    50% { 
        opacity: 0.4;
        right: 15px;
        background: rgba(74, 111, 165, 0.95);
        box-shadow: 0 6px 20px rgba(74, 111, 165, 0.5);
    }
}

}

/**
 * Стили для страницы поиска
 * Без кастомных счётчиков — используем стандартную нумерацию <ol>
 */

.search-page {
    width: 100%;
    font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
    color: #1f1a17;
}

.search-page__title {
    margin: 0 0 25px 0;
    padding: 0 0 0 15px;
    background: transparent;
    color: #1f1a17;
    font: normal 24px/50px system-ui, sans-serif;
    height: 50px;
    border-left: 4px solid #DDB30B;
    letter-spacing: 0.5px;
}

.search-page__form {
    margin-bottom: 30px;
    background: transparent;
    padding: 20px 0;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
}

.search-page__input {
    flex: 1;
    min-width: 200px;
    background: #ffffff;
    border: 1px solid #cccccc;
    color: #1f1a17;
    padding: 12px 16px;
    font-size: 15px;
    border-radius: 6px;
    box-sizing: border-box;
    font-family: inherit;
}

.search-page__input:focus {
    outline: none;
    border-color: #DDB30B;
    box-shadow: 0 0 0 2px rgba(221, 179, 11, 0.2);
}

.search-page__input::placeholder {
    color: #999999;
}

.search-page__submit {
    background: #DDB30B;
    border: none;
    color: #1f1a17;
    padding: 12px 28px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: inherit;
}

.search-page__submit:hover {
    background: #c49c08;
}

.search-page__result-info {
    margin-bottom: 20px;
}

.search-page__result-info strong {
    display: inline-block;
    background: transparent;
    padding: 10px 0;
    font-size: 14px;
    font-weight: normal;
    color: #1f1a17;
}

/* Список — стандартная нумерация */
.search-page__list {
    margin: 0;
    padding-left: 25px;
}

/* Элемент списка — без псевдоэлемента */
.search-page__item {
    margin-bottom: 16px;
    padding: 12px 0 12px 0;
    border-bottom: 1px solid #eee;
}

.search-page__item-link {
    color: #DDB30B;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    display: inline-block;
    margin-bottom: 6px;
}

.search-page__item-link:hover {
    color: #b38f09;
    text-decoration: underline;
}

.search-page__item-meta {
    font-size: 12px;
    color: #666;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.search-page__item-url {
    font-family: monospace;
    word-break: break-all;
    color: #888;
}

.search-page__item-size,
.search-page__item-date {
    white-space: nowrap;
    color: #888;
}

/* Пагинация */
.search-page__pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: center;
    margin-top: 30px;
    padding: 15px 0;
    background: transparent;
}

.search-page__pagination-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 8px;
    background: #f5f5f5;
    color: #1f1a17;
    text-decoration: none;
    border-radius: 6px;
    font-size: 14px;
    border: 1px solid #e0e0e0;
}

.search-page__pagination-link:hover {
    background: #DDB30B;
    color: #1f1a17;
    border-color: #DDB30B;
}

.search-page__pagination-current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 8px;
    background: #DDB30B;
    color: #1f1a17;
    border-radius: 6px;
    font-size: 14px;
    font-weight: bold;
}

.search-page__pagination-ctrl {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 70px;
    height: 36px;
    padding: 0 12px;
    background: transparent;
    border: 1px dashed #ccc;
    color: #888;
    border-radius: 6px;
    font-size: 12px;
    letter-spacing: 0.5px;
}

.search-page__pagination-nav {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 44px;
    height: 44px;
    background: #DDB30B;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    text-decoration: none;
    color: #1f1a17;
    opacity: 0;
    transition: opacity 0.2s;
    z-index: 100;
}

.search-page__pagination-nav--prev {
    right: 74px;
}

.search-page__pagination-nav--next {
    right: 20px;
}

.search-page__pagination:hover .search-page__pagination-nav {
    opacity: 0.7;
}

.search-page__pagination-nav:hover {
    opacity: 1 !important;
}

.search-page__empty {
    background: transparent;
    padding: 30px 20px;
    text-align: center;
    border-left: 4px solid #DDB30B;
}

.search-page__empty p {
    margin: 0;
    color: #1f1a17;
    font-size: 15px;
}

.search-page__clear {
    clear: both;
    display: none;
}

@media (max-width: 768px) {
    .search-page__title {
        font-size: 20px;
        height: 44px;
        line-height: 44px;
    }
    
    .search-page__form {
        flex-direction: column;
        padding: 15px 0;
    }
    
    .search-page__input {
        width: 100%;
    }
    
    .search-page__submit {
        width: 100%;
    }
    
    .search-page__item-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
    
    .search-page__item-size,
    .search-page__item-date {
        white-space: normal;
    }
    
    .search-page__pagination-link,
    .search-page__pagination-current {
        min-width: 32px;
        height: 32px;
        font-size: 13px;
    }
}

/* ========= Глоссарий (палитра innovanews: #1e1a17, #144492, #698EC9, #DDB30B, #f5f7fa) ========= */

.glossary {
	box-sizing: border-box;
	max-width: 72rem;
	margin: 0 auto;
	padding: clamp(0.75rem, 2vw, 1.5rem) 0;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	line-height: 1.55;
	color: #1e1a17;
}

.glossary *,
.glossary *::before,
.glossary *::after {
	box-sizing: border-box;
}

.glossary__header {
	margin-bottom: 1.25rem;
}

.glossary__title {
	margin: 0 0 0.5rem;
	font-size: clamp(1.5rem, 2vw, 1.75rem);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: #144492;
}

.glossary__intro {
	margin: 0;
	padding: 0 0 6px 0;
	font-size: 0.95rem;
	color: #555;
	line-height: 1.5;
}

/* Алфавит — в духе .breadcrumbs / .inset: светлый фон, спокойная рамка */
.glossary .glossary-nav {
	display: block;
	width: 100%;
	margin: 0 0 1.25rem;
	padding: 0.65rem 0.9rem;
	background: #f5f7fa;
	border: 1px solid #e1e8f2;
	border-radius: 8px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.glossary .glossary-nav__inner {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.45rem;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Кнопки-буквы: как «теги» / вторичные кнопки, не перебиваем глобальный a:hover */
.glossary .glossary-nav__link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 2.125rem;
	min-height: 2.125rem;
	padding: 0 0.45rem;
	font-weight: 600;
	font-size: 0.9375rem;
	text-decoration: none !important;
	color: #144492 !important;
	background: #fff;
	border: 1px solid #e0e6ed;
	border-radius: 6px;
	transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.glossary .glossary-nav__link:hover {
	color: #1e1a17 !important;
	background: #f0f5ff;
	border-color: #698ec9;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}

.glossary .glossary-nav__link:focus-visible {
	outline: 2px solid #698ec9;
	outline-offset: 2px;
}

/* Дерево групп — сетка как у вас в новостных блоках: белый/светлый фон */
.glossary .glossary-tree {
	list-style: none !important;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 1.75rem;
	align-items: start;
	width: 100%;
}

@media (max-width: 640px) {
	.glossary .glossary-tree {
		grid-template-columns: 1fr;
	}
}

.glossary .glossary-tree--root > .glossary-group {
	break-inside: avoid;
}

.glossary .glossary-group {
	margin: 0 0 0.9rem;
	padding: 0.65rem 0 0.65rem 0.75rem;
	border-left: 4px solid #698ec9;
	border-radius: 0 6px 6px 0;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.glossary .glossary-group__thumb {
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.35rem;
}

.glossary .glossary-group__img {
	display: block;
	max-width: 48px;
	height: auto;
	border-radius: 4px;
	border: 1px solid #e0e6ed;
}

/* Заголовок группы — как .title / ссылки раздела */
.glossary .glossary-group__title {
	font-weight: 600;
	font-size: 1.05rem;
	text-decoration: none !important;
	color: #144492 !important;
	transition: color 0.2s ease;
}

.glossary .glossary-group__title:hover {
	color: #ddb30b !important;
	text-decoration: underline !important;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}

.glossary .glossary-terms {
	list-style: none !important;
	margin: 0.45rem 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.glossary .glossary-term__link {
	text-decoration: underline !important;
	color: #144492 !important;
	font-size: 0.9375rem;
	transition: color 0.2s ease;
}

.glossary .glossary-term__link:hover {
	color: #ddb30b !important;
}

/* Плоский список терминов на странице буквы */
.glossary .glossary-list--items {
	list-style: none !important;
	margin: 0;
	padding: 0.5rem 0 0;
	columns: 2;
	column-gap: 2rem;
	column-fill: balance;
}

@media (max-width: 640px) {
	.glossary .glossary-list--items {
		columns: 1;
	}
}

.glossary .glossary-list--items .glossary-term {
	break-inside: avoid;
	margin-bottom: 0.35rem;
}

/* Пагинация — как .custom-pagination / .pagination-wrap */
.glossary .glossary-pagination {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.65rem;
	margin-top: 1.5rem;
	padding-top: 1rem;
	border-top: 1px solid #e0e6ed;
	font-size: 0.9375rem;
	width: 100%;
	clear: both;
	color: #1e1a17;
}

.glossary .glossary-pagination__label {
	font-weight: 600;
	color: #1e1a17;
	margin-right: 0.15rem;
}

.glossary .glossary-pagination__pages {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
}

.glossary .glossary-pagination__link {
	display: inline-flex;
	min-width: 2rem;
	justify-content: center;
	padding: 0.25rem 0.5rem;
	text-decoration: none !important;
	color: #144492 !important;
	border-radius: 4px;
	background: #f5f5f5;
	border: 1px solid #e0e0e0;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.glossary .glossary-pagination__link:hover {
	color: #ddb30b !important;
	border-color: #144492;
	background: #fff;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}

.glossary .glossary-pagination__current {
	display: inline-flex;
	min-width: 2rem;
	justify-content: center;
	padding: 0.25rem 0.5rem;
	font-weight: 700;
	color: #1e1a17;
	background: #ddb30b;
	border: 1px solid #ddb30b;
	border-radius: 4px;
}

.glossary .glossary-pagination__sep::before {
	content: "·";
	padding: 0 0.2rem;
	color: #698ec9;
	opacity: 0.85;
}

/* Хлебные крошки по mode goup_path — как .breadcrumbs a */
.glossary .glossary-path__link {
	text-decoration: none !important;
	color: #144492 !important;
	font-size: 0.9rem;
	transition: color 0.2s ease;
}

.glossary .glossary-path__link:hover {
	color: #ddb30b !important;
	text-decoration: underline !important;
}

.glossary .glossary-path__link--root {
	font-weight: 600;
}

.glossary .glossary-path__sep {
	margin: 0 0.35rem;
	color: #aaa;
	font-size: 0.85rem;
}

/* ========= Страница одного термина глоссария (.glossary-term-page) ========= */

.glossary-term-page {
	box-sizing: border-box;
	max-width: 72rem;
	margin: 0 auto;
	padding: clamp(0.75rem, 2vw, 1.5rem) 0 2rem;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	line-height: 1.55;
	color: #1e1a17;
}

.glossary-term-page__header {
	margin-bottom: 1rem;
}

.glossary-term-page__title {
	margin: 0 0 0.75rem;
	font-size: clamp(1.5rem, 2vw, 1.85rem);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: #144492;
}

/* Крошки: как .breadcrumbs на сайте */
.glossary-term-page .glossary-term-page__breadcrumbs {
	font-size: 14px;
	margin: 0 0 1rem 0;
	padding: 8px 15px;
	background: #f5f5f5;
	border-radius: 4px;
}

.glossary-term-page .glossary-term-page__breadcrumbs .glossary-path__link {
	color: #144492;
	text-decoration: none;
	transition: color 0.2s;
}

.glossary-term-page .glossary-term-page__breadcrumbs .glossary-path__link:hover {
	color: #ddb30b;
	text-decoration: underline;
}

.glossary-term-page .glossary-term-page__breadcrumbs .glossary-path__link--root {
	font-weight: 600;
}

.glossary-term-page .glossary-path__sep {
	margin: 0 6px;
	color: #aaa;
}

/* Полоса букв — те же отступы, что у списка глоссария */
.glossary-term-page .glossary-term-page__letters {
	margin-bottom: 1.25rem;
}

/* Вводный абзац (свойство big_text) */
.glossary-term-page__lead {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	background: #f5f7fa;
	border-left: 4px solid #698ec9;
	border-radius: 0 8px 8px 0;
	color: #333;
}

/* Иллюстрация */
.glossary-term-page__media {
	float: left;
	margin: 0 1rem 0.75rem 0;
	max-width: min(100%, 320px);
}

.glossary-term-page__img-link {
	display: inline-block;
	border: 0;
}

.glossary-term-page__img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: 6px;
	border: 1px solid #e0e6ed;
}

.glossary-term-page__img--thumb {
	margin: 0;
}

/* Основной HTML-текст: наследует .article-content-wrapper */
.glossary-term-page__text {
	clear: both;
	margin: 1rem 0 1.5rem;
	overflow: hidden;
}

.glossary-term-page__text::after {
	content: "";
	display: table;
	clear: both;
}

/* Оценка */
.glossary-term-page__rating {
	clear: both;
	margin: 1rem 0;
	padding: 0.5rem 0;
	font-size: 0.9375rem;
	color: #555;
}

.glossary-term-page__rating-label {
	font-weight: 600;
	color: #1e1a17;
	margin-right: 0.35rem;
}

/* Теги */
.glossary-term-page__tags {
	clear: both;
	margin: 1rem 0 1.25rem;
	font-size: 0.9375rem;
	line-height: 1.5;
}

.glossary-term-page__tags-icon {
	float: left;
	margin: 2px 6px 0 0;
	vertical-align: middle;
}

.glossary-term-page__tags-list {
	display: block;
	overflow: hidden;
}

.glossary-term-page__tag.tag {
	display: inline-block;
	margin: 0 2px 4px 0;
	padding: 3px 8px;
	background: #f0f5ff;
	color: #144492 !important;
	border-radius: 4px;
	text-decoration: none !important;
	font-size: 13px;
	transition: background 0.2s, color 0.2s;
}

.glossary-term-page__tag.tag:hover {
	background: #ddb30b;
	color: #1e1a17 !important;
}

/* Части текста (part-1, part-2, …) */
.glossary-term-page__parts {
	clear: both;
	margin: 1.5rem 0;
	padding: 0.75rem 0 0;
	border-top: 1px solid #e0e6ed;
}

.glossary-term-page__parts-label {
	font-weight: 600;
	color: #1e1a17;
	margin-bottom: 0.5rem;
}

.glossary-term-page__parts-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
}

.glossary-term-page__page-link {
	display: inline-flex;
	min-width: 2rem;
	justify-content: center;
	padding: 0.25rem 0.5rem;
	color: #144492 !important;
	text-decoration: none !important;
	border-radius: 4px;
	background: #f5f5f5;
	border: 1px solid #e0e0e0;
	transition: color 0.2s, border-color 0.2s, box-shadow 0.2s;
}

.glossary-term-page__page-link:hover {
	color: #ddb30b !important;
	border-color: #144492;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}

.glossary-term-page__page-current {
	display: inline-flex;
	min-width: 2rem;
	justify-content: center;
	padding: 0.25rem 0.5rem;
	font-weight: 700;
	color: #1e1a17;
	background: #ddb30b;
	border: 1px solid #ddb30b;
	border-radius: 4px;
}

/* Атрибуты */
.glossary-term-page__properties {
	clear: both;
	margin: 2rem 0;
	padding-top: 1rem;
	border-top: 1px solid #e0e6ed;
}

.glossary-term-page__properties-title {
	margin: 0 0 1rem;
	padding: 0 0 0 15px;
	min-height: 25px;
	font: normal 14px/25px system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #fff;
	background: #1f1a17;
	border-left: 4px solid #ddb30b;
	box-sizing: border-box;
}

.glossary-term-page__props-dir-title {
	margin: 1rem 0 0.5rem;
}

.glossary-term-page__props-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0.5rem 0 1rem;
	font-size: 14px;
}

.glossary-term-page__props-name,
.glossary-term-page__props-value {
	padding: 10px 12px;
	vertical-align: top;
	border-bottom: 1px solid #e0e6ed;
	background: #f8f9fa;
}

.glossary-term-page__props-name {
	width: 32%;
	color: #333;
}

.glossary-term-page__props-nested {
	margin: 0.5rem 0 1rem;
	padding: 0.75rem 1rem;
	border-left: 3px solid #698ec9;
	background: #f5f7fa;
	border-radius: 0 8px 8px 0;
}

/* Комментарии */
.glossary-term-page__comments {
	clear: both;
	margin-top: 2rem;
	padding-top: 1rem;
	border-top: 1px solid #e0e6ed;
}

.glossary-term-page__comments-title.title {
	margin: 0 0 1rem !important;
	font-size: 19px;
	color: #144492;
}

.glossary-term-page__comment-meta {
	font-size: 13px;
	color: #698ec9;
}

/* Форма комментария */
.glossary-term-page__add-comment {
	margin: 1rem 0;
}

.glossary-term-page__form-label {
	display: inline-block;
	font-weight: 600;
	color: #1e1a17;
	margin-bottom: 4px;
}

.glossary-term-page__form-input,
.glossary-term-page__form-textarea {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	border: 1px solid #e0e6ed;
	border-radius: 4px;
	padding: 8px 10px;
	max-width: 100%;
	box-sizing: border-box;
}

.glossary-term-page__form-input:focus,
.glossary-term-page__form-textarea:focus {
	outline: none;
	border-color: #ddb30b;
	box-shadow: 0 0 0 2px rgba(221, 179, 11, 0.2);
}

.glossary-term-page__form-submit {
	background: #144492;
	color: #fff !important;
	border: none;
	padding: 10px 20px;
	border-radius: 4px;
	cursor: pointer;
	font-size: 15px;
	transition: background 0.2s;
}

.glossary-term-page__form-submit:hover {
	background: #ddb30b;
	color: #1e1a17 !important;
}

.glossary-term-page__req {
	color: #d63031;
}

.glossary-term-page__message {
	margin-bottom: 1rem;
	padding: 0.75rem 1rem;
	background: #fff8e1;
	border-left: 4px solid #ffc107;
	border-radius: 0 4px 4px 0;
}

@media (max-width: 640px) {
	.glossary-term-page__media {
		float: none;
		margin: 0 0 1rem;
		max-width: 100%;
		text-align: center;
	}
}

/* Палитра: #144492 #1e1a17 #4a6da7 #f5f7fa #f8f8f8 #f0f5ff #e0e6ed #6c757d #DDB30B #698EC9 */

.reading-progress {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    pointer-events: none;
}

.reading-progress__track {
    height: 6px;
    background: #e0e6ed;
    overflow: hidden;
    box-shadow: 0 1px 0 rgba(30, 26, 23, 0.06);
}

.reading-progress__fill {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #144492 0%, #4a6da7 45%, #698EC9 100%);
    box-shadow: 0 0 12px rgba(221, 179, 11, 0.35);
    border-radius: 0 2px 2px 0;
    transition: width 0.12s ease-out;
}

/* Тонкая золотая линия сверху — акцент бренда */
.reading-progress__track::before {
    content: "";
    display: block;
    height: 2px;
    background: linear-gradient(90deg, transparent, #DDB30B, transparent);
    opacity: 0.85;
}

@media (prefers-reduced-motion: reduce) {
    .reading-progress__fill {
        transition: none;
    }
}

/* Комментарий эксперта — блок в теле статьи (.gen-news-text) */
.gen-expert-comment {
  --expert-ink: #1e1a17;
  --expert-primary: #144492;
  --expert-accent: #4a6da7;
  --expert-accent-soft: #698ec9;
  --expert-gold: #ddb30b;
  --expert-muted: #6c757d;
  --expert-border: #e0e6ed;
  --expert-bg: #f5f7fa;
  --expert-bg-soft: #f8f8f8;
  --expert-tint: #f0f5ff;

  margin: 1.75rem 0;
  padding: 0;
  border: 1px solid var(--expert-border);
  border-radius: 14px;
  background: linear-gradient(135deg, var(--expert-tint) 0%, var(--expert-bg-soft) 55%, #ffffff 100%);
  box-shadow: 0 8px 28px rgba(20, 68, 146, 0.08);
  overflow: hidden;
  position: relative;
}

.gen-expert-comment__accent {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: linear-gradient(180deg, var(--expert-gold) 0%, var(--expert-primary) 100%);
}

.gen-expert-comment__inner {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
  padding: 1.25rem 1.35rem 1.35rem 1.5rem;
}

.gen-expert-comment__media {
  flex: 0 0 auto;
}

.gen-expert-comment__photo {
  display: block;
  width: 104px;
  height: 104px;
  object-fit: cover;
  border-radius: 50%;
  border: 3px solid #ffffff;
  box-shadow: 0 4px 16px rgba(30, 26, 23, 0.12);
  background: var(--expert-bg);
}

.gen-expert-comment__body {
  flex: 1 1 auto;
  min-width: 0;
}

.gen-expert-comment__header {
  margin: 0 0 0.5rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid var(--expert-border);
}

.gen-expert-comment__name {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--expert-ink);
  letter-spacing: -0.01em;
}

.gen-expert-comment__position {
  margin-top: 0.35rem;
  font-size: 0.9375rem;
  line-height: 1.45;
  color: var(--expert-accent);
  font-weight: 600;
}

.gen-expert-comment__text {
  font-size: 0.98rem;
  line-height: 1.65;
  color: #2b2f36;
}

.gen-expert-comment__text p {
  margin: 0 0 0.75em;
}

.gen-expert-comment__text p:last-child {
  margin-bottom: 0;
}

.gen-expert-comment__text a {
  color: var(--expert-primary);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.gen-expert-comment__text a:hover {
  color: var(--expert-accent-soft);
}

/* Второй и следующие блоки — лёгкое чередование фона */
.gen-news-text .gen-expert-comment[data-expert-index="2"],
.gen-news-text .gen-expert-comment[data-expert-index="4"] {
  background: linear-gradient(135deg, #ffffff 0%, var(--expert-bg) 100%);
}

/* Адаптив */
@media (max-width: 640px) {
  .gen-expert-comment__inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.15rem 1rem 1.25rem;
  }

  .gen-expert-comment__header {
    text-align: center;
  }

  .gen-expert-comment__accent {
    width: 100%;
    height: 4px;
    top: 0;
    bottom: auto;
    left: 0;
    right: 0;
  }

  .gen-expert-comment__photo {
    width: 88px;
    height: 88px;
  }

  .gen-expert-comment__name {
    font-size: 1.05rem;
  }

  .gen-expert-comment__text {
    font-size: 0.95rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gen-expert-comment {
    box-shadow: 0 4px 14px rgba(20, 68, 146, 0.06);
  }
}

/* Заголовок блока */
.gen-expert-comment__head {
  padding: 0.85rem 1.35rem 0.65rem 1.5rem;
  border-bottom: 1px solid var(--expert-border, #e0e6ed);
  background: rgba(255, 255, 255, 0.55);
}

.gen-expert-comment__title {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #144492;
}

.gen-expert-comment__title::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ddb30b;
  box-shadow: 0 0 0 2px rgba(221, 179, 11, 0.35);
}

/* Чтобы контент не прилипал к заголовку при узкой колонке */
.gen-expert-comment__inner {
  padding-top: 1.1rem;
}

@media (max-width: 640px) {
  .gen-expert-comment__head {
    padding: 0.75rem 1rem 0.55rem;
    text-align: center;
  }

  .gen-expert-comment__title {
    justify-content: center;
  }
}