﻿        /* Стили для контейнера новостей */
        #news-container {
            background-color: var(--surface);
            border-radius: 12px;
            padding: 20px;
            color: var(--text);
            box-shadow: 0 2px 10px rgba(20, 60, 100, 0.06);
            border: 1px solid var(--border);
            margin-bottom: 20px;
        }
        
        .news-item {
            margin-bottom: 15px;
            padding-bottom: 15px;
            border-bottom: 1px solid #eee;
        }
        
        .news-item h3 {
            font-size: 1.1em;
            color: #333;
            margin-bottom: 5px;
        }
        
        .news-date {
            font-size: 0.8em;
            color: #777;
            margin-bottom: 5px;
        }
        
        /* Стили для кнопок пагинации */
        .pagination-container {
            text-align: center;
            margin-top: 10px;
            margin-bottom: 20px;
        }
        
        .pagination-container button {
            margin: 0 5px;
        }
        
        /* Стили для слайдера новостей */
        #news-slider-container {
            background: linear-gradient(135deg, #eef4ff 0%, #f0f9ff 100%);
            border: 1px solid #cfe0ee;
            border-radius: 14px;
            padding: 18px 20px;
            box-shadow: 0 2px 10px rgba(20, 60, 100, 0.06);
            margin-bottom: 20px;
            display: none;
            position: relative;
            overflow: hidden;
        }
        
        #news-slider {
            position: relative;
            overflow: hidden;
            font-size: 1em;
            height: auto;
            padding: 20px;
            box-sizing: border-box;
        }
                
        .news-slider { /* Слайдер */
               width: 100%;
               box-sizing: border-box; /* Важно, если есть padding или border */
           }
           
        .news-slide {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            padding: 10px;
            box-sizing: border-box;
            display: none; /* Изначально скрываем все слайды */
            text-align: left; /* Изменен на left */
        }
        
        #news-slider-container .news-date {
            color: var(--accent-info);
            font-size: 0.8em;
            font-weight: 500;
            margin: 0;
        }

        /* Теперь дата выравнивается на уровне с заголовком */
        #news-slider-container h2 {
            color: var(--accent-info);
            font-size: 0.78rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            margin: 0 0 8px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        
        .news-slide h3 {
            color: #212529; 
            font-size: 1.2em; /* Немного увеличим размер заголовка */
            margin-bottom: 5px; /* Небольшой отступ снизу заголовка */
        }
                
        /* Стили для даты */
        #news-slider-container .news-date {
            color: var(--accent-info);
            font-size: 0.8em;
            margin: 0;               /* Remove default margins */
        }
                
        .slider-navigation {
            text-align: center;
            margin-top: 10px;
        }
        
        .slider-navigation button {
            margin: 0 5px;
        }
        
        /* === Добавленные стили === */
        #news-slider-container .news-slide h3 {
            font-size: 1.15em; /* Размер шрифта h3 для всех экранов */
        }
        
        .news-item {
            position: relative; /* Чтобы можно было абсолютно позиционировать кнопку */
            margin-bottom: 15px;
            padding-bottom: 15px;
            border-bottom: 1px solid #eee;
        }
        
        .news-item__more {
            background: transparent;
            border: none;
            color: var(--accent-info);
            padding: 6px 0;
            margin-top: 6px;
            font-weight: 600;
            font-size: 0.92rem;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            transition: color 0.18s ease, gap 0.18s ease;
        }
        .news-item__more i {
            font-size: 0.85em;
            transition: transform 0.18s ease;
        }
        .news-item__more:hover {
            color: var(--accent-info-hover);
            background: transparent;
            gap: 10px;
        }
        .news-item__more:hover i {
            transform: translateX(2px);
        }
        .news-item__more:focus-visible {
            outline: 2px solid rgba(44, 182, 125, 0.45);
            outline-offset: 3px;
            border-radius: 4px;
        }
        
        /* Стили для страницы с детальной информацией о новости (контейнер) */
        #news-detail-page {
            background-color: var(--canvas);
            border-radius: 16px;
            padding: 22px;
            color: var(--text);
            box-shadow: 0 4px 24px rgba(20, 60, 100, 0.08);
            margin-bottom: 20px;
        }

        /* Стили для контента внутри страницы детальной информации (аналогично списку новостей) */
        #news-detail {
            background-color: var(--surface);
            border: 1px solid var(--border);
            border-radius: 12px;
            padding: 18px 20px;
            margin-bottom: 15px;
            color: var(--text);
            box-shadow: 0 2px 10px rgba(20, 60, 100, 0.05);
        }

        #news-detail h2 {
            font-size: 1.5em;
            margin-bottom: 10px;
            color: var(--text);
        }
        
        #news-detail .news-date {
            font-size: 0.9em;
            color: #777; /* Серый цвет для даты */
            margin-bottom: 10px;
        }
        
        #news-detail p {
            font-size: 1em;
            line-height: 1.4;
            white-space: pre-line;
        }
        
        #news-detail .back-button-container {
            margin-top: 20px;
            text-align: center;
        }
        
        #news-detail .back-button-container button {
            padding: 10px 20px;
            font-size: 1em;
        }
        
        /* Стили для модального окна */
        .modal {
            display: none;
            position: fixed;
            z-index: 200000;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            overflow-y: auto;
            overflow-x: hidden;
            background-color: rgba(15, 25, 40, 0.25);
            -webkit-backdrop-filter: blur(3px);
            backdrop-filter: blur(3px);
            animation: modalBackdropFade 0.18s ease;
        }
        @keyframes modalBackdropFade {
            from { background-color: rgba(15, 25, 40, 0); -webkit-backdrop-filter: blur(0); backdrop-filter: blur(0); }
            to   { background-color: rgba(15, 25, 40, 0.25); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
        }
        @keyframes modalContentIn {
            from { opacity: 0; transform: translateY(10px) scale(0.98); }
            to   { opacity: 1; transform: translateY(0) scale(1); }
        }

        .modal-content {
            background-color: var(--surface);
            color: var(--text);
            margin: 5vh auto;
            padding: 22px 22px 20px;
            width: 100%;
            max-height: 90vh;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            border-radius: 16px;
            position: relative;
            box-shadow: 0 16px 48px rgba(0, 0, 0, 0.25);
            border: 1px solid var(--border);
            animation: modalContentIn 0.22s ease both;
        }
        .modal-content h2,
        .modal-content h3,
        .modal-content p,
        .modal-content label,
        .modal-content span:not(.help-link) {
            color: var(--text);
        }
        
        .modal-content img {
            margin-bottom: 10px; /*  Добавляем отступ снизу изображения  */
            border: 3px solid #fff; /* Пример: рамка 2 пикселя, сплошная, белая */
            border-radius: 10px; /* Добавляем скругление углов (необязательно) */
        }
        
        /* Или: */
        
        .modal-content button {
            position: relative;
            /* top: 10px; /*  Отодвигаем кнопки вниз  */
        }
        
        .help-link {
            color: var(--accent-info);
            text-decoration: none;
            transition: color 0.18s ease;
        }
        .help-link:hover {
            color: var(--accent-info-hover);
            text-decoration: none;
        }
        .help-link:focus-visible {
            outline: 2px solid rgba(44, 182, 125, 0.45);
            outline-offset: 2px;
            border-radius: 3px;
        }
        
        .no-underline {
          text-decoration: none;
          color: inherit; /*Чтобы цвет наследовался от родительского элемента*/
        }
        
        .no-underline:hover {
            color: inherit;
        }
        
        .disabled {
            opacity: 0.9; /* Сделайте кнопку полупрозрачной */
            cursor: not-allowed; /* Измените курсор при наведении */
        }
        
        .disabled:hover {
            cursor: not-allowed;
        }
        
        /* Добавляем стили для grafik-grid */
        .grafik-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* Адаптивное количество колонок */
            gap: 1rem;
            margin-top: 1rem;
            margin-bottom:1rem;
        }
        
        .grafik-item {
            padding: 20px;
            border: 1px solid #dee2e6;
            border-radius: 5px;
            background-color: #f8f9fa;
            margin-top:10px;
            margin-bottom:10px;
        }
        
        .grafik-item:hover {
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
        }
        
        .grafik-item h3 {
            color: var(--accent-info);
            margin-bottom: 10px;
            font-size: 1.3em;
        }
        
        .grafik-item p {
            font-size: 1em;
            color: #333;
            white-space: pre-line; /* Добавляем это свойство */
        }
        
        .alert {
            position: relative;
            padding: 14px 16px 14px 48px;
            margin-bottom: 18px;
            border: 1px solid transparent;
            border-radius: 12px;
            font-size: 0.95rem;
            line-height: 1.45;
            box-shadow: 0 2px 10px rgba(20, 60, 100, 0.05);
            animation: pageFadeIn 0.28s ease both;
        }
        .alert::before {
            position: absolute;
            left: 16px;
            top: 14px;
            font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome";
            font-weight: 900;
            font-size: 1.05rem;
            line-height: 1.45;
        }
        .alert ul {
            margin: 8px 0 4px;
            padding-left: 20px;
        }
        .alert ul li {
            margin: 2px 0;
        }

        .alert-success {
            color: #1f6f4a;
            background: linear-gradient(135deg, #e9f7ef 0%, #f0f9f3 100%);
            border-color: #cfe6dc;
        }
        .alert-success::before {
            content: "\f058"; /* check-circle */
            color: #1f9d5d;
        }

        .alert-warning {
            color: #8a5a00;
            background: linear-gradient(135deg, #fff5e0 0%, #fff8eb 100%);
            border-color: #f3dcaa;
        }
        .alert-warning::before {
            content: "\f071"; /* triangle-exclamation */
            color: #d28a1f;
        }

        .alert-danger {
            color: #8b1f29;
            background: linear-gradient(135deg, #fdecee 0%, #fff3f4 100%);
            border-color: #f4c5c9;
        }
        .alert-danger::before {
            content: "\f06a"; /* circle-exclamation */
            color: #c23645;
        }

        .alert-info {
            color: #1f4d6f;
            background: linear-gradient(135deg, #eef4ff 0%, #f0f9ff 100%);
            border-color: #cfd9e6;
        }
        .alert-info::before {
            content: "\f05a"; /* circle-info */
            color: #2a7ed1;
        }
        