/* Reviews (M3) — property page section and admin moderation. */

.abm-reviews {
	margin-top: 40px;
	padding: 24px;
	border: 1px solid var(--abm-border, #e3e9e7);
	border-radius: 14px;
	background: var(--abm-surface, #ffffff);
}

.abm-reviews-header > div { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }

.abm-reviews-header h2 { margin: 0; }

.abm-reviews-score { display: flex; align-items: baseline; gap: 4px; font-size: 22px; font-weight: 700; }

.abm-reviews-score span { font-size: 14px; font-weight: 600; color: var(--abm-muted, #66736f); }

.abm-reviews-score small { font-size: 13px; font-weight: 500; color: var(--abm-muted, #66736f); }

.abm-reviews-empty-note { margin: 4px 0 0; color: var(--abm-muted, #66736f); }

/* Star rating (read + input) */

.abm-review-rating { display: inline-flex; gap: 2px; color: #d5dbe0; font-size: 16px; line-height: 1; }

.abm-review-rating .on { color: var(--abm-accent, #ffb400); }

.abm-review-stars { display: inline-flex; flex-direction: row-reverse; gap: 2px; font-size: 26px; line-height: 1; border: 0; margin: 0 0 8px; padding: 0; }

.abm-review-stars input { position: absolute; opacity: 0; pointer-events: none; }

.abm-review-stars label { cursor: pointer; color: #d5dbe0; transition: transform 0.12s ease, color 0.12s ease; }

.abm-review-stars label:hover,
.abm-review-stars label:hover ~ label,
.abm-review-stars input:checked ~ label { color: var(--abm-accent, #ffb400); }

.abm-review-stars label:hover { transform: scale(1.15); }

/* Form */

.abm-review-form { margin: 20px 0; padding: 18px; border: 1px dashed var(--abm-border, #d7dfdc); border-radius: 10px; background: var(--abm-surface-alt, #f7faf9); }

.abm-review-form h3 { margin: 0 0 4px; }

.abm-review-hint { margin: 0 0 10px; font-size: 13px; color: var(--abm-muted, #66736f); }

.abm-review-field { display: block; margin-bottom: 12px; }

.abm-review-field span { display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 4px; color: var(--abm-muted, #66736f); }

.abm-review-field input,
.abm-review-field textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--abm-border, #d7dfdc);
	border-radius: 8px;
	background: var(--abm-surface, #ffffff);
	font: inherit;
	box-sizing: border-box;
}

.abm-review-field textarea { resize: vertical; }

/* List */

.abm-reviews-list { display: grid; gap: 14px; margin-top: 18px; }

.abm-review { padding: 16px; border: 1px solid var(--abm-border, #e3e9e7); border-radius: 10px; }

.abm-review-meta h3 { margin: 4px 0 2px; font-size: 16px; }

.abm-review-meta small { color: var(--abm-muted, #66736f); }

.abm-review > p { margin: 8px 0 0; line-height: 1.6; }

/* Admin moderation */

.abm-reviews-tabs { margin-bottom: 14px; }

.abm-reviews-tabs .count {
	display: inline-block;
	min-width: 20px;
	margin-left: 4px;
	padding: 0 6px;
	border-radius: 999px;
	background: #ffebd6;
	color: #6b3c00;
	font-size: 12px;
	line-height: 20px;
	text-align: center;
}

.abm-admin-empty { color: var(--abm-muted, #66736f); }

.abm-review-actions { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; min-width: 200px; }

@media (max-width: 600px) {
	.abm-reviews { padding: 16px; }
	.abm-review-actions { min-width: 0; }
}