
.text-page {
	width: min(100%, 800px);
	margin-inline: auto;
	padding: 3rem 0 0;
}

.text-page__body {
	color: var(--routeon-muted);
	font-size: var(--routeon-p3);
	line-height: var(--routeon-lh-text);
	overflow-wrap: break-word;
}

.text-page__body > :first-child {
	margin-top: 0;
}

.text-page__body > :last-child {
	margin-bottom: 0;
}

.text-page__body p {
	margin: 0 0 1.5rem;
}

.text-page__body h1 {
	margin: 4rem 0 1.25rem;
	color: var(--routeon-text);
	font-family: var(--routeon-font-display);
	font-size: var(--routeon-h3);
	font-weight: 500;
	line-height: var(--routeon-lh-h);
}

.text-page__body h2,
.text-page__body h3,
.text-page__body h4,
.text-page__body h5,
.text-page__body h6 {
	color: var(--routeon-text);
	font-family: var(--routeon-font-body);
	font-weight: 700;
	line-height: var(--routeon-lh-h-small);
}

.text-page__body h2 {
	margin: 3rem 0 1rem;
	font-size: var(--routeon-h4);
}

.text-page__body h3 {
	margin: 2.5rem 0 0.75rem;
	font-size: var(--routeon-p1);
}

.text-page__body h4,
.text-page__body h5,
.text-page__body h6 {
	margin: 2rem 0 0.75rem;
	font-size: var(--routeon-h5);
}

.text-page__body :is(h1, h2, h3, h4, h5, h6) strong {
	font-weight: inherit;
}

.text-page__body strong,
.text-page__body b {
	color: var(--routeon-text);
	font-weight: 700;
}

.text-page__body ul,
.text-page__body ol {
	margin: 0 0 1.5rem;
	padding-left: 1.5rem;
	list-style: disc outside;
}

.text-page__body ol {
	list-style: decimal outside;
}

.text-page__body li + li {
	margin-top: 0.5rem;
}

.text-page__body li::marker {
	color: var(--routeon-blue);
}

.text-page__body a {
	color: var(--routeon-blue);
	text-decoration: underline;
	text-underline-offset: 0.2em;
	overflow-wrap: anywhere;
}

.text-page__body a:hover {
	color: var(--routeon-blue-deep);
}

.text-page__body .wp-block-table {
	margin: 0 0 1.5rem;
	overflow-x: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--routeon-black-20) transparent;
}

.text-page__body .wp-block-table > table {
	min-width: 36rem;
}

.text-page__body > table {
	display: block;
	margin: 0 0 1.5rem;
	overflow-x: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--routeon-black-20) transparent;
}

.text-page__body .wp-block-table > table,
.text-page__body > table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--routeon-p4);
}

.text-page__body .wp-block-table :is(th, td),
.text-page__body > table :is(th, td) {
	padding: 0.75rem 1rem;
	border: 1px solid var(--routeon-black-10);
	text-align: left;
	vertical-align: top;
}

.text-page__body .wp-block-table thead,
.text-page__body > table thead {
	border-bottom: 0;
}

.text-page__body .wp-block-table th,
.text-page__body > table th {
	background: var(--routeon-blue-10);
	color: var(--routeon-text);
	font-weight: 700;
}

.text-page__body [data-table-scroll]:focus-visible {
	outline: 2px solid var(--routeon-blue);
	outline-offset: 2px;
}

@media (max-width: 991px) {
	.text-page {
		padding: 2rem 0 0;
	}

	.text-page__body h1 {
		margin-top: 3rem;
		font-size: 2.25rem;
	}

	.text-page__body h2 {
		margin-top: 2.5rem;
	}

	.text-page__body h3 {
		margin-top: 2rem;
	}

	.text-page__body h4,
	.text-page__body h5,
	.text-page__body h6 {
		font-size: var(--routeon-p3);
	}

	.text-page__body .wp-block-table :is(th, td),
	.text-page__body > table :is(th, td) {
		padding: 0.625rem 0.75rem;
	}
}
