/* Kundenbewertungen. Erzeugt von opc-test/bau-bewertungen.py -
   nicht von Hand pflegen. */
.csbw{--csbw-gold:#E8A200;--csbw-anthrazit:#2F3E46;--csbw-grau:#6A7B59;
  --csbw-soft:#EEF3E3;--csbw-rahmen:#E7EBE0;--csbw-salbei:#CBD8A6;
  background:transparent;padding:6px 0 0;margin:0;
  content-visibility:auto;contain-intrinsic-size:auto 520px}
.csbw__kopf{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin:0 0 18px}
.csbw__marke{display:flex;align-items:center;gap:10px}
.csbw__logo{flex:0 0 auto;width:88px;height:auto;display:block}
.csbw__note{font-size:1.5rem;font-weight:800;color:var(--csbw-anthrazit);line-height:1}
.csbw__sterne{display:inline-flex;gap:2px;vertical-align:middle}
.csbw__sterne svg{width:17px;height:17px;fill:var(--csbw-gold);display:block}
.csbw__g{width:14px;height:14px;display:block}
.csbw__haken{width:14px;height:14px;fill:#8DA174;display:block}
.csbw__anzahl{font-size:.9rem;color:var(--csbw-grau)}
.csbw__cta{margin-left:auto;display:inline-block;background:var(--csbw-salbei);color:#333;
  font-size:.95rem;font-weight:700;text-decoration:none;padding:.55rem 1.1rem;
  border-radius:24px;transition:background .15s}
.csbw__cta:hover,.csbw__cta:focus{background:#BCCB92;color:#333;text-decoration:none}
.csbw__liste{display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}
.csbw__karte{background:#F9FAF7;border:1px solid #E2E6DC;border-radius:12px;
  padding:16px 16px 14px;display:flex;flex-direction:column;gap:9px;
  transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}
/* ⚠️ MUSS bleiben. Eine eigene display-Regel schlaegt das eingebaute
   [hidden]{display:none} des Browsers - ohne diese Zeile stehen die
   zugeklappten Karten sichtbar da und der Knopf wirkt wirkungslos.
   Genau das war bis 2026-08-03 der Fall. */
.csbw__karte[hidden]{display:none}
.csbw__karte:hover{box-shadow:0 12px 26px rgba(47,62,70,.14);border-color:#DBE6BF;
  transform:translateY(-3px)}
@media (prefers-reduced-motion:reduce){.csbw__karte{transition:none}
  .csbw__karte:hover{transform:none}}
.csbw__person{display:flex;align-items:center;gap:10px}
.csbw__foto{flex:0 0 auto;width:36px;height:36px;border-radius:50%;object-fit:cover;
  display:block}
.csbw__kuerzel{flex:0 0 auto;width:36px;height:36px;border-radius:50%;color:#fff;
  font-weight:700;font-size:.95rem;display:flex;align-items:center;justify-content:center}
.csbw__name{font-size:.95rem;font-weight:700;color:var(--csbw-anthrazit);line-height:1.25;
  text-decoration:none}
.csbw__name:hover,.csbw__name:focus{color:#46591f;text-decoration:underline}
.csbw__hakenbox{display:inline-block;margin-left:5px;line-height:0;cursor:default}
.csbw__haken{width:14px;height:14px;fill:#8DA174;display:block}
.csbw__wann{font-size:.87rem;color:var(--csbw-grau)}
/* Zeit und Rezensionszahl brechen nur ALS GANZES um, nie mittendrin.
   Vorher stand bei langen Namen "vor 3 Monaten · 106" in der einen und
   "Rezensionen" allein in der naechsten Zeile (vom Nutzer gemeldet
   2026-08-06 an "Rainer Kaiser · 106 Rezensionen"). Passt beides in eine
   Zeile, bleibt es dort - wie bei kurzen Angaben. */
.csbw__zeit,.csbw__rez{white-space:nowrap}
.csbw__text{font-size:.95rem;line-height:1.5;color:#333;margin:0}
.csbw__karte--lang .csbw__text{display:-webkit-box;-webkit-line-clamp:6;
  -webkit-box-orient:vertical;overflow:hidden}
.csbw__karte--offen .csbw__text{display:block;overflow:visible}
.csbw__auf{align-self:flex-start;background:none;border:0;padding:0;cursor:pointer;
  font-size:.9rem;font-weight:700;color:#46591f;text-decoration:underline}
.csbw__quelle{margin-top:auto;padding-top:8px;font-size:.87rem;color:var(--csbw-grau);
  display:flex;align-items:center;gap:6px;text-decoration:none}
.csbw__quelle:hover,.csbw__quelle:focus{color:#46591f;text-decoration:underline}
/* ⚠️ Der Footer-Block laeuft auf JEDER Seite - auch auf /Kundenstimmen, die
   ihre eigene, vollstaendige Liste mitbringt. Dort stand er bis 2026-08-03
   ein zweites Mal darunter (67 Karten statt 55, zwei gleiche Ueberschriften).
   Diese Regel blendet den Footer-Block aus, sobald die Seite selbst einen
   Block hat - ohne feste Seiten-ID, die zwischen Test und Live abweicht.
   Greift vor dem ersten Zeichnen, also ohne Aufblitzen. */
body:has(.csbw--seite) .csbw-global{display:none}
.csbw__nav{display:flex;flex-direction:column;align-items:center;gap:6px;margin:18px 0 0}
.csbw__mehr{background:#fff;border:1px solid #DDE2D6;color:var(--csbw-anthrazit);
  font-size:.95rem;font-weight:700;padding:.55rem 1.4rem;border-radius:24px;
  cursor:pointer}
.csbw__mehr:hover{border-color:#DBE6BF;box-shadow:0 6px 16px rgba(47,62,70,.10)}
.csbw__mehr[disabled]{opacity:.6;cursor:default;box-shadow:none}
.csbw__alle{margin:10px 0 0;text-align:center;font-size:.95rem}
.csbw__alle a{color:#46591f;font-weight:700}
.csbw__portale{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:8px 22px;margin:12px 0 0;font-size:.9rem;color:var(--csbw-grau)}
.csbw__portale-was{font-weight:700;color:var(--csbw-anthrazit)}
.csbw__portal{display:inline-flex;align-items:center;gap:6px;text-decoration:none;
  color:inherit}
.csbw__portal:hover,.csbw__portal:focus{color:#46591f}
.csbw__portal:hover .csbw__portal-name{text-decoration:underline}
.csbw__portal-zeichen{width:20px;height:20px;border-radius:5px;display:inline-flex;
  align-items:center;justify-content:center;font-size:.62rem;font-weight:800;
  color:#fff;letter-spacing:-.02em;flex:0 0 auto}
.csbw__portal-note{font-weight:700;color:var(--csbw-anthrazit)}
/* Der Stern erbt hier nichts: die Groesse kommt sonst von '.csbw__sterne svg',
   und in dieser Zeile steht kein .csbw__sterne drumherum. */
.csbw__portal-stern{display:inline-flex;margin-left:-2px}
.csbw__portal-stern svg{width:13px;height:13px;fill:var(--csbw-gold);display:block}
.csbw__fuss{margin:14px 0 0;font-size:.87rem;color:var(--csbw-grau)}
@media (max-width:991.98px){.csbw__liste{grid-template-columns:repeat(2,1fr)}}
@media (max-width:575.98px){
  .csbw{padding:18px 14px 16px;border-radius:12px}
  .csbw__liste{grid-template-columns:1fr}
  .csbw__cta{margin-left:0;width:100%;text-align:center}
}
