@charset "UTF-8";
/* ==========================================================================
   screenfox – Elemente-Module (19–28) und Erweiterungen der Module 04, 07, 08, 09, 11
   Gestaltung nach den Canvas-Beispielen, eigene Umsetzung. Alle Farbpaare mit Kontrast ≥ 4,5:1 (Text)
   bzw. ≥ 3:1 (Icons, große Schrift, Bedienelemente) in Hell und Dunkel.
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. Farbtöne (dbr-tone--*): Fläche, Text auf der Fläche, Ton als Schrift-/Iconfarbe
   -------------------------------------------------------------------------- */
.dbr-tone--accent { --dbr-tone: #154711; --dbr-tone-on: #ffffff; --dbr-tone-fg: #154711; --dbr-tone-icon: #1f6418; --dbr-tone-soft: #e7efe6; }
.dbr-tone--dark   { --dbr-tone: #2f3338; --dbr-tone-on: #ffffff; --dbr-tone-fg: #2f3338; --dbr-tone-icon: #2f3338; --dbr-tone-soft: #eceef0; }
.dbr-tone--blue   { --dbr-tone: #1d5fbf; --dbr-tone-on: #ffffff; --dbr-tone-fg: #1a56ad; --dbr-tone-icon: #1d5fbf; --dbr-tone-soft: #e7f0fc; }
.dbr-tone--green  { --dbr-tone: #1f7a4d; --dbr-tone-on: #ffffff; --dbr-tone-fg: #1b6d45; --dbr-tone-icon: #1f7a4d; --dbr-tone-soft: #e5f4ec; }
.dbr-tone--amber  { --dbr-tone: #f2b01e; --dbr-tone-on: #241a00; --dbr-tone-fg: #7f5200; --dbr-tone-icon: #b77a00; --dbr-tone-soft: #fff5d9; }
.dbr-tone--purple { --dbr-tone: #6d3fc0; --dbr-tone-on: #ffffff; --dbr-tone-fg: #6237b0; --dbr-tone-icon: #6d3fc0; --dbr-tone-soft: #f0eafb; }
.dbr-tone--teal   { --dbr-tone: #0f766e; --dbr-tone-on: #ffffff; --dbr-tone-fg: #0d6b64; --dbr-tone-icon: #0f766e; --dbr-tone-soft: #e2f4f2; }
[data-bs-theme="dark"] .dbr-tone--accent { --dbr-tone-fg: #a8d49f; --dbr-tone-soft: #1d2a1b; }
[data-bs-theme="dark"] .dbr-tone--dark   { --dbr-tone: #4a5057; --dbr-tone-fg: #d6d9db; --dbr-tone-icon: #c9cdd1; --dbr-tone-soft: #2b2f33; }
[data-bs-theme="dark"] .dbr-tone--blue   { --dbr-tone-fg: #8db8ff; --dbr-tone-icon: #6aa1ff; --dbr-tone-soft: #1d2a3d; }
[data-bs-theme="dark"] .dbr-tone--green  { --dbr-tone-fg: #74d3a2; --dbr-tone-icon: #4fbf86; --dbr-tone-soft: #1c3127; }
[data-bs-theme="dark"] .dbr-tone--amber  { --dbr-tone-fg: #f5c451; --dbr-tone-icon: #f2b01e; --dbr-tone-soft: #3a3016; }
[data-bs-theme="dark"] .dbr-tone--purple { --dbr-tone-fg: #bba1ff; --dbr-tone-icon: #a383f2; --dbr-tone-soft: #2c2440; }
[data-bs-theme="dark"] .dbr-tone--teal   { --dbr-tone-fg: #63d0c5; --dbr-tone-icon: #39b5a9; --dbr-tone-soft: #17302e; }
.dbr-on-dark .dbr-tone--accent, .dbr-on-dark.dbr-tone--accent { --dbr-tone-fg: #deb864; }
.dbr-bg-dark [class*="dbr-tone--"] { --dbr-tone-fg: #ffffff; }

/* Bildformate */
.dbr-ratio--4x3 { --dbr-ratio: 4 / 3; }
.dbr-ratio--1x1 { --dbr-ratio: 1 / 1; }
.dbr-ratio--3x2 { --dbr-ratio: 3 / 2; }
.dbr-ratio--16x9 { --dbr-ratio: 16 / 9; }
.dbr-ratio--21x9 { --dbr-ratio: 21 / 9; }
.dbr-ratio--3x4 { --dbr-ratio: 3 / 4; }

/* Kartenfläche: eigene Farben, auch auf dunklen Sections lesbar */
.dbr-carousel__card, .dbr-counters--card .dbr-counter, .dbr-counters--bordered .dbr-counter, .dbr-counters--horizontal .dbr-counter,
.dbr-countdown--card .dbr-countdown__item, .dbr-countdown--bordered .dbr-countdown__item, .dbr-readmore--frame-card, .dbr-readmore--frame-bordered,
.dbr-readmore--frame-accent, .dbr-logos--card .dbr-logos__item, .dbr-logos--tagline .dbr-logos__item, .dbr-iconboxes--bordered .dbr-iconbox, .dbr-iconboxes--media .dbr-iconbox {
  --bs-heading-color: var(--dbr-heading);
  color: var(--dbr-text);
}
.dbr-bg-dark .dbr-carousel__card :is(h2, h3, h4), .dbr-bg-accent .dbr-carousel__card :is(h2, h3, h4),
.dbr-bg-dark .dbr-iconboxes--bordered .dbr-iconbox :is(h2, h3, h4), .dbr-bg-dark .dbr-iconboxes--media .dbr-iconbox :is(h2, h3, h4),
.dbr-bg-dark .dbr-readmore[class*="frame-"]:not(.dbr-readmore--frame-none) :is(h2, h3, h4) { color: var(--dbr-heading); }
.dbr-bg-dark .dbr-carousel__card a:not(.btn), .dbr-bg-accent .dbr-carousel__card a:not(.btn),
.dbr-bg-dark .dbr-iconboxes--bordered .dbr-iconbox a:not(.btn), .dbr-bg-dark .dbr-iconboxes--media .dbr-iconbox a:not(.btn) { color: var(--dbr-heading); }

/* --------------------------------------------------------------------------
   1. Karussell (Modul 19, Icon-Boxen- und Logo-Karussell)
   -------------------------------------------------------------------------- */
.dbr-carousel { --dbr-per: var(--dbr-per-xs, 1); --dbr-gap: 1.5rem; position: relative; }
@media (min-width: 576px) { .dbr-carousel { --dbr-per: var(--dbr-per-md, 2); } }
@media (min-width: 992px) { .dbr-carousel { --dbr-per: var(--dbr-per-lg, 4); } }
.dbr-carousel__track {
  display: flex;
  gap: var(--dbr-gap);
  margin: 0;
  padding: .25rem .125rem 1rem;
  list-style: none;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: .125rem;
  scrollbar-width: thin;
}
.dbr-carousel__track:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }
.dbr-carousel.is-enhanced .dbr-carousel__track { scrollbar-width: none; }
.dbr-carousel.is-enhanced .dbr-carousel__track::-webkit-scrollbar { display: none; }
.dbr-carousel__item {
  flex: 0 0 calc((100% - (var(--dbr-per) - 1) * var(--dbr-gap)) / var(--dbr-per));
  min-width: 0;
  scroll-snap-align: start;
}
.dbr-carousel__controls { display: none; align-items: center; justify-content: center; gap: .5rem; margin-top: .25rem; }
.dbr-carousel.is-enhanced .dbr-carousel__controls { display: flex; }
.dbr-carousel__btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2.75rem; height: 2.75rem; padding: 0;
  border: 1px solid var(--dbr-border); border-radius: 50%;
  background: var(--dbr-main-bg); color: var(--dbr-heading);
  box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
  transition: background-color .15s, color .15s, border-color .15s;
}
.dbr-carousel__btn:hover:not(:disabled) { border-color: var(--dbr-accent-strong); background: var(--dbr-accent-strong); color: #ffffff; }
.dbr-carousel__btn:disabled { opacity: .45; cursor: default; }
.dbr-carousel__btn[hidden] { display: none; }
.dbr-carousel__btn--prev { order: 1; }
.dbr-carousel__dots { order: 2; display: flex; flex-wrap: wrap; justify-content: center; gap: .125rem; }
.dbr-carousel__btn--next { order: 3; }
.dbr-carousel__btn--toggle { order: 0; }
.dbr-carousel__dot {
  position: relative; width: 1.75rem; height: 2.75rem; padding: 0; border: 0; background: transparent;
}
.dbr-carousel__dot::before {
  content: ""; position: absolute; top: 50%; left: 50%; width: .625rem; height: .625rem; margin: -.3125rem 0 0 -.3125rem;
  border: 2px solid #767a7e; border-radius: 50%; background: transparent; transition: background-color .15s, transform .15s;
}
.dbr-carousel__dot[aria-current="true"]::before { border-color: var(--dbr-accent-strong); background: var(--dbr-accent-strong); transform: scale(1.15); }
.dbr-carousel__dot:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: -4px; border-radius: 4px; }
.dbr-on-dark .dbr-carousel__dot::before { border-color: #c9cccf; }
.dbr-on-dark .dbr-carousel__dot[aria-current="true"]::before { border-color: #ffffff; background: #ffffff; }

.dbr-carousel__media { position: relative; display: block; overflow: hidden; border-radius: var(--dbr-radius); background: var(--dbr-section-grey-bg); aspect-ratio: var(--dbr-ratio, 4 / 3); }
.dbr-carousel__media img, .dbr-carousel__img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
a.dbr-carousel__media:hover img, a.dbr-carousel__media:focus-visible img, .dbr-carousel__card.is-linked:hover .dbr-carousel__media img { transform: scale(1.05); }
a.dbr-carousel__media:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }
.dbr-carousel__zoom, .dbr-gallery__zoom {
  position: absolute; right: .75rem; bottom: .75rem; display: inline-flex; align-items: center; justify-content: center;
  width: 2.5rem; height: 2.5rem; border-radius: 50%; background: rgba(0, 0, 0, .65); color: #ffffff; opacity: 0; transition: opacity .2s;
}
a:hover > .dbr-carousel__zoom, a:focus-visible > .dbr-carousel__zoom { opacity: 1; }
.dbr-carousel__zoom-link {
  position: absolute; right: .75rem; bottom: .75rem; z-index: 2; display: inline-flex; align-items: center; justify-content: center;
  width: 2.75rem; height: 2.75rem; border-radius: 50%; background: rgba(0, 0, 0, .7); color: #ffffff !important;
}
.dbr-carousel__zoom-link:focus-visible { outline: 3px solid #ffffff; outline-offset: 2px; }
.dbr-carousel__caption { margin-top: .5rem; color: var(--dbr-text-muted); font-size: .875rem; }
.dbr-carousel__figure { margin: 0; }

.dbr-carousel__card { position: relative; display: flex; flex-direction: column; height: 100%; }
.dbr-carousel--posts .dbr-carousel__card, .dbr-carousel--products .dbr-carousel__card { background: transparent; }
.dbr-carousel--events .dbr-carousel__card {
  padding: 1.5rem; border: 1px solid var(--dbr-border); border-radius: calc(var(--dbr-radius) * 3);
  background: var(--dbr-main-bg); box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
}
.dbr-carousel--events .dbr-carousel__media { margin: -1.5rem -1.5rem 1.25rem; border-radius: calc(var(--dbr-radius) * 3) calc(var(--dbr-radius) * 3) 0 0; }
.dbr-carousel__body { padding-top: .875rem; }
.dbr-carousel--events .dbr-carousel__body { padding-top: 0; }
.dbr-carousel__title { margin: 0 0 .25rem; font-size: 1.125rem; line-height: 1.3; }
.dbr-carousel--events .dbr-carousel__title { font-size: 1.375rem; }
.dbr-carousel__title a { color: var(--dbr-heading); text-decoration: none; }
.dbr-carousel__card.is-linked:hover .dbr-carousel__title a, .dbr-carousel__title a:focus-visible { color: var(--dbr-link-hover); text-decoration: underline; }
.dbr-carousel__title a.stretched-link:focus-visible { outline: none; }
.dbr-carousel__title a.stretched-link:focus-visible::after { outline: 3px solid var(--dbr-focus); outline-offset: 3px; border-radius: var(--dbr-radius); }
.dbr-carousel__meta, .dbr-carousel__date, .dbr-carousel__place { margin: 0 0 .5rem; color: var(--dbr-text-muted); font-size: .875rem; }
.dbr-carousel__date { color: var(--dbr-text-muted); font-weight: 600; text-transform: uppercase; letter-spacing: .02em; }
.dbr-carousel__text { margin: .5rem 0; font-size: .9375rem; }
.dbr-carousel__more { margin-top: auto; color: var(--dbr-link); font-size: .875rem; font-weight: 600; }
.dbr-carousel__badge {
  position: absolute; top: .75rem; left: .75rem; z-index: 1; padding: .25rem .5rem; border-radius: var(--dbr-radius);
  background: #1f7a4d; color: #ffffff; font-size: .75rem; font-weight: 700;
}
.dbr-carousel--products .dbr-carousel__body { text-align: center; }
.dbr-carousel__rating { margin: 0 0 .25rem; color: #2f3338; font-size: .8125rem; letter-spacing: .1em; }
[data-bs-theme="dark"] .dbr-carousel__rating { color: #eef0f1; }
.dbr-carousel__price { margin: 0; font-size: 1.0625rem; }
.dbr-carousel__price strong { color: var(--dbr-tone-fg, #1b6d45); }
.dbr-carousel--products { --dbr-tone-fg: #1b6d45; }
[data-bs-theme="dark"] .dbr-carousel--products { --dbr-tone-fg: #74d3a2; }
.dbr-carousel__price del { margin-right: .375rem; color: var(--dbr-text-muted); }
.dbr-container-fluid-gap .dbr-carousel__track, .container-fluid > .dbr-carousel .dbr-carousel__track { gap: .5rem; }

/* --------------------------------------------------------------------------
   2. Kaskadierende Bilder (Modul 20)
   -------------------------------------------------------------------------- */
.dbr-cascade { position: relative; width: 100%; aspect-ratio: 5 / 4; }
.dbr-cascade__img { position: absolute; overflow: hidden; border-radius: calc(var(--dbr-radius) * 3); box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .22); background: var(--dbr-section-grey-bg); }
.dbr-cascade__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dbr-cascade--stack .dbr-cascade__img--1 { left: 22%; top: 34%; width: 70%; aspect-ratio: 3 / 2; z-index: 3; }
.dbr-cascade--stack .dbr-cascade__img--2 { left: 3%; top: 22%; width: 52%; aspect-ratio: 3 / 2; z-index: 2; }
.dbr-cascade--stack .dbr-cascade__img--3 { left: 30%; top: 2%; width: 44%; aspect-ratio: 3 / 2; z-index: 1; }
.dbr-cascade--stack.dbr-cascade--n1 .dbr-cascade__img--1 { left: 10%; top: 10%; width: 80%; }
.dbr-cascade--pair .dbr-cascade__img--1 { right: 2%; top: 28%; width: 70%; aspect-ratio: 3 / 2; z-index: 2; }
.dbr-cascade--pair .dbr-cascade__img--2 { left: 2%; top: 4%; width: 46%; aspect-ratio: 3 / 2; z-index: 1; }
.dbr-cascade--colorbg .dbr-cascade__bg { position: absolute; left: 4%; top: 6%; width: 66%; height: 64%; border-radius: calc(var(--dbr-radius) * 3); background: var(--dbr-tone); }
.dbr-cascade--colorbg .dbr-cascade__img--1 { right: 4%; bottom: 6%; width: 72%; aspect-ratio: 3 / 2; }
.dbr-cascade--tinted .dbr-cascade__bg { position: absolute; left: 6%; top: 18%; width: 22%; height: 64%; border-radius: calc(var(--dbr-radius) * 3) 0 0 calc(var(--dbr-radius) * 3); background: var(--dbr-tone); }
.dbr-cascade--tinted .dbr-cascade__img--1 { left: 14%; top: 18%; width: 80%; aspect-ratio: 3 / 2; }
.dbr-cascade-wrap--center { display: flex; flex-direction: column; align-items: center; gap: 2rem; }
.dbr-cascade-wrap__text { max-width: 44rem; }
.dbr-cascade--layers { max-width: 46rem; aspect-ratio: 16 / 10; margin-block: 3.5rem 2rem; }
.dbr-cascade--layers .dbr-cascade__img--1 { left: 14%; top: 14%; width: 72%; aspect-ratio: 3 / 2; z-index: 2; }
.dbr-cascade--layers .dbr-cascade__img--2 { left: 0; top: 0; width: 38%; aspect-ratio: 4 / 3; z-index: 3; }
.dbr-cascade--layers .dbr-cascade__img--3 { right: 0; bottom: 0; width: 34%; aspect-ratio: 4 / 3; z-index: 3; }
.dbr-cascade--layers.dbr-cascade--n1 .dbr-cascade__img--1 { left: 10%; width: 80%; }

/* --------------------------------------------------------------------------
   3. Code (Modul 21, Prism)
   -------------------------------------------------------------------------- */
.dbr-code { --dbr-code-bg: #1e2227; --dbr-code-bar: #2a2f36; --dbr-code-text: #e6e8ea; --dbr-code-muted: #a8b0b8; --dbr-code-line: #3b424b;
  --c-comment: #9aa4ae; --c-punct: #c8ccd0; --c-tag: #ff9d8f; --c-attr: #ffd27a; --c-string: #a9e08a; --c-keyword: #d5a6ff; --c-func: #8cc8ff; --c-number: #ffb86c; --c-selector: #7ee0d0; --c-var: #ffcc8a;
  margin: 0; overflow: hidden; border: 1px solid var(--dbr-code-line); border-radius: calc(var(--dbr-radius) * 2); background: var(--dbr-code-bg); color: var(--dbr-code-text); }
.dbr-code--light { --dbr-code-bg: #f6f8fa; --dbr-code-bar: #eaeef2; --dbr-code-text: #24292f; --dbr-code-muted: #57606a; --dbr-code-line: #d0d7de;
  --c-comment: #5c6670; --c-punct: #3d444d; --c-tag: #a6250f; --c-attr: #7a4b00; --c-string: #0a5c2b; --c-keyword: #6b2fb3; --c-func: #0b54a6; --c-number: #8a3d00; --c-selector: #0a6159; --c-var: #8a3d00; }
.dbr-code__bar { display: flex; align-items: center; gap: .75rem; min-height: 2.75rem; padding: .25rem .5rem .25rem 1rem; border-bottom: 1px solid var(--dbr-code-line); background: var(--dbr-code-bar); font-size: .8125rem; }
.dbr-code__title { font-family: SFMono-Regular, Menlo, Consolas, monospace; font-weight: 600; color: var(--dbr-code-text); }
.dbr-code__lang { color: var(--dbr-code-muted); text-transform: uppercase; letter-spacing: .05em; font-size: .75rem; }
.dbr-code__copy { display: inline-flex; align-items: center; gap: .375rem; min-height: 2.25rem; margin-left: auto; padding: .25rem .75rem; border: 1px solid var(--dbr-code-line); border-radius: var(--dbr-radius); background: transparent; color: var(--dbr-code-text); font-size: .8125rem; }
.dbr-code__copy:hover { background: rgba(127, 127, 127, .18); }
.dbr-code__copy.is-done { border-color: #4fbf86; color: var(--dbr-code-text); }
.dbr-code__copy:focus-visible { outline: 3px solid var(--dbr-focus-on-dark); outline-offset: 2px; }
.dbr-code--light .dbr-code__copy:focus-visible { outline-color: var(--dbr-focus); }
.dbr-code__pre { margin: 0; padding: 1rem 1.25rem; overflow: auto; background: transparent; color: var(--dbr-code-text); font-family: SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace; font-size: .875rem; line-height: 1.6; tab-size: 4; }
.dbr-code__pre:focus-visible { outline: 3px solid var(--dbr-focus-on-dark); outline-offset: -3px; }
.dbr-code--light .dbr-code__pre:focus-visible { outline-color: var(--dbr-focus); }
.dbr-code__pre code { font: inherit; color: inherit; white-space: pre; }
.dbr-code + .dbr-figure__caption, .dbr-code .dbr-figure__caption { padding: .75rem 1rem; border-top: 1px solid var(--dbr-code-line); background: var(--dbr-code-bar); color: var(--dbr-code-muted); font-size: .875rem; }
/* Zeilennummern (Prism-Plugin line-numbers) */
.dbr-code__pre.line-numbers { position: relative; padding-left: 3.8em; counter-reset: linenumber; }
.dbr-code__pre.line-numbers > code { position: relative; white-space: inherit; }
.dbr-code .line-numbers .line-numbers-rows { position: absolute; top: 0; left: -3.8em; width: 3em; border-right: 1px solid var(--dbr-code-line); font-size: 100%; letter-spacing: -1px; pointer-events: none; user-select: none; }
.dbr-code .line-numbers-rows > span { display: block; counter-increment: linenumber; }
.dbr-code .line-numbers-rows > span::before { content: counter(linenumber); display: block; padding-right: .8em; color: var(--dbr-code-muted); text-align: right; }
/* Token-Farben */
.dbr-code .token.comment, .dbr-code .token.prolog, .dbr-code .token.doctype, .dbr-code .token.cdata { color: var(--c-comment); font-style: italic; }
.dbr-code .token.punctuation { color: var(--c-punct); }
.dbr-code .token.tag, .dbr-code .token.deleted, .dbr-code .token.important { color: var(--c-tag); }
.dbr-code .token.attr-name, .dbr-code .token.property, .dbr-code .token.constant, .dbr-code .token.symbol { color: var(--c-attr); }
.dbr-code .token.string, .dbr-code .token.char, .dbr-code .token.attr-value, .dbr-code .token.inserted, .dbr-code .token.url { color: var(--c-string); }
.dbr-code .token.keyword, .dbr-code .token.atrule, .dbr-code .token.boolean { color: var(--c-keyword); }
.dbr-code .token.function, .dbr-code .token.class-name { color: var(--c-func); }
.dbr-code .token.number, .dbr-code .token.operator, .dbr-code .token.entity { color: var(--c-number); }
.dbr-code .token.selector, .dbr-code .token.builtin { color: var(--c-selector); }
.dbr-code .token.variable, .dbr-code .token.regex { color: var(--c-var); }
.dbr-code .token.bold { font-weight: 700; }

/* --------------------------------------------------------------------------
   4. Datentabelle (Modul 22)
   -------------------------------------------------------------------------- */
.dbr-dt__tools { display: none; flex-wrap: wrap; align-items: flex-end; gap: .75rem 1.5rem; margin-bottom: 1rem; }
.dbr-dt.is-enhanced .dbr-dt__tools, .dbr-dt:not([data-dbr-datatable]) .dbr-dt__tools { display: flex; }
.dbr-dt__tools .form-label { margin-bottom: .25rem; font-size: .875rem; font-weight: 600; color: var(--dbr-heading); }
.dbr-dt__size .form-select { width: auto; min-width: 5.5rem; min-height: 2.5rem; }
.dbr-dt__search { margin-left: auto; min-width: min(18rem, 100%); }
.dbr-dt__search .form-control { min-height: 2.5rem; border-color: #8a8e92; }
.dbr-dt__export { min-height: 2.5rem; }
.dbr-dt__caption { caption-side: top; padding: 0 0 .75rem; color: var(--dbr-heading); font-weight: 600; font-size: 1.0625rem; }
.dbr-dt .table { --bs-table-bg: var(--dbr-main-bg); --bs-table-color: var(--dbr-text); --bs-table-border-color: var(--dbr-border); --bs-table-striped-bg: rgba(0, 0, 0, .035); }
[data-bs-theme="dark"] .dbr-dt .table { --bs-table-striped-bg: rgba(255, 255, 255, .04); --bs-table-striped-color: var(--dbr-text); }
.dbr-dt thead th { background: var(--dbr-section-grey-bg); color: var(--dbr-heading); font-weight: 700; vertical-align: bottom; white-space: nowrap; }
.dbr-dt__sort { display: inline-flex; align-items: center; gap: .5rem; width: 100%; min-height: 2rem; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: inherit; }
th.text-end .dbr-dt__sort { justify-content: flex-end; }
.dbr-dt__sort i { color: var(--dbr-text-muted); font-size: .8125rem; }
th[aria-sort] .dbr-dt__sort i { color: var(--dbr-tone-fg, #154711); }
[data-bs-theme="dark"] th[aria-sort] .dbr-dt__sort i { color: #a8d49f; }
.dbr-dt__sort:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 2px; border-radius: 2px; }
.dbr-dt__empty td { padding: 1.5rem; color: var(--dbr-text-muted); text-align: center; }
.dbr-dt__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.5rem; margin-top: 1rem; }
.dbr-dt__info { margin: 0; color: var(--dbr-text-muted); font-size: .875rem; }
.dbr-dt .pagination { --bs-pagination-color: var(--dbr-link); --bs-pagination-hover-color: var(--dbr-link-hover); --bs-pagination-bg: var(--dbr-main-bg); --bs-pagination-border-color: var(--dbr-border); --bs-pagination-hover-bg: var(--dbr-section-grey-bg); --bs-pagination-active-bg: var(--dbr-accent-strong); --bs-pagination-active-border-color: var(--dbr-accent-strong); --bs-pagination-disabled-bg: var(--dbr-main-bg); --bs-pagination-disabled-color: #767a7e; --bs-pagination-focus-box-shadow: 0 0 0 3px var(--dbr-focus); }
.dbr-dt .page-link { min-width: 2.25rem; min-height: 2.25rem; display: inline-flex; align-items: center; justify-content: center; }
.dbr-dt .table-responsive:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }

/* --------------------------------------------------------------------------
   5. Zähler und Countdown (Modul 23)
   -------------------------------------------------------------------------- */
.dbr-counter { height: 100%; text-align: center; }
.dbr-counter__value { margin: 0; color: var(--dbr-heading); font-family: var(--dbr-font-display); font-size: clamp(2rem, 1.5rem + 1.6vw, 2.75rem); font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; }
.dbr-counter.has-tone .dbr-counter__value { color: var(--dbr-tone-fg); }
.dbr-on-dark .dbr-counter__value, .dbr-on-dark .dbr-counter.has-tone .dbr-counter__value { color: #ffffff; }
.dbr-counter__affix { font-size: .7em; }
.dbr-counter__label { margin: .375rem 0 0; color: var(--dbr-text-muted); font-size: .875rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.dbr-on-dark .dbr-counter__label { color: #d6d9db; }
.dbr-counter__icon { display: inline-flex; align-items: center; justify-content: center; margin-bottom: .75rem; color: var(--dbr-tone-icon, var(--dbr-heading)); font-size: 2.25rem; }
.dbr-on-dark .dbr-counter__icon { color: #ffffff; }
.dbr-counters--large .dbr-counter__value { font-size: clamp(2.5rem, 1.8rem + 2.6vw, 4rem); }
.dbr-counters--card .dbr-counter { padding: 1.75rem 1rem; border-radius: calc(var(--dbr-radius) * 3); background: var(--dbr-main-bg); box-shadow: 0 4px 18px rgba(0, 0, 0, .08); }
.dbr-counters--bordered .dbr-counter { padding: 1.75rem 1rem; border: 2px solid var(--dbr-border); border-radius: calc(var(--dbr-radius) * 2); background: var(--dbr-main-bg); }
.dbr-counters--card .dbr-counter__value, .dbr-counters--bordered .dbr-counter__value, .dbr-counters--horizontal .dbr-counter__value { color: var(--dbr-tone-fg, var(--dbr-heading)); }
.dbr-counters--card .dbr-counter__icon, .dbr-counters--bordered .dbr-counter__icon { color: var(--dbr-tone-icon, var(--dbr-heading)); }
.dbr-counters--card .dbr-counter__label, .dbr-counters--bordered .dbr-counter__label, .dbr-counters--horizontal .dbr-counter__label { color: var(--dbr-text-muted); }
.dbr-counters--accent .dbr-counter { padding: .25rem 0 .25rem 1.25rem; border-left: 4px solid var(--dbr-tone, var(--dbr-accent)); text-align: left; }
.dbr-counters--circle .dbr-counter__icon { width: 4.5rem; height: 4.5rem; border-radius: 50%; background: var(--dbr-tone, var(--dbr-accent-strong)); color: var(--dbr-tone-on, #ffffff); font-size: 1.75rem; }
.dbr-on-dark .dbr-counters--circle .dbr-counter__icon { color: var(--dbr-tone-on, #ffffff); }
.dbr-counters--horizontal .dbr-counter { display: flex; align-items: center; gap: 1rem; padding: 1rem; border-radius: calc(var(--dbr-radius) * 3); background: var(--dbr-section-grey-bg); text-align: left; }
.dbr-counters--horizontal .dbr-counter__icon { flex: 0 0 auto; width: 3.5rem; height: 3.5rem; margin: 0; border-radius: calc(var(--dbr-radius) * 3); background: var(--dbr-tone, var(--dbr-accent-strong)); color: var(--dbr-tone-on, #ffffff); font-size: 1.375rem; }
.dbr-counters--horizontal .dbr-counter__value { font-size: 1.75rem; }
.dbr-counters--horizontal .dbr-counter__label { margin-top: .125rem; text-transform: none; letter-spacing: 0; }

.dbr-countdown-wrap { text-align: center; }
.dbr-countdown { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 0; }
.dbr-countdown[hidden] { display: none; }
.dbr-countdown__item { display: flex; flex-direction: column; align-items: center; min-width: 5.5rem; padding: .5rem 1.25rem; }
.dbr-countdown__value { color: var(--dbr-heading); font-family: var(--dbr-font-display); font-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.5rem); font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; }
.dbr-countdown__label { margin-top: .25rem; color: var(--dbr-text-muted); font-size: .8125rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.dbr-on-dark .dbr-countdown__value { color: #ffffff; }
.dbr-on-dark .dbr-countdown__label { color: #d6d9db; }
.dbr-countdown--default .dbr-countdown__item + .dbr-countdown__item { border-left: 1px solid var(--dbr-border); }
.dbr-countdown--large .dbr-countdown__value { font-size: clamp(2.5rem, 1.8rem + 2.8vw, 4.25rem); }
.dbr-countdown--large .dbr-countdown__item + .dbr-countdown__item { border-left: 1px solid var(--dbr-border); }
.dbr-countdown--inline { display: inline-block; padding: .75rem 1.25rem; border: 1px solid #9ec5fe; border-radius: var(--dbr-radius); background: #e7f1ff; color: #0a3a7a; }
[data-bs-theme="dark"] .dbr-countdown--inline { border-color: #2c4f80; background: #142338; color: #cfe1ff; }
.dbr-countdown--inline .dbr-countdown__item { display: inline; min-width: 0; padding: 0 .375rem 0 0; }
.dbr-countdown--inline .dbr-countdown__value { color: inherit; font-family: inherit; font-size: 1rem; }
.dbr-countdown--inline .dbr-countdown__label { margin: 0; color: inherit; font-size: 1rem; font-weight: 400; letter-spacing: 0; text-transform: none; }
.dbr-countdown--card { gap: .75rem; }
.dbr-countdown--card .dbr-countdown__item { padding: 1rem 1.25rem; border-radius: calc(var(--dbr-radius) * 3); background: var(--dbr-main-bg); box-shadow: 0 4px 18px rgba(0, 0, 0, .1); }
.dbr-countdown--card .dbr-countdown__value { color: #1b6d45; }
[data-bs-theme="dark"] .dbr-countdown--card .dbr-countdown__value { color: #74d3a2; }
.dbr-countdown--bordered { gap: .75rem; }
.dbr-countdown--bordered .dbr-countdown__item { padding: 1rem 1.25rem; border: 2px solid var(--dbr-border); border-radius: calc(var(--dbr-radius) * 2); background: var(--dbr-main-bg); }
.dbr-countdown--bordered .dbr-countdown__value, .dbr-countdown--card .dbr-countdown__label, .dbr-countdown--bordered .dbr-countdown__label { color: inherit; }
.dbr-countdown--bordered .dbr-countdown__value { color: var(--dbr-heading); }
.dbr-countdown--circle { gap: .75rem; }
.dbr-countdown--circle .dbr-countdown__item { justify-content: center; width: 6.5rem; height: 6.5rem; min-width: 0; padding: 0; border: 3px solid #1f7a4d; border-radius: 50%; }
.dbr-countdown--circle .dbr-countdown__value { color: #1b6d45; font-size: 2rem; }
[data-bs-theme="dark"] .dbr-countdown--circle .dbr-countdown__item { border-color: #4fbf86; }
[data-bs-theme="dark"] .dbr-countdown--circle .dbr-countdown__value { color: #74d3a2; }
.dbr-countdown--circle .dbr-countdown__label { font-size: .6875rem; }
.dbr-countdown--minimal { align-items: flex-start; }
.dbr-countdown--minimal .dbr-countdown__value { font-weight: 300; font-size: clamp(2rem, 1.5rem + 1.8vw, 3rem); }
.dbr-countdown__sep { padding-top: .5rem; color: var(--dbr-text-muted); font-size: 2rem; line-height: 1; }
.dbr-countdown__done { margin-top: 1rem; }
.dbr-countdown__done-text { font-size: 1.125rem; font-weight: 600; }
@media (max-width: 575.98px) {
  .dbr-countdown__item { min-width: 4.25rem; padding: .5rem .625rem; }
  .dbr-countdown--circle .dbr-countdown__item { width: 5rem; height: 5rem; }
  .dbr-countdown--circle .dbr-countdown__value { font-size: 1.5rem; }
}

/* --------------------------------------------------------------------------
   6. Galerie (Modul 24)
   -------------------------------------------------------------------------- */
.dbr-gallery { --dbr-g: .5rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--dbr-g); margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .dbr-gallery { grid-template-columns: repeat(min(var(--dbr-gallery-cols, 3), 4), minmax(0, 1fr)); } }
@media (min-width: 992px) { .dbr-gallery { grid-template-columns: repeat(var(--dbr-gallery-cols, 3), minmax(0, 1fr)); } }
.dbr-gallery--gap-none { --dbr-g: 0; }
.dbr-gallery--gap-m { --dbr-g: 1rem; }
.dbr-gallery__figure { position: relative; height: 100%; margin: 0; }
.dbr-gallery__link { position: relative; display: block; height: 100%; overflow: hidden; background: var(--dbr-section-grey-bg); }
.dbr-gallery--gap-s .dbr-gallery__link, .dbr-gallery--gap-m .dbr-gallery__link { border-radius: var(--dbr-radius); }
.dbr-gallery__img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
/* Mauerwerk: Seitenverhältnis aus width/height des Bildes (reserviert die Höhe vor dem Laden, 19.10.2026) */
.dbr-gallery:not(.dbr-gallery--masonry) .dbr-gallery__img { aspect-ratio: 1 / 1; }
.dbr-gallery--fx-zoom a.dbr-gallery__link:hover .dbr-gallery__img, .dbr-gallery--fx-zoom a.dbr-gallery__link:focus-visible .dbr-gallery__img { transform: scale(1.06); }
a.dbr-gallery__link:hover .dbr-gallery__zoom, a.dbr-gallery__link:focus-visible .dbr-gallery__zoom { opacity: 1; }
a.dbr-gallery__link:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 2px; z-index: 1; }
/* erstes Bild groß */
@media (min-width: 768px) {
  .dbr-gallery--featured .dbr-gallery__item.is-big { grid-column: span 2; grid-row: span 2; }
}
/* Mauerwerk */
.dbr-gallery--masonry { display: block; columns: 2; column-gap: var(--dbr-g); }
@media (min-width: 768px) { .dbr-gallery--masonry { columns: min(var(--dbr-gallery-cols, 3), 4); } }
@media (min-width: 992px) { .dbr-gallery--masonry { columns: var(--dbr-gallery-cols, 3); } }
.dbr-gallery--masonry .dbr-gallery__item { break-inside: avoid; margin-bottom: var(--dbr-g); }
.dbr-gallery--masonry .dbr-gallery__img { height: auto; }
/* Bildunterschriften */
.dbr-gallery--cap-below .dbr-gallery__caption { padding: .375rem .125rem 0; color: var(--dbr-text-muted); font-size: .8125rem; }
.dbr-gallery--cap-hover .dbr-gallery__caption {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 1.5rem .75rem .625rem; background: linear-gradient(transparent, rgba(0, 0, 0, .78));
  color: #ffffff; font-size: .8125rem; opacity: 0; transform: translateY(.5rem); transition: opacity .2s, transform .2s; pointer-events: none;
}
.dbr-gallery--cap-hover .dbr-gallery__figure:hover .dbr-gallery__caption,
.dbr-gallery--cap-hover .dbr-gallery__figure:focus-within .dbr-gallery__caption { opacity: 1; transform: none; }
.dbr-gallery--cap-hover .dbr-gallery__zoom { top: .75rem; bottom: auto; }
.dbr-gallery--cap-below .dbr-gallery__figure { height: auto; }

/* --------------------------------------------------------------------------
   7. Bild-Slider (Modul 25)
   -------------------------------------------------------------------------- */
.dbr-islider { position: relative; }
.dbr-islider__slides { margin: 0; padding: 0; list-style: none; }
.dbr-islider__figure { position: relative; margin: 0; }
.dbr-islider__img { display: block; width: 100%; height: 100%; aspect-ratio: var(--dbr-ratio, 16 / 9); object-fit: cover; }
.dbr-islider:not(.is-enhanced) .dbr-islider__slide + .dbr-islider__slide { margin-top: 1rem; }
/* mit JavaScript: bis zur Initialisierung nur die erste Folie zeigen – sonst springt der Inhalt darunter (CLS, 19.10.2026) */
.dbr-js .dbr-islider:not(.is-enhanced) .dbr-islider__slide + .dbr-islider__slide { display: none; }
.dbr-islider:not(.is-enhanced) .dbr-islider__arrows, .dbr-islider:not(.is-enhanced) .dbr-islider__bar, .dbr-islider:not(.is-enhanced) .dbr-islider__thumbs { display: none; }
.dbr-islider.is-enhanced .dbr-islider__stage { position: relative; overflow: hidden; border-radius: var(--dbr-radius); aspect-ratio: var(--dbr-ratio, 16 / 9); background: var(--dbr-section-grey-bg); }
.dbr-islider.is-enhanced .dbr-islider__slides { position: absolute; inset: 0; }
.dbr-islider.is-enhanced .dbr-islider__slide { position: absolute; inset: 0; transition: transform .6s ease, opacity .6s ease, visibility 0s linear .6s; visibility: hidden; }
.dbr-islider.is-enhanced .dbr-islider__slide.is-active { visibility: visible; transition: transform .6s ease, opacity .6s ease, visibility 0s; }
.dbr-islider.is-enhanced .dbr-islider__figure, .dbr-islider.is-enhanced .dbr-islider__img { height: 100%; }
.dbr-islider--slide.is-enhanced .dbr-islider__slide { transform: translateX(100%); }
.dbr-islider--slide.is-enhanced .dbr-islider__slide.is-before { transform: translateX(-100%); }
.dbr-islider--slide.is-enhanced .dbr-islider__slide.is-active { transform: none; }
.dbr-islider--vertical.is-enhanced .dbr-islider__slide { transform: translateY(100%); }
.dbr-islider--vertical.is-enhanced .dbr-islider__slide.is-before { transform: translateY(-100%); }
.dbr-islider--vertical.is-enhanced .dbr-islider__slide.is-active { transform: none; }
.dbr-islider--fade.is-enhanced .dbr-islider__slide { opacity: 0; }
.dbr-islider--fade.is-enhanced .dbr-islider__slide.is-active { opacity: 1; }
.dbr-islider.is-reduced .dbr-islider__slide { transition: none !important; }
.dbr-islider__caption { position: absolute; left: 0; right: 0; bottom: 0; padding: 2.5rem 1.25rem 1rem; background: linear-gradient(transparent, rgba(0, 0, 0, .75)); color: #ffffff; font-size: .9375rem; }
.dbr-islider--cap-below .dbr-islider__caption { position: static; padding: .5rem 0 0; background: none; color: var(--dbr-text-muted); }
.dbr-islider--cap-below.is-enhanced .dbr-islider__stage { overflow: visible; aspect-ratio: auto; background: none; }
.dbr-islider--cap-below.is-enhanced .dbr-islider__slides { position: relative; display: grid; overflow: hidden; }
.dbr-islider--cap-below.is-enhanced .dbr-islider__slide { position: relative; grid-area: 1 / 1; inset: auto; overflow: hidden; }
.dbr-islider--cap-below.is-enhanced .dbr-islider__img { height: auto; }
.dbr-islider--cap-below .dbr-islider__arrows { top: 0; bottom: auto; height: calc(100% - 2.25rem); }
/* Pfeile */
.dbr-islider__arrows { position: absolute; inset: 0; z-index: 3; display: flex; align-items: center; justify-content: space-between; padding: .75rem; pointer-events: none; }
.dbr-islider__arrow {
  display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; padding: 0;
  border: 0; border-radius: var(--dbr-radius); background: rgba(0, 0, 0, .55); color: #ffffff; pointer-events: auto; transition: background-color .15s;
}
.dbr-islider__arrow:hover { background: var(--dbr-accent-strong); }
.dbr-islider__arrow:focus-visible, .dbr-islider__toggle:focus-visible, .dbr-islider__dot:focus-visible { outline: 3px solid #ffffff; outline-offset: 2px; box-shadow: 0 0 0 5px rgba(0, 0, 0, .6); }
.dbr-islider--arrows-simple .dbr-islider__arrows { padding: 0; }
.dbr-islider--arrows-simple .dbr-islider__arrow { border-radius: 0; }
.dbr-islider--arrows-offset .dbr-islider__arrows { padding: 1.5rem; }
.dbr-islider--arrows-small .dbr-islider__arrow { width: 2.25rem; height: 2.25rem; font-size: .8125rem; }
.dbr-islider--arrows-circle .dbr-islider__arrow { border-radius: 50%; }
.dbr-islider--arrows-solid .dbr-islider__arrow { background: #ffffff; color: #2f3338; box-shadow: 0 1px 4px rgba(0, 0, 0, .3); }
.dbr-islider--arrows-solid .dbr-islider__arrow:hover { background: #2f3338; color: #ffffff; }
.dbr-islider--apos-top .dbr-islider__arrows, .dbr-islider--apos-top-left .dbr-islider__arrows, .dbr-islider--apos-top-right .dbr-islider__arrows { align-items: flex-start; gap: .375rem; }
.dbr-islider--apos-bottom .dbr-islider__arrows, .dbr-islider--apos-bottom-left .dbr-islider__arrows, .dbr-islider--apos-bottom-right .dbr-islider__arrows { align-items: flex-end; gap: .375rem; }
.dbr-islider--apos-top .dbr-islider__arrows, .dbr-islider--apos-bottom .dbr-islider__arrows { justify-content: center; }
.dbr-islider--apos-top-left .dbr-islider__arrows, .dbr-islider--apos-bottom-left .dbr-islider__arrows { justify-content: flex-start; }
.dbr-islider--apos-top-right .dbr-islider__arrows, .dbr-islider--apos-bottom-right .dbr-islider__arrows { justify-content: flex-end; }
.dbr-islider--vertical .dbr-islider__arrows { flex-direction: column; justify-content: center; align-items: flex-end; gap: .5rem; }
/* Leiste mit Pause und Punkten */
.dbr-islider__bar { position: absolute; left: 0; right: 0; bottom: 0; z-index: 4; display: flex; align-items: center; justify-content: center; gap: .5rem; padding: .375rem .75rem; pointer-events: none; }
.dbr-islider__bar > * { pointer-events: auto; }
.dbr-islider--dpos-bottom-left .dbr-islider__bar { justify-content: flex-start; }
.dbr-islider--dpos-bottom-right .dbr-islider__bar { justify-content: flex-end; }
.dbr-islider--dpos-top .dbr-islider__bar, .dbr-islider--dpos-top-left .dbr-islider__bar, .dbr-islider--dpos-top-right .dbr-islider__bar { top: 0; bottom: auto; }
.dbr-islider--dpos-top-left .dbr-islider__bar { justify-content: flex-start; }
.dbr-islider--dpos-top-right .dbr-islider__bar { justify-content: flex-end; }
.dbr-islider--cap-overlay .dbr-islider__caption { padding-bottom: 3rem; }
.dbr-islider__toggle { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; padding: 0; border: 0; border-radius: 50%; background: rgba(0, 0, 0, .6); color: #ffffff; font-size: .8125rem; }
.dbr-islider__toggle[hidden] { display: none; }
.dbr-islider__dots { display: flex; gap: 0; }
.dbr-islider__dot { position: relative; width: 1.75rem; height: 2.25rem; padding: 0; border: 0; background: transparent; }
.dbr-islider__dot::before { content: ""; position: absolute; top: 50%; left: 50%; width: .75rem; height: .75rem; margin: -.375rem 0 0 -.375rem; border: 2px solid #ffffff; border-radius: 50%; background: rgba(0, 0, 0, .35); box-shadow: 0 0 2px rgba(0, 0, 0, .7); transition: background-color .15s; }
.dbr-islider__dot[aria-current="true"]::before { background: #ffffff; }
.dbr-islider--dots-solid .dbr-islider__dot::before { border-color: transparent; background: rgba(255, 255, 255, .75); }
.dbr-islider--dots-solid .dbr-islider__dot[aria-current="true"]::before { background: var(--dbr-accent-strong); border-color: #ffffff; }
.dbr-islider--dots-square .dbr-islider__dot::before { border-radius: 2px; }
.dbr-islider--dots-diamond .dbr-islider__dot::before { border-radius: 1px; transform: rotate(45deg) scale(.9); }
.dbr-islider--dots-none .dbr-islider__dots { display: none; }
/* Vorschaubilder */
.dbr-islider__thumbs { display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0 0; padding: 0; list-style: none; }
.dbr-islider__thumbs--justified { display: grid; grid-template-columns: repeat(auto-fit, minmax(3.5rem, 1fr)); }
.dbr-islider__thumb { display: block; width: 6rem; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: var(--dbr-radius); background: none; opacity: .65; transition: opacity .15s, border-color .15s; }
.dbr-islider__thumbs--justified .dbr-islider__thumb { width: 100%; }
.dbr-islider__thumb[aria-current="true"], .dbr-islider__thumb:hover { opacity: 1; border-color: var(--dbr-accent-strong); }
.dbr-islider__thumb:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 2px; opacity: 1; }
.dbr-islider__thumb-img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

/* --------------------------------------------------------------------------
   8. Parallax (Modul 26)
   Bewegung: dbr-parallax.js setzt Transform bzw. die Variablen --dbr-enter / --dbr-leave.
   Ohne JavaScript oder bei „Bewegung reduzieren“ gelten die Fallback-Werte (Endzustand, alles sichtbar).
   -------------------------------------------------------------------------- */
.dbr-parallax { position: relative; }
.dbr-parallax--h-s { min-height: 18rem; }
.dbr-parallax--h-m { min-height: 26rem; }
.dbr-parallax--h-l { min-height: 34rem; }
.dbr-parallax--h-xl { min-height: min(90vh, 52rem); }
.dbr-parallax--h-full { min-height: max(32rem, 100vh); min-height: max(32rem, 100svh); }
.dbr-parallax__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dbr-parallax__layer { position: absolute; inset: -18% 0; display: block; will-change: transform; }
.dbr-parallax__kicker { margin: 0 0 .75rem; font-family: var(--dbr-font-display); font-size: .9375rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.dbr-parallax__title { margin-bottom: 1rem; }
.dbr-parallax__title--display { font-size: clamp(2.5rem, 1.2rem + 6vw, 6rem); font-weight: 700; line-height: 1; letter-spacing: -.01em; text-transform: uppercase; }
.dbr-parallax__cta { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.75rem 0 0; }
.text-center > .dbr-parallax__cta, .text-center .dbr-parallax__cta { justify-content: center; }
.text-end > .dbr-parallax__cta, .text-end .dbr-parallax__cta { justify-content: flex-end; }
.dbr-parallax__intro { max-width: 46rem; margin: 0 auto 2.5rem; }
.dbr-parallax__intro.text-start { margin-left: 0; }
.dbr-parallax__intro.text-end { margin-right: 0; }

/* Hintergrundbild und Text-Parallax */
.dbr-parallax--bg { overflow: hidden; display: flex; align-items: center; color: #ffffff; background: #1b1d20; }
.dbr-parallax--bg > .container, .dbr-parallax--bg > .container-fluid { position: static; }
.dbr-parallax__media { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.dbr-parallax--motion-horizontal .dbr-parallax__layer { inset: 0 -14%; }
.dbr-parallax--motion-zoom .dbr-parallax__layer, .dbr-parallax--motion-none .dbr-parallax__layer { inset: 0; transform-origin: center; }
.dbr-parallax__dim { position: absolute; inset: 0; }
.dbr-parallax__dim--dark.dbr-parallax__dim--35 { background: rgba(0, 0, 0, .45); }
.dbr-parallax__dim--dark.dbr-parallax__dim--50 { background: rgba(0, 0, 0, .58); }
.dbr-parallax__dim--dark.dbr-parallax__dim--65 { background: rgba(0, 0, 0, .7); }
.dbr-parallax__dim--dark.dbr-parallax__dim--80 { background: rgba(0, 0, 0, .8); }
.dbr-parallax__dim--light.dbr-parallax__dim--35 { background: rgba(255, 255, 255, .62); }
.dbr-parallax__dim--light.dbr-parallax__dim--50 { background: rgba(255, 255, 255, .72); }
.dbr-parallax__dim--light.dbr-parallax__dim--65 { background: rgba(255, 255, 255, .8); }
.dbr-parallax__dim--light.dbr-parallax__dim--80 { background: rgba(255, 255, 255, .86); }
.dbr-parallax__content { position: relative; z-index: 2; max-width: 46rem; margin-inline: auto; padding-block: 3.5rem; }
.dbr-parallax__content.text-start { margin-inline: 0 auto; }
.dbr-parallax__content.text-end { margin-inline: auto 0; }
.dbr-parallax--bg .dbr-parallax__title { color: #ffffff; font-size: clamp(1.75rem, 1.2rem + 2vw, 2.75rem); text-shadow: 0 1px 3px rgba(0, 0, 0, .4); }
.dbr-parallax--bg .dbr-parallax__title--display { font-size: clamp(2.5rem, 1.2rem + 6vw, 6rem); }
.dbr-parallax--bg .dbr-parallax__text { font-size: 1.125rem; text-shadow: 0 1px 2px rgba(0, 0, 0, .4); }
.dbr-parallax--bg .dbr-parallax__text a:not(.btn) { color: #ffffff; }
.dbr-parallax--bg .dbr-parallax__kicker { color: #ffffff; }
/* helle Aufhellung: dunkle Schrift */
.dbr-parallax--light { color: #1d1f22; background: #f4f4f4; }
.dbr-parallax--light .dbr-parallax__title, .dbr-parallax--light .dbr-parallax__kicker, .dbr-parallax--light .dbr-parallax__text a:not(.btn) { color: #1d1f22; text-shadow: none; }
.dbr-parallax--light .dbr-parallax__text { text-shadow: none; }
/* Inhalt gleitet beim Weiterscrollen nach unten und blendet aus */
.dbr-parallax__content--fade { opacity: calc(1 - var(--dbr-leave, 0) * 1.6); transform: translate3d(0, calc(var(--dbr-leave, 0) * 9rem), 0); will-change: opacity, transform; }
/* Text-Parallax: große Überschrift gleitet herein */
.dbr-parallax__reveal { opacity: calc(var(--dbr-enter, 1) * 1.15 - .15); transform: translate3d(0, calc((1 - var(--dbr-enter, 1)) * 6rem), 0); will-change: opacity, transform; }
/* Einstieg einer Landingpage (transparenter Header „Fullscreen“, 72px) */
.dbr-parallax--hero .dbr-parallax__content { padding-top: calc(72px + 2.5rem); }
.dbr-parallax--hero.dbr-parallax--scene .dbr-parallax__scene-title { padding-top: calc(72px + 8%); }
/* DBR: Der Landingpage-Kopf ist immer grün – Schrift bleibt weiß, auch über hellen Einstiegsbildern */

/* Tiefen-Szene: hinten – Mitte – Überschrift – Vordergrund (Überschrift bleibt lesbar, der Vordergrund schiebt sich davor) */
.dbr-parallax--scene { overflow: hidden; }
.dbr-parallax--scene .dbr-parallax__stage { position: relative; min-height: inherit; overflow: hidden; }
.dbr-parallax--scene.dbr-parallax--h-s .dbr-parallax__stage { min-height: 18rem; }
.dbr-parallax--scene.dbr-parallax--h-m .dbr-parallax__stage { min-height: 26rem; }
.dbr-parallax--scene.dbr-parallax--h-l .dbr-parallax__stage { min-height: 34rem; }
.dbr-parallax--scene.dbr-parallax--h-xl .dbr-parallax__stage { min-height: min(90vh, 52rem); }
.dbr-parallax--scene.dbr-parallax--h-full .dbr-parallax__stage { min-height: max(32rem, 100vh); min-height: max(32rem, 100svh); }
.dbr-parallax--scene { min-height: 0 !important; }
.dbr-parallax__plane { position: absolute; inset: 0; pointer-events: none; will-change: transform; }
.dbr-parallax__plane .dbr-parallax__img { object-position: center bottom; }
.dbr-parallax__plane--back { z-index: 1; inset: -12% 0 0; }
.dbr-parallax__plane--mid { z-index: 2; }
.dbr-parallax__plane--front { z-index: 4; }
.dbr-parallax__scene-title { position: absolute; inset: 0; z-index: 3; display: flex; align-items: flex-start; padding-top: 14%;
  opacity: calc(1 - var(--dbr-leave, 0) * .7); transform: translate3d(0, calc(var(--dbr-leave, 0) * 40vh), 0); will-change: transform, opacity; }
.dbr-parallax__scene-title > .container { width: 100%; }
.dbr-parallax__scene-title .dbr-parallax__title { margin: 0; }
.dbr-parallax--ink-dark .dbr-parallax__scene-title :is(.dbr-parallax__title, .dbr-parallax__kicker) { color: #1d1f22; }
.dbr-parallax--ink-light .dbr-parallax__scene-title :is(.dbr-parallax__title, .dbr-parallax__kicker) { color: #ffffff; text-shadow: 0 2px 8px rgba(0, 0, 0, .35); }
.dbr-parallax__after { position: relative; z-index: 5; max-width: 46rem; padding-top: 2rem; }
.dbr-parallax__after.text-center { margin-inline: auto; }
@media (max-width: 767.98px) { .dbr-parallax__scene-title { padding-top: 22%; } .dbr-parallax--hero.dbr-parallax--scene .dbr-parallax__scene-title { padding-top: calc(72px + 6%); } }

/* Schwebende Bild-Ebenen */
.dbr-parallax--layers > .container, .dbr-parallax--layers > .container-fluid { min-height: inherit; }
.dbr-parallax--layers .dbr-parallax__stage { position: relative; display: flex; align-items: center; justify-content: center; min-height: inherit; padding-block: 4rem; }
.dbr-parallax--layers .dbr-parallax__content { z-index: 3; padding: 2rem; border-radius: calc(var(--dbr-radius) * 3); background: color-mix(in srgb, var(--dbr-main-bg) 95%, transparent); box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .12); }
.dbr-bg-dark.dbr-parallax--layers .dbr-parallax__content { background: rgba(29, 31, 34, .92); }
.dbr-parallax__float { position: absolute; z-index: 1; width: clamp(8rem, 22vw, 18rem); will-change: transform; }
.dbr-parallax__float img { display: block; width: 100%; height: auto; border-radius: calc(var(--dbr-radius) * 3); box-shadow: 0 1rem 2rem rgba(0, 0, 0, .25); }
.dbr-parallax__float--1 { left: 1%; top: 6%; }
.dbr-parallax__float--2 { right: 2%; top: 14%; }
.dbr-parallax__float--3 { left: 18%; bottom: 2%; z-index: 2; width: clamp(7rem, 15vw, 12rem); }
.dbr-parallax__float--4 { right: 20%; bottom: 0; width: clamp(7rem, 14vw, 11rem); }
.dbr-parallax__float--5 { left: 36%; top: 0; width: clamp(6rem, 11vw, 9rem); opacity: .9; }
.dbr-parallax__float--6 { right: 36%; bottom: 8%; width: clamp(6rem, 10vw, 8rem); opacity: .9; }
@media (max-width: 767.98px) {
  .dbr-parallax__float--3, .dbr-parallax__float--4, .dbr-parallax__float--5, .dbr-parallax__float--6 { display: none; }
  .dbr-parallax__float { opacity: .35; }
}

/* Text und Bild nebeneinander */
.dbr-parallax__frame { position: relative; overflow: hidden; border-radius: calc(var(--dbr-radius) * 3); aspect-ratio: 4 / 3; box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .18); }
.dbr-parallax__frame .dbr-parallax__layer { inset: -12% 0; }

/* Vorhang: Farbfläche gibt das Bild frei */
.dbr-parallax__curtain { position: relative; overflow: hidden; border-radius: calc(var(--dbr-radius) * 3); background: var(--dbr-tone); }
.dbr-parallax__curtain-img { position: absolute; inset: 0; transform-origin: center; }
.dbr-parallax__curtain-panel { position: absolute; inset: 0; z-index: 2; background: var(--dbr-tone);
  transform: translate3d(0, calc(var(--dbr-enter, 1) * -101%), 0); will-change: transform; }
.dbr-parallax__curtain::after { content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(0, 0, 0, calc((1 - var(--dbr-enter, 1)) * .55)); pointer-events: none; }

/* Karten mit unterschiedlicher Geschwindigkeit */
.dbr-parallax__speedrow { padding-bottom: 5rem; }
.dbr-parallax__speedcard { display: flex; flex-direction: column; justify-content: center; height: 100%; min-height: 16rem; padding: 2rem 1.5rem;
  border-radius: calc(var(--dbr-radius) * 3); background: var(--dbr-tone); color: var(--dbr-tone-on, #ffffff); text-align: center; will-change: transform; }
.dbr-parallax__speedcard--2 { filter: brightness(.92); }
.dbr-parallax__speedcard--3 { filter: brightness(.84); }
.dbr-parallax__speedcard--4 { filter: brightness(.76); }
.dbr-parallax__speedicon { display: block; margin-bottom: .75rem; font-size: 2rem; }
.dbr-parallax__speedsub { margin: 0 0 .25rem; font-size: .8125rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; opacity: .9; }
.dbr-parallax__speedtitle { margin: 0 0 .5rem; color: inherit !important; font-size: 1.375rem; }
.dbr-parallax__speedtext { margin: 0; }
.dbr-parallax__speedlink { display: inline-block; margin-top: 1rem; color: inherit !important; font-weight: 700; }
.dbr-parallax__speedlink:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }

/* Parallax-Galerie: zwei Spalten gegenläufig */
.dbr-parallax--gallery { background: var(--dbr-tone-soft); }
.dbr-parallax--gallery.dbr-space-top-none { padding-top: 0; }
.dbr-parallax__gallerytext { padding-block: 3rem; }
.dbr-parallax__gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; max-height: 46rem; overflow: hidden; }
.dbr-parallax__gcol { display: grid; gap: 1rem; align-content: start; will-change: transform; }
.dbr-parallax__gcol--2 { margin-top: 5rem; }
.dbr-parallax__gitem { display: block; overflow: hidden; border-radius: var(--dbr-radius); }
.dbr-parallax__gimg { display: block; width: 100%; height: auto; transition: transform .4s ease; }
.dbr-parallax__gitem:hover .dbr-parallax__gimg { transform: scale(1.04); }
.dbr-parallax__gitem:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }
@media (max-width: 991.98px) { .dbr-parallax__gallery { max-height: 34rem; } .dbr-parallax__gallerytext { padding-block: 2rem 0; } }

/* Bildbänder */
.dbr-parallax__bands { margin: 0; padding: 0; list-style: none; }
.dbr-parallax__band { position: relative; display: flex; }
.dbr-parallax__band.dbr-parallax--h-s { min-height: 14rem; }
.dbr-parallax__band.dbr-parallax--h-m { min-height: 20rem; }
.dbr-parallax__band.dbr-parallax--h-l { min-height: 28rem; }
.dbr-parallax__band.dbr-parallax--h-xl { min-height: min(80vh, 40rem); }
.dbr-parallax__bandinner { position: relative; display: flex; align-items: flex-end; width: 100%; overflow: hidden; color: #ffffff; text-decoration: none; background: #1b1d20; }
.dbr-parallax__bandinner .dbr-parallax__layer { inset: -16% 0; }
.dbr-parallax__bandtext { position: relative; z-index: 2; display: flex; flex-direction: column; gap: .25rem; width: 100%; padding: 4rem max(1.5rem, calc((100% - 1140px) / 2 + .75rem)) 1.5rem;
  background: linear-gradient(transparent, rgba(0, 0, 0, .72)); }
.dbr-parallax__bandtitle { font-family: var(--dbr-font-display); font-size: clamp(1.375rem, 1rem + 1.4vw, 2.125rem); font-weight: 700; line-height: 1.15; }
.dbr-parallax__bandsub { font-size: .9375rem; opacity: .9; }
.dbr-parallax__bandmore { margin-top: .5rem; font-weight: 700; }
a.dbr-parallax__bandinner .dbr-parallax__img { transition: transform .6s ease; }
a.dbr-parallax__bandinner:hover .dbr-parallax__img { transform: scale(1.03); }
a.dbr-parallax__bandinner:hover .dbr-parallax__bandmore { text-decoration: underline; }
a.dbr-parallax__bandinner:focus-visible { outline: 4px solid var(--dbr-focus); outline-offset: -4px; }

/* 3D-Karten */
.dbr-parallax__tiltcard { position: relative; display: block; overflow: hidden; border-radius: calc(var(--dbr-radius) * 3); color: #ffffff; text-decoration: none; background: #1b1d20;
  transform: perspective(900px) rotateX(var(--dbr-rx, 0deg)) rotateY(var(--dbr-ry, 0deg)); transition: transform .5s ease, box-shadow .3s ease; box-shadow: 0 .5rem 1.25rem rgba(0, 0, 0, .12); }
.dbr-parallax__tiltcard.is-tilting { transition: transform .08s linear, box-shadow .3s ease; box-shadow: 0 1.25rem 2.5rem rgba(0, 0, 0, .25); }
.dbr-parallax__tiltimg { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.dbr-parallax__tilttext { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .25rem; padding: 1.5rem; text-align: center;
  background: rgba(0, 0, 0, .5); transform: translateZ(40px); }
.dbr-parallax__tiltsub { font-size: .8125rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.dbr-parallax__tilttitle { font-family: var(--dbr-font-display); font-size: 1.5rem; font-weight: 700; line-height: 1.2; }
.dbr-parallax__tiltdesc { font-size: .9375rem; }
a.dbr-parallax__tiltcard:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 3px; }

/* --------------------------------------------------------------------------
   9. Hinweisboxen (Modul 27)
   -------------------------------------------------------------------------- */
.dbr-msgs { display: grid; gap: 1rem; }
.dbr-msg {
  --m-bg: #e6f2fb; --m-fg: #0b3d66; --m-bd: #9cc4e6; --m-bar: #1d5fbf; --m-head: #cfe3f5; --m-icon: #1d5fbf;
  position: relative; margin: 0; padding: 0; border-radius: var(--dbr-radius); color: var(--m-fg);
}
.dbr-msg--success { --m-bg: #e5f4ec; --m-fg: #124b30; --m-bd: #9fd3b6; --m-bar: #1f7a4d; --m-head: #c9e8d6; --m-icon: #1f7a4d; }
.dbr-msg--danger  { --m-bg: #fbe9e7; --m-fg: #7a1d12; --m-bd: #efaaa1; --m-bar: #c8331f; --m-head: #f5cfc9; --m-icon: #c8331f; }
.dbr-msg--info    { --m-bg: #e6f2fb; --m-fg: #0b3d66; --m-bd: #9cc4e6; --m-bar: #1d5fbf; --m-head: #cfe3f5; --m-icon: #1d5fbf; }
.dbr-msg--warning { --m-bg: #fff5d6; --m-fg: #5c3d00; --m-bd: #ecc970; --m-bar: #b77a00; --m-head: #fbe6a6; --m-icon: #8a5a00; }
.dbr-msg--accent  { --m-bg: #e7efe6; --m-fg: #0f350c; --m-bd: #b9d1b5; --m-bar: #1f6418; --m-head: #d3e3d0; --m-icon: #154711; }
.dbr-msg--neutral { --m-bg: #efefef; --m-fg: #2f3338; --m-bd: #cfcfcf; --m-bar: #767a7e; --m-head: #dcdcdc; --m-icon: #4a4f54; }
.dbr-msg--dark    { --m-bg: #2f3338; --m-fg: #eef0f1; --m-bd: #2f3338; --m-bar: #1f6418; --m-head: #24272b; --m-icon: #ffffff; }
.dbr-msg--light   { --m-bg: #ffffff; --m-fg: #3a3d40; --m-bd: #dcdcdc; --m-bar: #b9bdc1; --m-head: #f4f4f4; --m-icon: #5c6670; }
[data-bs-theme="dark"] .dbr-msg--success { --m-bg: #17291f; --m-fg: #bfe8d0; --m-bd: #2f6b4b; --m-bar: #4fbf86; --m-head: #1d3a2b; --m-icon: #74d3a2; }
[data-bs-theme="dark"] .dbr-msg--danger  { --m-bg: #2e1a17; --m-fg: #ffd2cc; --m-bd: #7a3328; --m-bar: #e34735; --m-head: #40211d; --m-icon: #f08a7e; }
[data-bs-theme="dark"] .dbr-msg--info    { --m-bg: #142338; --m-fg: #cfe1ff; --m-bd: #2c4f80; --m-bar: #6aa1ff; --m-head: #1b2f4b; --m-icon: #8db8ff; }
[data-bs-theme="dark"] .dbr-msg--warning { --m-bg: #2f2710; --m-fg: #ffe7a8; --m-bd: #6b5520; --m-bar: #f2b01e; --m-head: #3d3215; --m-icon: #f5c451; }
[data-bs-theme="dark"] .dbr-msg--accent  { --m-bg: #1d2a1b; --m-fg: #dfe6dc; --m-bd: #2f3d2c; --m-bar: #1f6418; --m-head: #263323; --m-icon: #a8d49f; }
[data-bs-theme="dark"] .dbr-msg--neutral { --m-bg: #2a2d31; --m-fg: #e3e5e7; --m-bd: #44494f; --m-bar: #8a8f94; --m-head: #33373c; --m-icon: #c9cdd1; }
[data-bs-theme="dark"] .dbr-msg--light   { --m-bg: #25282c; --m-fg: #e3e5e7; --m-bd: #3b4046; --m-bar: #6f757b; --m-head: #2e3236; --m-icon: #c9cdd1; }
.dbr-msg__body { padding: .875rem 1.25rem; }
.dbr-msg__text { margin: 0; }
.dbr-msg__text + .dbr-msg__list { margin-top: .5rem; }
.dbr-msg__lead { font-weight: 700; }
.dbr-msg__icon { margin-right: .5rem; color: var(--m-icon); }
.dbr-msg__title { margin: 0; color: inherit; font-family: var(--dbr-font-body); font-size: 1rem; font-weight: 700; }
.dbr-msg__list { margin: 0; padding-left: 1.25rem; }
.dbr-msg__rule { margin: .75rem 0; border-color: currentColor; opacity: .3; }
.dbr-msg__footer { margin: 0; font-size: .9375rem; }
.dbr-msg__link, .dbr-msg a { color: inherit !important; font-weight: 700; text-decoration: underline; }
.dbr-msg__link:focus-visible { outline: 3px solid currentColor; outline-offset: 2px; }
/* Darstellungen */
.dbr-msg--native { border-left: 5px solid var(--m-bar); background: var(--m-bg); }
.dbr-msg--alert { border: 1px solid var(--m-bd); background: var(--m-bg); }
.dbr-msg--bordered { border: 2px solid var(--m-bar); background: var(--dbr-main-bg); color: var(--m-fg); }
[data-bs-theme="dark"] .dbr-msg--bordered { background: transparent; }
.dbr-msg--extended { overflow: hidden; border-left: 5px solid var(--m-bar); background: var(--m-bg); }
.dbr-msg--extended .dbr-msg__head { padding: .75rem 1.25rem; background: var(--m-head); }
.dbr-msg--callout { padding: 1.25rem 1.5rem; border: 1px solid var(--m-bd); background: var(--m-bg); }
.dbr-msg--callout .dbr-msg__title { margin-bottom: .5rem; font-family: var(--dbr-font-display); font-size: 1.375rem; }
.dbr-msg--callout .dbr-msg__body { padding: 0; }
.dbr-msg.alert { --bs-alert-padding-x: 0; --bs-alert-padding-y: 0; --bs-alert-margin-bottom: 0; --bs-alert-border-color: transparent; padding-right: 3rem; }
.dbr-msg--alert.alert, .dbr-msg--callout.alert { border: 1px solid var(--m-bd); }
.dbr-msg--bordered.alert { border: 2px solid var(--m-bar); }
.dbr-msg--native.alert, .dbr-msg--extended.alert { border: 0; border-left: 5px solid var(--m-bar); }
.dbr-msg__close.btn-close { position: absolute; top: .375rem; right: .375rem; width: 2.25rem; height: 2.25rem; padding: 0; opacity: .75; }
.dbr-msg--dark .dbr-msg__close, [data-bs-theme="dark"] .dbr-msg__close { filter: invert(1) grayscale(100%) brightness(200%); }
.dbr-msg__close:focus-visible { box-shadow: none; outline: 3px solid currentColor; outline-offset: 0; opacity: 1; }

/* --------------------------------------------------------------------------
   10. Weiterlesen (Modul 28)
   -------------------------------------------------------------------------- */
.dbr-readmore { position: relative; --dbr-rm-mask: var(--dbr-main-bg); }
.dbr-bg-light .dbr-readmore { --dbr-rm-mask: #f9f9f9; }
.dbr-bg-grey .dbr-readmore { --dbr-rm-mask: var(--dbr-section-grey-bg); }
.dbr-bg-dark .dbr-readmore { --dbr-rm-mask: var(--dbr-dark-bg); }
.dbr-bg-accent .dbr-readmore { --dbr-rm-mask: var(--dbr-accent-strong); }
.dbr-readmore--frame-card { padding: 1.5rem; border-radius: calc(var(--dbr-radius) * 3); background: var(--dbr-main-bg); box-shadow: 0 4px 22px rgba(0, 0, 0, .1); --dbr-rm-mask: var(--dbr-main-bg); }
.dbr-readmore--frame-bordered { padding: 1.5rem; border: 1px solid var(--dbr-border); border-radius: calc(var(--dbr-radius) * 2); background: var(--dbr-main-bg); --dbr-rm-mask: var(--dbr-main-bg); }
.dbr-readmore--frame-accent { padding: 1.25rem 1.5rem; border-left: 4px solid var(--dbr-accent); background: var(--dbr-section-light-bg); --dbr-rm-mask: #f9f9f9; }
[data-bs-theme="dark"] .dbr-readmore--frame-accent { --dbr-rm-mask: #212427; }
.dbr-readmore__image { margin-bottom: 1rem; overflow: hidden; border-radius: calc(var(--dbr-radius) * 2); }
.dbr-readmore__image img { display: block; width: 100%; height: auto; }
.dbr-readmore__content { position: relative; }
.dbr-readmore.is-enhanced .dbr-readmore__content { overflow: hidden; transition: max-height var(--dbr-rm-speed, 400ms) ease; }
.dbr-readmore.is-enhanced:not(.is-open) .dbr-readmore__content::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4.5rem; pointer-events: none;
  background: linear-gradient(to bottom, transparent, var(--dbr-rm-mask));
}
.dbr-readmore--mask-long.is-enhanced:not(.is-open) .dbr-readmore__content::after { height: 75%; }
.dbr-readmore--mask-none .dbr-readmore__content::after { display: none; }
.dbr-readmore__trigger { margin-top: .5rem; }
.dbr-readmore__link { display: inline-flex; align-items: center; gap: .375rem; min-height: 2.75rem; padding: 0; border: 0; background: none; color: var(--dbr-link); font-weight: 600; text-decoration: underline; text-underline-offset: .2em; }
.dbr-readmore__link:hover { color: var(--dbr-link-hover); }
.dbr-on-dark .dbr-readmore__link { color: #ffffff; }
.dbr-readmore__icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; padding: 0; border: 1px solid var(--dbr-border); border-radius: 50%; background: var(--dbr-main-bg); color: var(--dbr-heading); }
.dbr-readmore__icon-btn:hover { border-color: var(--dbr-accent-strong); color: var(--dbr-link-hover); }
.dbr-readmore [data-dbr-readmore-toggle] i { transition: transform .25s; }
.dbr-readmore [data-dbr-readmore-toggle] i.is-flipped { transform: rotate(180deg); }
.dbr-readmore [data-dbr-readmore-toggle][hidden] { display: none; }
.dbr-readmore__content:focus { outline: none; }

/* --------------------------------------------------------------------------
   11. Icon-Boxen – zusätzliche Varianten (Modul 04)
   -------------------------------------------------------------------------- */
.dbr-iconboxes .dbr-iconbox__icon { background: var(--dbr-tone-icon, var(--dbr-accent)); color: var(--dbr-tone-on, #ffffff); }
.dbr-iconboxes.dbr-tone--amber .dbr-iconbox__icon { color: #241a00; }
.dbr-iconboxes--size-s .dbr-iconbox__icon { width: 3rem; height: 3rem; font-size: 1.25rem; }
.dbr-iconboxes--size-l .dbr-iconbox__icon { width: 5.5rem; height: 5.5rem; font-size: 2.25rem; }
.dbr-iconboxes--icon-square .dbr-iconbox__icon { border-radius: 0; }
.dbr-iconboxes--icon-rounded .dbr-iconbox__icon { border-radius: calc(var(--dbr-radius) * 4); }
.dbr-iconboxes--icon-outline .dbr-iconbox__icon { border: 2px solid var(--dbr-tone-icon, var(--dbr-accent)); background: transparent; box-shadow: none; color: var(--dbr-tone-fg, #154711); }
.dbr-iconboxes--icon-dark .dbr-iconbox__icon { background: #2f3338; color: #ffffff; box-shadow: 0 0 0 4px var(--dbr-main-bg), 0 0 0 6px #2f3338; }
.dbr-iconboxes--icon-light .dbr-iconbox__icon { border-radius: calc(var(--dbr-radius) * 2); background: var(--dbr-tone-soft, #f2f2f2); box-shadow: none; color: var(--dbr-tone-fg, #2f3338); }
.dbr-iconboxes--icon-plain .dbr-iconbox__icon { width: auto; height: auto; min-width: 2.5rem; border-radius: 0; background: none; box-shadow: none; color: var(--dbr-tone-fg, #154711); font-size: 2rem; }
.dbr-iconboxes--icon-plain.dbr-iconboxes--size-l .dbr-iconbox__icon { font-size: 3rem; }
.dbr-iconboxes--icon-plain.dbr-iconboxes--size-s .dbr-iconbox__icon { font-size: 1.5rem; }
.dbr-iconboxes--icon-number .dbr-iconbox__icon { font-family: var(--dbr-font-display); font-weight: 700; }
.dbr-iconbox__icon--image { overflow: hidden; background: var(--dbr-section-grey-bg) !important; }
.dbr-iconbox__icon--image img { width: 100%; height: 100%; object-fit: cover; }
.dbr-on-dark .dbr-iconboxes--icon-plain .dbr-iconbox__icon, .dbr-on-dark .dbr-iconboxes--icon-outline .dbr-iconbox__icon { color: #ffffff; }
.dbr-on-dark .dbr-iconboxes--icon-outline .dbr-iconbox__icon { border-color: #ffffff; }
/* Darstellungen */
.dbr-iconboxes--center .dbr-iconbox { text-align: center; }
.dbr-iconboxes--center .dbr-iconbox__icon { margin-bottom: 1rem; }
.dbr-iconboxes--bordered .dbr-iconbox { margin-top: 2rem; padding: 3rem 1.5rem 1.5rem; border: 1px solid var(--dbr-border); border-radius: calc(var(--dbr-radius) * 2); background: var(--dbr-main-bg); text-align: center; }
/* Bezugspunkt für .stretched-link (klickbare Fläche bleibt in der Box) und das Symbol der Variante „mit Rahmen“ (19.10.2026) */
.dbr-iconbox { position: relative; }
.dbr-iconboxes--bordered .dbr-iconbox__icon { position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); }
.dbr-iconboxes--bordered.dbr-iconboxes--size-l .dbr-iconbox { padding-top: 3.75rem; }
.dbr-iconboxes--media .dbr-iconbox { overflow: hidden; border: 1px solid var(--dbr-border); border-radius: calc(var(--dbr-radius) * 2); background: var(--dbr-main-bg); text-align: center; }
.dbr-iconboxes--media .dbr-iconbox__media { aspect-ratio: 4 / 3; overflow: hidden; }
.dbr-iconboxes--media .dbr-iconbox__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.dbr-iconboxes--media .dbr-iconbox.is-linked:hover .dbr-iconbox__media img { transform: scale(1.04); }
.dbr-iconboxes--media .dbr-iconbox__body { padding: 1.25rem 1.25rem 1rem; }
.dbr-iconboxes--media .dbr-iconbox > .dbr-iconbox__icon { margin: 1.5rem auto 0; }
.dbr-iconboxes--fx-lift .dbr-iconbox { transition: transform .2s ease, box-shadow .2s ease; }
.dbr-iconboxes--fx-lift .dbr-iconbox:hover, .dbr-iconboxes--fx-lift .dbr-iconbox:focus-within { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(0, 0, 0, .1); }
.dbr-iconboxes--fx-ring .dbr-iconbox__icon { transition: box-shadow .25s ease; }
.dbr-iconboxes--fx-ring .dbr-iconbox:hover .dbr-iconbox__icon, .dbr-iconboxes--fx-ring .dbr-iconbox:focus-within .dbr-iconbox__icon { box-shadow: 0 0 0 6px color-mix(in srgb, var(--dbr-tone-icon, #1f6418) 25%, transparent); }
.dbr-carousel--boxes .dbr-carousel__item { padding-top: .25rem; }
.dbr-carousel--boxes .dbr-iconbox { height: 100%; }

/* --------------------------------------------------------------------------
   12. Trenner – Formen und Bildband (Modul 07)
   -------------------------------------------------------------------------- */
.dbr-divider__svg--h-s { height: clamp(24px, 3.5vw, 50px); }
.dbr-divider__svg--h-l { height: clamp(60px, 9vw, 140px); }
.dbr-divider__svg--h-xl { height: clamp(80px, 13vw, 200px); }
.dbr-divider__svg.is-inverted { transform: scaleY(-1); }
.dbr-divider__svg.is-inverted.is-flipped { transform: scale(-1, -1); }
.dbr-divider--image { position: relative; overflow: hidden; }
.dbr-divider--image .dbr-divider__img { display: block; width: 100%; object-fit: cover; }
.dbr-divider--img-s .dbr-divider__img { height: 14rem; }
.dbr-divider--img-m .dbr-divider__img { height: 22rem; }
.dbr-divider--img-l .dbr-divider__img { height: 32rem; }
.dbr-divider--image .dbr-divider__svg { position: absolute; left: 0; right: 0; bottom: -1px; }

/* --------------------------------------------------------------------------
   13. Call-to-Action / Promo – zusätzliche Darstellungen (Modul 08)
   -------------------------------------------------------------------------- */
.dbr-cta__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.dbr-cta__hl { color: var(--dbr-tone-fg, #154711); }
.dbr-cta--band .dbr-cta__hl, .dbr-cta--dark .dbr-cta__hl { color: #fff1cc; /* ≥ 4,5:1 auf Grün hell und dunkel */ }
.dbr-cta--tone .dbr-cta__hl { color: inherit; text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .15em; }
.dbr-cta__btn { --bs-btn-color: #ffffff; --bs-btn-bg: var(--dbr-accent-strong); --bs-btn-border-color: var(--dbr-accent-strong); --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: var(--dbr-accent-strong-hover); --bs-btn-hover-border-color: var(--dbr-accent-strong-hover); font-weight: 700; }
.dbr-cta__btn--outline { --bs-btn-color: var(--dbr-link); --bs-btn-bg: transparent; --bs-btn-border-color: currentColor; --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: var(--dbr-accent-strong); --bs-btn-hover-border-color: var(--dbr-accent-strong); }
.dbr-cta--plain { padding: .5rem 0; }
.dbr-cta--border, .dbr-cta--center, .dbr-cta--reverse { padding: 1.75rem 2rem; border: 1px solid var(--dbr-border); border-radius: var(--dbr-radius); background: var(--dbr-main-bg); }
.dbr-cta--center { flex-direction: column; text-align: center; }
.dbr-cta--center .dbr-cta__text { flex: 0 1 auto; }
.dbr-cta--reverse { flex-direction: row-reverse; text-align: right; }
@media (max-width: 767.98px) { .dbr-cta--reverse { flex-direction: column-reverse; align-items: flex-start; text-align: left; } .dbr-cta--reverse .dbr-cta__text { flex-basis: auto; } }
/* Gedämpfter Text auf grauen Flächen (#e2e2e2): etwas dunkler, damit 4,5:1 erreicht wird */
.dbr-bg-grey, .dbr-cta--light, .dbr-logos--tagline .dbr-logos__item, .dbr-counters--horizontal .dbr-counter, .dbr-tl__linkbox { --dbr-text-muted: #55585c; }
[data-bs-theme="dark"] .dbr-bg-grey, [data-bs-theme="dark"] .dbr-cta--light, [data-bs-theme="dark"] .dbr-logos--tagline .dbr-logos__item, [data-bs-theme="dark"] .dbr-counters--horizontal .dbr-counter, [data-bs-theme="dark"] .dbr-tl__linkbox { --dbr-text-muted: #a3a7aa; }
.dbr-cta--light { padding: 1.75rem 2rem; border-radius: var(--dbr-radius); background: var(--dbr-section-grey-bg); }
.dbr-cta--light .dbr-cta__btn { --bs-btn-bg: #2f3338; --bs-btn-border-color: #2f3338; --bs-btn-hover-bg: #000000; --bs-btn-hover-border-color: #000000; }
.dbr-cta--tone { padding: 1.75rem 2rem; border-radius: var(--dbr-radius); background: var(--dbr-tone); color: var(--dbr-tone-on); }
.dbr-cta--tone .dbr-cta__title, .dbr-cta--tone .dbr-cta__sub { color: inherit; }
.dbr-cta--tone .dbr-cta__btn--outline, .dbr-cta--tone .dbr-cta__btn { --bs-btn-color: var(--dbr-tone-on); --bs-btn-bg: transparent; --bs-btn-border-color: var(--dbr-tone-on); --bs-btn-hover-color: var(--dbr-tone); --bs-btn-hover-bg: var(--dbr-tone-on); --bs-btn-hover-border-color: var(--dbr-tone-on); }
.dbr-cta--tone .dbr-cta__link { color: var(--dbr-tone-on); }
.dbr-cta--tone a:focus-visible { outline-color: var(--dbr-tone-on); }
.dbr-cta--mini { padding: .75rem 0; }
.dbr-cta--mini .dbr-cta__title { font-size: 1rem; }
.dbr-cta.is-upper .dbr-cta__title { font-size: .9375rem; letter-spacing: .06em; text-transform: uppercase; }
.dbr-cta--band .dbr-cta__btn--outline, .dbr-cta--dark .dbr-cta__btn--outline { --bs-btn-bg: transparent; --bs-btn-color: #ffffff; --bs-btn-border-color: #ffffff; --bs-btn-hover-color: #2f3338; --bs-btn-hover-bg: #ffffff; --bs-btn-hover-border-color: #ffffff; }
.dbr-bg-dark .dbr-cta--plain .dbr-cta__btn--outline, .dbr-bg-dark .dbr-cta--mini .dbr-cta__btn--outline { --bs-btn-color: #ffffff; }
[data-bs-theme="dark"] .dbr-cta--light .dbr-cta__btn { --bs-btn-bg: #eef0f1; --bs-btn-border-color: #eef0f1; --bs-btn-color: #1d1f22; --bs-btn-hover-bg: #ffffff; --bs-btn-hover-color: #000000; }

/* --------------------------------------------------------------------------
   14. Kundenlogos – zusätzliche Darstellungen und Laufband (Modul 09)
   -------------------------------------------------------------------------- */
@media (min-width: 992px) { .col-lg-dbr5 { flex: 0 0 auto; width: 20%; } }
.dbr-logos--grid { border-top: 1px dashed var(--dbr-border); border-left: 1px dashed var(--dbr-border); }
.dbr-logos--grid > li { border-right: 1px dashed var(--dbr-border); border-bottom: 1px dashed var(--dbr-border); }
.dbr-logos--grid .dbr-logos__item { min-height: 8rem; padding: 1.25rem; }
.dbr-logos--card .dbr-logos__item { min-height: 7rem; padding: 1rem; border-radius: calc(var(--dbr-radius) * 2); background: var(--dbr-main-bg); box-shadow: 0 3px 14px rgba(0, 0, 0, .08); }
.dbr-logos--bordered .dbr-logos__item { min-height: 7rem; padding: 1rem; border: 1px solid var(--dbr-border); border-radius: calc(var(--dbr-radius) * 2); }
.dbr-logos--tagline .dbr-logos__item { flex-direction: column; gap: .25rem; min-height: 11rem; padding: 1.25rem 1rem; border-radius: calc(var(--dbr-radius) * 3); background: var(--dbr-section-grey-bg); text-align: center; }
.dbr-logos__name { margin-top: .5rem; color: var(--dbr-heading); font-weight: 700; font-size: .9375rem; }
.dbr-logos__tagline { color: var(--dbr-text-muted); font-size: .8125rem; }
.dbr-logos--tagline .dbr-logos__img { max-height: 5rem; }
.dbr-logos.is-light .dbr-logos__item { border-color: rgba(255, 255, 255, .2); background: transparent; }
.dbr-logos--grid.is-light, .dbr-logos--grid.is-light > li { border-color: rgba(255, 255, 255, .25); }
.dbr-logos.is-light .dbr-logos__img { filter: brightness(0) invert(1); opacity: .85; }
.dbr-logos.is-light.is-greyscale .dbr-logos__item:hover .dbr-logos__img, .dbr-logos.is-light .dbr-logos__item:hover .dbr-logos__img { filter: brightness(0) invert(1); opacity: 1; }
.has-tooltips .dbr-logos__item { position: relative; }
.dbr-logos__tip {
  position: absolute; left: 50%; bottom: calc(100% - .25rem); z-index: 5; padding: .25rem .625rem; border-radius: var(--dbr-radius);
  background: #2f3338; color: #ffffff; font-size: .8125rem; white-space: nowrap; opacity: 0; transform: translate(-50%, .25rem); transition: opacity .15s, transform .15s; pointer-events: none;
}
.dbr-logos__item:hover .dbr-logos__tip, .dbr-logos__item:focus-visible .dbr-logos__tip { opacity: 1; transform: translate(-50%, 0); }
.dbr-carousel--logos .dbr-logos__item { min-height: 7rem; }
/* Laufband */
.dbr-marquee { position: relative; }
.dbr-marquee__viewport { overflow: hidden; mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent); }
.dbr-marquee__inner { display: flex; width: max-content; }
.dbr-marquee.is-enhanced .dbr-marquee__inner { animation: dbr-marquee var(--dbr-marquee-duration, 40s) linear infinite; }
.dbr-marquee.is-paused .dbr-marquee__inner, .dbr-marquee:hover .dbr-marquee__inner, .dbr-marquee:focus-within .dbr-marquee__inner { animation-play-state: paused; }
.dbr-marquee__list { display: flex; flex: 0 0 auto; gap: 3rem; padding-right: 3rem; }
.dbr-marquee__list > li { flex: 0 0 auto; width: 9rem; }
.dbr-marquee:not(.is-enhanced) .dbr-marquee__inner { width: auto; }
.dbr-marquee:not(.is-enhanced) .dbr-marquee__list { flex-wrap: wrap; justify-content: center; }
.dbr-marquee__toggle { position: absolute; right: 0; bottom: -3rem; display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; padding: 0; border: 1px solid var(--dbr-border); border-radius: 50%; background: var(--dbr-main-bg); color: var(--dbr-heading); }
.dbr-marquee__toggle[hidden] { display: none; }
.dbr-marquee { margin-bottom: 3rem; }
@keyframes dbr-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .dbr-marquee.is-enhanced .dbr-marquee__inner { animation: none; width: auto; }
  .dbr-marquee .dbr-marquee__list.is-copy { display: none; }
  .dbr-marquee__list { flex-wrap: wrap; justify-content: center; }
  .dbr-marquee { margin-bottom: 0; }
}

/* --------------------------------------------------------------------------
   15. Vorher/Nachher – Griffe, Farben, senkrecht (Modul 11)
   -------------------------------------------------------------------------- */
.dbr-compare { --dbr-cmp-line: #ffffff; --dbr-cmp-bg: #ffffff; --dbr-cmp-fg: #154711; }
.dbr-compare--color-accent { --dbr-cmp-line: #1f6418; --dbr-cmp-bg: #154711; --dbr-cmp-fg: #ffffff; }
.dbr-compare--color-dark { --dbr-cmp-line: #2f3338; --dbr-cmp-bg: #2f3338; --dbr-cmp-fg: #ffffff; }
.dbr-compare--color-blue { --dbr-cmp-line: #1d5fbf; --dbr-cmp-bg: #1d5fbf; --dbr-cmp-fg: #ffffff; }
.dbr-compare--color-green { --dbr-cmp-line: #1f7a4d; --dbr-cmp-bg: #1f7a4d; --dbr-cmp-fg: #ffffff; }
.dbr-compare--color-amber { --dbr-cmp-line: #f2b01e; --dbr-cmp-bg: #f2b01e; --dbr-cmp-fg: #241a00; }
.dbr-compare--color-teal { --dbr-cmp-line: #0f766e; --dbr-cmp-bg: #0f766e; --dbr-cmp-fg: #ffffff; }
.dbr-compare.is-enhanced .dbr-compare__handle::before { background: var(--dbr-cmp-line); }
.dbr-compare.is-enhanced .dbr-compare__handle i { background: var(--dbr-cmp-bg); color: var(--dbr-cmp-fg); }
.dbr-compare--handle-transparent.is-enhanced .dbr-compare__handle i { border: 3px solid var(--dbr-cmp-line); background: rgba(0, 0, 0, .25); color: #ffffff; box-shadow: none; }
.dbr-compare--handle-rounded.is-enhanced .dbr-compare__handle i { border-radius: .625rem; }
.dbr-compare--handle-square.is-enhanced .dbr-compare__handle i { border-radius: 0; }
.dbr-compare--handle-diamond.is-enhanced .dbr-compare__handle i { border-radius: 0; transform: rotate(45deg); }
.dbr-compare--handle-diamond.is-enhanced .dbr-compare__handle i::before { display: inline-block; transform: rotate(-45deg); }
.dbr-compare--frame-shadow .dbr-compare__stage, .dbr-compare--frame-shadow:not(.is-enhanced) .dbr-compare__img { box-shadow: 0 .75rem 2rem rgba(0, 0, 0, .18); }
.dbr-compare--frame-rounded.is-enhanced .dbr-compare__stage { border-radius: calc(var(--dbr-radius) * 5); box-shadow: 0 .75rem 2rem rgba(0, 0, 0, .18); }
/* senkrecht */
.dbr-compare--vertical.is-enhanced .dbr-compare__after { clip-path: inset(var(--dbr-compare-pos, 50%) 0 0 0); }
.dbr-compare--vertical.is-enhanced .dbr-compare__handle { top: var(--dbr-compare-pos, 50%); bottom: auto; left: 0; right: 0; width: auto; height: 0; }
.dbr-compare--vertical.is-enhanced .dbr-compare__handle::before { top: auto; left: 0; right: 0; bottom: auto; width: auto; height: 3px; margin: -1.5px 0 0; }
.dbr-compare--vertical.is-enhanced .dbr-compare__range { writing-mode: vertical-lr; cursor: ns-resize; }
.dbr-compare--vertical.is-enhanced .dbr-compare__range::-webkit-slider-thumb { width: 100vw; height: 2.75rem; }
.dbr-compare--vertical.is-enhanced .dbr-compare__range::-moz-range-thumb { width: 100vw; height: 2.75rem; }
.dbr-compare--vertical .dbr-compare__label--before { top: .75rem; bottom: auto; }
.dbr-compare--vertical.is-enhanced .dbr-compare__label--after { top: auto; bottom: .75rem; left: .75rem; right: auto; }
.dbr-compare-wrap .dbr-richtext :is(h2, h3, h4) { font-size: 1.375rem; text-transform: uppercase; letter-spacing: .03em; }

/* --------------------------------------------------------------------------
   Bewegung reduzieren und Druck
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .dbr-carousel__media img, .dbr-gallery__img, .dbr-iconboxes--media .dbr-iconbox__media img, .dbr-islider__slide,
  .dbr-readmore__content, .dbr-iconboxes--fx-lift .dbr-iconbox, .dbr-gallery__caption { transition: none !important; }
  a.dbr-carousel__media:hover img, .dbr-gallery--fx-zoom a.dbr-gallery__link:hover .dbr-gallery__img, .dbr-iconboxes--fx-lift .dbr-iconbox:hover { transform: none; }
  .dbr-parallax__layer, .dbr-parallax__float, [data-dbr-parallax], [data-dbr-zoom], .dbr-parallax__tiltcard, .dbr-parallax__reveal, .dbr-parallax__content--fade, .dbr-parallax__scene-title { transform: none !important; }
  .dbr-parallax__reveal, .dbr-parallax__content--fade, .dbr-parallax__scene-title { opacity: 1 !important; }
  .dbr-parallax__curtain-panel { display: none; }
  .dbr-parallax__curtain::after { background: none; }
}
@media print {
  .dbr-carousel__controls, .dbr-islider__arrows, .dbr-islider__bar, .dbr-islider__thumbs, .dbr-code__copy, .dbr-dt__tools, .dbr-dt__footer,
  .dbr-readmore__trigger, .dbr-marquee__toggle, .dbr-msg__close { display: none !important; }
  .dbr-readmore__content { max-height: none !important; }
  .dbr-readmore__content::after { display: none !important; }
  .dbr-carousel__track { flex-wrap: wrap; overflow: visible; }
  .dbr-marquee__inner { animation: none !important; }
  .dbr-marquee__list.is-copy { display: none; }
}

/* Vorher/Nachher: Listen im rechtsbündigen linken Text mit Aufzählungszeichen direkt am Text */
@media (min-width: 992px) { .dbr-compare-wrap .text-lg-end ul, .dbr-compare-wrap .text-lg-end ol { padding-left: 0; list-style-position: inside; } }
/* Trenner: 1px Überlappung gegen Haarlinien durch Subpixel-Rundung */
.dbr-divider--shape:not(.dbr-divider--image) .dbr-divider__svg { position: relative; z-index: 1; margin-bottom: -1px; }
/* Bildbänder über die volle Breite: ohne Seitenabstand, Einleitung behält ihn */
.dbr-parallax--stack > .container-fluid { padding-inline: 0; }
.dbr-parallax--stack > .container-fluid > .dbr-parallax__intro { padding-inline: 1rem; }

/* --------------------------------------------------------------------------
   16. Zeitstrahl (Modul 29) – nach blog-timeline*.html, ohne Blog
   -------------------------------------------------------------------------- */
.dbr-tl { --dbr-tl-line: color-mix(in srgb, var(--dbr-tone) 35%, var(--dbr-border)); position: relative; }
.dbr-tl__list { position: relative; margin: 0; padding: 0; list-style: none; }
.dbr-tl__month { position: relative; z-index: 1; margin: 0 0 2rem; font-size: .875rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.dbr-tl__month span { display: inline-block; padding: .5rem 1.25rem; border: 1px solid var(--dbr-border); border-radius: 999px; background: var(--dbr-main-bg); color: var(--dbr-heading); }
.dbr-tl__list + .dbr-tl__month { margin-top: 3rem; }
.dbr-tl__entry { position: relative; }
.dbr-tl--card .dbr-tl__entry, .dbr-tl--bordered .dbr-tl__entry { padding: 1.25rem; border-radius: calc(var(--dbr-radius) * 3); background: var(--dbr-main-bg); }
.dbr-tl--card .dbr-tl__entry { box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .1); }
.dbr-tl--bordered .dbr-tl__entry { border: 1px solid var(--dbr-border); }
.dbr-tl__media { margin-bottom: 1rem; overflow: hidden; border-radius: var(--dbr-radius); }
.dbr-tl__img { display: block; width: 100%; height: auto; }
.dbr-tl__video { display: block; width: 100%; height: auto; background: #000; }
.dbr-tl__gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: .375rem; margin-bottom: 1rem; }
.dbr-tl__gallery--n1 { grid-template-columns: 1fr; }
.dbr-tl__gallery--n2 { grid-template-columns: 1fr 1fr; }
.dbr-tl__gitem { display: block; overflow: hidden; border-radius: var(--dbr-radius); }
.dbr-tl__gitem .dbr-tl__img { aspect-ratio: 1; object-fit: cover; transition: transform .3s ease; }
.dbr-tl__gitem:hover .dbr-tl__img { transform: scale(1.05); }
.dbr-tl__gitem:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }
.dbr-tl__kicker { margin: 0 0 .25rem; color: var(--dbr-tone-fg, var(--dbr-link)); font-size: .8125rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.dbr-tl__title { margin: 0 0 .375rem; font-size: 1.25rem; }
.dbr-tl__meta { margin: 0 0 .75rem; color: var(--dbr-text-muted); font-size: .875rem; }
.dbr-tl__text { margin: 0 0 .75rem; }
.dbr-tl__more { margin: 0; font-weight: 700; }
.dbr-tl__quote { margin: 0 0 .75rem; padding: 1rem 1.25rem; border-left: 4px solid var(--dbr-tone); background: color-mix(in srgb, var(--dbr-tone) 6%, transparent); }
.dbr-tl__quote blockquote { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.1875rem; font-style: italic; line-height: 1.5; }
.dbr-tl__quote blockquote p { margin: 0; }
.dbr-tl__quote figcaption { margin-top: .75rem; color: var(--dbr-heading); font-weight: 700; }
.dbr-tl__linkbox { display: block; margin-bottom: .75rem; padding: 1.5rem 1.25rem; border-radius: var(--dbr-radius); background: var(--dbr-section-grey-bg); color: var(--dbr-heading) !important; text-align: center; text-decoration: none; }
.dbr-tl__linkbox:hover .dbr-tl__linktitle { text-decoration: underline; }
.dbr-tl__linkbox:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }
.dbr-tl__linktitle { display: block; font-family: var(--dbr-font-display); font-size: 1.375rem; font-weight: 700; }
.dbr-tl__linkurl { display: block; margin-top: .25rem; color: var(--dbr-text-muted); font-size: .875rem; }
.dbr-tl__note { margin-bottom: .75rem; padding: 1rem 1.25rem; border: 1px solid var(--dbr-border); border-radius: var(--dbr-radius); box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .06); }
.dbr-tl__note p { margin: 0; }
.dbr-tl__dot { position: absolute; width: 1rem; height: 1rem; border: 3px solid var(--dbr-tone); border-radius: 50%; background: var(--dbr-main-bg); }

/* mittig, abwechselnd */
.dbr-tl--center .dbr-tl__month { text-align: center; }
.dbr-tl--center .dbr-tl__list::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 2px; margin-left: -1px; background: var(--dbr-tl-line); }
@media (min-width: 768px) {
  .dbr-tl--center .dbr-tl__list { display: grid; grid-template-columns: 1fr 1fr; align-items: start; }
}
.dbr-tl--center .dbr-tl__item { position: relative; grid-column: 1; padding: 0 2.5rem 3rem 0; }
.dbr-tl--center .dbr-tl__item:nth-child(even) { grid-column: 2; margin-top: 5rem; padding: 0 0 3rem 2.5rem; }
.dbr-tl--center .dbr-tl__dot { top: 1.25rem; right: -.5rem; }
.dbr-tl--center .dbr-tl__item:nth-child(even) .dbr-tl__dot { right: auto; left: -.5rem; }
.dbr-tl--center .dbr-tl__item::after { content: ""; position: absolute; top: 1.7rem; right: .5rem; width: 1.75rem; height: 2px; background: var(--dbr-tl-line); }
.dbr-tl--center .dbr-tl__item:nth-child(even)::after { right: auto; left: .5rem; }

/* Linie links bzw. rechts mit Datumsplakette */
.dbr-tl--left .dbr-tl__list::before, .dbr-tl--right .dbr-tl__list::before { content: ""; position: absolute; top: 0; bottom: 0; left: 1.75rem; width: 2px; background: var(--dbr-tl-line); }
.dbr-tl--right .dbr-tl__list::before { left: auto; right: 1.75rem; }
.dbr-tl--left .dbr-tl__item, .dbr-tl--right .dbr-tl__item { position: relative; padding: 0 0 3rem 5.5rem; }
.dbr-tl--right .dbr-tl__item { padding: 0 5.5rem 3rem 0; }
.dbr-tl__badge { position: absolute; top: 0; left: 0; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 3.5rem; height: 3.5rem;
  border: 2px solid var(--dbr-tl-line); border-radius: 50%; background: var(--dbr-main-bg); color: var(--dbr-heading); line-height: 1; }
.dbr-tl--right .dbr-tl__badge { left: auto; right: 0; }
.dbr-tl__day { font-family: var(--dbr-font-display); font-size: 1.25rem; font-weight: 700; }
.dbr-tl__mon { margin-top: .125rem; font-size: .6875rem; letter-spacing: .06em; text-transform: uppercase; }
.dbr-tl__day--year { font-size: 1rem; letter-spacing: .02em; }
.dbr-tl__day--mon { font-size: .9375rem; text-transform: uppercase; }
.dbr-tl--left .dbr-tl__dot, .dbr-tl--right .dbr-tl__dot { top: 1.25rem; left: 1.25rem; }
.dbr-tl--right .dbr-tl__dot { left: auto; right: 1.25rem; }
.dbr-tl--left .dbr-tl__month, .dbr-tl--right .dbr-tl__month { padding-left: 0; }
.dbr-tl--right .dbr-tl__month { text-align: right; }

/* Smartphone: immer eine Spalte, Linie links */
@media (max-width: 767.98px) {
  .dbr-tl--center .dbr-tl__list::before { left: .5rem; }
  .dbr-tl--center .dbr-tl__item, .dbr-tl--center .dbr-tl__item:nth-child(even) { margin: 0; padding: 0 0 2.5rem 2.25rem; }
  .dbr-tl--center .dbr-tl__dot, .dbr-tl--center .dbr-tl__item:nth-child(even) .dbr-tl__dot { right: auto; left: 0; }
  .dbr-tl--center .dbr-tl__item::after { display: none; }
  .dbr-tl--center .dbr-tl__month { text-align: left; }
  .dbr-tl--left .dbr-tl__item, .dbr-tl--right .dbr-tl__item { padding: 0 0 2.5rem 4.5rem; }
  .dbr-tl--right .dbr-tl__list::before { left: 1.75rem; right: auto; }
  .dbr-tl--right .dbr-tl__badge { left: 0; right: auto; }
  .dbr-tl--right .dbr-tl__month { text-align: left; }
}
.dbr-on-dark .dbr-tl__month span, .dbr-on-dark .dbr-tl__badge { background: transparent; color: #ffffff; }
.dbr-on-dark .dbr-tl__dot { background: #1d1f22; }

/* --------------------------------------------------------------------------
   17. Bildkacheln (Modul 30) – nach block-content-gallery-3/4/5/7/9.html
   -------------------------------------------------------------------------- */
.dbr-tiles { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.dbr-tiles__intro { max-width: 46rem; margin: 0 auto 2rem; }
.dbr-tiles__intro.text-center { margin-inline: auto; }
.dbr-tiles__box { position: relative; display: block; height: 100%; overflow: hidden; color: inherit; text-decoration: none; }
a.dbr-tiles__box:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 3px; }
.dbr-tiles__frame { display: block; height: 100%; overflow: hidden; background: var(--dbr-section-grey-bg); }
.dbr-tiles__img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
a.dbr-tiles__box:hover .dbr-tiles__img { transform: scale(1.05); }
.dbr-tiles__title { display: block; font-family: var(--dbr-font-display); font-weight: 700; line-height: 1.2; }
.dbr-tiles__sub { display: block; font-size: .8125rem; }
.dbr-tiles__more { display: inline-block; margin-top: .375rem; font-size: .875rem; font-weight: 700; }
a.dbr-tiles__box:hover .dbr-tiles__more { text-decoration: underline; }
/* Text auf dem Bild: immer auf dunklem Verlauf */
.dbr-tiles--categories .dbr-tiles__text, .dbr-tiles--posts .dbr-tiles__text, .dbr-tiles--mosaic .dbr-tiles__text {
  position: absolute; inset: auto 0 0 0; z-index: 1; padding: 3rem 1.25rem 1.125rem; background: linear-gradient(transparent, rgba(0, 0, 0, .78)); color: #ffffff; }
/* Kategorie-Kacheln: 2 – 3 – 2 */
.dbr-tiles--categories { grid-template-columns: repeat(6, 1fr); }
.dbr-tiles--categories .dbr-tiles__item { grid-column: span 2; aspect-ratio: 4 / 3; }
.dbr-tiles--categories .dbr-tiles__item:nth-child(7n + 1), .dbr-tiles--categories .dbr-tiles__item:nth-child(7n + 2),
.dbr-tiles--categories .dbr-tiles__item:nth-child(7n + 6), .dbr-tiles--categories .dbr-tiles__item:nth-child(7n + 7) { grid-column: span 3; aspect-ratio: 16 / 7; }
.dbr-tiles--categories .dbr-tiles__box { border-radius: var(--dbr-radius); }
.dbr-tiles--categories .dbr-tiles__title { font-family: Georgia, "Times New Roman", serif; font-size: 1.5rem; }
/* Karten versetzt */
.dbr-tiles--cards { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; align-items: start; }
.dbr-tiles--cards .dbr-tiles__frame { aspect-ratio: 3 / 4; border-radius: var(--dbr-radius); }
.dbr-tiles--cards .dbr-tiles__text { display: block; padding-top: .75rem; text-align: center; }
.dbr-tiles--cards .dbr-tiles__sub { color: var(--dbr-text-muted); }
.dbr-tiles--cards .dbr-tiles__box { height: auto; }
@media (min-width: 768px) {
  .dbr-tiles--cards.dbr-tiles--cols-3 { grid-template-columns: repeat(3, 1fr); }
  .dbr-tiles--cards.dbr-tiles--cols-4 { grid-template-columns: repeat(4, 1fr); }
  .dbr-tiles--cards.dbr-tiles--cols-5 { grid-template-columns: repeat(5, 1fr); }
  .dbr-tiles--cards .dbr-tiles__item:nth-child(even) { margin-top: 2.5rem; }
}
/* Mosaik: volle Breite, ohne Abstände, Muster groß/klein */
.dbr-mod--tiles-mosaic > .container-fluid { padding-inline: 0; }
.dbr-mod--tiles-mosaic > .container-fluid > :is(h2, h3, .dbr-tiles__intro) { padding-inline: 1rem; }
.dbr-tiles--mosaic { grid-template-columns: repeat(6, 1fr); gap: 0; grid-auto-flow: dense; }
.dbr-tiles--mosaic .dbr-tiles__item { grid-column: span 2; aspect-ratio: 4 / 3; }
.dbr-tiles--mosaic .dbr-tiles__item:nth-child(8n + 1), .dbr-tiles--mosaic .dbr-tiles__item:nth-child(8n + 2) { grid-column: span 3; }
.dbr-tiles--mosaic .dbr-tiles__item:nth-child(8n + 6) { grid-column: span 6; aspect-ratio: 21 / 8; }
.dbr-tiles--mosaic .dbr-tiles__item:nth-child(8n + 7), .dbr-tiles--mosaic .dbr-tiles__item:nth-child(8n + 8) { grid-column: span 3; }
.dbr-tiles--mosaic .dbr-tiles__text { opacity: 0; transition: opacity .3s ease; }
.dbr-tiles--mosaic .dbr-tiles__box:hover .dbr-tiles__text, .dbr-tiles--mosaic .dbr-tiles__box:focus-visible .dbr-tiles__text { opacity: 1; }
@media (hover: none) { .dbr-tiles--mosaic .dbr-tiles__text { opacity: 1; } }
/* Beitragskacheln: 3 Spalten, unterschiedliche Höhen */
.dbr-tiles--posts { grid-template-columns: repeat(3, 1fr); grid-auto-rows: 9rem; gap: .75rem; }
.dbr-tiles--posts .dbr-tiles__item { grid-row: span 2; }
.dbr-tiles--posts .dbr-tiles__item:nth-child(3n + 2) { grid-row: span 3; }
.dbr-tiles--posts .dbr-tiles__item:nth-child(4n + 1) { grid-row: span 3; }
.dbr-tiles--posts .dbr-tiles__box { border-radius: var(--dbr-radius); }
.dbr-tiles--posts .dbr-tiles__sub { margin-bottom: .25rem; opacity: .9; }
.dbr-tiles--posts .dbr-tiles__title { font-size: 1rem; }
/* Raute */
.dbr-tiles--diamond { grid-template-columns: 1fr 1fr; gap: .75rem; width: min(68%, 26rem); margin: 4rem auto; transform: rotate(45deg); }
.dbr-tiles--diamond .dbr-tiles__item { aspect-ratio: 1; }
.dbr-tiles--diamond .dbr-tiles__box { border-radius: var(--dbr-radius); }
.dbr-tiles--diamond .dbr-tiles__img { transform: rotate(-45deg) scale(1.42); }
.dbr-tiles--diamond a.dbr-tiles__box:hover .dbr-tiles__img { transform: rotate(-45deg) scale(1.5); }
.dbr-tiles--diamond .dbr-tiles__text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 767.98px) {
  .dbr-tiles--categories, .dbr-tiles--mosaic { grid-template-columns: 1fr 1fr; }
  .dbr-tiles--categories .dbr-tiles__item, .dbr-tiles--categories .dbr-tiles__item:nth-child(n), .dbr-tiles--mosaic .dbr-tiles__item, .dbr-tiles--mosaic .dbr-tiles__item:nth-child(n) { grid-column: span 1; aspect-ratio: 1; }
  .dbr-tiles--categories .dbr-tiles__item:nth-child(3n + 1), .dbr-tiles--mosaic .dbr-tiles__item:nth-child(3n + 1) { grid-column: span 2; aspect-ratio: 16 / 9; }
  .dbr-tiles--posts { grid-template-columns: 1fr 1fr; grid-auto-rows: 8rem; }
  .dbr-tiles--diamond { width: min(66%, 18rem); margin: 3rem auto; }
}

/* --------------------------------------------------------------------------
   18. Zitate (Modul 31) – nach quotes-blockquotes.html
   -------------------------------------------------------------------------- */
.dbr-quote { position: relative; height: 100%; margin: 0; }
.dbr-quote__text { margin: 0; }
.dbr-quote__text p { margin: 0; }
.dbr-quote__caption { display: flex; align-items: center; gap: .75rem; margin-top: .75rem; color: var(--dbr-text-muted); font-size: .875rem; }
.dbr-quote__who { display: flex; flex-direction: column; }
.dbr-quote__author { color: var(--dbr-heading); font-weight: 700; }
.dbr-quote__img { width: 3.5rem; height: 3.5rem; border-radius: 50%; object-fit: cover; }
.dbr-quote__mark { position: absolute; top: -.5rem; left: 0; color: var(--dbr-tone); font-family: Georgia, "Times New Roman", serif; font-size: 5rem; line-height: 1; opacity: .9; }
.dbr-quotes--border .dbr-quote, .dbr-quotes--footer .dbr-quote, .dbr-quotes--pull .dbr-quote { padding: .25rem 0 .25rem 1.25rem; border-left: 4px solid var(--dbr-tone); }
.dbr-quotes--border .dbr-quote__text, .dbr-quotes--footer .dbr-quote__text, .dbr-quotes--right .dbr-quote__text { font-size: 1.125rem; }
.dbr-quotes--footer .dbr-quote__caption::before { content: "—"; }
.dbr-quotes--right .dbr-quote { padding: .25rem 1.25rem .25rem 0; border-right: 4px solid var(--dbr-tone); text-align: right; }
.dbr-quotes--right .dbr-quote__caption { justify-content: flex-end; }
.dbr-quotes--right .dbr-quote__who { align-items: flex-end; }
.dbr-quotes--large .dbr-quote { padding-top: 3.5rem; text-align: center; }
.dbr-quotes--large .dbr-quote__mark { left: 50%; transform: translateX(-50%); }
.dbr-quotes--large .dbr-quote__text { font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem); font-style: italic; line-height: 1.45; color: var(--dbr-heading); }
.dbr-quotes--large .dbr-quote__caption { justify-content: center; margin-top: 1.25rem; }
.dbr-quotes--large .dbr-quote__who { align-items: flex-start; text-align: left; }
.dbr-quotes--card .dbr-quote { padding: 3rem 1.5rem 1.5rem; border-radius: calc(var(--dbr-radius) * 3); background: var(--dbr-main-bg); box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .1); }
.dbr-quotes--card .dbr-quote__mark { top: .25rem; left: 1.25rem; font-size: 4rem; }
.dbr-quotes--pull { display: flow-root; }
.dbr-quotes__pull { float: left; width: min(40%, 22rem); margin: .25rem 2rem 1rem 0; }
.dbr-quotes__pull .dbr-quote__text { font-size: 1.25rem; font-weight: 700; color: var(--dbr-heading); }
@media (max-width: 575.98px) { .dbr-quotes__pull { float: none; width: auto; margin: 0 0 1.5rem; } }
.dbr-on-dark .dbr-quote__author, .dbr-on-dark .dbr-quotes--large .dbr-quote__text { color: #ffffff; }
.dbr-on-dark .dbr-quote__caption { color: #d6d9db; }

/* --------------------------------------------------------------------------
   19. Überschrift / Titel-Block (Modul 32) – nach headings-dropcaps.html
   -------------------------------------------------------------------------- */
.dbr-hblock { --dbr-hb-line: var(--dbr-tone); }
.dbr-hblock--center { text-align: center; }
.dbr-hblock--right { text-align: right; }
.dbr-hblock__title { margin: 0; }
.dbr-hblock--h2 .dbr-hblock__title { font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem); }
.dbr-hblock__kicker { margin: 0 0 .5rem; color: var(--dbr-tone-fg); font-size: .8125rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.dbr-hblock--kicker-below .dbr-hblock__kicker { margin: .5rem 0 0; }
.dbr-hblock--kicker .dbr-hblock__title, .dbr-hblock--kicker-below .dbr-hblock__title { font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.dbr-hblock__sub { margin: .5rem 0 0; color: var(--dbr-text-muted); font-size: 1.0625rem; }
.dbr-hblock__text { max-width: 46rem; margin: 1rem auto 0; }
.dbr-hblock__divider { display: block; width: 3rem; height: 2px; margin: 1.25rem auto 0; background: var(--dbr-hb-line); }
/* Titel-Block: Balken links */
.dbr-hblock--titleblock { padding-left: 1.25rem; border-left: 5px solid var(--dbr-hb-line); text-align: left; }
.dbr-hblock--titleblock .dbr-hblock__sub { margin-top: .25rem; font-size: .9375rem; }
/* Doppellinie / Linien beidseitig / farbige Linie vorn */
.dbr-hblock--double .dbr-hblock__title, .dbr-hblock--single .dbr-hblock__title, .dbr-hblock--bordercolor .dbr-hblock__title { display: flex; align-items: center; gap: 1rem; }
.dbr-hblock--double .dbr-hblock__title::after { content: ""; flex: 1 1 auto; height: 6px; border-top: 2px solid var(--dbr-border); border-bottom: 2px solid var(--dbr-border); }
.dbr-hblock--double.dbr-hblock--right .dbr-hblock__title { flex-direction: row-reverse; }
.dbr-hblock--single .dbr-hblock__title::before, .dbr-hblock--single .dbr-hblock__title::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--dbr-border); }
.dbr-hblock--bordercolor .dbr-hblock__title::before { content: ""; flex: 1 1 auto; height: 2px; background: var(--dbr-hb-line); }
.dbr-hblock--bordercolor.dbr-hblock--left .dbr-hblock__title { flex-direction: row-reverse; }
.dbr-hblock--single .dbr-hblock__sub, .dbr-hblock--double .dbr-hblock__sub, .dbr-hblock--bordercolor .dbr-hblock__sub { margin-top: .75rem; }
/* farbige Linie unter der Überschrift */
.dbr-hblock--bottom .dbr-hblock__title { padding-bottom: .625rem; border-bottom: 2px solid var(--dbr-hb-line); }
.dbr-hblock--bottom .dbr-hblock__sub { margin-top: 1rem; color: var(--dbr-text); font-size: 1rem; }
/* Text-Rotator */
.dbr-hblock__rotator { display: inline-block; color: var(--dbr-tone-fg); transition: opacity .18s ease, transform .18s ease; }
.dbr-hblock__rotator.is-out { opacity: 0; transform: translateY(-.25em); }
/* Hervorhebung auf Bild */
.dbr-hblock-emphasis { position: relative; overflow: hidden; color: #ffffff; background: #1b1d20; }
.dbr-hblock-emphasis > .container, .dbr-hblock-emphasis > .container-fluid { position: static; }
.dbr-hblock-emphasis__media { position: absolute; inset: 0; }
.dbr-hblock-emphasis__img { width: 100%; height: 100%; object-fit: cover; }
.dbr-hblock--emphasis { position: relative; z-index: 1; padding-block: 3.5rem; }
.dbr-hblock--emphasis .dbr-hblock__title { color: #ffffff; font-size: clamp(2rem, 1.4rem + 2.6vw, 3.5rem); font-weight: 400; text-shadow: 0 1px 3px rgba(0, 0, 0, .4); }
.dbr-hblock--emphasis .dbr-hblock__sub, .dbr-hblock--emphasis .dbr-hblock__kicker { color: #ffffff; text-shadow: 0 1px 2px rgba(0, 0, 0, .4); }
.dbr-on-dark .dbr-hblock__kicker, .dbr-on-dark .dbr-hblock__rotator { color: #ffd27a; }
.dbr-on-dark .dbr-hblock__sub { color: #d6d9db; }
@media (prefers-reduced-motion: reduce) { .dbr-hblock__rotator { transition: none; } }

/* --------------------------------------------------------------------------
   20. Listen (Modul 33) – nach lists-cards.html
   -------------------------------------------------------------------------- */
.dbr-list { margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) {
  .dbr-list--cols-2 { columns: 2; column-gap: 2rem; }
  .dbr-list--cols-3 { columns: 3; column-gap: 2rem; }
}
.dbr-list__item { break-inside: avoid; }
.dbr-list__row { display: flex; align-items: flex-start; gap: .75rem; padding: .5rem 0; color: inherit; text-decoration: none; }
a.dbr-list__row:hover .dbr-list__text { text-decoration: underline; }
a.dbr-list__row:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }
.dbr-list__body { display: flex; flex: 1 1 auto; flex-direction: column; }
.dbr-list__sub { color: var(--dbr-text-muted); font-size: .875rem; }
.dbr-list__badge { flex: 0 0 auto; padding: .125rem .5rem; border-radius: 999px; background: var(--dbr-tone); color: var(--dbr-tone-on); font-size: .75rem; font-weight: 700; }
.dbr-list__icon { flex: 0 0 auto; width: 1.25rem; margin-top: .2rem; color: var(--dbr-tone-icon); text-align: center; }
.dbr-list__item--off .dbr-list__icon { color: var(--dbr-text-muted); }
.dbr-list__item--off .dbr-list__text { color: var(--dbr-text-muted); }
/* nummeriert */
.dbr-list--numbered { counter-reset: dbr-list; }
.dbr-list--numbered .dbr-list__row::before { counter-increment: dbr-list; content: counter(dbr-list); flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem;
  border-radius: 50%; background: var(--dbr-tone); color: var(--dbr-tone-on); font-size: .8125rem; font-weight: 700; }
/* mit Rahmen / Trennlinien */
.dbr-list--group, .dbr-list--contextual, .dbr-list--custom { border: 1px solid var(--dbr-border); border-radius: var(--dbr-radius); }
.dbr-list--group .dbr-list__row, .dbr-list--flush .dbr-list__row, .dbr-list--contextual .dbr-list__row, .dbr-list--custom .dbr-list__row { padding: .75rem 1rem; }
.dbr-list--group .dbr-list__item + .dbr-list__item, .dbr-list--flush .dbr-list__item + .dbr-list__item, .dbr-list--contextual .dbr-list__item + .dbr-list__item, .dbr-list--custom .dbr-list__item + .dbr-list__item { border-top: 1px solid var(--dbr-border); }
.dbr-list--flush .dbr-list__row { padding-inline: 0; }
a.dbr-list__row:hover { background: color-mix(in srgb, var(--dbr-tone) 6%, transparent); }
.dbr-list--custom .dbr-list__text { color: var(--dbr-heading); font-weight: 700; }
/* farbige Zeilen */
.dbr-list--contextual .dbr-list__item--success { background: #e5f4ec; color: #14532d; }
.dbr-list--contextual .dbr-list__item--info { background: #e7f0fc; color: #123b73; }
.dbr-list--contextual .dbr-list__item--warning { background: #fff5d9; color: #5c3d00; }
.dbr-list--contextual .dbr-list__item--danger { background: #fdecea; color: #7d1c11; }
[data-bs-theme="dark"] .dbr-list--contextual .dbr-list__item--success { background: #13301f; color: #c7ecd6; }
[data-bs-theme="dark"] .dbr-list--contextual .dbr-list__item--info { background: #13243d; color: #c9dcf7; }
[data-bs-theme="dark"] .dbr-list--contextual .dbr-list__item--warning { background: #3a2d0b; color: #f8e2a8; }
[data-bs-theme="dark"] .dbr-list--contextual .dbr-list__item--danger { background: #3d1712; color: #f7cbc5; }
.dbr-list--contextual .dbr-list__sub { color: inherit; opacity: .85; }

/* --------------------------------------------------------------------------
   21. Video und Audio, Zwei-Klick-Einbettung (Module 34, 36) – nach media-actions / media-embeds / video-facade
   -------------------------------------------------------------------------- */
.dbr-ratio-box { position: relative; aspect-ratio: var(--dbr-ratio, 16 / 9); }
.dbr-media-item { margin: 0; }
.dbr-media-item__caption { display: flex; flex-direction: column; gap: .125rem; margin-top: .625rem; font-size: .9375rem; }
.dbr-media-item__caption span { color: var(--dbr-text-muted); }
.dbr-media { position: relative; overflow: hidden; border-radius: var(--dbr-radius); }
.dbr-media--video { background: #000; }
.dbr-media--video .dbr-media__el { display: block; width: 100%; height: 100%; object-fit: cover; }
.dbr-media__bar { position: absolute; left: 1rem; bottom: 1rem; z-index: 2; display: flex; gap: .5rem; }
.dbr-media__bar[hidden] { display: none; }
.dbr-media__play, .dbr-media__mute, .dbr-media__toggle { display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; padding: 0; border: 0; border-radius: 50%;
  background: rgba(255, 255, 255, .92); color: #1d1f22; font-size: 1.125rem; box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .3); cursor: pointer; }
.dbr-media__play:hover, .dbr-media__mute:hover, .dbr-media__toggle:hover { background: #ffffff; }
.dbr-media__play:focus-visible, .dbr-media__mute:focus-visible, .dbr-media__toggle:focus-visible { outline: 3px solid #ffffff; outline-offset: 3px; box-shadow: 0 0 0 6px #1d1f22; }
.dbr-media--video.is-custom:not(.is-playing) .dbr-media__bar { left: 50%; bottom: 50%; transform: translate(-50%, 50%); }
.dbr-media--video.is-custom:not(.is-playing) .dbr-media__play { width: 4.5rem; height: 4.5rem; font-size: 1.5rem; }
.dbr-media--video.is-custom:not(.is-playing) .dbr-media__mute { display: none; }
.dbr-media__toggle { position: absolute; right: 1rem; bottom: 1rem; z-index: 2; width: 2.5rem; height: 2.5rem; font-size: .9375rem; }
.dbr-media__toggle[hidden], .dbr-media__play[hidden] { display: none; }
.dbr-media--audio { display: flex; align-items: center; gap: 1rem; padding: .75rem 1rem; border: 1px solid var(--dbr-border); background: var(--dbr-main-bg); }
.dbr-media--audio .dbr-media__el { flex: 1 1 auto; width: 100%; }
.dbr-media--audio.is-custom .dbr-media__el { display: none; }
.dbr-media--audio .dbr-media__play { width: 2.75rem; height: 2.75rem; background: var(--dbr-accent-strong); color: #ffffff; box-shadow: none; }
.dbr-media--audio .dbr-media__play:focus-visible { outline-color: var(--dbr-focus); box-shadow: none; }
.dbr-media__track { flex: 1 1 auto; color: var(--dbr-heading); font-weight: 700; }
/* Zwei-Klick-Einbettung */
.dbr-embed { position: relative; overflow: hidden; border-radius: var(--dbr-radius); background: #2a2d31; color: #ffffff; }
.dbr-embed--map { min-height: 20rem; background: #e8eaec; color: #1d1f22; }
.dbr-embed__poster { position: absolute; inset: 0; }
.dbr-embed__img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.55); }
.dbr-embed__overlay { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .75rem; padding: 1.25rem; text-align: center; }
.dbr-embed__btn { display: inline-flex; align-items: center; gap: .625rem; padding: .75rem 1.25rem; border: 0; border-radius: 999px; background: var(--dbr-accent-strong); color: #ffffff; font-weight: 700; cursor: pointer; }
.dbr-embed__btn:hover { background: var(--dbr-accent-strong-hover); }
.dbr-embed__btn:focus-visible { outline: 3px solid #ffffff; outline-offset: 3px; box-shadow: 0 0 0 6px #1d1f22; }
.dbr-embed__note { max-width: 30rem; margin: 0; padding: .375rem .75rem; border-radius: var(--dbr-radius); background: rgba(29, 31, 34, .85); font-size: .8125rem; }
.dbr-embed__note a { color: inherit; }
.dbr-embed--map .dbr-embed__note { background: rgba(255, 255, 255, .9); }
[data-bs-theme="dark"] .dbr-embed--map .dbr-embed__note { background: rgba(29, 31, 34, .85); }
.dbr-embed--map .dbr-embed__btn:focus-visible { outline-color: var(--dbr-focus); box-shadow: none; }
.dbr-embed__frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
[data-bs-theme="dark"] .dbr-embed--map { background: #2a2d31; color: #ffffff; }

/* --------------------------------------------------------------------------
   22. Laufschrift (Modul 35) – nach ticker.html, nutzt das Laufband aus Modul 09
   -------------------------------------------------------------------------- */
.dbr-ticker { margin-bottom: 0; padding: .875rem 3.5rem .875rem 0; border-radius: var(--dbr-radius); }
.dbr-ticker .dbr-marquee__viewport { mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent); }
.dbr-ticker .dbr-marquee__list { gap: 0; padding-right: 0; }
.dbr-ticker .dbr-marquee__list > li { width: auto; }
.dbr-ticker__item { display: inline-flex; align-items: center; white-space: nowrap; }
.dbr-ticker__item > a, .dbr-ticker__item > span { color: inherit; }
.dbr-ticker__item > a:hover { text-decoration: underline; }
.dbr-ticker__item::after { content: "•"; margin: 0 1.75rem; opacity: .55; }
.dbr-ticker--sep-star .dbr-ticker__item::after { content: "✶"; }
.dbr-ticker--sep-slash .dbr-ticker__item::after { content: "/"; }
.dbr-ticker--sep-none .dbr-ticker__item::after { content: ""; margin: 0 1.25rem; }
.dbr-ticker__badge { display: inline-block; margin-right: .375rem; padding: .0625rem .5rem; border-radius: 999px; background: var(--dbr-accent-strong); color: #ffffff; font-size: .75em; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; vertical-align: .1em; }
.dbr-ticker--s { font-size: .9375rem; }
.dbr-ticker--m { font-size: 1.125rem; }
.dbr-ticker--l { font-family: var(--dbr-font-display); font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.25rem); font-weight: 700; }
.dbr-ticker--right.is-enhanced .dbr-marquee__inner { animation-direction: reverse; }
.dbr-ticker .dbr-marquee__toggle { top: 50%; right: .5rem; bottom: auto; transform: translateY(-50%); }
.dbr-ticker--light { background: var(--dbr-section-grey-bg); --dbr-text-muted: #55585c; }
.dbr-ticker--dark { background: #2f3338; color: #ffffff; }
.dbr-ticker--accent { background: var(--dbr-accent-strong); color: #ffffff; }
.dbr-ticker--accent .dbr-ticker__badge { background: #ffffff; color: #154711; }
.dbr-ticker--soft { background: #e3f3f1; color: #0f4f4a; }
[data-bs-theme="dark"] .dbr-ticker--soft { background: #133a37; color: #c7ece7; }
.dbr-ticker--plain { padding-left: 0; }
.dbr-ticker--dark .dbr-marquee__toggle, .dbr-ticker--accent .dbr-marquee__toggle { border-color: rgba(255, 255, 255, .5); background: transparent; color: #ffffff; }
.dbr-ticker:not(.dbr-ticker--plain) { padding-left: 0; }
@media (prefers-reduced-motion: reduce) { .dbr-ticker .dbr-marquee__list { justify-content: flex-start; padding-left: 1rem; row-gap: .5rem; } .dbr-ticker__item { white-space: normal; } }

/* --------------------------------------------------------------------------
   23. Karte (Modul 36) – nach maps.html
   -------------------------------------------------------------------------- */
.dbr-map--s { height: 300px; min-height: 0; }
.dbr-map--m { height: 420px; min-height: 0; }
.dbr-map--l { height: 560px; min-height: 0; }
.dbr-mod--map-full > .container-fluid { padding-inline: 0; }
.dbr-mod--map-full > .container-fluid > :is(h2, h3) { padding-inline: 1rem; }
.dbr-mod--map-full .dbr-map { border-radius: 0; }
.dbr-mod--map-full .dbr-map__below { padding-inline: 1rem; }
.dbr-map__below { margin-top: 1.5rem; }
.dbr-map__links { margin: 1.25rem 0 0; }
.dbr-embed--map::before { content: ""; position: absolute; inset: 0; background:
  repeating-linear-gradient(0deg, transparent 0 38px, rgba(0, 0, 0, .05) 38px 40px), repeating-linear-gradient(90deg, transparent 0 38px, rgba(0, 0, 0, .05) 38px 40px); }
[data-bs-theme="dark"] .dbr-embed--map::before { background:
  repeating-linear-gradient(0deg, transparent 0 38px, rgba(255, 255, 255, .05) 38px 40px), repeating-linear-gradient(90deg, transparent 0 38px, rgba(255, 255, 255, .05) 38px 40px); }

/* --------------------------------------------------------------------------
   24. Initiale (Modul 02) und Hervorhebung im Text – nach headings-dropcaps.html
   -------------------------------------------------------------------------- */
.dbr-dropcap > p:first-child::first-letter { float: left; margin: .1em .5rem 0 0; color: var(--dbr-heading); font-family: Georgia, "Times New Roman", serif; font-size: 3.6em; font-weight: 700; line-height: .82; }
.dbr-dropcap--bordered > p:first-child::first-letter { margin-top: .15em; padding: .12em .14em; border: 2px solid var(--dbr-accent); font-size: 2.6em; line-height: .9; }
.dbr-dropcap--background > p:first-child::first-letter { margin-top: .15em; padding: .14em .18em; background: var(--dbr-accent-strong); color: #ffffff; font-size: 2.6em; line-height: .9; }
.dbr-dropcap--circle > p:first-child::first-letter { margin-top: .12em; padding: .18em .28em; border-radius: 50%; background: #2f3338; color: #ffffff; font-size: 2.2em; line-height: 1; }
.dbr-dropcap--outline > p:first-child::first-letter { color: transparent; -webkit-text-stroke: 1.5px var(--dbr-heading); }
.dbr-bg-dark .dbr-dropcap > p:first-child::first-letter, .dbr-bg-accent .dbr-dropcap > p:first-child::first-letter { color: #ffffff; }
.dbr-mod--text .dbr-richtext mark, .dbr-mod--textimage .dbr-richtext mark { padding: .05em .25em; border-radius: 2px; background: #2f3338; color: #ffffff; }

/* --------------------------------------------------------------------------
   25. Tabs – weitere Stile (Modul 05) – nach tabs.html
   -------------------------------------------------------------------------- */
.dbr-tabs__nav.nav-underline { --bs-nav-underline-gap: 1.5rem; --bs-nav-underline-border-width: 2px; --bs-nav-underline-link-active-color: var(--dbr-heading); border-bottom: 1px solid var(--dbr-border); }
.dbr-tabs__nav.nav-underline .nav-link.active { border-bottom-color: var(--dbr-accent); }
.dbr-tabs__nav--topline.nav-underline { border-bottom: 0; }
.dbr-tabs__nav--topline.nav-underline .nav-link { border-top: 2px solid transparent; border-bottom: 0; }
.dbr-tabs__nav--topline.nav-underline .nav-link.active { border-top-color: var(--dbr-accent); }
.dbr-tabs--boxed .dbr-tabs__content { padding: 1.5rem; border: 1px solid var(--dbr-border); border-top: 0; border-radius: 0 0 var(--dbr-radius) var(--dbr-radius); }
.dbr-tabs__nav--alt.nav-pills { --bs-nav-pills-link-active-bg: var(--dbr-heading); gap: .25rem; padding: .375rem; border-radius: calc(var(--dbr-radius) * 2); background: var(--dbr-section-grey-bg); }
[data-bs-theme="dark"] .dbr-tabs__nav--alt.nav-pills { --bs-nav-pills-link-active-bg: #eef0f1; --bs-nav-pills-link-active-color: #1d1f22; }
.dbr-tabs__icon { margin-right: .375rem; }
.dbr-tabs__stack { display: inline-flex; flex-direction: column; align-items: center; gap: .375rem; }
.dbr-tabs__stack .dbr-tabs__icon { margin: 0; font-size: 1.375rem; }
.dbr-tabs__nav .nav-link:has(> .dbr-tabs__icon:only-of-type + .visually-hidden) .dbr-tabs__icon { margin: 0; font-size: 1.25rem; }
@media (min-width: 768px) {
  .dbr-tabs--pos-left, .dbr-tabs--pos-right { display: flex !important; gap: 2rem; align-items: flex-start; }
  .dbr-tabs--pos-right { flex-direction: row-reverse; }
  .dbr-tabs--pos-left .dbr-tabs__nav, .dbr-tabs--pos-right .dbr-tabs__nav { flex: 0 0 13rem; border-bottom: 0; }
  .dbr-tabs--pos-left .dbr-tabs__content, .dbr-tabs--pos-right .dbr-tabs__content { flex: 1 1 auto; padding-top: 0; }
  .dbr-tabs--pos-left .dbr-tabs__nav.nav-tabs { border-bottom: 0; border-right: 1px solid var(--dbr-border); }
  .dbr-tabs--pos-right .dbr-tabs__nav.nav-tabs { border-bottom: 0; border-left: 1px solid var(--dbr-border); }
  .dbr-tabs--pos-left .dbr-tabs__nav.nav-tabs .nav-link { margin: 0 -1px 0 0; border-radius: var(--dbr-radius) 0 0 var(--dbr-radius); text-align: left; }
  .dbr-tabs--pos-right .dbr-tabs__nav.nav-tabs .nav-link { margin: 0 0 0 -1px; border-radius: 0 var(--dbr-radius) var(--dbr-radius) 0; text-align: left; }
  .dbr-tabs--pos-left .dbr-tabs__nav.nav-tabs .nav-link.active { border-top: 1px solid var(--dbr-border); border-left: 3px solid var(--dbr-accent); border-color: var(--dbr-border) var(--dbr-main-bg) var(--dbr-border) var(--dbr-accent); }
  .dbr-tabs--pos-right .dbr-tabs__nav.nav-tabs .nav-link.active { border-top: 1px solid var(--dbr-border); border-color: var(--dbr-border) var(--dbr-accent) var(--dbr-border) var(--dbr-main-bg); border-right-width: 3px; }
  .dbr-tabs--pos-left .dbr-tabs__nav.nav-underline { --bs-nav-underline-gap: 0; border-right: 1px solid var(--dbr-border); }
  .dbr-tabs--pos-left .dbr-tabs__nav.nav-underline .nav-link { padding: .5rem 1rem .5rem 0; border-bottom: 0; border-right: 2px solid transparent; text-align: left; }
  .dbr-tabs--pos-left .dbr-tabs__nav.nav-underline .nav-link.active { border-right-color: var(--dbr-accent); }
  .dbr-tabs--pos-right .dbr-tabs__nav.nav-underline { --bs-nav-underline-gap: 0; border-left: 1px solid var(--dbr-border); }
  .dbr-tabs--pos-right .dbr-tabs__nav.nav-underline .nav-link { padding: .5rem 0 .5rem 1rem; border-bottom: 0; border-left: 2px solid transparent; text-align: left; }
  .dbr-tabs--pos-right .dbr-tabs__nav.nav-underline .nav-link.active { border-left-color: var(--dbr-accent); }
  .dbr-tabs--pos-left .dbr-tabs__nav.nav-pills, .dbr-tabs--pos-right .dbr-tabs__nav.nav-pills { gap: .25rem; }
  .dbr-tabs--pos-left.dbr-tabs--boxed .dbr-tabs__content, .dbr-tabs--pos-right.dbr-tabs--boxed .dbr-tabs__content { border-top: 1px solid var(--dbr-border); border-radius: var(--dbr-radius); }
}

/* --------------------------------------------------------------------------
   26. Häufige Fragen – weitere Stile (Modul 15) – nach toggles-accordions.html
   -------------------------------------------------------------------------- */
.dbr-faq .dbr-faq__q::after { background: var(--dbr-tone); color: var(--dbr-tone-on); }
.dbr-faq--icon-plus-left .dbr-faq__q, .dbr-faq--icon-chevron-left .dbr-faq__q { padding-left: 2.75rem; padding-right: 0; }
.dbr-faq--icon-plus-left .dbr-faq__q::after, .dbr-faq--icon-chevron-left .dbr-faq__q::after { left: .25rem; right: auto; }
.dbr-faq--icon-chevron .dbr-faq__q::after, .dbr-faq--icon-chevron-left .dbr-faq__q::after { content: ""; width: .625rem; height: .625rem; border: solid var(--dbr-tone-icon); border-width: 0 2px 2px 0; border-radius: 0; background: none;
  transform: translateY(-70%) rotate(45deg); transition: transform .2s ease; }
.dbr-faq--icon-chevron .dbr-faq__item[open] > .dbr-faq__q::after, .dbr-faq--icon-chevron-left .dbr-faq__item[open] > .dbr-faq__q::after { content: ""; transform: translateY(-30%) rotate(-135deg); }
.dbr-faq--icon-chevron-left .dbr-faq__q::after { left: .75rem; }
/* Flächen und Rahmen: Abstand zwischen den Fragen */
.dbr-faq--background, .dbr-faq--bordered, .dbr-faq--card, .dbr-faq--accent, .dbr-faq--pill { display: grid; gap: .75rem; border-top: 0; }
.dbr-faq--background .dbr-faq__item, .dbr-faq--bordered .dbr-faq__item, .dbr-faq--card .dbr-faq__item, .dbr-faq--accent .dbr-faq__item, .dbr-faq--pill .dbr-faq__item { border-bottom: 0; }
.dbr-faq--background .dbr-faq__item { border-radius: var(--dbr-radius); background: var(--dbr-section-grey-bg); --dbr-text-muted: #55585c; }
.dbr-faq--bordered .dbr-faq__item { border: 1px solid var(--dbr-border); border-radius: var(--dbr-radius); }
.dbr-faq--card .dbr-faq__item { border-radius: calc(var(--dbr-radius) * 2); background: var(--dbr-main-bg); box-shadow: 0 .25rem 1rem rgba(0, 0, 0, .1); }
.dbr-faq--accent .dbr-faq__item { border-left: 4px solid var(--dbr-tone); background: color-mix(in srgb, var(--dbr-tone) 5%, transparent); }
.dbr-faq--pill .dbr-faq__item { border-radius: 1.5rem; background: color-mix(in srgb, var(--dbr-tone) 9%, var(--dbr-main-bg)); }
.dbr-faq--background .dbr-faq__q, .dbr-faq--bordered .dbr-faq__q, .dbr-faq--card .dbr-faq__q, .dbr-faq--accent .dbr-faq__q, .dbr-faq--pill .dbr-faq__q { padding-left: 1.25rem; padding-right: 3.25rem; }
.dbr-faq--background .dbr-faq__q::after, .dbr-faq--bordered .dbr-faq__q::after, .dbr-faq--card .dbr-faq__q::after, .dbr-faq--accent .dbr-faq__q::after, .dbr-faq--pill .dbr-faq__q::after { right: 1rem; }
.dbr-faq--background .dbr-faq__a, .dbr-faq--bordered .dbr-faq__a, .dbr-faq--card .dbr-faq__a, .dbr-faq--accent .dbr-faq__a, .dbr-faq--pill .dbr-faq__a { padding: 0 1.25rem 1.25rem; }
.dbr-faq--background.dbr-faq--icon-plus-left .dbr-faq__q, .dbr-faq--bordered.dbr-faq--icon-plus-left .dbr-faq__q, .dbr-faq--card.dbr-faq--icon-plus-left .dbr-faq__q, .dbr-faq--accent.dbr-faq--icon-plus-left .dbr-faq__q, .dbr-faq--pill.dbr-faq--icon-plus-left .dbr-faq__q,
.dbr-faq--background.dbr-faq--icon-chevron-left .dbr-faq__q, .dbr-faq--bordered.dbr-faq--icon-chevron-left .dbr-faq__q, .dbr-faq--card.dbr-faq--icon-chevron-left .dbr-faq__q, .dbr-faq--accent.dbr-faq--icon-chevron-left .dbr-faq__q, .dbr-faq--pill.dbr-faq--icon-chevron-left .dbr-faq__q { padding-left: 3.5rem; padding-right: 1.25rem; }
.dbr-faq--background.dbr-faq--icon-plus-left .dbr-faq__q::after, .dbr-faq--bordered.dbr-faq--icon-plus-left .dbr-faq__q::after, .dbr-faq--card.dbr-faq--icon-plus-left .dbr-faq__q::after, .dbr-faq--accent.dbr-faq--icon-plus-left .dbr-faq__q::after, .dbr-faq--pill.dbr-faq--icon-plus-left .dbr-faq__q::after { left: 1rem; right: auto; }
.dbr-faq--background.dbr-faq--icon-chevron-left .dbr-faq__q::after, .dbr-faq--bordered.dbr-faq--icon-chevron-left .dbr-faq__q::after, .dbr-faq--card.dbr-faq--icon-chevron-left .dbr-faq__q::after, .dbr-faq--accent.dbr-faq--icon-chevron-left .dbr-faq__q::after, .dbr-faq--pill.dbr-faq--icon-chevron-left .dbr-faq__q::after { left: 1.5rem; right: auto; }
/* schlicht */
.dbr-faq--minimal { border-top: 0; }
.dbr-faq--minimal .dbr-faq__q { padding-block: .625rem; font-size: 1rem; }
.dbr-faq--minimal .dbr-faq__q::after { width: 1.25rem; height: 1.25rem; font-size: .9375rem; }
/* nummeriert */
.dbr-faq--numbered { counter-reset: dbr-faq; }
.dbr-faq--numbered .dbr-faq__q { padding-left: 3rem; }
.dbr-faq--numbered .dbr-faq__q::before { counter-increment: dbr-faq; content: counter(dbr-faq, decimal-leading-zero); position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  display: inline-flex; align-items: center; justify-content: center; width: 2.1rem; height: 2.1rem; border-radius: 50%; background: var(--dbr-section-grey-bg); color: var(--dbr-heading); font-size: .8125rem; }
.dbr-faq--numbered.dbr-faq--icon-plus-left .dbr-faq__q, .dbr-faq--numbered.dbr-faq--icon-chevron-left .dbr-faq__q { padding-left: 3rem; }
.dbr-faq--numbered.dbr-faq--icon-plus-left .dbr-faq__q::after, .dbr-faq--numbered.dbr-faq--icon-chevron-left .dbr-faq__q::after { left: auto; right: .25rem; }

/* --------------------------------------------------------------------------
   27. Preisboxen – weitere Darstellungen und Umschalter Monat/Jahr (Modul 06) – nach pricing.html / block-content-pricing-*
   -------------------------------------------------------------------------- */
.dbr-pricing-wrap .dbr-price-card.is-highlight { border-color: var(--dbr-tone); box-shadow: 0 8px 24px color-mix(in srgb, var(--dbr-tone) 18%, transparent); }
.dbr-pricing-wrap .dbr-price-card__badge { background: var(--dbr-tone); color: var(--dbr-tone-on); }
.dbr-pricing-wrap .dbr-price-card__features .is-included i { color: var(--dbr-tone-icon); }
.dbr-price-card__line { display: block; }
.dbr-price-card__mode { display: block; color: var(--dbr-text-muted); font-size: .8125rem; }
.dbr-price-card__line + .dbr-price-card__line { margin-top: .5rem; }
.dbr-price-card__line + .dbr-price-card__line .dbr-price-card__amount { font-size: 1.75rem; }
.is-switchable .dbr-price-card__mode { display: none; }
.is-switchable .dbr-price-card__line + .dbr-price-card__line { margin-top: 0; }
.is-switchable .dbr-price-card__line + .dbr-price-card__line .dbr-price-card__amount { font-size: inherit; }
.is-switchable .dbr-price-card__line[data-dbr-price] .dbr-price-card__amount { font-size: 2.5rem; }
.dbr-price-card__line[hidden] { display: none; }

/* Umschalter */
.dbr-pricing-switch { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .75rem 1rem; margin: 0 0 2.5rem; }
.dbr-pricing-switch[hidden] { display: none; }
.dbr-pricing-switch__group { display: inline-flex; margin: 0; padding: .25rem; border: 1px solid var(--dbr-border); border-radius: 999px; background: var(--dbr-main-bg); }
.dbr-pricing-switch__input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.dbr-pricing-switch__label { min-width: 7rem; min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; padding: .375rem 1.25rem; border-radius: 999px; color: var(--dbr-text); font-weight: 600; cursor: pointer; }
.dbr-pricing-switch__input:checked + .dbr-pricing-switch__label { background: var(--dbr-tone); color: var(--dbr-tone-on); }
.dbr-pricing-switch__input:focus-visible + .dbr-pricing-switch__label { outline: 3px solid var(--dbr-focus, #1a56ad); outline-offset: 2px; }
.dbr-pricing-switch__save { padding: .25rem .75rem; border-radius: 999px; background: var(--dbr-tone-soft); color: var(--dbr-tone-fg); font-size: .875rem; font-weight: 600; }

/* schlicht: ohne Rahmen, senkrechte Trennlinien */
.dbr-pricing--simple .dbr-price-card { border: 0; border-radius: 0; background: transparent; padding-inline: 1.25rem; }
@media (min-width: 768px) {
  .dbr-pricing--simple > li + li .dbr-price-card { border-left: 1px solid var(--dbr-border); }
}
.dbr-pricing--simple .dbr-price-card.is-highlight { box-shadow: none; border-top: 4px solid var(--dbr-tone); }
.dbr-pricing--simple .dbr-price-card__badge { position: static; transform: none; align-self: center; margin-bottom: .75rem; }

/* farbig: Kopf in Farbe */
.dbr-pricing--color .dbr-price-card { padding: 0 0 1.5rem; overflow: hidden; }
.dbr-pricing--color .dbr-price-card__head { padding: 2rem 1.5rem 1.25rem; margin-bottom: 1.25rem; background: var(--dbr-tone-soft); }
.dbr-pricing--color .dbr-price-card.is-highlight .dbr-price-card__head { background: var(--dbr-tone); color: var(--dbr-tone-on); }
.dbr-pricing--color .dbr-price-card.is-highlight .dbr-price-card__head :is(.dbr-price-card__name, .dbr-price-card__amount, .dbr-price-card__interval, .dbr-price-card__desc, .dbr-price-card__mode) { color: inherit; }
.dbr-pricing--color .dbr-price-card__features, .dbr-pricing--color .dbr-price-card__cta { margin-inline: 1.5rem; }
.dbr-pricing--color .dbr-price-card__features { border-top: 0; padding-top: 0; }
.dbr-pricing--color .dbr-price-card__badge { position: static; transform: none; border-radius: 0; text-align: center; background: var(--dbr-heading); color: var(--dbr-main-bg); }
.dbr-pricing--color .dbr-price-card__desc { margin-bottom: 0; }

/* Liste: Pakete untereinander */
.dbr-pricing--list .dbr-price-card { display: grid; gap: 1rem 2rem; padding: 1.5rem; }
@media (min-width: 992px) {
  .dbr-pricing--list .dbr-price-card { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr) minmax(12rem, .8fr); align-items: center; }
}
.dbr-pricing--list .dbr-price-card__name, .dbr-pricing--list .dbr-price-card__desc, .dbr-pricing--list .dbr-price-card__price { text-align: left; }
.dbr-pricing--list .dbr-price-card__desc { margin: 0; }
.dbr-pricing--list .dbr-price-card__features { display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); gap: 0 1rem; margin: 0; padding: 0; border: 0; }
.dbr-pricing--list .dbr-price-card__aside { display: flex; flex-direction: column; gap: .75rem; }
@media (min-width: 992px) {
  .dbr-pricing--list .dbr-price-card__aside { align-items: flex-end; text-align: right; }
  .dbr-pricing--list .dbr-price-card__aside .dbr-price-card__price { text-align: right; }
}
.dbr-pricing--list .dbr-price-card__price { margin: 0; }
.dbr-pricing--list .dbr-price-card__amount { font-size: 2rem; }
.dbr-pricing--list .dbr-price-card__badge { position: static; transform: none; justify-self: start; grid-column: 1 / -1; }

/* Mini: nur Name, Preis, Button */
.dbr-pricing--mini .dbr-price-card { padding: 1.5rem 1.25rem 1.25rem; }
.dbr-pricing--mini .dbr-price-card__name { font-size: 1.125rem; }
.dbr-pricing--mini .dbr-price-card__amount { font-size: 2rem; }
.dbr-pricing--mini .dbr-price-card__head { flex: 1 1 auto; }

/* Vergleichstabelle */
.dbr-pricing-table { position: relative; overflow-x: auto; border-radius: calc(var(--dbr-radius) * 2); }
.dbr-pricing-table:focus-visible { outline: 3px solid var(--dbr-focus, #1a56ad); outline-offset: 2px; }
.dbr-pricing-table__table { width: 100%; min-width: 40rem; border-collapse: separate; border-spacing: 0; background: var(--dbr-main-bg); }
.dbr-pricing-table__table :is(th, td) { padding: .875rem 1rem; border-bottom: 1px solid var(--dbr-border); text-align: center; vertical-align: middle; }
.dbr-pricing-table__table tbody th { text-align: left; font-weight: 400; }
.dbr-pricing-table__table thead th { position: relative; padding-top: 2rem; vertical-align: bottom; }
.dbr-pricing-table__plan .dbr-price-card__badge { top: .5rem; transform: translateX(-50%); white-space: nowrap; }
.dbr-pricing-table__name { display: block; color: var(--dbr-heading); font-family: var(--dbr-font-display); font-size: 1.125rem; font-weight: 700; }
.dbr-pricing-table__plan .dbr-price-card__price { display: block; margin: .25rem 0 0; font-weight: 400; }
.dbr-pricing-table__plan .dbr-price-card__amount, .is-switchable .dbr-pricing-table__plan .dbr-price-card__line[data-dbr-price] .dbr-price-card__amount { font-size: 1.625rem; }
.dbr-pricing-table__table .is-highlight { background: var(--dbr-tone-soft); }
.dbr-pricing-table__table td.is-included i { color: var(--dbr-tone-icon); }
.dbr-pricing-table__table td.is-excluded i { color: var(--dbr-text-muted); }
.dbr-pricing-table__table tbody tr:nth-child(even) > :not(.is-highlight) { background: color-mix(in srgb, var(--dbr-border) 30%, transparent); }
.dbr-pricing-table__table tfoot td { border-bottom: 0; padding-block: 1.25rem; }

/* --------------------------------------------------------------------------
   28. Fortschrittsring und -balken (Modul 23) – nach sections.html / Canvas „skills“
   Füllung = --dbr-p (0…1); mit JavaScript startet sie beim Sichtbarwerden (.is-pending → Übergang)
   -------------------------------------------------------------------------- */
.dbr-counter__ring { position: relative; width: min(100%, 10rem); aspect-ratio: 1; margin: 0 auto .75rem; display: grid; place-items: center; }
.dbr-counter__ring svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.dbr-counter__ring circle { fill: none; stroke-width: 9; }
.dbr-counter__track { stroke: var(--dbr-border); }
.dbr-counter__fill { stroke: var(--dbr-tone-icon, var(--dbr-accent)); stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: calc(100 - var(--dbr-p, 0) * 100);
  transition: stroke-dashoffset var(--dbr-count-dur, 2000ms) cubic-bezier(.22, .61, .36, 1); }
.dbr-counters--ring .dbr-counter__value { position: relative; font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); }
.is-pending .dbr-counter__fill { stroke-dashoffset: 100; transition: none; }
.dbr-on-dark .dbr-counter__track { stroke: rgba(255, 255, 255, .25); }
.dbr-on-dark .dbr-counter__fill { stroke: #ffffff; }

.dbr-counters--bar .dbr-counter { text-align: left; }
.dbr-counters--bar .dbr-counter__body { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: .25rem 1rem; }
.dbr-counters--bar .dbr-counter__label { margin: 0; text-transform: none; letter-spacing: 0; color: var(--dbr-heading); font-size: 1rem; }
.dbr-counters--bar .dbr-counter__value { grid-column: 2; font-size: 1.125rem; }
.dbr-counters--bar .dbr-counter__bar { grid-column: 1 / -1; height: .625rem; border-radius: 999px; background: var(--dbr-border); overflow: hidden; }
.dbr-counter__barfill { display: block; height: 100%; width: calc(var(--dbr-p, 0) * 100%); border-radius: inherit; background: var(--dbr-tone-icon, var(--dbr-accent)); transition: width var(--dbr-count-dur, 2000ms) cubic-bezier(.22, .61, .36, 1); }
.is-pending .dbr-counter__barfill { width: 0; transition: none; }
.dbr-on-dark .dbr-counters--bar .dbr-counter__label { color: #ffffff; }
.dbr-on-dark .dbr-counters--bar .dbr-counter__bar { background: rgba(255, 255, 255, .25); }
.dbr-on-dark .dbr-counter__barfill { background: #ffffff; }
@media (prefers-reduced-motion: reduce) {
  .dbr-counter__fill, .dbr-counter__barfill { transition: none; }
}

/* --------------------------------------------------------------------------
   29. Hintergrundvideo im Parallax-Bereich (Modul 26) – nach sections.html (section-video)
   -------------------------------------------------------------------------- */
.dbr-parallax__layer--video { inset: 0; }
.dbr-parallax__videotoggle { position: absolute; right: 1rem; bottom: 1rem; z-index: 3; display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; padding: 0;
  border: 2px solid #ffffff; border-radius: 50%; background: rgba(29, 31, 34, .75); color: #ffffff; font-size: 1rem; }
.dbr-parallax__videotoggle:hover { background: #1d1f22; }
.dbr-parallax__videotoggle:focus-visible { outline: 3px solid #ffffff; outline-offset: 3px; box-shadow: 0 0 0 6px #1d1f22; }
.dbr-parallax__videotoggle[hidden] { display: none; }

/* Preisboxen: Einzelpaket mit Leistungsliste (nach op-pricing.html) */
.dbr-mod--pricing-feature.has-media { position: relative; overflow: hidden; isolation: isolate; }
.dbr-pricing-feature__media { position: absolute; inset: 0; z-index: -1; }
.dbr-pricing-feature__media::after { content: ""; position: absolute; inset: 0; background: color-mix(in srgb, var(--dbr-main-bg) 82%, transparent); }
.dbr-pricing-feature__img { width: 100%; height: 100%; object-fit: cover; }
.dbr-pricing-feature__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: .25rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.dbr-pricing-feature__list li { display: flex; gap: .625rem; padding: .3125rem 0; }
.dbr-pricing-feature__list i { margin-top: .25rem; width: 1rem; }
.dbr-pricing-feature__list .is-included i { color: var(--dbr-tone-icon); }
.dbr-pricing-feature__list .is-excluded { color: var(--dbr-text-muted); }
.dbr-price-card--feature { box-shadow: 0 12px 32px rgba(0, 0, 0, .12); }

/* --------------------------------------------------------------------------
   30. Slider-Revolution-Vorlagen (Modul 37) – nach den Canvas-Demos rs-demo-*.html (Slider Revolution 5.4.8)
   -------------------------------------------------------------------------- */
.dbr-rsv { position: relative; }
.dbr-rsv__bar { display: flex; justify-content: flex-end; padding: .5rem .75rem; background: var(--dbr-main-bg); }
.dbr-rsv__toggle { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.75rem; padding: .375rem 1rem; border: 1px solid var(--dbr-border); border-radius: 999px;
  background: var(--dbr-main-bg); color: var(--dbr-text); font-size: .875rem; font-weight: 600; cursor: pointer; }
.dbr-rsv__toggle:hover { border-color: var(--dbr-text-muted); }
.dbr-rsv__toggle:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }
.dbr-rsv__toggle[hidden] { display: none; }
.dbr-rsv__consent { position: relative; min-height: 26rem; border-radius: 0; }
.dbr-rsv__consent + .rev_slider_wrapper { display: none; }
.dbr-rsv [data-dbr-rsv-btn]:focus-visible { outline: 3px solid #ffffff !important; outline-offset: 2px; box-shadow: 0 0 0 6px #1d1f22 !important; }
.dbr-rsv.is-paused .rs-particles-canvas, .dbr-rsv.is-paused canvas[id*="particles"] { visibility: hidden; }
.dbr-rsv .tp-bullet, .dbr-rsv .tp-thumb, .dbr-rsv .tp-tab, .dbr-rsv .tparrows { cursor: pointer; }
@media (prefers-reduced-motion: reduce) {
  .dbr-rsv .rs-particles-canvas { display: none; }
}
.dbr-mod--rsv > .container-fluid { padding-left: 0; padding-right: 0; }
/* Vorlagen-Galerie: Datum in den Reitern lesbar (Vorbild #4d4d4d auf #111) */
.dbr-rsv--galerie-dunkel .tp-tab-date { color: #b3b3b3 !important; }
/* Vorlagen: Kontraste nach WCAG 1.4.3 / Zielgröße 2.5.8 (Farben der Vorbilder angepasst) */
.dbr-rsv--galerie-hell .tp-tab-date { color: #595959 !important; }
.dbr-rsv--galerie-news .Newspaper-Subtitle, .dbr-rsv--hero-news .Newspaper-Subtitle, .dbr-rsv--galerie-news .tp-tab-title { color: #ffffff !important; }
.dbr-rsv--hero-newsletter .revtp-form .button { background: #154711; color: #ffffff !important; }
.dbr-rsv--hero-newsletter .revtp-form .button:hover { background: #154711; }
.dbr-rsv .tp-caption.PostSlider-Content { color: #5c5c5c; }
.dbr-rsv--doppelbelichtung .tp-bullet, .dbr-rsv--premium-news-inhalt .tp-bullet { width: 24px !important; height: 24px !important; }
.dbr-rsv--galerie-news .tp-tab, .dbr-rsv--galerie-news .tp-tab-title, .dbr-rsv--galerie-news .tp-tab-desc { opacity: 1 !important; }
.dbr-rsv__bar:has(> .dbr-rsv__toggle[hidden]) { display: none; }
/* Navigation der Vorlagen, die erst beim Überfahren erscheint, auch bei Tastaturfokus zeigen (WCAG 2.4.7) */
.dbr-rsv:focus-within .tparrows, .dbr-rsv:focus-within .tp-bullets, .dbr-rsv:focus-within .tp-thumbs, .dbr-rsv:focus-within .tp-tabs { opacity: 1 !important; visibility: visible !important; }
