/**
 * Query Pagination - Boxed style variation
 *
 * Adds filled boxes with hover and active states to query pagination
 * numbers, previous and next links.
 *
 * @package Studiowp_Landing_Page_Factory
 * @since 1.0.0
 */

/* Numbers
-------------------------------------------------- */
.wp-block-query-pagination-numbers.is-style-boxed {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--xs, 0.5rem);
	justify-content: center;
}

.wp-block-query-pagination-numbers.is-style-boxed .page-numbers {
	align-items: center;
	background-color: var(--wp--preset--color--base, #f3f4f6);
	border: 1px solid var(--wp--preset--color--border, #e5e7eb);
	border-radius: 0.5rem;
	box-sizing: border-box;
	color: var(--wp--preset--color--contrast, #111827);
	display: inline-flex;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	font-weight: 600;
	height: 2.5rem;
	justify-content: center;
	line-height: 1;
	min-width: 2.5rem;
	padding: 0 0.75rem;
	text-decoration: none;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		transform 0.15s ease;
}

.wp-block-query-pagination-numbers.is-style-boxed .page-numbers:hover,
.wp-block-query-pagination-numbers.is-style-boxed .page-numbers:focus-visible {
	background-color: var(--wp--preset--color--primary, #2563eb);
	border-color: var(--wp--preset--color--primary, #2563eb);
	color: var(--wp--preset--color--white, #fff);
	outline: none;
	transform: translateY(-2px);
}

.wp-block-query-pagination-numbers.is-style-boxed .page-numbers.current {
	background-color: var(--wp--preset--color--contrast, #111827);
	border-color: var(--wp--preset--color--contrast, #111827);
	color: var(--wp--preset--color--white, #fff);
	cursor: default;
	transform: none;
}

.wp-block-query-pagination-numbers.is-style-boxed .page-numbers.dots {
	background-color: transparent;
	border-color: transparent;
	color: var(--wp--preset--color--contrast, #111827);
	cursor: default;
	min-width: auto;
	padding: 0 0.25rem;
}

.wp-block-query-pagination-numbers.is-style-boxed .page-numbers.dots:hover,
.wp-block-query-pagination-numbers.is-style-boxed .page-numbers.dots:focus-visible {
	background-color: transparent;
	border-color: transparent;
	color: var(--wp--preset--color--contrast, #111827);
	transform: none;
}

/* Previous / Next
-------------------------------------------------- */
.wp-block-query-pagination-previous.is-style-boxed,
.wp-block-query-pagination-next.is-style-boxed {
	align-items: center;
	background-color: var(--wp--preset--color--base, #f3f4f6);
	border: 1px solid var(--wp--preset--color--border, #e5e7eb);
	border-radius: 0.5rem;
	box-sizing: border-box;
	color: var(--wp--preset--color--contrast, #111827);
	display: inline-flex;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	font-weight: 600;
	height: 2.5rem;
	justify-content: center;
	line-height: 1;
	min-width: 2.5rem;
	padding: 0 0.75rem;
	text-decoration: none;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		transform 0.15s ease;
}

.wp-block-query-pagination-previous.is-style-boxed:hover,
.wp-block-query-pagination-previous.is-style-boxed:focus-visible,
.wp-block-query-pagination-next.is-style-boxed:hover,
.wp-block-query-pagination-next.is-style-boxed:focus-visible {
	background-color: var(--wp--preset--color--primary, #2563eb);
	border-color: var(--wp--preset--color--primary, #2563eb);
	color: var(--wp--preset--color--white, #fff);
	outline: none;
	transform: translateY(-2px);
}
