/* ===== COOKIE-BANNER (CookieConsent v3) im flackerkiste-Look =====
   Kleine dunkle Karte unten links, Orange als Akzent, Nohemi für Titel (klein geschrieben wie die Headlines),
   Onest für Text. Beide Buttons gleichwertig. Tokens aus flackerkiste.css. */
#cc-main {
  --cc-font-family: var(--body, 'Onest', 'Helvetica Neue', sans-serif);
  --cc-bg: #131313;
  --cc-primary-color: #f4f3f0;
  --cc-secondary-color: #b3b3b3;
  --cc-btn-primary-bg: #e56f40;
  --cc-btn-primary-color: #0a0a0a;
  --cc-btn-primary-border-color: #e56f40;
  --cc-btn-primary-hover-bg: #f0a07f;
  --cc-btn-primary-hover-color: #0a0a0a;
  --cc-btn-primary-hover-border-color: #f0a07f;
  --cc-btn-secondary-bg: #1c1c1c;
  --cc-btn-secondary-color: #f4f3f0;
  --cc-btn-secondary-border-color: #3a3a3a;
  --cc-btn-secondary-hover-bg: #2a2a2a;
  --cc-btn-secondary-hover-color: #f4f3f0;
  --cc-btn-secondary-hover-border-color: #777;
  --cc-btn-border-radius: 999px;
  --cc-modal-border-radius: 16px;
  --cc-separator-border-color: #2a2a2a;
  --cc-toggle-on-bg: #e56f40;
  --cc-toggle-off-bg: #3a3a3a;
  --cc-toggle-readonly-bg: #2a2a2a;
  --cc-toggle-on-knob-bg: #0a0a0a;
  --cc-toggle-off-knob-bg: #b3b3b3;
  --cc-toggle-readonly-knob-bg: #777;
  --cc-link-color: #f0a07f;
  --cc-footer-bg: #0f0f0f;
  --cc-footer-color: #858585;
  --cc-footer-border-color: #2a2a2a;
  --cc-overlay-bg: rgba(0, 0, 0, 0.6);
  --cc-pm-toggle-border-radius: 999px;
  --cc-cookie-category-block-bg: #1c1c1c;
  --cc-cookie-category-block-border: #2a2a2a;
  --cc-cookie-category-block-hover-bg: #222;
  --cc-cookie-category-block-hover-border: #3a3a3a;
  --cc-cookie-category-expanded-block-bg: #171717;
  --cc-cookie-category-expanded-block-hover-bg: #1c1c1c;
  --cc-modal-margin: 20px;
  color-scheme: dark;
}

/* Ebene 1: kompakte Karte */
#cc-main .cm--box {
  max-width: 380px;
  border: 1px solid #2a2a2a;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(229, 111, 64, 0.10);
}
#cc-main .cm__body { padding: 16px 18px 12px; }
#cc-main .cm__texts { padding: 0; }
/* Titel mit flackerndem Orange-Kästchen davor (16:9 wie die Logo-Kacheln) */
#cc-main .cm__title {
  font-family: var(--display, 'Nohemi', 'Helvetica Neue', sans-serif); font-weight: 500;
  font-size: 18px; line-height: 1.15; letter-spacing: -0.01em; text-transform: lowercase;
  padding-left: 0; min-height: 26px; display: flex; align-items: center; gap: 10px;
}
#cc-main .cm__title::before {
  content: ""; width: 16px; height: 9px; border-radius: 2px; flex: none;
  background: #e56f40; box-shadow: 0 0 10px rgba(229, 111, 64, 0.6);
  animation: fk-cc-flicker 4s infinite;
}
@keyframes fk-cc-flicker {
  0%, 92%, 100% { opacity: 1; }
  93% { opacity: .35; } 95% { opacity: 1; } 97% { opacity: .5; }
}
#cc-main .cm__desc { font-size: 14px; line-height: 1.5; color: #b3b3b3; padding: 6px 0 0; }
#cc-main .cm__footer, #cc-main .cm__links { justify-content: flex-start; text-align: left; }
#cc-main .cm__links { padding-left: 0 !important; padding-right: 0 !important; }
#cc-main .cm__link-group { margin: 0 !important; justify-content: flex-start !important; }
/* Alles klar und Alles ablehnen nebeneinander, gleich groß; „Anpassen“ als Textlink darunter */
#cc-main .cm__btns { padding: 12px 0 0; gap: 6px; border-top: 0; }
#cc-main .cm__btn-group { display: flex; flex-direction: row; gap: 8px; }
#cc-main .cm__btn, #cc-main .cm__btn:first-child { flex: 1 1 0; height: 44px; min-height: 44px; padding: 0 12px; font-size: 14px; font-weight: 600; line-height: 1.1; }
#cc-main .cm__btn[data-role="show"] {
  flex: none !important; height: auto !important; min-height: 0; padding: 4px 0 0; align-self: flex-start;
  background: none; border: 0; box-shadow: none; color: #f0a07f; font-size: 13px; font-weight: 500;
  text-decoration: underline; text-underline-offset: 3px;
}
#cc-main .cm__btn[data-role="show"]:hover { background: none; color: #f4f3f0; }
#cc-main .cm__btn + .cm__btn { margin: 0 !important; }
#cc-main .cm__btn-group + .cm__btn { margin: 6px 0 0 !important; }
#cc-main .cm__footer { padding: 8px 18px 9px; font-size: 12.5px; }
#cc-main .cm__footer a { font-weight: 500; color: #b3b3b3; }
#cc-main .cm__footer a:hover { color: #e56f40; }

/* Ebene 2: Einstellungen */
#cc-main .pm { max-width: 520px; border: 1px solid #2a2a2a; }
#cc-main .pm__title { font-family: var(--display, 'Nohemi', 'Helvetica Neue', sans-serif); font-weight: 500; font-size: 20px; letter-spacing: -0.01em; text-transform: lowercase; }
#cc-main .pm__section-title { font-size: 14.5px; }
#cc-main .pm__section-desc { font-size: 14px; line-height: 1.55; color: #b3b3b3; }
#cc-main .pm__btn { min-height: 44px; font-weight: 600; }
#cc-main .pm__section--toggle .pm__section-title { color: #f4f3f0; }

/* Solange der Banner offen ist, verdeckt der runde Anruf-Button (nur Handy) sonst die Buttons */
html.show--consent .floating-call { opacity: 0; pointer-events: none; }

@media (max-width: 640px) {
  #cc-main { --cc-modal-margin: 8px; }
  #cc-main .cm--box { max-width: none; }
  /* auch am Handy beide Buttons nebeneinander; die Bibliothek stapelt sie per !important, daher ebenfalls !important */
  #cc-main .cm { width: calc(100vw - 16px) !important; max-width: 380px !important; }
  #cc-main .cm__btns { border-top: 0 !important; padding: 12px 18px 0 !important; }
  #cc-main .cm__btn-group { flex-direction: row !important; gap: 8px; }
  #cc-main .cm__btn + .cm__btn { margin: 0 !important; }
  #cc-main .cm__btn-group + .cm__btn { margin: 6px 0 0 !important; }
  #cc-main .cm__btn, #cc-main .cm__btn:first-child { flex: 1 1 0 !important; width: auto; }
  #cc-main .cm__title, #cc-main .cm__desc { padding-left: 18px !important; padding-right: 18px !important; }
  #cc-main .cm__btn[data-role="show"] { width: 100% !important; text-align: left !important; justify-content: flex-start !important; }
  #cc-main .cm__footer { justify-content: flex-start !important; text-align: left !important; padding-left: 18px !important; }
  #cc-main .cm__links { padding-left: 0 !important; padding-right: 0 !important; }
}

@media (prefers-reduced-motion: reduce) {
  #cc-main .cm, #cc-main .pm { transition-duration: 1ms !important; }
  #cc-main .cm__title::before { animation: none; }
}

/* Gruppenstandard (10.10.2026): „Alles klar“ und „Alles ablehnen“ gleich groß UND gleich gestaltet */
#cc-main {
  --cc-btn-secondary-bg: #e56f40;
  --cc-btn-secondary-color: #0a0a0a;
  --cc-btn-secondary-border-color: #e56f40;
  --cc-btn-secondary-hover-bg: #f0a07f;
  --cc-btn-secondary-hover-color: #0a0a0a;
  --cc-btn-secondary-hover-border-color: #f0a07f;
}
