/**
 * Оценка материала звёздами.
 *
 * Цвета из токенов темы. Переменные с запасным значением: плагин обязан
 * выглядеть прилично и при другой теме, где токенов проекта нет.
 *
 * Рамка и заголовок — в золотой гамме разделов рецепта (решение 23.09):
 * блоки под материалом не должны выбиваться из страницы.
 *
 * Незажжённая звезда — контур цветом второстепенного текста, а не
 * заливка цветом рамки: заливка рамочного тона на подложке блока даёт
 * контраст меньше 2:1, и звёзды неразличимы. Зажжённая — золотая
 * заливка из той же семьи, что плитки разделов.
 */

.nn-rating {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--nn-space-3, 0.75rem) var(--nn-space-5, 1.5rem);
	margin: var(--nn-space-6, 2rem) 0;
	padding: var(--nn-space-4, 1rem) var(--nn-space-5, 1.5rem);
	border: 1px solid var(--nn-color-gold-dim, rgba(195, 154, 81, 0.45));
	border-radius: var(--nn-radius-card, 6px);
	background-color: var(--nn-color-surface, #242633);
}

/* Заголовок — как у разделов рецепта: золото, капитель. */
.nn-rating__title {
	margin: 0;
	color: var(--nn-color-gold, #c39a51);
	font-family: var(--nn-font-heading, inherit);
	font-size: var(--nn-fs-md, 1.125rem);
	font-weight: var(--nn-fw-bold, 700);
	line-height: var(--nn-lh-h3, 1.4);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.nn-rating__stars {
	display: flex;
	gap: var(--nn-space-1, 0.25rem);
}

/* 40px — площадь касания пальцем не меньше рекомендуемой. */
.nn-rating__star {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: var(--nn-radius-sm, 4px);
	background: none;
	color: var(--nn-color-text-muted, #85a1bb);
	cursor: pointer;
	transition: color var(--nn-transition, 0.15s ease), transform var(--nn-transition, 0.15s ease);
}

.nn-rating__star svg {
	width: 28px;
	height: 28px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linejoin: round;
}

.nn-rating__star.is-lit {
	color: var(--nn-color-gold, #c39a51);
}

.nn-rating__star.is-lit svg {
	fill: currentColor;
}

.nn-rating__star:hover {
	transform: scale(1.12);
}

.nn-rating__star:focus-visible {
	outline: 2px solid var(--nn-color-focus, #ffd54f);
	outline-offset: 2px;
}

.nn-rating.is-busy .nn-rating__star {
	cursor: progress;
	opacity: 0.6;
}

.nn-rating__summary {
	flex-basis: 100%;
	margin: 0;
	color: var(--nn-color-text-muted, #85a1bb);
	font-size: var(--nn-fs-card, 0.9rem);
	line-height: var(--nn-lh-base, 1.5);
}

.nn-rating__mine {
	margin-right: var(--nn-space-2, 0.5rem);
	color: var(--nn-color-text, #cfd8dd);
}

.nn-rating__notice {
	display: block;
	color: var(--nn-color-danger, #ff5c5c);
}

@media print {

	.nn-rating {
		display: none;
	}
}
