.hv-ql-cloud {
	background: #fff;
	border: 1px solid #e0ecf4;
	border-radius: 16px;
	padding: 28px;
	box-shadow: 0 4px 20px rgba(0, 102, 204, .08);
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
}

.hv-ql-tag {
	background: var(--hv-cream);
	color: #0d1b2a;
	text-decoration: none;
	font-size: .78rem;
	font-weight: 600;
	padding: 6px 14px;
	border-radius: 50px;
	border: 1px solid #d8e8f0;
	transition: all .25s;
	white-space: nowrap;
}

.hv-ql-tag:hover {
	background: var(--hv-primary);
	color: #fff;
	border-color: var(--hv-primary);
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(0, 102, 204, .28);
}

@media (max-width: 768px) {
	.hv-about-ref-inner {
		flex-direction: column;
	}

	.hv-values-grid {
		grid-template-columns: 1fr !important;
	}
}

/* ── Slider / Carousel ───────────────────────────────────────────── */

/* Track: horizontal scrollable flex row.
   scroll-snap intentionally omitted — RAF-based auto-scroll
   handles positioning; snap points cause jerkiness with RAF. */
.hv-slider-track,
.woocommerce ul.products.hv-slider-track {
	display: flex !important;
	flex-wrap: nowrap !important;
	overflow-x: hidden !important;
	/* hidden lets RAF control position; no scrollbar */
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	gap: 20px !important;
	/* remove WooCommerce / Gutenberg grid overrides — higher specificity
	   than style.css's `.woocommerce ul.products{display:grid!important}`
	   (0,2,1) so it wins regardless of stylesheet load order */
	grid-template-columns: none !important;
}

.hv-slider-track::-webkit-scrollbar {
	display: none;
}

/* Product slides — fixed width so clones fill seamlessly.
   `body .woocommerce ul.products.hv-slider-track>li.product` outranks
   style.css's `.woocommerce ul.products li.product{width:100%!important}`
   (0,3,2) regardless of stylesheet load order. */
.hv-slider-track.products>li.product,
body .woocommerce ul.products.hv-slider-track > li.product {
	flex: 0 0 calc(25% - 15px) !important;
	width: auto !important;
	margin: 0 !important;
}

/* Blog slides */
.hv-slider-track--blog>* {
	flex: 0 0 calc(33.333% - 14px) !important;
	min-width: 0;
}

/* Nav buttons container — sits inside .hv-section-hdr or .hv-section-head */
.hv-slider-nav {
	display: flex;
	gap: 8px;
	align-items: center;
	flex-shrink: 0;
	margin-left: 16px;
}

/* For centered blog heading, allow nav to float right */
.hv-section-head .hv-slider-nav {
	position: absolute;
	right: 40px;
	top: 50%;
	transform: translateY(-50%);
}

/* Make the blog section head relatively positioned for the above */
#hv-blog .hv-section-head {
	position: relative;
}

.hv-slider-prev,
.hv-slider-next {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1.5px solid rgba(0, 102, 204, .4);
	background: transparent;
	color: var(--hv-primary);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .2s;
	flex-shrink: 0;
	padding: 0;
}

.hv-slider-prev:hover:not(:disabled),
.hv-slider-next:hover:not(:disabled) {
	background: var(--hv-primary);
	color: #fff;
	border-color: var(--hv-primary);
}

.hv-slider-prev:disabled,
.hv-slider-next:disabled {
	opacity: .3;
	cursor: not-allowed;
}

/* Light buttons on dark section backgrounds */
#hv-why .hv-slider-prev,
#hv-why .hv-slider-next {
	border-color: rgba(59, 130, 246, .45);
	color: var(--hv-primary-subtle);
}

#hv-why .hv-slider-prev:hover:not(:disabled),
#hv-why .hv-slider-next:hover:not(:disabled) {
	background: var(--hv-primary-subtle);
	color: #0d0d1a;
	border-color: var(--hv-primary-subtle);
}

#hv-blog .hv-slider-prev,
#hv-blog .hv-slider-next {
	border-color: rgba(0, 102, 204, .4);
}

/* Responsive slide widths */
@media (max-width: 991px) {
	.hv-slider-track.products>li.product,
	body .woocommerce ul.products.hv-slider-track > li.product {
		flex: 0 0 calc(50% - 10px) !important;
	}

	.hv-slider-track--blog>* {
		flex: 0 0 calc(50% - 10px) !important;
	}
}
