/* ============================================================
   Star Rating & Rich Snippets – Public Stylesheet
   ============================================================ */

:root {
	--srrs-color : #f5a623;
	--srrs-size  : 34px;   /* slightly larger default */
}

.srrs-widget {
	margin: 1.8em 0;
	font-family: inherit;
}

/* ── Aggregated display ── */
.srrs-display {
	display    : flex;
	align-items: center;
	gap        : .5em;
	margin-bottom: .85em;
}

.srrs-stars-display {
	display    : flex;
	gap        : 3px;
	line-height: 1;
}

.srrs-meta {
	font-size  : .95em;
	color      : #555;
}

.srrs-meta strong {
	font-size: 1.1em;
	color    : #222;
}

.srrs-count {
	color    : #888;
	font-size: .9em;
}

/* ── Input form ── */
.srrs-form {
	display       : flex;
	flex-direction: column;
	align-items   : flex-start;
	gap           : .4em;
}

.srrs-label {
	margin   : 0;
	font-size: .9em;
	color    : #666;
}

.srrs-stars-input {
	display  : flex;
	gap      : 6px;
	direction: ltr;
	align-items: flex-end;
}

/* ── Each star button (number + star stacked) ── */
.srrs-star-btn {
	background    : none;
	border        : none;
	padding       : 2px 4px;
	cursor        : pointer;
	line-height   : 1;
	display       : flex;
	flex-direction: column;
	align-items   : center;
	gap           : 4px;
	transition    : transform .12s ease;
}

.srrs-star-btn:hover,
.srrs-star-btn:focus {
	transform: scale(1.18);
	outline  : none;
}

/* Number label above each star */
.srrs-star-number {
	font-size  : 13px;
	font-weight: 700;
	color      : #aaa;
	line-height: 1;
	transition : color .15s ease;
	min-width  : 16px;
	text-align : center;
}

.srrs-star-btn.srrs-hovered .srrs-star-number,
.srrs-star-btn.srrs-active  .srrs-star-number {
	color: var(--srrs-color);
}

/* Star icon fill states */
.srrs-star-btn .srrs-star-icon path {
	fill      : #ddd;
	transition: fill .15s ease;
}

.srrs-star-btn.srrs-active  .srrs-star-icon path,
.srrs-star-btn.srrs-hovered .srrs-star-icon path {
	fill: var(--srrs-color);
}

/* ── Message ── */
.srrs-message {
	font-size  : .88em;
	min-height : 1.4em;
	margin     : .2em 0 0;
	font-weight: 500;
}

.srrs-message.srrs-success { color: #2a9d2a; }
.srrs-message.srrs-error   { color: #c0392b; }
.srrs-message.srrs-info    { color: #2471a3; }

/* ── Disabled state (after voting) ── */
.srrs-widget.srrs-voted .srrs-form {
	opacity       : .65;
	pointer-events: none;
}

/* ── RTL fix ── */
[dir="rtl"] .srrs-stars-input,
.rtl .srrs-stars-input {
	direction: ltr;
}

/* ── Responsive ── */
@media (max-width: 480px) {
	.srrs-star-btn svg {
		width : calc(var(--srrs-size) * .82);
		height: calc(var(--srrs-size) * .82);
	}
	.srrs-star-number {
		font-size: 11px;
	}
}
