.nccs-resource-rating {
	display: inline-flex;
	gap: 0.5rem;
	align-items: center;
}

.nccs-resource-rating__buttons {
	display: flex;
	gap: 0.25rem;
	align-items: center;
}

.nccs-resource-rating__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.35em 0.6em;
	border: 1px solid #ccc;
	background: #fff;
	border-radius: 4px;
	cursor: pointer;
	font-size: 1rem;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.nccs-resource-rating__btn:hover:not(:disabled) {
	background: #f5f5f5;
	border-color: #999;
}

.nccs-resource-rating__btn:disabled {
	opacity: 0.7;
	cursor: not-allowed;
}

.nccs-resource-rating__btn--like:hover:not(:disabled) {
	background: #e8f5e9;
	border-color: #4caf50;
}

.nccs-resource-rating__btn--dislike:hover:not(:disabled) {
	background: #ffebee;
	border-color: #f44336;
}

.nccs-resource-rating__btn--voted {
	font-weight: 600;
}

.nccs-resource-rating__btn--like.nccs-resource-rating__btn--voted {
	background: #e8f5e9;
	border-color: #4caf50;
	color: #2e7d32;
}

.nccs-resource-rating__btn--dislike.nccs-resource-rating__btn--voted {
	background: #ffebee;
	border-color: #f44336;
	color: #c62828;
}

.nccs-resource-rating__icon {
	line-height: 1;
}

.nccs-resource-rating__count {
	font-variant-numeric: tabular-nums;
	min-width: 1.5em;
	text-align: center;
}

.nccs-resource-rating__message {
	margin: 0.5rem 0 0;
	font-size: 0.9em;
	color: #b71c1c;
}

.nccs-resource-rating__message:empty {
	display: none;
}
