/**
 * Cookie-Banner von 99bugs: Basisregeln (Aufbau, Reset, Dialoge, Schalter).
 * Eigenes CSS, selbst geschrieben. Ersetzt die Basisregeln der früheren Fremdbibliothek,
 * deren Klassen hier nur als Vorlage für die Benennung dienten. Keine externen URLs, keine Schrift.
 * Wird VOR banner.css geladen; banner.css setzt Farben/Maße über die Variablen --cb99-* und feinere Werte.
 *
 * KLASSENLISTE FÜR DIE UI (cb99-ui.js baut genau diese Struktur)
 *   Wurzel:        #cb99-main  (fest über der Seite)
 *   Zustände:      cb99-is-show      auf .cb99-cm-wrapper bzw. .cb99-pm-wrapper = Dialog sichtbar
 *                  cb99-is-expanded  auf .cb99-pm__section--toggle = Kategorie aufgeklappt
 *                  cb99-disable-interaction  auf <html> = Seite abgedunkelt, kein Scrollen
 *   Erster Dialog: .cb99-cm-wrapper > .cb99-cm > .cb99-cm__body > .cb99-cm__texts
 *                    (> svg.cb99-cookie, .cb99-cm__title, .cb99-cm__desc)
 *                  .cb99-cm__btns > .cb99-cm__btn-group > .cb99-cm__btn (+ .cb99-cm__btn--secondary)
 *                  .cb99-cm > .cb99-cm__footer > .cb99-cm__links > .cb99-cm__link-group > a
 *   Einstellungen: .cb99-pm-wrapper > .cb99-pm-overlay + .cb99-pm
 *                  .cb99-pm > .cb99-pm__header (> .cb99-pm__title, .cb99-pm__close-btn > span > svg)
 *                  .cb99-pm > .cb99-pm__body > .cb99-pm__section-toggles > .cb99-pm__section--toggle
 *                    > .cb99-pm__section-title-wrapper (> button.cb99-pm__section-title,
 *                        span.cb99-pm__section-arrow > svg, label.cb99-section__toggle-wrapper)
 *                    > .cb99-pm__section-desc-wrapper (> p.cb99-pm__section-desc, table.cb99-pm__section-table)
 *                  Schalter: label.cb99-section__toggle-wrapper > input.cb99-section__toggle[checkbox]
 *                    + span.cb99-toggle__icon > span.cb99-toggle__icon-circle
 *                        > span.cb99-toggle__icon-off + span.cb99-toggle__icon-on (je mit svg)
 *                    + span.cb99-toggle__label (nur für Screenreader)
 *                  Tabelle: thead.cb99-pm__table-head > tr > th.cb99-pm__table-th;
 *                    tbody.cb99-pm__table-body > tr.cb99-pm__table-tr > td.cb99-pm__table-td[data-column]
 *                  .cb99-pm > .cb99-pm__footer > .cb99-pm__btn-group > .cb99-pm__btn (+ .cb99-pm__btn--secondary)
 *   Variablen:     --cb99-* (Fläche = --cb99-surface, da --cb99-bg die Plugin-Einstellung ist)
 *   Die Krümel (.cb99-crumbs, .cb99-crumb*) stehen in banner.css.
 */

#cb99-main {
  /* Rückfallwerte; banner.css überschreibt sie mit den Farben der Seite */
  --cb99-modal-border-radius: .5rem;
  --cb99-btn-border-radius: .4rem;
  --cb99-pm-toggle-border-radius: 4em;
  --cb99-modal-transition-duration: .25s;
  --cb99-modal-margin: 1rem;
  --cb99-z-index: 2147483647;
  --cb99-surface: #fff;
  --cb99-primary-color: #2c2f31;
  --cb99-secondary-color: #5e6266;
  --cb99-link-color: var(--cb99-btn-primary-bg);
  --cb99-btn-primary-bg: #30363c;
  --cb99-btn-primary-color: #fff;
  --cb99-btn-primary-border-color: var(--cb99-btn-primary-bg);
  --cb99-btn-primary-hover-bg: #000;
  --cb99-btn-primary-hover-color: #fff;
  --cb99-btn-primary-hover-border-color: var(--cb99-btn-primary-hover-bg);
  --cb99-btn-secondary-bg: #eaeff2;
  --cb99-btn-secondary-color: var(--cb99-primary-color);
  --cb99-btn-secondary-border-color: var(--cb99-btn-secondary-bg);
  --cb99-btn-secondary-hover-bg: #d4dae0;
  --cb99-btn-secondary-hover-color: #000;
  --cb99-btn-secondary-hover-border-color: #d4dae0;
  --cb99-separator-border-color: #f0f4f7;
  --cb99-toggle-on-bg: var(--cb99-btn-primary-bg);
  --cb99-toggle-off-bg: #667481;
  --cb99-toggle-on-knob-bg: #fff;
  --cb99-toggle-off-knob-bg: var(--cb99-toggle-on-knob-bg);
  --cb99-toggle-readonly-bg: #d5dee2;
  --cb99-toggle-readonly-knob-bg: #fff;
  --cb99-toggle-readonly-knob-icon-color: var(--cb99-toggle-readonly-bg);
  --cb99-cookie-category-block-bg: #f0f4f7;
  --cb99-cookie-category-block-border: #f0f4f7;
  --cb99-cookie-category-block-hover-bg: #e9eff4;
  --cb99-cookie-category-block-hover-border: #e9eff4;
  --cb99-cookie-category-expanded-block-bg: transparent;
  --cb99-cookie-category-expanded-block-hover-bg: #dee4e9;
  --cb99-overlay-bg: rgba(10, 46, 52, .65);
  --cb99-footer-bg: var(--cb99-btn-secondary-bg);
  --cb99-footer-color: var(--cb99-secondary-color);
  --cb99-footer-border-color: #e4eaed;

  position: fixed;
  z-index: var(--cb99-z-index);
  background: transparent;
  color: var(--cb99-primary-color);
  /* Schrift der Webseite erben (Entscheid 2026-10-24); #cb99-main hängt direkt unter <body> */
  font-family: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.15;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
}

/* Reset: Theme-Regeln für a/button/div/... sollen im Banner nicht wirken */
#cb99-main :is(a, button, div, h2, input, p, span) {
  all: unset;
  box-sizing: border-box;
}

#cb99-main :is(div, p, h2) {
  display: block;
}

#cb99-main :is(a, button, input) {
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 100%;
  line-height: normal;
}

#cb99-main :is(table, thead, tbody, tr, td, th) {
  all: revert;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

#cb99-main svg {
  fill: none;
  width: 100%;
}

#cb99-main .cb99-cm__title,
#cb99-main :is(a, b, em, strong) {
  font-weight: 600;
}

#cb99-main button > span {
  pointer-events: none;
}

#cb99-main a {
  position: relative;
  transition: color .25s ease;
}

#cb99-main :is(.cb99-cm__desc, .cb99-pm__body) {
  overscroll-behavior: auto contain;
  scrollbar-width: thin;
}

/* Seitensperre: kein Scrollen; die Abdunklung steht beim jeweiligen Dialog */
html.cb99-disable-interaction,
html.cb99-disable-interaction body {
  height: auto !important;
  overflow: hidden !important;
}

/* Erster Dialog: mittig */
.cb99-disable-interaction #cb99-main .cb99-cm-wrapper::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  background: var(--cb99-overlay-bg);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--cb99-modal-transition-duration) ease, visibility var(--cb99-modal-transition-duration) ease;
}

.cb99-disable-interaction #cb99-main .cb99-cm-wrapper.cb99-is-show::before {
  opacity: 1;
  visibility: visible;
}

#cb99-main .cb99-cm {
  position: fixed;
  z-index: 1;
  top: 50%;
  left: var(--cb99-modal-margin);
  right: var(--cb99-modal-margin);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  max-width: 24rem;
  overflow: hidden;
  background: var(--cb99-surface);
  border-radius: var(--cb99-modal-border-radius);
  box-shadow: 0 .625em 1.875em rgba(0, 0, 2, .3);
  opacity: 0;
  visibility: hidden;
  transform: translateY(calc(-50% + 1.6em));
  transition: opacity var(--cb99-modal-transition-duration) ease, visibility var(--cb99-modal-transition-duration) ease, transform var(--cb99-modal-transition-duration) ease;
}

#cb99-main .cb99-is-show .cb99-cm {
  opacity: 1;
  visibility: visible;
  transform: translateY(-50%);
}

#cb99-main .cb99-cm__body {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

#cb99-main .cb99-cm__texts {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  padding: 1rem 0 0;
}

#cb99-main .cb99-cm__title,
#cb99-main .cb99-cm__desc {
  padding: 0 1.3rem;
}

#cb99-main .cb99-cm__title {
  font-size: 1.05em;
}

#cb99-main .cb99-cm__title + .cb99-cm__desc {
  margin-top: 1.1em;
}

#cb99-main .cb99-cm__desc {
  color: var(--cb99-secondary-color);
  font-size: .9em;
  line-height: 1.5;
  max-height: 40vh;
  overflow-x: visible;
  overflow-y: auto;
  padding-bottom: 1em;
}

#cb99-main .cb99-cm__btns,
#cb99-main .cb99-cm__links {
  padding: 1rem 1.3rem;
}

#cb99-main .cb99-cm__btns {
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-top: 1px solid var(--cb99-separator-border-color);
}

#cb99-main .cb99-cm__btn-group {
  display: grid;
  grid-auto-columns: minmax(0, 1fr);
}

/* Buttons beider Dialoge */
#cb99-main .cb99-cm__btn,
#cb99-main .cb99-pm__btn {
  display: block;
  background: var(--cb99-btn-primary-bg);
  border: 1px solid var(--cb99-btn-primary-border-color);
  border-radius: var(--cb99-btn-border-radius);
  color: var(--cb99-btn-primary-color);
  font-size: .82em;
  font-weight: 600;
  min-height: 42px;
  padding: .5em 1em;
  text-align: center;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

#cb99-main .cb99-cm__btn:hover,
#cb99-main .cb99-pm__btn:hover {
  background: var(--cb99-btn-primary-hover-bg);
  border-color: var(--cb99-btn-primary-hover-border-color);
  color: var(--cb99-btn-primary-hover-color);
}

#cb99-main .cb99-cm__btn--secondary,
#cb99-main .cb99-pm__btn--secondary {
  background: var(--cb99-btn-secondary-bg);
  border-color: var(--cb99-btn-secondary-border-color);
  color: var(--cb99-btn-secondary-color);
}

#cb99-main .cb99-cm__btn--secondary:hover,
#cb99-main .cb99-pm__btn--secondary:hover {
  background: var(--cb99-btn-secondary-hover-bg);
  border-color: var(--cb99-btn-secondary-hover-border-color);
  color: var(--cb99-btn-secondary-hover-color);
}

#cb99-main .cb99-pm__btn {
  flex: auto;
  min-width: 110px;
  padding: .5em 1.5em;
}

/* Fußzeile mit Links */
#cb99-main .cb99-cm__footer {
  background: var(--cb99-footer-bg);
  border-top: 1px solid var(--cb99-footer-border-color);
  color: var(--cb99-footer-color);
  padding: .4em 0 .5em;
}

#cb99-main .cb99-cm__links {
  display: flex;
  flex-direction: row;
  padding-top: 0;
  padding-bottom: 0;
}

#cb99-main .cb99-cm__link-group {
  display: flex;
  flex-direction: row;
  font-size: .8em;
  width: 100%;
}

#cb99-main .cb99-cm__link-group > * + * {
  margin-left: 1.3rem;
}

/* Zweiter Dialog: Einstellungen */
#cb99-main .cb99-pm-wrapper {
  position: relative;
  z-index: 2;
}

#cb99-main .cb99-pm-overlay {
  position: fixed;
  inset: 0;
  z-index: 1;
  background: var(--cb99-overlay-bg);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--cb99-modal-transition-duration) ease, visibility var(--cb99-modal-transition-duration) ease;
}

#cb99-main .cb99-pm {
  position: fixed;
  z-index: 1;
  top: 50%;
  left: var(--cb99-modal-margin);
  right: var(--cb99-modal-margin);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  height: calc(100% - 2em);
  max-height: 37.5em;
  max-width: 43em;
  overflow: hidden;
  background: var(--cb99-surface);
  border-radius: var(--cb99-modal-border-radius);
  box-shadow: 0 .625em 1.875em rgba(0, 0, 2, .3);
  opacity: 0;
  visibility: hidden;
  transform: translateY(calc(-50% + 1.6em));
  transition: opacity var(--cb99-modal-transition-duration) ease, visibility var(--cb99-modal-transition-duration) ease, transform var(--cb99-modal-transition-duration) ease;
}

#cb99-main .cb99-is-show .cb99-pm-overlay {
  opacity: 1;
  visibility: visible;
}

#cb99-main .cb99-is-show .cb99-pm {
  opacity: 1;
  visibility: visible;
  transform: translateY(-50%);
}

#cb99-main .cb99-pm__header,
#cb99-main .cb99-pm__body,
#cb99-main .cb99-pm__footer {
  padding: 1em 1.4em;
}

#cb99-main .cb99-pm__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--cb99-separator-border-color);
}

#cb99-main .cb99-pm__title {
  display: flex;
  flex: 1;
  align-items: center;
  margin-right: 2em;
  font-weight: 600;
}

#cb99-main .cb99-pm__close-btn {
  position: relative;
  display: block;
  width: 40px;
  height: 40px;
  background: var(--cb99-btn-secondary-bg);
  border: 1px solid var(--cb99-btn-secondary-border-color);
  border-radius: var(--cb99-btn-border-radius);
  transition: background-color .15s ease, border-color .15s ease;
}

#cb99-main .cb99-pm__close-btn span {
  display: flex;
  width: 100%;
  height: 100%;
}

#cb99-main .cb99-pm__close-btn svg {
  stroke: var(--cb99-btn-secondary-color);
  transform: scale(.5);
  transition: stroke .15s ease;
}

#cb99-main .cb99-pm__close-btn:hover {
  background: var(--cb99-btn-secondary-hover-bg);
  border-color: var(--cb99-btn-secondary-hover-border-color);
}

#cb99-main .cb99-pm__close-btn:hover svg {
  stroke: var(--cb99-btn-secondary-hover-color);
}

#cb99-main .cb99-pm__body {
  flex: 1;
  overflow-y: auto;
}

#cb99-main .cb99-pm__footer {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid var(--cb99-separator-border-color);
}

#cb99-main .cb99-pm__btn-group {
  display: flex;
}

/* Kategorien (alle aufklappbar) */
#cb99-main .cb99-pm__section--toggle {
  display: flex;
  flex-direction: column;
  margin-bottom: .375rem;
  background: var(--cb99-cookie-category-block-bg);
  border-radius: var(--cb99-btn-border-radius);
}

#cb99-main .cb99-pm__section-title-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

#cb99-main .cb99-pm__section-title {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 58px;
  padding: 1.1em 5.4em 1.1em 3.4em;
  background: var(--cb99-cookie-category-block-bg);
  border: 1px solid var(--cb99-cookie-category-block-border);
  border-radius: var(--cb99-btn-border-radius);
  font-size: .95em;
  font-weight: 600;
  text-align: left;
  transition: background-color .25s ease, border-color .25s ease;
}

#cb99-main .cb99-pm__section-title:hover {
  background: var(--cb99-cookie-category-block-hover-bg);
  border-color: var(--cb99-cookie-category-block-hover-border);
}

#cb99-main .cb99-pm__section-arrow {
  position: absolute;
  top: calc(50% - 10px);
  left: 18px;
  display: flex;
  justify-content: center;
  width: 20px;
  height: 20px;
  background: var(--cb99-toggle-readonly-bg);
  border-radius: 100%;
  pointer-events: none;
}

#cb99-main .cb99-pm__section-arrow svg {
  stroke: var(--cb99-btn-secondary-color);
  transform: scale(.5);
}

#cb99-main .cb99-pm__section--toggle.cb99-is-expanded {
  --cb99-cookie-category-block-bg: var(--cb99-cookie-category-expanded-block-bg);
  --cb99-cookie-category-block-border: var(--cb99-cookie-category-expanded-block-hover-bg);
}

#cb99-main .cb99-is-expanded .cb99-pm__section-title {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

#cb99-main .cb99-is-expanded .cb99-pm__section-arrow svg {
  transform: scale(.5) rotate(180deg);
}

#cb99-main .cb99-pm__section-desc-wrapper {
  display: none;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--cb99-cookie-category-block-border);
  border-top: none;
  border-radius: var(--cb99-btn-border-radius);
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  color: var(--cb99-secondary-color);
  font-size: .9em;
}

#cb99-main .cb99-is-expanded .cb99-pm__section-desc-wrapper {
  display: flex;
}

#cb99-main .cb99-pm__section-desc-wrapper > :not(:last-child) {
  border-bottom: 1px solid var(--cb99-cookie-category-block-border);
}

#cb99-main .cb99-pm__section-desc {
  padding: 1em;
  line-height: 1.5em;
}

/* Tabelle der Dienste */
#cb99-main .cb99-pm__section-table {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-collapse: collapse;
  font-size: .9em;
  text-align: left;
}

#cb99-main .cb99-pm__table-head > tr {
  border-bottom: 1px dashed var(--cb99-separator-border-color);
  color: var(--cb99-primary-color);
  font-weight: 600;
}

#cb99-main .cb99-pm__table-tr {
  transition: background-color .15s ease;
}

#cb99-main .cb99-pm__table-tr:hover {
  background: var(--cb99-cookie-category-block-hover-bg);
}

#cb99-main .cb99-pm__table-td,
#cb99-main .cb99-pm__table-th {
  padding: .625em .625em .625em 1.2em;
  vertical-align: top;
  text-align: left;
}

/* Schalter: Trefferfläche 56x45 px (Anzeige bleibt 50x23 px, mittig darin) */
#cb99-main .cb99-section__toggle-wrapper {
  position: absolute;
  top: calc(50% - 22.5px);
  right: 15px;
  z-index: 1;
  display: block;
  width: 56px;
  height: 45px;
  cursor: pointer;
}

#cb99-main .cb99-section__toggle {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  border-radius: var(--cb99-pm-toggle-border-radius);
  cursor: pointer;
}

#cb99-main .cb99-section__toggle:disabled {
  cursor: not-allowed;
}

#cb99-main .cb99-toggle__icon {
  position: absolute;
  top: 11px;
  left: 3px;
  display: flex;
  flex-direction: row;
  width: 50px;
  height: 23px;
  background: var(--cb99-toggle-off-bg);
  border-radius: var(--cb99-pm-toggle-border-radius);
  box-shadow: 0 0 0 1px var(--cb99-toggle-off-bg);
  pointer-events: none;
  transition: background-color .25s ease, box-shadow .25s ease;
}

#cb99-main .cb99-toggle__icon-circle {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 23px;
  height: 23px;
  background: var(--cb99-toggle-off-knob-bg);
  border-radius: var(--cb99-pm-toggle-border-radius);
  box-shadow: 0 1px 2px rgba(24, 32, 3, .36);
  transition: transform .25s ease, background-color .25s ease;
}

#cb99-main .cb99-toggle__icon-off,
#cb99-main .cb99-toggle__icon-on {
  position: absolute;
  width: 100%;
  height: 100%;
  transition: opacity .15s ease;
}

#cb99-main .cb99-toggle__icon-on {
  opacity: 0;
  transform: rotate(45deg);
}

#cb99-main .cb99-toggle__icon-on svg {
  stroke: var(--cb99-toggle-on-bg);
  transform: scale(.55) rotate(-45deg);
}

#cb99-main .cb99-toggle__icon-off {
  opacity: 1;
}

#cb99-main .cb99-toggle__icon-off svg {
  stroke: var(--cb99-toggle-off-bg);
  transform: scale(.55);
}

#cb99-main .cb99-section__toggle:checked ~ .cb99-toggle__icon {
  background: var(--cb99-toggle-on-bg);
  box-shadow: 0 0 0 1px var(--cb99-toggle-on-bg);
}

#cb99-main .cb99-section__toggle:checked ~ .cb99-toggle__icon .cb99-toggle__icon-circle {
  background-color: var(--cb99-toggle-on-knob-bg);
  transform: translateX(27px);
}

#cb99-main .cb99-section__toggle:checked ~ .cb99-toggle__icon .cb99-toggle__icon-on {
  opacity: 1;
}

#cb99-main .cb99-section__toggle:checked ~ .cb99-toggle__icon .cb99-toggle__icon-off {
  opacity: 0;
}

#cb99-main .cb99-section__toggle:checked:disabled ~ .cb99-toggle__icon {
  background: var(--cb99-toggle-readonly-bg);
  box-shadow: 0 0 0 1px var(--cb99-toggle-readonly-bg);
}

#cb99-main .cb99-section__toggle:checked:disabled ~ .cb99-toggle__icon .cb99-toggle__icon-circle {
  background: var(--cb99-toggle-readonly-knob-bg);
  box-shadow: none;
}

#cb99-main .cb99-section__toggle:checked:disabled ~ .cb99-toggle__icon svg {
  stroke: var(--cb99-toggle-readonly-knob-icon-color);
}

/* Name des Schalters nur für Screenreader */
#cb99-main .cb99-toggle__label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  pointer-events: none;
}

/* Schmale Bildschirme */
@media screen and (max-width: 640px) {
  #cb99-main {
    --cb99-modal-margin: .5em;
  }

  #cb99-main .cb99-cm {
    max-width: none !important;
    width: auto !important;
  }

  #cb99-main .cb99-cm__body {
    flex-direction: column !important;
    padding: 0 !important;
  }

  #cb99-main .cb99-cm__btns,
  #cb99-main .cb99-cm__desc,
  #cb99-main .cb99-cm__links,
  #cb99-main .cb99-cm__title {
    padding-left: 1.1rem !important;
    padding-right: 1.1rem !important;
  }

  #cb99-main .cb99-cm__btns {
    border-top: 1px solid var(--cb99-separator-border-color) !important;
    flex-direction: column !important;
  }

  #cb99-main .cb99-cm__btn + .cb99-cm__btn,
  #cb99-main .cb99-cm__btn-group + .cb99-cm__btn-group {
    margin: .375rem 0 0 !important;
  }

  #cb99-main .cb99-cm__btn-group {
    display: flex !important;
    flex-direction: column !important;
  }

  #cb99-main .cb99-cm__btn {
    flex: auto !important;
  }

  #cb99-main .cb99-cm__link-group {
    justify-content: center !important;
  }

  #cb99-main .cb99-pm {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: auto;
    max-height: 100%;
    max-width: none !important;
    border-radius: 0;
    transform: translateY(1.6em);
  }

  #cb99-main .cb99-is-show .cb99-pm {
    transform: translateY(0) !important;
  }

  #cb99-main .cb99-pm__header,
  #cb99-main .cb99-pm__body,
  #cb99-main .cb99-pm__footer {
    padding: .9em !important;
  }

  #cb99-main .cb99-pm__section-table,
  #cb99-main .cb99-pm__table-body,
  #cb99-main .cb99-pm__table-td,
  #cb99-main .cb99-pm__table-th,
  #cb99-main .cb99-pm__table-tr {
    display: block;
  }

  #cb99-main .cb99-pm__table-head {
    display: none;
  }

  #cb99-main .cb99-pm__table-tr:not(:last-child) {
    border-bottom: 1px solid var(--cb99-separator-border-color);
  }

  #cb99-main .cb99-pm__table-td {
    display: flex;
    justify-content: space-between;
  }

  #cb99-main .cb99-pm__table-td::before {
    content: attr(data-column);
    box-sizing: border-box;
    flex: 1;
    min-width: 100px;
    overflow: hidden;
    padding-right: 2em;
    color: var(--cb99-primary-color);
    font-weight: 600;
    text-overflow: ellipsis;
  }

  #cb99-main .cb99-pm__table-td > div {
    flex: 3;
  }

  #cb99-main .cb99-pm__btn-group,
  #cb99-main .cb99-pm__footer {
    flex-direction: column !important;
  }

  #cb99-main .cb99-pm__btn-group {
    display: flex !important;
  }

  #cb99-main .cb99-pm__btn + .cb99-pm__btn,
  #cb99-main .cb99-pm__btn-group + .cb99-pm__btn-group {
    margin: .375rem 0 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #cb99-main {
    --cb99-modal-transition-duration: 0s;
  }
}
