/* ==========================================================================
   Eldrion — форматирование контента записей и страниц (.eldrion-prose)
   ========================================================================== */

/* Узкая колонка — только текст записей/страниц, НЕ главная с блоками */
.eldrion-article .eldrion-prose {
	--prose-width: 42rem;
	max-width: var(--prose-width);
	color: var(--eldrion-text);
	font-size: var(--eldrion-text-base, 1.0625rem);
	line-height: var(--eldrion-leading-relaxed, 1.75);
	word-wrap: break-word;
	overflow-wrap: break-word;
}

/* Главная: ширину задаёт .eldrion-container на обёртке */
.eldrion-prose.eldrion-front-page {
	width: 100%;
}

.eldrion-article--wide .eldrion-prose {
	max-width: none;
}

/* --- Заголовки (HTML + Gutenberg) --- */

.eldrion-prose h1,
.eldrion-prose h2,
.eldrion-prose .wp-block-heading h1,
.eldrion-prose .wp-block-heading h2,
.eldrion-prose h2.wp-block-heading {
	font-family: var(--eldrion-font-display);
	font-size: var(--eldrion-text-2xl, clamp(1.375rem, 2.5vw, 1.75rem));
	font-weight: 500;
	line-height: var(--eldrion-leading-snug, 1.35);
	letter-spacing: var(--eldrion-tracking-snug, -0.02em);
	color: var(--eldrion-text);
	margin: 2.25em 0 0.85em;
}

.eldrion-prose h3,
.eldrion-prose .wp-block-heading h3,
.eldrion-prose h3.wp-block-heading {
	font-family: var(--eldrion-font-display);
	font-size: var(--eldrion-text-xl, 1.5rem);
	font-weight: 500;
	line-height: var(--eldrion-leading-snug, 1.35);
	margin: 2em 0 0.75em;
	color: var(--eldrion-text);
}

.eldrion-prose h4,
.eldrion-prose h5,
.eldrion-prose h6,
.eldrion-prose .wp-block-heading h4,
.eldrion-prose .wp-block-heading h5,
.eldrion-prose .wp-block-heading h6 {
	font-family: var(--eldrion-font-sans);
	font-weight: 600;
	line-height: var(--eldrion-leading-snug, 1.35);
	color: var(--eldrion-text);
	margin: 1.75em 0 0.65em;
}

.eldrion-prose h4,
.eldrion-prose .wp-block-heading h4 { font-size: var(--eldrion-text-lg, 1.25rem); }
.eldrion-prose h5 { font-size: var(--eldrion-text-md, 1.125rem); }
.eldrion-prose h6 { font-size: var(--eldrion-text-base, 1.0625rem); color: var(--eldrion-muted); }

/* Подзаголовки вида «Описание статьи:» — абзац только с strong */
.eldrion-prose p:has(> strong:only-child),
.eldrion-prose p:has(> b:only-child) {
	margin-top: 2rem;
	margin-bottom: 0.85rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid var(--eldrion-border);
}

.eldrion-prose p:has(> strong:only-child) strong,
.eldrion-prose p:has(> b:only-child) b {
	font-family: var(--eldrion-font-display);
	font-size: var(--eldrion-text-xl, 1.5rem);
	font-weight: 500;
	letter-spacing: var(--eldrion-tracking-snug, -0.02em);
	color: var(--eldrion-text);
}

/* --- Абзацы --- */

.eldrion-prose p,
.eldrion-prose .wp-block-paragraph {
	margin: 0 0 1.35em;
}

.eldrion-prose p:last-child,
.eldrion-prose .wp-block-paragraph:last-child {
	margin-bottom: 0;
}

.eldrion-prose > *:first-child,
.eldrion-prose > .wp-block-image:first-child,
.eldrion-prose > .wp-block-gallery:first-child {
	margin-top: 0;
}

.eldrion-prose strong,
.eldrion-prose b {
	font-weight: 600;
	color: #e2e8f0;
}

.eldrion-prose em,
.eldrion-prose i {
	font-style: italic;
	color: #cbd5e1;
}

/* Фиолетовые ссылки — только внутри текста записи, не в карточках/кнопках */
.eldrion-article .eldrion-prose p a,
.eldrion-article .eldrion-prose li a,
.eldrion-article .eldrion-prose blockquote a {
	color: var(--eldrion-accent-light);
	text-decoration: underline;
	text-decoration-color: rgba(139, 92, 246, 0.4);
	text-underline-offset: 3px;
}

.eldrion-article .eldrion-prose p a:hover,
.eldrion-article .eldrion-prose li a:hover {
	color: #fff;
}

/* --- Списки --- */

.eldrion-prose ul,
.eldrion-prose ol,
.eldrion-prose .wp-block-list {
	margin: 0 0 1.5em;
	padding: 0;
	list-style: none;
}

.eldrion-prose ul li,
.eldrion-prose ol li,
.eldrion-prose .wp-block-list li {
	position: relative;
	margin: 0 0 0.75em;
	padding-left: 1.75rem;
	line-height: var(--eldrion-leading-relaxed, 1.75);
}

.eldrion-prose ul li::before {
	content: "";
	position: absolute;
	left: 0.35rem;
	top: 0.65em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--eldrion-accent), var(--eldrion-accent-deep, #6d28d9));
}

.eldrion-prose ol {
	counter-reset: eldrion-ol;
}

.eldrion-prose ol li {
	counter-increment: eldrion-ol;
}

.eldrion-prose ol li::before {
	content: counter(eldrion-ol);
	position: absolute;
	left: 0;
	top: 0.1em;
	min-width: 1.35rem;
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--eldrion-accent-alt);
}

/* Вложенные списки */
.eldrion-prose li ul,
.eldrion-prose li ol {
	margin: 0.65em 0 0;
}

/* --- Цитаты, код, разделители --- */

.eldrion-prose blockquote,
.eldrion-prose .wp-block-quote {
	margin: 2em 0;
	padding: 1.35rem 1.5rem 1.35rem 1.25rem;
	border-left: 3px solid var(--eldrion-accent);
	background: rgba(18, 18, 18, 0.9);
	border-radius: 0 var(--eldrion-radius, 14px) var(--eldrion-radius, 14px) 0;
	color: var(--eldrion-muted);
	font-family: var(--eldrion-font-display);
	font-size: var(--eldrion-text-lg, 1.25rem);
	font-style: italic;
	line-height: var(--eldrion-leading-relaxed, 1.75);
}

.eldrion-prose blockquote p:last-child {
	margin-bottom: 0;
}

.eldrion-prose pre,
.eldrion-prose code,
.eldrion-prose .wp-block-code {
	font-family: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, monospace;
	font-size: 0.9em;
}

.eldrion-prose :not(pre) > code {
	padding: 0.15em 0.45em;
	background: rgba(12, 12, 12, 0.95);
	border: 1px solid var(--eldrion-border);
	border-radius: 6px;
	color: #c4b5fd;
}

.eldrion-prose pre,
.eldrion-prose .wp-block-code {
	margin: 1.5em 0;
	padding: 1.25rem 1.35rem;
	background: rgba(8, 12, 20, 0.9);
	border: 1px solid var(--eldrion-border);
	border-radius: var(--eldrion-radius, 14px);
	overflow-x: auto;
	line-height: 1.55;
}

.eldrion-prose hr,
.eldrion-prose .wp-block-separator {
	margin: 2.5em 0;
	border: none;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--eldrion-border), transparent);
}

/* --- Изображения и галереи --- */

.eldrion-prose img {
	max-width: 100%;
	height: auto;
	border-radius: var(--eldrion-radius, 14px);
}

.eldrion-prose figure,
.eldrion-prose .wp-block-image {
	margin: 2em 0;
}

.eldrion-prose figure img,
.eldrion-prose .wp-block-image img {
	display: block;
	border: 1px solid var(--eldrion-border);
	box-shadow: var(--eldrion-shadow-sm, 0 4px 24px rgba(0, 0, 0, 0.2));
}

.eldrion-prose figcaption,
.eldrion-prose .wp-block-image figcaption {
	margin-top: 0.65rem;
	font-size: var(--eldrion-text-sm, 0.875rem);
	color: var(--eldrion-muted);
	text-align: center;
	line-height: var(--eldrion-leading-normal, 1.65);
}

.eldrion-prose .wp-block-gallery,
.eldrion-prose .blocks-gallery-grid,
.eldrion-prose .wp-block-gallery.has-nested-images {
	margin: 0 0 2em;
	gap: 0.75rem !important;
}

.eldrion-prose .wp-block-gallery .wp-block-image,
.eldrion-prose .blocks-gallery-item {
	margin: 0;
}

.eldrion-prose .wp-block-gallery img {
	border-radius: var(--eldrion-radius, 14px);
}

/* Ряд обложек вверху статьи */
.eldrion-prose > .wp-block-gallery:first-child,
.eldrion-prose > figure.wp-block-gallery:first-child {
	margin-bottom: 2.5rem;
}

/* --- Колонки, группы, медиа --- */

.eldrion-prose .wp-block-columns {
	gap: 1.5rem;
	margin-bottom: 1.5em;
}

.eldrion-prose .wp-block-group {
	margin-bottom: 1.5em;
}

.eldrion-prose .wp-block-media-text {
	margin: 2em 0;
	border-radius: var(--eldrion-radius-lg, 22px);
	overflow: hidden;
	border: 1px solid var(--eldrion-border);
}

.eldrion-prose .wp-block-media-text__content {
	padding: 1.5rem 1.75rem;
}

.eldrion-prose .wp-block-embed,
.eldrion-prose .wp-block-video {
	margin: 2em 0;
	border-radius: var(--eldrion-radius, 14px);
	overflow: hidden;
}

.eldrion-prose .wp-block-embed iframe,
.eldrion-prose .wp-block-video video {
	border-radius: var(--eldrion-radius, 14px);
}

/* --- Кнопки в тексте --- */

.eldrion-prose .wp-block-buttons {
	margin: 1.75em 0;
	gap: 0.75rem;
}

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

.eldrion-prose table {
	width: 100%;
	margin: 1.5em 0;
	border-collapse: collapse;
	font-size: 0.9375rem;
}

.eldrion-prose th,
.eldrion-prose td {
	padding: 0.75rem 1rem;
	border: 1px solid var(--eldrion-border);
	text-align: left;
}

.eldrion-prose th {
	background: var(--eldrion-surface);
	font-weight: 600;
}

.eldrion-prose tr:nth-child(even) td {
	background: rgba(24, 24, 24, 0.5);
}

/* --- Размеры Gutenberg preset --- */

.eldrion-prose .has-small-font-size {
	font-size: var(--eldrion-text-sm, 0.875rem) !important;
}

.eldrion-prose .has-medium-font-size {
	font-size: var(--eldrion-text-md, 1.125rem) !important;
	font-weight: 600;
}

.eldrion-prose .has-large-font-size,
.eldrion-prose .has-x-large-font-size {
	font-family: var(--eldrion-font-display) !important;
	font-weight: 500 !important;
	line-height: var(--eldrion-leading-snug, 1.35) !important;
}

/* Список из отдельных абзацев (эмодзи-строки) — компактнее */
.eldrion-prose p + p:not(:has(> strong:only-child)) {
	margin-top: -0.35em;
}
