/* ---------------------------------------------------------------------------
   Bilanzo Zustimmung: Gestaltung des Zustimmungsfensters.
   Hausstil bilanzo.ch, Fibonacci-Abstaende 8 / 13 / 21 / 34 / 55, Ecken
   abgeschnitten (bilanzo-clipped.css setzt corner-shape:bevel auf jeden
   border-radius).

   Alle Regeln hier ueberschreiben die von Complianz erzeugte Datei
   /wp-content/uploads/complianz/css/banner-1-optin.css. Die wird bei jeder
   Aenderung im Backend neu geschrieben, darum gewinnen wir ueber die ID
   (#cmplz-cookiebanner-container, #cmplz-manage-consent) und nicht ueber
   !important. Die fremde Datei wird nicht angefasst.

   Gemessene Kontraste (24.09.2026, WCAG-Formel auf die DECKENDE Endfarbe,
   Deckkraft eingerechnet):
     weiss #FFFFFF auf CTA #1A6AAE        5,65:1   (AA ab 4,5; vorher 4,94:1)
     weiss #FFFFFF auf CTA-Hover #145489  7,90:1
     #0C2D56 auf weiss #FFFFFF           13,77:1
     #222222 auf weiss                   15,91:1
     #222222 auf Gruppenflaeche #F4F7FA  14,80:1
     #5B6472 auf weiss (Kleintext)        5,98:1
     #FFFFFF auf Navy #0C2D56            13,77:1
   --------------------------------------------------------------------------- */

:root {
  --blz-zust-cta: #1A6AAE;
  --blz-zust-cta-dunkel: #145489;
  --blz-zust-navy: #0C2D56;
  --blz-zust-text: #222222;
  --blz-zust-still: #5B6472;
  --blz-zust-linie: #C9D3DE;
  --blz-zust-flaeche: #F4F7FA;
}

/* Complianz-Eigenwerte gleich mitziehen, damit Schieberegler und Verweise passen. */
.cmplz-cookiebanner,
#cmplz-manage-consent {
  --cmplz_hyperlink_color: #1A6AAE;
  --cmplz_slider_active_color: #1A6AAE;
  /* Vorher #F56E28. Ein oranger Regler sieht aus wie eingeschaltet, obwohl er
     ausgeschaltet ist. Grau sagt die Wahrheit. */
  --cmplz_slider_inactive_color: #6B7280;
  --cmplz_text_font_size: 14px;
  --cmplz_category_body_font_size: 13px;
  --cmplz_link_font_size: 13px;
}

/* ---------------------------------------------------------------- 1 Gleichwertigkeit
   Annehmen und Ablehnen sind EIN UND DIESELBE Gestalt: gleiche Flaeche, gleiche
   Schriftfarbe, gleicher Rand, gleiches Gewicht, gleiche Groesse, gleiche Reihe.
   Vorher war "Akzeptieren" blau gefuellt und "Ablehnen" fast weiss. */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny {
  background-color: var(--blz-zust-cta);
  border: 2px solid var(--blz-zust-cta);
  color: #FFFFFF;
  font-weight: 600;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept:hover,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny:hover {
  background-color: var(--blz-zust-cta-dunkel);
  border-color: var(--blz-zust-cta-dunkel);
}

/* Einstellungen sind keine Zustimmungswahl, sondern ein Weg dorthin. Sie duerfen
   anders aussehen, aber nicht schwaecher lesbar sein: 13,77:1 statt vorher blass. */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-manage-options {
  background-color: #FFFFFF;
  border: 2px solid var(--blz-zust-navy);
  color: var(--blz-zust-navy);
  font-weight: 600;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences:hover,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences:hover {
  background-color: var(--blz-zust-navy);
  color: #FFFFFF;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn:focus-visible {
  outline: 3px solid #0C2D56;
  outline-offset: 2px;
}

/* ------------------------------------------------------------ 2 Fehlende Gruppen
   Die erzeugte Datei blendet Praeferenzen und Marketing aus, weil Complianz dort
   keine Dienste kennt. Die Kaestchen stehen im Dokument und arbeiten, sie waren
   nur unsichtbar. Seit die Herkunftserfassung von WooCommerce an Marketing haengt,
   muss die Gruppe waehlbar sein. */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-preferences,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-marketing:not(.cmplz-tcf),
body .cmplz-manage-consent-container .cmplz-preferences,
body .cmplz-manage-consent-container .cmplz-marketing:not(.cmplz-tcf) {
  display: block;
}

/* Die abgeschnittenen Ecken kommen fuer Knoepfe und Gruppen schon aus
   bilanzo-kontrast.css Zeile 329 bis 333 (clip-path 8 px, border-radius 0
   !important). Hier stehen darum nur Flaeche und Rand. */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category {
  background-color: var(--blz-zust-flaeche);
  border: 1px solid var(--blz-zust-linie);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category:not(:last-child) {
  margin-bottom: 8px;
}

/* ------------------------------------------------------------- 3 Auskunftstafel
   Zweck, Anbieter, Speicherdauer je Gruppe. Der Inhalt kommt aus zustimmung.js
   in vier Sprachen. */
.blz-zust-tafel {
  margin: 8px 0 0;
  padding: 8px 0 0;
  border-top: 1px solid var(--blz-zust-linie);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 5px 13px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--blz-zust-text);
}
.blz-zust-tafel dt {
  margin: 0;
  font-weight: 700;
  white-space: nowrap;
  color: var(--blz-zust-navy);
}
.blz-zust-tafel dd { margin: 0; }
@media (max-width: 480px) {
  .blz-zust-tafel { grid-template-columns: 1fr; gap: 3px; }
  .blz-zust-tafel dd { margin-bottom: 5px; }
}
.blz-zust-fussnote {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.5;
  color: var(--blz-zust-still);
}

/* ------------------------------------------------------------------ 4 Widerruf
   GEMESSEN AM 24.09.2026, IST-ZUSTAND OHNE DIESE DATEI (Playwright, nach einem
   Klick auf "Ablehnen", Knopf "Zustimmung verwalten"):
     480 px Breite   sichtbar, 50 px hoch
     600 px Breite   display:none   <- kein Weg zum Widerruf
     760 px Breite   display:none   <- kein Weg zum Widerruf
     800 px Breite   sichtbar, 50 px hoch
   Der Knopf ist also NICHT durchgehend erreichbar, sondern faellt zwischen 481
   und 768 Pixeln Breite ganz aus. Ursache: die von Complianz erzeugte Datei
   schaltet ihn unter 768 px ab, und die Gegenregel in bilanzo-kontrast.css
   (Zeile 374) holt ihn nur unter 480 px zurueck. Genau dieses Fenster schliesst
   die Regel unten; ihre (1,1,1) schlaegt die (1,1,0) der erzeugten Datei.

   Lage und Seite kommen weiterhin aus bilanzo-kontrast.css Zeile 89
   (left 13px, bottom 13px, beides !important). Das ist die Arbeit von jemand
   anderem und bleibt unangetastet, sie steht hier nur damit niemand sie sucht.
   Hier steht nur die Gestalt: Hausfarbe statt Weiss, Fibonacci-Innenabstand, und
   animation:none, damit der Knopf nicht mehr halb unter den Rand faehrt. */
body #cmplz-manage-consent .cmplz-manage-consent,
body #cmplz-manage-consent .cmplz-manage-consent:hover,
body #cmplz-manage-consent .cmplz-manage-consent:focus {
  animation: none;
  min-width: 0;
  height: auto;
  padding: 8px 13px;
  background-color: var(--blz-zust-navy);
  color: #FFFFFF;
  border: 0;
  font-size: 13px;
  font-weight: 600;
  line-height: 21px;
  box-shadow: 0 5px 21px rgba(12, 45, 86, .28);
  z-index: 99990;
}
body #cmplz-manage-consent .cmplz-manage-consent:hover {
  background-color: #123E74;
}
body #cmplz-manage-consent .cmplz-manage-consent:focus-visible {
  outline: 3px solid #7DE3F7;
  outline-offset: 2px;
}
@media (max-width: 768px) {
  body #cmplz-manage-consent .cmplz-manage-consent {
    display: block;
    font-size: 12px;
    padding: 5px 8px;
  }
}

/* --- Befund H2 von Boris, 24.09.2026 -------------------------------------------
   Der Schwebeknopf des Supports liegt mit z-index 100000 (bilanzo-kontrast.css
   Zeile 370) ueber dem Zustimmungsfenster mit 99999. Auf 375 Pixeln Breite deckt er
   die rechte Kante von "Einstellungen anzeigen" ab. Solange das Fenster offen ist,
   hat der Chat zu warten. Complianz kann in dieser Zeit cmplz-banner-active auf den body
   setzen; auf bilanzo.ch tut es das NICHT (am 24.09.2026 nachgemessen, die Klasse kommt
   nie). Darum haengt die Regel zusaetzlich an :has() auf das sichtbare Fenster selbst.
   Sie setzt nur display, der z-index aus der fremden Datei bleibt unberuehrt. */
body.cmplz-banner-active .blz-chat2__knopf,
body.cmplz-banner-active #blz-chat2,
body:has(#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show) .blz-chat2__knopf,
body:has(#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show) #blz-chat2 {
  display: none;
}

/* Lesbarkeit im Fenster selbst */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message { color: var(--blz-zust-text); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links .cmplz-link { color: var(--blz-zust-cta); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title {
  font-weight: 700;
  font-size: 16px;
  color: var(--blz-zust-navy);
}
