/* Google-Gesamtbewertung der Lindenfield GmbH (nur Durchschnitt und Anzahl).
   Kompakte Zeile: partials/google-rating-inline.php (Startseiten-Kopf, Footer).
   Karte mit Einordnung: partials/sections/google-rating.php (Über uns).
   Geladen über partials/head.php auf den Seiten aus GOOGLE_RATING_PAGES. */

.g-rating {
  --g-star-fill: #e5a000;
  --g-star-empty: oklch(87.2% 0.01 258);
  --g-rating-text: var(--color-gray-700);
  --g-rating-muted: var(--color-gray-600);
  --g-rating-link: var(--color-primary-800);
  color: var(--g-rating-text);
}
.g-rating--on-dark {
  --g-star-fill: #fbbc04;
  --g-star-empty: rgb(255 255 255 / 0.28);
  --g-rating-text: rgb(255 255 255 / 0.92);
  --g-rating-muted: rgb(255 255 255 / 0.78);
  --g-rating-link: #fff;
}

/* --- Sterne ------------------------------------------------------------- */
.g-rating__stars {
  display: inline-flex;
  gap: 0.125rem;
  flex-shrink: 0;
}
.g-rating__star {
  width: 1.125rem;
  height: 1.125rem;
}
.g-rating__stars--lg { gap: 0.25rem; }
.g-rating__stars--lg .g-rating__star {
  width: 1.75rem;
  height: 1.75rem;
}
.g-rating__star-bg { fill: var(--g-star-empty); }
.g-rating__star-fill { fill: var(--g-star-fill); }

/* --- Kompakte Zeile ----------------------------------------------------- */
.g-rating--inline { margin-top: 1.25rem; }
.g-rating__line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 0.5rem;
  row-gap: 0.25rem;
  font-size: 0.9375rem;
  line-height: 1.4;
}
.g-rating__value {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1.0625rem;
  color: inherit;
}
.g-rating__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--g-rating-muted);
}
.g-rating__link {
  display: inline-block;
  padding-block: 0.25rem;
  color: var(--g-rating-link);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
}
.g-rating__link:hover { text-decoration-thickness: 2px; }

/* Startseiten-Kopf: Zeile sitzt unter dem Hinweis zum Anfrage-Button. */
.page-hero__content .g-rating--inline,
.hero-actions .g-rating--inline { margin-top: 1rem; }

/* Footer: eigener Abstand zur Adresszeile darüber. */
.site-footer-rating { margin-top: 1.5rem; }
.site-footer-rating .g-rating--inline { margin-top: 0; }

/* --- Karte (Über uns) --------------------------------------------------- */
.g-rating-section { padding-bottom: 4rem; }
@media (min-width: 1024px) {
  .g-rating-section { padding-bottom: 6rem; }
}

.g-rating--card {
  display: grid;
  border: 1px solid var(--color-ice);
  border-radius: var(--radius);
  overflow: hidden;
  background: #fff;
}
@media (min-width: 768px) {
  .g-rating--card { grid-template-columns: minmax(14rem, 18rem) 1fr; }
}

.g-rating__summary {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 2rem 1.5rem;
  text-align: center;
  background: var(--color-frost);
  border-bottom: 1px solid var(--color-ice);
}
@media (min-width: 768px) {
  .g-rating__summary {
    border-bottom: 0;
    border-right: 1px solid var(--color-ice);
  }
}
.g-rating__score {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(2.75rem, 2.25rem + 2vw, 3.5rem);
  line-height: 1;
  color: var(--color-ink);
}
.g-rating__count {
  font-weight: 600;
  color: var(--color-gray-800);
}
.g-rating__date {
  font-size: 0.8125rem;
  color: var(--color-gray-600);
}

.g-rating__body {
  padding: 1.75rem 1.5rem;
}
@media (min-width: 1024px) {
  .g-rating__body { padding: 2.25rem 2.5rem; }
}
.g-rating__body p { max-width: 60ch; }
.g-rating__note {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--color-ice);
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--color-gray-600);
}
