/**
 * Страница публичной оферты (templates/page-oferta.php).
 *
 * Пришло из отдельной HTML-страницы документа. Что изменено под сайт:
 * - тёмной темы и переключателя нет: сайт светлый, а документ внутри его
 *   шапки и подвала — своя тёмная тема делала бы страницу чужой;
 * - палитра — токены бренда (brand-blue / brand-red / brand-light), а не
 *   собственный набор цветов документа;
 * - заголовки набраны Apparel, как везде на сайте; текст — IBM Plex Sans,
 *   он уже самохостится темой (assets/css/fonts.css), внешний CDN убран;
 * - липкая шапка сайта учтена в якорях и в позиции оглавления
 *   (--prslon-header-h ставит assets/js/scripts.js);
 * - восстановлены маркеры списков и прочее, что срезает preflight Tailwind;
 * - печать прячет шапку, подвал, плавающую панель и баннер cookie.
 *
 * Вся вёрстка заскоуплена под .prslon-oferta.
 */

.prslon-oferta {
	--oferta-ink: #132a3d;
	--oferta-accent: #ff5a49;
	--oferta-bg: #f8fafc;
	--oferta-surface: #ffffff;
	--oferta-border: #d0d4d8;
	--oferta-text: #132a3d;
	--oferta-muted: rgba(19, 42, 61, 0.62);
	--oferta-tint: #fff7f6;
	--oferta-shadow: 0 4px 16px rgba(19, 42, 61, 0.06);
	--oferta-num: #6e7b85;
	/* Якоря и липкое оглавление отсчитываются от шапки сайта, а не от края окна. */
	--oferta-offset: max(4.5rem, var(--prslon-header-h, 5.5rem));

	background: var(--oferta-bg);
	color: var(--oferta-text);
	font-size: 16px;
	line-height: 1.15;
}

.prslon-oferta .oferta-inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: 24px 20px 80px;
}

.prslon-oferta a {
	color: var(--oferta-accent);
}

.prslon-oferta a:focus-visible,
.prslon-oferta summary:focus-visible,
.prslon-oferta button:focus-visible {
	outline: 2px solid var(--oferta-accent);
	outline-offset: 2px;
	border-radius: 4px;
}

.prslon-oferta strong {
	font-weight: 600;
}

/* Preflight Tailwind срезает маркеры и отступы у списков — документу они нужны. */
.prslon-oferta .summary-box ul,
.prslon-oferta ul.price-notes {
	list-style: disc outside;
}

.prslon-oferta .oferta-grid {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 40px;
	align-items: start;
}

@media (max-width: 900px) {
	.prslon-oferta .oferta-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.prslon-oferta .oferta-inner {
		padding: 16px 16px 56px;
	}
}

/* ── Шапка документа ───────────────────────────────────────────────── */

.prslon-oferta .oferta-hero {
	padding: 28px 0 8px;
	border-bottom: 1px solid var(--oferta-border);
	margin-bottom: 16px;
}

.prslon-oferta .badge {
	display: inline-block;
	font-size: 13px;
	font-weight: 600;
	color: var(--oferta-accent);
	background: var(--oferta-tint);
	border-radius: 50px;
	padding: 4px 14px;
	margin-bottom: 14px;
}

.prslon-oferta h1.doc-title {
	font-family: 'Apparel', Arial, sans-serif;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.02em;
	margin: 0 0 10px;
	max-width: 900px;
}

@media (min-width: 640px) {
	.prslon-oferta h1.doc-title {
		font-size: 34px;
	}
}

.prslon-oferta .doc-meta {
	font-size: 14px;
	color: var(--oferta-muted);
	margin: 0 0 2px;
}

.prslon-oferta .toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-top: 18px;
}

.prslon-oferta .tab-bar {
	display: inline-flex;
	gap: 4px;
	background: var(--oferta-tint);
	border-radius: 50px;
	padding: 4px;
}

.prslon-oferta .tab-btn {
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	border: none;
	background: transparent;
	color: var(--oferta-muted);
	padding: 8px 18px;
	border-radius: 50px;
	cursor: pointer;
}

.prslon-oferta .tab-btn[aria-selected='true'] {
	background: var(--oferta-surface);
	color: var(--oferta-accent);
	box-shadow: var(--oferta-shadow);
}

.prslon-oferta .spacer {
	flex: 1 1 auto;
}

.prslon-oferta .dl-btn {
	font: inherit;
	font-size: 13.5px;
	font-weight: 600;
	border: 1px solid var(--oferta-border);
	background: var(--oferta-surface);
	color: var(--oferta-text);
	padding: 8px 14px;
	border-radius: 50px;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.prslon-oferta .dl-btn:hover {
	border-color: var(--oferta-accent);
	color: var(--oferta-accent);
}

.prslon-oferta .dl-btn svg {
	flex: 0 0 auto;
}

.prslon-oferta .dl-btn .dl-size {
	font-weight: 500;
	color: var(--oferta-muted);
}

.prslon-oferta .tabpanel {
	display: none;
}

.prslon-oferta .tabpanel.active {
	display: block;
}

/* ── Оглавление ────────────────────────────────────────────────────── */

.prslon-oferta nav.toc {
	position: sticky;
	top: calc(var(--oferta-offset) + 16px);
	align-self: start;
	background: var(--oferta-surface);
	border: 1px solid var(--oferta-border);
	border-radius: 20px;
	padding: 18px 16px;
	box-shadow: var(--oferta-shadow);
	max-height: calc(100vh - var(--oferta-offset) - 32px);
	overflow-y: auto;
}

.prslon-oferta nav.toc .toc-label {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--oferta-muted);
	margin: 0 0 10px;
}

.prslon-oferta nav.toc a {
	display: block;
	font-size: 14px;
	color: var(--oferta-text);
	text-decoration: none;
	padding: 7px 8px;
	border-radius: 10px;
	margin: 1px 0;
}

.prslon-oferta nav.toc a:hover {
	background: var(--oferta-tint);
	color: var(--oferta-accent);
}

.prslon-oferta nav.toc a.toc-appendix {
	margin-top: 8px;
	font-weight: 600;
}

/* Активный раздел при прокрутке — как в журнале на prslon.ru: читатель
   всегда видит, где находится в 19 разделах и 3 приложениях. */
.prslon-oferta nav.toc a.is-active {
	background: var(--oferta-tint);
	color: var(--oferta-accent);
	font-weight: 600;
	box-shadow: inset 2px 0 0 var(--oferta-accent);
}

.prslon-oferta details.toc-mobile {
	display: none;
}

@media (max-width: 900px) {
	.prslon-oferta nav.toc.desktop {
		display: none;
	}

	.prslon-oferta details.toc-mobile {
		display: block;
	}

	.prslon-oferta details.toc-mobile summary {
		cursor: pointer;
		list-style: none;
		background: var(--oferta-surface);
		border: 1px solid var(--oferta-border);
		border-radius: 16px;
		padding: 12px 16px;
		font-weight: 600;
		font-size: 15px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.prslon-oferta details.toc-mobile summary::after {
		content: '☰';
		color: var(--oferta-accent);
	}

	.prslon-oferta details.toc-mobile[open] summary::after {
		content: '×';
		font-size: 20px;
	}

	.prslon-oferta details.toc-mobile nav.toc {
		position: static;
		max-height: none;
		margin-top: 8px;
		box-shadow: none;
	}
}

/* ── Текст документа ───────────────────────────────────────────────── */

.prslon-oferta .oferta-doc {
	min-width: 0;
	overflow-wrap: anywhere;
}

.prslon-oferta .summary-box {
	background: var(--oferta-surface);
	border: 1px solid var(--oferta-border);
	border-radius: 20px;
	padding: 22px 22px 18px;
	margin: 0 0 28px;
	box-shadow: var(--oferta-shadow);
}

.prslon-oferta .summary-box h2 {
	font-family: 'Apparel', Arial, sans-serif;
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 4px;
	color: var(--oferta-accent);
}

.prslon-oferta .summary-box .summary-sub {
	font-size: 13px;
	color: var(--oferta-muted);
	margin: 0 0 14px;
}

.prslon-oferta .summary-box ul {
	margin: 0;
	padding: 0 0 0 20px;
}

.prslon-oferta .summary-box li {
	font-size: 15px;
	line-height: 1.35;
	margin: 0 0 9px;
}

.prslon-oferta .summary-box li:last-child {
	margin-bottom: 0;
}

.prslon-oferta .summary-box .disclaimer {
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px dashed var(--oferta-border);
	font-size: 12.5px;
	color: var(--oferta-muted);
}

.prslon-oferta h2.sec-heading,
.prslon-oferta h2.app-heading,
.prslon-oferta h3.app-sub {
	font-family: 'Apparel', Arial, sans-serif;
	letter-spacing: -0.015em;
	scroll-margin-top: calc(var(--oferta-offset) + 12px);
}

.prslon-oferta h2.sec-heading {
	font-size: 21px;
	font-weight: 700;
	margin: 34px 0 12px;
	padding-top: 10px;
}

.prslon-oferta h2.sec-heading:first-of-type,
.prslon-oferta h2.sec-heading--lead {
	margin-top: 6px;
}

.prslon-oferta h2.app-heading {
	font-size: 23px;
	font-weight: 700;
	margin: 44px 0 14px;
	padding-top: 22px;
	border-top: 2px solid var(--oferta-border);
}

.prslon-oferta h3.app-sub {
	font-size: 16px;
	font-weight: 600;
	color: var(--oferta-accent);
	margin: 20px 0 8px;
}

.prslon-oferta p.plain,
.prslon-oferta p.doc-meta {
	font-size: 15px;
	line-height: 1.15;
	margin: 0 0 4px;
	overflow-wrap: anywhere;
}

.prslon-oferta p.lead {
	font-weight: 700;
	font-size: 16px;
	margin: 16px 0 4px;
}

.prslon-oferta .clause {
	display: flex;
	gap: 10px;
	font-size: 15px;
	line-height: 1.15;
	margin: 0;
	padding: 3px 0;
	scroll-margin-top: calc(var(--oferta-offset) + 12px);
	min-width: 0;
}

.prslon-oferta .clause .num {
	flex: 0 0 auto;
	color: var(--oferta-num);
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	font-size: 13.5px;
	padding-top: 1px;
}

.prslon-oferta .clause .txt {
	flex: 1 1 auto;
	min-width: 0;
	overflow-wrap: anywhere;
}

.prslon-oferta .clause.depth-1 {
	margin-top: 14px;
	font-weight: 500;
}

.prslon-oferta .clause.depth-1 .num {
	color: var(--oferta-ink);
	font-size: 14.5px;
}

.prslon-oferta .clause.depth-2 {
	margin-left: 18px;
}

.prslon-oferta .clause.depth-3 {
	margin-left: 36px;
}

.prslon-oferta .clause.depth-4 {
	margin-left: 54px;
}

@media (max-width: 480px) {
	.prslon-oferta .clause.depth-2 {
		margin-left: 10px;
	}

	.prslon-oferta .clause.depth-3 {
		margin-left: 20px;
	}

	.prslon-oferta .clause.depth-4 {
		margin-left: 30px;
	}
}

/* Сноска «Простыми словами» у пункта. */
.prslon-oferta details.fn {
	margin-top: 5px;
	font-size: 13.5px;
	font-weight: 400;
}

.prslon-oferta details.fn summary {
	cursor: pointer;
	color: var(--oferta-accent);
	font-weight: 600;
	list-style: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.prslon-oferta details.fn summary {
	font-size: 13.5px;
}

.prslon-oferta details.fn summary::marker {
	display: none;
	content: '';
}

.prslon-oferta details.fn summary::-webkit-details-marker {
	display: none;
}

.prslon-oferta details.fn summary::after {
	content: '▸';
	font-size: 11px;
}

.prslon-oferta details.fn[open] summary::after {
	content: '▾';
}

.prslon-oferta details.fn .fn-note {
	margin-top: 6px;
	padding: 10px 14px;
	background: var(--oferta-tint);
	border-radius: 12px;
	color: var(--oferta-text);
	line-height: 1.35;
	max-width: 60ch;
}

/* ── Таблицы прейскуранта ──────────────────────────────────────────── */

.prslon-oferta .table-scroll {
	overflow-x: auto;
	margin: 10px 0;
}

.prslon-oferta .table-scroll table {
	border-collapse: collapse;
	width: 100%;
	min-width: 480px;
	font-size: 14px;
	color: var(--oferta-text);
}

.prslon-oferta .table-scroll th,
.prslon-oferta .table-scroll td {
	text-align: left;
	padding: 8px 12px;
	border-bottom: 1px solid var(--oferta-border);
	white-space: nowrap;
}

.prslon-oferta .table-scroll td:first-child,
.prslon-oferta .table-scroll th:first-child {
	white-space: normal;
}

.prslon-oferta .table-scroll th {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--oferta-muted);
	font-weight: 700;
}

.prslon-oferta .table-scroll td {
	font-variant-numeric: tabular-nums;
}

.prslon-oferta .price-h {
	font-family: 'Apparel', Arial, sans-serif;
	font-size: 20px;
	font-weight: 700;
	margin: 32px 0 10px;
	padding-top: 14px;
	border-top: 2px solid var(--oferta-border);
}

.prslon-oferta .price-h:first-of-type {
	border-top: none;
	padding-top: 0;
	margin-top: 8px;
}

.prslon-oferta .price-h4 {
	font-size: 15px;
	font-weight: 600;
	color: var(--oferta-accent);
	margin: 18px 0 4px;
}

.prslon-oferta .price-note {
	font-size: 13px;
	color: var(--oferta-muted);
	margin: 6px 0 0;
}

.prslon-oferta .price-notes {
	font-size: 13.5px;
	color: var(--oferta-muted);
	margin: 12px 0 0;
	padding-left: 20px;
}

.prslon-oferta .price-notes li {
	margin-bottom: 6px;
	line-height: 1.35;
}

.prslon-oferta .price-notes strong {
	color: var(--oferta-text);
}

/* FLEX-матрица: первая колонка — длинные названия, ей нужен перенос и ширина;
   остальные держим по центру, чтобы сетка цен читалась колонками. Названия
   строк — это <th scope="row">, но правило для ЗАГОЛОВКОВ КОЛОНОК делает их
   капсом и мелким приглушённым шрифтом; для длинных названий это нечитаемо. */
.prslon-oferta table.flex-matrix th[scope='row'] {
	white-space: normal;
	text-transform: none;
	letter-spacing: 0;
	color: var(--oferta-text);
	font-weight: 500;
	font-size: 13.5px;
	min-width: 190px;
}

.prslon-oferta table.flex-matrix thead th {
	text-align: center;
	vertical-align: bottom;
}

.prslon-oferta table.flex-matrix thead th:first-child {
	text-align: left;
}

.prslon-oferta table.flex-matrix tbody td {
	text-align: center;
}

/* ── Калькулятор FLEX ──────────────────────────────────────────────── */

.prslon-oferta .calc {
	background: var(--oferta-surface);
	border: 1px solid var(--oferta-border);
	border-radius: 18px;
	padding: 18px 18px 14px;
	margin: 16px 0 20px;
	box-shadow: var(--oferta-shadow);
}

.prslon-oferta .calc-title {
	font-size: 15px;
	font-weight: 700;
	margin: 0 0 12px;
}

.prslon-oferta .calc-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}

@media (min-width: 720px) {
	.prslon-oferta .calc-grid {
		grid-template-columns: 2fr 1.3fr 0.6fr;
	}
}

.prslon-oferta .calc-field {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.prslon-oferta .calc-field > span {
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--oferta-muted);
}

.prslon-oferta .calc select,
.prslon-oferta .calc input[type='number'] {
	font: inherit;
	font-size: 14px;
	color: var(--oferta-text);
	background: var(--oferta-bg);
	border: 1px solid var(--oferta-border);
	border-radius: 10px;
	padding: 9px 10px;
	width: 100%;
	min-width: 0;
}

.prslon-oferta .calc select:focus-visible,
.prslon-oferta .calc input:focus-visible {
	outline: 2px solid var(--oferta-accent);
	outline-offset: 1px;
}

/* Чекбоксы — часть той же системы, что поля выше: та же рамка, тот же радиус.
   Высота задаётся строкой, а не длиной подписи, поэтому при переносе текста
   на вторую строку соседние строки не разъезжаются по высоте. */
.prslon-oferta .calc-checks {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 12px;
}

.prslon-oferta .calc-check-text {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
}

.prslon-oferta .calc-check-title {
	line-height: 1.25;
}

.prslon-oferta .calc-check-hint {
	font-size: 12.5px;
	line-height: 1.25;
	color: var(--oferta-muted);
}

.prslon-oferta .calc-check {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	padding: 7px 12px;
	border: 1px solid var(--oferta-border);
	border-radius: 10px;
	background: var(--oferta-bg);
	font-size: 14px;
	line-height: 1.3;
	cursor: pointer;
}

.prslon-oferta .calc-check:hover {
	border-color: var(--oferta-accent);
}

/* Выбранную опцию подсвечиваем — сразу видно, что учтено в сумме. */
.prslon-oferta .calc-check:has(input:checked) {
	border-color: var(--oferta-accent);
	background: var(--oferta-tint);
}

.prslon-oferta .calc-check:has(input:disabled) {
	opacity: 0.5;
	cursor: not-allowed;
}

.prslon-oferta .calc-check:has(input:disabled):hover {
	border-color: var(--oferta-border);
}

.prslon-oferta .calc-check input[type='checkbox'] {
	appearance: none;
	-webkit-appearance: none;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 0;
	border: 1.5px solid var(--oferta-border);
	border-radius: 5px;
	background: var(--oferta-surface);
	display: grid;
	place-content: center;
	cursor: inherit;
}

.prslon-oferta .calc-check input[type='checkbox']::after {
	content: '';
	width: 10px;
	height: 10px;
	transform: scale(0);
	background: var(--oferta-surface);
	clip-path: polygon(14% 44%, 0 65%, 43% 100%, 100% 20%, 82% 5%, 39% 68%);
}

.prslon-oferta .calc-check input[type='checkbox']:checked {
	background: var(--oferta-accent);
	border-color: var(--oferta-accent);
}

.prslon-oferta .calc-check input[type='checkbox']:checked::after {
	transform: scale(1);
}

.prslon-oferta .calc-check input[type='checkbox']:focus-visible {
	outline: 2px solid var(--oferta-accent);
	outline-offset: 2px;
}

.prslon-oferta .calc-out {
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px dashed var(--oferta-border);
	font-size: 14px;
	font-variant-numeric: tabular-nums;
}

.prslon-oferta .calc-line {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 3px 0;
}

.prslon-oferta .calc-line span:first-child {
	color: var(--oferta-muted);
}

/* Подытог за один материал отделяем чертой — иначе он читается как ещё одно
   слагаемое, хотя это уже сумма частей выше. */
.prslon-oferta .calc-line.calc-per {
	margin-top: 6px;
	padding-top: 7px;
	border-top: 1px solid var(--oferta-border);
	font-weight: 600;
}

.prslon-oferta .calc-line.calc-per span:first-child {
	color: var(--oferta-text);
}

.prslon-oferta .calc-total {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid var(--oferta-border);
	font-size: 17px;
	font-weight: 700;
}

.prslon-oferta .calc-total .calc-sum {
	color: var(--oferta-accent);
}

.prslon-oferta .calc-vat {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 13px;
	color: var(--oferta-muted);
	margin-top: 2px;
}

.prslon-oferta .calc-disclaimer {
	font-size: 12.5px;
	color: var(--oferta-muted);
	margin: 12px 0 0;
	line-height: 1.35;
}

/* Нишевые коэффициенты: коэффициент слева, перечень отраслей справа. */
.prslon-oferta .coef-list {
	margin: 10px 0 0;
}

.prslon-oferta .coef-row {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 4px 16px;
	align-items: baseline;
	padding: 10px 0;
	border-bottom: 1px solid var(--oferta-border);
}

.prslon-oferta .coef-row:last-child {
	border-bottom: none;
}

.prslon-oferta .coef-row dt {
	font-size: 16px;
	font-weight: 700;
	color: var(--oferta-accent);
	font-variant-numeric: tabular-nums;
}

.prslon-oferta .coef-row dd {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.35;
}

@media (max-width: 520px) {
	.prslon-oferta .coef-row {
		grid-template-columns: 1fr;
		gap: 2px;
	}
}

/* ── Реестр СМИ ────────────────────────────────────────────────────── */

.prslon-oferta .media-tier {
	margin: 26px 0;
}

.prslon-oferta .media-tier h3 {
	font-family: 'Apparel', Arial, sans-serif;
	font-size: 17px;
	font-weight: 700;
	margin: 0 0 10px;
	display: flex;
	align-items: baseline;
	gap: 8px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--oferta-border);
}

/* Счётчик рядом с названием группы — сразу видно объём по каждой тематике. */
.prslon-oferta .media-tier .tier-count {
	font-family: 'IBM Plex Sans', Arial, sans-serif;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--oferta-muted);
	font-variant-numeric: tabular-nums;
}

.prslon-oferta .media-tier .tier-desc {
	font-size: 13px;
	color: var(--oferta-muted);
	margin: 0 0 12px;
	line-height: 1.35;
}

/* Фильтр по уровню издания — он же расшифровка меток T1/T2/T3/блог.
   801 издание в одном списке глазами не разобрать, а уровень определяет
   доплату по Прейскуранту: «показать только T1» — первый вопрос к списку. */
.prslon-oferta .media-filter {
	margin: 0 0 22px;
}

.prslon-oferta .media-filter__btns {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.prslon-oferta .media-filter__btn {
	font: inherit;
	font-size: 13px;
	line-height: 1.25;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border: 1px solid var(--oferta-border);
	border-radius: 50px;
	background: var(--oferta-surface);
	color: var(--oferta-text);
	text-align: left;
	cursor: pointer;
}

.prslon-oferta .media-filter__btn:hover {
	border-color: var(--oferta-accent);
}

.prslon-oferta .media-filter__btn.is-active {
	border-color: var(--oferta-accent);
	background: var(--oferta-tint);
}

.prslon-oferta .media-filter__btn .chip-tier {
	margin-left: 0;
}

.prslon-oferta .media-filter__label {
	font-weight: 600;
}

.prslon-oferta .media-filter__desc {
	color: var(--oferta-muted);
}

/* На узком экране от кнопки остаётся метка и счётчик: расшифровка уровня
   занимает три строки и превращает фильтр в стену текста. */
@media (max-width: 700px) {
	.prslon-oferta .media-filter__desc {
		display: none;
	}
}

.prslon-oferta .media-filter__count {
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	color: var(--oferta-muted);
}

.prslon-oferta .media-filter__btn.is-active .media-filter__count {
	color: var(--oferta-accent);
}

.prslon-oferta .media-filter__status {
	font-size: 12.5px;
	color: var(--oferta-muted);
	margin: 10px 0 0;
	min-height: 1.2em;
}

/* [hidden] из preflight перебивается собственным display чипа и группы. */
.prslon-oferta .chip[hidden],
.prslon-oferta .media-tier[hidden] {
	display: none !important;
}

.prslon-oferta .chip-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

/* Метка уровня внутри чипа: тиер определяет цену в FLEX, поэтому он должен
   остаться виден и после перехода группировки с тиеров на тематику. */
.prslon-oferta .chip-tier {
	display: inline-block;
	margin-left: 6px;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.02em;
	padding: 1px 5px;
	border-radius: 4px;
	color: var(--oferta-muted);
	background: var(--oferta-bg);
	border: 1px solid var(--oferta-border);
	vertical-align: 1px;
}

.prslon-oferta .chip-tier.t1 {
	color: var(--oferta-accent);
	border-color: var(--oferta-accent);
	background: var(--oferta-tint);
}

.prslon-oferta .chip {
	display: inline-block;
	padding: 6px 14px;
	background: var(--oferta-surface);
	border: 1px solid var(--oferta-border);
	border-radius: 50px;
	font-size: 14px;
}

.prslon-oferta .oferta-legal {
	border-top: 1px solid var(--oferta-border);
	margin-top: 40px;
	padding-top: 18px;
	font-size: 13px;
	color: var(--oferta-muted);
}

/* ── Печать ────────────────────────────────────────────────────────── */

@media print {
	/* Обвязка сайта в распечатанном договоре только мешает. */
	.prslon-sticky-header,
	.prslon-site-header,
	.prslon-footer,
	.prslon-floating-sidebar,
	.prslon-skip-link,
	#prslon-cookie-consent {
		display: none !important;
	}

	body {
		padding-top: 0 !important;
	}

	.prslon-oferta .toolbar,
	.prslon-oferta nav.toc,
	.prslon-oferta details.toc-mobile {
		display: none !important;
	}

	.prslon-oferta .oferta-grid {
		grid-template-columns: 1fr;
	}

	.prslon-oferta .tabpanel {
		display: block !important;
	}

	.prslon-oferta #panel-pricing,
	.prslon-oferta #panel-media {
		break-before: page;
	}

	.prslon-oferta {
		background: #fff;
		color: #000;
	}

	.prslon-oferta .summary-box,
	.prslon-oferta details.fn .fn-note {
		background: #f5f5f5 !important;
		border-color: #ccc !important;
	}

	.prslon-oferta a {
		color: #000 !important;
		text-decoration: underline;
	}

	.prslon-oferta .table-scroll table {
		min-width: 0;
	}

	/* nowrap нужен для горизонтального скролла на экране — в печати скролла
	   нет, nowrap просто обрезает длинный текст за краем страницы. */
	.prslon-oferta .table-scroll th,
	.prslon-oferta .table-scroll td {
		white-space: normal !important;
	}

	.prslon-oferta .table-scroll tr {
		break-inside: avoid;
	}

	/* FLEX-матрица — 7 колонок; ширина A4 минус поля ≈ 688px, поэтому
	   ужимаем шрифт, поля ячеек и минимальную ширину первой колонки,
	   иначе последняя колонка уходит за край листа. */
	.prslon-oferta table.flex-matrix {
		font-size: 10px;
	}

	.prslon-oferta table.flex-matrix th,
	.prslon-oferta table.flex-matrix td {
		padding: 4px 5px;
	}

	.prslon-oferta table.flex-matrix th[scope='row'] {
		min-width: 0;
		font-size: 10px;
	}

	.prslon-oferta table.flex-matrix thead th {
		font-size: 9px;
	}

	/* Калькулятор интерактивен — в статичном PDF от него толку нет,
	   а место занимает целую страницу. Таблица под ним печатается. */
	.prslon-oferta .calc {
		display: none !important;
	}

	.prslon-oferta .chip {
		border: 1px solid #ccc;
		break-inside: avoid;
	}
}
