/* Google-Bewertungen auf der Startseite. Akzent #ed6e1c wie im Theme; Sterne
   in Googles Gelb. Ohne Daten bleibt der Abschnitt versteckt. */

.gb { padding: 56px 20px; background: #f6f7f9; color: #2b2b2b; }
.gb[hidden] { display: none; }
.gb-inner { max-width: 1100px; margin: 0 auto; }
.gb h2 { margin: 0 0 6px; text-align: center; font-size: 32px; line-height: 1.2; }
.gb-lead { margin: 0 0 28px; text-align: center; color: #555; }

.gb-places { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; margin: 0 0 32px; padding: 0; list-style: none; }
.gb-place { flex: 1 1 280px; max-width: 420px; padding: 20px 24px; background: #fff; border-radius: 12px; box-shadow: 0 2px 12px rgba(0, 0, 0, .08); text-align: center; }
.gb-place-name { margin: 0 0 6px; font-weight: 600; }
.gb-score { display: flex; align-items: center; justify-content: center; gap: 10px; }
.gb-score strong { font-size: 40px; line-height: 1; }
.gb-count { margin: 6px 0 12px; color: #555; font-size: 14px; }
.gb-links { display: flex; flex-wrap: wrap; gap: 8px 16px; justify-content: center; font-size: 14px; }
.gb-links a { color: #ed6e1c; text-decoration: underline; }

.gb-stars { display: inline-block; position: relative; font-size: 20px; line-height: 1; letter-spacing: 2px; color: #d4d4d4; white-space: nowrap; }
.gb-stars::before { content: "★★★★★"; }
.gb-stars > span { position: absolute; inset: 0 auto 0 0; overflow: hidden; color: #fbbc04; white-space: nowrap; }
.gb-stars > span::before { content: "★★★★★"; }

.gb-reviews { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.gb-review { display: flex; flex-direction: column; gap: 10px; padding: 22px; background: #fff; border-radius: 12px; box-shadow: 0 2px 12px rgba(0, 0, 0, .08); }
.gb-review .gb-stars { font-size: 18px; }
.gb-text { margin: 0; line-height: 1.55; white-space: pre-line; }
.gb-more { align-self: flex-start; padding: 0; border: 0; background: none; color: #ed6e1c; font: inherit; font-size: 14px; text-decoration: underline; cursor: pointer; }
.gb-meta { margin: auto 0 0; padding-top: 6px; color: #555; font-size: 14px; }
.gb-meta a { color: inherit; font-weight: 600; text-decoration: none; }
.gb-meta a:hover { text-decoration: underline; }

.gb-source { margin: 24px 0 0; text-align: center; color: #666; font-size: 13px; }

@media (max-width: 600px) {
  .gb { padding: 40px 16px; }
  .gb h2 { font-size: 26px; }
}

/* Das Theme setzt Aufzählungspunkte auf li. */
.gb li { list-style: none; margin: 0; }
.gb li::before, .gb li::marker { content: none; }
