/**
 * Hunza — slider pagination for product category archives.
 *
 * Loaded under its own 'hunza-category-slider' handle. It cannot ride on
 * 'hunza-product', which is enqueued for single product pages only and so never
 * reaches an archive.
 *
 * Added 2026-09-08.
 */

/* The viewport clips the off-screen pages. The product row carries Flatsome's
   negative gutter margins, so it sits ~10px wider than the viewport on each
   side — only empty column padding, which is why clipping it costs nothing. */
.hcs-viewport {
	position: relative;
	overflow: hidden;
}

.hcs-track {
	display: flex;
	align-items: flex-start;
	width: 100%;
	will-change: transform;
}

.hcs-slide {
	flex: 0 0 100%;
	width: 100%;
	min-width: 0;
	/* Room for the hover shadow on the bottom row, inside the measured height. */
	padding-bottom: 8px;
}

.hcs-slide > .products {
	margin-bottom: 0;
}

/* Nothing should be tabbable or read out on a page that is off screen. Modern
   browsers honour [inert]; this covers the rest. */
.hcs-slide[aria-hidden="true"] {
	pointer-events: none;
}

/* --- controls ------------------------------------------------------------ */

.hcs-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 6px;
	margin: 24px 0 4px;
}

.hcs-numbers {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
}

.hcs-arrow,
.hcs-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 10px;
	margin: 0;
	border: 1px solid rgba(0, 0, 0, 0.16);
	border-radius: 3px;
	background: transparent;
	box-shadow: none;
	color: var(--primary-color, #232323);
	font-size: 15px;
	line-height: 1;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.hcs-arrow:hover,
.hcs-number:hover {
	border-color: var(--primary-color, #232323);
	background: rgba(0, 0, 0, 0.04);
	box-shadow: none;
}

.hcs-arrow:focus-visible,
.hcs-number:focus-visible {
	outline: 2px solid var(--primary-color, #232323);
	outline-offset: 2px;
}

.hcs-number.is-current {
	background: var(--primary-color, #232323);
	border-color: var(--primary-color, #232323);
	color: #fff;
	cursor: default;
}

.hcs-arrow[disabled] {
	opacity: 0.35;
	cursor: default;
	pointer-events: none;
}

.hcs-arrow i {
	font-size: 18px;
	line-height: 1;
}

/* --- status line --------------------------------------------------------- */

.hcs-status {
	margin: 0 0 8px;
	text-align: center;
	font-size: 13px;
	opacity: 0.65;
}

/* While a page that has not been prefetched is being fetched. */
.hcs.is-busy .hcs-viewport {
	opacity: 0.55;
	transition: opacity 0.15s ease;
}

.hcs.is-busy .hcs-nav {
	pointer-events: none;
}

/* --- the original numbered pagination ------------------------------------ */

/* Left in the DOM so crawlers still follow page 2 and 3, taken out of the
   layout so shoppers see the slider controls instead. */
.hcs-seo-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (max-width: 549px) {
	.hcs-arrow,
	.hcs-number {
		min-width: 34px;
		height: 34px;
		padding: 0 7px;
		font-size: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hcs-track,
	.hcs-viewport {
		transition: none !important;
	}
}
