/* CSS Document */
/* ----- Общие сбросы и база ----- */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: Verdana, Arial, sans-serif;
            padding: 20px 10px;
            color: #1a1a1a;
        }

        .container {
            max-width: 760px;
            margin: 0 auto;
            background: #ffffff;
            padding: 20px 25px;
            border-radius: 4px;
            box-shadow: 0 0 30px rgba(0,0,0,0.15), 0 4px 12px rgba(0,0,0,0.08);
        }

        /* ----- Типографика ----- */
        h1, h2, h3 {
            font-weight: normal;
        }

        .text-small {
            font-size: 11px;
            line-height: 1.5;
        }

        .text-medium {
            font-size: 14px;
            line-height: 1.6;
        }

        .text-large {
            font-size: 16px;
        }

        .accent {
            color: #bc4100;
        }

        .bg-accent {
            background-color: #bc4100;
            color: #fff;
        }

        .bg-yellow {
            background-color: #ffffc6;
        }

        .bg-yellow-light {
            background-color: #ffffcc;
        }

        /* ----- Шапка ----- */
        .header {
            text-align: center;
            margin-bottom: 10px;
        }

        .header img {
            max-width: 100%;
            height: auto;
        }

        /* ----- Разделители ----- */
        hr {
            border: none;
            border-top: 3px solid;
            margin: 18px 0;
        }

        hr.thin {
            border-top-width: 2px;
            margin: 12px 0;
        }*/
/*hr {
    border: none;
    height: 2px;
    background: linear-gradient(to right, transparent, #bc4100, transparent);
    margin: 30px 0;
    opacity: 0.5;
}

hr.thin {
    height: 1px;
    background: #e0d6cc;
    margin: 20px 0;
    opacity: 0.6;
}*/
        /* ----- Блок с Flash-предупреждением ----- */
        .flash-notice {
            border: 2px dotted red;
            background: #ffffc6;
            padding: 8px 12px;
            text-align: justify;
            border-radius: 3px;
        }

        .flash-notice a {
            color: #bc4100;
            font-weight: bold;
        }

        /* ----- Список выпуска ----- */
        .issue-list {
            padding-left: 25px;
            margin: 5px 0;
        }

        .issue-list li {
            font-size: 13px;
            line-height: 1.6;
            margin-bottom: 2px;
        }

        /* ----- Аудио-плеер (заглушка) ----- */
        .audio-player {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }

        .audio-player .play-btn {
            width: 70px;
            height: 37px;
            background: #eee;
            border: 1px solid #ccc;
            border-radius: 4px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 20px;
            font-weight: bold;
            color: #990033;
            cursor: default;
            user-select: none;
        }

        .audio-player .caption {
            font-size: 10px;
            color: #990033;
            text-align: center;
            margin-top: 2px;
        }

        /* ----- Карточки материалов ----- */
        .section-title {
        border: 2px dotted #254377;
        background: #bc4100;
        color: #fff;
        padding: 6px 14px;
        font-size: 13px;
        font-weight: bold;
        margin-top: 20px;
        }

        .section-title span {
            font-weight: normal;
        }

        .material-row {
            display: flex;
            flex-wrap: wrap;
            gap: 20px;
            margin: 12px 0 20px 0;
            align-items: center;
        }

        .material-row .left {
            flex: 2 1 250px;
            text-align: center;
        }

        .material-row .right {
            flex: 1 1 120px;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .material-row .left img {
            max-width: 100%;
            height: auto;
        }

        .material-row .left .download-link {
            font-size: 11px;
            font-weight: bold;
            display: inline-block;
            margin-top: 4px;
        }

        .material-row .left .file-size {
            font-size: 11px;
            font-weight: bold;
        }

        /* ----- Голосования (сетка) ----- */
        .polls-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
            gap: 16px;
            margin: 16px 0;
        }

        .poll-box {
            background: #666699;
            padding: 4px;
            border-radius: 4px;
        }

        .poll-box-inner {
            background: #fff;
            padding: 10px 8px;
            text-align: center;
        }

        .poll-box-inner .question {
            font-size: 11px;
            font-weight: bold;
            margin-bottom: 10px;
        }

        .poll-box-inner .option {
            display: flex;
            align-items: center;
            gap: 6px;
            font-size: 11px;
            text-align: left;
            margin-bottom: 4px;
        }

        .poll-box-inner .option input[type="radio"] {
            flex-shrink: 0;
        }

        .poll-box-inner .option label {
            cursor: pointer;
        }

        .poll-box-inner .vote-btn {
            font-size: 10px;
            padding: 3px 12px;
            color: #fff;
            border: none;
            border-radius: 3px;
            cursor: pointer;
            font-weight: bold;
            margin-top: 6px;
        }

        .poll-box-inner .results-link {
            font-size: 10px;
            display: block;
            margin-top: 6px;
        }

        .poll-box-inner .version {
            font-size: 9px;
            color: #666;
            display: block;
            margin-top: 4px;
        }

        /* ----- Форма обратной связи ----- */
        .feedback-form {
            display: flex;
            flex-wrap: wrap;
            background: #ffffcc;
            border: 2px dotted #ef0f6b;
            padding: 12px 16px;
            border-radius: 4px;
            gap: 16px;
            align-items: center;
            margin: 12px 0;
        }

        .feedback-form .avatar {
            flex: 0 0 120px;
            text-align: center;
        }

        .feedback-form .avatar img {
            max-width: 100%;
            height: auto;
        }

        .feedback-form .fields {
            flex: 1 1 200px;
        }

        .feedback-form .fields label {
            font-size: 11px;
            font-weight: bold;
        }

        .feedback-form .fields input,
        .feedback-form .fields textarea {
            width: 100%;
            padding: 5px 8px;
            border: 1px solid #ccc;
            border-radius: 3px;
            font-family: Verdana, Arial, sans-serif;
            font-size: 11px;
            margin-bottom: 6px;
        }

        .feedback-form .fields textarea {
            resize: vertical;
            min-height: 80px;
        }

        .feedback-form .fields .submit-btn {
            color: #fff;
            border: none;
            padding: 6px 18px;
            font-weight: bold;
            font-size: 11px;
            border-radius: 3px;
            cursor: pointer;
        }

        /* ----- Блок "Рекомендовать" ----- */
        .recommend-block {
            text-align: center;
            margin: 20px 0;
        }

        .recommend-block img {
            max-width: 100%;
            height: auto;
        }

        /* ----- Футер / подпись ----- */
        .footer {
            margin-top: 20px;
            border-top: 2px solid;   /* цвет будет из theme.css */
            padding-top: 14px;
            font-size: 11px;
            text-align: center;

        }

        .footer .copyright {
            font-weight: bold;
            margin-top: 6px;
        }

        /* ===== АДАПТИВНОСТЬ ===== */
        @media (max-width: 600px) {
            .container {
                padding: 12px 12px;
            }

            .material-row {
                flex-direction: column;
                gap: 10px;
            }

            .material-row .left {
                flex: 1 1 auto;
                width: 100%;
            }

            .material-row .right {
                flex: 1 1 auto;
                width: 100%;
            }

            .polls-grid {
                grid-template-columns: 1fr 1fr;
                gap: 10px;
            }

            .feedback-form {
                flex-direction: column;
                align-items: stretch;
            }

            .feedback-form .avatar {
                flex: 0 0 auto;
            }

            .section-title {
                font-size: 12px;
            }

            .text-small {
                font-size: 10px;
            }

            .text-medium {
                font-size: 12px;
            }
			.main-nav ul li a {
            padding: 6px 12px;       /* ещё меньше на телефоне */
            font-size: 13px;
}
        }

        @media (max-width: 420px) {
            .polls-grid {
                grid-template-columns: 1fr;
            }

            .container {
                padding: 8px 6px;
            }

            body {
                padding: 10px 4px;
            }
        }

        /* Хелперы */
        .text-center { text-align: center; }
        /*.text-justify { text-align: justify; }*/
        .mt-8 { margin-top: 8px; }
        .mt-12 { margin-top: 12px; }
        .mb-8 { margin-bottom: 8px; }
        .mb-12 { margin-bottom: 12px; }
        .fw-bold { font-weight: bold; }
        .d-block { display: block; }
        .w-100 { width: 100%; }
        .gap-8 { gap: 8px; }
		
		/* ===== МЕНЮ ===== */
.main-nav {
    background: #bc4100;
    padding: 0;
    margin: 10px 0;          /* было 15px — чуть меньше */
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.main-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.main-nav ul li {
    margin: 0;
    padding: 0;
}

.main-nav ul li a {
    display: block;
    padding: 8px 16px;
    color: #ffffff;
    font-size: 13px;
    font-weight: bold;
    text-decoration: none;
    transition: background 0.3s ease;
}

.main-nav ul li a:hover {
    background: #a03500;
    color: #fff;
}

.main-nav ul li a.active {
    background: #ffffff;
    color: #bc4100;
    border-radius: 6px 6px 0 0;
}

@media (max-width: 600px) {
    .main-nav ul {
        flex-direction: column;
        align-items: stretch;
    }
    
    .main-nav ul li a {
        text-align: center;
		padding: 8px 12px;
        font-size: 13px;
        border-bottom: 1px solid rgba(255,255,255,0.2);
    }
    
    .main-nav ul li a.active {
        border-radius: 0;
    }
}

/* ===== ШАПКА САЙТА ===== */
.site-header {
    background: #ffffff;  /* Белый фон */
    color: #3c2a1e;       /* Тёмно-коричневый текст */
    padding: 8px 20px 16px;
    text-align: center;
    border-radius: 8px 8px 0 0;
	/*margin-bottom: 0;*/
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    /*border-bottom: 3px solid #bc4100;  /* Коричневая полоска снизу */
}

.header-inner {
    max-width: 760px;
    margin: 0 auto;
}

.site-title {
    font-size: 36px;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 2px;
    margin: 0 0 6px 0;
    color: #bc4100;
    font-family: 'Verdana', 'Arial', sans-serif;
    white-space: nowrap;
    text-shadow: 
        1px 1px 0 rgba(0, 0, 0, 0.08),   /* едва заметный сдвиг */
        2px 2px 4px rgba(0, 0, 0, 0.1);  /* лёгкая глубина */
}

.site-title span {
    color: #bc4100;
}

.site-subtitle {
    font-size: 15px;
    font-weight: 400;
    color: #5a4a3a;              /* Тёмно-серо-коричневый */
    margin: 0 0 14px 0;
    letter-spacing: 0.8px;
    font-family: 'Verdana', 'Arial', sans-serif;
    border-top: 1px solid #e0d6cc;
    border-bottom: 1px solid #e0d6cc;
    padding: 10px 0;
    display: inline-block;
}

.issue-info {
    font-size: 14px;
    padding-top: 12px;
	padding-bottom: 0px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.issue-meta {
    background: #f5f0eb;
    padding: 4px 18px;
	border-radius: 20px;
    color: #3c2a1e;
	font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.3px;
    display: inline-block;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.05);
}

.issue-title {
    font-weight: 600;
    letter-spacing: 0.5px;
    background: #f5f0eb;
    padding: 4px 16px;
    border-radius: 20px;
    color: #3c2a1e;
}

.issue-author {
    font-style: italic;
    opacity: 0.8;
}

/* ===== АДАПТИВ ===== */
@media (max-width: 600px) {
    .site-header {
        padding: 24px 15px 18px;
    }
    
    .site-title {
        font-size: 24px;
        letter-spacing: 1px;
    }
    
    .site-subtitle {
        font-size: 12px;
        letter-spacing: 0.5px;
        padding: 6px 0;
    }
    
    .issue-info {
        font-size: 12px;
        gap: 8px;
        flex-direction: column;
        align-items: center;
    }
}

@media (max-width: 400px) {
    .site-title {
        font-size: 22px;   /* было 19px — теперь крупнее */
    }
    .site-subtitle {
        font-size: 12px;   /* было 10px — лучше читается */
    }
    .issue-info {
        font-size: 12px;   /* было 11px — чуть крупнее */
    }
    .text-medium {
        font-size: 13px;   /* основной текст статей */
    }
    .section-title {
        font-size: 13px;   /* заголовки Часть №1, №2, №3 */
    }
    .issue-list li {
        font-size: 13px;   /* пункты оглавления */
    }
}
html {
    scroll-behavior: smooth;
}
/* ===== ССЫЛКИ В ОГЛАВЛЕНИИ (ЯКОРЯ) ===== */
.issue-list a {
    text-decoration: none;
    border-bottom: 1px dashed transparent;  /* прозрачная линия */
    transition: all 0.2s ease;
}

.issue-list a:hover {
    padding-left: 4px;
}
.highlight {
    background-color: #ffff00;
    /*padding: 2px 6px;
    border-radius: 3px;*/
}
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    clip: rect(0 0 0 0);
}
/* ===== ВСЕ ССЫЛКИ ===== */
a {
    color: #0000FF;
    text-decoration: underline;
    font-weight: bold;
}

a:visited {
    color: #0000FF;
}

a:hover {
    color: #0000FF;
    text-decoration: underline;
}
.quote {
    margin-top: 12px;
	margin-bottom: 0;
    padding-left: 16px;
    font-style: italic;
    border-left: 4px solid; /* цвет будет задан в теме */
}
p {
    margin-bottom: 12px;
}
/* ===== Аккордеон ===== */
.hidden-text {
    display: none;
}
.hidden-text.visible {
    display: block;
}

.read-more-link {
    display: inline-block;
    margin-top: 6px;
    font-weight: 600;
    color: #4a6cf7;
    cursor: pointer;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: all 0.2s ease;
}
.read-more-link:hover {
    color: #2d4cdb;
    border-bottom-color: #4a6cf7;
}
.read-more-link {
    display: inline-block;
    margin-top: 8px;
    font-weight: bold;
    color: #0000FF;
    text-decoration: none;           /* убираем стандартное подчёркивание */
    border-bottom: 1px solid #0000FF; /* добавляем своё, аккуратное */
    cursor: pointer;
    transition: none;
}