/* GP Consent: Cookie-Einstellungen für groetschundpartner.com
   Ersetzt die KOMPLETTE Datei assets/gp-consent.css (so bleibt keine alte .gpc-banner-Regel mit bottom:16px stehen).
   Farben: Anthrazit #2b2b2b (Text/Flächen), Gold #d9b96f (Markenakzent, immer symmetrisch). Schrift: erbt die Seitenschrift (Open Sans).
   Stand 25.08.2026: zentrierter Dialog mit abgedunkelter Seite, zwei identische Entscheidungsknöpfe, „Einstellungen“ als Textlink.
   Kontraste rechnerisch geprüft (WCAG 2.2 AA): Weiß/Anthrazit 14,2:1, Anthrazit/Creme 13,2:1, Gold/Anthrazit 7,5:1, Badge 6,1:1, Schalter aus 3,6:1. */

#gp-consent-root { font-family: inherit; }

/* ---------- Dialog ---------- */
/* Klick-Fänger über der Seite (entsteht nur mit den JS-Ergänzungen). Die Abdunkelung kommt vom Schatten des Dialogs,
   deshalb bleibt der Fänger durchsichtig und dunkelt nicht doppelt ab. */
.gpc-overlay { position: fixed; inset: 0; background: transparent; z-index: 2147482999; }
/* Seite hinter dem Dialog nicht scrollen; scrollbar-gutter verhindert den Sprung, wenn die Bildlaufleiste verschwindet */
html.gpc-lock { overflow: hidden; scrollbar-gutter: stable; }

.gpc-banner {
  position: fixed; left: 50%; top: 50%; bottom: auto; transform: translate(-50%, -50%);
  width: min(560px, calc(100% - 32px)); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow: auto;
  background: #ffffff; color: #2b2b2b; border-top: 4px solid #d9b96f; border-radius: 8px;
  /* zweiter Schatten dunkelt die ganze Seite ab (100vmax reicht immer über den Bildschirm hinaus), rein optisch, blockiert nichts */
  box-shadow: 0 24px 64px rgba(0, 0, 0, .35), 0 0 0 100vmax rgba(43, 43, 43, .55);
  padding: 26px 28px 24px; z-index: 2147483000; font-size: 15px; line-height: 1.55;
}
/* Datenschutz-/Impressumsseite: Karte unten ohne Abdunkelung, damit die Rechtstexte ohne Einwilligung lesbar bleiben.
   Greift über die Klasse gpc-sheet (JS-Ergänzung) und über die WordPress-Body-Klasse privacy-policy
   (die Seite /privacy-policy/ muss unter Einstellungen > Datenschutz als Datenschutzseite eingetragen sein). */
.gpc-banner.gpc-sheet, body.privacy-policy .gpc-banner {
  top: auto; bottom: 16px; transform: translateX(-50%);
  width: min(720px, calc(100% - 24px));
  box-shadow: 0 12px 40px rgba(0, 0, 0, .22), 0 0 0 1px rgba(43, 43, 43, .08);
}
.gpc-banner *, .gpc-placeholder * { box-sizing: border-box; }
.gpc-banner h2 { font-size: 20px; font-weight: 600; margin: 0 0 10px; letter-spacing: -0.01em; color: #2b2b2b; }
.gpc-banner h2:focus { outline: none; } /* erhält beim Öffnen nur den Startfokus, ist nicht bedienbar */
.gpc-banner p { margin: 0 0 12px; }
.gpc-banner .gpc-links { font-size: 13.5px; margin: 0 0 16px; }
.gpc-links a { color: #2b2b2b; text-decoration: underline; text-underline-offset: 2px; margin-right: 14px; }

/* ---------- Schaltflächen ---------- */
/* Die zwei Entscheidungsknöpfe teilen sich die Zeile zu gleichen Teilen: gleiche Breite, Höhe, Schrift, Rahmen, Farbe */
.gpc-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
.gpc-btn {
  font: inherit; font-size: 16px; font-weight: 600; line-height: 1.2; cursor: pointer;
  min-height: 48px; padding: 13px 18px; border-radius: 4px; border: 2px solid #2b2b2b;
  background: #2b2b2b; color: #ffffff;                                   /* Weiß auf Anthrazit 14,2:1 */
  flex: 1 1 180px; text-align: center; transition: background .15s, border-color .15s, color .15s;
}
.gpc-btn:hover { background: #3d3d3d; border-color: #d9b96f; }            /* Goldnote beim Zeigen, für beide Knöpfe gleich; 10,9:1 */
.gpc-btn:active { background: #1f1f1f; border-color: #1f1f1f; }
/* Umriss: nur auf der Einstellungsebene, dort für „Nur notwendige“ und „Alle akzeptieren“ identisch; Anthrazit auf Weiß 14,2:1 */
.gpc-btn.gpc-outline { background: #ffffff; color: #2b2b2b; }
.gpc-btn.gpc-outline:hover { background: #faf7ef; border-color: #d9b96f; color: #2b2b2b; }  /* 13,2:1 */
.gpc-btn.gpc-outline:active { background: #f0ebdf; border-color: #2b2b2b; }
/* „Auswahl speichern“: volle Breite unter dem Paar (Hauptaktion der Einstellungsebene) */
.gpc-btn.gpc-wide { flex-basis: 100%; }
/* „Einstellungen“ als Textlink: eigene Zeile unter dem Paar, zentriert, keine Fläche, unterstrichen (nicht nur Farbe) */
.gpc-banner .gpc-more { margin: 14px 0 0; text-align: center; }
.gpc-btn.gpc-link {
  display: inline-block; width: auto; flex: none; min-height: 0; padding: 6px 4px;
  border: 0; border-radius: 3px; background: transparent; color: #2b2b2b; font-size: 15px;
  text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px;
}
.gpc-btn.gpc-link:hover, .gpc-btn.gpc-link:active { background: transparent; color: #2b2b2b; text-decoration-color: #d9b96f; }
/* Fokusring doppelt: innen 3 px Gold (7,5:1 an Anthrazit), außen 3 px Anthrazit (14,2:1 an Weiß), erfüllt WCAG 1.4.11 und 2.4.7.
   Der frühere reine Goldring hatte auf Weiß nur 1,9:1. Selektorliste unverändert. */
.gpc-btn:focus-visible, .gpc-toggle input:focus-visible + .gpc-slider, .gpc-reopen:focus-visible, .gpc-placeholder button:focus-visible {
  outline: 3px solid #2b2b2b; outline-offset: 3px; box-shadow: 0 0 0 3px #d9b96f;
}

/* ---------- Einstellungsebene ---------- */
.gpc-cats { margin: 4px 0 16px; padding: 0; list-style: none; border-top: 1px solid #e6e2d8; }
.gpc-cat { border-bottom: 1px solid #e6e2d8; padding: 12px 0; }
.gpc-cat-head { display: flex; align-items: center; gap: 12px; }
.gpc-cat-head strong { font-weight: 600; flex: 1; }
.gpc-cat-text { margin: 6px 0 0; font-size: 14px; color: #555; }
.gpc-services { margin: 8px 0 0; padding: 0; list-style: none; font-size: 13px; color: #555; }
.gpc-services li { padding: 4px 0 4px 12px; border-left: 2px solid #d9b96f; margin: 4px 0; }
.gpc-services span { display: block; }
.gpc-badge { font-size: 12px; font-weight: 600; color: #6f5618; background: #f6efdc; padding: 2px 8px; border-radius: 999px; } /* 6,1:1 (vorher 4,3:1) */

/* ---------- Schalter ---------- */
.gpc-toggle { position: relative; display: inline-block; width: 44px; height: 24px; flex: none; }
.gpc-toggle input { opacity: 0; width: 0; height: 0; position: absolute; }
.gpc-slider { position: absolute; inset: 0; background: #8c877a; border-radius: 24px; transition: background .15s; cursor: pointer; } /* aus: 3,6:1 an Weiß (vorher 1,7:1) */
.gpc-slider::before { content: ""; position: absolute; width: 18px; height: 18px; left: 3px; top: 3px; background: #fff; border-radius: 50%; transition: transform .15s; }
.gpc-toggle input:checked + .gpc-slider { background: #2b2b2b; }
.gpc-toggle input:checked + .gpc-slider::before { transform: translateX(20px); background: #d9b96f; }
.gpc-toggle input:disabled + .gpc-slider { opacity: .55; cursor: default; }

/* ---------- Schwebender Wiederöffnen-Knopf ---------- */
.gpc-reopen {
  position: fixed; left: 14px; bottom: 14px; z-index: 2147482000;
  font: inherit; font-size: 13px; font-weight: 600; color: #2b2b2b; background: #ffffff;
  border: 1px solid #d9b96f; border-radius: 999px; padding: 8px 12px 8px 10px; cursor: pointer;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .14); display: inline-flex; align-items: center; gap: 6px;
}
.gpc-reopen svg { width: 16px; height: 16px; fill: #d9b96f; }
.gpc-reopen span { display: none; }
.gpc-reopen:hover span { display: inline; }
@media (min-width: 900px) { .gpc-reopen span { display: inline; } }

/* ---------- Platzhalter für blockierte Inhalte (Formular-Hinweis) ---------- */
.gpc-placeholder {
  border: 1px solid #d9b96f; background: #faf7ef; color: #2b2b2b; border-radius: 6px;
  padding: 18px 20px; margin: 12px 0; font-size: 15px; line-height: 1.55;
}
.gpc-placeholder strong { display: block; font-size: 16px; margin-bottom: 6px; }
.gpc-placeholder p { margin: 0 0 12px; }
.gpc-placeholder button {
  font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; padding: 10px 16px;
  border-radius: 4px; border: 2px solid #2b2b2b; background: #2b2b2b; color: #fff;
}
.gpc-placeholder a { color: #2b2b2b; }

/* ---------- Handy ---------- */
@media (max-width: 560px) {
  /* Blatt am unteren Rand (Daumenzone); Knöpfe untereinander, „Alle akzeptieren“ zuunterst; Platz für die iPhone-Gestenleiste */
  .gpc-banner {
    top: auto; bottom: 0; transform: translateX(-50%); width: 100%;
    max-height: calc(100vh - 16px); max-height: calc(100dvh - 16px);
    border-radius: 10px 10px 0 0; padding: 20px 18px calc(18px + env(safe-area-inset-bottom, 0px)); font-size: 14px;
  }
  .gpc-banner.gpc-sheet, body.privacy-policy .gpc-banner { bottom: 8px; width: calc(100% - 16px); border-radius: 6px; }
  .gpc-btn { flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .gpc-btn, .gpc-slider, .gpc-slider::before { transition: none; }
}
