/* Отзывы пациентов: /otzyvy/ и блок на странице врача (arkmed-core/reviews.php). Токены — из main.css. */

.review-stars { display: inline-flex; gap: 1px; font-size: 18px; line-height: 1; }
.review-stars__on { color: var(--c-accent); }
.review-stars__off { color: var(--c-line); }

.reviews-summary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin: 8px 0 0;
}

.reviews-summary .review-stars { font-size: 24px; }
.reviews-summary__avg { font-family: var(--f-head); font-size: 28px; font-weight: 600; }
.reviews-summary__count { color: var(--c-text-2); }

.reviews {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.review {
	padding: 18px 20px;
	border-radius: var(--r-card);
	background: var(--c-surface);
}

.review__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
}

.review__name { font-weight: 600; }
.review__date { font-size: 14px; color: var(--c-text-2); }
.review__doctor { margin: 6px 0 0; font-size: 14px; color: var(--c-text-2); }
.review__text { margin-top: 8px; }
.review__text p { margin: 0 0 8px; }
.review__edited { margin: 4px 0 0; font-size: 13px; font-style: italic; color: var(--c-text-2); }

.review__reply {
	margin-top: 12px;
	padding: 12px 16px;
	border-left: 3px solid var(--c-accent);
	border-radius: 0 var(--r-btn) var(--r-btn) 0;
	background: var(--c-soft);
}

.review__reply p { margin: 0 0 6px; }
.review__reply-title { font-weight: 600; color: var(--c-on-soft); }

/* Оценка в форме: radio-кнопки 1→5, видны звёздами. Подсвечены звёзды до выбранной (и до той, на которую навели);
   без поддержки :has() — только выбранная. Фокус с клавиатуры — на звезде. */
.review-rating__stars {
	display: inline-flex;
	gap: 4px;
}

.review-rating__stars input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.review-rating__stars label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	font-size: 32px;
	line-height: 1;
	color: var(--c-line);
	cursor: pointer;
}

.review-rating__stars input:checked + label,
.review-rating__stars:has(input:checked) label,
.review-rating__stars:hover label { color: var(--c-accent); }

.review-rating__stars:has(input:checked) input:checked + label ~ label,
.review-rating__stars label:hover ~ label { color: var(--c-line); }

.review-rating__stars input:focus-visible + label {
	outline: 3px solid #0E6B5D;
	outline-offset: 2px;
	border-radius: 8px;
}

.review-form__hint { margin-bottom: 16px; }
