.actorshop-product-carousel {
	--actorshop-product-carousel-gap: var(--actorshop-product-grid-column-gap, clamp(16px, 1.6vw, 24px));
	--actorshop-product-carousel-action-gap: clamp(10px, 0.9vw, 14px);
	--actorshop-product-carousel-action-half-gap: calc(var(--actorshop-product-carousel-action-gap) / 2);
	--actorshop-product-carousel-visible-count: var(--actorshop-product-carousel-visible-desktop, 4);
	--actorshop-product-carousel-gap-count: var(--actorshop-product-carousel-gap-desktop, 3);
	--actorshop-product-carousel-card-size: calc((100% - (var(--actorshop-product-carousel-gap) * var(--actorshop-product-carousel-gap-count))) / var(--actorshop-product-carousel-visible-count));
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	margin-block: clamp(38px, 6vw, 92px);
}

.actorshop-product-carousel--spacing-gutter {
	margin-block: var(--actorshop-product-grid-column-gap, var(--actorshop-gutter, 16px));
}

.actorshop-product-carousel--spacing-compact {
	margin-block: clamp(16px, 2vw, 28px) clamp(28px, 4vw, 52px);
}

.actorshop-product-carousel--spacing-standard {
	margin-block: clamp(38px, 6vw, 92px);
}

.actorshop-product-carousel--spacing-none {
	margin-block: 0;
}

.actorshop-product-carousel:has(+ .actorshop-hera-categories) {
	margin-bottom: 0;
}

.actorshop-product-carousel + .actorshop-hera-categories {
	margin-top: 0;
}

.actorshop-product-carousel__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(14px, 2vw, 24px);
	align-items: end;
	margin-bottom: clamp(22px, 3vw, 40px);
}

.actorshop-product-carousel__copy {
	max-width: 760px;
}

.actorshop-product-carousel__eyebrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	margin: 0 0 12px;
	min-height: 28px;
	padding: 0 11px;
	background: var(--actorshop-color-primary, #111);
	color: var(--actorshop-on-ink, #fff) !important;
	font-size: 0.72rem;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0;
}

.actorshop-product-carousel__eyebrow * {
	color: inherit;
}

.actorshop-product-carousel__title {
	margin: 0;
	max-width: 12em;
	font-size: var(--actorshop-section-title-size, var(--actorshop-h2-size, 42px));
	font-weight: var(--actorshop-section-title-weight, var(--actorshop-h2-weight, 900));
	line-height: var(--actorshop-section-title-line, var(--actorshop-h2-line, 1.05));
	letter-spacing: 0;
}

.actorshop-product-carousel__subtitle {
	max-width: 620px;
	margin: 12px 0 0;
	color: rgba(17, 17, 17, 0.72);
	font-size: clamp(0.95rem, 1.05vw, 1.06rem);
	line-height: 1.5;
}

.actorshop-product-carousel__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: var(--actorshop-product-carousel-action-gap) 0;
	min-width: min(100%, 560px);
}

.actorshop-product-carousel__button {
	margin-left: 0;
	white-space: nowrap;
}

.actorshop-product-carousel__filters + .actorshop-product-carousel__button {
	margin-left: var(--actorshop-product-carousel-action-half-gap);
}

.actorshop-product-carousel__button + .actorshop-product-carousel__controls,
.actorshop-product-carousel__filters + .actorshop-product-carousel__controls {
	margin-left: var(--actorshop-product-carousel-action-gap);
}

.actorshop-product-carousel__button .actorshop-button__icon {
	width: 0.82em;
	height: 0.82em;
}

.actorshop-product-carousel__filters {
	display: inline-flex;
	align-items: center;
	gap: var(--actorshop-product-carousel-action-half-gap);
	max-width: min(100%, 520px);
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	scrollbar-width: none;
}

.actorshop-product-carousel__filters::-webkit-scrollbar {
	display: none;
}

.actorshop-product-carousel__filter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 13px;
	border: 1px solid var(--actorshop-color-border, #d8d8d8);
	border-radius: 0;
	background: var(--actorshop-color-base-2, #fff);
	color: var(--actorshop-color-primary, #111);
	font-family: var(--actorshop-font-ui, inherit);
	font-size: var(--actorshop-size-label, 0.75rem);
	font-weight: var(--actorshop-weight-label, 800);
	letter-spacing: 0;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
	transition: background 160ms ease, color 160ms ease, border-color 160ms ease, opacity 160ms ease;
}

.actorshop-product-carousel__filter:hover,
.actorshop-product-carousel__filter:focus-visible,
.actorshop-product-carousel__filter.is-active {
	background: var(--actorshop-color-primary, #111);
	color: var(--actorshop-color-base-2, #fff);
	border-color: var(--actorshop-color-primary, #111);
}

.actorshop-product-carousel__controls {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.actorshop-product-carousel__control {
	display: inline-grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border: 1px solid var(--actorshop-color-border, #d8d8d8);
	border-radius: 0;
	background: var(--actorshop-color-base-2, #fff);
	color: var(--actorshop-color-primary, #111);
	cursor: pointer;
	transition: background 160ms ease, color 160ms ease, border-color 160ms ease, opacity 160ms ease;
}

.actorshop-product-carousel__control:hover,
.actorshop-product-carousel__control:focus-visible {
	background: var(--actorshop-color-primary, #111);
	color: var(--actorshop-color-base-2, #fff);
	border-color: var(--actorshop-color-primary, #111);
}

.actorshop-product-carousel__control:disabled {
	cursor: default;
	opacity: 0.36;
	pointer-events: none;
}

.actorshop-product-carousel__viewport {
	width: 100%;
	min-width: 0;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-inline: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.actorshop-product-carousel__viewport::-webkit-scrollbar {
	display: none;
}

.actorshop-content--full:is(.actorshop-product-carousel) .actorshop-product-carousel__header,
.actorshop-content--full:is(.actorshop-product-carousel) .actorshop-product-carousel__viewport,
.actorshop-section--full:is(.actorshop-product-carousel):not(.actorshop-content--boxed):not(.actorshop-content--wide):not(.actorshop-content--full):not(.actorshop-content--bleed) .actorshop-product-carousel__header,
.actorshop-section--full:is(.actorshop-product-carousel):not(.actorshop-content--boxed):not(.actorshop-content--wide):not(.actorshop-content--full):not(.actorshop-content--bleed) .actorshop-product-carousel__viewport {
	width: calc(100% - (var(--actorshop-product-carousel-gap, var(--actorshop-product-grid-column-gap, var(--actorshop-gutter, 16px))) * 2));
	max-width: none;
	margin-inline: auto;
}

.actorshop-product-carousel__track.products {
	display: flex !important;
	flex-flow: row nowrap !important;
	gap: var(--actorshop-product-carousel-gap) !important;
	column-gap: var(--actorshop-product-carousel-gap) !important;
	row-gap: var(--actorshop-product-carousel-gap) !important;
	align-items: stretch;
	justify-content: flex-start !important;
	width: max-content;
	min-width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	overflow: visible !important;
	list-style: none;
}

.actorshop-product-carousel__track.products::before,
.actorshop-product-carousel__track.products::after {
	display: none !important;
	content: none !important;
}

.actorshop-product-carousel__track.products > li.product {
	float: none !important;
	display: grid !important;
	align-self: stretch !important;
	flex: 0 0 var(--actorshop-product-carousel-card-size) !important;
	width: var(--actorshop-product-carousel-card-size) !important;
	min-width: var(--actorshop-product-carousel-card-size) !important;
	max-width: var(--actorshop-product-carousel-card-size) !important;
	min-height: var(--actorshop-product-card-list-item-min-height, 0px);
	height: var(--actorshop-product-card-list-item-height, auto) !important;
	max-height: var(--actorshop-product-card-list-item-max-height, none);
	margin: 0 !important;
	padding: 0;
	list-style: none;
	opacity: 1;
	scroll-snap-align: start;
	scroll-snap-stop: normal;
	transform: translate3d(0, 0, 0) scale(1);
	transition: opacity 240ms ease, transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: var(--actorshop-product-carousel-filter-delay, 0ms);
	will-change: opacity, transform;
}

.actorshop-product-carousel__track.products > li.product.is-product-carousel-filter-leaving,
.actorshop-product-carousel__track.products > li.product.is-product-carousel-filter-entering {
	opacity: 0;
	transform: translate3d(0, 14px, 0) scale(0.97);
	pointer-events: none;
}

.actorshop-product-carousel__track.products > li.product.is-product-carousel-filter-hidden {
	display: none !important;
}

.actorshop-product-carousel.is-product-carousel-filtering .actorshop-product-carousel__track.products {
	pointer-events: none;
}

.editor-styles-wrapper .wp-block-actorshop-hera-product-carousel .actorshop-product-carousel {
	width: 100%;
	max-width: none;
}

.editor-styles-wrapper .wp-block-actorshop-hera-product-carousel .actorshop-product-carousel__viewport {
	display: block !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	width: 100% !important;
	max-width: none !important;
}

.editor-styles-wrapper .wp-block-actorshop-hera-product-carousel .actorshop-product-carousel.actorshop-content--full:not(.actorshop-content--bleed) .actorshop-product-carousel__header,
.editor-styles-wrapper .wp-block-actorshop-hera-product-carousel .actorshop-product-carousel.actorshop-content--full:not(.actorshop-content--bleed) .actorshop-product-carousel__viewport,
.editor-styles-wrapper .wp-block-actorshop-hera-product-carousel .actorshop-product-carousel.actorshop-section--full:not(.actorshop-content--boxed):not(.actorshop-content--wide):not(.actorshop-content--full):not(.actorshop-content--bleed) .actorshop-product-carousel__header,
.editor-styles-wrapper .wp-block-actorshop-hera-product-carousel .actorshop-product-carousel.actorshop-section--full:not(.actorshop-content--boxed):not(.actorshop-content--wide):not(.actorshop-content--full):not(.actorshop-content--bleed) .actorshop-product-carousel__viewport {
	width: calc(100% - (var(--actorshop-product-carousel-gap, var(--actorshop-product-grid-column-gap, var(--actorshop-gutter, 16px))) * 2)) !important;
	max-width: none !important;
	margin-inline: auto !important;
}

.editor-styles-wrapper .wp-block-actorshop-hera-product-carousel .actorshop-product-carousel__track.products,
.editor-styles-wrapper .wp-block-actorshop-hera-product-carousel .woocommerce .actorshop-product-carousel__track.products,
.editor-styles-wrapper .wp-block-actorshop-hera-product-carousel ul.products.actorshop-product-carousel__track {
	display: flex !important;
	grid-template-columns: none !important;
	flex-flow: row nowrap !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	gap: var(--actorshop-product-carousel-gap) !important;
	column-gap: var(--actorshop-product-carousel-gap) !important;
	row-gap: var(--actorshop-product-carousel-gap) !important;
	width: max-content !important;
	min-width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	list-style: none !important;
	transform: translate3d(0, 0, 0);
}

.editor-styles-wrapper .wp-block-actorshop-hera-product-carousel:has(+ .wp-block-actorshop-hera-categories) .actorshop-product-carousel {
	margin-bottom: 0 !important;
}

.editor-styles-wrapper .wp-block-actorshop-hera-product-carousel + .wp-block-actorshop-hera-categories .actorshop-hera-categories {
	margin-top: 0 !important;
}

.editor-styles-wrapper .wp-block-actorshop-hera-product-carousel .actorshop-product-carousel__track.products::before,
.editor-styles-wrapper .wp-block-actorshop-hera-product-carousel .actorshop-product-carousel__track.products::after {
	display: none !important;
	content: none !important;
}

.editor-styles-wrapper .wp-block-actorshop-hera-product-carousel .actorshop-product-carousel__track.products > li.product {
	float: none !important;
	display: grid !important;
	flex: 0 0 var(--actorshop-product-carousel-card-size) !important;
	width: var(--actorshop-product-carousel-card-size) !important;
	min-width: var(--actorshop-product-carousel-card-size) !important;
	max-width: var(--actorshop-product-carousel-card-size) !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.editor-styles-wrapper .wp-block-actorshop-hera-product-carousel .actorshop-product-carousel__track.products > li.product {
	flex-basis: calc((100% - (var(--actorshop-product-carousel-gap) * var(--actorshop-product-carousel-gap-count))) / var(--actorshop-product-carousel-visible-count)) !important;
	width: calc((100% - (var(--actorshop-product-carousel-gap) * var(--actorshop-product-carousel-gap-count))) / var(--actorshop-product-carousel-visible-count)) !important;
	min-width: calc((100% - (var(--actorshop-product-carousel-gap) * var(--actorshop-product-carousel-gap-count))) / var(--actorshop-product-carousel-visible-count)) !important;
	max-width: calc((100% - (var(--actorshop-product-carousel-gap) * var(--actorshop-product-carousel-gap-count))) / var(--actorshop-product-carousel-visible-count)) !important;
}

.actorshop-product-carousel--static .actorshop-product-carousel__track.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	flex-flow: initial !important;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	transform: none !important;
}

.actorshop-product-carousel--static .actorshop-product-carousel__track.products > li.product {
	flex: initial !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
}

.actorshop-product-carousel.is-carousel-static .actorshop-product-carousel__controls {
	display: none;
}

@media (min-width: 901px) and (max-width: 1180px) {
	.actorshop-product-carousel {
		--actorshop-product-carousel-visible-count: var(--actorshop-product-carousel-visible-tablet, 3);
		--actorshop-product-carousel-gap-count: var(--actorshop-product-carousel-gap-tablet, 2);
	}
}

@media (min-width: 1500px) {
	.actorshop-product-carousel {
		--actorshop-product-carousel-visible-count: var(--actorshop-product-carousel-visible-wide, 5);
		--actorshop-product-carousel-gap-count: var(--actorshop-product-carousel-gap-wide, 4);
	}
}

@media (min-width: 1880px) {
	.actorshop-product-carousel {
		--actorshop-product-carousel-visible-count: var(--actorshop-product-carousel-visible-xl, 6);
		--actorshop-product-carousel-gap-count: var(--actorshop-product-carousel-gap-xl, 5);
	}
}

@media (max-width: 900px) {
	.actorshop-product-carousel {
		--actorshop-product-carousel-gap: var(--actorshop-product-grid-column-gap, 12px);
		--actorshop-product-carousel-visible-count: var(--actorshop-product-carousel-visible-mobile, 2);
		--actorshop-product-carousel-gap-count: var(--actorshop-product-carousel-gap-mobile, 1);
		margin-block: 34px 58px;
	}

	.actorshop-product-carousel--spacing-gutter {
		margin-block: var(--actorshop-product-grid-column-gap, var(--actorshop-gutter-mobile, 12px));
	}

	.actorshop-product-carousel--spacing-compact {
		margin-block: 18px 42px;
	}

	.actorshop-product-carousel--spacing-standard {
		margin-block: 34px 58px;
	}

	.actorshop-product-carousel--spacing-none {
		margin-block: 0;
	}

	.actorshop-product-carousel__header {
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
		gap: 14px;
		margin-bottom: 18px;
	}

	.actorshop-product-carousel__title {
		font-size: var(--actorshop-section-title-size, var(--actorshop-h2-size, clamp(1.8rem, 11vw, 3rem)));
		line-height: var(--actorshop-section-title-line, var(--actorshop-h2-line, 1.05));
	}

	.actorshop-product-carousel__subtitle {
		margin-top: 10px;
		font-size: 0.94rem;
	}

	.actorshop-product-carousel__button {
		width: fit-content;
	}

	.actorshop-product-carousel__actions {
		justify-content: flex-start;
		min-width: 0;
		width: 100%;
	}

	.actorshop-product-carousel__button,
	.actorshop-product-carousel__controls {
		margin-left: 0;
	}

	.actorshop-product-carousel__filters + .actorshop-product-carousel__button,
	.actorshop-product-carousel__button + .actorshop-product-carousel__controls,
	.actorshop-product-carousel__filters + .actorshop-product-carousel__controls {
		margin-left: 0;
	}

	.actorshop-product-carousel__filters {
		order: -1;
		width: 100%;
		max-width: 100%;
		padding-bottom: 2px;
	}

	.actorshop-product-carousel__filter {
		min-height: 38px;
		padding-inline: 11px;
		font-size: 0.68rem;
	}

	.actorshop-product-carousel__control {
		width: 38px;
		height: 38px;
	}
}

@media (max-width: 520px) {
	.actorshop-product-carousel__actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
		align-items: start;
		justify-content: stretch;
		justify-items: start;
	}

	.actorshop-product-carousel__filters,
	.actorshop-product-carousel__button {
		max-width: 100%;
	}

	.actorshop-product-carousel__button {
		white-space: normal;
	}

	.actorshop-product-carousel__controls {
		margin-left: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.actorshop-product-carousel__track.products > li.product {
		transition: none !important;
	}
}
