/* PXW Google Bewertungen – bewusst schlicht, erbt Schrift & Farben vom Theme.
   Anpassung über Custom Properties, z. B.:
   .pxw-gb { --pxw-gb-stern: #fbbc04; --pxw-gb-spalte: 20rem; } */

.pxw-gb {
	--pxw-gb-stern: #9a6700;        /* ≥ 3:1 gegen Weiß und gegen leere Sterne (Google-Gelb #fbbc04 erreicht das nicht) */
	--pxw-gb-stern-leer: #d4d4d4;
	--pxw-gb-rand: rgba(128, 128, 128, .3);
	--pxw-gb-avatar-bg: rgba(128, 128, 128, .18);
	--pxw-gb-abstand: 1.25rem;
	--pxw-gb-spalte: 17rem;         /* Mindestbreite einer Karte */
	--pxw-gb-zeilen: 6;             /* Textkürzung nach n Zeilen */
	--pxw-gb-radius: .5rem;
	margin-block: 2rem;
}

.pxw-gb-titel { margin-block-end: 1rem; }

/* Kopf */
.pxw-gb-kopf {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem 1.5rem;
	margin-block-end: var(--pxw-gb-abstand);
}
.pxw-gb-kopf p { margin: 0; }
.pxw-gb-gesamt {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
}
.pxw-gb-wert {
	font-size: 1.75em;
	font-weight: 700;
	line-height: 1;
}
.pxw-gb-gesamt .pxw-gb-sterne { font-size: 1.25em; }
.pxw-gb-aktionen {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1.25rem;
}

/* Sterne: 5 Sterne als Maske, Füllgrad über --pxw-gb-wert (0–5) */
.pxw-gb-sterne {
	--_breite: calc(var(--pxw-gb-wert, 0) / 5 * 100%);
	display: inline-block;
	flex: none;
	width: 5.5em;
	height: 1em;
	vertical-align: -.125em;
	background: linear-gradient(90deg, var(--pxw-gb-stern) var(--_breite), var(--pxw-gb-stern-leer) var(--_breite));
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-1 0 26 24'%3E%3Cpath d='M12 1.5l3.09 6.26 6.91 1.01-5 4.87 1.18 6.88L12 17.27l-6.18 3.25L7 13.64 2 8.77l6.91-1.01z'/%3E%3C/svg%3E") left center / 1.1em 1em repeat-x;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-1 0 26 24'%3E%3Cpath d='M12 1.5l3.09 6.26 6.91 1.01-5 4.87 1.18 6.88L12 17.27l-6.18 3.25L7 13.64 2 8.77l6.91-1.01z'/%3E%3C/svg%3E") left center / 1.1em 1em repeat-x;
	forced-color-adjust: none;
}

/* Liste */
.pxw-gb-liste {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--pxw-gb-spalte)), 1fr));
	gap: var(--pxw-gb-abstand);
	margin: 0;
	padding: 0;
	list-style: none;
}
.pxw-gb-review {
	display: flex;
	flex-direction: column;
	gap: .75rem;
	margin: 0;
	padding: var(--pxw-gb-abstand);
	border: 1px solid var(--pxw-gb-rand);
	border-radius: var(--pxw-gb-radius);
}

.pxw-gb-autor {
	display: flex;
	align-items: center;
	gap: .75rem;
}
.pxw-gb-avatar {
	flex: none;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	object-fit: cover;
}
.pxw-gb-initiale {
	display: grid;
	place-items: center;
	background: var(--pxw-gb-avatar-bg);
	font-weight: 700;
}
.pxw-gb-meta {
	display: flex;
	flex-direction: column;
	line-height: 1.3;
	min-width: 0;
}
.pxw-gb-name { font-weight: 600; }
.pxw-gb-zeit { font-size: .875em; opacity: .8; }

.pxw-gb-text {
	margin: 0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: var(--pxw-gb-zeilen);
	line-clamp: var(--pxw-gb-zeilen);
	overflow: hidden;
}
.pxw-gb-mehr {
	margin-top: auto;
	font-size: .875em;
}

/* Fuß */
.pxw-gb-fuss {
	margin-block-start: 1rem;
	font-size: .8125em;
	opacity: .85;
}
.pxw-gb-fuss p { margin: 0 0 .25rem; }

/* Hilfsklassen */
.pxw-gb-sr {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.pxw-gb-fehler {
	padding: .75rem 1rem;
	border-left: 4px solid #b32d2e;
	background: rgba(179, 45, 46, .08);
}
