.cehs {
	--cehs-scrollbar-size: 8px;
	width: 100%;
	position: relative;
}

.cehs__viewport {
	width: 100%;
	overflow: hidden;
}

.cehs__track {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	width: max-content;
	min-width: 100%;
	gap: 24px;
}

.cehs__item {
	box-sizing: border-box;
	min-width: 0;
}

.cehs__item > .e-con,
.cehs__item > .elementor-element {
	width: 100%;
	max-width: 100%;
}

/* Native horizontal scrolling when the widget itself is being scrolled. */
.cehs--native .cehs__viewport {
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-gutter: stable;
}

.cehs--hide-scrollbar .cehs__viewport {
	scrollbar-width: none;
}

.cehs--hide-scrollbar .cehs__viewport::-webkit-scrollbar {
	display: none;
}

.cehs--desktop-vertical .cehs__viewport {
	/* JS temporarily pins this area when desktop vertical mode is active. */
}

@media (max-width: 1024px) {
	.cehs--desktop-vertical .cehs__viewport {
		position: static !important;
		height: auto !important;
	}

	.cehs__track {
		width: max-content;
	}
}

@media (max-width: 767px) {
	.cehs__viewport {
		touch-action: pan-x;
	}

	.cehs__track {
		width: max-content;
	}
}

/* Elementor editor: never hijack the editor's own scrolling. */
.elementor-editor-active .cehs--desktop-vertical .cehs__viewport {
	position: static !important;
	height: auto !important;
	overflow-x: auto;
	overflow-y: hidden;
}
