/* Victor 05.10.2026: offene Flaechen, Markenwelt, ruhige Umbrueche. */
h1, h2, h3, .blei, .hero__satz { text-wrap: balance; }
p { text-wrap: pretty; }
.hero__titel .akzent { background: none; color: var(--orange-marke); }
.hero__satz { max-width: 42ch; }
.leistung, .leistung:last-child, .stimme { border: 0; }
.stimme::before { content: none; }
.bewertungsband__karten { display: block; min-width: 0; }
.bewertungsband__fuss { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; }
.bewertungsband__fuss a { min-height: 44px; display: inline-flex; align-items: center; }
.fragen { grid-template-columns: minmax(0, 1fr); max-width: 900px; gap: 1.5rem; }
.fragen__kopf .links-stapel { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.fuss__orte { padding-block: 2rem; }
.fuss__orte .orte-zeile { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; list-style: none; padding: 0; }
.fuss__orte a { color: rgba(255,255,255,.9); }
.fuss__credit a { text-underline-offset: .2em; }

.seitenkopf__innen { display: grid; grid-template-columns: minmax(0,1fr) 11rem; align-items: center; gap: 2rem; }
.seitenkopf__marke { display: grid; justify-items: center; gap: .5rem; }
.markenmotiv { width: 100%; max-width: 11rem; border-radius: 50%; }
.markenslogan { font-size: .875rem; line-height: 1.3; text-align: center; text-wrap: balance; color: inherit; }
.seitenkopf .markenslogan { color: rgba(255,255,255,.9); }
.anrufbanner { background: var(--himmel); padding-block: clamp(2rem, 4vw, 3.5rem); }
.anrufbanner__innen { display: grid; grid-template-columns: 9rem minmax(0,1fr) auto; align-items: center; gap: clamp(1.5rem,3vw,3rem); }
.anrufbanner__marke { display: grid; gap: .5rem; }
.anrufbanner h2 { font-size: clamp(1.8rem,3vw,2.6rem); margin: 0 0 .7rem; }
.anrufbanner p { margin: 0; max-width: 50ch; }
.anrufbanner .anrufbanner__zeit { margin-top: .5rem; font-weight: 600; }

.bewertungen-slider__fenster { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.bewertungen-slider__fenster::-webkit-scrollbar { display: none; }
.bewertungen-slider__folie { flex: 0 0 100%; min-width: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.75rem; scroll-snap-align: start; }
.bewertungen-slider__folie .stimme { padding-top: 0; }
.bewertungen-slider__steuerung { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .75rem; margin-top: 1.5rem; font-size: var(--fs-caption); }
.bewertungen-slider__steuerung button { min-height: 44px; padding: .4rem .65rem; background: transparent; color: var(--navy); border: 1px solid var(--himmel-linie); border-radius: var(--radius-s); cursor: pointer; font: 600 var(--fs-caption)/1.3 var(--font-body); }
.bewertungen-slider__steuerung button:hover { background: var(--navy-nebel); }
.bewertungen-slider__steuerung [data-bewertung-pause] { margin-left: auto; }

/* Blaue Kontaktseite; Formularfelder bleiben als gut lesbare Eingabeflaechen hell. */
.seite-kontakt { background: var(--navy); }
.seite-kontakt .kopf { background: var(--navy); color: var(--weiss); }
.seite-kontakt .kopf .marke__oben, .seite-kontakt .kopf .hauptnav a,
.seite-kontakt .menue-schalter { color: var(--weiss); }
.seite-kontakt .menue-schalter { background: var(--navy); border-color: rgba(255,255,255,.8); }
.handleiste .wa-ikon { color: var(--navy); }
.seite-kontakt .kopf .marke__unten { color: var(--orange); }
.seite-kontakt .seitenkopf { padding-bottom: 1.75rem; }
.kontakt-intro { background: var(--navy); color: var(--weiss); padding-block: 0 2.5rem; }
.kontakt-intro__innen { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,.7fr); gap: clamp(2rem,5vw,5rem); }
.kontakt-intro h2 { color: var(--weiss); font-size: clamp(1.5rem,2.6vw,2.1rem); margin: 0 0 .8rem; }
.kontakt-intro p { color: rgba(255,255,255,.9); max-width: 54ch; }
.kontakt-intro a { color: var(--weiss); }
.kontakt-intro__zeit { font-weight: 600; }
.kontakt-intro .adresse svg { color: var(--orange); }
.seite-kontakt .rechner { padding-top: 2rem; }
.seite-kontakt .rechner__karte { background: var(--navy-tief); color: var(--weiss); box-shadow: none; border: 1px solid rgba(255,255,255,.2); }
.seite-kontakt .rechner__karte h2, .seite-kontakt .rechner__karte h3,
.seite-kontakt .rechner__karte legend, .seite-kontakt .rechner__karte label,
.seite-kontakt .rechner__karte a { color: var(--weiss); }
.seite-kontakt .rechner__karte .schalter label, .seite-kontakt .rechner__karte .schalter__name,
.seite-kontakt .rechner__karte .schalter__text { color: var(--navy); }
.seite-kontakt .rechner__karte .fortschritt { background: var(--navy-tief); border-color: rgba(255,255,255,.2); }
.seite-kontakt .fortschritt__zeile, .seite-kontakt .schritt__intro,
.seite-kontakt .feld__hilfe, .seite-kontakt .datenschutz-zeile { color: rgba(255,255,255,.88); }
.seite-kontakt .knopf--linie { color: var(--weiss); border-color: rgba(255,255,255,.6); }
.seite-kontakt .handleiste .knopf--linie { color: var(--navy); border-color: var(--navy); }
.seite-kontakt .rechner__karte .knopf--primaer { color: var(--navy); }
.seite-kontakt .schritt__sub, .seite-kontakt .schritt__hinweis,
.seite-kontakt .feld__hinweis, .seite-kontakt .ergebnis__fuss { color: rgba(255,255,255,.88); }
.seite-kontakt .schritt__titel { color: var(--weiss); }
.seite-kontakt .schritt__navigation { background: var(--navy-tief); border-color: rgba(255,255,255,.2); }
.seite-kontakt .rechner__karte .kachel strong { color: var(--navy); }
.seite-kontakt .zusammenfassung { background: var(--navy-tief); }
.seite-kontakt .zusammenfassung summary, .seite-kontakt .zusammenfassung dt { color: var(--weiss); }
.seite-kontakt .feldfehler, .seite-kontakt .fehlerkasten { color: #ffb9b2; }
.seite-kontakt .ergebnis__meldung { color: #a0e5bb; }
.seite-kontakt :focus-visible { outline-color: var(--orange); }

@media (max-width: 999px) {
  .anrufbanner__innen { grid-template-columns: 8rem minmax(0,1fr); }
  .anrufbanner__innen > .plakette { grid-column: 2; justify-self: start; }
}
@media (max-width: 899px) {
  .kontakt-intro__innen { grid-template-columns: minmax(0,1fr); gap: 2rem; }
  .seite-kontakt .hauptnav[data-offen="ja"] { background: var(--navy-tief); }
}
@media (max-width: 639px) {
  .seitenkopf__innen { grid-template-columns: minmax(0,1fr) 5.5rem; gap: .75rem; }
  .seitenkopf__marke .markenslogan { font-size: .7rem; }
  .seitenkopf h1 { font-size: clamp(2rem,8vw,2.6rem); }
  .seitenkopf .blei { grid-column: 1 / -1; }
  .bewertungen-slider__folie { grid-template-columns: minmax(0,1fr); gap: 1.5rem; }
  .anrufbanner__innen { grid-template-columns: 5.5rem minmax(0,1fr); gap: 1rem; }
  .anrufbanner__innen > .plakette { grid-column: 1 / -1; }
  .anrufbanner__marke .markenslogan { font-size: .7rem; }
  .anrufbanner h2 { font-size: 1.7rem; }
  .anrufbanner p { font-size: .9688rem; }
  .satzumbruch { display: none; }
}
@media (max-width: 767px) {
  body:has(.rechner :focus-within) .handleiste:not([data-versteckt="ja"]) { transform: none; visibility: visible; }
}
