.review-actions { position:relative; }
.hero-review-badge {
  position:absolute;
  z-index:2;
  top:50%;
  left:min(1140px,calc(100vw - 3rem));
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:.3rem 1rem;
  width:max-content;
  max-width:calc(100% - 3rem);
  padding:1.05rem 1.25rem;
  border:1px solid rgba(255,255,255,.32);
  border-radius:.8rem;
  color:#fff;
  background:rgba(16,22,25,.88);
  box-shadow:0 8px 24px rgba(0,0,0,.16);
  text-decoration:none;
  transform:translate(-100%,-50%) rotate(-3deg);
}
.hero-review-badge .badge-google {
  display:flex;
  align-items:center;
  gap:.4rem;
  grid-column:1 / -1;
  color:rgba(255,255,255,.84);
  font-size:.8rem;
  font-weight:650;
  line-height:1.3;
}
.hero-review-badge [data-review-rating] {
  grid-row:2 / 4;
  font-size:2.3rem;
  font-weight:800;
  line-height:1;
  letter-spacing:-.06em;
}
.hero-review-badge [data-review-stars] {
  min-height:1.1em;
  color:#ffb21b;
  font-size:1.2rem;
  line-height:1.2;
  letter-spacing:.1em;
  white-space:nowrap;
}
.hero-review-badge [data-review-count] {
  font-size:.8rem;
  line-height:1.35;
}
.hero-review-badge:hover { border-color:#f39a00; }
.hero-review-badge:focus-visible { outline:3px solid #f39a00; outline-offset:5px; }
@media (max-width:1000px) {
  .hero-review-badge { position:relative; top:auto; left:auto; margin:0; transform:none; }
}
@media (max-width:600px) {
  :is(.hero,.service-hero,.material-hero,.overview-hero,.regional-hero) h1 { overflow-wrap:anywhere; hyphens:auto; }
  .section h2 { overflow-wrap:anywhere; hyphens:auto; }
  :is(.split-intro,.calculator-layout,.credentials-layout,.area-layout,.inquiry-layout) > * { min-width:0; }
  .hero-review-badge { max-width:100%; padding:.8rem 1rem; gap:.25rem .8rem; }
  .hero-review-badge [data-review-rating] { font-size:1.95rem; }
  .hero-review-badge [data-review-count] { font-size:.76rem; }
}
@media (max-width:800px) {
  .review-actions { flex-direction:column; align-items:flex-start; }
}

/* Klar getrenntes Kundenstimmen-Thema in der FirMedic-Farbwelt. */
.reviews-section {
  padding-block:clamp(4rem,6vw,6rem);
  background:var(--paper);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.reviews-section .eyebrow { color:#a85d00; }
.reviews-section .review-grid figure { background:#fff; border:1px solid var(--line); }
.reviews-section [data-review-status] { margin-bottom:0; color:#586267; font-size:.85rem; }

/* Google als dezenter Herkunftshinweis; Sterne bleiben in FirMedics Goldton. */
.google-wordmark { display:inline-flex; font-size:.95rem; font-weight:700; line-height:1.2; letter-spacing:-.035em; }
.google-wordmark > span:nth-child(1),.google-wordmark > span:nth-child(4) { color:#4285f4; }
.google-wordmark > span:nth-child(2),.google-wordmark > span:nth-child(6) { color:#ea4335; }
.google-wordmark > span:nth-child(3) { color:#fbbc05; }
.google-wordmark > span:nth-child(5) { color:#34a853; }
.reviews-section .rating .review-source-label { grid-column:1 / -1; grid-row:1; justify-self:end; margin-bottom:.5rem; letter-spacing:normal; }
.reviews-section .rating strong { grid-column:1; grid-row:2 / 4; }
.reviews-section .rating [data-review-stars] { grid-column:2; grid-row:2; }
.reviews-section .rating [data-review-count] { grid-column:2; grid-row:3; }
.reviews-section .rating [data-review-stars],.reviews-section .review-card-stars { color:#e99b00; font-size:clamp(1.9rem,2.7vw,2.35rem); text-shadow:0 1px 0 rgba(91,55,0,.12); }
@media (max-width:800px) {
  .reviews-section .rating .review-source-label { justify-self:start; }
}


/* Über FirMedic: dieselbe Plakette im dunklen Titelbereich. */
.about-hero { position:relative; }
.about-hero .hero-review-badge {
  left:auto;
  right:max(1.5rem,calc((100vw - 1140px)/2));
  top:auto;
  bottom:3.5rem;
  transform:rotate(-3deg);
}
@media (max-width:1000px) {
  .about-hero .hero-review-badge { position:relative; left:auto; right:auto; top:auto; bottom:auto; margin-top:2rem; transform:none; }
}


