/* KI-Agent-Pro Bewertungen – Frontend-Stile. Bewusst klein und ohne Abhängigkeiten. */

.kapb-badge {
	--kapb-bg: #ffffff;
	--kapb-border: #e5e7eb;
	--kapb-text: #1f2937;
	--kapb-text-muted: #6b7280;
	--kapb-star: #f5b400;
	--kapb-star-empty: #e2e2e2;

	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	background: var(--kapb-bg);
	border: 1px solid var(--kapb-border);
	border-radius: 10px;
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06);
	text-decoration: none;
	color: var(--kapb-text);
	font-family: inherit;
	line-height: 1.25;
	max-width: 100%;
}

a.kapb-badge {
	cursor: pointer;
}

a.kapb-badge:hover,
a.kapb-badge:focus-visible {
	border-color: #c7cbd1;
	box-shadow: 0 2px 6px rgba(16, 24, 40, 0.1);
}

.kapb-badge--dunkel {
	--kapb-bg: #111827;
	--kapb-border: #2a3344;
	--kapb-text: #f3f4f6;
	--kapb-text-muted: #9ca3af;
	--kapb-star-empty: #3a4254;
}

.kapb-badge__gicon {
	flex: 0 0 auto;
}

.kapb-badge__main {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex: 0 0 auto;
}

.kapb-badge__stars {
	display: inline-flex;
	align-items: center;
	gap: 1px;
}

.kapb-star--full path {
	fill: var(--kapb-star);
}

.kapb-star--empty path {
	fill: var(--kapb-star-empty);
}

.kapb-star__stop-filled {
	stop-color: var(--kapb-star);
}

.kapb-star__stop-empty {
	stop-color: var(--kapb-star-empty);
}

.kapb-badge__score {
	font-weight: 700;
	font-size: 15px;
	color: var(--kapb-text);
}

.kapb-badge__text {
	display: flex;
	flex-direction: column;
	gap: 1px;
	flex: 1 1 auto;
	min-width: 0;
}

.kapb-badge__label {
	font-weight: 600;
	font-size: 13px;
	color: var(--kapb-text);
	white-space: nowrap;
}

.kapb-badge__count {
	font-size: 12px;
	color: var(--kapb-text-muted);
	white-space: nowrap;
}

.kapb-badge--kompakt {
	padding: 6px 10px;
	gap: 6px;
}

.kapb-badge--rueckfall {
	/* Rein optischer Unterschied gibt es bewusst keinen: Besucher sollen keinen
	   Unterschied zwischen Live-Daten und gepflegten Rückfallwerten sehen. Die
	   Klasse steht nur für eigene CSS-Anpassungen zur Verfügung. */
}

.kapb-badge .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.kapb-inline-stars {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.kapb-inline-stars .kapb-badge__score {
	font-size: inherit;
	font-weight: 700;
}

@media (max-width: 420px) {
	.kapb-badge {
		gap: 8px;
		padding: 8px 10px;
	}
	.kapb-badge__label,
	.kapb-badge__count {
		white-space: normal;
	}
}
