/*
 * Поверх архивного app.css (сайт 2022 г., без правок). Здесь — то, чего в архиве нет или что в нём сломано:
 * шрифты (Brutal и Font Awesome не сохранились), бегущая строка вместо <marquee>, карточки без фото,
 * адаптив до 390 px, видимый фокус.
 */
:root {
	--sn-header: #338be2;   /* шапка, header{background} в app.css */
	--sn-navy: #004581;     /* .bg-primary — бегущая строка, нижний подвал */
	--sn-info: #337ab7;     /* .bg-info — подвал с рубриками, мобильная панель */
	--sn-border: #1f79d1;
	--sn-text: #333;
	--sn-muted: #6c757d;
	--sn-panel: #f7f7f9;
	--sn-focus: #ffbf47;
}

@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/roboto-cyrillic-400-normal.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/roboto-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/roboto-cyrillic-500-normal.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/roboto-latin-500-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/roboto-cyrillic-700-normal.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/roboto-latin-700-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* Brutal — фирменный шрифт архива; пока файлов нет (докачка периода 1), работает Roboto */
body { font-family: BrutalRegular, Roboto, 'Segoe UI', Arial, sans-serif; color: var(--sn-text); background: #fff; }
h1, h2, h3, h4, h5, .card h4 { font-family: BrutalMedium, Roboto, 'Segoe UI', Arial, sans-serif; }
h1 { font-size: 2rem; line-height: 1.2; overflow-wrap: break-word; hyphens: auto; }

.sn-ico { vertical-align: -3px; }
.sn-btn-plain { background: none; border: 0; }
.sn-muted { color: var(--sn-muted); font-size: 12px; white-space: nowrap; }

/* видимый фокус и пропуск навигации */
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid var(--sn-focus); outline-offset: 2px; }
.sn-skip { position: absolute; left: -9999px; top: 0; z-index: 3000; background: #fff; color: #000; padding: 8px 12px; }
.sn-skip:focus { left: 8px; top: 8px; }

/* шапка */
header .logo img { max-width: 100%; height: auto; }
header .logo { padding-top: 10px; padding-bottom: 0; }
.sn-top .card.top { background-color: #343a40; }
.sn-top .card.top .card-text { font-size: 14px; }

/* бегущая строка: в архиве <marquee>; здесь CSS-анимация, останавливается при наведении и по prefers-reduced-motion */
.sn-ticker { overflow: hidden; white-space: nowrap; }
.sn-ticker-track { display: inline-block; padding-left: 100%; animation: sn-ticker 60s linear infinite; }
.sn-ticker:hover .sn-ticker-track, .sn-ticker:focus-within .sn-ticker-track { animation-play-state: paused; }
@keyframes sn-ticker { from { transform: translateX(0); } to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) {
	.sn-ticker-track { animation: none; padding-left: 0; }
	.sn-ticker { overflow-x: auto; }
}

/* карточки */
.card.card-news.sn-noimg { height: auto; min-height: 150px; }
a.card:hover { text-decoration: none; }
.sn-big-img { height: 380px; width: 100%; object-fit: cover; }
@media (max-width: 767.98px) { .sn-big-img { height: 220px; } }
.card-header a { color: var(--sn-text); }
.list-group .list-group-item { padding: .5rem .75rem; }
.list-group a { color: var(--sn-text); }
.sn-home-rubrics .card-header { font-weight: 500; }

/* текст материала */
.sn-article h1 { margin-top: 0; }
.detail_text { overflow-wrap: break-word; }
.detail_text p { margin-bottom: 1rem; }
.detail_text img { max-width: 100%; height: auto; margin: 0 0 10px; }
.detail_text img[align=left] { float: left; margin: 0 20px 10px 0; max-width: 50%; }
.detail_text img[align=right] { float: right; margin: 0 0 10px 20px; max-width: 50%; }
.detail_text table { width: auto; max-width: 100%; display: block; overflow-x: auto; }
.detail_text td, .detail_text th { word-break: break-word; hyphens: auto; }
.detail_text::after { content: ''; display: table; clear: both; }
.sn-cover { margin: 0 0 1rem; }
.sn-cover img { width: 100%; height: auto; border-radius: 6px; }
.sn-cover figcaption { font-size: 13px; color: var(--sn-muted); margin-top: 4px; }
.sn-sources { border-top: 1px solid #dee2e6; margin: 1.5rem 0 1rem; padding-top: .75rem; font-size: 14px; }
.sn-sources h2 { font-size: 16px; font-weight: 700; }
.sn-sources ul { padding-left: 1.2rem; margin: 0; }

/* списки рубрик и дат */
.sn-list td { padding: .45rem .5rem; vertical-align: top; }
.sn-list .sn-list-date { width: 110px; color: var(--sn-muted); white-space: nowrap; }
.pagination .page-link { color: #337ab7; }
.pagination .page-item.active .page-link { background-color: #337ab7; border-color: #337ab7; color: #fff; }

/* правая колонка */
.sn-side .card-news { height: auto; }

/* подвал */
footer .link-default { line-height: 1.9; }
footer p { margin-bottom: .5rem; }

/* телефон: адаптив до 390 px (архивный app.css держал фиксированную высоту карточек и прятал колонку) */
@media (max-width: 767.98px) {
	body { padding-bottom: 56px; }
	h1 { font-size: 1.5rem; }
	.card.card-news { height: auto; }
	.card.card-news .news-list-preview { height: 100px; }
	.card.card-news h4 { font-size: 16px; }
	.sn-side { margin-top: 1rem; }
	.sn-list tr { display: block; border-top: 1px solid #dee2e6; padding: .35rem 0; }
	.sn-list td { display: block; border: 0; padding: .1rem 0; }
	.sn-list .sn-list-date { width: auto; font-size: 12px; }
	.detail_text img[align=left], .detail_text img[align=right] { float: none; max-width: 100%; margin: 0 0 10px; }
	.breadcrumb { font-size: 13px; }
	.pagination .page-link { padding: .4rem .6rem; }
}
@media (max-width: 991.98px) {
	.main-menu .link-default { font-size: 17px; line-height: 2; }
	.main-menu .main-menu-border { border: 0; }
}

/* app.css задаёт жирному собственные начертания Brutal — без файлов шрифта падал в засечки */
b, strong, .font-weight-bold { font-family: BrutalBold, Roboto, 'Segoe UI', Arial, sans-serif; font-weight: 700; }
/* перечни дат (архив WP по дням) — на всю ширину, как таблица рубрик */
.detail_text table.sn-list { display: table; width: 100%; }
.font-light, .small, small { font-family: BrutalLight, Roboto, 'Segoe UI', Arial, sans-serif; }
code, kbd, pre, samp { font-family: BrutalRegular, Roboto, Consolas, monospace; }

/* перечни старого движка 2013–2015 (архив по дням, «Персоналии»): без маркеров, как в оригинале */
.sn-page ul { list-style: none; padding-left: 0; }
