/**
 * Prose — automatic design-system styling for raw editor content.
 *
 * Applies inside the content wrappers (.entry-content on pages/posts,
 * .ve-service__content on services) to elements that carry no `vk-`
 * class, so hand-built .vk-* sections and components are never touched.
 * Bare editor blocks (wp-block-heading, wp-block-list, wp-block-quote…)
 * are exactly what this targets.
 *
 * Heading signature: a short accent underline stub below h2 — deliberately
 * NOT the vertical tick bar (dropped from titles by request).
 */

/* ---- Headings ---- */
:is(.entry-content, .ve-service__content) h2:not([class*="vk-"]) {
	margin: var(--vk-space-5) 0 var(--vk-space-2);
	color: var(--vk-ink);
	font-size: var(--vk-title-section);
	font-weight: 700;
	line-height: 1.2;
}
:is(.entry-content, .ve-service__content) h2:not([class*="vk-"])::after {
	content: "";
	display: block;
	width: 36px;
	height: 4px;
	margin-top: 10px;
	background: var(--vk-tick, var(--vk-accent));
}
:is(.entry-content, .ve-service__content) h2:not([class*="vk-"]):first-child {
	margin-top: 0;
}

:is(.entry-content, .ve-service__content) h3:not([class*="vk-"]) {
	margin: var(--vk-space-4) 0 var(--vk-space-1);
	color: var(--vk-ink);
	font-size: var(--vk-text-lg);
	font-weight: 700;
	line-height: 1.3;
}

/* Headings inside a dark band stay readable. */
.vk-section--dark :is(h2, h3):not([class*="vk-"]) {
	color: var(--vk-ink-invert);
}

/* ---- Body copy ---- */
/* Direct children only, so hand-built layouts keep their own widths. */
:is(.entry-content, .ve-service__content) > p {
	max-width: 70ch;
	font-size: var(--vk-text-md);
	line-height: 1.7;
}

/* ---- Lists — square accent bullets, like .vk-list ---- */
:is(.entry-content, .ve-service__content) :is(ul.wp-block-list, ul:not([class])) {
	list-style: square;
	padding-left: 1.2em;
	margin: 0 0 var(--vk-space-2);
}
:is(.entry-content, .ve-service__content) :is(ol.wp-block-list, ol:not([class])) {
	padding-left: 1.4em;
	margin: 0 0 var(--vk-space-2);
}
:is(.entry-content, .ve-service__content)
	:is(ul.wp-block-list, ul:not([class]), ol.wp-block-list, ol:not([class])) li {
	margin-bottom: 6px;
	line-height: 1.6;
}
:is(.entry-content, .ve-service__content)
	:is(ul.wp-block-list, ul:not([class]), ol.wp-block-list, ol:not([class])) li::marker {
	color: var(--vk-tick, var(--vk-accent));
	font-weight: 600;
}

/* ---- Quotes — flat panel with an accent edge ---- */
:is(.entry-content, .ve-service__content) :is(blockquote.wp-block-quote, blockquote:not([class])) {
	margin: var(--vk-space-4) 0;
	padding: 20px 24px;
	border: 1px solid var(--vk-border);
	border-left: 4px solid var(--vk-tick, var(--vk-accent));
	background: var(--vk-bg-muted);
	color: var(--vk-ink-soft);
	font-size: var(--vk-text-md);
	font-style: normal;
}
:is(.entry-content, .ve-service__content) blockquote cite {
	display: block;
	margin-top: 10px;
	color: var(--vk-ink-faint);
	font-size: var(--vk-text-xs);
	font-style: normal;
	font-weight: 700;
	letter-spacing: var(--vk-tracking-wider);
	text-transform: uppercase;
}

/* ---- Tables — squared, bordered, uppercase header row ---- */
:is(.entry-content, .ve-service__content) table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 var(--vk-space-3);
}
:is(.entry-content, .ve-service__content) :is(th, td) {
	padding: 10px 14px;
	border: 1px solid var(--vk-border);
	font-size: var(--vk-text-md);
	text-align: left;
}
:is(.entry-content, .ve-service__content) th {
	background: var(--vk-bg-muted);
	color: var(--vk-ink);
	font-size: var(--vk-text-sm);
	font-weight: 700;
	letter-spacing: var(--vk-tracking-wide);
	text-transform: uppercase;
}

/* ---- Separators ---- */
:is(.entry-content, .ve-service__content) hr {
	height: 1px;
	margin: var(--vk-space-5) 0;
	border: 0;
	background: var(--vk-border);
}

/* ---- Inline links (classless only — buttons/cards keep their styles) ---- */
:is(.entry-content, .ve-service__content) p a:not([class]),
:is(.entry-content, .ve-service__content) li a:not([class]) {
	color: var(--vk-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color var(--vk-anim-fast);
}
:is(.entry-content, .ve-service__content) p a:not([class]):hover,
:is(.entry-content, .ve-service__content) li a:not([class]):hover,
:is(.entry-content, .ve-service__content) p a:not([class]):focus-visible,
:is(.entry-content, .ve-service__content) li a:not([class]):focus-visible {
	color: var(--vk-accent-dark);
}
:is(.entry-content, .ve-service__content) a:not([class]):focus-visible {
	outline: 2px solid var(--vk-accent);
	outline-offset: 2px;
}

/* ---- FAQ accordion — core details block, flat squared items ---- */
:is(.entry-content, .ve-service__content) details.wp-block-details {
	margin: 0 0 -1px; /* adjacent items share one hairline border */
	border: 1px solid var(--vk-border);
	background: var(--vk-bg);
}
:is(.entry-content, .ve-service__content) details.wp-block-details summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--vk-space-2);
	padding: 14px 18px;
	color: var(--vk-ink);
	font-size: var(--vk-text-md);
	font-weight: 600;
	list-style: none;
	cursor: pointer;
	transition: color var(--vk-anim-fast);
}
:is(.entry-content, .ve-service__content) details.wp-block-details summary::-webkit-details-marker {
	display: none;
}
:is(.entry-content, .ve-service__content) details.wp-block-details summary::after {
	content: "+";
	flex: 0 0 auto;
	color: var(--vk-tick, var(--vk-accent));
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
}
:is(.entry-content, .ve-service__content) details.wp-block-details[open] summary::after {
	content: "\2212";
}
:is(.entry-content, .ve-service__content) details.wp-block-details summary:hover,
:is(.entry-content, .ve-service__content) details.wp-block-details summary:focus-visible {
	color: var(--vk-accent);
}
:is(.entry-content, .ve-service__content) details.wp-block-details summary:focus-visible {
	outline: 2px solid var(--vk-accent);
	outline-offset: -2px;
}
:is(.entry-content, .ve-service__content) details.wp-block-details > :not(summary) {
	margin: 0 18px 14px;
	color: var(--vk-ink-soft);
	font-size: var(--vk-text-md);
	line-height: 1.7;
}

/* ---- Figures ---- */
:is(.entry-content, .ve-service__content) figcaption {
	margin-top: 8px;
	color: var(--vk-ink-faint);
	font-size: var(--vk-text-sm);
}
