/* The builder owns outer borders and width; the module draws the image divider. */
.biomy-element.biomy-element--reviews {
	box-sizing: border-box;
	min-width: 0;
	padding: 0;
	background: transparent;
	color: #070707;
}
.biomy-element.biomy-element--reviews[data-biomy-ready] {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
	align-items: stretch;
}
.biomy-element.biomy-element--reviews .biomy-reviews__media {
	min-width: 0;
	width: 100%;
	position: relative;
	overflow: hidden;
	aspect-ratio: 8 / 9;
	align-self: stretch;
}
.biomy-element.biomy-element--reviews .biomy-reviews__media[hidden] { display: none; }
.biomy-element.biomy-element--reviews .biomy-reviews__image-track {
	display: flex;
	position: absolute;
	inset: 0;
}
.biomy-element.biomy-element--reviews .biomy-reviews__image-slide {
	flex: 0 0 100%;
	min-width: 0;
	overflow: hidden;
}
.biomy-element.biomy-element--reviews .biomy-reviews__image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
}
.biomy-element.biomy-element--reviews .biomy-reviews__panel { min-width: 0; }
.biomy-element.biomy-element--reviews[data-biomy-ready] .biomy-reviews__panel {
	display: flex;
	flex-direction: column;
	padding: 40px clamp(32px, 7vw, 100px);
}
.biomy-element.biomy-element--reviews[data-biomy-ready] .biomy-reviews__viewport { flex: 1 0 auto; }
/* Each native slide retains its own image when JS is unavailable. */
.biomy-element.biomy-element--reviews:not([data-biomy-ready]) .biomy-reviews__slide {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}
.biomy-element.biomy-element--reviews:not([data-biomy-ready]) .biomy-reviews__content {
	grid-column: 2;
	grid-row: 1;
	padding: 40px clamp(32px, 7vw, 100px);
}
.biomy-element.biomy-element--reviews:not([data-biomy-ready]) .biomy-reviews__image-slide {
	position: relative;
	grid-column: 1;
	grid-row: 1;
	aspect-ratio: 8 / 9;
}
/* Keep the divider above moving images without changing carousel geometry. */
.biomy-element.biomy-element--reviews .biomy-reviews__media::after,
.biomy-element.biomy-element--reviews:not([data-biomy-ready]) .biomy-reviews__image-slide::after {
	content: '';
	position: absolute;
	inset: 0;
	border-right: 1px solid #070707;
	z-index: 1;
	pointer-events: none;
}
@media (max-width: 767px) {
	.biomy-element.biomy-element--reviews .biomy-reviews__media::after { content: none; }
	.biomy-element.biomy-element--reviews:not([data-biomy-ready]) .biomy-reviews__image-slide::after {
		border-right: 0;
		border-top: 1px solid #070707;
	}
	.biomy-element.biomy-element--reviews[data-biomy-ready] .biomy-reviews__panel { position: relative; }
	/* A native border matches the builder's lines. JS measures page gutters so
	   its full-page width also excludes the scrollbar, without a spread shadow. */
	.biomy-element.biomy-element--reviews[data-biomy-ready] .biomy-reviews__panel::after {
		content: '';
		position: absolute;
		inset: auto auto 0 var(--biomy-reviews-divider-left, 0px);
		width: var(--biomy-reviews-divider-width, 100%);
		height: 1px;
		box-sizing: border-box;
		border: 0;
		border-top: 1px solid #070707;
		background: none;
		box-shadow: none;
		clip-path: none;
		z-index: 1;
		pointer-events: none;
	}
}
.biomy-element.biomy-element--reviews .biomy-reviews__viewport {
	box-sizing: border-box;
	width: 100%;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
}
.biomy-element.biomy-element--reviews[data-biomy-ready] .biomy-reviews__viewport {
	overflow: hidden;
	scroll-snap-type: none;
}
.biomy-element.biomy-element--reviews .biomy-reviews__track {
	display: flex;
	align-items: stretch;
}
.biomy-element.biomy-element--reviews[data-biomy-ready] .biomy-reviews__track {
	touch-action: pan-y pinch-zoom;
}
.biomy-element.biomy-element--reviews .biomy-reviews__slide {
	box-sizing: border-box;
	position: relative;
	flex: 0 0 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
	scroll-snap-align: start;
	overflow-wrap: anywhere;
}
.biomy-element.biomy-element--reviews .biomy-reviews__stars {
	display: flex;
	gap: 4px;
	margin: 0 0 28px;
	color: #070707;
}
.biomy-element.biomy-element--reviews .biomy-reviews__stars svg {
	display: block;
	flex: 0 0 17px;
	width: 17px;
	height: 17px;
}
.biomy-element.biomy-element--reviews .biomy-reviews__demo {
	margin: -16px 0 16px;
	font-size: 13px;
	line-height: 1.4;
	color: #555;
}
.biomy-element.biomy-element--reviews .biomy-reviews__product {
	margin: 0 0 28px;
	font-family: inherit;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.25;
	color: inherit;
}
.biomy-element.biomy-element--reviews .biomy-reviews__quote {
	position: static;
	display: block;
	margin: 0 0 28px;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	font: inherit;
	color: inherit;
}
/* BeTheme decorates blockquotes with quotation marks. */
.biomy-element.biomy-element--reviews .biomy-reviews__quote::before,
.biomy-element.biomy-element--reviews .biomy-reviews__quote::after {
	content: none;
}
.biomy-element.biomy-element--reviews .biomy-reviews__text {
	margin: 0;
	font-size: 16px;
	font-weight: 400;
	font-style: normal;
	line-height: 1.35;
	white-space: pre-line;
}
.biomy-element.biomy-element--reviews .biomy-reviews__author {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
}
.biomy-element.biomy-element--reviews .biomy-reviews__controls {
	display: flex;
	justify-content: space-between;
	margin-top: 80px;
	flex-shrink: 0;
}
.biomy-element.biomy-element--reviews .biomy-reviews__controls[hidden] {
	display: none;
}
.biomy-element.biomy-element--reviews .biomy-reviews__arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 44px;
	min-height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: inherit;
	cursor: pointer;
}
.biomy-element.biomy-element--reviews .biomy-reviews__arrow svg {
	display: block;
	width: 26px;
	height: 21px;
	flex: 0 0 26px;
}
.biomy-element.biomy-element--reviews .biomy-reviews__arrow::after {
	content: none;
}
.biomy-element.biomy-element--reviews .biomy-reviews__arrow:disabled {
	opacity: .3;
	cursor: default;
}
.biomy-element.biomy-element--reviews :is(button, .biomy-reviews__viewport):focus-visible {
	outline: 2px solid #070707;
	outline-offset: -3px;
}
.biomy-element.biomy-element--reviews .biomy-reviews__status {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}
@media (max-width: 767px) {
	.biomy-element.biomy-element--reviews[data-biomy-ready] { grid-template-columns: minmax(0, 1fr); }
	.biomy-element.biomy-element--reviews .biomy-reviews__media { grid-row: 2; }
	.biomy-element.biomy-element--reviews[data-biomy-ready] .biomy-reviews__panel { padding: 20px; }
	.biomy-element.biomy-element--reviews:not([data-biomy-ready]) .biomy-reviews__slide { display: flex; flex-direction: column; }
	.biomy-element.biomy-element--reviews:not([data-biomy-ready]) .biomy-reviews__content { padding: 20px; }
	.biomy-element.biomy-element--reviews .biomy-reviews__product {
		margin-bottom: 24px;
	}
	.biomy-element.biomy-element--reviews .biomy-reviews__controls {
		margin-top: 48px;
	}
}

/* Keep controls consistent with the product carousel; targets stay still. */
@media (prefers-reduced-motion: no-preference) {
	.biomy-element.biomy-element--reviews .biomy-reviews__arrow svg {
		transition: transform 360ms cubic-bezier(.22, 1, .36, 1);
	}
	.biomy-element.biomy-element--reviews .biomy-reviews__arrow[data-biomy-prev]:focus-visible svg {
		transform: translateX(-4px);
	}
	.biomy-element.biomy-element--reviews .biomy-reviews__arrow[data-biomy-next]:focus-visible svg {
		transform: translateX(4px);
	}
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
	.biomy-element.biomy-element--reviews .biomy-reviews__arrow[data-biomy-prev]:hover:not(:disabled) svg {
		transform: translateX(-4px);
	}
	.biomy-element.biomy-element--reviews .biomy-reviews__arrow[data-biomy-next]:hover:not(:disabled) svg {
		transform: translateX(4px);
	}
}
@media (prefers-reduced-motion: no-preference) {
	.biomy-element.biomy-element--reviews .biomy-reviews__arrow:active:not(:disabled) svg {
		transform: scale(.94);
	}
}
@media (prefers-reduced-motion: reduce) {
	.biomy-element.biomy-element--reviews .biomy-reviews__arrow svg {
		transition: none;
	}
}
