/**
 * Shop / search results toolbar: result count + sort on one row.
 */

.products-filter-area__toolbar {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.5rem;
}

.products-filter-area__toolbar .woocommerce-result-count,
.products-filter-area__toolbar .woocommerce-ordering {
	margin: 0;
	float: none;
}

.products-filter-area__toolbar .woocommerce-ordering {
	flex-shrink: 0;
	text-align: right;
}

.products-filter-area__toolbar .woocommerce-result-count {
	flex: 1 1 auto;
	min-width: 0;
}

/* Legacy Bootstrap row markup (parent theme fallback). */
.products-filter-area .row {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.5rem;
}

.products-filter-area .row > [class*="col-"] {
	flex: 0 1 auto;
	width: auto;
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.products-filter-area .row > [class*="col-"]:first-child {
	flex: 1 1 auto;
}

.products-filter-area .row .woocommerce-result-count,
.products-filter-area .row .woocommerce-ordering {
	margin: 0;
	float: none;
}

.products-filter-area .row .woocommerce-ordering {
	text-align: right;
}

/* Elementor WooCommerce archive / product search loops. */
.elementor-widget-wc-archive-products .woocommerce,
.elementor-widget-woocommerce-archive-products .woocommerce {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.5rem;
}

.elementor-widget-wc-archive-products .woocommerce > .woocommerce-result-count,
.elementor-widget-woocommerce-archive-products .woocommerce > .woocommerce-result-count {
	flex: 1 1 auto;
	margin: 0;
	float: none;
	min-width: 0;
}

.elementor-widget-wc-archive-products .woocommerce > .woocommerce-ordering,
.elementor-widget-woocommerce-archive-products .woocommerce > .woocommerce-ordering {
	flex: 0 0 auto;
	margin: 0;
	float: none;
}

.elementor-widget-wc-archive-products .woocommerce > .woocommerce-notices-wrapper,
.elementor-widget-wc-archive-products .woocommerce > ul.products,
.elementor-widget-wc-archive-products .woocommerce > .woocommerce-pagination,
.elementor-widget-woocommerce-archive-products .woocommerce > .woocommerce-notices-wrapper,
.elementor-widget-woocommerce-archive-products .woocommerce > ul.products,
.elementor-widget-woocommerce-archive-products .woocommerce > .woocommerce-pagination {
	width: 100%;
	flex: 0 0 100%;
}

/* Royal Addons product grid sorting row. */
.wpr-grid-sorting {
	flex-wrap: nowrap;
}

@media (max-width: 767px) {
	.products-filter-area__toolbar,
	.products-filter-area .row {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: center;
		text-align: center;
		gap: 0.75rem;
	}

	.products-filter-area__toolbar .woocommerce-result-count,
	.products-filter-area__toolbar .woocommerce-ordering,
	.products-filter-area .row .woocommerce-result-count,
	.products-filter-area .row .woocommerce-ordering {
		flex: 0 0 auto;
		width: 100%;
		max-width: 100%;
		margin: 0;
		text-align: center !important;
	}

	.products-filter-area__toolbar .woocommerce-ordering,
	.products-filter-area .row .woocommerce-ordering {
		margin-left: 0;
	}

	.products-filter-area .woocommerce-ordering {
		margin-top: 0 !important;
	}

	.products-filter-area .woocommerce-ordering,
	.products-filter-area p {
		text-align: center !important;
	}

	.products-filter-area .woocommerce-ordering .nice-select,
	.products-filter-area .woocommerce-ordering select {
		margin-left: auto;
		margin-right: auto;
	}

	/* Elementor WooCommerce archive / search */
	.elementor-widget-wc-archive-products .woocommerce,
	.elementor-widget-woocommerce-archive-products .woocommerce {
		justify-content: center;
	}

	.elementor-widget-wc-archive-products .woocommerce > .woocommerce-result-count,
	.elementor-widget-wc-archive-products .woocommerce > .woocommerce-ordering,
	.elementor-widget-woocommerce-archive-products .woocommerce > .woocommerce-result-count,
	.elementor-widget-woocommerce-archive-products .woocommerce > .woocommerce-ordering {
		flex: 0 0 100%;
		width: 100%;
		text-align: center;
	}

	.wpr-grid-sorting {
		justify-content: center;
		text-align: center;
	}
}

/* Pagination: bottom space (desktop + mobile) and single row on small screens. */
.woocommerce-pagination,
nav.pagination,
.wpr-grid-pagination,
.text-center.mt-5,
.text-left.mt-5 {
	margin-bottom: 3.5rem !important;
	padding-bottom: 2rem;
}

.woocommerce-pagination {
	margin-top: 3rem;
}

/* Elementor / WC grid: 4 columns desktop, 2 on mobile (search & archives). */
@media (min-width: 992px) {
	body.search .elementor-widget-wc-archive-products .woocommerce ul.products,
	body.search .elementor-widget-woocommerce-archive-products .woocommerce ul.products,
	.elementor-widget-wc-archive-products .woocommerce.columns-4 ul.products,
	.elementor-widget-woocommerce-archive-products .woocommerce.columns-4 ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 991px) {
	body.search .elementor-widget-wc-archive-products .woocommerce ul.products,
	body.search .elementor-widget-woocommerce-archive-products .woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

.pagination .nav-links {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.woocommerce-pagination ul.page-numbers {
	gap: 8px;
}

@media (max-width: 767px) {
	.woocommerce-pagination ul.page-numbers,
	.pagination .nav-links,
	.wpr-grid-pagination {
		display: inline-flex;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: center;
		gap: 8px;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.woocommerce-pagination ul.page-numbers::-webkit-scrollbar,
	.pagination .nav-links::-webkit-scrollbar,
	.wpr-grid-pagination::-webkit-scrollbar {
		display: none;
	}

	.woocommerce-pagination ul.page-numbers li {
		flex-shrink: 0;
	}

	.pagination .nav-links .page-numbers,
	.wpr-grid-pagination > a,
	.wpr-grid-pagination > span {
		flex-shrink: 0;
	}

	.woocommerce-pagination ul.page-numbers li a,
	.woocommerce-pagination ul.page-numbers li span,
	.pagination .nav-links .page-numbers {
		padding: 10px 14px;
		margin: 0;
		white-space: nowrap;
	}

	.woocommerce-pagination ul.page-numbers li a.next,
	.woocommerce-pagination ul.page-numbers li a.prev,
	.pagination .nav-links .next,
	.pagination .nav-links .prev {
		display: inline-flex;
		align-items: center;
		width: auto;
	}

	.wpr-grid-pagination-justify .wpr-grid-pagination,
	.wpr-grid-pagination-center .wpr-grid-pagination {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: center;
		gap: 8px;
	}

	.wpr-grid-pagination-justify .wpr-grid-pagi-left-arrows,
	.wpr-grid-pagination-justify .wpr-grid-pagi-right-arrows,
	.wpr-grid-pagination-justify .wpr-grid-pagination-default .wpr-prev-post-link,
	.wpr-grid-pagination-justify .wpr-grid-pagination-default .wpr-next-post-link {
		float: none;
	}

	.text-center.mt-5,
	.text-left.mt-5 {
		margin-bottom: 2.5rem !important;
		padding-bottom: 1.5rem;
	}
}
