/**
 * Products view pagination – premium scoped styles
 * Only affects .products-view__pagination (shop product listing).
 * Does not change .posts-view__pagination or other paginations.
 */

.products-view__pagination {
	--rt-pagination-bg: #fff;
	--rt-pagination-text: #1e293b;
	--rt-pagination-text-muted: #64748b;
	--rt-pagination-border: #e2e8f0;
	--rt-pagination-primary: #217076;
	--rt-pagination-primary-hover: #1a5a5f;
	--rt-pagination-hover-bg: #f1f5f9;
	--rt-pagination-disabled: #94a3b8;
	--rt-pagination-ellipsis: #cbd5e1;
	--rt-pagination-radius: 9999px;
	--rt-pagination-size: 40px;
	--rt-pagination-gap: 6px;
	--rt-pagination-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	--rt-pagination-shadow-hover: 0 4px 12px rgba(0, 0, 0, 0.08);
	--rt-pagination-focus-ring: 0 0 0 3px rgba(33, 112, 118, 0.35);
	--rt-pagination-transition: 180ms ease;
	padding-top: 32px;
}

@media (max-width: 575.98px) {
	.products-view__pagination {
		--rt-pagination-gap: 4px;
		--rt-pagination-size: 40px;
		padding-top: 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.products-view__pagination {
		--rt-pagination-transition: 0ms;
	}
}

/* List container */
.products-view__pagination .pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: var(--rt-pagination-gap);
	list-style: none;
	margin: 0;
	padding: 0;
}

.products-view__pagination .page-item {
	margin: 0;
}

/* Base link / span (shared) */
.products-view__pagination .page-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--rt-pagination-size);
	min-height: var(--rt-pagination-size);
	padding-inline: 14px;
	padding-block: 0;
	font-weight: 500;
	font-size: 0.9375rem;
	line-height: 1;
	color: var(--rt-pagination-text);
	background: var(--rt-pagination-bg);
	border: 1px solid var(--rt-pagination-border);
	border-radius: var(--rt-pagination-radius);
	text-decoration: none;
	box-shadow: var(--rt-pagination-shadow);
	transition:
		background-color var(--rt-pagination-transition),
		color var(--rt-pagination-transition),
		border-color var(--rt-pagination-transition),
		box-shadow var(--rt-pagination-transition),
		transform var(--rt-pagination-transition);
}

/* Clickable link: hover & focus */
.products-view__pagination .page-item:not(.active):not(.disabled) .page-link[href]:hover {
	background: var(--rt-pagination-hover-bg);
	border-color: var(--rt-pagination-border);
	box-shadow: var(--rt-pagination-shadow-hover);
	transform: translateY(-1px);
	color: var(--rt-pagination-text);
}

.products-view__pagination .page-item:not(.active):not(.disabled) .page-link[href]:focus-visible {
	outline: none;
	box-shadow: var(--rt-pagination-focus-ring);
}

/* Active (current page) – primary pill */
.products-view__pagination .page-item.active .page-link {
	background: var(--rt-pagination-primary);
	border-color: var(--rt-pagination-primary);
	color: #fff;
	box-shadow: 0 2px 8px rgba(33, 112, 118, 0.25);
	cursor: default;
}

.products-view__pagination .page-item.active .page-link:hover {
	background: var(--rt-pagination-primary);
	color: #fff;
	transform: none;
	box-shadow: 0 2px 8px rgba(33, 112, 118, 0.25);
}

/* Disabled: arrow buttons (prev/next when unavailable) */
.products-view__pagination .page-item.disabled .page-link.page-link--with-arrow {
	background: var(--rt-pagination-bg);
	border-color: var(--rt-pagination-border);
	color: var(--rt-pagination-disabled);
	box-shadow: none;
	cursor: not-allowed;
	opacity: 0.85;
}

.products-view__pagination .page-item.disabled .page-link.page-link--with-arrow:hover {
	transform: none;
	background: var(--rt-pagination-bg);
	color: var(--rt-pagination-disabled);
}

/* Ellipsis: separator only (not clickable) */
.products-view__pagination .page-item.disabled .page-link:not(.page-link--with-arrow) {
	background: transparent;
	border-color: transparent;
	color: var(--rt-pagination-ellipsis);
	box-shadow: none;
	cursor: default;
	min-width: auto;
	padding-inline: 6px;
}

.products-view__pagination .page-item.disabled .page-link:not(.page-link--with-arrow):hover {
	transform: none;
	background: transparent;
	color: var(--rt-pagination-ellipsis);
}

/* Arrow buttons: same visual weight as number buttons */
.products-view__pagination .page-link.page-link--with-arrow {
	width: var(--rt-pagination-size);
	min-width: var(--rt-pagination-size);
	padding-inline: 0;
	position: relative;
}

.products-view__pagination .page-link--with-arrow .page-link__arrow {
	position: absolute;
	fill: currentColor;
	top: 50%;
	width: 8px;
	height: 13px;
	margin-top: -6.5px;
}

.products-view__pagination .page-link--with-arrow .page-link__arrow--left {
	inset-inline-start: 50%;
	margin-inline-start: -4px;
}

.products-view__pagination .page-link--with-arrow .page-link__arrow--right {
	inset-inline-end: 50%;
	inset-inline-start: auto;
	margin-inline-end: -4px;
}

/* Remove Bootstrap/first/last overrides that conflict; use logical spacing */
.products-view__pagination .page-item:first-child .page-link,
.products-view__pagination .page-item:last-child .page-link {
	border-radius: var(--rt-pagination-radius);
}

/* sr-only stays intact for (current) */
.products-view__pagination .page-link .sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
