/* =========================================================================
   Die-Simpsons.de · Borlabs Cookie 3 · Design passend zum SOTB-Theme
   Einfuegen unter: Borlabs Cookie > Design > Individuelles CSS
   Aufbau wie bei OQUNE: Ebene 1 ist kompakt (drei gleichwertige Entscheidungen),
   die Detailansicht ("Individuelle Einstellungen") behaelt Borlabs, bekommt aber das Simpsons-Design.
   ========================================================================= */

#BorlabsCookieBox {
  --bc-ink: var(--ds-ink, #16203a);
  --bc-muted: var(--ds-muted, #5a6479);
  --bc-card: #fff;
  --bc-soft: var(--ds-soft, #edf1f7);
  --bc-line: var(--ds-line, #e3e8f1);
  --bc-yellow: var(--ds-yellow, #ffd90f);
  --bc-yellow-d: var(--ds-yellow-d, #f0c800);
  --bc-link: var(--ds-link, #1457b8);
  --bc-head: var(--ds-head, "Noway Round", system-ui, sans-serif);
  --bc-font: var(--ds-font, "Basier Circle", system-ui, sans-serif);
}

/* ---------- Dialogbox: eine helle, weich abgerundete Karte ---------- */
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-box {
  box-sizing: border-box !important;
  width: min(680px, calc(100vw - 24px)) !important;
  max-width: 680px !important;
  border: 0 !important;
  border-radius: 28px !important;
  background: var(--bc-card) !important;
  box-shadow: 0 2px 4px rgba(22, 32, 58, .08), 0 30px 60px -16px rgba(22, 32, 58, .45) !important;
  color: var(--bc-ink) !important;
  overflow: hidden !important;
}

/* Alle verschachtelten Wrapper: eine Flaeche, keine Fremdfarben */
html body #BorlabsCookieBox .brlbs-cmpnt-dialog,
html body #BorlabsCookieBox .brlbs-cmpnt-dialog > div,
html body #BorlabsCookieBox [role="alertdialog"],
html body #BorlabsCookieBox [role="document"],
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-box-entrance,
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-box-header,
html body #BorlabsCookieBox .brlbs-cpmnt-dialog-box-buttons,
html body #BorlabsCookieBox .brlbs-cpmnt-dialog-box-buttons > div,
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-footer,
html body #BorlabsCookieBox form,
html body #BorlabsCookieBox fieldset {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--bc-ink) !important;
}

/* ---------- Ebene 1 ---------- */
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-box-entrance {
  padding: clamp(22px, 3.2vw, 34px) clamp(22px, 3.4vw, 36px) 6px !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-box-header {
  min-height: 0 !important;
  padding: 0 !important;
  justify-content: flex-start !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-entrance-headline {
  display: block !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: var(--bc-ink) !important;
  font-family: var(--bc-head) !important;
  font-size: clamp(1.45rem, 3.2vw, 1.9rem) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: -.015em !important;
  text-align: left !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-entrance-description {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--bc-muted) !important;
  font-family: var(--bc-font) !important;
  font-size: .95rem !important;
  line-height: 1.6 !important;
}

/* Die Gruppenliste gehoert in "Individuelle Einstellungen", nicht auf die kompakte Ebene 1 */
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-box-entrance .brlbs-cmpnt-consent-list {
  display: none !important;
}

/* Links im Text */
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-box-entrance a,
html body #BorlabsCookieBox .brlbs-cmpnt-inline-link {
  color: var(--bc-link) !important;
  text-underline-offset: .18em !important;
}

/* ---------- Buttons: drei gleichwertige Entscheidungen ---------- */
/* Borlabs-Tippfehler "cpmnt" ist in der echten Klasse enthalten, deshalb genau so. */
html body #BorlabsCookieBox .brlbs-cpmnt-dialog-box-buttons {
  padding: 0 clamp(22px, 3.4vw, 36px) !important;
}

html body #BorlabsCookieBox .brlbs-cpmnt-dialog-box-buttons > .brlbs-space-y-2 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 20px !important;
}

html body #BorlabsCookieBox .brlbs-cpmnt-dialog-box-buttons > .brlbs-space-y-2 > div {
  margin: 0 !important;
  min-width: 0 !important;
}

html body #BorlabsCookieBox .brlbs-cpmnt-dialog-box-buttons .brlbs-cmpnt-btn {
  width: 100% !important;
  min-height: 50px !important;
  padding: 12px 16px !important;
  border: 2px solid var(--bc-yellow) !important;
  border-radius: 999px !important;
  background: var(--bc-yellow) !important;
  color: var(--bc-ink) !important;
  box-shadow: none !important;
  font-family: var(--bc-head) !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transition: background .15s, border-color .15s, transform .15s !important;
}

html body #BorlabsCookieBox .brlbs-cpmnt-dialog-box-buttons .brlbs-cmpnt-btn:hover,
html body #BorlabsCookieBox .brlbs-cpmnt-dialog-box-buttons .brlbs-cmpnt-btn:focus-visible {
  border-color: var(--bc-yellow-d) !important;
  background: var(--bc-yellow-d) !important;
  transform: translateY(-1px) !important;
}

/* "Einstellungen" ist die Verwaltungsaktion: gleiche Groesse, aber nur Kontur */
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-box-entrance .brlbs-cmpnt-btn-preferences,
html body #BorlabsCookieBox .brlbs-cpmnt-dialog-box-buttons .brlbs-cmpnt-btn-preferences {
  border: 2px solid var(--bc-line) !important;
  background: transparent !important;
  color: var(--bc-ink) !important;
}

html body #BorlabsCookieBox .brlbs-cpmnt-dialog-box-buttons .brlbs-cmpnt-btn-preferences:hover,
html body #BorlabsCookieBox .brlbs-cpmnt-dialog-box-buttons .brlbs-cmpnt-btn-preferences:focus-visible {
  border-color: var(--bc-ink) !important;
  background: var(--bc-soft) !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-btn:focus-visible,
html body #BorlabsCookieBox a:focus-visible,
html body #BorlabsCookieBox button:focus-visible {
  outline: 3px solid var(--bc-ink) !important;
  outline-offset: 3px !important;
}

/* ---------- Footer mit Datenschutz und Impressum ---------- */
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-footer {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 14px clamp(22px, 3.4vw, 36px) 20px !important;
  border: 0 !important;
  text-align: left !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-footer a,
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-footer .brlbs-cmpnt-privacy-link,
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-footer .brlbs-cmpnt-imprint-link {
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 2px 0 !important;
  color: var(--bc-muted) !important;
  font-family: var(--bc-font) !important;
  font-size: .8rem !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-decoration: underline !important;
  text-underline-offset: .18em !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-footer a:hover {
  color: var(--bc-ink) !important;
}

/* Der Einstellungen-Link im Footer ist doppelt, der Button steht schon darueber */
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-footer .brlbs-cmpnt-preferences-link,
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-box:has(.brlbs-cmpnt-dialog-box-entrance) .brlbs-cmpnt-dialog-footer .brlbs-cmpnt-btn-preferences {
  display: none !important;
}

/* ---------- Detailansicht ("Individuelle Einstellungen") ---------- */
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-box:has(.brlbs-cmpnt-dialog-details) {
  width: min(760px, calc(100vw - 24px)) !important;
  max-width: 760px !important;
  max-height: min(780px, calc(100vh - 24px)) !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details,
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details-header {
  padding: 18px 28px !important;
  border-color: var(--bc-line) !important;
  background: transparent !important;
  color: var(--bc-ink) !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details {
  overflow-x: hidden !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details h1,
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details h2,
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details h3,
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details h4 {
  color: var(--bc-ink) !important;
  font-family: var(--bc-head) !important;
  line-height: 1.25 !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details p,
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details label,
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details span {
  color: var(--bc-muted) !important;
  font-family: var(--bc-font) !important;
  font-size: .9rem !important;
  line-height: 1.55 !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-back-button,
html body #BorlabsCookieBox .brlbs-cmpnt-accordion-toggle,
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details a {
  color: var(--bc-link) !important;
}

/* Tabs */
html body #BorlabsCookieBox .brlbs-cmpnt-tab {
  border: 2px solid var(--bc-line) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--bc-ink) !important;
  font-family: var(--bc-font) !important;
  font-weight: 600 !important;
}

html body #BorlabsCookieBox button.brlbs-cmpnt-tab.brlbs-cmpnt-tab-active,
html body #BorlabsCookieBox button.brlbs-cmpnt-tab.brlbs-cmpnt-tab-active * {
  border-color: var(--bc-yellow) !important;
  background: var(--bc-yellow) !important;
  color: var(--bc-ink) !important;
  -webkit-text-fill-color: var(--bc-ink) !important;
}

/* Karten, Listen, Gruppen */
html body #BorlabsCookieBox .brlbs-cmpnt-card,
html body #BorlabsCookieBox .brlbs-cmpnt-list-item,
html body #BorlabsCookieBox .brlbs-cmpnt-card-group-form-control,
html body #BorlabsCookieBox .brlbs-cmpnt-consent-list,
html body #BorlabsCookieBox .brlbs-cmpnt-consent-list > div,
html body #BorlabsCookieBox article[data-borlabs-service-id],
html body #BorlabsCookieBox article[data-borlabs-service-group-id],
html body #BorlabsCookieBox .brlbs-cmpnt-accordion-container {
  border-color: var(--bc-line) !important;
  border-radius: 18px !important;
  background: var(--bc-card) !important;
  color: var(--bc-ink) !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-consent-list svg,
html body #BorlabsCookieBox .brlbs-cmpnt-accordion-toggle svg {
  color: var(--bc-link) !important;
  stroke: currentColor !important;
  fill: none !important;
}

/* Schalter: gelb wenn an */
html body #BorlabsCookieBox label.brlbs-cmpnt-btn-switch {
  flex: 0 0 44px !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 26px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-btn-switch input {
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

html body #BorlabsCookieBox label.brlbs-cmpnt-btn-switch .brlbs-cmpnt-slider {
  box-sizing: border-box !important;
  position: absolute !important;
  inset: 0 !important;
  width: 44px !important;
  height: 26px !important;
  border: 2px solid var(--bc-line) !important;
  border-radius: 999px !important;
  background: var(--bc-soft) !important;
  box-shadow: none !important;
}

html body #BorlabsCookieBox label.brlbs-cmpnt-btn-switch .brlbs-cmpnt-slider::before {
  width: 16px !important;
  height: 16px !important;
  left: 3px !important;
  bottom: 3px !important;
  border-radius: 50% !important;
  background: var(--bc-ink) !important;
  box-shadow: none !important;
}

html body #BorlabsCookieBox label.brlbs-cmpnt-btn-switch input:checked + .brlbs-cmpnt-slider {
  border-color: var(--bc-yellow) !important;
  background: var(--bc-yellow) !important;
}

html body #BorlabsCookieBox label.brlbs-cmpnt-btn-switch input:checked + .brlbs-cmpnt-slider::before {
  transform: translateX(18px) !important;
  background: var(--bc-ink) !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-btn-switch input:disabled + .brlbs-cmpnt-slider {
  cursor: default !important;
  opacity: 1 !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-btn-switch-status-text {
  padding-left: 8px !important;
  color: var(--bc-muted) !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

/* Auswahlhilfen ("Alle auswaehlen" usw.) */
html body #BorlabsCookieBox button.brlbs-cmpnt-btn-selection {
  min-height: 36px !important;
  padding: 6px 14px !important;
  border: 2px solid var(--bc-line) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--bc-ink) !important;
  box-shadow: none !important;
  font-family: var(--bc-font) !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

html body #BorlabsCookieBox button.brlbs-cmpnt-btn-selection:hover,
html body #BorlabsCookieBox button.brlbs-cmpnt-btn-selection:focus-visible {
  border-color: var(--bc-ink) !important;
  background: var(--bc-soft) !important;
}

/* Buttons unten in der Detailansicht */
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details .brlbs-cmpnt-dialog-box-buttons {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details .brlbs-cmpnt-dialog-box-buttons .brlbs-cmpnt-btn {
  width: 100% !important;
  min-height: 48px !important;
  border: 2px solid var(--bc-yellow) !important;
  border-radius: 999px !important;
  background: var(--bc-yellow) !important;
  color: var(--bc-ink) !important;
  font-family: var(--bc-head) !important;
  font-weight: 700 !important;
}

/* Tabellen (Einwilligungshistorie) */
html body #BorlabsCookieBox table.brlbs-cmpnt-table,
html body #BorlabsCookieBox table.brlbs-cmpnt-table th,
html body #BorlabsCookieBox table.brlbs-cmpnt-table td {
  border-color: var(--bc-line) !important;
  background: transparent !important;
  color: var(--bc-ink) !important;
  -webkit-text-fill-color: var(--bc-ink) !important;
  font-size: .8rem !important;
}

/* ---------- Handy ---------- */
@media (max-width: 640px) {
  html body #BorlabsCookieBox .brlbs-cmpnt-dialog-box {
    border-radius: 22px !important;
  }
  html body #BorlabsCookieBox .brlbs-cpmnt-dialog-box-buttons > .brlbs-space-y-2,
  html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details .brlbs-cmpnt-dialog-box-buttons {
    grid-template-columns: 1fr !important;
  }
  html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details,
  html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details-header {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  html body #BorlabsCookieBox .brlbs-cmpnt-dialog:has(.brlbs-cmpnt-dialog-details) {
    height: auto !important;
    max-height: calc(100dvh - 16px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }
  html body #BorlabsCookieBox .brlbs-cmpnt-dialog:has(.brlbs-cmpnt-dialog-details) > div {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body #BorlabsCookieBox * { transition: none !important; animation: none !important; }
}


/* ---------- Feinschliff auf Basis des echten Borlabs-HTML ---------- */

/* Hintergrund hinter der Box: Simpsons-Dunkelblau, leicht unscharf */
html body #BorlabsCookieBox #BorlabsDialogBackdrop,
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-backdrop {
  background: rgba(22, 32, 58, .55) !important;
  -webkit-backdrop-filter: blur(3px) !important;
  backdrop-filter: blur(3px) !important;
}

/* Die aeussere Huelle ist die weisse Karte (traegt selbst auch die Klasse dialog-box) */
html body #BorlabsCookieBox .brlbs-cmpnt-dialog.brlbs-cmpnt-dialog-box {
  width: min(680px, calc(100vw - 32px)) !important;
  max-width: 680px !important;
  border: 0 !important;
  border-radius: 28px !important;
  background: #fff !important;
  background-color: #fff !important;
  box-shadow: 0 2px 4px rgba(22, 32, 58, .08), 0 30px 60px -16px rgba(22, 32, 58, .5) !important;
  overflow: hidden !important;
}

/* Die innere Box (role="alertdialog") bleibt flaechenlos, sonst doppelt */
html body #BorlabsCookieBox .brlbs-cmpnt-dialog .brlbs-cmpnt-dialog-box[role="alertdialog"] {
  width: 100% !important;
  max-width: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* Text: kompakter, ruhig, Links in Simpsons-Blau */
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-entrance-description,
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-entrance-description p {
  color: var(--bc-muted) !important;
  font-family: var(--bc-font) !important;
  font-size: .9rem !important;
  line-height: 1.6 !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-entrance-description {
  padding-top: 4px !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-entrance-description a {
  color: var(--bc-link) !important;
  text-decoration: underline !important;
}

/* USA-Hinweis: kleiner, abgesetzt, ohne harte Linien */
html body #BorlabsCookieBox .brlbs-cmpnt-non-eu-data-transfer {
  margin-top: 14px !important;
  padding: 12px 14px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: var(--bc-soft) !important;
  color: var(--bc-muted) !important;
  font-size: .78rem !important;
  line-height: 1.5 !important;
}

/* Die Gruppenliste auf Ebene 1 (die drei Punkte) ausblenden */
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-box-entrance form {
  display: none !important;
}

/* Buttons: gleiche Hoehe, Beschriftung ausbalanciert */
html body #BorlabsCookieBox .brlbs-btn-accept-all,
html body #BorlabsCookieBox .brlbs-btn-accept-only-essential {
  border: 2px solid var(--bc-yellow) !important;
  background: var(--bc-yellow) !important;
  color: var(--bc-ink) !important;
  -webkit-text-fill-color: var(--bc-ink) !important;
}

html body #BorlabsCookieBox .brlbs-btn-accept-all:hover,
html body #BorlabsCookieBox .brlbs-btn-accept-only-essential:hover {
  border-color: var(--bc-yellow-d) !important;
  background: var(--bc-yellow-d) !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-btn-preferences {
  border: 2px solid var(--bc-line) !important;
  background: transparent !important;
  color: var(--bc-ink) !important;
  -webkit-text-fill-color: var(--bc-ink) !important;
}

html body #BorlabsCookieBox .brlbs-cpmnt-dialog-box-buttons .brlbs-cmpnt-btn {
  font-size: .9rem !important;
  text-wrap: balance;
}

/* Footer: Linkzeile unten, Einstellungen-Link ausgeblendet (Button steht darueber) */
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-footer {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: 4px 18px !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-footer .brlbs-cmpnt-preferences-link {
  display: none !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-footer .brlbs-cmpnt-link {
  margin: 0 !important;
  color: var(--bc-muted) !important;
  font-size: .8rem !important;
}

html body #BorlabsCookieBox .brlbs-cpmnt-dialog-box-buttons > .brlbs-space-y-2 {
  width: 100% !important;
  align-self: stretch !important;
}

/* Buttons kompakter und gleich hoch */
html body #BorlabsCookieBox .brlbs-cpmnt-dialog-box-buttons > .brlbs-space-y-2 {
  align-items: stretch !important;
  gap: 8px !important;
  margin-top: 16px !important;
}

html body #BorlabsCookieBox .brlbs-cpmnt-dialog-box-buttons > .brlbs-space-y-2 > div {
  display: flex !important;
}

html body #BorlabsCookieBox .brlbs-cpmnt-dialog-box-buttons .brlbs-cmpnt-btn {
  height: 100% !important;
  min-height: 42px !important;
  padding: 8px 12px !important;
  border-width: 1.5px !important;
  font-size: .82rem !important;
  line-height: 1.2 !important;
}

/* ---------- Desktop: voller Text (wie zuvor), nur die Hoehenanimation von Borlabs neutralisieren ---------- */
html body #BorlabsCookieBox .brlbs-cmpnt-dialog.brlbs-cmpnt-dialog-box > div {
  height: auto !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-box-entrance > .brlbs-flex:not(.brlbs-cpmnt-dialog-box-buttons) {
  margin-bottom: 14px !important;
}

/* ---------- Handy: Kopf, kurzer scrollbarer Text (beginnt mit "Wir benoetigen Ihre Einwilligung"), dann Buttons ---------- */
@media (max-width: 640px) {
  html body #BorlabsCookieBox .brlbs-cmpnt-dialog.brlbs-cmpnt-dialog-box {
    width: calc(100vw - 24px) !important;
    max-width: none !important;
    max-height: calc(100dvh - 24px) !important;
    display: flex !important;
    flex-direction: column !important;
  }

  /* Die Huellen-Kette (Borlabs setzt hier eine feste Hoehe per Inline-Style) bekommt eine Maximalhoehe */
  html body #BorlabsCookieBox .brlbs-cmpnt-dialog.brlbs-cmpnt-dialog-box > div,
  html body #BorlabsCookieBox .brlbs-cmpnt-dialog.brlbs-cmpnt-dialog-box > div > div,
  html body #BorlabsCookieBox .brlbs-cmpnt-dialog.brlbs-cmpnt-dialog-box > div > div > div,
  html body #BorlabsCookieBox .brlbs-cmpnt-dialog .brlbs-cmpnt-dialog-box[role="alertdialog"],
  html body #BorlabsCookieBox .brlbs-cmpnt-dialog .brlbs-cmpnt-dialog-box[role="alertdialog"] > [role="document"] {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 24px) !important;
    overflow: hidden !important;
  }

  /* Der Einstieg wird aufgeloest, damit Kopf, Buttons, Text und Footer einzeln sortiert werden koennen */
  html body #BorlabsCookieBox .brlbs-cmpnt-dialog-box-entrance {
    display: contents !important;
  }

  html body #BorlabsCookieBox .brlbs-cmpnt-dialog-box-entrance > .brlbs-cmpnt-dialog-box-header {
    order: 1;
    flex: 0 0 auto;
    padding: 20px 20px 0 !important;
  }

  html body #BorlabsCookieBox .brlbs-cpmnt-dialog-box-buttons {
    order: 3;
    flex: 0 0 auto;
    padding: 4px 20px 14px !important;
  }

  html body #BorlabsCookieBox .brlbs-cmpnt-dialog-box-entrance > .brlbs-flex:not(.brlbs-cpmnt-dialog-box-buttons) {
    order: 2;
    flex: 0 1 auto;
    min-height: 0;
    max-height: min(22dvh, 8.5rem) !important;
    margin: 8px 20px 12px !important;
    padding: 0 10px 0 0 !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    font-size: .88rem;
  }

  html body #BorlabsCookieBox .brlbs-cmpnt-dialog-footer {
    order: 4;
    flex: 0 0 auto;
    padding: 10px 20px 14px !important;
    border-top: 1px solid var(--bc-line) !important;
  }

  html body #BorlabsCookieBox .brlbs-cmpnt-dialog-entrance-headline {
    margin: 0 0 12px !important;
    font-size: 1.35rem !important;
  }

  html body #BorlabsCookieBox .brlbs-cpmnt-dialog-box-buttons > .brlbs-space-y-2 {
    grid-template-columns: 1fr !important;
    margin-top: 0 !important;
  }

  html body #BorlabsCookieBox .brlbs-cpmnt-dialog-box-buttons .brlbs-cmpnt-btn {
    min-height: 44px !important;
    font-size: .9rem !important;
  }
}

/* =========================================================================
   Detailansicht ("Individuelle Datenschutz-Praeferenzen") - Feinschliff nach echtem HTML
   ========================================================================= */
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-box:has(.brlbs-cmpnt-dialog-details),
html body #BorlabsCookieBox .brlbs-cmpnt-dialog.brlbs-cmpnt-dialog-box:has(.brlbs-cmpnt-dialog-details) {
  width: min(720px, calc(100vw - 24px)) !important;
  max-width: 720px !important;
  max-height: calc(100dvh - 24px) !important;
}

/* Aussenabstand nur einmal (Borlabs hat zusaetzlich p-4/p-6 innen) */
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details {
  padding: 0 !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details [role="document"] > div:first-child {
  padding: 22px 26px 6px !important;
}

/* Kopf: Titel links, Links rechts in einer Zeile */
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details-header {
  display: flex !important;
  flex-flow: row wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 6px 18px !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details-header > div {
  flex: 0 1 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details-header > div:first-child:empty,
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details-header > div:first-child:not(:has(*)) {
  display: none !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details-header > div:nth-child(2) {
  order: 1 !important;
  flex: 1 1 auto !important;
  justify-content: flex-start !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details-header > div:nth-child(3) {
  order: 2 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 16px !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details-header h2 {
  margin: 0 !important;
  font-size: 1.4rem !important;
  text-align: left !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details-header a {
  font-size: .8rem !important;
  white-space: nowrap !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details-description p {
  margin: 0 !important;
  font-size: .88rem !important;
}

/* Tabs: vier gleich grosse Pillen */
html body #BorlabsCookieBox .brlbs-cmpnt-tab-bar {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  padding: 14px 0 10px !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-tab-bar .brlbs-cmpnt-tab {
  min-height: 42px !important;
  padding: 6px 8px !important;
  font-size: .82rem !important;
  line-height: 1.15 !important;
  word-break: normal !important;
  hyphens: auto;
}

/* Scrollbereich: kurz, ruhig, ohne harte dunkle Leiste */
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details [role="document"] > div:first-child > div:last-of-type:not(.brlbs-cmpnt-tab-bar) {
  max-height: clamp(200px, 36dvh, 300px) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  padding-right: 6px !important;
  scrollbar-width: thin;
  scrollbar-color: var(--bc-line) transparent;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details ::-webkit-scrollbar { width: 8px; }
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details ::-webkit-scrollbar-thumb { background: var(--bc-line); border-radius: 8px; }
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details ::-webkit-scrollbar-track { background: transparent; }

html body #BorlabsCookieBox .brlbs-cmpnt-selection-controls {
  gap: 8px !important;
  margin: 0 0 2px !important;
}

/* Gruppen-Karten */
html body #BorlabsCookieBox .brlbs-cmpnt-card.brlbs-cmpnt-card-service-group {
  margin-top: 10px !important;
  border: 2px solid var(--bc-line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: none !important;
  overflow: hidden;
}

html body #BorlabsCookieBox .brlbs-cmpnt-card-service-group fieldset {
  padding: 14px 18px 4px !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-card-service-group fieldset > div:first-of-type {
  padding: 0 0 8px !important;
  gap: 14px;
}

html body #BorlabsCookieBox .brlbs-cmpnt-card-service-group .brlbs-cmpnt-card-group-form-control {
  display: flex !important;
  align-items: center !important;
  gap: 10px;
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-card-service-group label {
  padding: 0 !important;
  color: var(--bc-ink) !important;
  font-family: var(--bc-head) !important;
  font-size: 1rem !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-card-service-group p {
  font-size: .85rem !important;
  line-height: 1.5 !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-card-service-group .brlbs-cmpnt-accordion-container {
  border-radius: 0 !important;
  border-color: var(--bc-line) !important;
  background: transparent !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-card-service-group .brlbs-cmpnt-accordion-toggle,
html body #BorlabsCookieBox .brlbs-cmpnt-card-service-group .brlbs-cmpnt-accordion-toggle span {
  color: var(--bc-link) !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
}

/* Checkboxen: gelb statt orange */
html body #BorlabsCookieBox input.brlbs-cmpnt-checkbox {
  -webkit-appearance: none !important;
  appearance: none !important;
  flex: 0 0 22px !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  border: 2px solid #c5cddb !important;
  border-radius: 7px !important;
  background: #fff !important;
  box-shadow: none !important;
  cursor: pointer;
}

html body #BorlabsCookieBox input.brlbs-cmpnt-checkbox:checked {
  border-color: var(--bc-yellow) !important;
  background: var(--bc-yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%2316203a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat !important;
}

html body #BorlabsCookieBox input.brlbs-cmpnt-checkbox:disabled {
  border-color: var(--bc-line) !important;
  cursor: default;
}

html body #BorlabsCookieBox input.brlbs-cmpnt-checkbox:disabled:checked {
  background-color: var(--bc-soft) !important;
}

html body #BorlabsCookieBox input.brlbs-cmpnt-checkbox::before,
html body #BorlabsCookieBox input.brlbs-cmpnt-checkbox::after {
  display: none !important;
}

/* Untere Buttons: alle drei gleichwertig gelb, rund */
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details [role="document"] > div:last-of-type {
  padding: 8px 26px 22px !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details [role="document"] > div:last-of-type > div {
  display: flex !important;
  gap: 10px !important;
  margin: 0 !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details [role="document"] > div:last-of-type > div > div {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details .brlbs-btn-accept-all,
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details .brlbs-btn-save,
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details .brlbs-btn-accept-only-essential {
  width: 100% !important;
  min-height: 46px !important;
  padding: 8px 12px !important;
  border: 2px solid var(--bc-yellow) !important;
  border-radius: 999px !important;
  background: var(--bc-yellow) !important;
  color: var(--bc-ink) !important;
  box-shadow: none !important;
  font-family: var(--bc-head) !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details .brlbs-btn-accept-all:hover,
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details .brlbs-btn-save:hover,
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details .brlbs-btn-accept-only-essential:hover,
html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details .brlbs-btn-save:focus-visible {
  border-color: var(--bc-yellow-d) !important;
  background: var(--bc-yellow-d) !important;
}

@media (max-width: 640px) {
  html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details [role="document"] > div:first-child {
    padding: 18px 16px 4px !important;
  }
  html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details-header > div:nth-child(3) { gap: 12px !important; }
  html body #BorlabsCookieBox .brlbs-cmpnt-tab-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details [role="document"] > div:last-of-type {
    padding: 8px 16px 16px !important;
  }
  html body #BorlabsCookieBox .brlbs-cmpnt-dialog-details [role="document"] > div:last-of-type > div {
    flex-direction: column !important;
  }
}

html body #BorlabsCookieBox .brlbs-cmpnt-card-service-group fieldset > div:first-of-type > div,
html body #BorlabsCookieBox .brlbs-cmpnt-card-service-group p {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere;
}

/* Schwebendes Datenschutz-Widget: klein, ohne Kasten, nur das runde Symbol */
html body .brlbs-cmpnt-widget{width:36px!important;height:36px!important;min-width:0!important;padding:0!important;margin:0!important;box-sizing:border-box!important;bottom:12px!important;background:transparent!important;border:0!important;border-radius:50%!important;box-shadow:none!important;opacity:.85;transition:opacity .15s,transform .15s}
html body .brlbs-cmpnt-widget.brlbs-left-0{left:12px!important}
html body .brlbs-cmpnt-widget.brlbs-right-0{right:12px!important}
html body .brlbs-cmpnt-widget:hover,html body .brlbs-cmpnt-widget:focus-visible{opacity:1;transform:scale(1.08)}
html body .brlbs-cmpnt-widget svg{width:36px!important;height:36px!important;margin:0!important;filter:drop-shadow(0 3px 6px rgba(22,32,58,.35))}
@media(min-width:901px){html body .brlbs-cmpnt-widget{width:42px!important;height:42px!important;bottom:16px!important}html body .brlbs-cmpnt-widget.brlbs-left-0{left:16px!important}html body .brlbs-cmpnt-widget.brlbs-right-0{right:16px!important}html body .brlbs-cmpnt-widget svg{width:42px!important;height:42px!important}}
