/**
 * SL Theme - Header, Footer, Layout, Base
 * Raleway: 400, 500, 700 (cyrillic + latin)
 */

/*
 * Оглавление (сверху вниз)
 * ─────────────────────────────────────────────────────────────────────────────
 * 1. Шрифты, :root, тёмная тема
 * 2. Base: сброс, body, типографика h1–h2, контейнеры, главная вёрстка, hero
 * 3. Мета-строки постов, сетка .sl-grid
 * 4. Шапка: sticky header, меню, кнопки (десктоп в базе; узкие экраны — в @media)
 * 5. Моб. оверлей и полноэкранное меню
 * 6. Футер
 * 7. Контент: отступы, главная, бренд-плашка, блок «Свежее» (старый grid + слайдер)
 * 8. Секции (.sl-section), лента (.sl-feed), фильтры, hero категории
 * 9. Партнёры / «О компании»
 * 10. Запись: .sl-article
 * 11. Похожие / поиск
 * 12. Оверлей поиска
 * 13. Конец базы; далее — единый блок адаптивных @media (в т.ч. моб. типографика статей)
 *
 * Все @media собраны в одном блоке в КОНЦЕ файла (после базовых стилей).
 * База — десктоп (≥960px); узкие экраны — max-width. Первый порог 959px (чтобы на 960px
 * оставались десктопные правила, как раньше при min-width: 960px после max-width: 960px).
 * ─────────────────────────────────────────────────────────────────────────────
 */

@font-face {
	font-family: 'Raleway';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/raleway-cyrillic.woff2') format('woff2');
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
	font-family: 'Raleway';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/raleway-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Raleway';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('../fonts/raleway-cyrillic.woff2') format('woff2');
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
	font-family: 'Raleway';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('../fonts/raleway-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Raleway';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('../fonts/raleway-cyrillic.woff2') format('woff2');
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
	font-family: 'Raleway';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('../fonts/raleway-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* --- 1. Переменные темы (:root) и тёмная тема ниже --- */
:root {
	--sl-accent: #F2CB05;
	--sl-accent-dark: #F2B705;
	--sl-accent-deep: #F29F05;
	--sl-dark: #0D0D0D;
	--sl-light: #F2ECEB;
	--sl-gray: #6B6B6B;
	--sl-gray-light: #A0A0A0;
	--sl-font: 'Raleway', Arial, sans-serif;
	--sl-container: 1320px;
	--sl-container-narrow: 1160px;
	--sl-container-article: 760px;
	--sl-feed-list-gap: 32px;
	--sl-link: #3d3e45;
	--sl-link-hover: #b8860b;
	--sl-on-accent: #0D0D0D;
	--sl-text: var(--sl-dark);
	--sl-bg: #ffffff;
	--sl-text-muted: #7d7e86;
	--sl-ui-fill: rgba(255, 255, 255, 0.85);
	--sl-ui-line: rgba(13, 13, 13, 0.18);
	--sl-glass: rgba(255, 255, 255, 0.62);
	--sl-glass-shadow: 0 4px 28px rgba(0, 0, 0, 0.07);
	--sl-panel: rgba(255, 255, 255, 0.97);
	--sl-mob-bg: #ffffff;
	--sl-input-bg: #ffffff;
	--sl-input-clear: #eeeeee;
	--sl-placeholder: #999999;
	--sl-footer-shadow: 0 4px 24px rgba(0, 0, 0, 0.05);
	--sl-img-placeholder: #e8ebef;
	--sl-radius-img: 24px;
	--sl-h2-ring: var(--sl-light);
	--sl-blockquote-border: var(--sl-dark);
}

html[data-theme="dark"] {
	color-scheme: dark;
	--sl-text: #ede8e6;
	--sl-bg: #121110;
	--sl-light: #1e1c1b;
	--sl-gray: #a3a3a3;
	--sl-gray-light: #8a8a8a;
	--sl-text-muted: #9a9c9e;
	--sl-link: #b8b4b0;
	--sl-link-hover: #f5d547;
	--sl-ui-fill: rgba(48, 44, 42, 0.94);
	--sl-ui-line: rgba(242, 236, 235, 0.16);
	--sl-glass: rgba(22, 20, 19, 0.78);
	--sl-glass-shadow: 0 4px 32px rgba(0, 0, 0, 0.45);
	--sl-panel: rgba(28, 26, 24, 0.98);
	--sl-mob-bg: #161413;
	--sl-input-bg: #1c1a19;
	--sl-input-clear: #33302e;
	--sl-placeholder: #888888;
	--sl-footer-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
	--sl-img-placeholder: #2a2826;
	--sl-h2-ring: #2e2c2a;
	--sl-blockquote-border: var(--sl-accent);
}

html[data-theme="dark"] .header-logo img,
html[data-theme="dark"] .sl-mob-menu__logo img,
html[data-theme="dark"] .footer-logo img,
html[data-theme="dark"] .sl-partners__logo img {
	filter: invert(1);
}

/* ---------- 2. Base ---------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

body {
	margin: 0;
	padding-top: 30px;
	font-family: 'Raleway', Arial, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: var(--sl-text);
	background: var(--sl-bg);
	animation: sl-page-fade-in 0.5s ease-out forwards;
}

@keyframes sl-page-fade-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

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

a {
	color: inherit;
}

.article-content a {
	color: var(--sl-link);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.article-content a:hover {
	color: var(--sl-link-hover);
}

body,
input,
button,
select,
textarea,
h1, h2, h3, h4, h5, h6,
p,
.sl-menu a,
.sl-section__title,
.sl-feed__title,
.sl-feed__short,
.sl-feed__descr,
.sl-feed__date,
.sl-filters__btn {
	font-family: 'Raleway', Arial, sans-serif;
}

h1 {
	font-variant: small-caps;
	letter-spacing: normal;
}

h2 {
	font-variant: small-caps;
	letter-spacing: normal;
	line-height: 1.1;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	column-gap: 14px;
	row-gap: 8px;
}

h2::before {
	content: '';
	flex: 0 0 auto;
	width: 0.6em;
	height: 0.6em;
	margin-top: calc(0.12em + 2px);
	box-sizing: border-box;
	border: 2px solid var(--sl-h2-ring);
	border-radius: 50%;
	background: var(--sl-h2-ring);
}

.sl-container {
	max-width: var(--sl-container);
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}

.sl-container-narrow {
	max-width: var(--sl-container-narrow);
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}

.sl-container-article {
	max-width: var(--sl-container-article);
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}

.sl-home-stack {
	display: flex;
	flex-direction: column;
	gap: 140px;
	padding-bottom: 0;
	box-sizing: border-box;
}

.sl-home-stack .sl-section {
	padding-top: 0;
	padding-bottom: 0;
}

.sl-home-intro {
	display: flex;
	flex-direction: column;
	gap: 32px;
	width: 100%;
	box-sizing: border-box;
}

.sl-home-intro .sl-hero-wrap {
	width: 100%;
	max-width: var(--sl-container);
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
	box-sizing: border-box;
}

.sl-home-intro .sl-section_fresh {
	width: 100%;
	max-width: var(--sl-container);
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.sl-hero {
	position: relative;
	overflow: hidden;
	border-radius: var(--sl-radius-img);
	height: 260px;
	min-height: 260px;
	max-height: 260px;
	width: 100%;
	padding: 20px 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	text-align: center;
	box-sizing: border-box;
}

.sl-hero--photo {
	background-color: #1a1a1a;
	background-image: var(--sl-hero-photo);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

[data-theme="dark"] .sl-hero--photo {
	background-image: var(--sl-hero-photo-dark, var(--sl-hero-photo));
}

.sl-hero--abstract {
	background:
		radial-gradient(ellipse 80% 60% at 20% 30%, rgba(242, 203, 5, 0.15) 0%, transparent 55%),
		radial-gradient(ellipse 70% 50% at 80% 70%, rgba(13, 13, 13, 0.35) 0%, transparent 50%),
		linear-gradient(145deg, #2a2a2a 0%, #0d0d0d 100%);
}

.sl-hero__overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.4) 100%);
}

.sl-hero--abstract .sl-hero__overlay {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.55) 100%);
}

[data-theme="dark"] .sl-hero--photo .sl-hero__overlay {
	display: none;
}

.sl-hero__inner {
	position: relative;
	z-index: 1;
	max-width: 38rem;
	margin: auto;
	width: 100%;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-height: 0;
}

.sl-hero__title {
	margin: 0 0 8px;
	font-size: 44px;
	font-weight: 700;
	line-height: 1.2;
	text-wrap: balance;
	text-transform: lowercase;
}

.sl-hero__desc {
	margin: 0;
	font-size: 17px;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.9);
}

/* ---------- 3. Мета-строки карточек, сетка .sl-grid ---------- */
.sl-feed__meta-line,
.sl-fresh__meta-line {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
}

.sl-reading-time {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 500;
	color: var(--sl-gray-light);
}

.sl-reading-time__icon {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	opacity: 0.85;
}

.sl-grid {
	display: grid;
	gap: 24px;
}

.sl-grid_cols-3 {
	grid-template-columns: repeat(3, 1fr);
}

.sl-grid_cols-4 {
	grid-template-columns: repeat(4, 1fr);
}

/* ---------- 4. Шапка ---------- */
.site-header {
	position: sticky;
	top: 8px;
	z-index: 1000;
	padding: 0 12px;
	background: transparent;
	box-sizing: border-box;
	transition: transform 0.42s ease;
	will-change: transform;
}

.site-header.is-concealed {
	transform: translate3d(0, calc(-100% - 28px), 0);
}

.site-header .header-inner {
	max-width: var(--sl-container);
	margin: 0 auto;
	padding: 16px 24px 16px 28px;
	min-height: 92px;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 16px 28px;
	box-sizing: border-box;
	border-radius: 9999px;
	background: transparent;
	box-shadow: none;
	transition: background 0.38s ease, box-shadow 0.38s ease, backdrop-filter 0.38s ease, min-height 0.35s ease;
}

.site-header.is-scrolled .header-inner {
	background: var(--sl-glass);
	backdrop-filter: blur(32px) saturate(1.12);
	-webkit-backdrop-filter: blur(32px) saturate(1.12);
	box-shadow: var(--sl-glass-shadow);
	min-height: 84px;
}

.header-logo {
	display: flex;
	align-items: center;
	grid-column: 1 / 2;
	justify-self: start;
}

.header-logo img {
	height: auto;
	max-height: 64px;
	max-width: min(180px, 48vw);
	width: auto;
	display: block;
	object-fit: contain;
}

.header-nav {
	display: flex;
	justify-content: center;
	align-items: center;
	grid-column: 2 / 3;
	justify-self: center;
	min-width: 0;
	width: 100%;
	max-width: 100%;
}

.header-nav .sl-menu {
	background: transparent;
	padding: 0;
	gap: 4px 8px;
	justify-content: center;
	flex-wrap: wrap;
}

.sl-fresh__posts-nav,
.header-search,
.header-search-mob,
.header-burger,
.header-theme-toggle,
.sl-search-overlay__close,
.sl-mob-menu__search,
.sl-mob-menu__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--sl-ui-line);
	border-radius: 50%;
	background: var(--sl-ui-fill);
	color: var(--sl-text);
	cursor: pointer;
	text-decoration: none;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.sl-fresh__posts-nav:hover:not(:disabled),
.header-search:hover,
.header-search-mob:hover,
.header-burger:hover,
.header-theme-toggle:hover,
.sl-search-overlay__close:hover,
.sl-mob-menu__search:hover,
.sl-mob-menu__close:hover {
	background: var(--sl-accent);
	border-color: var(--sl-accent);
	color: var(--sl-on-accent);
}

.header-search svg,
.header-search-mob svg,
.header-burger svg,
.header-theme-toggle svg,
.sl-search-overlay__close svg,
.sl-mob-menu__search svg,
.sl-mob-menu__close svg {
	width: 22px;
	height: 22px;
}

.sl-fresh__posts-nav svg {
	width: 20px;
	height: 20px;
}

.sl-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
}

.sl-menu li {
	margin: 0;
}

.sl-menu a {
	display: block;
	padding: 10px 18px;
	color: var(--sl-text);
	text-decoration: none;
	font-size: 16px;
	font-weight: 500;
	font-family: var(--sl-font);
	border-radius: 30px;
	transition: background 0.2s, color 0.2s;
}

.header-nav .sl-menu a {
	background: transparent;
	border-radius: 0;
	padding: 8px 14px;
	margin: 0;
	border: none;
	text-decoration: none;
	transition: color 0.2s;
}

.header-nav .sl-menu a:hover {
	background: transparent;
	color: var(--sl-link-hover);
}

.header-nav .sl-menu .current-menu-item a,
.header-nav .sl-menu .sl-menu__item_active a {
	background: transparent;
	color: var(--sl-link-hover);
}

.header-nav .sl-menu .current-menu-item a:hover,
.header-nav .sl-menu .sl-menu__item_active a:hover {
	color: var(--sl-link-hover);
}

.header-mob-actions {
	display: none;
}

.header-burger {
	display: none;
}

.header-tools {
	grid-column: 3 / 4;
	justify-self: end;
	display: flex;
	align-items: center;
	gap: 10px;
}

html[data-theme="light"] .header-theme-toggle__icon--sun,
html[data-theme="dark"] .header-theme-toggle__icon--moon {
	display: none;
}

html[data-theme="light"] .header-theme-toggle__icon--moon,
html[data-theme="dark"] .header-theme-toggle__icon--sun {
	display: block;
}

/* ---------- 5. Моб. оверлей и меню ---------- */
.sl-mob-overlay {
	position: fixed;
	inset: 0;
	z-index: 9998;
	background: transparent;
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease, visibility 0.25s ease;
	pointer-events: none;
	transform: translateZ(0);
	isolation: isolate;
}
.sl-mob-overlay::before {
	content: '';
	position: absolute;
	inset: 0;
	background-color: var(--sl-light);
	background-size: cover;
	opacity: 0.25;
	pointer-events: none;
	z-index: 0;
}

body.menu-open .sl-mob-overlay {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.sl-mob-menu {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--sl-mob-bg);
	z-index: 9999;
	padding: 30px 20px 40px;
	transform: translateZ(0) translateX(100%);
	transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
	display: flex;
	flex-direction: column;
	overflow-y: auto;
}

.sl-mob-menu.is-open {
	transform: translateZ(0) translateX(0);
}

.sl-mob-menu__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-shrink: 0;
	margin-bottom: 40px;
}

.sl-mob-menu__logo img {
	height: auto;
	max-height: 64px;
	max-width: min(180px, 48vw);
	width: auto;
	display: block;
	object-fit: contain;
}

.sl-mob-menu__actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.sl-mob-menu__nav {
	flex: 1;
}

.sl-mob-menu .sl-menu {
	flex-direction: column;
	gap: 32px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.sl-mob-menu .sl-menu a {
	display: block;
	padding: 0;
	background: none;
	color: var(--sl-text);
	text-decoration: none;
	font-size: 24px;
	font-weight: 500;
	font-family: var(--sl-font);
	transition: color 0.2s;
}

.sl-mob-menu .sl-menu a:hover {
	color: var(--sl-link-hover);
}

.sl-mob-menu .sl-menu .current-menu-item a,
.sl-mob-menu .sl-menu .sl-menu__item_active a {
	color: var(--sl-link-hover);
}

.sl-mob-menu .sl-menu .current-menu-item a:hover,
.sl-mob-menu .sl-menu .sl-menu__item_active a:hover {
	color: var(--sl-link-hover);
}

body.menu-open,
body.contact-open {
	overflow: hidden;
}

/* ---------- 6. Футер ---------- */
.site-footer {
	background: var(--sl-light);
	color: var(--sl-gray);
	padding: 0;
	margin: 24px auto 36px;
	width: calc(100% - 40px);
	max-width: var(--sl-container);
	box-sizing: border-box;
	border-radius: 25px;
	border: none;
	box-shadow: var(--sl-footer-shadow);
}

.footer-inner {
	max-width: none;
	margin: 0;
	padding: 40px 28px 32px;
	text-align: center;
}

.footer-top {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	margin-bottom: 20px;
}

.footer-brand {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	width: 100%;
}

.footer-logo {
	display: flex;
	justify-content: center;
}

.footer-logo img {
	height: auto;
	max-height: 64px;
	max-width: 160px;
	width: auto;
	display: block;
	object-fit: contain;
	filter: none;
}

.footer-nav {
	width: 100%;
	display: flex;
	justify-content: center;
}

.footer-nav .sl-menu {
	--sl-footer-nav-gap: 1.5rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	column-gap: var(--sl-footer-nav-gap);
	row-gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-nav .sl-menu li {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.footer-nav .sl-menu li + li::before {
	content: '·';
	position: absolute;
	left: calc(-0.5 * var(--sl-footer-nav-gap));
	top: 50%;
	transform: translate(-50%, -50%);
	width: 1em;
	text-align: center;
	color: var(--sl-gray);
	font-weight: 600;
	line-height: 1;
	pointer-events: none;
}

/* Точка перед пунктом, который первым на новой строке при переносе — скрывается через JS (.sl-footer-nav__row-start) */
.footer-nav .sl-menu li.sl-footer-nav__row-start::before {
	content: none;
}

.footer-nav .sl-menu a {
	display: block;
	padding: 6px 0;
	color: var(--sl-link);
	text-decoration: none;
	font-size: 15px;
	font-weight: 400;
	font-family: 'Raleway', Arial, sans-serif;
	border-radius: 0;
	background: transparent;
	transition: color 0.2s;
}

.footer-nav .sl-menu a:hover {
	background: transparent;
	color: var(--sl-link-hover);
}

.footer-nav .sl-menu .current-menu-item a,
.footer-nav .sl-menu .current-menu-item a:hover,
.footer-nav .sl-menu .sl-menu__item_active a,
.footer-nav .sl-menu .sl-menu__item_active a:hover {
	color: var(--sl-link-hover);
}

.footer-legal {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.55;
	font-family: 'Raleway', Arial, sans-serif;
	color: var(--sl-gray);
	margin-bottom: 16px;
	border-top: none;
	padding-top: 0;
}

.footer-legal a {
	color: var(--sl-link);
	text-decoration: none;
}

.footer-legal a:hover {
	color: var(--sl-link-hover);
}

.footer-bottom {
	text-align: center;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.55;
	color: var(--sl-gray);
	font-family: 'Raleway', Arial, sans-serif;
}

.footer-bottom p {
	margin: 0;
}

.footer-credit {
	margin-top: 4px !important;
	font-size: 13px;
	opacity: 0.7;
}

/* ---------- 7. Контент (общий), далее бренд и «Свежее» ---------- */
.site-content {
	min-height: 60vh;
	padding: 90px 0px 60px;
	max-width: var(--sl-container);
	margin: 0 auto;
}

.home .site-content {
	padding: 16px 0 0;
	max-width: none;
}

.home .site-footer {
	margin-top: 140px;
}

.sl-brand-bar {
	background: var(--sl-light);
	border-radius: 25px;
	padding: 40px 48px;
	margin: 0 auto 0;
	max-width: var(--sl-container);
	box-sizing: border-box;
}

.sl-brand-bar__content {
	border-left: 3px solid var(--sl-accent);
	padding-left: 24px;
}

.sl-brand-bar__slogan {
	margin: 0 0 8px;
	font-size: 38px;
	font-weight: 700;
	color: var(--sl-text);
	line-height: 1.1;
}

.sl-brand-bar__desc {
	margin: 0;
	font-size: 16px;
	color: var(--sl-gray);
	line-height: 1.45;
}

.sl-section_fresh {
	padding-top: 48px;
}

.sl-home-stack .sl-section_fresh {
	padding-top: 0;
}

.sl-fresh:not(.sl-fresh--slider) {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	align-items: start;
}

/* ——— Слайдер «Свежее» (секция 7) ——— */
.sl-fresh.sl-fresh--slider {
	display: block;
}

.sl-fresh__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 24px;
	margin-bottom: 16px;
	position: relative;
}

.sl-fresh__toolbar--no-arrows {
	justify-content: flex-start;
}

.sl-section_interesting .sl-fresh__toolbar--no-arrows,
.sl-section_category .sl-fresh__toolbar--no-arrows {
	margin-bottom: 24px;
}

.sl-fresh__sections-wrap {
	display: none;
}

.sl-fresh__mob-bar {
	display: none;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: nowrap;
	gap: 8px;
	flex: 1;
	min-width: 0;
}

.sl-fresh__mob-pill {
	font-family: inherit;
	font-size: 16px;
	font-weight: 500;
	min-height: 44px;
	padding: 0 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--sl-on-accent);
	background: var(--sl-accent);
	border: 1px solid var(--sl-accent);
	border-radius: 9999px;
	flex: 0 1 auto;
	max-width: min(52vw, 220px);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sl-fresh__mob-burger {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	flex-shrink: 0;
	border: 1px solid var(--sl-ui-line);
	border-radius: 50%;
	background: var(--sl-ui-fill);
	color: var(--sl-text);
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.sl-fresh__mob-burger:hover {
	background: var(--sl-accent);
	border-color: var(--sl-accent);
	color: var(--sl-on-accent);
}

.sl-fresh__mob-burger svg {
	width: 22px;
	height: 22px;
}

.sl-fresh__posts-arrows {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
	margin-left: auto;
}

.sl-fresh__posts-nav:disabled {
	opacity: 0.35;
	cursor: default;
}

.sl-fresh__content {
	min-height: 120px;
}

.sl-fresh__content.sl-fresh__content_loading {
	opacity: 0.55;
	pointer-events: none;
	transition: opacity 0.2s;
}

.sl-fresh__slides-viewport {
	overflow-x: hidden;
	overflow-y: visible;
	width: 100%;
	padding-top: 12px;
	margin-top: -12px;
}

.sl-fresh__slides-viewport.is-sl-fresh-viewport-fit {
	overflow-y: hidden;
}

.sl-fresh__slides-track--desktop {
	display: flex;
	gap: var(--sl-feed-list-gap);
	width: calc(var(--fresh-n, 2) * 100% + var(--sl-feed-list-gap) * calc(var(--fresh-n, 2) - 1));
	transition: transform 0.42s ease;
	will-change: transform;
}

.sl-fresh__slides-track--desktop .sl-fresh__slide {
	flex: 0 0 calc((100% - var(--sl-feed-list-gap) * calc(var(--fresh-n, 2) - 1)) / var(--fresh-n, 2));
	min-width: 0;
	box-sizing: border-box;
}

.sl-fresh__slides-track--mob-tab,
.sl-fresh__slides-track--mob-sm {
	display: none !important;
	flex-direction: row;
	align-items: flex-start;
	gap: var(--sl-feed-list-gap);
	width: calc(var(--fresh-n, 1) * 100% + var(--sl-feed-list-gap) * calc(var(--fresh-n, 1) - 1));
	transition: transform 0.42s ease;
	will-change: transform;
}

.sl-fresh__slides-track--mob-tab .sl-fresh__slide,
.sl-fresh__slides-track--mob-sm .sl-fresh__slide {
	flex: 0 0 calc((100% - var(--sl-feed-list-gap) * calc(var(--fresh-n, 1) - 1)) / var(--fresh-n, 1));
	min-width: 0;
	box-sizing: border-box;
}

.sl-fresh__slide--mob-lead {
	width: 100%;
}

.sl-fresh__slide--mob-duo {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
	align-items: stretch;
}

.sl-fresh__slide--mob-duo_single {
	grid-template-columns: 1fr;
}

.sl-fresh__slide--mob-one {
	width: 100%;
}

/*
 * Две колонки как 2/3 + 1/3 той же сетки, что и .sl-fresh__slide--triple:
 * три равных трека + два gap между ними; лид — span 2, боковая карточка — span 1.
 * Раньше 2fr / 1fr с одним gap давали правой колонке большую долю, чем 1/3 у тройного ряда.
 */
.sl-fresh__slide--split {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
	align-items: stretch;
}

.sl-fresh__lead-col {
	grid-column: span 2;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.sl-fresh__lead {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-height: 0;
	height: 100%;
	transition: transform 0.3s ease;
}

.sl-fresh__lead:hover {
	transform: translateY(-6px);
}

.sl-fresh__lead-media {
	position: relative;
	border-radius: var(--sl-radius-img);
	overflow: hidden;
	flex: 1;
	min-height: 0;
	background-size: cover;
	background-position: center;
	background-color: #e0e0e0;
}

.sl-fresh__lead-media--placeholder {
	background: linear-gradient(135deg, #e8e8e8 0%, #c8c8c8 100%);
}

.sl-fresh__lead-hit {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.sl-fresh__lead-overlay {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	top: auto;
	height: 85%;
	max-height: 85%;
	box-sizing: border-box;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: stretch;
	gap: 12px;
	padding: clamp(16px, 3vw, 24px);
	pointer-events: none;
	background: linear-gradient(
		180deg,
		rgba(242, 236, 235, 0) 0%,
		rgba(242, 236, 235, 0.45) 35%,
		rgba(242, 229, 227, 0.88) 65%,
		rgba(242, 236, 235, 0.97) 100%
	);
}

.sl-fresh__lead-overlay .sl-feed__tag,
.sl-fresh__lead-overlay .sl-fresh__lead-title a,
.sl-fresh__lead-overlay .sl-fresh__lead-meta,
.sl-fresh__lead-overlay .sl-fresh__lead-excerpt {
	pointer-events: auto;
}

.sl-fresh__lead-overlay .sl-feed__tag {
	margin: 0;
	align-self: flex-start;
	background: rgba(255, 255, 255, 0.2) !important;
	border-color: rgba(13, 13, 13, 0.28) !important;
	backdrop-filter: blur(14px) saturate(1.15);
	-webkit-backdrop-filter: blur(14px) saturate(1.15);
}

.sl-fresh__lead-overlay .sl-feed__tag:hover {
	background: var(--sl-accent) !important;
	border-color: var(--sl-accent) !important;
	color: var(--sl-on-accent) !important;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

html[data-theme="dark"] .sl-fresh__lead-overlay {
	background: linear-gradient(
		180deg,
		rgba(18, 16, 15, 0) 0%,
		rgba(18, 16, 15, 0.55) 42%,
		rgba(14, 13, 12, 0.94) 72%,
		rgba(10, 9, 8, 0.99) 100%
	);
}

html[data-theme="dark"] .sl-fresh__lead-overlay .sl-feed__tag {
	background: rgba(255, 255, 255, 0.1) !important;
	border-color: rgba(242, 236, 235, 0.32) !important;
}

.sl-fresh__lead-title {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
}

.sl-fresh__lead-excerpt {
	margin: 0;
	font-size: 18px;
	line-height: 1.4;
	color: var(--sl-text-muted);
	transition: color 0.2s ease;
}

html[data-theme="dark"] .sl-fresh__lead-excerpt {
	color: var(--sl-gray-light);
}

.sl-fresh__lead-title a {
	color: var(--sl-text);
	text-decoration: none;
	transition: color 0.2s ease;
}

.sl-fresh__lead-title a:hover {
	color: var(--sl-text);
}

/*
 * Лид: смена цвета описания при наведении на всю карточку (обложка + текст),
 * не только на блок с текстом — триггер .sl-fresh__lead / .sl-fresh__lead-media.
 */
.sl-fresh__lead:hover .sl-fresh__lead-excerpt,
.sl-fresh__lead-media:hover .sl-fresh__lead-excerpt {
	color: var(--sl-text);
}

.sl-fresh__lead-meta {
	margin: 0;
	color: var(--sl-gray);
	font-size: 13px;
}

.sl-fresh__lead-meta .sl-feed__date_uptitle {
	color: var(--sl-gray);
}

.sl-fresh__lead-meta .sl-reading-time {
	color: var(--sl-gray);
}

.sl-fresh__side-col {
	grid-column: span 1;
	min-width: 0;
	display: flex;
	align-items: stretch;
}

.sl-fresh__slide .sl-fresh__compact-card {
	height: 100%;
}

.sl-fresh__slide .sl-fresh__compact-card {
	gap: 16px;
}

.sl-fresh__slide .sl-fresh__compact-card .sl-feed__body {
	padding-top: 0;
}

.sl-fresh__slide .sl-fresh__compact-card .sl-feed__title {
	margin-bottom: 0;
}

.sl-fresh__slide--triple {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
	align-items: stretch;
}

.sl-fresh__third {
	min-width: 0;
}

button.sl-fresh__sections-link {
	font-family: inherit;
	font-size: 16px;
	font-weight: 500;
	min-height: 44px;
	padding: 0 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--sl-text);
	background: var(--sl-ui-fill);
	border: 1px solid var(--sl-ui-line);
	border-radius: 9999px;
	cursor: pointer;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}

button.sl-fresh__sections-link:hover {
	background: var(--sl-accent);
	border-color: var(--sl-accent);
	color: var(--sl-on-accent);
}

button.sl-fresh__sections-link.is-active {
	color: var(--sl-on-accent);
	background: var(--sl-accent);
	border-color: var(--sl-accent);
}

.sl-fresh__article {
	min-width: 0;
}

.sl-fresh__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	gap: 28px;
	align-items: stretch;
	text-decoration: none;
	color: inherit;
}

.sl-fresh__media {
	display: block;
	text-decoration: none;
	color: inherit;
}

.sl-fresh__img {
	min-height: 200px;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-color: #e0e0e0;
	border-radius: var(--sl-radius-img);
}

.sl-fresh__img_placeholder {
	background: linear-gradient(135deg, #e8e8e8 0%, #d4d4d4 100%);
}

.sl-fresh__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 12px;
}

.sl-fresh__text .sl-feed__tag {
	margin-top: 0;
}

.sl-fresh__title {
	margin: 0;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--sl-text);
}

.sl-fresh__descr {
	margin: 0;
	font-size: 16px;
	color: var(--sl-gray);
	line-height: 1.45;
}

.sl-fresh__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	font-size: 13px;
	color: var(--sl-gray-light);
}

.sl-fresh__reading {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 500;
}

.sl-fresh__link {
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.sl-fresh__readmore {
	margin-top: 4px;
	font-size: 15px;
	font-weight: 600;
	color: var(--sl-text);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.sl-fresh__readmore:hover {
	color: var(--sl-accent);
}

.sl-fresh__sections-label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--sl-gray-light);
	margin-bottom: 16px;
}

.sl-fresh__sections-row {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	align-items: center;
}

.sl-fresh__sections-link {
	font-size: 14px;
	font-weight: 500;
	color: var(--sl-gray);
	text-decoration: none;
	transition: color 0.2s;
}

.sl-fresh__sections-link:hover {
	color: var(--sl-accent);
}

.sl-fresh__sections-panel {
	position: static;
	flex: 1;
	min-width: 0;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: none;
	padding: 0;
	background: transparent;
	border: none;
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

/* ---------- 8. Секции, лента, фильтры ---------- */
.sl-section {
	padding: 60px 0;
}

.sl-section__title {
	margin: 0 0 20px;
	font-size: 48px;
	font-weight: 700;
	color: var(--sl-text);
	font-family: var(--sl-font);
}

.sl-section_popular .sl-section__title {
	margin-bottom: 24px;
}

.sl-section_interesting .sl-section__title {
	margin-bottom: 20px;
}

.sl-section_category .sl-category-title {
	font-size: 36px;
	margin-bottom: 24px;
}

.sl-section__empty {
	color: var(--sl-text-muted);
	font-size: 16px;
}

.sl-feed {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--sl-feed-list-gap);
}

.sl-feed_cols-2 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Блок «вам может быть интересно»: только 2 карточки — две колонки, без «пустой» третьей. */
.sl-section_related .sl-feed_cols-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sl-feed__item {
	margin: 0;
}

.sl-feed__card {
	display: flex;
	flex-direction: column;
	gap: 20px;
	color: inherit;
	height: 100%;
	transition: transform 0.3s ease;
}

.sl-feed__card:hover {
	transform: translateY(-6px);
}

/*
 * Карточки статей: тот же контраст текста при наведении на всю карточку
 * (включая обложку), как у .sl-feed__body gap — триггер .sl-feed__card, не только ссылка на текст.
 */
.sl-feed__card:hover .sl-feed__post-link .sl-feed__title,
.sl-feed__card:hover .sl-feed__post-link .sl-feed__short,
.sl-feed__card:hover .sl-feed__post-link .sl-feed__descr {
	color: var(--sl-text);
}

.sl-feed__card .sl-feed__title {
	color: var(--sl-text);
}

.sl-feed__post-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.sl-feed__media {
	position: relative;
	width: 100%;
	border-radius: var(--sl-radius-img);
	overflow: hidden;
	align-self: stretch;
}

.sl-feed__post-link--media {
	display: block;
}

.sl-feed__media .sl-feed__img {
	border-radius: 0;
}

.sl-feed__media-overlay {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	padding: 10px 12px 12px;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	pointer-events: none;
	background: none;
}

.sl-feed__media-overlay .sl-feed__tag {
	pointer-events: auto;
	margin: 0;
	max-width: 100%;
	align-self: flex-start;
	background: rgba(255, 255, 255, 0.22);
	border-color: rgba(13, 13, 13, 0.24);
	backdrop-filter: blur(14px) saturate(1.15);
	-webkit-backdrop-filter: blur(14px) saturate(1.15);
}

.sl-feed__media-overlay .sl-feed__tag:hover {
	background-color: var(--sl-accent);
	border-color: var(--sl-accent);
	color: var(--sl-on-accent);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

html[data-theme="dark"] .sl-feed__media-overlay .sl-feed__tag {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(242, 236, 235, 0.28);
}

html[data-theme="dark"] .sl-feed__media-overlay .sl-feed__tag:hover {
	background-color: var(--sl-accent);
	border-color: var(--sl-accent);
	color: var(--sl-on-accent);
}

.sl-feed__img {
	aspect-ratio: 1.6 / 1;
	background-size: cover;
	background-position: center;
	background-color: #e0e0e0;
	border-radius: var(--sl-radius-img);
	position: relative;
}

.sl-feed__img_placeholder {
	background: linear-gradient(135deg, #e8e8e8 0%, #d0d0d0 100%);
}

.sl-feed__tag {
	display: inline-block;
	margin-top: 0;
	padding: 6px 18px;
	border: 1px solid var(--sl-text);
	border-radius: 40px;
	font-size: 16px;
	font-weight: 500;
	color: var(--sl-text);
	text-decoration: none !important;
	font-family: var(--sl-font);
	transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}

.sl-feed__tag:hover {
	background-color: var(--sl-accent);
	border-color: var(--sl-accent);
	color: var(--sl-on-accent);
}

.sl-feed__body {
	padding-top: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.sl-feed__title {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--sl-text);
}

.sl-feed__short,
.sl-feed__descr {
	margin: 0;
	font-size: 18px;
	line-height: 1.4;
	color: var(--sl-text-muted);
}

.sl-fresh__slide .sl-fresh__compact-card .sl-feed__descr {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.sl-feed__date {
	font-size: 14px;
	font-weight: 700;
	color: var(--sl-text);
}

.sl-feed__date_uptitle {
	display: block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.03em;
	color: var(--sl-text-muted);
}

.sl-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 24px;
}

.sl-filters__btn {
	font-family: inherit;
	font-size: 16px;
	font-weight: 500;
	min-height: 44px;
	padding: 0 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--sl-text);
	background: var(--sl-ui-fill);
	border: 1px solid var(--sl-ui-line);
	border-radius: 9999px;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.sl-filters__btn:hover {
	background: var(--sl-accent);
	border-color: var(--sl-accent);
	color: var(--sl-on-accent);
}

.sl-filters__btn.is-active {
	color: var(--sl-on-accent);
	background: var(--sl-accent);
	border-color: var(--sl-accent);
}

/* Архив рубрики: только заголовок (и при необходимости описание), без тёмной плашки.
 * Верхний отступ не добавляем — совпадает с положением заголовка записи (.site-content + контейнер). */
.sl-cat-hero {
	background: transparent;
	text-align: center;
	padding: 0 0 8px;
	margin: 0;
	box-sizing: border-box;
}

.sl-cat-hero__title {
	margin: 0 0 10px;
	font-size: 48px;
	font-weight: 700;
	line-height: 1.1;
	color: var(--sl-text);
	font-family: var(--sl-font);
}

.sl-cat-hero__desc {
	margin: 0 auto;
	font-size: 17px;
	color: var(--sl-text-muted);
	line-height: 1.5;
	max-width: 640px;
	text-align: center;
}

/* Архив: меньше зазор между заголовком рубрики и лентой, чем до него (ниже padding-top у секции) */
.sl-section.sl-section_category {
	padding: 20px 0 60px;
}

.sl-feed__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	margin-top: 4px;
}

.sl-feed__reading {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--sl-gray-light);
}

.sl-feed-wrap_loading {
	opacity: 0.6;
	pointer-events: none;
}

.sl-feed__more {
	margin-top: 40px;
	text-align: center;
}

/* Пагинация архива: номера — палитра ссылок; текущая — акцент; стрелки — как .sl-fresh__posts-nav (слайдер) */
.sl-archive-pagination {
	margin-top: 36px;
	display: flex;
	justify-content: center;
	width: 100%;
}

.sl-archive-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.sl-archive-pagination li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sl-archive-pagination a.page-numbers:not(.prev):not(.next):not(.current),
.sl-archive-pagination span.page-numbers:not(.dots):not(.prev):not(.next):not(.current) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 14px;
	box-sizing: border-box;
	font-family: inherit;
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	color: var(--sl-link);
	background: var(--sl-ui-fill);
	border: 1px solid var(--sl-ui-line);
	border-radius: 9999px;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.sl-archive-pagination a.page-numbers:not(.prev):not(.next):not(.current):hover {
	background: var(--sl-accent);
	border-color: var(--sl-accent);
	color: var(--sl-on-accent);
}

/* Текущая страница: отдельный блок — иначе базовое правило с :not() выше по специфичности перебивает заливку */
.sl-archive-pagination span.page-numbers.current,
.sl-archive-pagination a.page-numbers.current:not(.prev):not(.next) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 14px;
	box-sizing: border-box;
	font-family: inherit;
	font-size: 16px;
	line-height: 1;
	text-decoration: none;
	border-radius: 9999px;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
	color: var(--sl-on-accent);
	background: var(--sl-accent);
	border: 1px solid var(--sl-accent);
	cursor: default;
	font-weight: 700;
}

.sl-archive-pagination span.page-numbers.dots {
	min-width: auto;
	padding: 0 6px;
	background: transparent;
	border: none;
	color: var(--sl-link);
	opacity: 0.75;
}

.sl-archive-pagination a.prev.page-numbers,
.sl-archive-pagination a.next.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	padding: 0;
	border-radius: 50%;
	border: 1px solid var(--sl-ui-line);
	background: var(--sl-ui-fill);
	color: var(--sl-text);
	font-size: 0;
	line-height: 0;
	text-decoration: none;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.sl-archive-pagination a.prev.page-numbers:hover,
.sl-archive-pagination a.next.page-numbers:hover {
	background: var(--sl-accent);
	border-color: var(--sl-accent);
	color: var(--sl-on-accent);
}

.sl-archive-pagination a.prev.page-numbers svg,
.sl-archive-pagination a.next.page-numbers svg {
	width: 20px;
	height: 20px;
	display: block;
	flex-shrink: 0;
}

/* Неактивные «вперёд/назад» — span, как у слайдера :disabled */
.sl-archive-pagination span.prev.page-numbers,
.sl-archive-pagination span.next.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	min-width: 44px;
	padding: 0;
	border-radius: 50%;
	border: 1px solid var(--sl-ui-line);
	background: var(--sl-ui-fill);
	color: var(--sl-text);
	opacity: 0.35;
	pointer-events: none;
	font-size: 0;
	line-height: 0;
}

.sl-archive-pagination span.prev.page-numbers svg,
.sl-archive-pagination span.next.page-numbers svg {
	width: 20px;
	height: 20px;
	display: block;
}

/* ---------- 9. Партнёры / «О компании» ---------- */
.sl-partners {
	background: var(--sl-bg);
	padding: 0 20px;
}

.sl-home-stack .sl-partners {
	padding-left: 0;
	padding-right: 0;
}

.sl-partners__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: flex-start;
	gap: 32px;
	max-width: var(--sl-container);
	margin: 0 auto;
	padding: 0 20px;
}

.sl-partners__logo {
	display: flex;
	justify-content: flex-end;
	text-align: right;
}

.sl-partners__logo img {
	height: auto;
	max-height: 108px;
	max-width: 280px;
	width: auto;
	object-fit: contain;
}

.sl-partners__text {
	margin: 0;
	font-size: 18px;
	line-height: 1.4;
	color: var(--sl-text-muted);
	font-family: 'Raleway', Arial, sans-serif;
	font-weight: 400;
	text-align: left;
	max-width: min(22rem, 100%);
}

.sl-partners__placeholder {
	margin: 0;
	opacity: 0.8;
}

/* ---------- 10. Запись (single post) ---------- */
.sl-single-wrap {
	padding-bottom: 0;
}

body.single-post {
	--sl-single-sticky-top: 116px;
}

.sl-container-single {
	max-width: 1320px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
	box-sizing: border-box;
}

/* Заголовок внутри грида, выровнен с колонкой контента */
body.single-post .sl-single-layout__header {
	grid-column: 2;
	grid-row: 1;
	margin-bottom: 24px;
}

body.single-post .sl-single-layout__grid--no-toc .sl-single-layout__header {
	grid-column: 1;
}

body.single-post .sl-single-layout__grid {
	display: grid;
	grid-template-columns: minmax(0, 200px) minmax(0, var(--sl-container-article)) minmax(0, 260px);
	grid-template-rows: auto 1fr;
	gap: 28px 36px;
	align-items: start;
	justify-content: center;
}

body.single-post .sl-single-layout__grid--no-toc {
	grid-template-columns: minmax(0, var(--sl-container-article)) minmax(0, 260px);
}

body.single-post .sl-single-layout__grid--no-related {
	grid-template-columns: minmax(0, 200px) minmax(0, var(--sl-container-article));
}

body.single-post .sl-single-layout__grid--no-toc.sl-single-layout__grid--no-related {
	grid-template-columns: minmax(0, var(--sl-container-article));
}

body.single-post .sl-single-layout__grid--no-toc.sl-single-layout__grid--no-related .sl-single-layout__header {
	grid-column: 1;
}

body.single-post .sl-single-layout__grid--no-toc.sl-single-layout__grid--no-related .sl-single-main {
	justify-self: center;
	width: 100%;
	max-width: var(--sl-container-article);
}

/* TOC-рейл: левая колонка, ряд контента */
body.single-post .sl-single-toc--rail {
	grid-column: 1;
	grid-row: 1 / -1;
	position: sticky;
	top: var(--sl-single-sticky-top);
	max-height: calc(100vh - var(--sl-single-sticky-top) - 20px);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 8px;
	box-sizing: border-box;
}

/* Контент: центральная колонка */
body.single-post .sl-single-main {
	grid-column: 2;
	grid-row: 2;
}

body.single-post .sl-single-layout__grid--no-toc .sl-single-main {
	grid-column: 1;
}

.sl-single-main {
	min-width: 0;
	width: 100%;
}

/* Правый сайдбар: sticky-обёртка для dropdown + related */
body.single-post .sl-single-sidebar {
	grid-column: 3;
	grid-row: 1 / -1;
	position: sticky;
	top: var(--sl-single-sticky-top);
	overflow: visible;
}

body.single-post .sl-single-layout__grid--no-toc .sl-single-sidebar {
	grid-column: 2;
}

.sl-single-sidebar__sticky {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* Dropdown: по умолчанию скрыт (десктоп >1280px — виден только rail) */
.sl-single-toc--dropdown {
	display: none;
}

.sl-single-toc__toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	justify-content: center;
	width: 100%;
	padding: 12px 20px;
	margin: 0 0 12px;
	font-family: var(--sl-font);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--sl-text);
	background: var(--sl-ui-fill);
	border: 1px solid var(--sl-ui-line);
	border-radius: 999px;
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.sl-single-toc__icon {
	flex-shrink: 0;
}

.sl-single-toc__toggle:hover,
.sl-single-toc__toggle[aria-expanded="true"] {
	border-color: var(--sl-accent);
}

.sl-single-toc__panel[hidden] {
	display: none !important;
}

/* FAB: мобильная плавающая иконка оглавления — по умолчанию скрыт */
.sl-single-toc--fab {
	display: none;
}

.sl-single-toc__fab-btn {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--sl-bg);
	border: 1px solid var(--sl-ui-line);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	transition: border-color 0.2s, box-shadow 0.2s;
	color: var(--sl-text);
	padding: 0;
}

.sl-single-toc__fab-btn:hover,
.sl-single-toc__fab-btn[aria-expanded="true"] {
	border-color: var(--sl-accent);
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.15);
}

.sl-single-toc__fab-panel {
	position: absolute;
	left: calc(100% + 12px);
	top: 50%;
	transform: translateY(-50%);
	background: var(--sl-bg);
	border: 1px solid var(--sl-ui-line);
	border-radius: 12px;
	padding: 16px 20px;
	min-width: 220px;
	max-width: 280px;
	max-height: 50vh;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
	z-index: 101;
}

.sl-single-toc__fab-panel .sl-single-toc__title {
	margin-bottom: 10px;
}

.sl-single-toc__title,
.sl-single-related__kicker {
	margin: 0 0 12px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sl-text-muted);
}

.sl-single-toc__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 6px 0;
}

.sl-single-toc__item {
	margin: 0;
	padding: 0 0 0 12px;
	border-left: 2px solid var(--sl-ui-line);
	transition: border-color 0.25s ease;
}

.sl-single-toc__item.is-active {
	border-left-color: var(--sl-accent);
}

.sl-single-toc__item--h3 {
	padding-left: 22px;
}

.sl-single-toc__link {
	display: block;
	font-size: 13px;
	line-height: 1.35;
	color: var(--sl-text-muted);
	text-decoration: none;
	transition: color 0.2s ease;
	border-radius: 4px;
	padding: 2px 0;
}

.sl-single-toc__item.is-active .sl-single-toc__link {
	color: var(--sl-text);
	font-weight: 600;
}

.sl-single-toc__link:hover,
.sl-single-toc__link:focus-visible {
	color: var(--sl-link-hover);
	outline: none;
}

.sl-single-toc__item--h3 .sl-single-toc__link {
	font-size: 12px;
	opacity: 0.92;
}

.sl-single-toc__item--h3.is-active .sl-single-toc__link {
	opacity: 1;
}

.sl-related-slider {
	position: relative;
}

.sl-related-slider__viewport {
	position: relative;
	min-height: 1px;
}

.sl-related-slider--fade .sl-related-slider__viewport {
	min-height: 120px;
}

.sl-related-slider--fade .sl-related-slider__slide {
	transition: opacity 0.45s ease, visibility 0.45s ease;
}

.sl-related-slider--fade .sl-related-slider__slide:not(.is-active) {
	opacity: 0;
	visibility: hidden;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	width: 100%;
	pointer-events: none;
	z-index: 0;
}

.sl-related-slider--fade .sl-related-slider__slide.is-active {
	opacity: 1;
	visibility: visible;
	position: relative;
	z-index: 1;
	pointer-events: auto;
}

.sl-related-slider--pair.sl-related-slider--fade .sl-related-slider__viewport {
	min-height: 200px;
}

.sl-related-slider__pair-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	align-items: stretch;
}

.sl-section_related--single-footer {
	display: none;
	padding-top: 32px;
	padding-bottom: 48px;
}

.sl-section_related--single-footer .sl-section__title--single-related {
	margin-bottom: 20px;
}

@media (max-width: 960px) {
	.sl-section_related--single-footer {
		display: block;
	}

	.sl-section_related--single-footer .sl-related-slider__pair-row {
		grid-template-columns: 1fr 1fr;
		gap: 12px;
	}
}

@media (max-width: 480px) {
	.sl-section_related--single-footer .sl-related-slider__pair-row {
		grid-template-columns: 1fr;
	}

	/* На очень маленьких экранах — только одна статья в слайде */
	.sl-section_related--single-footer .sl-related-slider__pair-row .sl-single-related-card:nth-child(2) {
		display: none;
	}
}

@media (min-width: 961px) {
	.sl-section_related--single-footer {
		display: none !important;
	}
}

.sl-single-related-card {
	display: flex;
	flex-direction: column;
	gap: 14px;
	border-radius: var(--sl-radius-img);
	overflow: visible;
	background: transparent;
	border: none;
	box-sizing: border-box;
}

.sl-single-related-card__media {
	display: block;
	aspect-ratio: 1.55 / 1;
	background-size: cover;
	background-position: center;
	background-color: var(--sl-img-placeholder);
	text-decoration: none;
	border-radius: var(--sl-radius-img);
	overflow: hidden;
}

.sl-single-related-card__media--placeholder {
	background: linear-gradient(135deg, var(--sl-img-placeholder) 0%, var(--sl-ui-line) 100%);
}

.sl-single-related-card__body {
	padding: 0 2px 4px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.sl-single-related-card__title-link {
	text-decoration: none;
	color: inherit;
}

.sl-single-related-card__title-link:hover .sl-single-related-card__title,
.sl-single-related-card__title-link:focus-visible .sl-single-related-card__title {
	color: var(--sl-link-hover);
}

.sl-single-related-card__title {
	display: block;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--sl-text);
	transition: color 0.2s;
}

.sl-single-related-card__meta {
	margin: 0;
	font-size: 13px;
}

.sl-related-slider__dots {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin-top: 14px;
}

.sl-related-slider__dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: var(--sl-ui-line);
	cursor: pointer;
	transition: background 0.2s, transform 0.2s;
}

.sl-related-slider__dot:hover,
.sl-related-slider__dot:focus-visible {
	background: var(--sl-gray-light);
	outline: none;
}

.sl-related-slider__dot.is-active {
	background: var(--sl-accent);
	transform: scale(1.15);
}

/* 961–1280: TOC-рейл скрыт; dropdown показан в сайдбаре; 2 колонки */
@media (max-width: 1280px) and (min-width: 961px) {
	body.single-post .sl-single-toc--rail {
		display: none !important;
	}

	/* Показать dropdown внутри sidebar */
	body.single-post .sl-single-toc--dropdown {
		display: block;
	}

	/* 2 колонки: контент + сайдбар */
	body.single-post .sl-single-layout__grid:not(.sl-single-layout__grid--no-related) {
		grid-template-columns: minmax(0, 1fr) minmax(0, 260px);
		grid-template-rows: auto 1fr;
	}

	body.single-post .sl-single-layout__grid:not(.sl-single-layout__grid--no-related) .sl-single-layout__header {
		grid-column: 1;
		grid-row: 1;
	}

	body.single-post .sl-single-layout__grid:not(.sl-single-layout__grid--no-related) .sl-single-main {
		grid-column: 1;
		grid-row: 2;
	}

	body.single-post .sl-single-layout__grid:not(.sl-single-layout__grid--no-related) .sl-single-sidebar {
		grid-column: 2;
		grid-row: 1 / -1;
	}

	/* --no-toc + has-related: те же 2 колонки */
	body.single-post .sl-single-layout__grid--no-toc:not(.sl-single-layout__grid--no-related) {
		grid-template-columns: minmax(0, 1fr) minmax(0, 260px);
		grid-template-rows: auto 1fr;
	}

	/* --no-related + has-toc: одна колонка, standalone-dropdown над контентом */
	body.single-post .sl-single-layout__grid--no-related:not(.sl-single-layout__grid--no-toc) {
		grid-template-columns: minmax(0, var(--sl-container-article));
		grid-template-rows: auto auto auto;
		justify-content: center;
	}

	body.single-post .sl-single-layout__grid--no-related:not(.sl-single-layout__grid--no-toc) .sl-single-layout__header {
		grid-column: 1;
		grid-row: 1;
	}

	body.single-post .sl-single-layout__grid--no-related:not(.sl-single-layout__grid--no-toc) .sl-single-toc--dropdown {
		grid-column: 1;
		grid-row: 2;
		max-width: 100%;
	}

	body.single-post .sl-single-layout__grid--no-related:not(.sl-single-layout__grid--no-toc) .sl-single-main {
		grid-column: 1;
		grid-row: 3;
	}
}

/* ≤960: одна колонка; сайдбар скрыт; плавающая иконка оглавления */
@media (max-width: 960px) {
	body.single-post .sl-single-toc--rail {
		display: none !important;
	}

	/* Скрыть сайдбар целиком (footer-related показывается вместо него) */
	body.single-post .sl-single-sidebar {
		display: none !important;
	}

	/* Скрыть standalone dropdown (заменяется fab-иконкой) */
	body.single-post .sl-single-toc--standalone {
		display: none !important;
	}

	/* Показать FAB-иконку оглавления */
	body.single-post .sl-single-toc--fab {
		display: block;
		position: fixed;
		left: 16px;
		top: 50%;
		transform: translateY(-50%);
		z-index: 100;
	}

	body.single-post .sl-single-layout__grid,
	body.single-post .sl-single-layout__grid--no-toc,
	body.single-post .sl-single-layout__grid--no-related,
	body.single-post .sl-single-layout__grid--no-toc.sl-single-layout__grid--no-related {
		display: flex;
		flex-direction: column;
		gap: 24px;
		grid-template-columns: none;
	}

	body.single-post .sl-single-layout__grid--no-toc.sl-single-layout__grid--no-related .sl-single-main {
		max-width: none;
	}
}

.sl-article__header {
	margin-bottom: 24px;
}

.sl-article__title {
	margin: 0;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--sl-text);
	font-variant: normal;
	letter-spacing: normal;
}

.sl-article__thumb {
	position: relative;
	margin-bottom: 32px;
	border-radius: var(--sl-radius-img);
	overflow: hidden;
}

.sl-article__img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--sl-radius-img);
}

.sl-article__body {
	margin-bottom: 48px;
}

.sl-article__content {
	color: var(--sl-text);
	font-size: 20px;
	line-height: 1.6;
}

.sl-article__content p {
	margin: 0 0 1em;
}

.sl-article__content h2 {
	margin: 2em 0 0.75em;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--sl-text);
	font-variant: normal;
	letter-spacing: normal;
	display: block;
}

.sl-article__content h2::before {
	content: none;
	display: none;
}

.sl-article__content h2:first-child {
	margin-top: 0;
}

.sl-article__content h3 {
	margin: 1.5em 0 0.5em;
	font-size: 20px;
	font-weight: 700;
	font-variant: normal;
	letter-spacing: normal;
}

/* Только одиночная запись (не главная, не статичные страницы) */
body.single-post .sl-article__content {
	font-size: 21px;
	line-height: 30px;
}

body.single-post .sl-article__content h2 {
	font-size: 30px;
	line-height: 1.2;
}

body.single-post .sl-article__content h3 {
	font-size: 24px;
	line-height: 1.25;
}

body.single-post .sl-article__content h2,
body.single-post .sl-article__content h3 {
	scroll-margin-top: calc(var(--sl-single-sticky-top) + 16px);
}

.sl-article__content ul,
.sl-article__content ol {
	margin: 0 0 1em;
	padding-left: 2em;
	list-style-position: outside;
	overflow: visible;
}

.sl-article__content li {
	margin-bottom: 0.5em;
}

.sl-article__content figure {
	margin-top: 1.5em;
	margin-bottom: 24px;
}

.sl-article__content figure:has(+ .redactor__text) {
	margin-bottom: 16px;
}

.sl-article__content figure + .redactor__text {
	margin-bottom: 24px;
}

.sl-article__content figure img {
	border-radius: var(--sl-radius-img);
	width: 100%;
	height: auto;
}

/* Одиночная запись: встроенные изображения — max 600px по высоте, пропорции, по центру (без растягивания на всю ширину) */
body.single-post .sl-article__content figure {
	text-align: center;
}

body.single-post .sl-article__content img {
	border-radius: var(--sl-radius-img);
	max-height: 600px;
	width: auto;
	max-width: 100%;
	height: auto;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.sl-article__content blockquote {
	margin: 1.5em 0;
	padding-left: 20px;
	border-left: 3px solid var(--sl-accent);
	color: var(--sl-text-muted);
	font-size: 0.9em;
	font-style: normal;
}

.sl-article__content a {
	color: #e67e22;
	text-decoration: none;
}

.sl-article__content a:hover {
	text-decoration: underline;
	color: #d35400;
}

.sl-article__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 16px;
	margin-top: 14px;
	width: 100%;
	box-sizing: border-box;
}

.sl-article__header .sl-feed__reading {
	color: var(--sl-text-muted);
}

.sl-article__date {
	margin: 0;
}

.sl-article__cta {
	margin: 24px 0 0;
}

/* ---------- 11. Похожие материалы и поиск ---------- */
.sl-section_related .sl-section__title {
	margin: 0 0 24px;
}

.sl-related {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.sl-related__item {
	margin: 0;
}

.sl-related__card {
	display: flex;
	gap: 16px;
	align-items: center;
	text-decoration: none;
	color: inherit;
	transition: opacity 0.2s ease;
}

.sl-related__card:hover {
	opacity: 0.85;
}

.sl-related__img {
	flex-shrink: 0;
	width: 256px;
	aspect-ratio: 16 / 9;
	background-size: cover;
	background-position: center;
	background-color: var(--sl-img-placeholder);
	border-radius: var(--sl-radius-img);
}

.sl-related__img_placeholder {
	background: var(--sl-img-placeholder);
}

.sl-related__body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.sl-related__title {
	margin: 0;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.25;
	color: var(--sl-text);
}

.sl-related__descr {
	margin: 0;
	font-size: 15px;
	line-height: 1.4;
	color: var(--sl-text-muted);
}

.sl-search-page .sl-related.sl-search-results,
.sl-search-overlay .sl-related.sl-search-results {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
	align-items: stretch;
}

.sl-search-page .sl-related.sl-search-results .sl-related__card,
.sl-search-overlay .sl-related.sl-search-results .sl-related__card {
	flex-direction: column;
	align-items: stretch;
	height: 100%;
}

.sl-search-page .sl-related.sl-search-results .sl-related__img,
.sl-search-overlay .sl-related.sl-search-results .sl-related__img {
	width: 100%;
	max-width: none;
}

/* ---------- 12. Оверлей поиска ---------- */
.sl-search-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
	background: var(--sl-bg);
	display: none;
	flex-direction: column;
}

.sl-search-overlay.is-open {
	display: flex;
}

.sl-search-overlay__inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	max-width: var(--sl-container-article);
	width: 100%;
	margin: 0 auto;
	padding: 24px 20px 40px;
}

.sl-search-overlay__header {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
	padding-bottom: 16px;
}

.sl-search-overlay__input-wrap {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	border: 1px solid var(--sl-ui-line);
	border-radius: 100px;
	background: var(--sl-input-bg);
}

.sl-search-overlay__icon {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	color: var(--sl-text-muted);
}

.sl-search-overlay__input {
	flex: 1;
	min-width: 0;
	border: none;
	background: transparent;
	font-size: 16px;
	font-family: var(--sl-font);
	color: var(--sl-text);
	outline: none;
	appearance: none;
}

.sl-search-overlay__input::-webkit-search-decoration,
.sl-search-overlay__input::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

.sl-search-overlay__input::placeholder {
	color: var(--sl-placeholder);
}

.sl-search-overlay__clear {
	display: none;
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	padding: 0;
	border: none;
	background: var(--sl-input-clear);
	border-radius: 50%;
	cursor: pointer;
	align-items: center;
	justify-content: center;
}

.sl-search-overlay__clear.is-visible {
	display: flex;
}

.sl-search-overlay__clear svg {
	width: 14px;
	height: 14px;
}

.sl-search-overlay__close {
	flex-shrink: 0;
}

.sl-search-overlay__count {
	flex-shrink: 0;
	margin: 12px 0;
	font-size: 14px;
	color: var(--sl-text-muted);
}

.sl-search-overlay__results {
	flex: 1;
	overflow-y: auto;
	min-height: 0;
}

.sl-search-results {
	padding: 0;
	margin: 0;
	list-style: none;
}

.sl-search-page__count {
	margin: 0 0 24px;
	font-size: 14px;
	color: var(--sl-text-muted);
}

.sl-search-page__empty {
	margin: 1em 0;
	color: var(--sl-text-muted);
}
/* =============================================================================
 * Адаптивные стили (@media) — единый блок в конце файла.
 * Порядок: max-width от большего порога к меньшему (959 → … → 379).
 * Первый блок — max-width: 959px (граница с десктоп-базой; не 960px — иначе на 960px
 * перебивались бы десктопные правила).
 * ============================================================================= */
@media (max-width: 960px) {

	.sl-fresh__sections-wrap {
		display: block;
		flex: 1;
		min-width: 0;
	}

	.sl-grid_cols-3,
	.sl-grid_cols-4 {
		grid-template-columns: 1fr;
	}

	.sl-grid_cols-2 {
		grid-template-columns: repeat(2, 1fr);
	}

	.sl-feed_cols-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sl-search-page .sl-related.sl-search-results,
	.sl-search-overlay .sl-related.sl-search-results {
		display: flex;
		flex-direction: column;
		gap: 32px;
		align-items: stretch;
	}

	.sl-search-page .sl-related.sl-search-results .sl-related__card,
	.sl-search-overlay .sl-related.sl-search-results .sl-related__card {
		flex-direction: row;
		align-items: center;
		height: auto;
	}

	.sl-search-page .sl-related.sl-search-results .sl-related__img,
	.sl-search-overlay .sl-related.sl-search-results .sl-related__img {
		width: 256px;
		max-width: none;
	}

	.sl-hero {
		border-radius: var(--sl-radius-img);
	}

	.sl-hero__title {
		font-size: 38px;
	}

	.sl-hero__desc {
		font-size: 16px;
	}

	.sl-section__title,
	.sl-cat-hero__title {
		font-size: 38px;
	}

	.sl-partners__inner {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
		gap: 24px;
	}

	.sl-partners__logo {
		justify-content: center;
		text-align: center;
	}

	.sl-partners__text {
		text-align: center;
		max-width: min(36rem, 100%);
	}

	body {
		padding-top: 0;
	}

	.site-header {
		position: fixed;
		top: 8px;
		left: 0;
		right: 0;
		width: 100%;
		padding: 0 10px;
	}

	.site-header .header-inner {
		grid-template-columns: 1fr auto;
		min-height: 84px;
		padding: 16px 18px 16px 24px;
	}

	.site-header.is-scrolled .header-inner {
		min-height: 76px;
	}

	.site-content {
		padding-top: clamp(112px, 16vw, 132px);
	}

	.header-nav,
	.header-search {
		display: none !important;
	}

	.header-tools {
		display: none !important;
	}

	.header-logo img {
		max-height: 64px;
		max-width: min(180px, 48vw);
	}

	.header-mob-actions {
		display: flex !important;
		align-items: center;
		gap: 10px;
		justify-self: end;
		justify-content: flex-end;
	}

	.header-search-mob,
	.header-burger {
		display: inline-flex !important;
	}

	.home .site-content {
		padding-top: 104px;
	}

	.sl-fresh__slides-track--desktop {
		display: none !important;
	}

	.sl-fresh__slides-track--mob-sm {
		display: none !important;
	}

	.sl-fresh__slides-track--mob-tab {
		display: flex !important;
	}

	.sl-fresh__toolbar {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 12px 16px;
	}

	.sl-fresh__posts-arrows {
		display: flex;
		flex-shrink: 0;
		margin-left: auto;
	}

	.sl-fresh__slide--mob-lead .sl-fresh__lead {
		flex: none;
		height: auto;
	}

	.sl-fresh__slide--mob-lead .sl-fresh__lead-media {
		flex: none;
		min-height: 0;
		aspect-ratio: 16 / 9;
	}

	.sl-fresh__slide--mob-one .sl-fresh__lead {
		flex: none;
		height: auto;
	}

	.sl-fresh__slide--mob-one .sl-fresh__lead-media {
		flex: none;
		min-height: 0;
		aspect-ratio: 16 / 9;
	}

	.sl-fresh__row {
		gap: 20px;
	}

	.sl-partners__text { font-size: 16px; }

	.sl-fresh__mob-bar {
		display: flex;
	}

	.sl-fresh__mob-burger {
		display: inline-flex;
	}

	.sl-fresh__sections-panel {
		position: absolute;
		left: 0;
		right: 0;
		top: calc(100% + 8px);
		width: 100%;
		z-index: 30;
		padding: 12px 16px 16px;
		box-sizing: border-box;
		background: var(--sl-panel);
		backdrop-filter: blur(14px) saturate(1.08);
		-webkit-backdrop-filter: blur(14px) saturate(1.08);
		border-radius: 18px;
		border: 1px solid var(--sl-ui-line);
		box-shadow: 0 16px 48px rgba(0, 0, 0, 0.12);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(-8px);
		transition:
			opacity 0.22s ease,
			visibility 0.22s ease,
			transform 0.22s ease;
	}

	.sl-fresh__toolbar.is-cat-open .sl-fresh__sections-panel {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0);
	}

	.sl-fresh__sections-row {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.sl-fresh__sections-panel .sl-fresh__sections-link {
		width: 100%;
		min-height: 0;
		padding: 10px 8px 10px 28px;
		font-size: 16px;
		font-weight: 500;
		justify-content: flex-start;
		text-align: left;
		border-radius: 0;
		background: transparent !important;
		border: none !important;
		color: var(--sl-text);
		position: relative;
	}

	.sl-fresh__sections-panel .sl-fresh__sections-link:hover {
		background: transparent !important;
		border: none !important;
		color: var(--sl-text);
	}

	.sl-fresh__sections-panel .sl-fresh__sections-link.is-active {
		background: transparent !important;
		border: none !important;
		font-weight: 500;
		color: var(--sl-text);
	}

	.sl-fresh__sections-panel .sl-fresh__sections-link.is-active::before {
		content: '\2713';
		position: absolute;
		left: 6px;
		top: 50%;
		transform: translateY(-50%);
		font-size: 14px;
		font-weight: 600;
		line-height: 1;
		color: var(--sl-text);
	}

	.sl-fresh:not(.sl-fresh--slider) {
		grid-template-columns: 1fr;
	}

	.sl-fresh__row {
		grid-template-columns: 1fr;
	}

	.sl-fresh__row .sl-fresh__img {
		aspect-ratio: 16 / 9;
		min-height: 0;
		height: auto;
	}
}

@media (max-width: 640px) {

	.sl-grid_cols-2 {
		grid-template-columns: 1fr;
	}

	.sl-feed_cols-2 {
		grid-template-columns: 1fr;
	}

	/* «Вам может быть интересно»: базовое правило .sl-section_related — 2 колонки, сильнее .sl-feed_cols-2 */
	.sl-section_related .sl-feed_cols-2 {
		grid-template-columns: 1fr;
	}

	:root {
		--sl-radius-img: 16px;
	}

	.sl-home-stack {
		gap: 100px;
	}

	.sl-hero__title {
		font-size: 32px;
	}

	.sl-hero__desc {
		font-size: 15px;
	}

	.sl-section__title {
		font-size: 32px;
	}

	.sl-cat-hero__title {
		font-size: 36px;
	}

	.sl-cat-hero {
		padding: 0 0 8px;
	}

	.sl-section.sl-section_category {
		padding: 16px 0 48px;
	}

	.footer-nav .sl-menu a {
		padding: 6px 10px;
		font-size: 14px;
	}

	.sl-fresh__slides-track--mob-tab {
		display: none !important;
	}

	.sl-fresh__slides-track--mob-sm {
		display: flex !important;
	}

	.sl-fresh__slide--mob-lead .sl-fresh__lead-media,
	.sl-fresh__slides-track--mob-sm .sl-fresh__slide--mob-one .sl-fresh__lead-media {
		aspect-ratio: 1.6 / 1;
	}

	.sl-search-page .sl-related.sl-search-results .sl-related__card,
	.sl-search-overlay .sl-related.sl-search-results .sl-related__card {
		flex-direction: column;
		align-items: stretch;
	}

	.sl-search-page .sl-related.sl-search-results .sl-related__img,
	.sl-search-overlay .sl-related.sl-search-results .sl-related__img {
		width: 100%;
	}

	.sl-search-page .sl-related.sl-search-results,
	.sl-search-overlay .sl-related.sl-search-results {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 32px;
	}

	.sl-fresh__lead-excerpt {
		display: none;
	}

	.sl-brand-bar {
		padding: 28px 24px;
	}
	.sl-brand-bar__slogan {
		font-size: 28px;
	}

	body.single-post .sl-article__content {
		font-size: 18px;
		line-height: 25px;
	}

	body.single-post .sl-article__content h2 {
		font-size: 24px;
		line-height: 1.3;
		max-width: none;
	}

	body.single-post .sl-article__content h3 {
		font-size: 20px;
		line-height: 1.3;
	}

	.sl-article__title { font-size: 28px; }
}

@media (max-width: 480px) {

	.sl-container,
	.sl-container-narrow,
	.sl-container-article,
	.sl-container-single {
		padding-left: 10px;
		padding-right: 10px;
	}

	.sl-hero {
		height: auto;
		min-height: 200px;
		max-height: none;
		padding: 16px 18px;
	}

	.sl-hero__title {
		font-size: 28px;
		margin-bottom: 6px;
	}

	.sl-hero__desc {
		font-size: 13px;
		line-height: 1.4;
	}

	.home .site-footer {
		margin-top: 100px;
	}

	.sl-fresh__slides-track--mob-sm .sl-fresh__slide--mob-one {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		align-self: flex-start;
		width: 100%;
		min-width: 0;
		min-height: 0;
		margin: 0;
		padding: 0;
		box-sizing: border-box;
	}

	.sl-fresh__slides-track--mob-sm .sl-fresh__slide--mob-one .sl-fresh__lead {
		flex: 0 0 auto;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin: 0;
	}

	.sl-fresh__slides-track--mob-sm .sl-fresh__slide--mob-one .sl-fresh__lead-media {
		width: 100%;
		max-width: 100%;
	}

	.sl-fresh--slider .sl-fresh__slides-track--mob-sm .sl-fresh__slide--mob-one .sl-fresh__lead-media,
	.sl-fresh--slider .sl-fresh__slide--mob-lead .sl-fresh__lead-media,
	.sl-fresh--slider .sl-fresh__slide--mob-duo .sl-fresh__compact-card .sl-feed__img {
		aspect-ratio: 4 / 3;
	}

	.sl-section { padding: 30px 0; }

	.sl-section.sl-section_category {
		padding: 12px 0 30px;
	}

	.sl-section__title {
		font-size: 26px;
	}

	.sl-cat-hero__title {
		font-size: 32px;
	}

	.sl-cat-hero {
		padding: 0 0 8px;
	}

	.home .sl-section__title {
		font-size: 32px;
	}

	.sl-feed__card {
		gap: 12px;
	}

	.sl-feed__body {
		gap: 12px;
	}

	.sl-feed__meta {
		gap: 12px 14px;
	}

	.sl-fresh__slide .sl-fresh__compact-card {
		gap: 12px;
	}

	.sl-fresh__lead-overlay {
		gap: 12px;
	}

	.sl-feed__short,
	.sl-feed__descr {
		font-size: 16px;
	}

	.sl-fresh__lead-excerpt {
		font-size: 16px;
	}

	.sl-search-page .sl-related.sl-search-results,
	.sl-search-overlay .sl-related.sl-search-results {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	body:not(.single-post) .sl-article__content {
		font-size: 16px;
		line-height: 1.45;
	}

	body:not(.single-post) .sl-article__content h2 {
		font-size: 24px;
		max-width: 320px;
		line-height: 120%;
	}

	body:not(.single-post) .sl-article__content h3 {
		font-size: 20px;
		line-height: 120%;
	}

	.header-mob-actions {
		gap: 8px;
	}
	.sl-home-intro .sl-hero-wrap {
		padding-left: 10px;
		padding-right: 10px;
	}

	.sl-partners__text {
		font-size: 16px;
	}

	.sl-article__title {
		font-size: 24px;
		line-height: 1.2;
	}

	body:not(.single-post) .sl-article__content {
		font-size: 18px;
	}

	body:not(.single-post) .sl-article__content h2,
	body:not(.single-post) .sl-article__content h3 {
		font-size: 16px;
		line-height: 1.35;
	}
}

/* ---------- Кнопка «Стать автором» и модалка обратной связи ---------- */
.sl-contact-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 22px;
	font-family: var(--sl-font);
	font-size: 15px;
	font-weight: 600;
	color: var(--sl-on-accent);
	background: var(--sl-accent);
	border: none;
	border-radius: 9999px;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.2s, transform 0.15s;
	white-space: nowrap;
	line-height: 1.35;
}

.sl-contact-btn:hover {
	background: var(--sl-accent-dark);
	transform: scale(1.03);
}

.sl-contact-btn:active {
	transform: scale(0.97);
}

/* Header: кнопка между поиском и ничем (крайняя справа) */
.header-tools .sl-contact-btn {
	height: 44px;
	padding: 0 20px;
	font-size: 14px;
}

/* Footer: после навигации */
.footer-contact {
	margin-top: 0;
}

/* Burger menu: кнопка после пунктов меню */
.sl-mob-menu__contact {
	margin-top: 40px;
	padding: 0 4px;
}

.sl-mob-menu__contact .sl-contact-btn {
	width: 100%;
	justify-content: center;
	padding: 16px 24px;
	font-size: 18px;
}

/* Скрыть кнопку в шапке на мобилке */
@media (max-width: 960px) {
	.header-tools .sl-contact-btn {
		display: none !important;
	}
}

/* Модалка обратной связи */
.sl-contact-overlay {
	position: fixed;
	/* −1px по краям: перекрывает субпиксельную щель между fixed-слоем и вьюпортом */
	inset: -1px;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	/* Без backdrop-filter: в Chromium даёт тонкую горизонтальную линию/шов при перерисовке, заметную после остановки курсора */
	background: rgba(0, 0, 0, 0.52);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease, visibility 0.25s ease;
	transform: translateZ(0);
}

.sl-contact-overlay.is-open {
	opacity: 1;
	visibility: visible;
}

.sl-contact-modal {
	position: relative;
	width: 90%;
	max-width: 460px;
	max-height: 90vh;
	overflow-y: auto;
	background: var(--sl-bg);
	border: 1px solid var(--sl-ui-line);
	border-radius: 20px;
	padding: 28px 28px 20px;
	box-shadow: 0 8px 40px rgba(0, 0, 0, 0.18);
	transform: translateY(20px) scale(0.96);
	transition: transform 0.3s ease;
}

/* Строка заголовка + кнопка закрытия */
.sl-contact-modal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 20px;
}

.sl-contact-overlay.is-open .sl-contact-modal {
	transform: translateY(0) scale(1);
}

.sl-contact-modal__close {
	position: static;
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	min-width: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--sl-ui-line);
	background: var(--sl-ui-fill);
	color: var(--sl-text-muted);
	cursor: pointer;
	border-radius: 50%;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
	padding: 0;
}

.sl-contact-modal__close:hover {
	background: var(--sl-accent);
	border-color: var(--sl-accent);
	color: var(--sl-on-accent);
}

.sl-contact-modal__close svg {
	width: 18px;
	height: 18px;
}

.sl-contact-modal__title {
	margin: 0;
	font-size: 24px;
	font-weight: 700;
	font-variant: normal;
	text-transform: lowercase;
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	color: var(--sl-text);
	font-family: var(--sl-font);
}

/* Кружок перед заголовком модалки: чуть крупнее, ровный */
.sl-contact-modal__title::before {
	width: 0.8em;
	height: 0.8em;
	min-width: 0.8em;
	margin-top: 0;
}

.sl-contact-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.sl-contact-form__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.sl-contact-form__label {
	font-size: 13px;
	font-weight: 600;
	color: var(--sl-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-family: var(--sl-font);
}

.sl-contact-form__input,
.sl-contact-form__textarea {
	width: 100%;
	padding: 12px 16px;
	font-family: var(--sl-font);
	font-size: 16px;
	color: var(--sl-text);
	background: var(--sl-input-bg);
	border: 1px solid var(--sl-ui-line);
	border-radius: 12px;
	outline: none;
	transition: border-color 0.2s;
	box-sizing: border-box;
}

.sl-contact-form__input:focus,
.sl-contact-form__textarea:focus {
	border-color: var(--sl-accent);
}

.sl-contact-form__textarea {
	min-height: 100px;
	resize: vertical;
}

.sl-contact-form__consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 13px;
	line-height: 1.45;
	color: var(--sl-text-muted);
	font-family: var(--sl-font);
}

.sl-contact-form__consent input[type="checkbox"] {
	flex-shrink: 0;
	margin-top: 2px;
	width: 18px;
	height: 18px;
	accent-color: var(--sl-accent);
	cursor: pointer;
}

.sl-contact-form__consent a {
	color: var(--sl-link);
	text-decoration: underline;
}

.sl-contact-form__consent a:hover {
	color: var(--sl-link-hover);
}

.sl-contact-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 28px;
	font-family: var(--sl-font);
	font-size: 16px;
	font-weight: 700;
	color: var(--sl-on-accent);
	background: var(--sl-accent);
	border: none;
	border-radius: 9999px;
	cursor: pointer;
	transition: background 0.2s, transform 0.15s, opacity 0.2s;
	margin-top: 4px;
}

.sl-contact-form__submit:hover {
	background: var(--sl-accent-dark);
	transform: scale(1.02);
}

.sl-contact-form__submit:active {
	transform: scale(0.97);
}

.sl-contact-form__submit:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
}

.sl-contact-form__status {
	font-size: 14px;
	font-family: var(--sl-font);
	text-align: center;
	min-height: 0;
	margin: 0;
}

.sl-contact-form__status--success {
	color: #2e7d32;
}

.sl-contact-form__status--error {
	color: #c62828;
}

/* CF7 внутри модалки — стилизация под тему */
.sl-contact-modal .wpcf7 {
	margin: 0;
}

.sl-contact-modal .wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.sl-contact-modal .wpcf7-form p {
	margin: 0;
}

.sl-contact-modal .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]) {
	width: 100%;
	padding: 12px 16px;
	font-family: var(--sl-font);
	font-size: 16px;
	color: var(--sl-text);
	background: var(--sl-input-bg);
	border: 1px solid var(--sl-ui-line);
	border-radius: 12px;
	outline: none;
	transition: border-color 0.2s;
	box-sizing: border-box;
}

.sl-contact-modal .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):focus {
	border-color: var(--sl-accent);
}

.sl-contact-modal .wpcf7-form textarea.wpcf7-form-control {
	min-height: 100px;
	resize: vertical;
}

.sl-contact-modal .wpcf7-form [type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 14px 28px;
	font-family: var(--sl-font);
	font-size: 16px;
	font-weight: 700;
	color: var(--sl-on-accent);
	background: var(--sl-accent);
	border: none;
	border-radius: 9999px;
	cursor: pointer;
	transition: background 0.2s, transform 0.15s;
	margin-top: 4px;
}

.sl-contact-modal .wpcf7-form [type="submit"]:hover {
	background: var(--sl-accent-dark);
	transform: scale(1.02);
}

.sl-contact-modal .wpcf7-form [type="submit"]:active {
	transform: scale(0.97);
}

.sl-contact-modal .wpcf7-acceptance {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 13px;
	line-height: 1.45;
	color: var(--sl-text-muted);
}

.sl-contact-modal .wpcf7-acceptance input[type="checkbox"] {
	flex-shrink: 0;
	margin-top: 2px;
	width: 18px;
	height: 18px;
	accent-color: var(--sl-accent);
	cursor: pointer;
}

.sl-contact-modal .wpcf7-acceptance a {
	color: var(--sl-link);
	text-decoration: underline;
}

.sl-contact-modal .wpcf7-acceptance a:hover {
	color: var(--sl-link-hover);
}

.sl-contact-modal .wpcf7-response-output {
	margin: 8px 0 0 !important;
	padding: 10px 16px !important;
	border-radius: 10px !important;
	font-size: 14px;
	font-family: var(--sl-font);
	text-align: center;
	border: 1px solid var(--sl-ui-line) !important;
}

.sl-contact-modal .wpcf7-not-valid-tip {
	font-size: 12px;
	color: #c62828;
	margin-top: 4px;
}

.sl-contact-modal .wpcf7 form.sent .wpcf7-response-output {
	border-color: #2e7d32 !important;
	color: #2e7d32;
}

.sl-contact-modal .wpcf7 form.invalid .wpcf7-response-output,
.sl-contact-modal .wpcf7 form.failed .wpcf7-response-output {
	border-color: #c62828 !important;
	color: #c62828;
}

.sl-contact-modal .wpcf7-spinner {
	display: block;
	margin: 8px auto 0;
}

@media (max-width: 480px) {
	.sl-contact-modal {
		padding: 28px 20px 24px;
		border-radius: 16px;
	}

	.sl-contact-modal__title {
		font-size: 20px;
	}
}
