/* Archive / search / 404 templates (mobile audit 2026-09-15, H1-H4).
 *
 * templates/archive.html, search.html and 404.html reuse the single-post
 * hero (.cmp-post-hero) and the News page card (.cmp-news-card, styled in
 * cmp-news.css). This partial covers only what those templates add: the
 * pagination row (audit H4 measured 9x20px number targets), the site search
 * form on the 404 and empty-search states, and the excerpt line the cards
 * gain on archives.
 */

.cmp-archive-hero {
	padding-bottom: 0 !important;
}

.cmp-archive-hero .wp-block-query-title {
	text-wrap: balance;
	overflow-wrap: anywhere;
}

/* Excerpt inside the card: keep the card's flex column from stretching it */
.cmp-news-card .cmp-news-excerpt p {
	margin: 0;
}

.cmp-news-card .cmp-news-excerpt .wp-block-post-excerpt__more-text {
	display: none;
}

/* Pagination (archive, search, News grid wp_block 162). 2026-10-01: square
 * number tiles, bold accent current page, round chevron arrows. Every target
 * stays at least 44px (audit H4). */
.cmp-archive-pagination {
	gap: 12px !important;
	margin-top: var(--wp--preset--spacing--50);
	font-family: var(--wp--preset--font-family--dm-sans);
	font-size: 1.125rem;
}

.cmp-archive-pagination .wp-block-query-pagination-numbers {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

.cmp-archive-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	min-height: 48px;
	padding: 0 8px;
	border-radius: 2px;
	background-color: var(--wp--preset--color--theme-04);
	color: var(--wp--preset--color--theme-01);
	font-weight: 500;
	text-decoration: none;
	transition: background-color 160ms ease, color 160ms ease;
}

.cmp-archive-pagination .page-numbers.current {
	color: var(--cmp-accent-blue, #1897ff);
	font-weight: 700;
}

.cmp-archive-pagination .page-numbers.dots {
	background-color: transparent;
}

.cmp-archive-pagination .wp-block-query-pagination-previous,
.cmp-archive-pagination .wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border: 2px solid var(--wp--preset--color--theme-05);
	border-radius: 50%;
	color: var(--wp--preset--color--theme-01);
	font-size: 1.75rem;
	line-height: 1;
	text-decoration: none;
	transition: border-color 160ms ease, background-color 160ms ease;
}

/* core prints a «/» glyph; swap it for a thin CSS chevron like the comp */
.cmp-archive-pagination .wp-block-query-pagination-previous-arrow,
.cmp-archive-pagination .wp-block-query-pagination-next-arrow {
	width: 12px;
	height: 12px;
	margin: 0;
	font-size: 0;
	border-top: 2.5px solid currentColor;
	border-right: 2.5px solid currentColor;
	transform: translateX(-2px) rotate(45deg);
}

.cmp-archive-pagination .wp-block-query-pagination-previous-arrow {
	transform: translateX(2px) rotate(-135deg);
}

.cmp-archive-pagination a.page-numbers:hover,
.cmp-archive-pagination a.page-numbers:focus-visible {
	background-color: var(--cmp-accent-blue, #1897ff);
	color: var(--wp--preset--color--theme-02);
}

.cmp-archive-pagination .wp-block-query-pagination-previous:hover,
.cmp-archive-pagination .wp-block-query-pagination-next:hover,
.cmp-archive-pagination .wp-block-query-pagination-previous:focus-visible,
.cmp-archive-pagination .wp-block-query-pagination-next:focus-visible {
	border-color: var(--wp--preset--color--theme-01);
	background-color: var(--wp--preset--color--theme-04);
}

/* Site search form (404 + empty search): dark field, filled button */
.cmp-site-search .wp-block-search__inside-wrapper {
	border: 1px solid rgb(255 255 255 / 35%);
	border-radius: 4px;
	background-color: var(--wp--preset--color--theme-04);
	padding: 4px;
}

.cmp-site-search .wp-block-search__input {
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--theme-01);
	font-family: var(--wp--preset--font-family--dm-sans);
	font-size: 1rem;
	min-height: 44px;
	padding: 0 12px;
}

.cmp-site-search .wp-block-search__input::placeholder {
	color: var(--wp--preset--color--theme-05);
}

.cmp-site-search .wp-block-search__input:focus-visible {
	outline: 2px solid var(--cmp-accent-blue, #1897ff);
	outline-offset: 2px;
}

.cmp-site-search .wp-block-search__button {
	margin-left: 4px;
	min-height: 44px;
	padding: 0 20px;
	border: 0;
	border-radius: 4px;
	background-color: var(--cmp-accent-blue, #1897ff);
	color: var(--wp--preset--color--theme-02);
	font-family: var(--wp--preset--font-family--dm-sans);
	font-weight: 700;
	font-size: 0.875rem;
	cursor: pointer;
}

.cmp-site-search .wp-block-search__button:hover,
.cmp-site-search .wp-block-search__button:focus-visible {
	background-color: var(--wp--preset--color--theme-01);
}

.cmp-search-empty,
.cmp-404-body {
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 781px) {
	/* one row at 390: arrows 44px, number tiles 40x44 */
	.cmp-archive-pagination {
		flex-wrap: nowrap !important;
	}

	.cmp-archive-pagination,
	.cmp-archive-pagination .wp-block-query-pagination-numbers {
		gap: 4px !important;
		font-size: 1rem;
	}

	.cmp-archive-pagination .wp-block-query-pagination-numbers {
		flex-wrap: nowrap;
	}

	.cmp-archive-pagination .page-numbers {
		min-width: 40px;
		min-height: 44px;
		padding: 0 4px;
	}

	.cmp-archive-pagination .page-numbers.dots {
		min-width: 20px;
		padding: 0;
	}

	.cmp-archive-pagination .wp-block-query-pagination-previous,
	.cmp-archive-pagination .wp-block-query-pagination-next {
		flex-shrink: 0;
		width: 44px;
		height: 44px;
	}
}
