/* Cookie-Banner (CookieConsent v3, Gruppenstandard) im Shape-&-Raise-Look: Karte in --bg-card mit Haarlinie und Glutkante oben,
   beide Knöpfe gleich (Signal-Orange, Pille, Mono-Versalien wie .btn-primary), Instrument Sans für den Text.
   Aufbau und Maße wie innphone, rolutec.de und sabesus.de: Karte unten links (Startseite unten rechts), „Anpassen“ als Textlink. */
#cc-main {
  --cc-font-family: 'Instrument Sans', Arial, sans-serif;
  --cc-bg: #0e0e18;
  --cc-primary-color: #ffffff;
  --cc-secondary-color: rgba(255, 255, 255, .74);
  --cc-btn-primary-bg: #fe3d11;
  --cc-btn-primary-color: #01010b;
  --cc-btn-primary-border-color: #fe3d11;
  --cc-btn-primary-hover-bg: #ffffff;
  --cc-btn-primary-hover-color: #01010b;
  --cc-btn-primary-hover-border-color: #ffffff;
  --cc-btn-secondary-bg: #fe3d11;
  --cc-btn-secondary-color: #01010b;
  --cc-btn-secondary-border-color: #fe3d11;
  --cc-btn-secondary-hover-bg: #ffffff;
  --cc-btn-secondary-hover-color: #01010b;
  --cc-btn-secondary-hover-border-color: #ffffff;
  --cc-btn-border-radius: 999px;
  --cc-modal-border-radius: 4px;
  --cc-separator-border-color: rgba(255, 255, 255, .08);
  --cc-toggle-on-bg: #fe3d11;
  --cc-toggle-off-bg: #3a3a46;
  --cc-toggle-readonly-bg: #1e1e2a;
  --cc-toggle-on-knob-bg: #ffffff;
  --cc-toggle-off-knob-bg: #ffffff;
  --cc-toggle-readonly-knob-bg: #80808b;
  --cc-link-color: #ff7a4f;
  --cc-footer-bg: #0a0a14;
  --cc-footer-color: rgba(255, 255, 255, .62);
  --cc-footer-border-color: rgba(255, 255, 255, .08);
  --cc-overlay-bg: rgba(1, 1, 11, .66);
  --cc-pm-toggle-border-radius: 99px;
  --cc-cookie-category-block-bg: #12121e;
  --cc-cookie-category-block-border: rgba(255, 255, 255, .08);
  --cc-cookie-category-block-hover-bg: #171724;
  --cc-cookie-category-block-hover-border: rgba(254, 61, 17, .35);
  --cc-cookie-category-expanded-block-bg: #12121e;
  --cc-cookie-category-expanded-block-hover-bg: #171724;
  --cc-modal-margin: 18px;
  color-scheme: dark;
}

/* Ebene 1: kompakte Karte; „Alles klar“ und „Alles ablehnen“ nebeneinander und gleich gestaltet */
#cc-main .cm--box { max-width: 380px; border: 1px solid rgba(255, 255, 255, .12); box-shadow: none; overflow: visible; }
#cc-main .cm--box::before {
  content: ''; position: absolute; left: -1px; right: -1px; top: -1px; height: 1px; pointer-events: none;
  background: linear-gradient(90deg, #ff7a4f, rgba(254, 61, 17, .55) 38%, rgba(254, 61, 17, 0) 88%);
}
#cc-main .cm__body { padding: 18px 20px 12px; }
#cc-main .cm__texts { padding: 0; }
#cc-main .cm__title { font-weight: 600; font-size: 18px; line-height: 1.2; letter-spacing: -.01em; padding: 0; }
#cc-main .cm__desc { font-size: 14px; line-height: 1.55; color: rgba(255, 255, 255, .74); padding: 8px 0 0; }
#cc-main .cm__desc strong { color: #fff; font-weight: 600; }
#cc-main .cm__btns { padding: 14px 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: 46px; min-height: 46px; padding: 0 10px;
  font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 12px; font-weight: 500; line-height: 1.1; letter-spacing: .08em; text-transform: uppercase;
}
#cc-main .cm__btn[data-role="show"] {
  flex: none !important; height: auto !important; min-height: 32px; padding: 4px 0 0; align-self: flex-start;
  background: none; border: 0; color: #ff7a4f; font-family: var(--cc-font-family); font-size: 14px; font-weight: 400;
  letter-spacing: 0; text-transform: none; text-decoration: underline; text-underline-offset: 4px;
}
#cc-main .cm__btn[data-role="show"]:hover { background: none; color: #fff; }
#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 20px 10px; font-size: 13px; }
#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; }
#cc-main .cm__footer a { font-weight: 400; }
#cc-main .cm__btn:focus-visible, #cc-main .pm__btn:focus-visible, #cc-main a:focus-visible { outline: 2px solid #ff7a4f; outline-offset: 3px; }

/* Ebene 2: Einstellungen */
#cc-main .pm { max-width: 520px; border: 1px solid rgba(255, 255, 255, .12); box-shadow: none; }
#cc-main .pm__title { font-weight: 600; font-size: 19px; letter-spacing: -.01em; }
#cc-main .pm__section-title { font-size: 15px; font-weight: 600; }
#cc-main .pm__section-desc { font-size: 14px; line-height: 1.5; }
#cc-main .pm__btn {
  min-height: 46px; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase;
}

@media (max-width: 640px) {
  #cc-main { --cc-modal-margin: 8px; }
  #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__title { padding-top: 4px !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; }
  /* Startseite am Handy kompakt (wie sabesus.de): gleicher Text, gleiche Knöpfe, rund ein Drittel niedriger,
     damit die Überschrift der Bühnen-Station beim ersten Besuch sichtbar bleibt */
  body.hat-buehne #cc-main .cm__body { padding: 12px 0 4px !important; position: static !important; }   /* „Anpassen“ richtet sich nach dem ganzen Fenster */
  body.hat-buehne #cc-main .cm__texts { gap: 0 !important; }
  body.hat-buehne #cc-main .cm__title, body.hat-buehne #cc-main .cm__desc { padding-left: 16px !important; padding-right: 16px !important; }
  body.hat-buehne #cc-main .cm__title { font-size: 16px !important; padding-top: 0 !important; }
  body.hat-buehne #cc-main .cm__desc { font-size: 13px !important; line-height: 1.42 !important; padding-top: 5px !important; }
  body.hat-buehne #cc-main .cm__btns { padding: 10px 16px 0 !important; }
  body.hat-buehne #cc-main .cm__btn, body.hat-buehne #cc-main .cm__btn:first-child { height: 40px !important; min-height: 40px !important; font-size: 11.5px !important; }
  /* „Anpassen“ steht rechts in der Fußzeile neben Impressum und Datenschutz statt in einer eigenen Zeile */
  body.hat-buehne #cc-main .cm__btn[data-role="show"] { position: absolute !important; right: 16px; bottom: 8px; width: auto !important; height: auto !important;
    min-height: 0 !important; padding: 0 !important; margin: 0 !important; font-size: 12px !important; line-height: 13px !important; text-underline-offset: 3px !important; overflow: visible !important; }
  body.hat-buehne #cc-main .cm__btn[data-role="show"]::after { content: ''; position: absolute; inset: -12px -10px; }   /* Tippfläche ≥ 36 px */
  body.hat-buehne #cc-main .cm__footer { padding: 6px 16px 7px !important; font-size: 12px !important; }
}

/* Datenschutzerklärung: Knopf „Statistik auf diesem Gerät abschalten“ (einbau.js füllt den Status) */
.statistik-schalter { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 20px; }
.statistik-schalter [data-statistik-status] { font-size: 14px; color: rgba(255, 255, 255, .62); }
