/* Yana Berg — отзывы: вкладки-«пилюля» и горизонтальный слайдер карточек со scroll-snap. */

.yb-reviews {
	background: var(--yb-ink);
	color: var(--yb-white);
	padding: 120px 24px;
	font-family: var(--yb-font-body);
	text-align: left;
	border-top: 1px solid var(--yb-line-soft);
	overflow: hidden;
}

.yb-reviews * {
	box-sizing: border-box;
}

.yb-reviews__inner {
	max-width: var(--yb-container);
	margin: 0 auto;
}

/* -------- шапка -------- */

.yb-reviews__head {
	display: grid;
	grid-template-columns: 60px minmax(0, 1fr) auto;
	column-gap: 24px;
	align-items: center;
	padding-bottom: 40px;
	border-bottom: 1px solid var(--yb-line);
}

.yb-reviews__index {
	font-size: var(--yb-fs-label);
	font-weight: 600;
	letter-spacing: var(--yb-track-caps);
	text-transform: uppercase;
	color: var(--yb-marsala-text);
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	justify-self: start;
}

.yb-reviews__title {
	font-family: var(--yb-font-display);
	font-size: clamp(44px, 5.2vw, 76px);
	font-weight: 400;
	line-height: 1;
	color: var(--yb-white);
	margin: 0;
}

/* Переключатель-«пилюля». */
.yb-reviews__tabs {
	display: inline-flex;
	gap: 4px;
	padding: 5px;
	border-radius: var(--yb-radius-pill);
	background: var(--yb-ink-raised);
	border: 1px solid var(--yb-line-soft);
}

.yb-reviews__tab {
	padding: 12px 22px;
	border: 0;
	border-radius: var(--yb-radius-pill);
	background: transparent;
	color: var(--yb-text-muted);
	font-family: var(--yb-font-body);
	font-size: var(--yb-fs-base);
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
	transition: color var(--yb-duration) ease, background var(--yb-duration) ease, box-shadow var(--yb-duration) ease;
	appearance: none;
	-webkit-appearance: none;
}

.yb-reviews__tab:hover {
	color: var(--yb-white);
}

.yb-reviews__tab.is-active {
	background: var(--yb-gradient-accent);
	color: var(--yb-white);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.yb-reviews__tab:focus-visible {
	outline: 1px solid var(--yb-marsala-text);
	outline-offset: 2px;
}

/* -------- слайдер -------- */

.yb-reviews__panel[hidden] {
	display: none;
}

.yb-reviews__track {
	--yb-reviews-per-view: 3.3;
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc(100% / var(--yb-reviews-per-view));
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
	border-bottom: 1px solid var(--yb-line);
}

.yb-reviews__track::-webkit-scrollbar {
	display: none;
}

.yb-reviews__card {
	scroll-snap-align: start;
	border-left: 1px solid var(--yb-line);
	padding: 24px 28px 32px;
	min-width: 0;
}

.yb-reviews__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.yb-reviews__media {
	aspect-ratio: 1 / 1;
	border-radius: var(--yb-radius-lg);
	overflow: hidden;
	background: var(--yb-ink-raised);
	margin-bottom: 24px;
}

.yb-reviews__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(0.15);
	transition: transform 0.8s var(--yb-ease);
}

.yb-reviews__card:hover .yb-reviews__media img {
	transform: scale(1.04);
}

/* Карточка без фото (Google Maps, пресса): большая кавычка вместо снимка. */
.yb-reviews__card--text .yb-reviews__media {
	display: grid;
	place-items: center;
	background: var(--yb-gradient-accent);
}

.yb-reviews__quote {
	font-family: var(--yb-font-display);
	font-size: 160px;
	line-height: 0.6;
	color: var(--yb-on-dark);
	transform: translateY(24px);
}

.yb-reviews__meta {
	margin: 0 0 12px;
	font-size: 20px;
	line-height: 1.3;
	color: var(--yb-white);
}

.yb-reviews__name {
	margin: 0 0 8px;
	font-family: var(--yb-font-body);
	font-size: var(--yb-fs-base);
	font-weight: 500;
	line-height: 1.4;
	color: var(--yb-white);
}

.yb-reviews__text {
	margin: 0;
	font-size: var(--yb-fs-base);
	line-height: 1.5;
	color: var(--yb-text-muted);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.yb-reviews__link:hover .yb-reviews__name {
	color: var(--yb-marsala-text);
}

/* -------- стрелки -------- */

.yb-reviews__nav {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 24px;
}

.yb-reviews__arrow {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 1px solid var(--yb-line);
	border-radius: var(--yb-radius-pill);
	background: transparent;
	color: var(--yb-white);
	cursor: pointer;
	transition: border-color var(--yb-duration) ease, background var(--yb-duration) ease, opacity var(--yb-duration) ease;
	appearance: none;
	-webkit-appearance: none;
}

.yb-reviews__arrow:hover:not(:disabled) {
	border-color: var(--yb-marsala-text);
	background: color-mix(in srgb, var(--yb-marsala) 25%, transparent);
}

.yb-reviews__arrow:disabled {
	opacity: 0.3;
	cursor: default;
}

.yb-reviews__arrow:focus-visible {
	outline: 1px solid var(--yb-marsala-text);
	outline-offset: 2px;
}

/* -------- адаптив -------- */

@media (max-width: 1100px) {
	.yb-reviews__track {
		--yb-reviews-per-view: 2.3;
	}
}

@media (max-width: 900px) {
	.yb-reviews {
		padding: 72px 20px;
	}

	.yb-reviews__head {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 24px;
		padding-bottom: 28px;
	}

	.yb-reviews__index {
		display: none;
	}

	/* Вкладки прокручиваются, если не влезают. */
	.yb-reviews__tabs {
		justify-self: start;
		max-width: 100%;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.yb-reviews__tabs::-webkit-scrollbar {
		display: none;
	}

	.yb-reviews__card {
		padding: 20px 20px 28px;
	}
}

@media (max-width: 700px) {
	.yb-reviews {
		padding: 56px 16px;
	}

	.yb-reviews__track {
		--yb-reviews-per-view: 1.2;
	}

	.yb-reviews__title {
		font-size: 40px;
	}

	.yb-reviews__tab {
		padding: 10px 16px;
		font-size: var(--yb-fs-ui);
	}

	.yb-reviews__card {
		padding: 16px 16px 24px;
	}

	.yb-reviews__media {
		border-radius: 20px;
		margin-bottom: 18px;
	}

	.yb-reviews__meta {
		font-size: var(--yb-fs-lg);
	}

	.yb-reviews__quote {
		font-size: 120px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.yb-reviews__track {
		scroll-behavior: auto;
	}
}
