/**
 * Shared pagination — add class geocity-pagination to archive pagers.
 */

.geocity-pagination {
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid var(--geocity-color-border, #d9d9d9);
}

/* Query Loop block pagination */

.geocity-pagination.wp-block-query-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
}

.geocity-pagination .wp-block-query-pagination-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
}

.geocity-pagination .wp-block-query-pagination-previous:empty,
.geocity-pagination .wp-block-query-pagination-next:empty {
	display: none;
}

/* paginate_links() output */

.geocity-pagination > ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.geocity-pagination > ul.page-numbers li {
	margin: 0;
}

/* Page numbers and prev/next (not the list wrapper) */

.geocity-pagination a.page-numbers,
.geocity-pagination span.page-numbers,
.geocity-pagination .wp-block-query-pagination-previous,
.geocity-pagination .wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	padding: 0.5rem 0.85rem;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	color: var(--geocity-color-text, #1a1a1a);
	border: 1px solid var(--geocity-color-border, #d9d9d9);
	border-radius: 4px;
	background: var(--geocity-color-surface, #fff);
}

.geocity-pagination a.page-numbers:hover,
.geocity-pagination a.page-numbers:focus-visible,
.geocity-pagination .wp-block-query-pagination-previous:hover,
.geocity-pagination .wp-block-query-pagination-previous:focus-visible,
.geocity-pagination .wp-block-query-pagination-next:hover,
.geocity-pagination .wp-block-query-pagination-next:focus-visible {
	color: var(--geocity-color-primary, #e30613);
	border-color: var(--geocity-color-primary, #e30613);
	outline: none;
}

.geocity-pagination span.page-numbers.current,
.geocity-pagination ul.page-numbers .current {
	color: #fff;
	background: var(--geocity-color-primary, #e30613);
	border-color: var(--geocity-color-primary, #e30613);
}

.geocity-pagination span.page-numbers.dots {
	min-width: auto;
	padding-inline: 0.35rem;
	font-weight: 400;
	border-color: transparent;
	background: transparent;
}

.geocity-pagination .page-numbers.prev,
.geocity-pagination .page-numbers.next,
.geocity-pagination .wp-block-query-pagination-previous,
.geocity-pagination .wp-block-query-pagination-next {
	padding-inline: 1rem;
}
