/* Модуль отзывов (mod_ewreviews) */
.ewreviews {
	--ewr-accent: #0fa89d;
	--ewr-star: #fbbc04;
	--ewr-star-empty: #dcdcdc;
	--ewr-text: #252525;
	--ewr-muted: #7a7a7a;
	--ewr-border: #e6e6e6;
	--ewr-bg: #fff;
	color: var(--ewr-text);
}

.ewreviews-summary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 24px;
	padding: 20px 24px;
	margin-bottom: 24px;
	border: 1px solid var(--ewr-border);
	border-radius: 12px;
	background: var(--ewr-bg);
}

.ewreviews-score {
	display: flex;
	align-items: center;
	gap: 14px;
}

.ewreviews-score-value {
	font-size: 48px;
	font-weight: 700;
	line-height: 1;
}

.ewreviews-score .ewreviews-stars {
	font-size: 22px;
}

.ewreviews-score-count {
	margin-top: 4px;
	color: var(--ewr-muted);
	font-size: 14px;
}

.ewreviews-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.ewreviews-btn {
	border: 2px solid var(--ewr-accent);
	border-radius: 8px;
	color: var(--ewr-accent);
	background: transparent;
	font-weight: 600;
	padding: 8px 18px;
}

.ewreviews-btn:hover,
.ewreviews-btn:focus {
	color: #fff;
	background: var(--ewr-accent);
	border-color: var(--ewr-accent);
}

.ewreviews-btn-primary {
	color: #fff;
	background: var(--ewr-accent);
}

.ewreviews-btn-primary:hover,
.ewreviews-btn-primary:focus {
	background: #0c8c83;
	border-color: #0c8c83;
}

.ewreviews-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
	gap: 20px;
	align-items: start;
}

.ewreviews-item {
	padding: 20px;
	border: 1px solid var(--ewr-border);
	border-radius: 12px;
	background: var(--ewr-bg);
}

.ewreviews-author {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}

.ewreviews-avatar {
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	object-fit: cover;
}

.ewreviews-avatar-letter {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: var(--ewr-accent);
	font-size: 20px;
	font-weight: 600;
}

.ewreviews-name {
	font-weight: 600;
	line-height: 1.3;
}

.ewreviews-date {
	color: var(--ewr-muted);
	font-size: 13px;
}

/* Звёзды: заливка по --fill (дробный рейтинг, например 4,9) */
.ewreviews-stars {
	display: inline-flex;
	gap: 2px;
	font-size: 16px;
	line-height: 1;
}

.ewreviews-star {
	position: relative;
	width: 1em;
	height: 1em;
	background: linear-gradient(90deg, var(--ewr-star) var(--fill), var(--ewr-star-empty) var(--fill));
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.1 6.3 6.9 1-5 4.9 1.2 6.8L12 17.8 5.8 21l1.2-6.8-5-4.9 6.9-1z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.1 6.3 6.9 1-5 4.9 1.2 6.8L12 17.8 5.8 21l1.2-6.8-5-4.9 6.9-1z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ewreviews-text {
	margin-top: 10px;
	line-height: 1.6;
	overflow-wrap: anywhere;
}

/* Длинный текст свёрнут до 6 строк (reviews.js показывает кнопку, если текст не влез) */
.ewreviews-text.is-clamped {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	overflow: hidden;
}

.ewreviews-more {
	margin-top: 6px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--ewr-accent);
	font-weight: 600;
	cursor: pointer;
}

.ewreviews-more:hover {
	text-decoration: underline;
}

@media (max-width: 575px) {
	.ewreviews-summary {
		padding: 16px;
	}

	.ewreviews-actions,
	.ewreviews-btn {
		width: 100%;
	}
}
