/* ==========================================================================
   Типографика текстовых страниц и записей (page.php, single.php, проекты).
   Используются переменные темы, поэтому светлая/тёмная тема работают сами.
   ========================================================================== */

/* ---------- Заголовок страницы ---------- */
.plinth-page-title{
	margin:0;
	font-weight:600;
	line-height:1.02;
	letter-spacing:-.035em;
	color:var(--color-title-1);
	/* --lw — длина самого длинного слова: размер подбирается так, чтобы слово не вылезало за экран */
	font-size:clamp(34px,min(9vw,calc(86vw / (var(--lw,10) * .6))),104px);
	overflow-wrap:break-word;
	hyphens:manual;
}

/* ---------- Базовый текст ---------- */
.plinth-prose{
	--p-text:color-mix(in oklab,var(--color-content-base) 84%,transparent);
	--p-muted:color-mix(in oklab,var(--color-content-base) 58%,transparent);
	--p-line:var(--color-line-3);
	--p-soft:var(--color-card-2);
	--p-accent:#ffd60a;
	max-width:44rem;
	font-family:"Onest","General Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
	font-size:clamp(17px,1.05vw + 12px,20px);
	line-height:1.72;
	font-weight:400;
	letter-spacing:0;
	color:var(--p-text);
	overflow-wrap:break-word;
	-webkit-font-smoothing:antialiased;
}
.plinth-content{font-family:"Onest","General Sans",system-ui,sans-serif}

.plinth-content>*{margin:0}
.plinth-content>*+*{margin-top:1.35em}
.plinth-content>:first-child{margin-top:0}

.plinth-content p{margin:0;font-size:inherit;line-height:inherit;color:inherit}
.plinth-content :is(li,td,th,dd,dt,blockquote,figcaption)>p{font-size:inherit;color:inherit}
.plinth-content strong,.plinth-content b{font-weight:650;color:var(--color-title-1)}
.plinth-content em,.plinth-content i{font-style:italic}
.plinth-content small{font-size:.85em;color:var(--p-muted,inherit)}
.plinth-content mark{padding:.05em .25em;border-radius:.25em;background:rgba(255,214,10,.45);color:inherit}
.plinth-content sub,.plinth-content sup{font-size:.7em;line-height:0}

/* ---------- Заголовки ---------- */
.plinth-content h1,
.plinth-content h2,
.plinth-content h3,
.plinth-content h4,
.plinth-content h5,
.plinth-content h6{
	margin:0;
	color:var(--color-title-1);
	font-weight:650;
	line-height:1.18;
	letter-spacing:-.025em;
	scroll-margin-top:110px;
}
.plinth-content h1{font-size:2.1em;letter-spacing:-.035em}
.plinth-content h2{font-size:1.75em;letter-spacing:-.03em;line-height:1.14}
.plinth-content h3{font-size:1.38em}
.plinth-content h4{font-size:1.15em;letter-spacing:-.015em}
.plinth-content h5{font-size:1em;letter-spacing:0}
.plinth-content h6{font-size:.82em;letter-spacing:.06em;text-transform:uppercase;color:var(--p-muted,inherit)}

/* Больше воздуха перед заголовком, чем после него: текст визуально группируется */
.plinth-content *+h1,
.plinth-content *+h2{margin-top:2.2em}
.plinth-content *+h3{margin-top:1.9em}
.plinth-content *+h4,
.plinth-content *+h5,
.plinth-content *+h6{margin-top:1.6em}
.plinth-content h1+*,
.plinth-content h2+*{margin-top:.8em}
.plinth-content h3+*,
.plinth-content h4+*,
.plinth-content h5+*,
.plinth-content h6+*{margin-top:.6em}

/* ---------- Ссылки ---------- */
.plinth-content a:not(.wp-block-button__link):not(.btn){
	color:var(--color-title-1);
	font-weight:500;
	text-decoration:underline;
	text-decoration-color:var(--p-accent,#ffd60a);
	text-decoration-thickness:.12em;
	text-underline-offset:.22em;
	transition:background-color .2s,text-decoration-color .2s;
}
.plinth-content a:not(.wp-block-button__link):not(.btn):hover{
	background:rgba(255,214,10,.35);
	text-decoration-color:transparent;
}

/* ---------- Списки ---------- */
.plinth-content ul,
.plinth-content ol{
	margin-left:0;
	padding-left:0;
	list-style:none;
}
.plinth-content ul>li,
.plinth-content ol>li{
	position:relative;
	margin:0;
	padding-left:2em;
}
.plinth-content li+li{margin-top:.55em}
.plinth-content li>p{margin:0}
.plinth-content li>p+p{margin-top:.7em}

/* вложенные списки */
.plinth-content li>ul,
.plinth-content li>ol{margin-top:.55em}

/* маркеры: жёлтая точка */
.plinth-content ul>li::before{
	content:"";
	position:absolute;
	left:.5em;
	top:.72em;
	width:.42em;
	height:.42em;
	border-radius:50%;
	background:var(--p-accent,#ffd60a);
	box-shadow:0 0 0 .14em color-mix(in oklab,#ffd60a 25%,transparent);
}
.plinth-content ul ul>li::before{
	background:transparent;
	box-shadow:none;
	border:.12em solid var(--p-muted,currentColor);
	width:.4em;height:.4em;
}

/* нумерация: аккуратный кружок с цифрой */
.plinth-content ol{counter-reset:plinth-ol}
.plinth-content ol>li{counter-increment:plinth-ol;padding-left:2.6em}
.plinth-content ol>li::before{
	content:counter(plinth-ol);
	position:absolute;
	left:0;
	top:.18em;
	display:grid;
	place-items:center;
	width:1.7em;
	height:1.7em;
	border-radius:50%;
	background:var(--color-title-1);
	color:var(--color-section-1,#fff);
	font-size:.78em;
	font-weight:650;
	line-height:1;
	font-variant-numeric:tabular-nums;
}
.plinth-content ol ol{counter-reset:plinth-ol}
.plinth-content ol ol>li::before{
	background:transparent;
	color:var(--color-title-1);
	box-shadow:inset 0 0 0 .1em var(--p-muted,currentColor);
}
.plinth-content ol[reversed]>li{counter-increment:plinth-ol -1}

/* списки определений */
.plinth-content dl{margin:0}
.plinth-content dt{font-weight:650;color:var(--color-title-1)}
.plinth-content dd{margin:.25em 0 1em;padding-left:1.2em;border-left:2px solid var(--p-line,currentColor)}

/* ---------- Цитаты ---------- */
.plinth-content blockquote p{color:inherit}
.plinth-content blockquote{
	margin-left:0;
	margin-right:0;
	padding:.2em 0 .2em 1.4em;
	border-left:3px solid var(--p-accent,#ffd60a);
	font-size:1.12em;
	line-height:1.55;
	font-weight:500;
	color:var(--color-title-1);
}
.plinth-content blockquote p+p{margin-top:.8em}
.plinth-content blockquote cite,
.plinth-content blockquote footer{
	display:block;
	margin-top:.8em;
	font-size:.8em;
	font-style:normal;
	font-weight:400;
	color:var(--p-muted,inherit);
}

/* ---------- Разделитель ---------- */
.plinth-content hr{
	height:1px;
	margin:2.8em 0;
	border:0;
	background:var(--p-line,currentColor);
}

/* ---------- Изображения, видео, подписи ---------- */
.plinth-content img,
.plinth-content video,
.plinth-content iframe,
.plinth-content embed{max-width:100%;height:auto;border-radius:18px}
.plinth-content iframe{width:100%;aspect-ratio:16/9;height:auto;border:0}
.plinth-content figure{margin-left:0;margin-right:0}
.plinth-content figure img{display:block;width:100%}
.plinth-content figcaption,
.plinth-content .wp-caption-text{
	margin-top:.8em;
	font-size:.8em;
	line-height:1.5;
	text-align:center;
	color:var(--p-muted,inherit);
}
.plinth-content .wp-caption{max-width:100%}
.plinth-content .aligncenter{display:block;margin-left:auto;margin-right:auto}
.plinth-content .alignleft{float:left;margin:.3em 1.5em 1em 0;max-width:50%}
.plinth-content .alignright{float:right;margin:.3em 0 1em 1.5em;max-width:50%}
.plinth-content::after{content:"";display:table;clear:both}
@media (max-width:640px){
	.plinth-content .alignleft,.plinth-content .alignright{float:none;margin:0 auto 1em;max-width:100%}
}

/* ---------- Код ---------- */
.plinth-content code,
.plinth-content kbd,
.plinth-content samp{
	padding:.15em .4em;
	border-radius:6px;
	background:var(--p-soft,rgba(128,128,128,.12));
	box-shadow:inset 0 0 0 1px var(--p-line,transparent);
	font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
	font-size:.86em;
	color:var(--color-title-1);
	word-break:break-word;
}
.plinth-content pre{
	padding:1.1em 1.3em;
	border-radius:16px;
	background:var(--p-soft,rgba(128,128,128,.12));
	box-shadow:inset 0 0 0 1px var(--p-line,transparent);
	overflow-x:auto;
	font-size:.86em;
	line-height:1.6;
	tab-size:2;
}
.plinth-content pre code{padding:0;background:none;box-shadow:none;font-size:1em;word-break:normal}

/* ---------- Таблицы ---------- */
.plinth-content table{
	display:block;
	width:100%;
	overflow-x:auto;
	border-collapse:collapse;
	font-size:.92em;
	line-height:1.5;
}
.plinth-content th,
.plinth-content td{
	padding:.8em 1em;
	border-bottom:1px solid var(--p-line,currentColor);
	text-align:left;
	vertical-align:top;
}
.plinth-content th{
	font-size:.82em;
	font-weight:650;
	letter-spacing:.04em;
	text-transform:uppercase;
	color:var(--color-title-1);
	border-bottom-width:2px;
	white-space:nowrap;
}
.plinth-content tbody tr:hover{background:var(--p-soft,transparent)}

/* ---------- Кнопки блоков и формы внутри текста ---------- */
.plinth-content .wp-block-button__link{
	display:inline-block;
	padding:.8em 1.6em;
	border-radius:999px;
	background:var(--color-title-1);
	color:var(--color-section-1,#fff);
	font-weight:600;
	text-decoration:none;
}
.plinth-content .wp-block-button__link:hover{opacity:.85}
.plinth-content input[type=text],
.plinth-content input[type=email],
.plinth-content input[type=url],
.plinth-content input[type=search],
.plinth-content textarea,
.plinth-content select{
	width:100%;
	padding:.8em 1em;
	border:1px solid var(--color-line-2);
	border-radius:12px;
	background:transparent;
	color:inherit;
	font:inherit;
}

/* ---------- Постраничная навигация (<!--nextpage-->) ---------- */
.post-page-numbers,
.page-links a{
	display:inline-grid;place-items:center;min-width:2.2em;height:2.2em;margin-right:.4em;
	border:1px solid var(--color-line-2);border-radius:999px;font-size:15px;
}
.page-links{margin-top:2.5em;font-size:15px;color:var(--color-content-1)}

/* ---------- Страницы-документы (политика конфиденциальности и т.п.) ----------
   Нумерованный заголовок раздела и компактный верхний блок */
.plinth-content>h2:first-child{margin-top:0}

/* ---------- Мобильные ---------- */
@media (max-width:640px){
	.plinth-prose{line-height:1.68}
	.plinth-content h2{font-size:1.55em}
	.plinth-content h3{font-size:1.28em}
	.plinth-content blockquote{padding-left:1.1em}
}

/* ---------- Печать ---------- */
@media print{
	.plinth-content a{text-decoration:underline;color:#000}
	.plinth-content ul>li::before,.plinth-content ol>li::before{display:none}
	.plinth-content ul>li,.plinth-content ol>li{padding-left:1.2em;list-style:disc}
}

.plinth-content :is(th,td):first-child{padding-left:0}
.plinth-content :is(th,td):last-child{padding-right:0}

/* Вставка из Google Docs / Word / ChatGPT приносит инлайновые шрифты и размеры — приводим к единому виду */
.plinth-content :is(p,li,span,strong,em,b,i,a,div,td,th)[style]{font-family:inherit !important;font-size:inherit !important;line-height:inherit !important;letter-spacing:inherit !important;color:inherit !important}
.plinth-content :is(h1,h2,h3,h4,h5,h6)[style]{font-family:inherit !important;color:var(--color-title-1) !important}
.plinth-content :is(p,li,td,th,dd,dt){font-family:inherit}
