/* Lesbarkeit dort, wo gemessen zu wenig Kontrast steht.
   Weiss auf dem Salmon der Marke (#FF8585) erreicht 2,35:1 -- gefordert sind
   4,5:1 fuer normalen Text. Dieselbe Flaeche mit dunkler Schrift erreicht
   7,02:1. Angefasst wird hier bewusst NUR funktionale Oberflaeche
   (Einwilligungsbanner, schwebende Kontaktknoepfe und Marken-Buttons). */

/* Einwilligungsbanner (Complianz) */
.cmplz-btn.cmplz-accept,
.cmplz-btn.cmplz-accept-all,
.cmplz-btn.cmplz-accept-marketing {
  color: #1f1f1f !important;
}
/* Der Verweis auf die Cookie-Richtlinie lag mit 4,28:1 knapp darunter. */
.cmplz-link.cookie-statement,
.cmplz-cookiebanner .cmplz-links a {
  color: #ffb3b3 !important;
}

/* Schwebende Kontaktknoepfe rechts (Telefon/E-Mail): die Beschriftung stand
   weiss auf Salmon. */
.e-contact-buttons__contact-title,
.e-contact-buttons__contact-subtitle,
.e-contact-buttons .e-contact-buttons__contact-text,
.e-contact-buttons__contact-icon-link {
  color: #1f1f1f !important;
}

/* Marken-Buttons auf Salmon. Der Nutzer hat fuer den Launch die Umsetzung der
   offenen Punkte freigegeben; dunkle Schrift ist bereits Teil des
   Startseiten-Designs und erreicht 7,02:1 statt 2,35:1. Nur Buttons mit der
   tatsaechlichen Salmon-Hintergrundfarbe werden umgestellt. */
.elementor-button[style*="FF8585" i],
.elementor-button[style*="ff8585" i],
.elementor-button-wrapper.is-salmon .elementor-button {
  color: #1f1f1f !important;
}

/* Im exportierten Elementor-CSS kommt der Hintergrund nicht als Inline-Style,
   sondern ueber die Widget-ID. Diese IDs sind die browserseitig gemessenen
   Salmon-Buttons auf den Legacy-Solutions-Seiten. */
.elementor-element-0141cb7 .elementor-button,
.elementor-element-25a404c .elementor-button,
.elementor-element-26ef165 .elementor-button,
.elementor-element-27092d3 .elementor-button,
.elementor-element-299ee6b .elementor-button,
.elementor-element-2cb3f04 .elementor-button,
.elementor-element-8686204 .elementor-button,
.elementor-element-88c923c .elementor-button,
.elementor-element-8961667 .elementor-button,
.elementor-element-8c68fd8 .elementor-button,
.elementor-element-9d5b569 .elementor-button,
.elementor-element-ad6dbeb .elementor-button,
.elementor-element-aee68a8 .elementor-button,
.elementor-element-b6db908 .elementor-button,
.elementor-element-c091000 .elementor-button,
.elementor-element-d462619 .elementor-button,
.elementor-element-dc0c35d .elementor-button,
.elementor-element-f8587a5 .elementor-button,
.elementor-element-fb717b5 .elementor-button {
  color: #1f1f1f !important;
}

/* Nicht-textliche Bedienelemente brauchen mindestens 3:1 Kontrast. */
.call_icon,
.elementor-element-50294e6 .elementor-social-icon-envelope {
  color: #ff8585 !important;
}

/* Ansprechpartner-Name in den Legacy-Formatseiten: Salmon auf Weiss lag mit
   2,35:1 unter dem Mindestkontrast fuer normalen Text. */
.service_projects .contact_cta .info h3 {
  color: #1f1f1f !important;
}

/* Mindestgroesse fuer die vw-Skalierung des Themes.
   Das uebernommene Theme setzt ab 768px `html { font-size: 1vw }` -- die ganze
   Seite skaliert also mit der Fensterbreite. Auf einem Tablet (768px) landet
   Fliesstext damit bei 7,7px, auf einem 1024er-Bildschirm bei 10,2px. Gemessen
   auf der Live-Seite genauso, also kein Fehler des Spiegels, aber unlesbar.
   Ein Mindestwert haelt die Proportionen des Entwurfs und hebt nur das untere
   Ende an; ueber 1250px bleibt alles unveraendert (1vw > 12,5px).
   Geprueft auf 10 Seiten in 768/900/1024/1200/1440px: kein Ueberlauf. */
@media (min-width: 768px) {
  html { font-size: max(1vw, 12.5px); }
}

@media (max-width: 900px) {
  html, body { max-width: 100%; overflow-x: clip; }
}
