/**
 * CriticaBits Reviews Core — Public Styles
 *
 * Minimal base styles for review components.
 * Themes should override or extend these via the
 * `cb_reviews_load_public_css` filter.
 *
 * @package CriticaBits\ReviewsCore
 * @since   0.0.1
 */

/* ── Score badge ────────────────────────────────────────────────── */

.cb-score-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	height: 48px;
	padding: 4px 12px;
	border-radius: 6px;
	font-weight: 700;
	font-size: 18px;
	line-height: 1;
	color: #fff;
}

.cb-score--exceptional { background-color: #1b7a3d; }
.cb-score--great       { background-color: #4caf50; }
.cb-score--good        { background-color: #8bc34a; }
.cb-score--average     { background-color: #ff9800; }
.cb-score--poor        { background-color: #f44336; }
.cb-score--terrible    { background-color: #9e0000; }

/* ── Spec table ─────────────────────────────────────────────────── */

.cb-spec-table {
	width: 100%;
	border-collapse: collapse;
	margin: 1em 0;
}

.cb-spec-table th,
.cb-spec-table td {
	padding: 8px 12px;
	border-bottom: 1px solid #e0e0e0;
	text-align: left;
	font-size: 14px;
}

.cb-spec-table th {
	width: 35%;
	font-weight: 600;
	color: #333;
}

.cb-spec-table tr:last-child th,
.cb-spec-table tr:last-child td {
	border-bottom: none;
}

/* ── Rubric breakdown ───────────────────────────────────────────── */

.cb-rubric-breakdown {
	margin: 1.5em 0;
}

.cb-rubric-criterion {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8px;
	align-items: center;
	margin-bottom: 12px;
}

.cb-rubric-label {
	font-weight: 600;
	font-size: 14px;
}

.cb-rubric-score {
	font-size: 14px;
	color: #555;
	font-variant-numeric: tabular-nums;
}

.cb-rubric-bar {
	grid-column: 1 / -1;
	height: 8px;
	background: #e0e0e0;
	border-radius: 4px;
	overflow: hidden;
}

.cb-rubric-bar-fill {
	height: 100%;
	background: #4caf50;
	border-radius: 4px;
	transition: width 0.3s ease;
}

/* ── Term links ─────────────────────────────────────────────────── */

.cb-term-links {
	font-size: 14px;
}

.cb-term-link {
	text-decoration: none;
}

.cb-term-link:hover {
	text-decoration: underline;
}
