/*
 * #419: generic fixed-page body baseline.
 *
 * page.php's .entry__content had no baseline styling for anything beyond
 * h2 (role token from front-typography-roles.css) and blockquote (main.css,
 * global). h3/h4, lists, tables, figures and hr fell back to bare UA
 * defaults. Scoped to .tiptop-page-entry so contact/service (their own
 * templates) and post/archive content are untouched. Standard and story
 * share this baseline — story only differs in section spacing/width
 * (immersive-system.css), not in how body text renders.
 *
 * Minimal token investment on purpose: h3/h4 reuse the existing --tt-text-*
 * scale rather than introducing new named roles, so this doesn't create a
 * second heading-role system ahead of Issue #417's full typography pass.
 */

.tiptop-page-entry .entry__content > *:first-child {
	margin-top: 0;
}

.tiptop-page-entry .entry__content h3,
.tiptop-page-entry .entry__content .wp-block-heading[class*="h3"] {
	margin: var(--tt-space-6) 0 var(--tt-space-3);
	font-family: var(--tiptop-font-heading);
	font-size: var(--tt-text-subheading);
	font-weight: var(--tiptop-font-weight-heading);
	line-height: 1.5;
}

.tiptop-page-entry .entry__content h4 {
	margin: var(--tt-space-5) 0 var(--tt-space-2);
	font-family: var(--tiptop-font-heading);
	font-size: var(--tt-text-body);
	font-weight: var(--tiptop-font-weight-heading);
	line-height: 1.6;
}

.tiptop-page-entry .entry__content ul,
.tiptop-page-entry .entry__content ol {
	margin: 0 0 var(--tt-space-4);
	padding-left: 1.4em;
}

.tiptop-page-entry .entry__content li {
	margin-bottom: var(--tt-space-2);
}

.tiptop-page-entry .entry__content li > ul,
.tiptop-page-entry .entry__content li > ol {
	margin-top: var(--tt-space-2);
	margin-bottom: 0;
}

.tiptop-page-entry .entry__content table,
.tiptop-page-entry .entry__content .wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 var(--tt-space-5);
}

.tiptop-page-entry .entry__content th,
.tiptop-page-entry .entry__content td {
	padding: var(--tt-space-2) var(--tt-space-3);
	border: 1px solid var(--tiptop-border);
	text-align: left;
}

.tiptop-page-entry .entry__content th {
	background: var(--tiptop-surface);
	font-weight: 700;
}

.tiptop-page-entry .entry__content figure,
.tiptop-page-entry .entry__content .wp-block-image {
	margin: var(--tt-space-6) 0;
}

.tiptop-page-entry .entry__content figcaption {
	margin-top: var(--tt-space-2);
	color: var(--tt-color-muted);
	font-size: var(--tt-text-meta);
	line-height: 1.6;
}

.tiptop-page-entry .entry__content hr,
.tiptop-page-entry .entry__content .wp-block-separator {
	margin: var(--tt-space-7) 0;
	border: 0;
	border-top: 1px solid var(--tiptop-border);
}
