/* OBLBOOT — site-wide square pagination (Flatsome / WooCommerce / WP). */

:root {
	--my-obl-pg-size: 36px;
	--my-obl-pg-gap: 6px;
	--my-obl-pg-radius: 4px;
	--my-obl-pg-text: #333333;
	--my-obl-pg-muted: #666666;
	--my-obl-pg-bd: #cccccc;
	--my-obl-pg-bg-top: #fafafa;
	--my-obl-pg-bg-bottom: #ececec;
	--my-obl-pg-active-top: #e4e4e4;
	--my-obl-pg-active-bottom: #c8c8c8;
	--my-obl-pg-active-text: #111111;
	--my-obl-pg-hover-top: #ffffff;
	--my-obl-pg-hover-bottom: #e8e8e8;
	--my-obl-pg-hover-bd: var(--my-obl-pagination-logo, #b12f33);
}

/* Flatsome + WooCommerce (highest priority — overrides theme circles). */
.woocommerce nav.woocommerce-pagination,
.woocommerce-pagination,
.navigation.pagination,
.pagination,
.nav-pagination,
.page-links,
.my-obl-pagination {
	margin: 24px 0;
	text-align: center;
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul.page-numbers,
.woocommerce-pagination ul,
.woocommerce-pagination ul.page-numbers,
.nav-links,
.pagination .page-numbers,
.page-links,
.nav-pagination,
.my-obl-pagination__list {
	display: inline-flex !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--my-obl-pg-gap);
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.woocommerce nav.woocommerce-pagination ul li,
.woocommerce-pagination ul li,
.woocommerce-pagination ul.page-numbers li,
.pagination .page-numbers li,
.my-obl-pagination__item {
	display: inline-flex !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	border: 0 !important;
	background: transparent !important;
	float: none !important;
}

.woocommerce nav.woocommerce-pagination ul li::before,
.woocommerce nav.woocommerce-pagination ul li::after,
.woocommerce-pagination ul li::before,
.woocommerce-pagination ul li::after {
	display: none !important;
	content: none !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce nav.woocommerce-pagination ul li .page-numbers,
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span,
.woocommerce-pagination ul li .page-numbers,
.woocommerce-pagination .page-numbers,
.woocommerce-pagination a.page-numbers,
.woocommerce-pagination span.page-numbers,
.nav-links a.page-numbers,
.nav-links span.page-numbers,
.pagination .page-number,
.pagination a.page-number,
.pagination span.page-number,
.pagination .page-numbers,
.pagination a.page-numbers,
.pagination span.page-numbers,
.page-links a,
.page-links > span,
.nav-pagination > a,
.nav-pagination > span,
.my-obl-pagination__item > a,
.my-obl-pagination__item > span {
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: var(--my-obl-pg-size) !important;
	height: var(--my-obl-pg-size) !important;
	padding: 0 12px !important;
	margin: 0 !important;
	border: 1px solid var(--my-obl-pg-bd) !important;
	border-radius: var(--my-obl-pg-radius) !important;
	background: linear-gradient(to bottom, var(--my-obl-pg-bg-top) 0%, var(--my-obl-pg-bg-bottom) 100%) !important;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.92),
		0 1px 2px rgba(0, 0, 0, 0.08) !important;
	color: var(--my-obl-pg-text) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	opacity: 1 !important;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li .page-numbers.current,
.woocommerce-pagination ul li span.current,
.woocommerce-pagination ul li .page-numbers.current,
.woocommerce-pagination .page-numbers.current,
.woocommerce-pagination span.current,
.nav-links .page-numbers.current,
.nav-links span.current,
.pagination .page-number.active,
.pagination .page-numbers.current,
.pagination span.current,
.page-links .current,
.nav-pagination > span.current,
.my-obl-pagination__item.is-current > span {
	background: linear-gradient(to bottom, var(--my-obl-pg-active-top) 0%, var(--my-obl-pg-active-bottom) 100%) !important;
	border-color: #aaaaaa !important;
	color: var(--my-obl-pg-active-text) !important;
	box-shadow:
		inset 0 1px 2px rgba(0, 0, 0, 0.12),
		0 1px 0 rgba(255, 255, 255, 0.65) !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:focus-visible,
.woocommerce-pagination ul li a.page-numbers:hover,
.woocommerce-pagination ul li a.page-numbers:focus-visible,
.woocommerce-pagination a.page-numbers:hover,
.woocommerce-pagination a.page-numbers:focus-visible,
.nav-links a.page-numbers:hover,
.nav-links a.page-numbers:focus-visible,
.pagination a.page-number:hover,
.pagination a.page-numbers:hover,
.page-links a:hover,
.nav-pagination > a:hover,
.my-obl-pagination__item > a:hover {
	background: linear-gradient(to bottom, var(--my-obl-pg-hover-top) 0%, var(--my-obl-pg-hover-bottom) 100%) !important;
	border-color: var(--my-obl-pg-hover-bd) !important;
	color: var(--my-obl-pg-active-text) !important;
	text-decoration: none !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current:hover,
.woocommerce-pagination .page-numbers.current:hover,
.nav-links .page-numbers.current:hover,
.pagination .page-numbers.current:hover {
	background: linear-gradient(to bottom, var(--my-obl-pg-active-top) 0%, var(--my-obl-pg-active-bottom) 100%) !important;
	border-color: #aaaaaa !important;
	color: var(--my-obl-pg-active-text) !important;
}

.woocommerce nav.woocommerce-pagination ul li .page-numbers.dots,
.woocommerce-pagination .page-numbers.dots,
.nav-links .page-numbers.dots,
.pagination .page-numbers.dots {
	min-width: auto !important;
	height: auto !important;
	padding: 0 4px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--my-obl-pg-muted) !important;
	font-weight: 500 !important;
}

.woocommerce nav.woocommerce-pagination ul li a.prev,
.woocommerce nav.woocommerce-pagination ul li a.next,
.woocommerce-pagination .prev.page-numbers,
.woocommerce-pagination .next.page-numbers,
.nav-links .prev,
.nav-links .next,
.pagination .prev,
.pagination .next {
	min-width: auto !important;
	padding: 0 14px !important;
	font-size: 13px !important;
}

@media screen and (max-width: 849px) {
	:root {
		--my-obl-pg-size: 34px;
		--my-obl-pg-gap: 5px;
	}

	.woocommerce nav.woocommerce-pagination ul li a,
	.woocommerce nav.woocommerce-pagination ul li span,
	.woocommerce-pagination .page-numbers,
	.nav-links .page-numbers,
	.pagination .page-number,
	.pagination .page-numbers {
		font-size: 13px !important;
		padding: 0 10px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce nav.woocommerce-pagination ul li a,
	.woocommerce nav.woocommerce-pagination ul li span,
	.woocommerce-pagination .page-numbers,
	.nav-links .page-numbers,
	.pagination .page-number,
	.pagination .page-numbers,
	.page-links a,
	.nav-pagination > a {
		transition: none;
	}
}
