/** Article reading layout. Source: docs/VISUAL-SYSTEM.md. */
.single-post #page { width: min(calc(100% - 2rem), 70rem); margin-inline: auto; }
.single-post #page .site-content { display: block; padding: 0; }
.single-post #primary { width: 100%; }
.single-post #main { margin: 0; padding-block: clamp(1.5rem, 3vw, 3rem); }
.single-post .inside-article { padding: clamp(1rem, 3vw, 2rem); background: transparent; }
.single-post .entry-header { max-width: 58rem; margin-inline: auto; }
.single-post .entry-title { margin: 0; color: var(--xv-color-heading); font-size: clamp(1.875rem, 3.5vw, 3rem); font-weight: var(--xv-font-weight-bold); line-height: 1.15; letter-spacing: -0.025em; overflow-wrap: anywhere; }
.xv-single-categories { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; margin-bottom: 1rem; }
.xv-single-categories a { color: var(--xv-color-brand); font-size: 0.875rem; font-weight: var(--xv-font-weight-semibold); text-decoration: none; overflow-wrap: anywhere; }
.xv-single-categories a:hover { text-decoration: underline; }
.xv-single-standfirst { margin: 1.25rem 0 0; font-size: clamp(1.125rem, 1.8vw, 1.375rem); line-height: 1.55; text-wrap: pretty; }
.xv-single-meta { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; margin-block: 1.5rem; color: var(--xv-color-muted); font-size: 0.875rem; }
.xv-single-image { margin: 2rem 0; }
.xv-single-image img { display: block; width: 100%; height: auto; }
.xv-single-image figcaption { margin-top: 0.75rem; color: var(--xv-color-muted); font-size: 0.8125rem; }
.single-post .entry-content { width: 100%; max-width: none; margin: 2rem 0 0; font-size: clamp(1.0625rem, 1.3vw, 1.1875rem); line-height: 1.75; overflow-wrap: anywhere; }
.single-post .entry-content > * { max-width: 100%; }
.single-post .entry-content p { margin-bottom: 1.5em; text-wrap: pretty; }
.single-post .entry-content h2 { margin-top: 2em; font-size: clamp(1.5rem, 2.4vw, 2rem); }
.single-post .entry-content h3 { margin-top: 1.75em; font-size: clamp(1.25rem, 2vw, 1.5rem); }
.single-post .entry-content h4 { margin-top: 1.5em; font-size: clamp(1.125rem, 1.7vw, 1.25rem); }
.single-post .entry-content h5 { margin-top: 1.5em; font-size: clamp(1.0625rem, 1.5vw, 1.125rem); }
.single-post .entry-content h6 { margin-top: 1.5em; font-size: clamp(1rem, 1.3vw, 1.0625rem); }
.single-post .entry-content a { color: var(--xv-color-link); text-decoration: underline; }
.single-post .entry-content a:hover { color: var(--xv-color-brand-strong); }
.single-post .entry-content blockquote { margin-inline: 0; padding: 0.5rem 1.25rem; border-left: 3px solid var(--xv-color-brand); color: var(--xv-color-structure-text); background: var(--xv-blue-050); }
.single-post .entry-content pre,
.single-post .entry-content .wp-block-table { overflow-x: auto; }
.single-post .entry-content iframe { max-width: 100%; }
.single-post .entry-content figcaption { color: var(--xv-color-muted); font-size: 0.875rem; }
.single-post .entry-content .alignleft,
.single-post .entry-content .alignright { float: none; margin-inline: 0; }
.single-post .page-links { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-block: 2rem; }
.single-post .comments-area { padding: clamp(1rem, 3vw, 2rem); background: var(--xv-color-surface); overflow-wrap: anywhere; }
@media (min-width: 48rem) {
	.single-post #page { width: min(calc(100% - 4rem), 70rem); }
}
