/**
 * Страница одной статьи блога (page-blog-post.php).
 *
 * Прежде статьи открывались попапом Tilda поверх ленты и своих стилей не имели.
 * Здесь колонка текста ограничена по ширине — длинную строку тяжело читать,
 * — а разметка внутри статьи (заголовки, списки, картинки, цитаты) приведена
 * к виду остальных страниц сайта.
 */

.wsn-blog-post-page { background: #fff; }

.wsn-post__wrap {
	box-sizing: border-box;
	max-width: 860px;
	margin: 0 auto;
	padding: 40px 20px 70px;
	font-family: 'Montserrat', Arial, sans-serif;
	color: #222937;
}

/* ---------- шапка статьи ---------- */

.wsn-post__crumbs {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 22px;
	font-size: 13px;
	color: #8c8c8c;
}

.wsn-post__crumbs a { color: #1084d1; text-decoration: none; }
.wsn-post__crumbs a:hover { text-decoration: underline; }

.wsn-post__title {
	margin: 0;
	font-size: 38px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -.5px;
}

.wsn-post__lead {
	margin: 16px 0 0;
	font-size: 18px;
	line-height: 1.5;
	color: #555c68;
}

/* дата — под текстом статьи (с 25.09.2026), отступ как у текста от заголовка */
.wsn-post__date {
	margin-top: 30px;
	font-size: 13px;
	color: #8c8c8c;
}

/* ---------- текст статьи ----------
   Разметка пришла из редактора Tilda: абзацы, заголовки, списки и figure с
   картинками. Своих классов у неё нет, поэтому правим по тегам внутри тела. */

.wsn-post__body {
	margin-top: 30px;
	font-size: 16px;
	line-height: 1.65;
}

.wsn-post__body > *:first-child { margin-top: 0; }

.wsn-post__body p { margin: 0 0 18px; }

.wsn-post__body h2,
.wsn-post__body h3,
.wsn-post__body h4 {
	margin: 34px 0 14px;
	font-weight: 600;
	line-height: 1.25;
}

.wsn-post__body h2 { font-size: 26px; }
.wsn-post__body h3 { font-size: 21px; }
.wsn-post__body h4 { font-size: 18px; }

.wsn-post__body ul,
.wsn-post__body ol { margin: 0 0 18px; padding-left: 22px; }
.wsn-post__body li { margin-bottom: 8px; }

.wsn-post__body a { color: #1084d1; }

.wsn-post__body strong,
.wsn-post__body b { font-weight: 600; }

/* картинки: во всю ширину колонки, со скруглением, подпись под ними */
.wsn-post__body figure { margin: 26px 0; }

.wsn-post__body img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 10px;
}

.wsn-post__body figcaption {
	margin-top: 10px;
	font-size: 13px;
	color: #8c8c8c;
	text-align: center;
}

.wsn-post__body blockquote {
	margin: 26px 0;
	padding: 16px 20px;
	border-left: 3px solid #1084d1;
	background: #f4f7fa;
	font-size: 16px;
}

/* видео из статьи вписываем в колонку */
.wsn-post__body iframe { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; }

/* ---------- остальная разметка, которую умеет редактор статей ----------

   Заголовок первого уровня внутри текста, черта, код, таблицы и заливка ячеек
   раньше были описаны только в админском файле — из-за этого статья в редакторе
   и на сайте выглядела по-разному. Теперь источник один: этот файл подставляется
   и на страницу статьи, и внутрь окна редактора. */

.wsn-post__body h1 {
	margin: 34px 0 14px;
	font-size: 30px;
	font-weight: 600;
	line-height: 1.25;
}

.wsn-post__body hr {
	margin: 34px 0;
	border: none;
	border-top: 1px solid #e8ebf0;
}

.wsn-post__body pre {
	margin: 0 0 18px;
	padding: 14px 16px;
	overflow-x: auto;
	background: #f4f7fa;
	border-radius: 10px;
}

.wsn-post__body code {
	font-family: Consolas, "Courier New", monospace;
	font-size: 14px;
}

/* маркеры и номера — фирменным синим, кружки чуть крупнее текста */
.wsn-post__body li::marker { color: #1084d1; }
.wsn-post__body ul > li::marker { font-size: 1.3em; }
.wsn-post__body ol > li::marker { font-weight: 600; }

/* ---------- таблицы ---------- */

.wsn-post__body table {
	width: 100%;
	margin: 0 0 22px;
	border-collapse: collapse;
	background: #fff;
	font-size: 15px;
}

.wsn-post__body th,
.wsn-post__body td {
	padding: 10px 12px;
	border: 1px solid #e8ebf0;
	text-align: left;
	vertical-align: top;
}

/* шапка таблицы: тёмная полоса с синей чертой снизу */
.wsn-post__body th {
	background: #222937;
	color: #fff;
	font-weight: 600;
	border-color: #222937;
	border-bottom: 2px solid #1084d1;
}

/* зебра обходит крашеные ячейки, иначе перебивала бы их заливку в чётных строках */
.wsn-post__body tbody tr:nth-child(even) > td:not([class*="wsn-cell-"]) { background: #f6f8fb; }

/* Заливка ячейки выбирается в редакторе: «Таблица» → «Ячейка» → «Цвет ячейки».
   Цвета те же, что в палитре текста, поэтому на тёмных заливках пишем белым. */
.wsn-post__body td[class*="wsn-cell-"],
.wsn-post__body th[class*="wsn-cell-"] { color: #fff; }
.wsn-post__body td[class*="wsn-cell-"] strong,
.wsn-post__body th[class*="wsn-cell-"] strong { color: #fff; }
.wsn-post__body td[class*="wsn-cell-"] a,
.wsn-post__body th[class*="wsn-cell-"] a { color: #fff; text-decoration: underline; }

.wsn-post__body td.wsn-cell-green,  .wsn-post__body th.wsn-cell-green  { background: #008a17; border-color: #008a17; }
.wsn-post__body td.wsn-cell-blue,   .wsn-post__body th.wsn-cell-blue   { background: #1084d1; border-color: #1084d1; }
.wsn-post__body td.wsn-cell-red,    .wsn-post__body th.wsn-cell-red    { background: #a60000; border-color: #a60000; }
.wsn-post__body td.wsn-cell-violet, .wsn-post__body th.wsn-cell-violet { background: #5d007e; border-color: #5d007e; }
.wsn-post__body td.wsn-cell-dark,   .wsn-post__body th.wsn-cell-dark   { background: #222937; border-color: #222937; }

/* светло-серый — единственный светлый, текст на нём остаётся тёмным */
.wsn-post__body td.wsn-cell-gray,   .wsn-post__body th.wsn-cell-gray   { background: #edf1f6; color: #222937; }
.wsn-post__body td.wsn-cell-gray strong, .wsn-post__body th.wsn-cell-gray strong { color: #222937; }
.wsn-post__body td.wsn-cell-gray a, .wsn-post__body th.wsn-cell-gray a { color: #1084d1; text-decoration: none; }

/* редактор кладёт картинку внутрь абзаца — отступы держим на ней, а не на абзаце */
.wsn-post__body p > img { margin: 26px 0; }

/* ---------- низ статьи ---------- */

.wsn-post__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 40px;
	padding-top: 24px;
	border-top: 1px solid #e8ebf0;
}

.wsn-post__back { color: #1084d1; font-size: 15px; text-decoration: none; }
.wsn-post__back:hover { text-decoration: underline; }

.wsn-post__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 44px;
	padding: 0 30px;
	border-radius: 100px;
	background: #3d93ff;
	color: #fff !important;
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	transition: background-color .15s ease-in-out;
}

.wsn-post__btn:hover { background: #1084d1; }

@media (max-width: 600px) {
	.wsn-post__wrap { padding: 26px 16px 50px; }
	.wsn-post__title { font-size: 26px; }
	.wsn-post__lead { font-size: 16px; }
	.wsn-post__body { font-size: 15px; }
	.wsn-post__body h2 { font-size: 22px; }
	.wsn-post__body h3 { font-size: 18px; }

	/* кнопка и ссылка в столбик — в строку на узком экране они не помещаются */
	.wsn-post__foot { flex-direction: column; align-items: stretch; text-align: center; }
}
