/* Stories and pages: header, restored content, post navigation, comments. Singular views only. */

/* ---------- Story header ---------- */
.story .entry-header { padding-block: clamp(2.75rem, 6vw, 4.5rem) clamp(1.75rem, 3vw, 2.5rem); text-align: center; }
.entry-title { margin: 0 auto var(--space-lg); max-width: 22ch; font-size: clamp(2.125rem, 1.4rem + 2.6vw, 3.25rem); font-weight: 500; line-height: 1.1; letter-spacing: -.01em; }
.entry-meta {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--space-xs) var(--space-lg);
	padding-top: var(--space-lg); border-top: 1px solid var(--color-border); color: var(--color-muted); font-size: var(--text-sm);
}
.entry-meta > span { display: inline-flex; align-items: center; gap: .45rem; }
.entry-meta a { color: var(--color-heading); text-decoration: none; }
.entry-meta a:hover { color: var(--color-primary); text-decoration: underline; }
.byline .avatar { width: 2rem; height: 2rem; border-radius: 50%; object-fit: cover; }

/* ---------- Restored content ---------- */
.entry-content { font-size: var(--text-lg); line-height: 1.75; overflow-wrap: break-word; }
.entry-content::after { content: ""; display: table; clear: both; }
.entry-content > * { margin-top: 0; }
.entry-content p, .entry-content ul, .entry-content ol, .entry-content dl, .entry-content table, .entry-content pre, .entry-content address { margin-bottom: 1.4em; }
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 { margin: 1.8em 0 .6em; clear: both; }
.entry-content h1 { font-size: var(--h2); }
.entry-content h2 { font-size: var(--h3); }
.entry-content h3 { font-size: var(--h4); }
.entry-content h4, .entry-content h5, .entry-content h6 { font-size: var(--text-lg); font-weight: 600; }
.entry-content a { color: var(--color-link); text-decoration: underline; }
.entry-content a:hover { color: var(--color-primary-hover); text-decoration-thickness: 2px; }
.entry-content li { margin-bottom: .35em; }
.entry-content li > ul, .entry-content li > ol { margin-bottom: 0; }
.entry-content dt { font-weight: 700; }
.entry-content dd { margin: 0 0 1em 1.5em; }
.entry-content hr { height: 1px; margin: 2.5em auto; border: 0; background: var(--color-border); }
.entry-content blockquote {
	margin: 1.8em 0; padding: .2em 0 .2em 1.5em; border-left: 3px solid var(--color-primary);
	color: var(--color-heading); font: italic 400 1.375rem/1.55 var(--font-heading);
}
.entry-content blockquote p:last-child { margin-bottom: 0; }
.entry-content blockquote cite { display: block; margin-top: .6em; color: var(--color-muted); font: 700 var(--text-xs)/1.4 var(--font-body); letter-spacing: var(--tracking-caps); text-transform: uppercase; }
.entry-content pre { overflow: auto; padding: 1.25em; background: var(--color-sage); font: .9375rem/1.6 ui-monospace, Consolas, "Courier New", monospace; }
.entry-content code, .entry-content kbd { font: .9em ui-monospace, Consolas, "Courier New", monospace; }
.entry-content address { padding: 1em 1.25em; background: var(--color-sage); font-style: normal; }
.entry-content mark, .entry-content ins { background: #fbeec2; text-decoration: none; }
.entry-content abbr[title] { text-decoration: underline dotted; cursor: help; }
.entry-content sup, .entry-content sub { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
.entry-content sup { top: -.5em; }
.entry-content sub { bottom: -.25em; }
.entry-content table { width: 100%; border-collapse: collapse; font-size: 1rem; }
.entry-content th, .entry-content td { padding: .6em .8em; border-bottom: 1px solid var(--color-border); text-align: left; }
.entry-content th { color: var(--color-heading); }
.entry-content .table-scroll, .entry-content .wp-block-table { overflow-x: auto; }

.entry-content img { max-width: 100%; height: auto; }
.entry-content img.wp-smiley { display: inline; margin: 0; border: 0; }
.alignleft { float: left; margin: .35em 1.5em 1em 0; }
.alignright { float: right; margin: .35em 0 1em 1.5em; }
.aligncenter { display: block; clear: both; margin-inline: auto; }
.entry-content figure { margin: 0 0 1.6em; }
.wp-caption { max-width: 100%; margin-bottom: 1.6em; }
.wp-caption img[class*="wp-image-"] { display: block; margin-inline: auto; }
.wp-caption-text, .wp-element-caption, .entry-content figcaption {
	margin: .7em 0 0; color: var(--color-muted); font-size: var(--text-sm); line-height: 1.5; text-align: center;
}
embed, iframe, object, video { max-width: 100%; }
.jetpack-video-wrapper, .embed-youtube, .wp-block-embed { margin: 0 0 1.6em; }
.embed-youtube iframe, iframe.youtube-player, .wp-block-embed iframe[src*="youtube"] { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; margin-inline: auto; }
.wp-block-image { margin: 0 0 1.6em; }
.wp-block-image img { display: block; }
.wp-block-image .aligncenter, .wp-block-image.aligncenter { display: table; margin-inline: auto; }
.wp-block-image .aligncenter > figcaption { display: table-caption; caption-side: bottom; }
.wp-block-image .alignleft { float: left; margin: .35em 1.5em 1em 0; }
.wp-block-image .alignright { float: right; margin: .35em 0 1em 1.5em; }
.wp-block-quote { border-left: 3px solid var(--color-primary); }
.has-text-align-center { text-align: center; }
/* Jetpack tiled gallery, as rendered by WordPress.com */
.tiled-gallery__gallery { display: flex; flex-direction: column; margin: 0 0 1.6em; }
.tiled-gallery__row { display: flex; gap: 4px; margin-top: 4px; }
.tiled-gallery__row:first-child { margin-top: 0; }
.tiled-gallery__col { display: flex; flex-direction: column; gap: 4px; }
.tiled-gallery__item { margin: 0; overflow: hidden; }
.tiled-gallery__item img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wp-block-jetpack-tiled-gallery { margin: 0 0 1.6em; }
/* Credit for a stand-in photo where the original image no longer exists */
.restoration-credit { font-size: var(--text-xs); font-style: italic; }
.wp-caption .restoration-credit { margin-top: -.3em; }
.restoration-credit a { color: var(--color-muted); }
/* Twitter embeds are shown as their fallback quotation; no third-party script is loaded */
.entry-content blockquote.twitter-tweet {
	padding: 1.1em 1.25em; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface);
	font: 400 1rem/1.6 var(--font-body); font-style: normal;
}
.page-links { clear: both; margin: 0 0 1.6em; font-weight: 700; }

@media (max-width: 600px) {
	.entry-content { font-size: var(--text-base); }
	.alignleft, .alignright, .wp-block-image .alignleft, .wp-block-image .alignright { float: none; margin: 0 auto 1.4em; }
	.tiled-gallery__row { flex-wrap: wrap; }
}

/* ---------- Story footer ---------- */
.entry-footer { display: grid; gap: var(--space-md); margin: var(--space-2xl) 0 0; padding-top: var(--space-lg); border-top: 1px solid var(--color-border); }
.entry-terms { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs) var(--space-md); }
.entry-terms .eyebrow { margin: 0; color: var(--color-muted); }

/* ---------- Previous / next ---------- */
.post-navigation { margin-top: var(--space-2xl); padding-block: var(--space-lg); border-block: 1px solid var(--color-border); background: var(--color-surface); }
.post-navigation-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-lg) var(--space-2xl); }
.post-navigation a { display: flex; align-items: center; gap: var(--space-md); min-width: 0; color: var(--color-heading); text-decoration: none; }
.post-navigation .nav-next { flex-direction: row-reverse; text-align: right; }
.nav-thumb { flex: 0 0 4.5rem; width: 4.5rem; height: 4.5rem; overflow: hidden; border-radius: var(--radius-sm); background: var(--color-sage); }
.nav-thumb img, .nav-thumb .story-image-placeholder { display: block; width: 100%; height: 100%; object-fit: cover; }
.nav-thumb .icon { width: 1.5rem; }
.nav-text { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.nav-text .eyebrow { display: inline-flex; align-items: center; gap: .35rem; margin: 0; color: var(--color-muted); font-size: var(--text-2xs); }
.nav-next .nav-text .eyebrow { justify-content: flex-end; }
.nav-title { font: 500 1.125rem/1.3 var(--font-heading); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.post-navigation a:hover .nav-title { color: var(--color-primary); }
@media (max-width: 640px) {
	.post-navigation-inner { grid-template-columns: minmax(0, 1fr); }
	.post-navigation .is-empty { display: none; }
}

/* ---------- Comments ---------- */
.comments-area { padding-top: var(--space-2xl); }
.comments-title { margin-bottom: var(--space-lg); font-size: var(--h3); }
.comment-list, .comment-list .children { margin: 0; padding: 0; list-style: none; }
.comment-list .children { margin-left: clamp(1rem, 4vw, 3.5rem); padding-left: clamp(.75rem, 2vw, 1.25rem); border-left: 2px solid var(--color-sage-strong); }
.comment-list .comment { padding-block: var(--space-lg); border-bottom: 1px solid var(--color-border); }
.comment-list > li:first-child > .comment { border-top: 1px solid var(--color-border); }
.comment-header { display: flex; align-items: flex-start; gap: var(--space-sm); margin-bottom: var(--space-sm); }
.comment-header .avatar { flex-shrink: 0; width: 3rem; height: 3rem; border-radius: 50%; }
.comment-author { display: block; color: var(--color-heading); font-style: normal; font-weight: 700; }
.comment-author a { color: inherit; }
.comment-metadata { display: flex; flex-wrap: wrap; gap: var(--space-sm); font-size: var(--text-xs); }
.comment-metadata a { color: var(--color-muted); text-decoration: none; }
.comment-metadata a:hover { text-decoration: underline; }
.comment-content { font-size: 1rem; overflow-wrap: break-word; }
.comment-content p:last-child { margin-bottom: 0; }
.comment-content img { max-width: 100%; height: auto; }
.comment-actions { margin-top: var(--space-sm); font-size: var(--text-sm); }
.comment-list .pingback { padding-block: var(--space-sm); border-bottom: 1px solid var(--color-border); font-size: var(--text-sm); }
.comment-list .pingback p { margin: 0; }
.comment-list .pingback .eyebrow { display: inline; margin-right: .4rem; color: var(--color-muted); font-size: var(--text-2xs); }
.comment-awaiting-moderation { margin: 0; color: var(--color-muted); font-size: var(--text-xs); }
.no-comments { margin: var(--space-lg) 0 0; padding: var(--space-md); border-radius: var(--radius-sm); background: var(--color-sage); color: var(--color-muted); text-align: center; font-size: var(--text-sm); }
.comment-navigation .nav-links { display: flex; justify-content: space-between; gap: var(--space-md); margin-block: var(--space-md); }

/* ---------- Related ---------- */
.related { margin-top: var(--space-lg); }
