/*
 * Reviews. Figma: 08 Recenzii Google (node 60:328), desktop frame 1512.
 * Left column 400px (eyebrow, heading, rating summary, button), 48px gap, then the slider which
 * runs past the container to the right edge of the screen. Cards are 400px wide, 24px apart.
 */
.sm-rev {
	--sm-star: #faba05;
	box-sizing: border-box;
	padding-block: calc(var(--wp--preset--spacing--96) + var(--wp--preset--spacing--16));
	overflow-x: clip;
	background-color: var(--wp--preset--color--neutral-white);
	color: var(--wp--preset--color--brand-navy);
}

.sm-rev--pale {
	background-color: var(--wp--preset--color--neutral-pale);
}

.sm-rev *,
.sm-rev *::before,
.sm-rev *::after {
	box-sizing: border-box;
}

.sm-rev__inner {
	display: flex;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--48);
	width: 100%;
	max-width: calc(1320px + 2 * var(--sm-page-padding));
	margin-inline: auto;
	padding-inline: var(--sm-page-padding);
}

/* Left column */
.sm-rev__left {
	display: flex;
	flex: none;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--24);
	width: 400px;
	max-width: 100%;
}

.sm-rev__left > * {
	margin: 0;
}

.sm-rev__title {
	font-family: var(--wp--preset--font-family--plus-jakarta-sans);
	font-size: var(--wp--preset--font-size--h-2);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--brand-navy);
}

.sm-rev__summary {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--16);
}

.sm-rev__summary--custom {
	display: block;
	max-width: 100%;
}

.sm-rev__summary p {
	margin: 0;
}

.sm-rev__score {
	font-family: var(--wp--preset--font-family--plus-jakarta-sans);
	font-size: 64px;
	font-weight: 700;
	line-height: 1;
	color: var(--wp--preset--color--brand-navy);
}

.sm-rev__score-meta {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--4);
}

.sm-rev__stars {
	font-family: var(--wp--preset--font-family--plus-jakarta-sans);
	font-size: var(--wp--preset--font-size--h-3);
	font-weight: 700;
	line-height: 32px;
	letter-spacing: -0.01em;
	color: var(--sm-star);
}

.sm-rev__caption {
	font-size: var(--wp--preset--font-size--small);
	line-height: 22px;
	color: var(--wp--preset--color--neutral-muted);
}

/* Slider: bleeds to the right edge of the screen */
.sm-rev__slider {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	gap: var(--wp--preset--spacing--24);
	min-width: 0;
	margin-right: calc(-1 * (var(--sm-page-padding) + max(0px, (100vw - 1320px - 2 * var(--sm-page-padding)) / 2)));
}

.sm-rev__slider--embed {
	display: block;
	margin-right: 0;
}

.sm-rev__track {
	display: flex;
	gap: var(--wp--preset--spacing--24);
	margin: 0;
	padding: 0;
	overflow-x: auto;
	list-style: none;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.sm-rev__track::-webkit-scrollbar {
	display: none;
}

.sm-review {
	display: flex;
	flex: 0 0 400px;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--16);
	min-width: 0;
	margin: 0;
	padding: 28px;
	background-color: var(--wp--preset--color--neutral-pale);
	border-radius: var(--wp--preset--border-radius--md);
	scroll-snap-align: start;
}

.sm-rev--pale .sm-review {
	background-color: var(--wp--preset--color--neutral-white);
}

.sm-review > p {
	margin: 0;
}

.sm-review__author {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--12);
	width: 100%;
}

.sm-review__avatar {
	display: grid;
	place-items: center;
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: var(--wp--preset--border-radius--pill);
	background-color: var(--wp--preset--color--brand-navy);
	font-family: var(--wp--preset--font-family--plus-jakarta-sans);
	font-size: var(--wp--preset--font-size--h-4);
	font-weight: 600;
	line-height: 1;
	color: var(--wp--preset--color--neutral-white);
}

.sm-review__who {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	min-width: 0;
}

.sm-review__name {
	font-size: var(--wp--preset--font-size--body);
	font-weight: 500;
	line-height: 26px;
	color: var(--wp--preset--color--brand-navy);
}

.sm-review__date {
	font-size: var(--wp--preset--font-size--small);
	line-height: 22px;
	color: var(--wp--preset--color--neutral-muted);
}

.sm-review__source {
	flex: none;
	font-family: var(--wp--preset--font-family--plus-jakarta-sans);
	font-size: var(--wp--preset--font-size--h-4);
	font-weight: 600;
	line-height: 26px;
	color: var(--wp--preset--color--brand-blue);
}

.sm-review__stars {
	font-size: var(--wp--preset--font-size--body);
	line-height: 26px;
	color: var(--sm-star);
}

.sm-review__text {
	font-size: var(--wp--preset--font-size--body);
	line-height: 26px;
	color: var(--wp--preset--color--brand-navy);
}

.sm-review__more {
	margin-top: auto;
	font-size: var(--wp--preset--font-size--link);
	font-weight: 600;
	line-height: 22px;
	color: var(--wp--preset--color--brand-blue);
	text-decoration: none;
}

.sm-review__more:hover {
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

/* Arrows */
.sm-rev__arrows {
	display: flex;
	gap: var(--wp--preset--spacing--12);
}

.sm-rev__arrow {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	padding: 0;
	background: transparent;
	border: 1.5px solid var(--wp--preset--color--neutral-line);
	border-radius: var(--wp--preset--border-radius--pill);
	cursor: pointer;
	transition: border-color 0.15s ease, opacity 0.15s ease;
}

.sm-rev__arrow:hover:not(:disabled) {
	border-color: var(--wp--preset--color--brand-navy);
}

.sm-rev__arrow:disabled {
	opacity: 0.4;
	cursor: default;
}

.sm-rev__arrow img {
	display: block;
	width: 20px;
	height: 20px;
}

/* Tablet: left on top, slider below (still bleeding right) */
@media (max-width: 1024px) {
	.sm-rev__inner {
		flex-direction: column;
		align-items: stretch;
		gap: var(--wp--preset--spacing--48);
	}

	.sm-rev__left {
		width: 100%;
	}

	.sm-rev__slider {
		flex: none;
		width: auto;
	}

	.sm-review {
		flex-basis: 360px;
	}
}

/* Mobile: slider bleeds to both edges, ~1.1 cards in view, snaps to the container edge */
@media (max-width: 767px) {
	.sm-rev {
		padding-block: var(--wp--preset--spacing--64);
	}

	.sm-rev__inner {
		gap: var(--wp--preset--spacing--32);
	}

	.sm-rev__left .sm-btn {
		width: 100%;
	}

	.sm-rev__score {
		font-size: 48px;
	}

	.sm-rev__slider:not(.sm-rev__slider--embed) {
		margin-left: calc(-1 * var(--sm-page-padding));
		margin-right: calc(-1 * var(--sm-page-padding));
	}

	.sm-rev__track {
		gap: var(--wp--preset--spacing--16);
		padding-inline: var(--sm-page-padding);
		scroll-padding-inline: var(--sm-page-padding);
	}

	.sm-review {
		flex-basis: calc((100vw - 2 * var(--sm-page-padding) + var(--sm-page-padding)) / 1.1 - var(--wp--preset--spacing--16));
	}

	.sm-rev__arrows {
		padding-inline: var(--sm-page-padding);
	}
}
