/**
 * WordPress core + Gutenberg block polish.
 */

/* Captions */
.wp-caption,
.wp-block-image figcaption,
.wp-block-embed figcaption,
.wp-block-gallery figcaption {
	font-size: var(--yorkmi-text-caption);
	line-height: var(--yorkmi-line-height-caption);
	color: var(--yorkmi-color-muted);
	margin-top: var(--yorkmi-space-xs);
	text-align: center;
}

.wp-caption-text {
	font-size: var(--yorkmi-text-caption);
	color: var(--yorkmi-color-muted);
}

/* Galleries */
.gallery,
.wp-block-gallery {
	display: flex;
	flex-wrap: wrap;
	gap: var(--yorkmi-space-md);
	margin: var(--yorkmi-space-lg) 0;
}

.gallery-item,
.wp-block-gallery .wp-block-image {
	margin: 0;
}

.gallery img,
.wp-block-gallery img {
	display: block;
	width: 100%;
	height: auto;
}

/* Tables */
.entry-content table,
.wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	margin: var(--yorkmi-space-lg) 0;
}

.entry-content th,
.entry-content td,
.wp-block-table th,
.wp-block-table td {
	border: 1px solid var(--yorkmi-color-border);
	padding: var(--yorkmi-space-sm) var(--yorkmi-space-md);
	text-align: start;
}

.entry-content th,
.wp-block-table th {
	background: var(--yorkmi-color-bg-alt);
	font-weight: var(--yorkmi-font-weight-semibold);
	color: var(--yorkmi-color-heading);
}

/* Quotes */
.wp-block-quote,
blockquote {
	margin: var(--yorkmi-space-lg) 0;
	padding-inline-start: var(--yorkmi-space-lg);
	border-inline-start: 3px solid var(--yorkmi-color-primary);
	font-style: italic;
	color: var(--yorkmi-color-contrast);
}

.wp-block-quote cite,
.wp-block-pullquote cite {
	display: block;
	margin-top: var(--yorkmi-space-sm);
	font-size: var(--yorkmi-text-caption);
	font-style: normal;
	color: var(--yorkmi-color-muted);
}

.wp-block-pullquote {
	border-top: 3px solid var(--yorkmi-color-primary);
	border-bottom: 3px solid var(--yorkmi-color-primary);
	padding: var(--yorkmi-space-xl) 0;
	text-align: center;
}

/* Lists */
.entry-content ul,
.entry-content ol,
.wp-block-list {
	padding-inline-start: 1.25rem;
	margin: var(--yorkmi-space-md) 0;
}

.entry-content li + li {
	margin-top: var(--yorkmi-space-2xs);
}

/* Separator */
.wp-block-separator {
	border: 0;
	border-top: 1px solid var(--yorkmi-color-border);
	margin: var(--yorkmi-space-xl) auto;
}

.wp-block-separator.is-style-wide {
	width: 100%;
}

.wp-block-separator.is-style-dots {
	border: 0;
	text-align: center;
}

/* Code */
.wp-block-code,
code,
kbd,
pre {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.9em;
}

.wp-block-code,
pre {
	background: var(--yorkmi-color-bg-alt);
	border: 1px solid var(--yorkmi-color-border-subtle);
	padding: var(--yorkmi-space-md);
	overflow-x: auto;
}

/* Sticky / bypostauthor */
.sticky .entry-title::after {
	content: " · Featured";
	font-size: var(--yorkmi-text-caption);
	color: var(--yorkmi-color-primary);
	font-family: var(--yorkmi-font-body);
	font-weight: var(--yorkmi-font-weight-semibold);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.bypostauthor > .comment-body {
	border-inline-start: 3px solid var(--yorkmi-color-secondary);
	padding-inline-start: var(--yorkmi-space-md);
}

/* Comments */
.comments-area {
	margin-top: var(--yorkmi-space-2xl);
	padding-top: var(--yorkmi-space-xl);
	border-top: 1px solid var(--yorkmi-color-border-subtle);
}

.comment-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.comment-list .comment {
	margin-bottom: var(--yorkmi-space-lg);
	padding-bottom: var(--yorkmi-space-lg);
	border-bottom: 1px solid var(--yorkmi-color-border-subtle);
}

.comment-reply-title,
.comments-title {
	font-family: var(--yorkmi-font-display);
	color: var(--yorkmi-color-heading);
}

/* Pagination */
.navigation.pagination,
.wp-block-query-pagination,
.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--yorkmi-space-sm);
	align-items: center;
	justify-content: center;
	margin: var(--yorkmi-space-2xl) 0;
}

.page-numbers,
.wp-block-query-pagination-numbers a,
.wp-block-query-pagination-numbers span,
.nav-links a,
.nav-links span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	padding: var(--yorkmi-space-xs) var(--yorkmi-space-sm);
	border: 1px solid var(--yorkmi-color-border);
	color: var(--yorkmi-color-contrast);
	text-decoration: none;
	font-weight: var(--yorkmi-font-weight-semibold);
}

.page-numbers.current,
.wp-block-query-pagination-numbers .current,
.nav-links .current {
	background: var(--yorkmi-color-primary);
	border-color: var(--yorkmi-color-primary);
	color: var(--yorkmi-color-white);
}

.page-numbers:hover,
.wp-block-query-pagination-numbers a:hover,
.nav-links a:hover {
	border-color: var(--yorkmi-color-secondary);
	color: var(--yorkmi-color-secondary);
}

/* Search form */
.search-form,
.wp-block-search {
	display: flex;
	flex-wrap: wrap;
	gap: var(--yorkmi-space-sm);
	align-items: stretch;
}

.search-form .search-field,
.wp-block-search__input {
	flex: 1 1 12rem;
}

.search-form .search-submit,
.wp-block-search__button {
	flex: 0 0 auto;
}

/* Post meta */
.entry-meta,
.wp-block-post-date,
.wp-block-post-author,
.wp-block-post-author-name,
.wp-block-post-terms {
	font-size: var(--yorkmi-text-caption);
	color: var(--yorkmi-color-muted);
}

.entry-header {
	margin-bottom: var(--yorkmi-space-xl);
}

.entry-footer {
	margin-top: var(--yorkmi-space-xl);
	padding-top: var(--yorkmi-space-md);
	border-top: 1px solid var(--yorkmi-color-border-subtle);
	font-size: var(--yorkmi-text-caption);
	color: var(--yorkmi-color-muted);
}

/* -------------------------------------------------------------------------
   Single article / archive — academic reading layout (§8.5)
   ------------------------------------------------------------------------- */
.yorkmi-single {
	padding-block: var(--yorkmi-space-2xl);
	padding-inline: var(--yorkmi-space-md);
	background: var(--yorkmi-color-base);
}

.yorkmi-single__inner {
	max-width: 42rem;
	margin-inline: auto;
}

.yorkmi-single__media {
	display: block;
	width: 100%;
	max-width: 42rem;
	margin: 0 auto var(--yorkmi-space-xl);
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 0;
	background: var(--yorkmi-color-tertiary);
}

.yorkmi-single__media img,
.yorkmi-single .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 0;
}

.yorkmi-single__title,
.yorkmi-single .wp-block-post-title {
	font-family: var(--yorkmi-font-display);
	font-size: var(--yorkmi-text-h1);
	font-weight: var(--yorkmi-font-weight-bold);
	color: var(--yorkmi-color-heading);
	line-height: var(--yorkmi-line-height-heading);
	margin: 0 0 var(--yorkmi-space-md);
	text-align: left;
}

.yorkmi-single__title::after,
.yorkmi-single .wp-block-post-title::after {
	content: "";
	display: block;
	width: 3rem;
	height: 3px;
	margin-top: var(--yorkmi-space-sm);
	background: var(--yorkmi-color-primary);
}

.yorkmi-byline,
.yorkmi-single__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--yorkmi-space-xs) var(--yorkmi-space-sm);
	margin: 0 0 var(--yorkmi-space-lg);
	padding: 0;
	font-family: var(--yorkmi-font-body);
	font-size: var(--yorkmi-text-caption);
	font-weight: var(--yorkmi-font-weight-semibold);
	letter-spacing: 0.02em;
	color: var(--yorkmi-color-muted);
	list-style: none;
}

.yorkmi-byline > li,
.yorkmi-single__meta > li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.yorkmi-byline__sep,
.yorkmi-single__meta-sep {
	color: var(--yorkmi-color-border);
	font-weight: var(--yorkmi-font-weight-regular);
}

.yorkmi-byline a,
.yorkmi-single__meta a {
	color: var(--yorkmi-color-secondary);
	text-decoration: none;
}

.yorkmi-byline a:hover,
.yorkmi-single__meta a:hover {
	color: var(--yorkmi-color-primary);
	text-decoration: underline;
}

.yorkmi-single__divider {
	border: 0;
	border-top: 1px solid var(--yorkmi-color-border);
	margin: 0 0 var(--yorkmi-space-xl);
}

.yorkmi-single__content.entry-content,
.yorkmi-single .entry-content,
.yorkmi-single .wp-block-post-content {
	max-width: none;
	margin: 0;
}

.yorkmi-single__footer {
	margin-top: var(--yorkmi-space-2xl);
	padding-top: var(--yorkmi-space-lg);
	border-top: 1px solid var(--yorkmi-color-border-subtle);
}

.yorkmi-single__back {
	display: inline-flex;
	align-items: center;
	gap: var(--yorkmi-space-xs);
	font-family: var(--yorkmi-font-body);
	font-size: var(--yorkmi-text-caption);
	font-weight: var(--yorkmi-font-weight-semibold);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--yorkmi-color-primary);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	padding-bottom: 0.15rem;
	transition: border-color var(--yorkmi-transition), color var(--yorkmi-transition);
}

.yorkmi-single__back:hover {
	color: var(--yorkmi-color-secondary);
	border-bottom-color: var(--yorkmi-color-primary);
}

/* Archive listing */
.yorkmi-archive {
	padding-block: var(--yorkmi-space-2xl);
	background: var(--yorkmi-color-bg-alt);
}

.yorkmi-archive__header {
	max-width: var(--yorkmi-content-width);
	margin: 0 auto var(--yorkmi-space-xl);
	padding-inline: var(--yorkmi-space-md);
	text-align: center;
}

.yorkmi-archive__title,
.yorkmi-archive .wp-block-query-title {
	font-family: var(--yorkmi-font-display);
	font-size: var(--yorkmi-text-h1);
	font-weight: var(--yorkmi-font-weight-bold);
	color: var(--yorkmi-color-heading);
	margin: 0 0 var(--yorkmi-space-sm);
}

.yorkmi-archive__title::after,
.yorkmi-archive .wp-block-query-title::after {
	content: "";
	display: block;
	width: 3rem;
	height: 3px;
	margin: var(--yorkmi-space-sm) auto 0;
	background: var(--yorkmi-color-primary);
}

.yorkmi-archive__intro {
	font-family: var(--yorkmi-font-body);
	font-size: var(--yorkmi-text-body);
	line-height: var(--yorkmi-line-height-body);
	color: var(--yorkmi-color-contrast);
	max-width: 36rem;
	margin: var(--yorkmi-space-md) auto 0;
}

.yorkmi-archive__grid {
	max-width: var(--yorkmi-content-width);
	margin-inline: auto;
	padding-inline: var(--yorkmi-space-md);
	padding-bottom: var(--yorkmi-space-2xl);
}

/* Columns gap */
.wp-block-columns {
	gap: var(--yorkmi-space-lg);
}

/* Cover */
.wp-block-cover {
	min-height: 18rem;
}

.wp-block-cover .wp-block-cover__inner-container {
	max-width: var(--yorkmi-content-width);
}
