.lyr-reviews {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.lyr-review-card {
	--lyr-card-text-bg: rgba(248, 250, 252, 0.9);
	--lyr-card-avatar-radius: 12px;
	--lyr-card-text-radius: 14px;
	--lyr-review-text-collapsed-height: 8.5em;
	--lyr-review-text-wrap-min-height: calc(var(--lyr-review-text-collapsed-height) + 2.25em);

	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
	height: 100%;
	padding: 18px 18px 16px;
	border: 1px solid #e8eaed;
	border-radius: 16px;
	background: #ffffff;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

:where(.swiper-wrapper:has(> .swiper-slide > .lyr-review-card)) {
	align-items: stretch;
}

:where(.swiper-slide:has(> .lyr-review-card)) {
	display: flex;
	height: auto;
	align-self: stretch;
}

:where(.swiper-slide) > .lyr-review-card {
	flex: 1 1 auto;
	width: 100%;
	min-height: 100%;
}

.lyr-review-card__header {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}

.lyr-review-card__avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	overflow: hidden;

	width: 44px;
	height: 44px;

	border-radius: var(--lyr-card-avatar-radius);

	background: linear-gradient(145deg, #f8fafc 0%, #f1f5f9 100%);
	color: #334155;

	font-size: 17px;
	font-weight: 600;
	line-height: 1;
}

.lyr-review-card__avatar-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lyr-review-card__avatar-initial {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.lyr-review-card__meta {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.lyr-review-card__author {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	color: #111827;
}

.lyr-review-card__rating-date {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 2px 0;

	font-size: 13px;
	line-height: 1.3;

	color: #6b7280;
}

.lyr-review-card__stars,
.lyr-review-card__date,
.lyr-review-card__dot {
	display: inline-flex;
	align-items: center;
}

.lyr-review-card__stars {
	color: #ffb800;
	letter-spacing: 0.5px;
}

.lyr-review-card__dot {
	margin: 0 4px;
}

.lyr-review-card__date {
	color: #94a3b8;
}

.lyr-review-card__text-wrap {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: var(--lyr-review-text-wrap-min-height);
	padding: 14px 16px;
	border-radius: var(--lyr-card-text-radius);
	background: var(--lyr-card-text-bg);
}

.lyr-review-card__text {
	position: relative;
	flex: 0 0 auto;
	min-height: 0;
	overflow: hidden;
	max-height: var(--lyr-review-text-collapsed-height);
	font-size: 15px;
	line-height: 1.65;
	color: #1f2937;
	word-break: break-word;
	transition: max-height 260ms ease;
}

.lyr-review-card__text-wrap.is-overflowing:not(.is-expanded) .lyr-review-card__text::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2.5em;
	background: linear-gradient(to bottom, rgba(248, 250, 252, 0), var(--lyr-card-text-bg));
	pointer-events: none;
}

.lyr-review-card__toggle {
	display: inline-block;
	flex-shrink: 0;
	margin-top: 10px;
	padding: 0;
	border: 0;
	background: none;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	color: #1a73e8;
	cursor: pointer;
	text-align: left;
	text-decoration: none;
}

.lyr-review-card__toggle:hover {
	color: #1558b0;
	text-decoration: underline;
}

.lyr-review-card__toggle:focus-visible {
	outline: 2px solid #1a73e8;
	outline-offset: 2px;
}

.lyr-review-card__toggle[hidden] {
	display: none;
}

.lyr-review-card__footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-top: auto;
	flex-shrink: 0;
	min-width: 0;
}

.lyr-review-card__link {
	--lyr-source-pin-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22200%22%20height%3D%22200%22%20viewBox%3D%220%200%20200%20200%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M99.9956%200C84.1749%200.00833513%2068.7116%204.70393%2055.559%2013.4936C42.4062%2022.2832%2032.154%2034.7728%2026.0974%2049.3844C20.0409%2063.9961%2018.4514%2080.0746%2021.5301%2095.5888C24.6088%20111.103%2032.2174%20125.357%2043.3948%20136.55C57.8873%20151.04%2091.9936%20172%2094.0118%20194.017C94.3141%20197.306%2096.7058%20200%2099.9956%20200C103.285%20200%20105.686%20197.306%20105.979%20194.017C107.998%20172%20142.077%20151.076%20156.56%20136.595C167.751%20125.406%20175.372%20111.151%20178.461%2095.6329C181.55%2080.1144%20179.966%2064.0287%20173.912%2049.4094C167.858%2034.79%20157.605%2022.2932%20144.449%2013.4986C131.292%204.70404%20115.822%200.0065865%2099.9956%200ZM99.9956%20107.369C96.4005%20107.369%2092.8407%20106.661%2089.5193%20105.285C86.198%20103.91%2083.18%20101.894%2080.638%2099.3524C78.0959%2096.811%2076.0795%2093.7939%2074.7037%2090.4734C73.328%2087.1528%2072.6198%2083.5939%2072.6198%2079.9998C72.6198%2076.4056%2073.328%2072.8467%2074.7037%2069.5262C76.0795%2066.2057%2078.0959%2063.1886%2080.638%2060.6471C83.18%2058.1056%2086.198%2056.0897%2089.5193%2054.7142C92.8407%2053.3389%2096.4005%2052.6309%2099.9956%2052.6309C107.256%2052.6309%20114.219%2055.5144%20119.353%2060.6471C124.487%2065.7798%20127.371%2072.7411%20127.371%2079.9998C127.371%2087.2584%20124.487%2094.2198%20119.353%2099.3524C114.219%20104.485%20107.256%20107.369%2099.9956%20107.369Z%22%20fill%3D%22%23FF4433%22%2F%3E%3C%2Fsvg%3E");

	display: inline-flex;
	align-items: center;
	gap: 6px;
	max-width: 100%;
	min-width: 0;
	padding-top: 2px;

	font-size: 13px;
	font-weight: 500;
	line-height: 1.35;
	color: #64748b;

	text-decoration: none;
	transition: color 0.15s ease;
}

.lyr-review-card__link::before {
	content: "";
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	background: var(--lyr-source-pin-icon) no-repeat center / contain;
}

.lyr-review-card__link:hover {
	color: #1a73e8;
	text-decoration: underline;
}

.lyr-review-card__likes {
	display: flex;
	align-items: center;
	gap: 4px;
	flex-shrink: 0;
	margin-left: auto;

	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	color: #94a3b8;
}

.lyr-review-card__likes-icon {
	flex-shrink: 0;
	width: 15px;
	height: 15px;
	color: #94a3b8;
}

.lyr-review-card__likes-count {
	font-variant-numeric: tabular-nums;
}

@media (max-width: 480px) {
	.lyr-review-card {
		--lyr-review-text-wrap-min-height: calc(var(--lyr-review-text-collapsed-height) + 2em);
		gap: 12px;
		padding: 16px 14px 14px;
	}

	.lyr-review-card__avatar {
		width: 40px;
		height: 40px;
		font-size: 16px;
	}

	.lyr-review-card__text-wrap {
		padding: 12px 14px;
	}

	.lyr-review-card__text {
		font-size: 15px;
		line-height: 1.6;
	}

	.lyr-review-card__toggle {
		margin-top: 8px;
		font-size: 13px;
	}

	.lyr-review-card__link {
		font-size: 12px;
		gap: 5px;
	}

	.lyr-review-card__likes {
		font-size: 12px;
	}

	.lyr-review-card__likes-icon {
		width: 14px;
		height: 14px;
	}
}
