/* ======================================================================
   Pagination — canonical single source
   Loaded after template/widget CSS to prevent cascade regressions.
   Supports WordPress nav.pagination + legacy ul.pagination fallbacks.
   ====================================================================== */

:root {
	--pagination-size: 40px;
	--pagination-size-mobile: 38px;
	--pagination-gap: 8px;
	--pagination-gap-mobile: 6px;
	--pagination-color: #1f5489;
	--pagination-color-active: var(--color-brand-primary, #0b3155);
	--pagination-border: rgba(31, 84, 137, 0.14);
	--pagination-shadow: 0 10px 22px rgba(15, 23, 42, 0.055);
	--pagination-shadow-active: 0 12px 26px rgba(31, 84, 137, 0.2);
}

.category-archive__pagination,
.search-pagination,
.author-posts__pagination,
.ct-pagination {
	margin-top: 36px;
	text-align: center;
}

.search-pagination {
	padding-bottom: var(--page-gap-before-footer, clamp(3rem, 6vw, 5rem));
}

nav.navigation.pagination,
.navigation.pagination,
.category-archive__pagination > .pagination,
.search-pagination > .pagination,
.author-posts__pagination,
.author-posts__pagination > .pagination,
.ct-pagination,
ul.pagination {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	flex-wrap: wrap;
	gap: var(--pagination-gap);
	width: 100%;
	margin-inline: auto;
margin-bottom: 0;
	padding: 0;
	list-style: none;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

nav.navigation.pagination .nav-links,
.navigation.pagination .nav-links,
.category-archive__pagination .nav-links,
.search-pagination .nav-links,
.author-posts__pagination .nav-links,
.ct-pagination .nav-links,
ul.pagination {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	flex-wrap: wrap;
	gap: var(--pagination-gap);
	margin: 0;
	padding: 0;
	list-style: none;
	border: 0;
	background: transparent;
	box-shadow: none;
}

nav.navigation.pagination .page-numbers,
.navigation.pagination .page-numbers,
.category-archive__pagination .page-numbers,
.search-pagination .page-numbers,
.author-posts__pagination .page-numbers,
.ct-pagination .page-numbers,
ul.pagination > li > a,
ul.pagination > li > span,
.category-archive__pagination ul.pagination > li > a,
.category-archive__pagination ul.pagination > li > span,
.search-pagination ul.pagination > li > a,
.search-pagination ul.pagination > li > span,
.ct-pagination ul.pagination > li > a,
.ct-pagination ul.pagination > li > span {
	float: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.38rem;
	min-width: var(--pagination-size);
	min-height: var(--pagination-size);
	height: var(--pagination-size);
	margin: 0 !important;
	padding: 0 13px;
	border-radius: 999px !important;
	font-family: var(--font-ui, inherit);
	font-size: var(--text-sm, 0.9rem);
	font-weight: 700;
	line-height: 1;
	color: var(--pagination-color);
	text-decoration: none !important;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid var(--pagination-border);
	box-shadow: var(--pagination-shadow);
	transition:
		color 0.18s ease,
		background 0.18s ease,
		border-color 0.18s ease,
		box-shadow 0.18s ease,
		transform 0.18s ease;
}

nav.navigation.pagination a.page-numbers:hover,
nav.navigation.pagination a.page-numbers:focus-visible,
.navigation.pagination a.page-numbers:hover,
.navigation.pagination a.page-numbers:focus-visible,
.category-archive__pagination a.page-numbers:hover,
.category-archive__pagination a.page-numbers:focus-visible,
.search-pagination a.page-numbers:hover,
.search-pagination a.page-numbers:focus-visible,
.author-posts__pagination a.page-numbers:hover,
.author-posts__pagination a.page-numbers:focus-visible,
.ct-pagination a.page-numbers:hover,
.ct-pagination a.page-numbers:focus-visible,
ul.pagination > li > a:hover,
ul.pagination > li > a:focus {
	color: #fff;
	background: var(--pagination-color-active);
	border-color: var(--pagination-color-active);
	box-shadow: var(--pagination-shadow-active);
	text-decoration: none !important;
	transform: translateY(-1px);
}

nav.navigation.pagination .page-numbers.current,
.navigation.pagination .page-numbers.current,
.category-archive__pagination .page-numbers.current,
.search-pagination .page-numbers.current,
.author-posts__pagination .page-numbers.current,
.ct-pagination .page-numbers.current,
ul.pagination > .active > a,
ul.pagination > .active > span,
ul.pagination > li > .current {
	color: #fff !important;
	background: var(--pagination-color-active) !important;
	border-color: var(--pagination-color-active) !important;
	font-weight: 800;
	box-shadow: var(--pagination-shadow-active);
	transform: none;
}

nav.navigation.pagination .page-numbers.dots,
.navigation.pagination .page-numbers.dots,
.category-archive__pagination .page-numbers.dots,
.search-pagination .page-numbers.dots,
.author-posts__pagination .page-numbers.dots,
.ct-pagination .page-numbers.dots {
	pointer-events: none;
	box-shadow: none;
	background: rgba(255, 255, 255, 0.72);
	color: rgba(10, 36, 64, 0.58);
}

nav.navigation.pagination .page-numbers.prev,
nav.navigation.pagination .page-numbers.next,
.navigation.pagination .page-numbers.prev,
.navigation.pagination .page-numbers.next,
.category-archive__pagination .page-numbers.prev,
.category-archive__pagination .page-numbers.next,
.search-pagination .page-numbers.prev,
.search-pagination .page-numbers.next,
.author-posts__pagination .page-numbers.prev,
.author-posts__pagination .page-numbers.next,
.ct-pagination .page-numbers.prev,
.ct-pagination .page-numbers.next {
	min-width: auto;
	padding-inline: 16px;
}

nav.navigation.pagination .page-numbers.prev i,
nav.navigation.pagination .page-numbers.next i,
.navigation.pagination .page-numbers.prev i,
.navigation.pagination .page-numbers.next i,
.category-archive__pagination .page-numbers.prev i,
.category-archive__pagination .page-numbers.next i,
.search-pagination .page-numbers.prev i,
.search-pagination .page-numbers.next i,
.author-posts__pagination .page-numbers.prev i,
.author-posts__pagination .page-numbers.next i,
.ct-pagination .page-numbers.prev i,
.ct-pagination .page-numbers.next i {
	font-size: 0.78em;
}

@media (max-width: 767.98px) {
	.category-archive__pagination,
	.search-pagination,
	.author-posts__pagination,
	.ct-pagination {
		margin-top: 28px;
	}

	nav.navigation.pagination,
	.navigation.pagination,
	.category-archive__pagination > .pagination,
	.search-pagination > .pagination,
	.author-posts__pagination,
	.ct-pagination {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 2px;
	}

	nav.navigation.pagination .nav-links,
	.navigation.pagination .nav-links,
	.category-archive__pagination .nav-links,
	.search-pagination .nav-links,
	.author-posts__pagination .nav-links,
	.ct-pagination .nav-links {
		justify-content: flex-start !important;
		flex-wrap: nowrap;
		gap: var(--pagination-gap-mobile);
		min-width: max-content;
	}

	nav.navigation.pagination .page-numbers,
	.navigation.pagination .page-numbers,
	.category-archive__pagination .page-numbers,
	.search-pagination .page-numbers,
	.author-posts__pagination .page-numbers,
	.ct-pagination .page-numbers,
	ul.pagination > li > a,
	ul.pagination > li > span {
		min-width: var(--pagination-size-mobile);
		min-height: var(--pagination-size-mobile);
		height: var(--pagination-size-mobile);
		padding-inline: 11px;
		font-size: 0.84rem;
	}

	nav.navigation.pagination .page-numbers.prev,
	nav.navigation.pagination .page-numbers.next,
	.navigation.pagination .page-numbers.prev,
	.navigation.pagination .page-numbers.next,
	.category-archive__pagination .page-numbers.prev,
	.category-archive__pagination .page-numbers.next,
	.search-pagination .page-numbers.prev,
	.search-pagination .page-numbers.next,
	.author-posts__pagination .page-numbers.prev,
	.author-posts__pagination .page-numbers.next,
	.ct-pagination .page-numbers.prev,
	.ct-pagination .page-numbers.next {
		padding-inline: 13px;
	}
}
