/**
 * Forge Reviews — front-end styles.
 *
 * Deliberately colour-free: only class hooks, borders, spacing and
 * currentColor, so the plugin looks native on any theme. The Forge
 * Flagship theme can layer its token-based styling on top of the same
 * class names.
 */

/* Stars — a base row of hollow-looking stars (low opacity) with a
 * filled row clipped over it at the rating's percentage width. */
.forge-reviews-stars {
	position: relative;
	display: inline-block;
	line-height: 0;
	vertical-align: middle;
}

.forge-reviews-stars__row {
	display: flex;
	gap: 2px;
	width: max-content;
}

.forge-reviews-stars__row--base .forge-reviews-star {
	opacity: 0.25;
}

.forge-reviews-stars__fill {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
}

.forge-reviews-star {
	display: block;
	width: 18px;
	height: 18px;
	fill: currentColor;
	flex: none;
}

/* Review cards (single view + wall) */
.forge-reviews-card {
	border: 1px solid currentColor;
	border-radius: 0.5rem;
	padding: 1rem 1.25rem;
}

.forge-reviews-card--single {
	margin-top: 1.5rem;
}

.forge-reviews-card__title {
	margin: 0.5rem 0 0;
	font-size: 1.125em;
	line-height: 1.3;
}

.forge-reviews-card__excerpt {
	margin: 0.5rem 0 0;
}

.forge-reviews-card__meta {
	margin: 0.75rem 0 0;
	font-size: 0.875em;
}

.forge-reviews-card__reviewer {
	font-weight: 600;
}

.forge-reviews-card__source {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.8125em;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* Summary shortcode */
.forge-reviews-summary__line {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5em;
	margin: 0;
}

.forge-reviews-summary__average {
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1;
}

.forge-reviews-summary__highlight {
	border: 1px solid currentColor;
	border-radius: 0.5rem;
	padding: 1rem 1.25rem;
	margin-top: 1rem;
}

.forge-reviews-summary__highlight-label {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.8125em;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin: 0 0 0.5rem;
}

.forge-reviews-summary__highlight-title {
	font-weight: 600;
	margin: 0.5rem 0 0;
}

.forge-reviews-summary__empty,
.forge-reviews-wall__empty {
	font-style: italic;
}

/* Reviews wall */
.forge-reviews-wall__header {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75em;
	margin-bottom: 1.25rem;
}

.forge-reviews-wall__summary {
	margin: 0;
}

.forge-reviews-wall__average {
	font-size: 1.75em;
	font-weight: 700;
	line-height: 1;
	vertical-align: middle;
}

.forge-reviews-wall__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1rem;
}

/* Submission form — [forge_review_form]. Same colour-free rule as
 * everything above: borders, spacing and currentColor only. */
.forge-reviews-form {
	max-width: 36rem;
}

.forge-reviews-form__form {
	display: grid;
	gap: 1rem;
}

.forge-reviews-form__field {
	display: grid;
	gap: 0.375rem;
}

.forge-reviews-form__field label {
	font-weight: 600;
}

.forge-reviews-form__field input[type="text"],
.forge-reviews-form__field select,
.forge-reviews-form__field textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 0.5rem 0.75rem;
	border: 1px solid currentColor;
	border-radius: 0.5rem;
	background: transparent;
	color: inherit;
	font: inherit;
}

.forge-reviews-form__submit {
	padding: 0.625rem 1.25rem;
	border: 1px solid currentColor;
	border-radius: 0.5rem;
	background: transparent;
	color: inherit;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

.forge-reviews-form__notice {
	border: 1px solid currentColor;
	border-radius: 0.5rem;
	padding: 1rem 1.25rem;
}

.forge-reviews-form__notice--error {
	font-weight: 600;
}

/* Honeypot — never shown to people, ever. */
.forge-reviews-form__hp {
	display: none !important;
}
