@charset "UTF-8";
/* ==========================================================================
   Dampfbahn-Route Sachsen – Basis-Stylesheet
   Bootstrap 5.3.8 · Hell/Dunkel über data-bs-theme · WCAG 2.2 AA
   Grundlage: screenfox-Paket (Präfix sfx → dbr). Kontrastwerte als Kommentar hinter den Text-Tokens.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Design-Tokens – hell (Standard)
   -------------------------------------------------------------------------- */
:root,
[data-bs-theme="light"] {
  /* Markenfarben aus dem Layout */
  --dbr-green: #154711;             /* Logo-Band, Überschriften: 10,82:1 auf Weiß */
  --dbr-green-2: #1f6418;           /* Hover für grüne Flächen: Weiß darauf 7,26:1 */
  --dbr-gold: #deb864;              /* Logo-Gold – nur auf Grün (5,74:1) oder als Fläche */
  --dbr-gold-text: #85662c;         /* Gold als Schrift auf Weiß: 5,34:1 (Layout #aa864c nur 3,37:1) */
  --dbr-gold-text-on-beige: #7a5c26;/* auf Beige #f5ead0: 5,19:1 */
  --dbr-red: #e2001a;               /* Aktionen (Veranstaltungen, Angebote): Weiß darauf 4,94:1 */
  --dbr-red-hover: #c40017;         /* Weiß darauf 6,25:1 */
  --dbr-mint: #d8e4e2;              /* Flächen (Suche, Footer, Primär-Akkordeon) */
  --dbr-sage: #d0dacf;
  --dbr-beige: #f5ead0;             /* Sekundär-Akkordeon */

  /* Aliase für die Module aus dem screenfox-Paket */
  --dbr-accent: var(--dbr-green);
  --dbr-accent-hover: var(--dbr-green-2);
  --dbr-accent-active: var(--dbr-green-2);
  --dbr-accent-strong: var(--dbr-green);
  --dbr-accent-strong-hover: var(--dbr-green-2);
  --dbr-link: #154711;              /* 10,82:1 auf Weiß */
  --dbr-link-hover: #85662c;        /* 5,34:1 auf Weiß */

  /* Text */
  --dbr-text: #333333;              /* 12,63:1 auf Weiß, 9,70:1 auf Mint */
  --dbr-text-muted: #4f5d4d;        /* 6,96:1 auf Weiß, 5,34:1 auf Mint */
  --dbr-heading: #154711;
  --dbr-lead: var(--dbr-gold-text);

  /* Flächen */
  --dbr-page-bg: #ffffff;
  --dbr-main-bg: #ffffff;
  --dbr-pattern-top: none;
  --dbr-pattern-footer: none;
  --dbr-dark-bg: var(--dbr-green);
  --dbr-dark-text: #ffffff;
  --dbr-dark-link: var(--dbr-gold);
  --dbr-dark-link-hover: #ffffff;
  --dbr-header-bg: #ffffff;
  --dbr-band-bg: var(--dbr-green);
  --dbr-band-text: #ffffff;
  --dbr-section-light-bg: #eef3f2;
  --dbr-section-light-border: var(--dbr-mint);
  --dbr-section-grey-bg: var(--dbr-mint);
  --dbr-slider-bg: var(--dbr-mint);
  --dbr-bottom-bg: var(--dbr-mint);
  --dbr-bottom-border: var(--dbr-sage);
  --dbr-bottom-text: #333333;
  --dbr-bottom-heading: var(--dbr-green);
  --dbr-border: #c9d6d3;
  --dbr-panel-primary: var(--dbr-mint);
  --dbr-panel-primary-text: var(--dbr-green);
  --dbr-panel-secondary: var(--dbr-beige);
  --dbr-panel-secondary-text: var(--dbr-gold-text-on-beige);

  /* Navigation */
  --dbr-nav-link: #154711;          /* 10,82:1 auf Weiß */
  --dbr-nav-active: #85662c;        /* 5,34:1 auf Weiß */
  --dbr-nav-bar: var(--dbr-gold);
  --dbr-dropdown-bg: #ffffff;
  --dbr-dropdown-link: #154711;
  --dbr-dropdown-hover-bg: var(--dbr-mint);
  --dbr-dropdown-hover-text: #154711;  /* 8,30:1 auf Mint */
  --dbr-dropdown-sep-top: #e6eeec;
  --dbr-dropdown-sep-bottom: #e6eeec;

  /* Breadcrumb / Seitenkopf */
  --dbr-pagehead-bg: #ffffff;
  --dbr-breadcrumb-text: #4f5d4d;

  /* Fokus */
  --dbr-focus: #e2001a;             /* 4,94:1 auf Weiß, 3,79:1 auf Mint (≥ 3:1 für Fokusrahmen) */
  --dbr-focus-on-dark: #ffffff;

  /* Layout */
  --dbr-container-max: 1240px;
  --dbr-container-max-landing: 1240px;
  --dbr-header-height: 52px;
  --dbr-radius: .1875rem;

  /* Typografie */
  --dbr-font-body: "Roboto Condensed", "Arial Narrow", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --dbr-font-display: "Outfit", "Roboto Condensed", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --dbr-font-light: "Roboto", system-ui, Arial, sans-serif;

  /* Bootstrap-Variablen angleichen */
  --bs-body-font-family: var(--dbr-font-body);
  --bs-body-font-size: 1.0625rem;
  --bs-body-line-height: 1.5;
  --bs-body-color: var(--dbr-text);
  --bs-body-bg: var(--dbr-main-bg);
  --bs-emphasis-color: var(--dbr-heading);
  --bs-heading-color: var(--dbr-heading);
  --bs-link-color: var(--dbr-link);
  --bs-link-color-rgb: 21, 71, 17;
  --bs-link-hover-color: var(--dbr-link-hover);
  --bs-link-hover-color-rgb: 133, 102, 44;
  --bs-border-color: var(--dbr-border);
  --bs-focus-ring-color: rgba(226, 0, 26, .45);
  --bs-primary: #154711;
  --bs-primary-rgb: 21, 71, 17;
}

/* --------------------------------------------------------------------------
   2. Design-Tokens – dunkel
   -------------------------------------------------------------------------- */
[data-bs-theme="dark"] {
  --dbr-gold-text: #deb864;         /* 8,51:1 auf #1a2418 */
  --dbr-gold-text-on-beige: #e7d6a8;/* 10,61:1 auf #2a2516 */
  --dbr-red: #e2001a;
  --dbr-mint: #1d2a1b;
  --dbr-sage: #2f3d2c;
  --dbr-beige: #2a2516;

  --dbr-accent: #2b7a22;            /* Weiß darauf 5,37:1 */
  --dbr-accent-hover: #34902a;
  --dbr-accent-active: #34902a;
  --dbr-accent-strong: #2b7a22;
  --dbr-accent-strong-hover: #1f6418;
  --dbr-link: #a8d49f;              /* 9,61:1 auf #1a2418 */
  --dbr-link-hover: #f0d58f;        /* 12,37:1 auf #121a11 */

  --dbr-text: #dfe6dc;              /* 13,93:1 auf #121a11 */
  --dbr-text-muted: #a9b8a6;        /* 8,54:1 auf #121a11 */
  --dbr-heading: #e8f0e4;
  --dbr-lead: #deb864;

  --dbr-page-bg: #0d130c;
  --dbr-main-bg: #121a11;
  --dbr-dark-bg: #154711;
  --dbr-header-bg: #1a2418;
  --dbr-band-bg: #154711;
  --dbr-section-light-bg: #1a2418;
  --dbr-section-light-border: #2f3d2c;
  --dbr-section-grey-bg: #1d2a1b;
  --dbr-slider-bg: #1d2a1b;
  --dbr-bottom-bg: #1a2418;
  --dbr-bottom-border: #2f3d2c;
  --dbr-bottom-text: #dfe6dc;
  --dbr-bottom-heading: #e8f0e4;
  --dbr-border: #2f3d2c;
  --dbr-panel-primary: #1d2a1b;
  --dbr-panel-primary-text: #e8f0e4;
  --dbr-panel-secondary: #2a2516;
  --dbr-panel-secondary-text: #e7d6a8;

  --dbr-nav-link: #dfe6dc;          /* 12,6:1 auf #1a2418 */
  --dbr-nav-active: #deb864;        /* 8,51:1 auf #1a2418 */
  --dbr-dropdown-bg: #1a2418;
  --dbr-dropdown-link: #dfe6dc;
  --dbr-dropdown-hover-bg: #2f3d2c;
  --dbr-dropdown-hover-text: #ffffff;
  --dbr-dropdown-sep-top: #263323;
  --dbr-dropdown-sep-bottom: #263323;

  --dbr-pagehead-bg: #121a11;
  --dbr-breadcrumb-text: #a9b8a6;

  --dbr-focus: #ff8080;             /* 6,61:1 auf #1a2418 */

  --bs-body-color: var(--dbr-text);
  --bs-body-bg: var(--dbr-main-bg);
  --bs-emphasis-color: var(--dbr-heading);
  --bs-heading-color: var(--dbr-heading);
  --bs-link-color: var(--dbr-link);
  --bs-link-color-rgb: 168, 212, 159;
  --bs-link-hover-color: var(--dbr-link-hover);
  --bs-link-hover-color-rgb: 240, 213, 143;
  --bs-border-color: var(--dbr-border);
  --bs-focus-ring-color: rgba(255, 128, 128, .5);
  --bs-primary: #2b7a22;
  --bs-primary-rgb: 43, 122, 34;
  color-scheme: dark;
}

/* --------------------------------------------------------------------------
   3. Grundlagen
   -------------------------------------------------------------------------- */
html { background: var(--dbr-page-bg); }

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

body {
  background: var(--dbr-main-bg);
  color: var(--dbr-text);
  font-family: var(--dbr-font-body);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--dbr-font-display);
  font-weight: 700;
  color: var(--dbr-heading);
  line-height: 1.2;
}

a { color: var(--dbr-link); text-underline-offset: .15em; }
a:hover { color: var(--dbr-link-hover); }

img { max-width: 100%; height: auto; }

.container,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl { max-width: var(--dbr-container-max); }

.dbr-layout--landing .container,
.dbr-layout--landing .container-xl { max-width: var(--dbr-container-max-landing); }

/* Ab 992 px: Innenabstand 24 px, damit Zeilen mit großem Abstand (g-lg-5, -24 px Rand) nicht über den Rand ragen */
@media (min-width: 992px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl { padding-inline: 1.5rem; }
}

/* Sichtbarer Fokus überall (WCAG 2.4.7 / 2.4.11) */
:focus-visible {
  outline: 3px solid var(--dbr-focus);
  outline-offset: 2px;
  border-radius: 2px;
}
.dbr-on-dark :focus-visible { outline-color: var(--dbr-focus-on-dark); }

/* Skip-Link */
.dbr-skiplink {
  position: absolute;
  top: .5rem;
  left: .5rem;
  z-index: 2000;
  padding: .75rem 1rem;
  background: #ffffff;
  color: #313538;
  font-weight: 600;
  border-radius: var(--dbr-radius);
  box-shadow: 0 2px 10px rgba(0, 0, 0, .3);
}

#dbr-main:focus { outline: none; }

/* Mindestgröße für Bedienelemente (WCAG 2.5.8) */
.dbr-target { min-width: 24px; min-height: 24px; }

/* --------------------------------------------------------------------------
   4. Buttons
   -------------------------------------------------------------------------- */
.btn-dbr {
  --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);
  --bs-btn-active-color: #ffffff;
  --bs-btn-active-bg: var(--dbr-accent-strong-hover);
  --bs-btn-active-border-color: var(--dbr-accent-strong-hover);
  --bs-btn-focus-shadow-rgb: 200, 51, 31;
  font-weight: 600;
}
.btn-dbr-outline {
  --bs-btn-color: var(--dbr-link);
  --bs-btn-border-color: var(--dbr-link);
  --bs-btn-hover-color: #ffffff;
  --bs-btn-hover-bg: var(--dbr-accent-strong);
  --bs-btn-hover-border-color: var(--dbr-accent-strong);
  --bs-btn-active-color: #ffffff;
  --bs-btn-active-bg: var(--dbr-accent-strong-hover);
  font-weight: 600;
}

/* Linkartiger Button (z. B. Cookie-Einstellungen) */
.dbr-linkbutton {
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: .15em;
  cursor: pointer;
}

/* --------------------------------------------------------------------------
   5. Section-Hintergründe (für Module und Template)
   -------------------------------------------------------------------------- */
.dbr-bg-light  { background: var(--dbr-section-light-bg); border-bottom: 1px solid var(--dbr-section-light-border); }
.dbr-bg-white  { background: var(--dbr-main-bg); }
.dbr-bg-grey   { background: var(--dbr-section-grey-bg); }
.dbr-bg-dark   { background: var(--dbr-dark-bg) var(--dbr-pattern-top) repeat 0 0; color: var(--dbr-dark-text); }
.dbr-bg-accent { background: var(--dbr-accent-strong); color: #ffffff; }
.dbr-bg-dark h1, .dbr-bg-dark h2, .dbr-bg-dark h3, .dbr-bg-dark h4,
.dbr-bg-accent h1, .dbr-bg-accent h2, .dbr-bg-accent h3, .dbr-bg-accent h4 { color: #ffffff; }
.dbr-bg-dark a:not(.btn), .dbr-bg-accent a:not(.btn) { color: #ffffff; }

.dbr-space-top-none { padding-top: 0; }
.dbr-space-top-s    { padding-top: 1.5rem; }
.dbr-space-top-m    { padding-top: 3.125rem; }   /* 50px wie Original */
.dbr-space-top-l    { padding-top: 5rem; }
.dbr-space-bottom-none { padding-bottom: 0; }
.dbr-space-bottom-s    { padding-bottom: 1.5rem; }
.dbr-space-bottom-m    { padding-bottom: 3.125rem; }
.dbr-space-bottom-l    { padding-bottom: 5rem; }

/* Überschrift mit Linie (Original „.header span“ mit bg-head.png) */
.dbr-heading-line {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-bottom: 1.5rem;
  font-size: 1.375rem;
}
.dbr-heading-line::after {
  content: "";
  flex: 1 1 auto;
  height: 6px;
  background: repeating-linear-gradient(90deg, var(--dbr-border) 0 2px, transparent 2px 4px);
}


/* Typografie nach Layout: Überschriften Outfit, Text Roboto Condensed */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 { font-weight: 500; }
h2, .h2 { font-size: clamp(1.625rem, 1.3rem + 1.1vw, 2.125rem); }
h3, .h3 { font-size: clamp(1.375rem, 1.2rem + .6vw, 1.625rem); }
.dbr-gold { color: var(--dbr-gold-text); }

/* --------------------------------------------------------------------------
   6. Kopf: weiße Navigationsleiste (Sprache, Hauptmenü, Werkzeuge)
   -------------------------------------------------------------------------- */
.dbr-site-header { position: relative; z-index: 1030; }
.dbr-topnav {
  background: var(--dbr-header-bg);
  border-bottom: 1px solid var(--dbr-border);
  font-size: .9375rem;
}
.dbr-topnav__inner {
  display: flex;
  align-items: center;
  gap: .5rem 1rem;
  min-height: var(--dbr-header-height);
}
.dbr-topnav__lang { flex: 0 0 auto; }
.dbr-topnav__tools { display: flex; align-items: center; gap: .125rem; margin-left: auto; flex: 0 0 auto; }
/* Login/Logout (nur Desktop, nur DE) */
.dbr-topnav__account { align-items: center; gap: .125rem; }
.dbr-topnav__login { display: inline-flex; align-items: center; gap: .375rem; min-height: 2.75rem; padding: 0 .625rem; border-radius: var(--dbr-radius); color: var(--dbr-nav-link); font-weight: 700; font-size: .9375rem; text-decoration: none; white-space: nowrap; }
.dbr-topnav__login:hover { color: var(--dbr-nav-active); text-decoration: underline; }
.dbr-topnav__login:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }

/* Sprachwahl „DE ▾“ */
.dbr-lang__btn {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  min-height: 2.75rem;
  padding: 0 .5rem;
  border: 1px solid transparent;
  border-radius: var(--dbr-radius);
  background: transparent;
  color: var(--dbr-nav-link);
  font-weight: 700;
  text-transform: uppercase;
}
.dbr-lang__btn:hover { border-color: var(--dbr-border); }
.dbr-lang__btn .fa-chevron-down { font-size: .625rem; }
.dbr-lang__menu { min-width: 11rem; font-size: 1rem; }
.dbr-lang__menu .dropdown-item { display: flex; gap: .75rem; align-items: baseline; min-height: 2.5rem; padding-block: .5rem; }
.dbr-lang__menu .dropdown-item span:first-child { min-width: 1.75rem; font-weight: 700; text-transform: uppercase; }
.dbr-lang__menu .dropdown-item[aria-current="true"] { background: var(--dbr-mint); color: var(--dbr-green); font-weight: 700; }
[data-bs-theme="dark"] .dbr-lang__menu .dropdown-item[aria-current="true"] { color: #ffffff; }

.dbr-iconbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: 1px solid transparent;
  border-radius: var(--dbr-radius);
  background: transparent;
  color: var(--dbr-nav-link);
  font-size: 1.125rem;
  text-decoration: none;
}
.dbr-iconbtn:hover { color: var(--dbr-nav-active); border-color: var(--dbr-border); }
.dbr-iconbtn--gold { color: var(--dbr-gold-text); }

.dbr-theme-menu .dropdown-item { display: flex; align-items: center; gap: .5rem; }
.dbr-theme-menu .dropdown-item[aria-pressed="true"] { font-weight: 700; }
.dbr-theme-menu .dropdown-item[aria-pressed="true"]::after {
  content: "\f00c";
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  margin-left: auto;
}

/* Desktop: Topbar (Sprache, Social Media, Werkzeuge) über der Menüleiste */
.dbr-topnav__social { display: none; margin: 0; padding: 0; }
@media (min-width: 992px) {
  .dbr-topnav { background: var(--dbr-section-light-bg); }
  .dbr-topnav__inner { min-height: 2.875rem; }
  .dbr-topnav__social { display: flex; align-items: center; gap: .125rem; margin-left: auto; }
  .dbr-topnav__social + .dbr-topnav__tools { margin-left: .5rem; padding-left: .5rem; border-left: 1px solid var(--dbr-border); }
  .dbr-mainnav { background: var(--dbr-header-bg); border-bottom: 1px solid var(--dbr-border); }
  .dbr-mainnav__inner { display: flex; align-items: center; min-height: var(--dbr-header-height); }
}

/* Warnschild mobil oben in der Mitte (Duplikat des Logo-Links, für Screenreader ausgeblendet) */
.dbr-topnav__sign { display: none; }
@media (max-width: 991.98px) {
  .dbr-topnav__inner { position: relative; min-height: 3.5rem; }
  .dbr-topnav__sign {
    display: block;
    position: absolute;
    left: 50%;
    top: .375rem;
    z-index: 2;
    width: 4.25rem;
    transform: translateX(-50%);
  }
  .dbr-topnav__sign img { display: block; width: 100%; height: auto; aspect-ratio: 326.16 / 290.333; }
}

/* --------------------------------------------------------------------------
   7. Grünes Logo-Band und Seitenband (Bereichstitel, Filter)
   -------------------------------------------------------------------------- */
.dbr-brandbar {
  background: var(--dbr-band-bg);
  color: var(--dbr-band-text);
}
.dbr-brandbar__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 6rem;
  padding-block: .75rem;
}
.dbr-logo { display: inline-flex; align-items: center; }
.dbr-logo img { display: block; height: auto; }
.dbr-logo .dbr-logo__full { width: 34rem; max-width: calc(100vw - 2rem); aspect-ratio: 489.0638 / 67.5482; }
/* Wortmarke je Sprache (DE/EN/PL/CS, unterschiedliche Seitenverhältnisse): feste Höhe, Breite aus width/height */
.dbr-logo .dbr-logo__wordmark { display: none; width: auto; height: 3.25rem; max-width: calc(100vw - 8rem); object-fit: contain; object-position: left center; }
.dbr-brandbar :focus-visible { outline-color: var(--dbr-focus-on-dark); }
/* Desktop (19.10.2026): Abstand zur Menüleiste etwa so hoch wie die Menüleiste. Das Logo ist 90 % so breit wie der Container
   und ragt oben und unten je 17,5 % seiner Höhe über das grüne Band hinaus – unten über den direkt anschließenden Hero-Slider
   bzw. Seitenkopf (Kopf liegt mit z-index 1030 darüber, ohne overflow:hidden). Prozentwerte bei margin beziehen sich auf die
   Breite des Containers: Überstand = 0,175 × 0,9 / 7,2402 (Seitenverhältnis des Logos) = 2,175 %. Die Bandhöhe ergibt sich
   daraus (65 % der Logohöhe). */
@media (min-width: 992px) {
  .dbr-brandbar { position: relative; margin-top: var(--dbr-header-height); }
  .dbr-brandbar__inner { min-height: 0; padding-block: 0; }
  .dbr-brandbar .dbr-logo { position: relative; z-index: 2; display: block; width: 90%; margin-block: -2.175%; }
  .dbr-brandbar .dbr-logo .dbr-logo__full { width: 100%; height: auto; max-width: none; }
  .dbr-pagehead .dbr-pagehead__inner { padding-top: 3rem; }
}
@media (max-width: 991.98px) {
  .dbr-brandbar__inner { min-height: 0; padding-top: 1.5rem; padding-bottom: .5rem; }
  .dbr-logo .dbr-logo__full { display: none; }
  .dbr-logo .dbr-logo__wordmark { display: block; }
}

/* Filterleiste unter dem Seitenkopf: Filter der Datenbereiche (DBR_BAND; das grüne Seitenband mit dem Bereichsnamen entfällt, 18.10.2026) */
.dbr-filterbar { background: var(--dbr-section-light-bg); border-block: 1px solid var(--dbr-border); }
.dbr-filterbar > .container { padding-block: 1rem; }
.dbr-band__filters { display: grid; gap: .625rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); max-width: 62rem; margin: 0; }
.dbr-band__filters .form-select, .dbr-band__filters .form-control, .dbr-band__filters .btn { min-height: 2.75rem; }

/* --------------------------------------------------------------------------
   8. Hauptnavigation (eine Struktur für Desktop + Mobil)
   -------------------------------------------------------------------------- */
.dbr-nav__list { margin: 0; padding: 0; list-style: none; }
.dbr-nav__row { display: flex; align-items: stretch; }
.dbr-nav__link {
  display: block;
  flex: 1 1 auto;
  color: var(--dbr-nav-link);
  font-family: var(--dbr-font-body);
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
}
.dbr-nav__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 2.75rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
}
.dbr-nav__toggle-icon { position: relative; display: block; width: .75rem; height: .75rem; }
.dbr-nav__toggle-icon::before,
.dbr-nav__toggle-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  margin-top: -1px;
  background: currentColor;
  transition: transform .2s ease;
}
.dbr-nav__toggle-icon::after { transform: rotate(90deg); }
.dbr-nav__item.is-open > .dbr-nav__row .dbr-nav__toggle-icon::after { transform: rotate(0deg); }
/* Desktop (19.10.2026): Pfeile statt +/− – Hauptmenü Chevron nach unten (offen: nach oben), Untermenü Chevron nach rechts */
@media (min-width: 992px) {
  .dbr-nav .dbr-nav__toggle-icon::before { display: none; }
  .dbr-nav .dbr-nav__toggle-icon::after {
    top: 50%; left: 50%; width: .5rem; height: .5rem; margin: 0; background: none;
    border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
    transform: translate(-50%, -75%) rotate(45deg);
  }
  .dbr-nav .dbr-nav__item.is-open > .dbr-nav__row .dbr-nav__toggle-icon::after { transform: translate(-50%, -25%) rotate(-135deg); }
  .dbr-nav .dbr-nav__list--sub .dbr-nav__toggle-icon::after,
  .dbr-nav .dbr-nav__list--sub .dbr-nav__item.is-open > .dbr-nav__row .dbr-nav__toggle-icon::after { transform: translate(-75%, -50%) rotate(-45deg); }
}

/* ---------- Mobil (< 992px): Menü klappt unter der Kopfzeile auf ---------- */
@media (max-width: 991.98px) {
  .dbr-offcanvas.offcanvas-top { --bs-offcanvas-height: auto; max-height: 100vh; background: var(--dbr-main-bg); }
  .dbr-offcanvas .offcanvas-header { border-bottom: 1px solid var(--dbr-border); }
  .dbr-offcanvas .offcanvas-title { font-family: var(--dbr-font-display); font-weight: 600; color: var(--dbr-heading); }
  .dbr-offcanvas .offcanvas-body { padding: 0; overflow-y: auto; }
  .dbr-offcanvas__extra { padding: 1.25rem 1rem; border-top: 1px solid var(--dbr-border); display: grid; gap: 1.25rem; }
  .dbr-offcanvas__account { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
  .dbr-offcanvas__account a { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.75rem; color: var(--dbr-heading); font-weight: 700; text-decoration: none; }
  .dbr-offcanvas__theme-label { display: flex; align-items: center; gap: .5rem; margin: 0 0 .5rem; color: var(--dbr-heading); font-weight: 700; }
  .dbr-offcanvas__theme-btns { display: flex; padding: .25rem; border: 1px solid var(--dbr-border); border-radius: 999px; }
  .dbr-offcanvas__theme-btns button { flex: 1 1 0; min-height: 2.5rem; padding: .25rem .5rem; border: 0; border-radius: 999px; background: transparent; color: var(--dbr-text); }
  .dbr-offcanvas__theme-btns button[aria-pressed="true"] { background: var(--dbr-accent-strong); color: #ffffff; font-weight: 700; }
  .dbr-nav__item { border-bottom: 1px solid var(--dbr-border); }
  .dbr-nav__link { padding: .75rem 1rem; font-family: var(--dbr-font-display); font-weight: 500; font-size: 1.1875rem; }
  .dbr-nav__list--l1 .dbr-nav__link { padding-left: 2rem; font-family: var(--dbr-font-body); font-weight: 400; font-size: 1.0625rem; }
  .dbr-nav__list--l2 .dbr-nav__link { padding-left: 3rem; }
  .dbr-nav__toggle { min-width: 3rem; color: var(--dbr-nav-link); }
  .dbr-nav__link[aria-current="page"],
  .dbr-nav__item.is-active > .dbr-nav__row > .dbr-nav__link { color: var(--dbr-nav-active); }
  .dbr-nav__list--sub { display: none; border-top: 1px solid var(--dbr-border); background: var(--dbr-section-light-bg); }
  .dbr-nav__item.is-open > .dbr-nav__list--sub { display: block; }
  .dbr-nav__list--sub .dbr-nav__item:last-child { border-bottom: 0; }
}

/* ---------- Desktop (≥ 992px): horizontal, mittig, mit Dropdown ---------- */
@media (min-width: 992px) {
  .dbr-offcanvas { flex: 1 1 auto; min-width: 0; }
  .dbr-offcanvas .offcanvas-header,
  .dbr-offcanvas__extra { display: none; }
  .dbr-offcanvas .offcanvas-body { justify-content: center; padding: 0; overflow: visible; }
  .dbr-nav__list--l0 { display: flex; flex-wrap: wrap; justify-content: center; }
  .dbr-nav__list--l0 > .dbr-nav__item { position: relative; }
  .dbr-nav__list--l0 > .dbr-nav__item > .dbr-nav__row > .dbr-nav__link {
    padding: .875rem .625rem;
    line-height: 1.25;
    white-space: nowrap;
  }
  .dbr-nav__list--l0 > .dbr-nav__item.has-children > .dbr-nav__row > .dbr-nav__link { padding-right: .125rem; }
  .dbr-nav__list--l0 > .dbr-nav__item > .dbr-nav__row > .dbr-nav__toggle { min-width: 1.5rem; margin-right: .25rem; color: var(--dbr-nav-link); }
  .dbr-nav__list--l0 > .dbr-nav__item > .dbr-nav__row .dbr-nav__toggle-icon { width: .5rem; height: .5rem; }
  /* 992–1199 px: kompaktere Navigation (lange Wörter in PL/CS) */
  @media (max-width: 1199.98px) {
    .dbr-nav__list--l0 > .dbr-nav__item > .dbr-nav__row > .dbr-nav__link { padding-inline: .3125rem; font-size: .9375rem; }
    .dbr-nav__list--l0 > .dbr-nav__item > .dbr-nav__row > .dbr-nav__toggle { min-width: 1.25rem; margin-right: .125rem; }
  }

  /* goldener Balken unter dem aktiven Hauptpunkt */
  .dbr-nav__list--l0 > .dbr-nav__item::before {
    content: "";
    position: absolute;
    left: .625rem;
    right: .625rem;
    bottom: 0;
    height: 3px;
    background: transparent;
    transition: background-color .2s ease;
  }
  /* Hover ohne goldenen Rand (18.10.2026) – der Balken markiert nur den aktiven Bereich */
  .dbr-nav__list--l0 > .dbr-nav__item.is-active::before { background: var(--dbr-nav-bar); }

  /* Dropdown */
  .dbr-nav__list--sub {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1040;
    min-width: 15rem;
    padding: .25rem 0;
    border-top: 3px solid var(--dbr-gold);
    background: var(--dbr-dropdown-bg);
    box-shadow: 0 6px 18px rgba(21, 71, 17, .18);
    visibility: hidden;
    opacity: 0;
    transform: translateY(.5rem);
    transition: opacity .15s ease, transform .15s ease, visibility 0s linear .15s;
  }
  .dbr-nav__list--sub .dbr-nav__list--sub { top: -.25rem; left: 100%; }
  .dbr-nav__list--l0 > .dbr-nav__item:nth-last-child(-n+2) > .dbr-nav__list--sub { left: auto; right: 0; }
  .dbr-nav__list--l0 > .dbr-nav__item:nth-last-child(-n+2) .dbr-nav__list--sub .dbr-nav__list--sub { left: auto; right: 100%; }
  .dbr-nav__item:hover > .dbr-nav__list--sub,
  .dbr-nav__item.is-open > .dbr-nav__list--sub {
    visibility: visible;
    opacity: 1;
    transform: none;
    transition: opacity .15s ease, transform .15s ease, visibility 0s;
  }
  .dbr-nav__list--sub > .dbr-nav__item { position: relative; border-top: 1px solid var(--dbr-dropdown-sep-top); }
  .dbr-nav__list--sub > .dbr-nav__item:first-child { border-top: 0; }
  .dbr-nav__list--sub .dbr-nav__link {
    padding: .625rem 1rem;
    color: var(--dbr-dropdown-link);
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.35;
  }
  .dbr-nav__list--sub .dbr-nav__toggle { color: var(--dbr-dropdown-link); }
  .dbr-nav__list--sub > .dbr-nav__item:hover,
  .dbr-nav__list--sub > .dbr-nav__item.is-active { background: var(--dbr-dropdown-hover-bg); }
  .dbr-nav__list--sub > .dbr-nav__item:hover > .dbr-nav__row > *,
  .dbr-nav__list--sub > .dbr-nav__item.is-active > .dbr-nav__row > * { color: var(--dbr-dropdown-hover-text); }
  .dbr-nav__list--sub :focus-visible { outline-offset: -3px; }
}

@media (prefers-reduced-motion: reduce) {
  .dbr-nav__list--sub,
  .dbr-nav__toggle-icon::before,
  .dbr-nav__toggle-icon::after { transition: none !important; }
}

/* --------------------------------------------------------------------------
   9. Seitenkopf im Inhalt: Breadcrumb + H1 (Unterseiten)
   -------------------------------------------------------------------------- */
.dbr-headerimage { position: relative; background: var(--dbr-slider-bg); }
/* Kopfbild im Format 2,5 : 1 (dbr_banner 2000 × 800, 20.10.2026; bis dahin 31vw / max. 37rem) */
.dbr-headerimage img { display: block; width: 100%; height: clamp(12rem, 40vw, 50rem); object-fit: cover; }
/* Kopfbild 16:9 bzw. 3:2 (04.11.2026, z. B. Fotospots, Modul 45): volle Breite im gewählten Seitenverhältnis */
.dbr-headerimage--169 img { height: auto; aspect-ratio: 16 / 9; }
.dbr-headerimage--32 img { height: auto; aspect-ratio: 3 / 2; }
.dbr-headerimage--169 .dbr-islider--header.is-enhanced .dbr-islider__stage { height: auto; aspect-ratio: 16 / 9; }
.dbr-headerimage--32 .dbr-islider--header.is-enhanced .dbr-islider__stage { height: auto; aspect-ratio: 3 / 2; }
/* Kopfbild-Slider (19.10.2026): mehrere Bilder einer Region bzw. eines Partners; gleiche Höhe wie das einzelne Kopfbild */
.dbr-headerimage .dbr-islider--header .dbr-islider__img { aspect-ratio: auto; }
.dbr-headerimage .dbr-islider--header.is-enhanced .dbr-islider__stage { aspect-ratio: auto; height: clamp(12rem, 40vw, 50rem); border-radius: 0; background: var(--dbr-slider-bg); }
.dbr-headerimage .dbr-islider--header:not(.is-enhanced) .dbr-islider__slide + .dbr-islider__slide { display: none; }
.dbr-headerimage .dbr-islider--header .dbr-islider__figure { height: 100%; }
.dbr-headerimage .dbr-islider--header .dbr-islider__arrows { padding-inline: max(.75rem, calc((100vw - 1320px) / 2)); }
@media (max-width: 575.98px) { .dbr-headerimage .dbr-islider--header .dbr-islider__arrow { width: 2.25rem; height: 2.25rem; font-size: .8125rem; } }
.dbr-pagehead { background: var(--dbr-pagehead-bg); }
.dbr-pagehead__inner { padding-top: 1.75rem; padding-bottom: .5rem; }
.dbr-pagehead__title { margin: .25rem 0 0; font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem); font-weight: 500; }
p.dbr-pagehead__title { font-family: var(--dbr-font-display); line-height: 1.2; color: var(--dbr-heading); }
.dbr-breadcrumb { --bs-breadcrumb-margin-bottom: 0; --bs-breadcrumb-divider-color: var(--dbr-breadcrumb-text); --bs-breadcrumb-divider: "›"; font-size: .9375rem; font-weight: 700; }
.dbr-breadcrumb .breadcrumb-item,
.dbr-breadcrumb .breadcrumb-item a { color: var(--dbr-heading); text-decoration: none; }
.dbr-breadcrumb .breadcrumb-item a:hover { color: var(--dbr-link-hover); text-decoration: underline; }
.dbr-breadcrumb .breadcrumb-item.active { color: var(--dbr-breadcrumb-text); font-weight: 400; }

.dbr-main-body { background: var(--dbr-main-bg); }

/* Einleitung in Gold (Layout), Kontrast korrigiert */
.dbr-lead { color: var(--dbr-lead); font-size: clamp(1.1875rem, 1rem + .6vw, 1.5rem); font-weight: 700; line-height: 1.35; }

/* --------------------------------------------------------------------------
   10. Footer: Partnerlogos, grünes Band, Mint-Bereich (3 Spalten)
   -------------------------------------------------------------------------- */
.dbr-partners {
  padding: 2rem 0 1.5rem;
  background: linear-gradient(to bottom, var(--dbr-section-light-bg), var(--dbr-main-bg) 4rem);
  text-align: center;
}
.dbr-partners__title { margin-bottom: 1.25rem; color: var(--dbr-gold-text); font-family: var(--dbr-font-body); font-size: 1.375rem; font-weight: 700; }
.dbr-partners__list { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1.25rem 2rem; margin: 0; padding: 0; list-style: none; }
.dbr-partners__list a { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; }
/* feste Höhe, Breite aus width/height der Datei: steht schon vor dem Laden fest (kein Layout-Versatz, 20.10.2026) */
.dbr-partners__list img { display: block; max-width: 7.5rem; height: 3.75rem; width: auto; object-fit: contain; }
[data-bs-theme="dark"] .dbr-partners__list img { background: #ffffff; padding: .25rem; border-radius: var(--dbr-radius); }

.dbr-strip { background: var(--dbr-green); color: #ffffff; }
.dbr-strip__inner { display: grid; grid-template-columns: 1fr; gap: 1rem; align-items: center; justify-items: center; padding-block: 1.25rem; text-align: center; }
.dbr-strip__logo img { display: block; width: auto; height: 2.25rem; max-width: 100%; }
.dbr-strip__slogan { margin: 0; color: #ffffff; font-family: var(--dbr-font-display); font-size: 1.5rem; font-weight: 600; line-height: 1.15; }
.dbr-strip__social { display: flex; gap: .625rem; }
.dbr-strip__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  background: var(--dbr-gold);
  color: #154711;                   /* 5,74:1 auf Gold */
  font-size: 1.25rem;
  text-decoration: none;
}
.dbr-strip__social a:hover { background: #ffffff; }
.dbr-strip :focus-visible { outline-color: #ffffff; }
@media (min-width: 768px) {
  .dbr-strip__inner { grid-template-columns: auto 1fr auto; justify-items: start; text-align: left; }
}

.dbr-bottom { padding: 2rem 0 1.5rem; background: var(--dbr-bottom-bg); color: var(--dbr-bottom-text); font-size: 1rem; }
.dbr-bottom__title { margin: 0 0 .25rem; color: var(--dbr-bottom-text); font-family: var(--dbr-font-body); font-size: 1rem; font-weight: 700; }
.dbr-bottom address { margin: 0 0 1rem; font-style: normal; }
.dbr-bottom__strong { font-weight: 700; }
.dbr-bottom__links { margin: 0; padding: 0; list-style: none; }
.dbr-bottom__links li { position: relative; padding-left: 1rem; }
.dbr-bottom__links li::before { content: "\f105"; position: absolute; left: 0; top: .25rem; font-family: "Font Awesome 6 Pro"; font-weight: 400; font-size: .875rem; color: var(--dbr-heading); }
.dbr-bottom__links a,
.dbr-bottom__links .dbr-linkbutton { display: inline-block; padding-block: .125rem; color: var(--dbr-bottom-text); text-decoration: none; }
.dbr-bottom__links .is-strong a { font-weight: 700; }
.dbr-bottom a:hover,
.dbr-bottom .dbr-linkbutton:hover { color: var(--dbr-link-hover); text-decoration: underline; }
.dbr-bottom__logos { display: grid; grid-template-columns: 2fr 1fr; gap: 1rem; align-items: center; margin-bottom: 1rem; }
.dbr-bottom__logos img { display: block; max-width: 100%; height: auto; }
.dbr-bottom__funding { display: grid; grid-template-columns: 3rem 1fr; gap: .75rem; align-items: start; font-size: .8125rem; line-height: 1.35; }
.dbr-bottom__funding img { width: 3rem; height: auto; }
[data-bs-theme="dark"] .dbr-bottom__logos,
[data-bs-theme="dark"] .dbr-bottom__funding img { background: #ffffff; padding: .5rem; border-radius: var(--dbr-radius); }
.dbr-footer { padding: .75rem 0; background: var(--dbr-bottom-bg); border-top: 1px solid var(--dbr-bottom-border); color: var(--dbr-text-muted); font-size: .875rem; }
/* Copyright links, Agentur rechts (Desktop) bzw. darunter (mobil) – 20.10.2026 */
.dbr-footer__row { display: flex; flex-direction: column; gap: .25rem; }
@media (min-width: 768px) { .dbr-footer__row { flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: baseline; column-gap: 1.5rem; } .dbr-footer__agency { text-align: right; } }
.dbr-footer__agency a { color: inherit; text-decoration: underline; text-underline-offset: .15em; }
.dbr-footer__agency a:hover { text-decoration-thickness: 2px; }


/* Filterleiste einer Region bzw. eines Partners: drei Auswahllisten + „Anzeigen“ (19.10.2026) */
.dbr-rsel { display: grid; gap: .625rem; margin: 0; }
.dbr-rsel__fields { display: grid; gap: .625rem; }
.dbr-rsel .form-select, .dbr-rsel .btn { min-height: 2.75rem; }
.dbr-rsel .form-select option:first-child { font-weight: 700; }
.dbr-rsel__submit { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.dbr-rsel .dbr-hgo__status { margin: 0; color: var(--dbr-text-muted); font-size: .9375rem; }
.dbr-rsel .dbr-hgo__status:empty { display: none; }
@media (min-width: 768px) { .dbr-rsel__fields { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 992px) { .dbr-rsel { grid-template-columns: 1fr auto; align-items: start; } }
/* --------------------------------------------------------------------------
   11. Landingpages
   -------------------------------------------------------------------------- */
.dbr-lp-header {
  position: sticky;
  top: 0;
  z-index: 1030;
  background: var(--dbr-header-bg);
  border-bottom: 1px solid var(--dbr-border);
  transition: background-color .2s ease, box-shadow .2s ease;
}
.dbr-lp-header.is-scrolled { box-shadow: 0 2px 12px rgba(0, 0, 0, .12); }
.dbr-lp-header__inner { display: flex; align-items: center; gap: 1rem; min-height: 72px; }
.dbr-lp-nav { margin-left: auto; }
.dbr-lp-anchors { display: flex; flex-wrap: wrap; gap: .25rem; margin: 0; padding: 0; list-style: none; }
.dbr-lp-anchors a {
  display: inline-block;
  padding: .5rem .75rem;
  border-radius: 999px;
  color: var(--dbr-nav-link);
  font-family: var(--dbr-font-display);
  font-size: 1.0625rem;
  text-decoration: none;
}
.dbr-lp-anchors a:hover { color: var(--dbr-nav-active); background: rgba(21, 71, 17, .08); }
.dbr-lp-actions { display: flex; align-items: center; gap: .5rem; flex: 0 0 auto; }
.dbr-lp-actions .dbr-header__tools { margin-left: 0; }
.dbr-lp-nav + .dbr-lp-actions { margin-left: 0; }
.dbr-lp-header__inner > .dbr-logo + .dbr-lp-actions { margin-left: auto; }

/* Variante A „split“: klassisch hell, CTA rechts */
.dbr-lp--split .dbr-lp-header { background: var(--dbr-main-bg); }

/* Variante B „fullscreen“: Header liegt transparent über dem Hero */
.dbr-lp--fullscreen .dbr-lp-header {
  position: fixed;
  inset: 0 0 auto 0;
  background: transparent;
  border-bottom-color: transparent;
}
.dbr-lp--fullscreen .dbr-lp-header:not(.is-scrolled) .dbr-lp-anchors a,
.dbr-lp--fullscreen .dbr-lp-header:not(.is-scrolled) .dbr-iconbtn { color: #ffffff; text-shadow: 0 1px 2px rgba(0, 0, 0, .5); }
.dbr-lp--fullscreen .dbr-lp-header:not(.is-scrolled) .dbr-lp-anchors a:hover { background: rgba(255, 255, 255, .15); }
.dbr-lp--fullscreen .dbr-lp-header:not(.is-scrolled) .dbr-logo__light { display: none !important; }
.dbr-lp--fullscreen .dbr-lp-header:not(.is-scrolled) .dbr-logo__dark { display: block !important; }
.dbr-lp--fullscreen .dbr-lp-header.is-scrolled { background: var(--dbr-header-bg); border-bottom-color: var(--dbr-border); }

/* Variante C „tiles“: Akzentband, Logo mittig, Anker als Pills darunter */
.dbr-lp--tiles .dbr-lp-header { border-top: 4px solid var(--dbr-accent); }
@media (min-width: 992px) {
  .dbr-lp--tiles .dbr-lp-header__inner { flex-wrap: wrap; justify-content: center; padding-block: .75rem; }
  .dbr-lp--tiles .dbr-lp-nav { order: 3; flex-basis: 100%; margin: 0; }
  .dbr-lp--tiles .dbr-lp-anchors { justify-content: center; margin-top: .25rem; }
  .dbr-lp--tiles .dbr-lp-anchors a { border: 1px solid var(--dbr-border); }
  .dbr-lp--tiles .dbr-lp-actions { position: absolute; top: .75rem; right: calc(var(--bs-gutter-x, 1.5rem) * .5); }
}

@media (max-width: 991.98px) {
  .dbr-lp-nav { display: none; }
  .dbr-lp-actions { margin-left: auto; }
}
/* schmale Handys: Logo und CTA verkleinern, damit längere CTA-Texte ganz sichtbar bleiben */
@media (max-width: 479.98px) {
  .dbr-lp-header__inner { gap: .5rem; }
  .dbr-lp-header .dbr-logo img { width: 140px; height: auto; }
  .dbr-lp-cta { padding: .375rem .625rem; font-size: .875rem; white-space: nowrap; }
}

.dbr-lp-footer { padding: 1.5rem 0; background: var(--dbr-dark-bg) var(--dbr-pattern-footer) repeat 0 0; color: var(--dbr-dark-text); font-size: .8125rem; }
.dbr-lp-footer a, .dbr-lp-footer .dbr-linkbutton { color: var(--dbr-dark-link); }
.dbr-lp-footer a:hover, .dbr-lp-footer .dbr-linkbutton:hover { color: var(--dbr-dark-link-hover); }

/* --------------------------------------------------------------------------
   12. Hinweise für Redakteure (nur mit Backend-Login sichtbar)
   -------------------------------------------------------------------------- */
.dbr-notice {
  margin: .75rem 0;
  padding: .75rem 1rem;
  border: 2px dashed #b45309;
  border-radius: var(--dbr-radius);
  background: #fff7e6;
  color: #5c2c00;              /* 10,4:1 auf #fff7e6 */
  font-family: var(--dbr-font-body);
  font-size: .875rem;
}
.dbr-notice strong { color: #5c2c00; }
[data-bs-theme="dark"] .dbr-notice { background: #3a2a10; color: #ffe2b3; border-color: #f0a040; }
[data-bs-theme="dark"] .dbr-notice strong { color: #ffe2b3; }

/* --------------------------------------------------------------------------
   13. Druck
   -------------------------------------------------------------------------- */
@media print {
  .dbr-topbar, .dbr-header__tools, .dbr-nav, .dbr-offcanvas, .dbr-bottom, .dbr-skiplink { display: none !important; }
  body, .dbr-main-body { background: #ffffff !important; color: #000000 !important; }
}

/* Sprungziele nicht unter dem fixierten Landingpage-Header verstecken */
.dbr-layout--landing [id] { scroll-margin-top: 5.5rem; }
.dbr-lp--tiles [id] { scroll-margin-top: 9rem; }

/* ==========================================================================
   14. Module (Etappe 2)
   ========================================================================== */

.dbr-container-narrow { max-width: 760px; }
.dbr-richtext > :last-child { margin-bottom: 0; }
.dbr-richtext img { height: auto; }
.dbr-lead { font-size: 1.0625rem; }
.dbr-heading { margin-bottom: 1.25rem; }

/* Text + Bild */
.dbr-figure { margin: 0 0 1.25rem; }
.dbr-figure__img { display: block; width: 100%; border-radius: var(--dbr-radius); }
.dbr-ratio-16x9 .dbr-figure__img { aspect-ratio: 16 / 9; object-fit: cover; }
.dbr-ratio-4x3 .dbr-figure__img { aspect-ratio: 4 / 3; object-fit: cover; }
.dbr-ratio-1x1 .dbr-figure__img { aspect-ratio: 1 / 1; object-fit: cover; }
.dbr-figure__caption { margin-top: .5rem; color: var(--dbr-text-muted); font-size: .8125rem; }
.row .dbr-figure { margin-bottom: 0; }

/* Mehrspaltig */
.dbr-columns__title { font-size: 1.25rem; margin-bottom: .75rem; }

/* Icon-Boxen */
.dbr-iconbox { position: relative; height: 100%; }
.dbr-iconbox__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: var(--dbr-accent);
  box-shadow: 0 1px 3px rgba(0, 0, 0, .1);
  color: #ffffff;
  font-size: 1.625rem;
}
.dbr-iconbox__title { margin-bottom: .5rem; font-size: 1.25rem; }
.dbr-iconbox__title a { color: var(--dbr-heading); text-decoration: none; }
.dbr-iconbox.is-linked:hover .dbr-iconbox__title a,
.dbr-iconbox__title a:focus-visible { color: var(--dbr-link-hover); text-decoration: underline; }
.dbr-iconbox__text { margin-bottom: .5rem; }
.dbr-iconbox__more { color: var(--dbr-link); font-weight: 600; font-size: .875rem; }
.dbr-iconbox__title a.stretched-link:focus-visible { outline: none; }
.dbr-iconbox__title a.stretched-link:focus-visible::after { outline: 3px solid var(--dbr-focus); outline-offset: 4px; border-radius: var(--dbr-radius); }

.dbr-iconboxes--left .dbr-iconbox { display: flex; gap: 1.25rem; align-items: flex-start; }
.dbr-iconboxes--card .dbr-iconbox {
  padding: 1.75rem 1.5rem;
  border: 1px solid var(--dbr-border);
  border-radius: calc(var(--dbr-radius) * 2);
  background: var(--dbr-main-bg);
  text-align: center;
  transition: box-shadow .2s ease, transform .2s ease;
}
.dbr-iconboxes--card .dbr-iconbox__icon { margin-bottom: 1rem; }
.dbr-iconboxes--card .dbr-iconbox.is-linked:hover { box-shadow: 0 6px 20px rgba(0, 0, 0, .08); transform: translateY(-2px); }
@media (prefers-reduced-motion: reduce) {
  .dbr-iconboxes--card .dbr-iconbox { transition: none; }
  .dbr-iconboxes--card .dbr-iconbox.is-linked:hover { transform: none; }
}

/* Tabs / Accordion */
.dbr-tabs__nav { --bs-nav-link-color: var(--dbr-nav-link); --bs-nav-link-hover-color: var(--dbr-nav-active); font-family: var(--dbr-font-display); font-size: 1.0625rem; }
.dbr-tabs__nav.nav-tabs { --bs-nav-tabs-link-active-color: var(--dbr-heading); --bs-nav-tabs-link-active-border-color: var(--dbr-border) var(--dbr-border) var(--dbr-main-bg); }
.dbr-tabs__nav.nav-tabs .nav-link.active { border-top: 2px solid var(--dbr-accent); }
.dbr-tabs__nav.nav-pills { --bs-nav-pills-link-active-bg: var(--dbr-accent-strong); --bs-nav-pills-link-active-color: #ffffff; gap: .5rem; }
.dbr-tabs__content { padding: 1.5rem 0 0; }
.dbr-tabs--scroll .dbr-tabs__nav { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; }
.dbr-tabs--scroll .dbr-tabs__nav .nav-link { white-space: nowrap; }
.dbr-accordion {
  --bs-accordion-active-color: var(--dbr-heading);
  --bs-accordion-active-bg: rgba(21, 71, 17, .08);
  --bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(156, 36, 22, .35);
}
.dbr-accordion .accordion-header { margin: 0; font-size: 1rem; }
.dbr-accordion .accordion-button { font-family: var(--dbr-font-display); font-size: 1.0625rem; }

/* Preisboxen */
.dbr-price-card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 2rem 1.5rem 1.5rem;
  border: 1px solid var(--dbr-border);
  border-radius: calc(var(--dbr-radius) * 2);
  background: var(--dbr-main-bg);
}
.dbr-price-card.is-highlight { border: 2px solid var(--dbr-accent); box-shadow: 0 8px 24px rgba(21, 71, 17, .15); }
.dbr-price-card__badge {
  position: absolute;
  top: 0;
  left: 50%;
  margin: 0;
  padding: .25rem .875rem;
  border-radius: 999px;
  background: var(--dbr-accent-strong);
  color: #ffffff;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  transform: translate(-50%, -50%);
}
.dbr-price-card__name { margin-bottom: .5rem; font-size: 1.375rem; text-align: center; }
.dbr-price-card__price { margin-bottom: .75rem; text-align: center; }
.dbr-price-card__amount { color: var(--dbr-heading); font-family: var(--dbr-font-display); font-size: 2.5rem; font-weight: 700; line-height: 1.1; }
.dbr-price-card__interval { display: block; color: var(--dbr-text-muted); font-size: .875rem; }
.dbr-price-card__desc { color: var(--dbr-text-muted); text-align: center; }
.dbr-price-card__features { flex: 1 1 auto; margin: 0 0 1.5rem; padding: 1rem 0 0; border-top: 1px solid var(--dbr-border); list-style: none; }
.dbr-price-card__features li { display: flex; gap: .625rem; padding: .3125rem 0; }
.dbr-price-card__features i { margin-top: .25rem; width: 1rem; }
.dbr-price-card__features .is-included i { color: var(--dbr-accent); }
.dbr-price-card__features .is-excluded { color: var(--dbr-text-muted); }
.dbr-price-card__features .is-excluded i { color: var(--dbr-text-muted); }
.dbr-price-card__cta { margin: 0; }
.dbr-pricing__note { margin: 1.5rem 0 0; color: var(--dbr-text-muted); font-size: .8125rem; text-align: center; }

/* Trenner */
.dbr-divider { position: relative; }
.dbr-divider--space-s { margin-block: 1rem; }
.dbr-divider--space-m { margin-block: 2rem; }
.dbr-divider--space-l { margin-block: 3.5rem; }
.dbr-divider--line, .dbr-divider--dashed, .dbr-divider--dotted, .dbr-divider--icon { border-top: 1px solid var(--dbr-border); }
.dbr-divider--dashed { border-top-style: dashed; }
.dbr-divider--dotted { border-top: 3px dotted var(--dbr-border); }
.dbr-divider--accent { border-top-color: var(--dbr-accent); }
.dbr-divider--icon { display: flex; justify-content: center; }
.dbr-divider__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  margin-top: -1.25rem;
  border-radius: 50%;
  background: var(--dbr-main-bg);
  color: var(--dbr-accent);
  font-size: 1.125rem;
}
.dbr-divider--shape { line-height: 0; }
.dbr-divider__svg { display: block; width: 100%; height: clamp(40px, 6vw, 90px); }
.dbr-divider__svg.is-flipped { transform: scaleX(-1); }
.dbr-fill-white  { fill: var(--dbr-main-bg); }
.dbr-fill-light  { fill: #fbfbfb; }
.dbr-fill-grey   { fill: var(--dbr-section-grey-bg); }
.dbr-fill-dark   { fill: var(--dbr-dark-bg); }
.dbr-fill-accent { fill: var(--dbr-accent-strong); }
[data-bs-theme="dark"] .dbr-fill-light { fill: #232629; }
.dbr-bg-light.dbr-divider--shape { border-bottom: 0; }

/* ==========================================================================
   15. Hero-Slider (Slider Revolution 5.4.8)
   ========================================================================== */
.dbr-rs { position: relative; background: var(--dbr-slider-bg); }
.dbr-hero--h360 { min-height: 360px; }
.dbr-hero--h440 { min-height: 440px; }
.dbr-hero--h520 { min-height: 520px; }
.dbr-hero--h600 { min-height: 600px; }
@media (max-width: 777.98px) {
  .dbr-hero--h360, .dbr-hero--h440, .dbr-hero--h520, .dbr-hero--h600 { min-height: 380px; }
}

/* Ohne Layout-Verschiebung (CLS): Der Fallback ist genau so hoch wie der fertige Slider.
   Slider Revolution (fullwidth) rechnet je Stufe: Höhe = max(340, gridheight × min(1, Breite / gridwidth)).
   Stufen nach Fensterbreite wie responsiveLevels [1240, 1024, 778, 480] → gridwidth 1170 / 1024 / 778 / 480;
   gridheight je Variante wie sfx_revslider_heights(). 100cqw = Breite von .dbr-rs (ohne Scrollleiste). */
@supports (width: 1cqw) {
  .dbr-rs { container-type: inline-size; }
  .dbr-rs .dbr-hero-fallback {
    --dbr-rs-gw: 1170;
    min-height: clamp(340px, calc(var(--dbr-rs-gh) * 100cqw / var(--dbr-rs-gw)), calc(var(--dbr-rs-gh) * 1px));
  }
  .dbr-rs .dbr-hero--h360 { --dbr-rs-gh: 360; }
  .dbr-rs .dbr-hero--h440 { --dbr-rs-gh: 440; }
  .dbr-rs .dbr-hero--h520 { --dbr-rs-gh: 520; }
  .dbr-rs .dbr-hero--h600 { --dbr-rs-gh: 600; }
  @media (max-width: 1024px) {
    .dbr-rs .dbr-hero-fallback { --dbr-rs-gw: 1024; }
  }
  @media (max-width: 778px) {
    .dbr-rs .dbr-hero-fallback { --dbr-rs-gw: 778; }
    .dbr-rs .dbr-hero--h360 { --dbr-rs-gh: 380; }
    .dbr-rs .dbr-hero--h600 { --dbr-rs-gh: 560; }
  }
  @media (max-width: 480px) {
    .dbr-rs .dbr-hero-fallback { --dbr-rs-gw: 480; }
    .dbr-rs .dbr-hero--h360 { --dbr-rs-gh: 400; }
    .dbr-rs .dbr-hero--h520 { --dbr-rs-gh: 480; }
    .dbr-rs .dbr-hero--h600 { --dbr-rs-gh: 520; }
  }
}

/* Statischer Fallback (ohne JS bzw. bis der Slider bereit ist) */
.dbr-hero-fallback { position: relative; display: flex; align-items: center; overflow: hidden; color: #ffffff; }
.dbr-hero-fallback__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.dbr-hero-fallback__bg.dbr-bgpos--center { object-position: center; }
.dbr-hero-fallback__bg.dbr-bgpos--centerbottom { object-position: center bottom; }
.dbr-hero-fallback__bg.dbr-bgpos--lefttop { object-position: left top; }
.dbr-hero-fallback__bg.dbr-bgpos--righttop { object-position: right top; }
.dbr-hero-fallback::after { content: ""; position: absolute; inset: 0; pointer-events: none; }
.dbr-hero-fallback__inner { position: relative; z-index: 1; padding-block: 2.5rem; }
.dbr-rs.is-ready .dbr-hero-fallback { display: none; }
.dbr-rs__wrapper[hidden] { display: none !important; }
.dbr-rs:not(.is-ready) .dbr-rs__wrapper { position: absolute; inset: 0; opacity: 0; }
/* Den äußeren Wrapper legt Slider Revolution beim Start selbst an (mit Inline-Styles) – bis „is-ready“ ebenfalls aus dem Fluss nehmen */
.dbr-rs:not(.is-ready) > .forcefullwidth_wrapper_tp_banner { position: absolute !important; inset: 0 auto auto 0; width: 100%; margin: 0 !important; opacity: 0; }

/* Abdunklung (Overlay) – links stärker, damit der Text sicher lesbar ist */
.dbr-rs-overlay--20::after, .dbr-rs-overlay.dbr-rs-overlay--20 { background: linear-gradient(90deg, rgba(0, 0, 0, .35) 0%, rgba(0, 0, 0, .1) 70%); }
.dbr-rs-overlay--35::after, .dbr-rs-overlay.dbr-rs-overlay--35 { background: linear-gradient(90deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, .2) 75%); }
.dbr-rs-overlay--50::after, .dbr-rs-overlay.dbr-rs-overlay--50 { background: linear-gradient(90deg, rgba(0, 0, 0, .68) 0%, rgba(0, 0, 0, .35) 80%); }
.dbr-rs-overlay--65::after, .dbr-rs-overlay.dbr-rs-overlay--65 { background: linear-gradient(90deg, rgba(0, 0, 0, .78) 0%, rgba(0, 0, 0, .5) 80%); }
.dbr-rs-overlay { z-index: 4; }
@media (max-width: 777.98px) {
  .dbr-rs-overlay--20::after, .dbr-rs-overlay.dbr-rs-overlay--20 { background: rgba(0, 0, 0, .3); }
  .dbr-rs-overlay--35::after, .dbr-rs-overlay.dbr-rs-overlay--35 { background: rgba(0, 0, 0, .5); }
  .dbr-rs-overlay--50::after, .dbr-rs-overlay.dbr-rs-overlay--50 { background: rgba(0, 0, 0, .6); }
  .dbr-rs-overlay--65::after, .dbr-rs-overlay.dbr-rs-overlay--65 { background: rgba(0, 0, 0, .7); }
}

/* Textebene (gleiche Gestaltung im Slider und im Fallback) */
.dbr-rs-content { z-index: 6; max-width: 640px; color: #ffffff; text-shadow: 0 1px 3px rgba(0, 0, 0, .45); }
.rev_slider .dbr-rs-content { white-space: normal !important; }
.dbr-rs-title {
  margin: 0 0 1rem;
  color: #ffffff;
  font-family: var(--dbr-font-body);
  font-size: clamp(1.75rem, 1rem + 2.6vw, 2.875rem);
  font-weight: 300;
  line-height: 1.2;
}
.dbr-rs-text { margin: 0 0 1.5rem; font-size: clamp(1rem, .9rem + .4vw, 1.125rem); line-height: 1.45; }
.dbr-rs-layerimg { z-index: 5; }
@media (max-width: 777.98px) {
  .dbr-hero-fallback__inner .dbr-rs-content { margin-inline: auto; text-align: center; }
}

/* Button im Stil des Originals (.btn-soft) – Kontrast über Abdunklung gesichert */
.btn-soft,
.rev_slider_wrapper a.btn-soft {
  display: inline-block;
  padding: .5rem 1.5rem;
  border: 1px solid rgba(255, 255, 255, .6);
  border-radius: var(--dbr-radius);
  background: rgba(0, 0, 0, .35);
  color: #ffffff;
  font-weight: 600;
  text-decoration: none;
  text-shadow: none;
  transition: background-color .2s ease;
}
.btn-soft:hover,
.rev_slider_wrapper a.btn-soft:hover { background: var(--dbr-accent-strong); border-color: var(--dbr-accent-strong); color: #ffffff; }
.btn-soft:focus-visible { outline: 3px solid #ffffff; outline-offset: 2px; }

/* Eigene Bedienelemente */
.dbr-rs__controls {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  z-index: 50;
  display: flex;
  gap: .375rem;
}
.dbr-rs:not(.is-ready) .dbr-rs__controls { display: none; }
/* Sobald der Slider läuft, bestimmt er die Höhe selbst. Die Mindesthöhe gilt nur für den statischen Fallback;
   sonst wäre der Wrapper höher als der Slider und die Buttons rutschten in den nächsten Abschnitt. */
.dbr-rs.is-ready .dbr-rs__wrapper { min-height: 0; }
/* Smartphone/Tablet hochkant: Buttons unter der Folie statt über dem Text */
@media (max-width: 777.98px) {
  /* Platz für die Buttons unter der Folie von Anfang an (dbr-js setzt das Inline-Skript im Kopf), sonst erst bei „is-ready“ */
  .dbr-js .dbr-rs, .dbr-rs.is-ready { padding-bottom: 3.75rem; }
  .dbr-rs__controls { top: 100%; right: 50%; bottom: auto; margin-top: .5rem; transform: translateX(50%); }
}
.dbr-rs__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 50%;
  background: rgba(0, 0, 0, .55);
  color: #ffffff;
}
.dbr-rs__btn:hover { background: var(--dbr-accent-strong); border-color: var(--dbr-accent-strong); }
.dbr-rs__btn:focus-visible { outline: 3px solid #ffffff; outline-offset: 2px; }
.rev_slider .dbr-rs-content * { white-space: normal !important; }

/* ==========================================================================
   16. Module (Etappe 3): CTA, Logos, Hotspot, Vorher/Nachher, Portfolio, Lightbox, Formulare, Login
   ========================================================================== */

/* Call-to-Action */
.dbr-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.dbr-cta__text { flex: 1 1 18rem; min-width: 0; }
.dbr-cta__title { margin: 0; font-size: clamp(1.25rem, 1.1rem + .6vw, 1.625rem); }
.dbr-cta__sub { margin: .25rem 0 0; color: var(--dbr-text-muted); }
.dbr-cta__icon {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
  width: 3.5rem; height: 3.5rem; border-radius: 50%; background: var(--dbr-accent); color: #ffffff; font-size: 1.5rem;
}
.dbr-cta__link { font-weight: 700; color: var(--dbr-link); text-decoration: none; white-space: nowrap; }
.dbr-cta__link:hover, .dbr-cta__link:focus-visible { color: var(--dbr-link-hover); text-decoration: underline; }
.dbr-cta--promo { padding: 1.25rem 1.5rem; border: 1px solid var(--dbr-border); border-left: 4px solid var(--dbr-accent); border-radius: var(--dbr-radius); background: var(--dbr-main-bg); }
.dbr-cta--band, .dbr-cta--dark { padding: 1.75rem 2rem; border-radius: var(--dbr-radius); }
.dbr-cta--band { background: var(--dbr-accent-strong); color: #ffffff; }
.dbr-cta--dark { background: var(--dbr-dark-bg); color: var(--dbr-dark-text); }
.dbr-cta--band .dbr-cta__title, .dbr-cta--dark .dbr-cta__title { color: #ffffff; }
.dbr-cta--band .dbr-cta__sub, .dbr-cta--dark .dbr-cta__sub { color: inherit; }
.dbr-cta--band .dbr-cta__icon { background: rgba(255, 255, 255, .18); }
.dbr-cta__btn { --bs-btn-font-weight: 700; }
.dbr-cta--band .dbr-cta__btn { --bs-btn-bg: #ffffff; --bs-btn-color: #154711; --bs-btn-border-color: #ffffff; --bs-btn-hover-bg: #f3f3f3; --bs-btn-hover-color: #7d1c11; --bs-btn-hover-border-color: #f3f3f3; }
.dbr-cta--dark .dbr-cta__btn { --bs-btn-bg: var(--dbr-accent-strong); --bs-btn-color: #ffffff; --bs-btn-border-color: var(--dbr-accent-strong); --bs-btn-hover-bg: var(--dbr-accent-strong-hover); --bs-btn-hover-color: #ffffff; --bs-btn-hover-border-color: var(--dbr-accent-strong-hover); }
.dbr-cta--band a:focus-visible, .dbr-cta--dark a:focus-visible { outline-color: var(--dbr-focus-on-dark); }
@media (max-width: 575.98px) {
  .dbr-cta--band, .dbr-cta--dark { padding: 1.25rem; }
  .dbr-cta__btn { width: 100%; }
}

/* Kundenlogos */
.dbr-logos__item {
  display: flex; align-items: center; justify-content: center; height: 100%; min-height: 6rem; padding: 1rem;
  border: 1px solid var(--dbr-border); border-radius: var(--dbr-radius); background: #ffffff;
}
.dbr-logos__img { max-width: 100%; max-height: 4.5rem; width: auto; height: auto; object-fit: contain; }
.dbr-logos.is-greyscale .dbr-logos__img { filter: grayscale(1); opacity: .8; transition: filter .2s, opacity .2s; }
.dbr-logos.is-greyscale .dbr-logos__item:hover .dbr-logos__img,
.dbr-logos.is-greyscale .dbr-logos__item:focus-visible .dbr-logos__img { filter: none; opacity: 1; }

/* Hotspot-Bild – ohne JS: Bild + nummerierte Liste; mit JS: Marker auf dem Bild */
.dbr-hotspot__stage { position: relative; }
.dbr-hotspot__img { display: block; width: 100%; height: auto; border-radius: var(--dbr-radius); }
.dbr-hotspot__point { display: none; }
.dbr-hotspot.is-enhanced .dbr-hotspot__point { display: block; position: absolute; transform: translate(-50%, -50%); z-index: 1; }
.dbr-hotspot.is-enhanced .dbr-hotspot__point:has([aria-expanded="true"]) { z-index: 3; }
.dbr-hotspot__marker {
  display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; padding: 0;
  border: 2px solid #ffffff; border-radius: 50%; background: var(--dbr-accent-strong); color: #ffffff;
  font-weight: 700; font-size: 1.125rem; line-height: 1; box-shadow: 0 2px 6px rgba(0, 0, 0, .35); cursor: pointer;
}
.dbr-hotspot__marker:hover, .dbr-hotspot__marker[aria-expanded="true"] { background: var(--dbr-accent-strong-hover); }
.dbr-hotspot__marker:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }
.dbr-hotspot--pulse .dbr-hotspot__marker { animation: dbr-pulse 2.4s ease-out infinite; }
@keyframes dbr-pulse {
  0% { box-shadow: 0 0 0 0 rgba(21, 71, 17, .6), 0 2px 6px rgba(0, 0, 0, .35); }
  70% { box-shadow: 0 0 0 .85rem rgba(21, 71, 17, 0), 0 2px 6px rgba(0, 0, 0, .35); }
  100% { box-shadow: 0 0 0 0 rgba(21, 71, 17, 0), 0 2px 6px rgba(0, 0, 0, .35); }
}
.dbr-hotspot__panel {
  position: absolute; top: calc(100% + .5rem); left: 50%; transform: translateX(-50%); width: min(18rem, 80vw);
  padding: 1rem 2.25rem 1rem 1rem; border: 1px solid var(--dbr-border); border-radius: var(--dbr-radius);
  background: var(--dbr-main-bg); color: var(--dbr-text); box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .2); text-align: left;
}
.dbr-hotspot__panel[hidden] { display: none; }
.dbr-hotspot__point.is-right .dbr-hotspot__panel { left: auto; right: -.5rem; transform: none; }
.dbr-hotspot__point.is-bottom .dbr-hotspot__panel { top: auto; bottom: calc(100% + .5rem); }
.dbr-hotspot__close { position: absolute; top: .5rem; right: .5rem; width: 1.5rem; height: 1.5rem; padding: 0; }
.dbr-hotspot__title { margin: 0 0 .35rem; font-family: var(--dbr-font-display); font-size: 1.125rem; color: var(--dbr-heading); }
.dbr-hotspot__text { margin: 0 0 .5rem; font-size: .9375rem; }
.dbr-hotspot__text:last-child { margin-bottom: 0; }
.dbr-hotspot__link { font-weight: 600; }
.dbr-hotspot__list { margin: 1.25rem 0 0; padding-left: 1.5rem; }
.dbr-hotspot__list li + li { margin-top: .5rem; }
.dbr-hotspot.is-enhanced.dbr-hotspot--list-never .dbr-hotspot__list { display: none; }
@media (min-width: 768px) {
  .dbr-hotspot.is-enhanced.dbr-hotspot--list-mobile .dbr-hotspot__list { display: none; }
}
@media (max-width: 575.98px) {
  .dbr-hotspot__marker { width: 2rem; height: 2rem; font-size: 1rem; }
  .dbr-hotspot__panel { width: min(16rem, 70vw); }
}

/* Vorher/Nachher – ohne JS: beide Bilder untereinander; mit JS: überlagert mit Regler */
.dbr-compare { margin: 0; }
.dbr-compare__before, .dbr-compare__after { position: relative; }
.dbr-compare__after { margin-top: 1rem; }
.dbr-compare__img { display: block; width: 100%; height: auto; border-radius: var(--dbr-radius); }
.dbr-compare__label {
  position: absolute; top: .75rem; padding: .2rem .6rem; border-radius: var(--dbr-radius);
  background: rgba(0, 0, 0, .72); color: #ffffff; font-size: .8125rem; font-weight: 600; pointer-events: none;
}
.dbr-compare__label--before { left: .75rem; }
.dbr-compare__label--after { right: .75rem; }
.dbr-compare__handle, .dbr-compare__range { display: none; }
.dbr-compare.is-enhanced .dbr-compare__stage { position: relative; overflow: hidden; border-radius: var(--dbr-radius); touch-action: pan-y; }
.dbr-compare.is-enhanced .dbr-compare__after { position: absolute; inset: 0; margin: 0; clip-path: inset(0 0 0 var(--dbr-compare-pos, 50%)); }
.dbr-compare.is-enhanced .dbr-compare__after .dbr-compare__img { width: 100%; height: 100%; object-fit: cover; }
.dbr-compare.is-enhanced .dbr-compare__img { border-radius: 0; }
.dbr-compare.is-enhanced .dbr-compare__handle {
  display: flex; align-items: center; justify-content: center; position: absolute; top: 0; bottom: 0;
  left: var(--dbr-compare-pos, 50%); width: 0; pointer-events: none;
}
.dbr-compare.is-enhanced .dbr-compare__handle::before { content: ""; position: absolute; top: 0; bottom: 0; width: 3px; margin-left: -1.5px; background: #ffffff; box-shadow: 0 0 4px rgba(0, 0, 0, .5); }
.dbr-compare.is-enhanced .dbr-compare__handle i {
  position: relative; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
  width: 2.75rem; height: 2.75rem; border-radius: 50%; background: #ffffff; color: #154711; box-shadow: 0 2px 6px rgba(0, 0, 0, .4);
}
.dbr-compare.is-enhanced .dbr-compare__range {
  display: block; position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize;
  -webkit-appearance: none; appearance: none; background: transparent;
}
.dbr-compare.is-enhanced .dbr-compare__range::-webkit-slider-thumb { -webkit-appearance: none; width: 2.75rem; height: 100vh; }
.dbr-compare.is-enhanced .dbr-compare__range::-moz-range-thumb { width: 2.75rem; height: 100vh; border: 0; }
.dbr-compare.is-enhanced .dbr-compare__stage:has(.dbr-compare__range:focus-visible) { outline: 3px solid var(--dbr-focus); outline-offset: 3px; }
.dbr-compare--start-0 { --dbr-compare-pos: 0%; }
.dbr-compare--start-5 { --dbr-compare-pos: 5%; }
.dbr-compare--start-10 { --dbr-compare-pos: 10%; }
.dbr-compare--start-15 { --dbr-compare-pos: 15%; }
.dbr-compare--start-20 { --dbr-compare-pos: 20%; }
.dbr-compare--start-25 { --dbr-compare-pos: 25%; }
.dbr-compare--start-30 { --dbr-compare-pos: 30%; }
.dbr-compare--start-35 { --dbr-compare-pos: 35%; }
.dbr-compare--start-40 { --dbr-compare-pos: 40%; }
.dbr-compare--start-45 { --dbr-compare-pos: 45%; }
.dbr-compare--start-50 { --dbr-compare-pos: 50%; }
.dbr-compare--start-55 { --dbr-compare-pos: 55%; }
.dbr-compare--start-60 { --dbr-compare-pos: 60%; }
.dbr-compare--start-65 { --dbr-compare-pos: 65%; }
.dbr-compare--start-70 { --dbr-compare-pos: 70%; }
.dbr-compare--start-75 { --dbr-compare-pos: 75%; }
.dbr-compare--start-80 { --dbr-compare-pos: 80%; }
.dbr-compare--start-85 { --dbr-compare-pos: 85%; }
.dbr-compare--start-90 { --dbr-compare-pos: 90%; }
.dbr-compare--start-95 { --dbr-compare-pos: 95%; }
.dbr-compare--start-100 { --dbr-compare-pos: 100%; }

/* Portfolio */
.dbr-portfolio__filter { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.75rem; }
.dbr-portfolio__btn {
  --bs-btn-padding-y: .4rem; --bs-btn-padding-x: 1rem; --bs-btn-font-size: .9375rem;
  --bs-btn-color: var(--dbr-text); --bs-btn-bg: transparent; --bs-btn-border-color: var(--dbr-border);
  --bs-btn-hover-color: var(--dbr-link); --bs-btn-hover-bg: transparent; --bs-btn-hover-border-color: var(--dbr-link);
  --bs-btn-active-color: #ffffff; --bs-btn-active-bg: var(--dbr-accent-strong); --bs-btn-active-border-color: var(--dbr-accent-strong);
  border-radius: 2rem;
}
.dbr-portfolio__btn[aria-pressed="true"] { color: #ffffff; background: var(--dbr-accent-strong); border-color: var(--dbr-accent-strong); }
.dbr-portfolio__btn[aria-pressed="true"]::before { content: "\2713\00a0"; }
.dbr-portfolio__item[hidden] { display: none !important; }
.dbr-portfolio__item.is-appearing { animation: dbr-fade-in .35s ease-out both; }
@keyframes dbr-fade-in { from { opacity: 0; transform: translateY(.5rem); } to { opacity: 1; transform: none; } }
.dbr-pf-card { display: flex; flex-direction: column; height: 100%; border: 1px solid var(--dbr-border); border-radius: var(--dbr-radius); background: var(--dbr-main-bg); overflow: hidden; }
.dbr-pf-card__media { position: relative; display: block; overflow: hidden; background: var(--dbr-section-grey-bg); }
.dbr-pf-card__img { display: block; width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; object-position: top center; transition: transform .35s ease; }
.dbr-pf-card__media:hover .dbr-pf-card__img, .dbr-pf-card__media:focus-visible .dbr-pf-card__img { transform: scale(1.04); }
.dbr-pf-card__media:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: -3px; }
.dbr-pf-card__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, .7); color: #ffffff; opacity: .9;
}
.dbr-pf-card__body { padding: 1rem 1.125rem 1.25rem; display: flex; flex-direction: column; flex: 1 1 auto; }
.dbr-pf-card__title { margin: 0 0 .25rem; font-size: 1.125rem; }
.dbr-pf-card__title a { color: var(--dbr-heading); text-decoration: none; }
.dbr-pf-card__title a:hover, .dbr-pf-card__title a:focus-visible { color: var(--dbr-link); text-decoration: underline; }
.dbr-pf-card__tags { margin: 0 0 .5rem; color: var(--dbr-text-muted); font-size: .8125rem; }
.dbr-pf-card__teaser { margin: 0 0 .75rem; font-size: .9375rem; }
.dbr-pf-detail__media { position: relative; display: block; border-radius: var(--dbr-radius); overflow: hidden; }
.dbr-pf-detail__media img { display: block; width: 100%; height: auto; }

/* Lightbox (natives <dialog>) */
.dbr-lightbox { width: min(96vw, 1200px); max-width: none; max-height: 96vh; padding: 0; border: 0; border-radius: var(--dbr-radius); background: #111315; color: #ffffff; }
.dbr-lightbox::backdrop { background: rgba(0, 0, 0, .82); }
.dbr-lightbox__inner { position: relative; padding: 3rem 1rem 1rem; }
.dbr-lightbox__figure { margin: 0; text-align: center; }
.dbr-lightbox__img { max-width: 100%; max-height: calc(96vh - 9rem); width: auto; height: auto; }
.dbr-lightbox__caption { margin-top: .75rem; font-size: .9375rem; }
.dbr-lightbox__nav { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: .75rem; }
.dbr-lightbox__btn, .dbr-lightbox__close {
  display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; padding: 0;
  border: 1px solid rgba(255, 255, 255, .5); border-radius: 50%; background: transparent; color: #ffffff; font-size: 1.125rem;
}
.dbr-lightbox__btn:hover, .dbr-lightbox__close:hover { background: rgba(255, 255, 255, .15); }
.dbr-lightbox__btn:focus-visible, .dbr-lightbox__close:focus-visible { outline: 3px solid #ffffff; outline-offset: 2px; }
.dbr-lightbox__btn[hidden], .dbr-lightbox__nav[hidden] { display: none; }
.dbr-lightbox__close { position: absolute; top: .5rem; right: .5rem; }
.dbr-lightbox__counter { min-width: 4rem; text-align: center; font-variant-numeric: tabular-nums; }

/* Formulare (YForm, ytemplate „sfx“) */
.dbr-form__note { color: var(--dbr-text-muted); font-size: .875rem; }
.dbr-required { color: var(--dbr-link); font-weight: 700; }
.dbr-form__errors { margin-bottom: 1.5rem; }
.dbr-form__errors:focus { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }
.dbr-form__errors ul { margin: 0; padding-left: 1.25rem; }
.dbr-form__errors a { color: inherit; font-weight: 600; }
.dbr-form__actions { margin-top: 1.5rem; }
.dbr-form__links { margin-top: 1.25rem; font-size: .9375rem; }
.dbr-field .form-control, .dbr-field .form-select { border-color: #8a8d91; }
[data-bs-theme="dark"] .dbr-field .form-control, [data-bs-theme="dark"] .dbr-field .form-select { border-color: #7a7e83; }
.dbr-field--checkbox .form-check-input { width: 1.25em; height: 1.25em; margin-top: .15em; border-color: #8a8d91; }
.dbr-field--checkbox .form-check-label { padding-left: .25rem; }
.dbr-pw-strength { margin-top: .35rem; }
.dbr-pw-strength[data-level="0"], .dbr-pw-strength[data-level="1"] { color: var(--bs-danger-text-emphasis); }
.dbr-pw-strength[data-level="2"] { color: var(--bs-warning-text-emphasis); }
.dbr-pw-strength[data-level="3"], .dbr-pw-strength[data-level="4"] { color: var(--bs-success-text-emphasis); }
/* Honeypot: für Menschen unsichtbar, nicht per display:none (Bots erkennen das) */
.dbr-hp { position: absolute !important; left: -10000px !important; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* Login-Bereich */
.dbr-ycom .dbr-form__actions .btn { min-width: 12rem; }

@media (prefers-reduced-motion: reduce) {
  .dbr-hotspot--pulse .dbr-hotspot__marker, .dbr-portfolio__item.is-appearing { animation: none; }
  .dbr-pf-card__img, .dbr-logos__img { transition: none; }
  .dbr-pf-card__media:hover .dbr-pf-card__img { transform: none; }
}
@media print {
  .dbr-hotspot__point, .dbr-compare__handle, .dbr-compare__range, .dbr-portfolio__filter { display: none !important; }
  .dbr-compare.is-enhanced .dbr-compare__after { position: static; clip-path: none; margin-top: 1rem; }
  .dbr-hotspot.is-enhanced .dbr-hotspot__list { display: block !important; }
}

/* ==========================================================================
   17. Module (Etappe 4): FAQ, Ablauf, Link-Karten
   ========================================================================== */

/* FAQ – natives <details>, wie im Original */
.dbr-faq { border-top: 1px solid var(--dbr-border); }
.dbr-faq__item { border-bottom: 1px solid var(--dbr-border); }
.dbr-faq__q {
  position: relative; display: block; padding: 1rem 2.5rem 1rem 0; cursor: pointer; list-style: none;
  font-family: var(--dbr-font-display); font-size: 1.1875rem; font-weight: 700; color: var(--dbr-heading);
}
.dbr-faq__q::-webkit-details-marker { display: none; }
.dbr-faq__q::after {
  content: "+"; position: absolute; right: .25rem; top: 50%; transform: translateY(-50%);
  display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem;
  border-radius: 50%; background: var(--dbr-accent-strong); color: #ffffff; font-family: var(--dbr-font-body); font-size: 1.125rem; line-height: 1;
}
.dbr-faq__item[open] > .dbr-faq__q::after { content: "\2212"; }
.dbr-faq__q:hover { color: var(--dbr-link); }
.dbr-faq__q:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }
.dbr-faq__a { padding: 0 0 1.25rem; }

/* Ablauf in Schritten */
.dbr-steps { margin: 0; padding: 0; list-style: none; counter-reset: dbr-step; overflow-x: clip; }
.dbr-steps__item { position: relative; counter-increment: dbr-step; }
.dbr-steps__title { display: block; color: var(--dbr-heading); }
.dbr-steps__text { display: block; margin-top: .25rem; }
.dbr-steps--list .dbr-steps__item { padding: .5rem 0 .5rem 2.5rem; }
.dbr-steps--list .dbr-steps__item::before {
  content: counter(dbr-step) "."; position: absolute; left: 0; top: .5rem; width: 2rem; text-align: right;
  font-weight: 700; color: var(--dbr-link);
}
.dbr-steps--timeline .dbr-steps__item { padding: 0 0 1.5rem 3.5rem; }
.dbr-steps--timeline .dbr-steps__item::before {
  content: counter(dbr-step); position: absolute; left: 0; top: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--dbr-accent-strong); color: #ffffff; font-weight: 700;
}
.dbr-steps--timeline .dbr-steps__item::after {
  content: ""; position: absolute; left: 1.25rem; top: 2.75rem; bottom: .25rem; width: 2px; margin-left: -1px; background: var(--dbr-border);
}
.dbr-steps--timeline .dbr-steps__item:last-child { padding-bottom: 0; }
.dbr-steps--timeline .dbr-steps__item:last-child::after { display: none; }
.dbr-steps--timeline .dbr-steps__title { padding-top: .45rem; font-family: var(--dbr-font-display); font-size: 1.1875rem; }
@media (min-width: 992px) {
  .dbr-steps--timeline { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 1.5rem; }
  .dbr-steps--timeline .dbr-steps__item { padding: 3.5rem 0 0; }
  .dbr-steps--timeline .dbr-steps__item::after { left: 2.75rem; right: -1.5rem; top: 1.25rem; bottom: auto; width: auto; height: 2px; margin: -1px 0 0; }
  .dbr-steps--timeline .dbr-steps__title { padding-top: 0; }
}

/* Link-Karten (Original: dunkle Karten mit Akzentkante) */
.dbr-linkcard {
  display: flex; flex-direction: column; height: 100%; padding: 1.125rem 1rem; border: 1px solid var(--dbr-border);
  border-left: 3px solid var(--dbr-accent); border-radius: var(--dbr-radius); background: var(--dbr-main-bg); color: var(--dbr-text); text-decoration: none;
  transition: border-color .2s, background-color .2s;
}
a.dbr-linkcard:hover { border-color: var(--dbr-accent); color: var(--dbr-text); }
a.dbr-linkcard:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }
.dbr-linkcard__kicker { margin-bottom: .5rem; color: var(--dbr-link); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.dbr-linkcard__title { margin: 0 0 .5rem; font-family: var(--dbr-font-body); font-size: 1rem; font-weight: 700; line-height: 1.45; color: var(--dbr-heading); }
a.dbr-linkcard:hover .dbr-linkcard__title { color: var(--dbr-link); text-decoration: underline; }
.dbr-linkcard__text { font-size: .875rem; color: var(--dbr-text-muted); }
.dbr-linkcard__source { margin-top: auto; padding-top: .75rem; font-size: .8125rem; color: var(--dbr-text-muted); }
.dbr-bg-dark .dbr-linkcard { background: #2c2c2c; border-color: #3a3a3a; border-left-color: var(--dbr-accent); color: #d6d6d6; }
.dbr-bg-dark .dbr-linkcard__title { color: #f0f0f0; }
.dbr-bg-dark .dbr-linkcard__kicker { color: #a8d49f; }
.dbr-bg-dark .dbr-linkcard__text, .dbr-bg-dark .dbr-linkcard__source { color: #b4b4b4; }
.dbr-bg-dark a.dbr-linkcard:hover { background: #333333; }
.dbr-bg-dark a.dbr-linkcard:hover .dbr-linkcard__title { color: #ffffff; }
.dbr-bg-dark a.dbr-linkcard:focus-visible { outline-color: var(--dbr-focus-on-dark); }

@media (prefers-reduced-motion: reduce) {
  .dbr-linkcard { transition: none; }
}

/* ==========================================================================
   18. Button „Nach oben“ (#scrollToTop, von der alten Seite übernommen)
   Alt: dunkles Quadrat rgba(52,56,59,.8) unten rechts, rot beim Hovern.
   ========================================================================== */
.dbr-totop {
  position: fixed;
  right: 20px;
  bottom: calc(20px + var(--dbr-totop-lift, 0px)); /* --dbr-totop-lift: Höhe der sichtbaren Fußzeile (screenfox.js) */
  z-index: 1030;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 3px;
  background: rgba(52, 56, 59, .8);
  color: #ffffff;
  font-size: 1.375rem;
  line-height: 1;
  cursor: pointer;
  visibility: hidden;
  opacity: 0;
  transform: translateY(.5rem);
  transition: opacity .2s ease, transform .2s ease, background-color .2s ease-in-out, visibility 0s linear .2s;
}
.dbr-totop.is-visible {
  visibility: visible;
  opacity: 1;
  transform: none;
  transition: opacity .2s ease, transform .2s ease, background-color .2s ease-in-out, visibility 0s;
}
.dbr-totop:hover,
.dbr-totop:focus-visible { background: var(--dbr-accent); color: #ffffff; }
.dbr-totop:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }
[data-bs-theme="dark"] .dbr-totop { border-color: rgba(255, 255, 255, .25); }

@media (prefers-reduced-motion: reduce) {
  .dbr-totop, .dbr-totop.is-visible { transition: none; transform: none; }
}
@media print {
  .dbr-totop { display: none !important; }
}

/* ==========================================================================
   19. Suche (Search it): Suchfeld im Header, Modul 18 Suchformular und Treffer
   ========================================================================== */
.dbr-search-form { margin: 0 0 1.5rem; }
.dbr-search-form .form-label { display: block; margin-bottom: .375rem; color: var(--dbr-heading); font-weight: 600; }
.dbr-search-form__row { display: flex; gap: .5rem; }
.dbr-search-form__row .form-control { flex: 1 1 auto; min-width: 0; min-height: 2.75rem; border-color: #8a8e92; }
[data-bs-theme="dark"] .dbr-search-form__row .form-control { border-color: #6f7378; }
.dbr-search-form__btn { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .5rem; min-height: 2.75rem; }
/* Kompaktes Feld im Header-Dropdown */
.dbr-header-search__panel { width: 22rem; padding: 1rem; }
.dbr-header-search .dropdown-menu[data-bs-popper="static"] { top: calc(100% + .5rem); right: 0; left: auto; margin: 0; }
/* Schmale Bildschirme: Panel über die ganze Inhaltsbreite unter dem Header */
@media (max-width: 575.98px) {
  .dbr-header__inner { position: relative; }
  .dbr-header-search { position: static; }
  .dbr-header-search .dropdown-menu[data-bs-popper="static"] { top: calc(100% - .25rem); right: 1rem; left: 1rem; width: auto; }
}
.dbr-search-form--compact { margin: 0; }
.dbr-search-form--compact .form-label { font-size: .875rem; }
.dbr-search-form--compact .dbr-search-form__btn { justify-content: center; min-width: 2.75rem; }

.dbr-search { margin-top: .5rem; }
.dbr-search__summary { margin: 0 0 1rem; font-size: 1.375rem; }
.dbr-search__page { color: var(--dbr-text-muted); font-size: .875em; font-weight: 400; }
.dbr-search__message { margin: 0 0 .75rem; }
.dbr-search__results { margin: 0 0 1.5rem; padding: 0; list-style: none; }
.dbr-search-hit {
  display: flex;
  gap: 1rem;
  padding: 1rem 0;
  border-top: 1px solid var(--dbr-border);
}
.dbr-search-hit:last-child { border-bottom: 1px solid var(--dbr-border); }
.dbr-search-hit__icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: var(--dbr-accent);
  color: #ffffff;
}
.dbr-search-hit__thumb { flex: 0 0 auto; width: 96px; height: 72px; border: 1px solid var(--dbr-border); border-radius: var(--dbr-radius); object-fit: cover; background: var(--dbr-section-grey-bg); }
.dbr-search-hit__body { min-width: 0; }
.dbr-search-hit__title { margin: 0 0 .25rem; font-size: 1.1875rem; line-height: 1.3; overflow-wrap: anywhere; }
.dbr-search-hit__title a { text-decoration: underline; text-underline-offset: .15em; }
.dbr-search-hit__meta { margin: 0 0 .375rem; color: var(--dbr-text-muted); font-size: .875rem; }
.dbr-search-hit__text { margin: 0; overflow-wrap: anywhere; }
.dbr-search mark,
.dbr-search-hit mark { padding: 0; border-radius: 2px; background: #fff0b3; color: inherit; }
[data-bs-theme="dark"] .dbr-search mark,
[data-bs-theme="dark"] .dbr-search-hit mark { background: #5c4a00; color: #ffffff; }
.dbr-search-hit__title mark { color: inherit; }

/* Blättern */
.dbr-search__pager .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-hover-border-color: var(--dbr-border);
  --bs-pagination-focus-box-shadow: 0 0 0 3px var(--dbr-focus);
  --bs-pagination-active-bg: var(--dbr-accent-strong);
  --bs-pagination-active-border-color: var(--dbr-accent-strong);
  --bs-pagination-active-color: #ffffff;
  flex-wrap: wrap;
  gap: .25rem;
  margin: 0;
}
.dbr-search__pager .page-link { min-width: 2.75rem; min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--dbr-radius) !important; }

@media (max-width: 575.98px) {
  .dbr-search-hit { gap: .75rem; }
  .dbr-search-hit__thumb { width: 72px; height: 54px; }
  .dbr-search-form:not(.dbr-search-form--compact) .dbr-search-form__btn .fa-magnifying-glass { display: none; }
}
@media print {
  .dbr-header-search, .dbr-search-form, .dbr-search__pager { display: none !important; }
}



/* Slider Revolution: hereinfliegende Ebenen dürfen kein waagerechtes Scrollen erzeugen (Etappe 3) */
.dbr-mod--slider, .dbr-mod--rsv { overflow-x: clip; }
/* Slider-Vorlagen sind fest gestaltet: Ebenen ohne eigene Farbe erben im Dunkel-Modus nicht die helle Schrift */
.dbr-rsv .rev_slider_wrapper { color: #1d1f22; }
/* Pause-Leiste liegt über überstehender Navigation der Vorlage (Zielgröße WCAG 2.5.8) */
.dbr-rsv__bar { position: relative; z-index: 30; }
/* Vorlagen „Galerie dunkel“ und „News-Galerie“: Reiter auf dunkler Fläche */
.dbr-rsv--galerie-dunkel .tp-tab-title, .dbr-rsv--galerie-dunkel .tp-tab-date,
.dbr-rsv--galerie-news .tp-tab-title, .dbr-rsv--galerie-news .tp-tab-date { color: #ffffff; }
/* Platzhalter „Bild folgt“ für fehlende Bilddateien (Modul-Einstellung „Fehlende Bilder“) */
span.dbr-img-placeholder {
  display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: .5rem;
  width: 100%; max-width: 100%; height: 100%; min-height: 6rem; object-fit: unset; padding: .75rem;
  border: 2px dashed var(--dbr-border); border-radius: var(--dbr-radius);
  background: var(--dbr-section-grey-bg); color: var(--dbr-text);
  font-family: var(--dbr-font-display); font-size: 1rem; text-align: center;
}
span.dbr-img-placeholder i { font-size: 1.75rem; opacity: .75; }
.dbr-nav__ext { margin-left: .25rem; font-size: .75em; }

/* ---------- Bildnachweis „?“ mit Tooltip (19.10.2026; dbr_credit(), dbr.js) ---------- */
.dbr-credit-host { position: relative; }
.dbr-imgcredit { position: absolute; z-index: 3; right: .5rem; bottom: .5rem; display: block; line-height: 1; }
.dbr-imgcredit--bl { right: auto; left: .5rem; }
.dbr-imgcredit--tr { bottom: auto; top: .5rem; }
.dbr-imgcredit--tl { bottom: auto; top: .5rem; right: auto; left: .5rem; }
.dbr-imgcredit--ai { display: inline-flex; align-items: center; gap: .25rem; }
/* KI-Kennzeichnung (20.10.2026, med_ki_status): Logo „AI“, „AI GENERATED“, „AI MODIFIED“ neben dem „i“ */
.dbr-imgcredit__ai { display: block; width: auto; height: 1.25rem; max-width: none; border-radius: 999px; box-shadow: 0 0 0 1px rgba(255, 255, 255, .7); pointer-events: none; }
.dbr-imgcredit__btn { display: inline-flex; align-items: center; justify-content: center; width: 1.5rem; height: 1.5rem; padding: 0; border: 1px solid rgba(255, 255, 255, .85); border-radius: 50%; background: rgba(0, 0, 0, .72); color: #ffffff; font: italic 700 .875rem/1 Georgia, "Times New Roman", serif; cursor: help; }
.dbr-imgcredit__btn:hover, .dbr-imgcredit__btn[aria-expanded="true"] { background: #000000; }
.dbr-imgcredit__btn:focus-visible { outline: 3px solid #ffffff; outline-offset: 1px; box-shadow: 0 0 0 5px #000000; }
/* Angaben: für Screenreader (aria-describedby) immer vorhanden, sichtbar nur ohne JS beim Zeigen/Fokus */
.dbr-imgcredit__box { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
html:not(.dbr-js) .dbr-imgcredit:hover .dbr-imgcredit__box, html:not(.dbr-js) .dbr-imgcredit:focus-within .dbr-imgcredit__box { right: 0; bottom: calc(100% + .375rem); width: max-content; max-width: min(20rem, 80vw); height: auto; overflow: visible; clip: auto; white-space: normal; padding: .5rem .625rem; border-radius: .25rem; background: #1a1a1a; color: #ffffff; font-size: .8125rem; line-height: 1.4; text-align: left; overflow-wrap: anywhere; }
/* schwebender Tooltip (dbr.js, am Ende von body) */
.dbr-credit-pop { position: fixed; z-index: 2000; max-width: min(20rem, calc(100vw - 1rem)); padding: .5rem .625rem; border-radius: .25rem; background: #1a1a1a; color: #ffffff; font-size: .8125rem; line-height: 1.4; text-align: left; overflow-wrap: anywhere; box-shadow: 0 .25rem 1rem rgba(0, 0, 0, .35); }
.dbr-credit-pop[hidden] { display: none; }
[data-bs-theme="dark"] .dbr-credit-pop { background: #f2f2f2; color: #111111; }
@media print { .dbr-imgcredit__ai { box-shadow: none; } .dbr-imgcredit { position: static; display: block; margin-top: .25rem; } .dbr-imgcredit__btn { display: none; } .dbr-imgcredit__box { position: static; width: auto; height: auto; clip: auto; white-space: normal; font-size: 8pt; } }
.dbr-credit-host--fit { display: block; width: fit-content; max-width: 100%; }
.dbr-credit-host--fit > img { display: block; }
.dbr-blog-author__media, .dbr-quote__media { display: inline-block; flex: 0 0 auto; line-height: 0; }
.dbr-tl__gwrap, .dbr-parallax__gwrap { position: relative; min-width: 0; }
.dbr-divider__wrap { position: relative; }
/* kleine Bilder (Autor, Zitat): Schaltfläche näher am Rand */
.dbr-blog-author__media .dbr-imgcredit, .dbr-quote__media .dbr-imgcredit { right: .25rem; bottom: .25rem; }
/* Behälter, in denen dbr_img(..., ['credit' => …]) den Bildnachweis ablegt */
.dbr-pcard__media, .dbr-eitem__media, .dbr-mod--pricing.has-media { position: relative; }
.dbr-credit-pop a { color: inherit; text-decoration: underline; text-underline-offset: .15em; }
.dbr-credit-pop a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; border-radius: 2px; }

/* Bildausschnitt aus dem Medienpool (20.10.2026, med_orientation 1–9) für beschnittene Bilder (object-fit: cover);
   stärker als die Vorgaben der Bausteine, schwächer als ein im Modul fest gewählter Ausschnitt (Inline-Stil bzw. ohne Klasse) */
img.dbr-objpos.dbr-objpos--1 { object-position: left top; }
img.dbr-objpos.dbr-objpos--2 { object-position: left center; }
img.dbr-objpos.dbr-objpos--3 { object-position: left bottom; }
img.dbr-objpos.dbr-objpos--4 { object-position: center top; }
img.dbr-objpos.dbr-objpos--5 { object-position: center center; }
img.dbr-objpos.dbr-objpos--6 { object-position: center bottom; }
img.dbr-objpos.dbr-objpos--7 { object-position: right top; }
img.dbr-objpos.dbr-objpos--8 { object-position: right center; }
img.dbr-objpos.dbr-objpos--9 { object-position: right bottom; }
/* Titel des Bildes vor den Angaben im Bildnachweis (Doku 64, 04.11.2026) */
.dbr-imgcredit__title { font-weight: 700; }
/* --------------------------------------------------------------------------
   Landingpage-Kopf im grünen Band (Logo hell auf Grün)
   -------------------------------------------------------------------------- */
.dbr-lp-header { background: var(--dbr-band-bg) !important; color: #ffffff; }
.dbr-lp-header .dbr-logo .dbr-logo__full { width: 18.25rem; }
.dbr-lp-header .dbr-lp-anchors a { color: #ffffff; }
.dbr-lp-header .dbr-lp-anchors a:hover { color: var(--dbr-gold); }
.dbr-lp-header .dbr-iconbtn { color: #ffffff; }
.dbr-lp-header :focus-visible { outline-color: #ffffff; }
@media (max-width: 991.98px) {
  .dbr-lp-header .dbr-logo .dbr-logo__full { display: none; }
  .dbr-lp-header .dbr-logo .dbr-logo__wordmark { display: block; height: 2.5rem; }
}

/* --------------------------------------------------------------------------
   Fehlerseite 404 (Gestaltung der bisherigen Seite, Tokens, Hell/Dunkel)
   -------------------------------------------------------------------------- */
.dbr-404 { --dbr-404-panel: #eef1e6; --dbr-404-cream: #f6f4ec; padding: clamp(28px, 5vw, 64px) 0 clamp(40px, 6vw, 80px); }
[data-bs-theme="dark"] .dbr-404 { --dbr-404-panel: #1d2a1b; --dbr-404-cream: #1a2418; }
.dbr-404__wrap { max-width: 960px; margin: 0 auto; padding: 0 1rem; text-align: center; }
.dbr-404__sign {
  display: inline-flex; align-items: center; gap: 10px; margin: 0;
  padding: 9px 18px; border: 2px solid #c79a3f; border-radius: 999px;
  background: #154711; color: #deb864;
  font-weight: 700; font-size: clamp(11px, 1.4vw, 13px); letter-spacing: .16em; text-transform: uppercase;
  box-shadow: 0 6px 18px rgba(21, 71, 17, .18);
}
.dbr-404__sign::before { content: "\25CF"; color: #ff4d5e; font-size: .7em; line-height: 1; }
.dbr-404__number {
  display: flex; align-items: center; justify-content: center; gap: clamp(6px, 1.4vw, 16px);
  margin: 18px 0 6px; color: var(--dbr-heading);
  font-family: var(--dbr-font-display); font-weight: 700; font-size: clamp(96px, 20vw, 210px); line-height: .9;
}
.dbr-404__zero { width: clamp(84px, 17vw, 182px); height: clamp(84px, 17vw, 182px); flex: 0 0 auto; }
.dbr-404__title { max-width: 18ch; margin: 6px auto 14px; font-size: clamp(1.5rem, 4.4vw, 2.625rem); font-weight: 600; line-height: 1.12; }
.dbr-404__text { max-width: 56ch; margin: 0 auto; font-size: clamp(1rem, 1.9vw, 1.125rem); line-height: 1.6; }
.dbr-404__scene {
  position: relative; max-width: 640px; margin: clamp(20px, 4vw, 40px) auto clamp(18px, 3vw, 30px); padding: 14px;
  border: 1px solid rgba(21, 71, 17, .14); border-radius: 28px;
  background: linear-gradient(180deg, var(--dbr-404-panel) 0%, var(--dbr-404-cream) 70%);
  box-shadow: 0 20px 44px -22px rgba(21, 71, 17, .5); overflow: hidden;
}
.dbr-404__scene svg { display: block; width: 100%; height: auto; }
.dbr-404__pause {
  position: absolute; right: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: .375rem;
  min-height: 2.25rem; padding: .25rem .75rem; border: 1px solid #154711; border-radius: 999px;
  background: rgba(255, 255, 255, .92); color: #154711; font-size: .875rem; font-weight: 700;
}
.dbr-404__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 6px; }
.dbr-404__btn {
  display: inline-flex; align-items: center; gap: 9px; padding: 13px 24px; border: 2px solid var(--dbr-accent-strong); border-radius: 999px;
  font-weight: 700; font-size: 1rem; text-decoration: none;
  transition: transform .15s ease, background-color .2s ease, color .2s ease;
}
.dbr-404__btn--primary { background: var(--dbr-accent-strong); color: #ffffff; }
.dbr-404__btn--primary:hover { background: var(--dbr-accent-strong-hover); color: #ffffff; transform: translateY(-2px); }
.dbr-404__btn--ghost { background: transparent; color: var(--dbr-link); }
.dbr-404__btn--ghost:hover { background: #deb864; border-color: #c79a3f; color: #154711; transform: translateY(-2px); }
.dbr-404__search { display: flex; gap: .5rem; max-width: 26rem; margin: 1.5rem auto 0; }
.dbr-404__hint { max-width: 52ch; margin: 26px auto 0; color: var(--dbr-text-muted); font-size: 1rem; }
.dbr-404__hint strong { color: var(--dbr-heading); }
@media (max-width: 520px) { .dbr-404__btn { width: 100%; justify-content: center; } }

.dbr-404__train { animation: dbr-404-chug .45s steps(2, end) infinite; }
.dbr-404__wheel { transform-box: fill-box; transform-origin: center; animation: dbr-404-spin .9s linear infinite; }
.dbr-404__zero .dbr-404__wheel { animation-duration: 2.4s; }
.dbr-404__rod { animation: dbr-404-rod .9s linear infinite; }
.dbr-404__puff { transform-box: fill-box; transform-origin: center; opacity: 0; animation: dbr-404-puff 3s ease-out infinite; }
.dbr-404__puff.p2 { animation-delay: .6s; } .dbr-404__puff.p3 { animation-delay: 1.2s; }
.dbr-404__puff.p4 { animation-delay: 1.8s; } .dbr-404__puff.p5 { animation-delay: 2.4s; }
.dbr-404__sleepers { animation: dbr-404-roll .45s linear infinite; }
@keyframes dbr-404-chug { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2.5px); } }
@keyframes dbr-404-spin { to { transform: rotate(360deg); } }
@keyframes dbr-404-rod { 0% { transform: translate(13px, 0); } 25% { transform: translate(0, 13px); } 50% { transform: translate(-13px, 0); } 75% { transform: translate(0, -13px); } 100% { transform: translate(13px, 0); } }
@keyframes dbr-404-puff { 0% { opacity: 0; transform: translate(0, 0) scale(.4); } 18% { opacity: .85; } 100% { opacity: 0; transform: translate(-46px, -74px) scale(1.7); } }
@keyframes dbr-404-roll { to { transform: translateX(-40px); } }
.dbr-404.is-paused * { animation-play-state: paused !important; }
.dbr-404.is-paused .dbr-404__puff { opacity: .5; }
@media (prefers-reduced-motion: reduce) {
  .dbr-404__train, .dbr-404__wheel, .dbr-404__rod, .dbr-404__sleepers, .dbr-404__puff { animation: none !important; }
  .dbr-404__puff { opacity: .5; }
}

/* Druck: Kopf/Navigation ausblenden */
@media print {
  .dbr-topnav, .dbr-filterbar, .dbr-partners, .dbr-strip, .dbr-totop { display: none !important; }
}

/* Landingpage-Footer (schlank) */
.dbr-lp-footer .dbr-footer__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1.5rem; }
.dbr-footer__links { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; margin: 0; padding: 0; list-style: none; }
.dbr-footer__links a,
.dbr-footer__links .dbr-linkbutton { display: inline-flex; align-items: center; min-height: 1.5rem; color: var(--dbr-gold); }
.dbr-footer__links a:hover,
.dbr-footer__links .dbr-linkbutton:hover { color: #ffffff; }
@media (max-width: 767.98px) { .dbr-lp-footer .dbr-footer__inner { justify-content: center; text-align: center; } }

/* ==========================================================================
   Datenbereiche (Etappe 4): Partner, Regionen, Inhaltsblöcke, Karten
   ========================================================================== */

/* --------------------------------------------------------------------------
   Karten (Partner, Regionen)
   -------------------------------------------------------------------------- */
.dbr-cards { margin-bottom: 0; }
/* Karten: die ganze Karte ist über .stretched-link klickbar – die Fläche (::after) bleibt in der Karte (19.10.2026) */
.dbr-card { position: relative; }
.dbr-pcard {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--dbr-border);
  border-radius: var(--dbr-radius);
  background: var(--dbr-main-bg);
  transition: box-shadow .2s ease;
}
.dbr-pcard:hover, .dbr-pcard:focus-within { box-shadow: 0 .5rem 1.25rem rgba(0, 0, 0, .12); }
.dbr-pcard__media { aspect-ratio: 16 / 9; overflow: hidden; background: var(--dbr-section-grey-bg); }
.dbr-pcard__media img, .dbr-pcard__media .dbr-img-placeholder { display: block; width: 100%; height: 100%; object-fit: cover; }
.dbr-pcard__noimg { display: flex; align-items: center; justify-content: center; height: 100%; color: var(--dbr-text-muted); font-size: 2.5rem; }
.dbr-pcard__body { display: flex; flex-direction: column; gap: .375rem; padding: 1rem 1.125rem 1.25rem; }
.dbr-pcard__type { margin: 0; color: var(--dbr-gold-text); font-size: .875rem; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; }
.dbr-pcard__title { margin: 0; font-size: 1.25rem; line-height: 1.25; }
.dbr-pcard__title a { color: var(--dbr-heading); text-decoration: none; }
.dbr-pcard__title a:hover { text-decoration: underline; }
.dbr-pcard__title a:focus-visible { outline: none; }
.dbr-pcard__title a:focus-visible::after { outline: 3px solid var(--dbr-focus); outline-offset: -3px; border-radius: var(--dbr-radius); }
.dbr-pcard__place { margin: 0; color: var(--dbr-text-muted); font-size: .9375rem; }
.dbr-pcard__text { margin: 0; font-size: .9375rem; }

/* --------------------------------------------------------------------------
   Partnersuche
   -------------------------------------------------------------------------- */
.dbr-regions + .dbr-psearch, .dbr-psearch { margin-top: 2.5rem; }
.dbr-pfilter { display: grid; gap: .625rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); }
.dbr-pfilter { margin-bottom: 1.5rem; }
.dbr-pfilter__q { display: flex; flex-wrap: wrap; gap: .5rem; }
.dbr-pfilter__q .form-control { flex: 1 1 10rem; }
.dbr-pfilter__q .form-control { min-width: 0; }
.dbr-pfilter__q .btn { flex: 0 1 auto; max-width: 100%; white-space: normal; }
.dbr-pfilter .form-select, .dbr-pfilter .form-control, .dbr-pfilter .btn { min-height: 2.75rem; }
.dbr-psearch__count { font-weight: 700; }
.dbr-plist__group { margin: 2rem 0 1rem; font-size: 1.375rem; }
.dbr-plist__group:first-child { margin-top: 0; }
.dbr-plist__n { color: var(--dbr-text-muted); font-weight: 400; }

/* --------------------------------------------------------------------------
   Partner-Detail
   -------------------------------------------------------------------------- */
.dbr-partner__intro { margin-bottom: 1.75rem; }
.dbr-partner__meta { margin: 0 0 .5rem; color: var(--dbr-text-muted); font-weight: 700; }
.dbr-partner__aside-title { margin: 0 0 .75rem; font-size: 1.375rem; }
.dbr-partner__label { font-weight: 700; }
.dbr-partner__secimg { margin: 1rem 0 0; }
.dbr-partner__secimg img { border-radius: var(--dbr-radius); }
.dbr-partner__timetable { margin: 0 0 1rem; }
.dbr-partner__more { margin-top: 3rem; }
.dbr-partner__social { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0 0; }
.dbr-partner__social a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2.75rem; height: 2.75rem; border-radius: var(--dbr-radius);
  background: var(--dbr-gold); color: #154711; font-size: 1.25rem; text-decoration: none;
}
.dbr-partner__social a:hover { background: var(--dbr-green); color: #ffffff; }
.dbr-partner__certs { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; margin: 1.25rem 0 0; }
.dbr-partner__certs img { display: block; width: auto; height: 3.5rem; background: #ffffff; padding: .125rem; border-radius: var(--dbr-radius); }
.dbr-partner__cert-icon { display: inline-flex; align-items: center; gap: .375rem; padding: .375rem .625rem; border: 1px solid var(--dbr-border); border-radius: var(--dbr-radius); font-weight: 700; }
.dbr-partner address { font-style: normal; }

/* Akkordeons: grau (Betrieb), beige (Wissenswertes), Kontakt, rot (Aktionen, ab 4b) */
.dbr-acc + .dbr-acc { margin-top: 1.25rem; }
.dbr-acc .accordion-item { border-radius: 0; }
.dbr-acc .accordion-item + .accordion-item { margin-top: .375rem; }
.dbr-acc .accordion-header { font-size: 1rem; }
.dbr-acc .accordion-button { font-family: var(--dbr-font-display); font-size: 1.1875rem; font-weight: 600; border-radius: 0 !important; }
.dbr-acc--betrieb { --bs-accordion-btn-bg: var(--dbr-panel-primary); --bs-accordion-active-bg: var(--dbr-panel-primary); --bs-accordion-btn-color: var(--dbr-panel-primary-text); --bs-accordion-active-color: var(--dbr-panel-primary-text); --bs-accordion-border-color: var(--dbr-panel-primary); }
.dbr-acc--info { --bs-accordion-btn-bg: var(--dbr-panel-secondary); --bs-accordion-active-bg: var(--dbr-panel-secondary); --bs-accordion-btn-color: var(--dbr-panel-secondary-text); --bs-accordion-active-color: var(--dbr-panel-secondary-text); --bs-accordion-border-color: var(--dbr-panel-secondary); }
.dbr-acc--action { --bs-accordion-btn-bg: var(--dbr-red); --bs-accordion-active-bg: var(--dbr-red); --bs-accordion-btn-color: #ffffff; --bs-accordion-active-color: #ffffff; --bs-accordion-border-color: var(--dbr-red); }
.dbr-acc--action .accordion-button::after { filter: brightness(0) invert(1); }
.dbr-acc--contact .accordion-button { font-family: var(--dbr-font-body); font-size: 1.0625rem; font-weight: 700; gap: .625rem; }
.dbr-acc--contact .accordion-button i { width: 1.25rem; text-align: center; color: var(--dbr-gold-text); }
.dbr-acc--contact .accordion-body { overflow-wrap: anywhere; }
[data-bs-theme="dark"] .dbr-acc .accordion-button::after { filter: invert(1) brightness(1.6); }
.dbr-acc .dbr-text > :last-child { margin-bottom: 0; }

/* --------------------------------------------------------------------------
   Inhaltsblöcke
   -------------------------------------------------------------------------- */
.dbr-block + .dbr-block, .dbr-text + .dbr-block { margin-top: 1.5rem; }
.dbr-block > h2, .dbr-block > h3, .dbr-block > h4 { margin-bottom: .75rem; }
.dbr-block-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 10rem), 1fr)); gap: .5rem; margin: 0; padding: 0; }
.dbr-block-gallery a { display: block; overflow: hidden; border-radius: var(--dbr-radius); }
.dbr-block-gallery img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .25s ease; }
.dbr-block-gallery a:hover img { transform: scale(1.04); }
.dbr-block--quote { padding: 1rem 1.25rem; border-left: 4px solid var(--dbr-accent); background: var(--dbr-section-light-bg); }
.dbr-block-timeline { position: relative; margin: 0; padding: 0 0 0 1.25rem; border-left: 3px solid var(--dbr-gold); }
.dbr-block-timeline li { position: relative; display: grid; grid-template-columns: 4.5rem 1fr; gap: .75rem; padding: 0 0 1rem; }
.dbr-block-timeline li::before { content: ""; position: absolute; left: calc(-1.25rem - 8px); top: .35rem; width: 13px; height: 13px; border: 3px solid var(--dbr-gold); border-radius: 50%; background: var(--dbr-main-bg); }
.dbr-block-timeline__year { color: var(--dbr-gold-text); font-weight: 700; }
.dbr-block--cta { display: flex; flex-wrap: wrap; gap: 1.25rem; align-items: center; padding: 1.25rem 1.5rem; border-left: 4px solid var(--dbr-gold); background: var(--dbr-section-light-bg); }
.dbr-block-cta__img { flex: 0 0 10rem; max-width: 100%; }
.dbr-block-cta__img img { width: 100%; height: auto; border-radius: var(--dbr-radius); }
.dbr-block-cta__text { flex: 1 1 16rem; }
.dbr-block-cta__title { margin: 0 0 .5rem; color: var(--dbr-heading); font-family: var(--dbr-font-display); font-size: 1.25rem; font-weight: 600; }
.dbr-downloads { margin: 0; }
.dbr-downloads li + li { margin-top: .375rem; }
.dbr-downloads a { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: .375rem; }
.dbr-downloads i { color: var(--dbr-gold-text); }
.dbr-downloads__meta { color: var(--dbr-text-muted); font-size: .875rem; }
/* Veranstaltung: Sprungmarke #download, Überschrift „Downloads“, mehrere Dateien; Vorschau: PDF 1. Seite (pdfout), Bild als Ausschnitt,
   sonst Dateisymbol in derselben Spalte (04.11.2026) */
.dbr-event__download { scroll-margin-top: 7rem; }
.dbr-downloads__item--thumb { display: flex; align-items: flex-start; gap: 1rem; }
.dbr-downloads__media { position: relative; flex: 0 0 auto; display: block; line-height: 0; }
.dbr-downloads__body { min-width: 0; }
.dbr-downloads--preview .dbr-downloads__dl { display: block; }
.dbr-downloads__label { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: .375rem; }
.dbr-downloads__thumb { flex: 0 0 auto; width: 96px; height: 136px; object-fit: contain; object-position: center; background: #ffffff; border: 1px solid var(--dbr-border); border-radius: 2px; box-shadow: 0 1px 3px rgba(0, 0, 0, .15); }
.dbr-downloads__media:hover .dbr-downloads__thumb { box-shadow: 0 2px 8px rgba(0, 0, 0, .3); }
/* Bild: Lupe auf der Vorschau, Großansicht per Klick; Textlink „Bild anzeigen“ für Tastatur und Screenreader */
.dbr-downloads__media--zoom { cursor: zoom-in; }
.dbr-downloads__zoom { position: absolute; right: 4px; bottom: 4px; display: flex; align-items: center; justify-content: center; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: rgba(0, 0, 0, .65); color: #ffffff; font-size: .75rem; line-height: 1; }
.dbr-downloads .dbr-downloads__zoom i { color: #ffffff; }
.dbr-downloads__view { display: inline-flex; align-items: center; gap: .375rem; min-height: 1.5rem; margin-top: .25rem; font-size: .875rem; font-weight: 700; text-decoration: underline; text-underline-offset: .15em; }
.dbr-downloads__thumb--img { height: 72px; object-fit: cover; object-position: center; }
.dbr-downloads__ph { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 96px; height: 72px; border: 1px solid var(--dbr-border); border-radius: 2px; background: var(--dbr-section-light-bg); color: var(--dbr-text-muted); font-size: 2rem; }
.dbr-downloads--preview .dbr-downloads__item { padding: .75rem 0; }
.dbr-downloads--preview .dbr-downloads__label { display: block; min-width: 0; }
.dbr-downloads--preview .dbr-downloads__dl, .dbr-downloads--preview .dbr-downloads__media { text-decoration: none; }
.dbr-downloads--preview .dbr-downloads__title { text-decoration: underline; text-underline-offset: .15em; }
.dbr-downloads--preview .dbr-downloads__dl:hover .dbr-downloads__title, .dbr-downloads__view:hover { text-decoration-thickness: 2px; }
.dbr-downloads--preview .dbr-downloads__meta { display: block; margin-top: .125rem; font-weight: 400; }
.dbr-downloads--preview .dbr-downloads__item:first-child { padding-top: 0; }
@media (max-width: 575.98px) {
  .dbr-downloads__thumb, .dbr-downloads__ph { width: 72px; height: 102px; }
  .dbr-downloads__thumb--img, .dbr-downloads__ph { height: 54px; }
  .dbr-downloads__ph { font-size: 1.5rem; }
}

/* --------------------------------------------------------------------------
   Regionen: Reiter
   -------------------------------------------------------------------------- */
.dbr-region .dbr-tabs__nav { flex-wrap: wrap; margin-bottom: 1.5rem; }
.dbr-region .dbr-tabs__nav .nav-link { min-height: 2.75rem; font-family: var(--dbr-font-display); font-size: 1.0625rem; font-weight: 600; color: var(--dbr-link); }
.dbr-region .tab-pane:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 4px; }

/* --------------------------------------------------------------------------
   Karte (Leaflet + OpenStreetMap, Zwei-Klick)
   -------------------------------------------------------------------------- */
.dbr-lmap { position: relative; overflow: hidden; height: 20rem; border-radius: var(--dbr-radius); background: #e8eaec; color: #1d1f22; }
.dbr-lmap--s { height: 16rem; }
.dbr-lmap--l { height: 26rem; }
@media (min-width: 992px) {
  .dbr-lmap--m { height: 26rem; }
  .dbr-lmap--l { height: 34rem; }
}
.dbr-lmap::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); }
.dbr-lmap.is-loaded::before { display: none; }
.dbr-lmap__canvas { position: absolute; inset: 0; z-index: 1; }
.dbr-lmap__consent { z-index: 2; }
.dbr-lmap .dbr-embed__note { background: rgba(255, 255, 255, .92); }
.dbr-lmap .dbr-embed__btn:focus-visible { outline-color: var(--dbr-focus); box-shadow: none; }
[data-bs-theme="dark"] .dbr-lmap:not(.is-loaded) { background: #2a2d31; color: #ffffff; }
[data-bs-theme="dark"] .dbr-lmap:not(.is-loaded)::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); }
[data-bs-theme="dark"] .dbr-lmap .dbr-embed__note { background: rgba(29, 31, 34, .9); }
.dbr-lmap__canvas:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: -3px; }
.dbr-lmap .leaflet-container { font-family: var(--dbr-font-body); font-size: .9375rem; }
.dbr-lmap .leaflet-container a { color: #154711; }
.dbr-lmap__pin { background: none; border: 0; }
.dbr-lmap__pin svg { display: block; filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .35)); }
/* Bild-Marker (Warnschild, Stations-Schild, Fotospot): dunkle Kontur für ≥ 3:1 auf hellen Kartenkacheln (WCAG 1.4.11) */
.dbr-lmap__pin--img img { display: block; width: 100%; height: 100%; filter: drop-shadow(0 0 1px #1d1f22) drop-shadow(0 1px 2px rgba(0, 0, 0, .4)); }
.dbr-lmap .leaflet-marker-icon:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }
.dbr-lmap__popup img { display: block; width: 100%; height: auto; margin-bottom: .5rem; border-radius: var(--dbr-radius); }
.dbr-lmap__popup p { margin: 0 0 .25rem; }
.dbr-lmap__ptype { color: #7a5c26; font-size: .8125rem; font-weight: 700; text-transform: uppercase; }
.dbr-lmap__ptitle { font-weight: 700; font-size: 1rem; }
.dbr-lmap__plink { margin-top: .375rem !important; }
.dbr-lmap__locate {
  display: inline-flex; align-items: center; gap: .375rem; min-height: 2.75rem; padding: .375rem .75rem;
  border: 2px solid rgba(0, 0, 0, .3); border-radius: var(--dbr-radius); background: #ffffff; color: #154711; font-weight: 700; cursor: pointer;
}
.dbr-lmap__locate:hover { background: #f1f4f3; }
.dbr-lmap__locate:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }
.dbr-lmap .leaflet-bar a { width: 2.75rem; height: 2.75rem; line-height: 2.75rem; color: #1d1f22; }
.dbr-lmap .leaflet-control-attribution { font-size: .75rem; color: #1d1f22; background: rgba(255, 255, 255, .9); }

/* Partnerkarte: Filter, Legende, Liste */
.dbr-pmap__filters { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1rem; padding: 0; border: 0; }
.dbr-pmap__filters legend { width: 100%; margin-bottom: .25rem; font-size: 1.0625rem; font-weight: 700; }
.dbr-chip { display: inline-flex; align-items: center; gap: .375rem; min-height: 2.75rem; padding: .25rem .875rem; border: 1px solid var(--dbr-border); border-radius: 999px; background: var(--dbr-main-bg); cursor: pointer; }
.dbr-chip:has(input:checked) { border-color: var(--dbr-green); background: var(--dbr-green); color: #ffffff; }
[data-bs-theme="dark"] .dbr-chip:has(input:checked) { border-color: #2b7a22; background: #2b7a22; }
.dbr-chip input { width: 1.125rem; height: 1.125rem; margin: 0; accent-color: var(--dbr-green); }
.dbr-chip:has(input:focus-visible) { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }
.dbr-chip__n { opacity: .85; font-size: .875rem; }
.dbr-pmap__legend { display: flex; flex-wrap: wrap; gap: .375rem 1.25rem; margin: .75rem 0 0; padding: 0; font-size: .9375rem; }
.dbr-pin { display: inline-block; width: .875rem; height: .875rem; border: 2px solid #1d1f22; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); vertical-align: -.0625rem; }
.dbr-pin--1 { background: #e2001a; }
.dbr-pin--2 { background: #366092; }
.dbr-pin--3 { background: #ffc000; }
.dbr-pin--4 { background: #9dbfe6; }
.dbr-pin--5 { background: #8e8e8e; }
.dbr-pmap__count { margin: .75rem 0 0; font-weight: 700; }
.dbr-pmap__nearest-title { margin: 1rem 0 .5rem; font-size: 1.125rem; }
.dbr-pmap__list { margin-top: 1rem; }
.dbr-pmap__list summary { min-height: 2.75rem; padding: .625rem 0; color: var(--dbr-link); font-weight: 700; cursor: pointer; }
.dbr-pmap__items { columns: 18rem; column-gap: 2rem; margin: .5rem 0 0; padding: 0; list-style: none; }
.dbr-pmap__items li { break-inside: avoid; padding: .1875rem 0; }
.dbr-pmap__place { color: var(--dbr-text-muted); }

/* --------------------------------------------------------------------------
   Modul 01: Hero-Slider mit Video und Bildern (ohne Slider Revolution)
   Feste Höhe der Bühne (kein Layout-Sprung), Überblenden, Bedienelemente unten
   -------------------------------------------------------------------------- */
.dbr-mod--hero { position: relative; overflow: hidden; background: var(--dbr-green); }
.dbr-hero { position: relative; height: 26rem; color: #ffffff; }
.dbr-hero--hvh75 { height: max(24rem, min(75svh, 56rem)); }
@media (min-width: 992px) {
  .dbr-hero--h360 { height: 22.5rem; }
  .dbr-hero--h440 { height: 27.5rem; }
  .dbr-hero--h520 { height: 32.5rem; }
  .dbr-hero--h600 { height: 37.5rem; }
}
/* Höhe mobil aus dem Modul (10.11.2026, Doku 77); ohne Klasse bleibt es bei der Desktop-Einstellung.
   min-height: 0 hebt die Mindesthöhen aus Abschnitt 15 (Slider-Revolution-Vorlage) auf. */
@media (max-width: 991.98px) {
  .dbr-hero.dbr-hero--mvh50 { height: max(18rem, 50svh); min-height: 0; }
  .dbr-hero.dbr-hero--mvh60 { height: max(20rem, 60svh); min-height: 0; }
  .dbr-hero.dbr-hero--mvh75 { height: max(24rem, min(75svh, 56rem)); min-height: 0; }
  .dbr-hero.dbr-hero--m320 { height: 20rem; min-height: 0; }
  .dbr-hero.dbr-hero--m360 { height: 22.5rem; min-height: 0; }
  .dbr-hero.dbr-hero--m400 { height: 25rem; min-height: 0; }
  .dbr-hero.dbr-hero--m440 { height: 27.5rem; min-height: 0; }
  .dbr-hero.dbr-hero--m520 { height: 32.5rem; min-height: 0; }
}
.dbr-hero__slides { position: absolute; inset: 0; }
.dbr-hero__slide { position: absolute; inset: 0; display: flex; align-items: center; }
.dbr-hero__slide[hidden] { display: none; }
.dbr-mod--hero.is-ready .dbr-hero__slide { opacity: 0; visibility: hidden; transition: opacity .65s ease, visibility 0s linear .65s; }
.dbr-mod--hero.is-ready .dbr-hero__slide.is-active { opacity: 1; visibility: visible; transition: opacity .65s ease; }
@media (prefers-reduced-motion: reduce) { .dbr-mod--hero.is-ready .dbr-hero__slide { transition: none; } }
.dbr-hero__media, .dbr-hero__slide .dbr-img-placeholder { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dbr-hero__slide::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, var(--dbr-hero-overlay, .35)); pointer-events: none; }
.dbr-hero__caption { position: relative; z-index: 1; width: 100%; padding-bottom: 3.5rem; }
.dbr-hero__caption--center { text-align: center; }
.dbr-hero__caption .container > * { max-width: 46rem; }
.dbr-hero__caption--center .container > * { margin-inline: auto; }
.dbr-hero__title { margin: 0 0 .75rem; color: #ffffff; font-family: var(--dbr-font-display); font-size: clamp(1.75rem, 1.1rem + 3vw, 3.25rem); font-weight: 600; line-height: 1.1; text-shadow: 0 2px 8px rgba(0, 0, 0, .85); }
.dbr-hero__text { margin: 0 0 1.25rem; color: #ffffff; font-size: clamp(1.0625rem, .95rem + .6vw, 1.375rem); font-weight: 700; line-height: 1.35; text-shadow: 0 2px 6px rgba(0, 0, 0, .95); }
.dbr-hero__action { margin: 0; }
.dbr-hero__btn { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.75rem; padding: .625rem 1.5rem; border: 2px solid #ffffff; border-radius: 999px; background: rgba(0, 0, 0, .35); color: #ffffff; font-weight: 700; text-decoration: none; }
.dbr-hero__btn:hover { background: #ffffff; color: #154711; }
.dbr-hero :focus-visible { outline: 3px solid #ffffff; outline-offset: 3px; box-shadow: 0 0 0 6px #1d1f22; }
.dbr-hero__controls { position: absolute; left: 0; right: 0; bottom: .75rem; z-index: 2; }
.dbr-hero__controls .container { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.dbr-hero__ctrl { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border: 2px solid #ffffff; border-radius: 50%; background: rgba(0, 0, 0, .55); color: #ffffff; cursor: pointer; }
.dbr-hero__ctrl:hover { background: #ffffff; color: #154711; }
.dbr-hero__dots { display: flex; gap: .125rem; margin-left: .25rem; }
.dbr-hero__dot { position: relative; width: 1.75rem; height: 2.75rem; border: 0; background: none; cursor: pointer; }
.dbr-hero__dot::before { content: ""; position: absolute; top: 50%; left: 50%; width: .875rem; height: .875rem; border: 2px solid #ffffff; border-radius: 50%; background: rgba(0, 0, 0, .55); transform: translate(-50%, -50%); }
.dbr-hero__dot[aria-current="true"]::before { background: var(--dbr-gold); border-color: #ffffff; }
@media (max-width: 575.98px) { .dbr-hero__dots { display: none; } }

/* --------------------------------------------------------------------------
   Veranstaltungen (Etappe 4b)
   -------------------------------------------------------------------------- */
.dbr-elist__month { margin: 2rem 0 1rem; padding-bottom: .375rem; border-bottom: 2px solid var(--dbr-gold); font-size: 1.5rem; }
.dbr-elist__month:first-of-type { margin-top: 0; }
.dbr-elist__month a { color: inherit; text-decoration: none; }
.dbr-elist__month a:hover { text-decoration: underline; }
.dbr-elist__items { display: grid; gap: .75rem; margin: 0; padding: 0; }
.dbr-eitem {
  position: relative; display: grid; grid-template-columns: 4.5rem 1fr; gap: .75rem 1rem; align-items: start;
  padding: .875rem; border: 1px solid var(--dbr-border); border-radius: var(--dbr-radius); background: var(--dbr-main-bg);
}
.dbr-eitem:hover, .dbr-eitem:focus-within { box-shadow: 0 .375rem 1rem rgba(0, 0, 0, .1); }
@media (min-width: 768px) { .dbr-eitem { grid-template-columns: 4.5rem 9rem 1fr; } }
.dbr-eitem__date { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 4.5rem; margin: 0; padding: .375rem; border-radius: var(--dbr-radius); background: var(--dbr-red); color: #ffffff; line-height: 1.05; text-align: center; }
.dbr-eitem__day { font-family: var(--dbr-font-display); font-size: 1.75rem; font-weight: 700; }
.dbr-eitem__mon { font-size: .875rem; font-weight: 700; text-transform: uppercase; }
.dbr-eitem__to { margin-top: .125rem; font-size: .75rem; font-weight: 700; }
.dbr-eitem__media { display: none; overflow: hidden; border-radius: var(--dbr-radius); aspect-ratio: 4 / 3; background: var(--dbr-section-grey-bg); }
@media (min-width: 768px) { .dbr-eitem__media { display: block; } }
.dbr-eitem__media img, .dbr-eitem__media .dbr-img-placeholder { display: block; width: 100%; height: 100%; object-fit: cover; }
.dbr-eitem__media .dbr-pcard__noimg { font-size: 1.75rem; }
.dbr-eitem__body { min-width: 0; }
.dbr-eitem__title { margin: 0 0 .25rem; font-size: 1.1875rem; line-height: 1.25; overflow-wrap: break-word; hyphens: auto; }
.dbr-eitem__title a { color: var(--dbr-heading); text-decoration: none; }
.dbr-eitem__title a:hover { text-decoration: underline; }
.dbr-eitem__title a:focus-visible { outline: none; }
.dbr-eitem__title a:focus-visible::after { outline: 3px solid var(--dbr-focus); outline-offset: -3px; border-radius: var(--dbr-radius); }
.dbr-eitem__meta { margin: 0 0 .25rem; color: var(--dbr-text-muted); font-size: .9375rem; font-weight: 700; }
/* Datum rot (20.10.2026, Vorgabe #ff0000 / dunkel #ff4444). Hell korrigiert: #ff0000 auf Weiß nur 4,0:1 (15 px fett braucht 4,5:1)
   → #e2001a (Rot der Website, 4,94:1). Dunkel #ff4444 auf #121a11: 5,22:1 – unverändert */
.dbr-eitem__meta > time { color: #e2001a !important; }
[data-bs-theme="dark"] .dbr-eitem__meta > time { color: #ff4444 !important; }
.dbr-eitem__text { margin: 0; font-size: .9375rem; }
.dbr-eitem.is-cancelled .dbr-eitem__title { text-decoration: line-through; text-decoration-thickness: 1px; }
.dbr-elist__items--compact .dbr-eitem { grid-template-columns: 4rem 1fr; padding: .625rem; }
.dbr-elist__items--compact .dbr-eitem__media { display: none; }
.dbr-elist__items--compact .dbr-eitem__date { min-height: 4rem; }
.dbr-elist__items--compact .dbr-eitem__text { display: none; }
.dbr-badge { display: inline-block; margin: 0 0 .25rem; padding: .125rem .5rem; border-radius: var(--dbr-radius); font-size: .8125rem; font-weight: 700; }
.dbr-badge--danger { background: var(--dbr-red); color: #ffffff; }
.dbr-pager { margin-top: 1.5rem; }
.dbr-pager .page-link { min-width: 2.75rem; min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; color: var(--dbr-link); }
.dbr-pager .page-item.active .page-link { background: var(--dbr-accent-strong); border-color: var(--dbr-accent-strong); color: #ffffff; }
.dbr-event__date { margin: 0 0 1rem; color: var(--dbr-text-muted); font-size: 1.0625rem; font-weight: 700; }
.dbr-event__date i { color: var(--dbr-red); }
[data-bs-theme="dark"] .dbr-event__date i { color: #ff8a95; }
.dbr-event__img { margin: 0 0 1.5rem; }
.dbr-event__img img { border-radius: var(--dbr-radius); }
.dbr-event .dbr-heading-line { margin-top: 2rem; }
.dbr-event__dates { columns: 14rem; column-gap: 1.5rem; }
.dbr-event__contact { margin: 1rem 0; }
.dbr-event__contact li { display: flex; gap: .5rem; align-items: baseline; padding: .125rem 0; overflow-wrap: anywhere; }
.dbr-event__contact a { display: inline-block; padding-block: .25rem; }
.dbr-event__contact i { width: 1.25rem; color: var(--dbr-gold-text); text-align: center; }
.dbr-event__aside .dbr-pcard { height: auto !important; margin-bottom: .5rem; }
.dbr-text { overflow-wrap: break-word; hyphens: auto; }
.dbr-text .table-responsive { margin-bottom: 1rem; }
.dbr-text table { margin-bottom: 0; }

/* Zielgröße (WCAG 2.5.8): Telefon und E-Mail im Footer stehen direkt untereinander */
.dbr-bottom__strong a { display: inline-block; padding-block: .1875rem; }

/* ---------------------------------------------------------------- Etappe 4c: Reiseangebote, Stationen, Fotospots */
.dbr-pin--station, .dbr-pin--foto, .dbr-pin--1 { border: 0; border-radius: 0; transform: none; background: center / contain no-repeat; vertical-align: -.125rem; }
.dbr-pin--1 { width: 1.125rem; height: 1rem; background-image: url("../img/logo-sign.svg"); }
.dbr-pin--station { width: 1.875rem; height: .9375rem; background-image: url("../img/map/pin-station.png"); filter: drop-shadow(0 0 1px #1d1f22); }
.dbr-pin--foto { width: 1.375rem; height: .9375rem; background-image: url("../img/map/pin-foto.png"); }
.dbr-ocard__date { margin: 0; font-size: .9375rem; font-weight: 700; }
.dbr-ocard__date i { color: var(--dbr-gold-text); }
.dbr-offer__actions { margin: 0 0 1.5rem; }
.dbr-offer__cta { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.75rem; }
.dbr-offer__when { font-weight: 700; }
.dbr-offer .dbr-acc { margin-top: 1.5rem; }
.dbr-olist__compact { display: grid; gap: 0; margin: 0; padding: 0; }
.dbr-olist__compact li { padding: .625rem 0; border-bottom: 1px solid var(--dbr-border); }
.dbr-olist__compact li:last-child { border-bottom: 0; }
.dbr-olist__title { margin: 0 0 .125rem; font-size: 1.0625rem; line-height: 1.3; }
.dbr-olist__title a { display: inline-block; padding-block: .125rem; }
.dbr-olist__meta { margin: 0; color: var(--dbr-text-muted); font-size: .9375rem; }
.dbr-stations { display: grid; gap: .75rem; margin: 0 0 2rem; padding: 0; }
.dbr-station { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); gap: .5rem 1rem; align-items: start; padding: .875rem; border: 1px solid var(--dbr-border); border-radius: var(--dbr-radius); background: var(--dbr-main-bg); scroll-margin-top: 7rem; }
.dbr-station:target { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }
@media (min-width: 768px) { .dbr-station { grid-template-columns: 2.75rem minmax(0, 1fr) 10rem; } }
.dbr-station__nr { display: flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; margin: 0; border-radius: 50%; background: var(--dbr-accent-strong); color: #ffffff; font-family: var(--dbr-font-display); font-size: 1.125rem; font-weight: 700; }
.dbr-station__name { margin: 0 0 .25rem; font-size: 1.125rem; line-height: 1.3; }
.dbr-station__place, .dbr-station__partners, .dbr-station__sign { margin: 0 0 .25rem; font-size: .9375rem; }
.dbr-station__place { color: var(--dbr-text-muted); }
.dbr-station__partners a, .dbr-station__sign a { display: inline-block; padding-block: .25rem; }
.dbr-station__img { grid-column: 2; }
@media (min-width: 768px) { .dbr-station__img { grid-column: 3; grid-row: 1; } }
.dbr-station__img img, .dbr-station__img .dbr-img-placeholder { display: block; width: 100%; max-width: 10rem; height: auto; border-radius: 2px; }
.dbr-hstation { padding: 1.5rem 0; border-bottom: 1px solid var(--dbr-border); scroll-margin-top: 7rem; }
.dbr-hstation:first-child { padding-top: 0; }
.dbr-hstation:last-child { border-bottom: 0; }
.dbr-hstation__title { margin: 0 0 .25rem; }
.dbr-hstation__sub { margin: 0 0 .75rem; color: var(--dbr-gold-text); font-weight: 700; }
.dbr-hstation__img { margin: 0 0 1rem; max-width: 20rem; }
@media (min-width: 768px) { .dbr-hstation__img { float: right; margin: 0 0 1rem 1.5rem; } }
.dbr-hstation__img img { display: block; width: 100%; height: auto; }
.dbr-hstation::after { content: ""; display: table; clear: both; }
.dbr-fotospot__facts { display: grid; gap: 1rem; margin: 1.5rem 0; padding: 1rem 1.25rem; border-left: 4px solid var(--dbr-gold); background: var(--dbr-section-grey-bg); border-radius: var(--dbr-radius); }
@media (min-width: 768px) { .dbr-fotospot__facts { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); } }
.dbr-fotospot__facts dt { margin: 0 0 .25rem; font-weight: 700; }
.dbr-fotospot__facts dt i { color: var(--dbr-gold-text); }
.dbr-fotospot__facts dd { margin: 0; }
.dbr-fotospots .dbr-lmap { margin-bottom: 1rem; }
/* Region: Kacheln „Die Regionen der Dampfbahn-Route“ unter den Reitern (19.10.2026) */
.dbr-region + .dbr-regions { margin-top: 3rem; }
/* Premiumpartner hervorheben (19.10.2026): Reiter „Partner“ einer Region und Auswahllisten der Filterleiste */
.dbr-pcard--premium { border-color: var(--dbr-gold); box-shadow: inset 0 0 0 1px var(--dbr-gold); }
.dbr-pcard--premium .dbr-pcard__body { background: var(--dbr-beige); }
.dbr-pcard__premium { align-self: flex-start; width: fit-content; display: inline-flex; align-items: center; gap: .375rem; margin: 0 0 .375rem; padding: .125rem .5rem; border-radius: 999px; background: var(--dbr-gold); color: #1a1a1a; font-size: .8125rem; font-weight: 700; }
.dbr-rsel option.dbr-opt--premium { background: var(--dbr-beige); color: var(--dbr-gold-text-on-beige); font-weight: 700; }
.dbr-pcard--premium .dbr-pcard__type { color: var(--dbr-gold-text-on-beige); }
.dbr-partner__map { margin-top: 2.5rem; }
.dbr-partner__mappage { margin: .75rem 0 0; }
.dbr-partner__mappage a { display: inline-block; padding-block: .25rem; }
/* Partner-Video (09.11.2026, Doku 75): nach den Akkordeons, vor „Lage auf der Karte“ */
.dbr-partner__video { margin-top: 2.5rem; }
/* volle Breite wie die Karte darunter (10.11.2026, Doku 76); Hochformat (Instagram, TikTok) schmal und mittig */
.dbr-partner__player.dbr-ratio--9x16 { --dbr-ratio: 9 / 16; max-width: 22rem; margin-inline: auto; }
.dbr-partner__video-text { max-width: 64rem; margin: .75rem 0 0; }
/* Abzeichen Premium / Sterne (19.10.2026) */
.dbr-pcard__badges { display: flex; flex-wrap: wrap; gap: .375rem; margin: 0 0 .375rem; }
.dbr-pcard__badges .dbr-pcard__premium { margin: 0; }
/* Sterne-Abzeichen wie „Premiumpartner“: Gold, dunkle Schrift; Karte der Sterne-Partner wie die der Premiumpartner (19.10.2026) */
.dbr-pcard__stars { display: inline-flex; align-items: center; gap: .125rem; margin: 0; padding: .25rem .5rem; border-radius: 999px; background: var(--dbr-gold); color: #1a1a1a; font-size: .75rem; line-height: 1; }
.dbr-pcard--stars { border-color: var(--dbr-gold); box-shadow: inset 0 0 0 1px var(--dbr-gold); }
.dbr-pcard--stars .dbr-pcard__body { background: var(--dbr-beige); }
.dbr-pcard--stars .dbr-pcard__type { color: var(--dbr-gold-text-on-beige); }
/* ganze Kachel beige: der Link „Bearbeiten“ für Redakteure steht unter dem Text, nicht auf Weiß (04.11.2026) */
.dbr-pcard--premium, .dbr-pcard--stars { background: var(--dbr-beige); }
.dbr-partner__badges { margin-bottom: .5rem; }
.dbr-partner__badges .dbr-pcard__premium, .dbr-partner__badges .dbr-pcard__stars { font-size: .875rem; }
/* Karten mobil (19.10.2026): höhere Karte; Infofenster kleiner, ohne Bild und ohne zweiten Link, gut treffbare Schließen-Schaltfläche */
@media (max-width: 767.98px) {
  .dbr-lmap--m, .dbr-lmap--l { height: 70vh; height: 70svh; min-height: 24rem; max-height: 38rem; }
  .dbr-lmap__popup img, .dbr-lmap__plink { display: none; }
  .dbr-lmap .leaflet-popup-content { margin: .625rem 2.25rem .625rem .75rem; font-size: .875rem; line-height: 1.35; }
  .dbr-lmap__ptitle { font-size: .9375rem; }
  .dbr-lmap__ptype { font-size: .75rem; }
}
.dbr-lmap .leaflet-popup-close-button { width: 2rem !important; height: 2rem !important; font: 1.375rem/2rem var(--dbr-font-body) !important; color: #1d1f22 !important; }
.dbr-lmap .leaflet-popup-close-button:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: -3px; }

/* Doku 60 (04.11.2026): Download-Listen mit Vorschau in allen Modulen, Fotospots 3:2 */
.dbr-downloads__text { margin-top: .25rem; font-size: .9375rem; }
.dbr-downloads__body > .dbr-edit-link--item { margin: .5rem 0 0; }
.dbr-blog-file { margin: 1.5rem 0; }
.dbr-pb-detail__box .dbr-downloads--preview .dbr-downloads__item { padding: .5rem 0; }
.dbr-info__pdf { display: block; width: min(100%, 240px); text-decoration: none; }
.dbr-info__media .dbr-info__pdfthumb { width: 100%; aspect-ratio: 240 / 340; object-fit: contain; background: #fff; }
.dbr-fcard .dbr-pcard__media { aspect-ratio: 3 / 2; }
.dbr-block-gallery--32 img { aspect-ratio: 3 / 2; }
.dbr-downloads--preview .dbr-downloads__title { overflow-wrap: anywhere; }
.dbr-credit.dbr-pbcard__license { margin-top: .125rem; }
/* Doku 61 (04.11.2026): Stationsschild mit Vorschau (Modul 40, Wert 8) */
.dbr-station__signlist { margin-top: .375rem; font-size: .9375rem; }
.dbr-station__signlist .dbr-downloads__item { padding: .25rem 0 0; border: 0; }
/* Doku 62 (04.11.2026): Pressebilder – Filter nach Schlagwörtern (Modul 46) */
.dbr-tagfilter { margin: 0 0 1rem; }
.dbr-tagfilter__list { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; }
a.dbr-tagfilter__chip { color: var(--dbr-text); text-decoration: none; }
a.dbr-tagfilter__chip:hover { border-color: var(--dbr-green); text-decoration: underline; }
a.dbr-tagfilter__chip:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }
a.dbr-tagfilter__chip.is-active { border-color: var(--dbr-green); background: var(--dbr-green); color: #ffffff; }
[data-bs-theme="dark"] a.dbr-tagfilter__chip.is-active { border-color: #2b7a22; background: #2b7a22; }
.dbr-pb-tags { margin-top: .125rem; }
.dbr-blog-tag--plain { color: var(--dbr-text); }
a.dbr-tagfilter__chip.is-active .dbr-chip__n { opacity: 1; }
/* Abschnitt nur mit Bild: ohne Akkordeon zwischen den Akkordeons (Doku 66, 04.11.2026) */
.dbr-partner__plainimg { margin: 1rem 0; }
.dbr-partner__plainimg .dbr-partner__secimg { margin: 0; }

/* Bildübersicht (intern), Modul dbr_m54_medialist (04.11.2026, Doku 68) */
.dbr-mlist { --dbr-mlist-missing: #b00016; }                 /* 6,99:1 auf Weiß */
[data-bs-theme="dark"] .dbr-mlist { --dbr-mlist-missing: #ff9b9b; } /* 9,0:1 auf #121a11 */
.dbr-mlist__summary { margin-bottom: .25rem; }
.dbr-mlist__counts { display: flex; flex-wrap: wrap; gap: .25rem 1rem; margin: 0 0 .5rem; padding: 0; list-style: none; font-size: .9375rem; }
.dbr-mlist__counts a[aria-current] { font-weight: 700; }
.dbr-mlist__stand { color: var(--dbr-text-muted); font-size: .875rem; }
.dbr-mlist__filter { margin: 1rem 0; padding: 1rem; background: var(--dbr-section-light-bg); border: 1px solid var(--dbr-border); }
.dbr-mlist__found { font-weight: 600; }
.dbr-mlist__list { margin: 0; padding: 0; list-style: none; }
.dbr-mlist__item { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; padding: 1.25rem 0; border-top: 1px solid var(--dbr-border); }
.dbr-mlist__item:last-child { border-bottom: 1px solid var(--dbr-border); }
@media (min-width: 768px) { .dbr-mlist__item { grid-template-columns: 240px minmax(0, 1fr); } }
@media (min-width: 1200px) { .dbr-mlist__item { grid-template-columns: 320px minmax(0, 1fr); } }
.dbr-mlist__img img { display: block; width: 100%; max-width: 480px; height: auto; background: var(--dbr-mint); }
.dbr-mlist__img a { display: block; }
.dbr-mlist__img a:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }
.dbr-mlist__nofile { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; padding: 1rem; text-align: center;
  background: var(--dbr-mint); color: var(--dbr-mlist-missing); font-weight: 600; }
.dbr-mlist__title { font-size: 1.125rem; margin: 0 0 .25rem; overflow-wrap: anywhere; }
.dbr-mlist__file { margin: 0 0 .75rem; font-size: .875rem; color: var(--dbr-text-muted); overflow-wrap: anywhere; }
.dbr-mlist__file code { color: inherit; font-size: inherit; }
.dbr-mlist__dl { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 1rem; margin: 0; font-size: .9375rem; }
.dbr-mlist__dl dt { font-weight: 600; }
.dbr-mlist__dl dd { margin: 0 0 .5rem; overflow-wrap: anywhere; }
@media (min-width: 576px) {
  .dbr-mlist__dl { grid-template-columns: 9.5rem minmax(0, 1fr); }
  .dbr-mlist__dl dd { margin-bottom: .375rem; }
}
.dbr-mlist__missing { color: var(--dbr-mlist-missing); font-weight: 600; }
.dbr-mlist__none, .dbr-mlist__id { color: var(--dbr-text-muted); }
.dbr-mlist__tags { display: flex; flex-wrap: wrap; gap: .375rem; margin: 0; padding: 0; list-style: none; }
.dbr-mlist__tags a { display: inline-block; padding: .125rem .5rem; border: 1px solid var(--dbr-border); border-radius: 1rem; color: var(--dbr-text); text-decoration: none; }
.dbr-mlist__tags a:hover { border-color: var(--dbr-green); text-decoration: underline; }
.dbr-mlist__used { margin: .25rem 0 0; padding-left: 1.125rem; }
.dbr-mlist__more summary { cursor: pointer; color: var(--dbr-link); text-decoration: underline; }
.dbr-mlist .dbr-edit-link--item { position: static; margin: .5rem 0 0; }
/* Bildqualität und DPI: Kennzeichnung mit Hintergrundfarbe (Doku 70/71) – Kontrast Text/Fläche jeweils ≥ 7:1 */
.dbr-mlist__badge { display: inline-block; padding: .0625rem .5rem; border-radius: .25rem; border: 1px solid transparent; font-weight: 600; }
.dbr-mlist__badge--bad { background: #fde2e4; color: #8a0012; border-color: #f2a9b0; }
.dbr-mlist__badge--warn { background: #fff1c2; color: #5c4300; border-color: #e6cc6e; }
.dbr-mlist__badge--ok { background: #dff0dc; color: #1c4f14; border-color: #a9d3a0; }
.dbr-mlist__badge--none { background: #eceff0; color: #3b4447; border-color: #c9d0d2; }
[data-bs-theme="dark"] .dbr-mlist__badge--bad { background: #4a1418; color: #ffd0d3; border-color: #8a2a31; }
[data-bs-theme="dark"] .dbr-mlist__badge--warn { background: #3d3210; color: #ffe39a; border-color: #7a6420; }
[data-bs-theme="dark"] .dbr-mlist__badge--ok { background: #183a14; color: #c8ecbf; border-color: #3c7232; }
[data-bs-theme="dark"] .dbr-mlist__badge--none { background: #262d2b; color: #d4dbd8; border-color: #4a5552; }

/* Linkprüfung (intern), Modul dbr_m55_linkcheck (06.11.2026, Doku 74) – Kennzeichnungen: .dbr-mlist__badge… */
.dbr-lcheck__summary { margin-bottom: .25rem; }
.dbr-lcheck__stand, .dbr-lcheck__hint, .dbr-lcheck__meta, .dbr-lcheck__muted { color: var(--dbr-text-muted); font-size: .875rem; }
.dbr-lcheck__muted { font-size: inherit; }
.dbr-lcheck__jump { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; margin: .75rem 0 0; padding: 0; list-style: none; }
.dbr-lcheck__step { margin-top: 2.5rem; }
.dbr-lcheck__step > h2 { font-size: 1.5rem; }
.dbr-lcheck__list { margin: 0; padding: 0; list-style: none; }
.dbr-lcheck__item { padding: 1rem 0; border-top: 1px solid var(--dbr-border); overflow-wrap: anywhere; }
.dbr-lcheck__item:last-child { border-bottom: 1px solid var(--dbr-border); }
.dbr-lcheck__item.is-checking { background: var(--dbr-section-light-bg); }
.dbr-lcheck__item.is-checking .dbr-lcheck__result::after { content: " wird geprüft …"; color: var(--dbr-text-muted); font-size: .875rem; }
.dbr-lcheck__loc, .dbr-lcheck__head { margin: 0 0 .5rem; }
.dbr-lcheck__head { font-weight: 600; }
.dbr-lcheck__where { margin-right: .25rem; }
.dbr-lcheck__actions { white-space: nowrap; }
.dbr-lcheck__urls { margin: 0; padding-left: 1.125rem; }
.dbr-lcheck__urls > li { margin-bottom: .5rem; }
.dbr-lcheck__url { word-break: break-all; }
.dbr-lcheck__result p { margin: .25rem 0 0; }
.dbr-lcheck__msg { margin-left: .125rem; }
.dbr-lcheck__final a { word-break: break-all; }
.dbr-lcheck__locs { margin: .25rem 0 0; padding-left: 1.125rem; font-size: .9375rem; }
.dbr-lcheck__more { margin-top: .5rem; }
.dbr-lcheck__more summary { cursor: pointer; color: var(--dbr-link); text-decoration: underline; }
.dbr-lcheck__panel { margin-top: 1rem; }
.dbr-lcheck__counts { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin: 0 0 .5rem; padding: 0; list-style: none; }
.dbr-lcheck__controls { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 1rem 0 .5rem; padding: 1rem;
  background: var(--dbr-section-light-bg); border: 1px solid var(--dbr-border); }
.dbr-lcheck__filter { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; min-width: 0; }
.dbr-lcheck__filter select { width: auto; max-width: 100%; }
@media (min-width: 992px) { .dbr-lcheck__filter { margin-left: auto; } }
.dbr-lcheck__progress progress { display: block; width: 100%; height: .75rem; accent-color: var(--dbr-green); }
.dbr-lcheck__status { min-height: 1.5em; font-weight: 600; }
.dbr-lcheck__log { margin: 0 0 1rem; padding: .75rem 1rem; border: 1px solid var(--dbr-border); }
.dbr-lcheck__log h3 { font-size: 1rem; margin: 0 0 .5rem; }
.dbr-lcheck__log ol { margin: 0; padding: 0; list-style: none; font-size: .875rem; font-variant-numeric: tabular-nums; }
.dbr-lcheck__log li { padding: .125rem 0; overflow-wrap: anywhere; }
.dbr-lcheck__logtime, .dbr-lcheck__logms { color: var(--dbr-text-muted); }
.dbr-lcheck__logurl { word-break: break-all; }
.dbr-lcheck__found { margin: 1rem 0 .25rem; }

/* --------------------------------------------------------------------------
   Kartenseite eines Partners /karte/{partner}/ (Template dbr_page_map, 11.11.2026, Doku 86):
   schmaler grüner Kopf, Karte über die ganze restliche Höhe, darunter Anzahl und Liste
   -------------------------------------------------------------------------- */
.dbr-layout--map { display: flex; flex-direction: column; min-height: 100vh; min-height: 100svh; background: var(--dbr-page-bg); }
.dbr-mappage__head { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; padding: .625rem 1rem; border-bottom: 4px solid var(--dbr-gold); background: var(--dbr-band-bg); color: var(--dbr-band-text); }
.dbr-mappage__logo { display: inline-flex; min-height: 2.75rem; align-items: center; }
.dbr-mappage__logo img { display: block; width: auto; height: 2.25rem; max-width: 100%; }
.dbr-mappage__text { flex: 1 1 16rem; min-width: 0; }
.dbr-mappage__title { margin: 0; color: var(--dbr-band-text); font-size: 1.25rem; line-height: 1.2; overflow-wrap: anywhere; }
.dbr-mappage__more { display: inline-block; padding-block: .25rem; color: var(--dbr-gold); }
.dbr-mappage__links { display: flex; flex-wrap: wrap; gap: 0 1rem; margin: 0; padding: 0; list-style: none; font-size: .9375rem; }
.dbr-mappage__links a { display: inline-block; padding-block: .25rem; color: var(--dbr-band-text); }
.dbr-mappage__links .dbr-linkbutton { padding-block: .25rem; color: var(--dbr-band-text); }
.dbr-mappage__head a:hover, .dbr-mappage__links .dbr-linkbutton:hover { color: var(--dbr-gold); }
.dbr-mappage__head a:focus-visible, .dbr-mappage__links .dbr-linkbutton:focus-visible { outline: 3px solid var(--dbr-gold); outline-offset: 2px; }
.dbr-mappage__main { display: flex; flex: 1 1 auto; flex-direction: column; padding: .75rem 1rem 1rem; }
.dbr-mappage__main .dbr-pmap { display: flex; flex: 1 1 auto; flex-direction: column; }
.dbr-lmap--full { flex: 1 1 auto; height: auto; min-height: 20rem; }
.dbr-mappage__main .dbr-pmap__filters { margin-bottom: .5rem; }

/* OpenStreetMap: Wahl 7 Tage merken (11.11.2026, Doku 88) – Kontrollkästchen unter dem Knopf, Widerruf unter der Karte */
.dbr-embed__remember { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: .5rem; min-height: 2.75rem; max-width: 30rem; margin: 0; padding: .375rem .75rem; border-radius: var(--dbr-radius); background: rgba(255, 255, 255, .94); color: #1d1f22; font-size: .875rem; line-height: 1.3; text-align: left; cursor: pointer; }
.dbr-embed__remember input { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; margin: 0; accent-color: var(--dbr-green); cursor: pointer; }
.dbr-embed__remember:focus-within { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }
[data-bs-theme="dark"] .dbr-embed__remember { background: rgba(29, 31, 34, .92); color: #ffffff; }
[data-bs-theme="dark"] .dbr-embed__remember input { accent-color: #a9d9a0; }
.dbr-consent-forget { margin: .5rem 0 0; font-size: .875rem; }
.dbr-consent-forget .dbr-linkbutton { min-height: 1.5rem; }
/* kleine Karte (Kartenansicht in der Kontaktspalte): Platz für Knopf, „7 Tage merken“ und Hinweis auch auf schmalen Bildschirmen */
@media (max-width: 575.98px) { .dbr-lmap--s { height: 19rem; } }
.dbr-lmap--s .dbr-lmap__consent { gap: .5rem; padding: .75rem; }
/* Videos vor dem Laden auf schmalen Bildschirmen (Doku 90): Knopf, „7 Tage merken“ und Hinweis bestimmen die Höhe,
   damit nichts abgeschnitten wird; nach dem Laden wieder im Seitenverhältnis */
@media (max-width: 767.98px) {
  .dbr-embed--video:not(.is-loaded) { aspect-ratio: auto; min-height: calc((100vw - 2rem) * 9 / 16); }
  .dbr-embed--video:not(.is-loaded) .dbr-embed__overlay { position: relative; inset: auto; min-height: inherit; gap: .5rem; padding: .75rem; }
}
/* ==========================================================================
   Etappe 4d/4e: Blog (Aktuelles, Unterwegs), Presse, Informationsmaterial, Downloads
   Nur Farb-Tokens (hell/dunkel über 01-tokens.css)
   ========================================================================== */

/* --------------------------------------------------------------------------
   Gemeinsam
   -------------------------------------------------------------------------- */
.dbr-credit { margin: .375rem 0 0; color: var(--dbr-text-muted); font-size: .8125rem; }
.dbr-dl { display: grid; grid-template-columns: max-content 1fr; gap: .25rem .75rem; margin: 0 0 1rem; }
.dbr-dl dt { font-weight: 700; }
.dbr-dl dd { margin: 0; overflow-wrap: anywhere; }
.dbr-blog-back { margin: 1.5rem 0 0; }
.dbr-blog-back a, .dbr-blog-teaser__all { font-weight: 700; }

/* --------------------------------------------------------------------------
   Blog: Karten, Liste, Seitenleiste
   -------------------------------------------------------------------------- */
.dbr-bcard__meta { display: flex; flex-wrap: wrap; gap: .25rem 1rem; margin: 0; color: var(--dbr-text-muted); font-size: .875rem; }
.dbr-bcard__meta i, .dbr-blog-meta i { color: var(--dbr-gold-text); }
.dbr-bcard__ext { margin: auto 0 0; padding-top: .25rem; color: var(--dbr-link); font-size: .875rem; font-weight: 700; }
/* Beitrag ohne Bild (20.10.2026): Platzhalter – Bildzeichen auf hellem Grund (in beiden Modi hell wie ein Foto) bzw. Platzhalterbild aus Modul 38 */
.dbr-bcard__ph { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; aspect-ratio: 16 / 9; background: #f5ead0; border-bottom: 4px solid var(--dbr-gold); }
.dbr-bcard__ph img { display: block; width: 32%; max-width: 8rem; height: auto; opacity: .85; }
.dbr-pcard__media .dbr-bcard__ph img { width: 32%; height: auto; object-fit: contain; }
.dbr-hitem__media .dbr-bcard__ph { border-radius: var(--dbr-radius); }
.dbr-blog__count { margin: 0 0 1rem; color: var(--dbr-text-muted); font-weight: 700; }
.dbr-blog__intro { margin-bottom: 1.5rem; }
.dbr-blog__empty { padding: 1rem 1.25rem; border-left: 4px solid var(--dbr-gold); background: var(--dbr-section-light-bg); }
.dbr-pagination { margin-top: 2rem; }

.dbr-blog-sidebar { display: grid; gap: 1.5rem; }
.dbr-blog-widget { padding: 1.25rem; border: 1px solid var(--dbr-border); border-radius: var(--dbr-radius); background: var(--dbr-section-light-bg); }
.dbr-blog-widget__title { margin: 0 0 .75rem; font-size: 1.125rem; }
.dbr-blog-latest li + li, .dbr-blog-categories li + li { margin-top: .625rem; }
.dbr-blog-latest a { display: block; font-weight: 700; line-height: 1.3; }
.dbr-blog-latest time { color: var(--dbr-text-muted); font-size: .8125rem; }
.dbr-blog-latest a[aria-current], .dbr-blog-categories a[aria-current] { color: var(--dbr-text); text-decoration: none; }
.dbr-blog-categories a { display: flex; justify-content: space-between; gap: .5rem; align-items: center; min-height: 1.5rem; }
.dbr-blog-badge { min-width: 1.75rem; padding: 0 .375rem; border-radius: 1rem; background: var(--dbr-main-bg); color: var(--dbr-text); font-size: .8125rem; text-align: center; }
.dbr-blog-tags { display: flex; flex-wrap: wrap; gap: .375rem; margin: 0 0 1rem; }
.dbr-blog-tag { display: inline-flex; align-items: center; min-height: 1.75rem; padding: .125rem .625rem; border: 1px solid var(--dbr-border); border-radius: 1rem; background: var(--dbr-main-bg); font-size: .875rem; text-decoration: none; }
.dbr-blog-tag:hover { text-decoration: underline; }

/* Beitrag */
.dbr-blog-preview { margin: 0 0 1rem; padding: .5rem 1rem; background: var(--dbr-beige); color: #333333; font-weight: 700; }
.dbr-blog-meta { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; margin: 0 0 1rem; padding: 0; color: var(--dbr-text-muted); font-size: .9375rem; }
.dbr-blog-meta .list-inline-item { margin: 0; }
.dbr-blog-meta__updated { margin-left: .25rem; }
.dbr-blog-article__image { margin: 0 0 1.25rem; }
.dbr-blog-article__image img { display: block; width: 100%; height: auto; border-radius: var(--dbr-radius); }
.dbr-blog-article__image a { display: block; }
.dbr-blog-content > :last-child { margin-bottom: 0; }
.dbr-blog-content .dbr-block + .dbr-block { margin-top: 1.5rem; }
.dbr-blog-content, .dbr-blog-article .dbr-lead { overflow-wrap: break-word; hyphens: auto; }
.dbr-blog-links { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.5rem 0 0; }
.dbr-blog-article__footer { margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--dbr-border); }
.dbr-blog-share { display: flex; flex-wrap: wrap; align-items: center; gap: .375rem; margin: 0 0 1rem; }
.dbr-blog-share__label { margin-right: .25rem; font-weight: 700; }
.dbr-blog-author { display: flex; gap: 1rem; align-items: flex-start; padding: 1rem; border-radius: var(--dbr-radius); background: var(--dbr-section-light-bg); }
.dbr-blog-author__img { flex: 0 0 auto; width: 96px; height: auto; border-radius: var(--dbr-radius); }
.dbr-blog-author__name { margin: 0 0 .25rem; font-weight: 700; }
.dbr-blog-author__job { display: block; color: var(--dbr-text-muted); font-weight: 400; font-size: .875rem; }
.dbr-blog-toc { margin: 0 0 1.5rem; padding: 1rem 1.25rem; border-left: 4px solid var(--dbr-gold); background: var(--dbr-section-light-bg); }
.dbr-blog-toc summary { cursor: pointer; }
.dbr-blog-toc ol { margin: .5rem 0 0; padding-left: 1.25rem; }
.dbr-blog-toc a.active { font-weight: 700; }
.dbr-blog-related { margin-top: 3rem; }

/* Teaser (Modul 39) */
.dbr-blog-teaser__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .5rem 1rem; margin-bottom: 1rem; }
.dbr-blog-teaser__head .dbr-heading-line { margin-bottom: 0; }
.dbr-blog-popular { padding: 1.25rem; border: 1px solid var(--dbr-border); border-radius: var(--dbr-radius); }
.dbr-blog-popular li { display: flex; gap: .75rem; }
.dbr-blog-popular li + li { margin-top: .75rem; }
.dbr-blog-popular__rank { flex: 0 0 2rem; height: 2rem; border-radius: 50%; background: var(--dbr-green); color: #ffffff; font-weight: 700; line-height: 2rem; text-align: center; }
.dbr-blog-popular small { display: block; color: var(--dbr-text-muted); }

/* --------------------------------------------------------------------------
   Presse
   -------------------------------------------------------------------------- */
.dbr-pm-items { margin: 0; }
.dbr-pm-item { padding: 1rem 0; border-bottom: 1px solid var(--dbr-border); }
.dbr-pm-items li:first-child .dbr-pm-item { padding-top: 0; }
.dbr-pm-item__date { margin: 0 0 .25rem; color: var(--dbr-gold-text); font-size: .875rem; font-weight: 700; }
.dbr-pm-item__title { margin: 0 0 .375rem; font-size: 1.25rem; line-height: 1.3; }
.dbr-pm-item__text { margin: 0; }
.dbr-pm-year + .dbr-pm-year { margin-top: 1rem; }
.dbr-pm-list .dbr-press-contact { margin-top: 2rem; }
.dbr-press-contact { padding: 1.25rem; border-left: 4px solid var(--dbr-gold); background: var(--dbr-section-light-bg); }
/* Pressebilder nur mit Login (Gruppe Presse) */
.dbr-pbcard__lock { display: flex; align-items: center; justify-content: center; color: var(--dbr-text-muted); font-size: 2.5rem; }
.dbr-pbcard__badge { margin: 0 0 .375rem; }
.dbr-badge-login { border-radius: var(--dbr-radius); background: var(--dbr-panel-secondary); color: var(--dbr-panel-secondary-text); font-size: .8125rem; font-weight: 700; white-space: normal; text-align: left; }
.dbr-pb-detail__badge { margin: 0 0 1rem; }
.dbr-pb-login__box { margin-bottom: 1.25rem; padding: 1.25rem 1.5rem; border-left: 4px solid var(--dbr-gold); background: var(--dbr-section-light-bg); }
.dbr-pb-login__icon { margin: 0 0 .5rem; color: var(--dbr-heading); font-size: 2rem; line-height: 1; }
.dbr-press-contact__title { margin: 0 0 .75rem; font-size: 1.25rem; }
.dbr-press-contact p { margin-bottom: .5rem; }
.dbr-press-contact li + li { margin-top: .25rem; }
.dbr-press-contact i { width: 1.25rem; color: var(--dbr-gold-text); }
.dbr-press-related { margin-top: 3rem; }
.dbr-press-related .dbr-cards { margin-bottom: 1.25rem; }
.dbr-press-terms { margin: 0 0 1.25rem; border: 1px solid var(--dbr-border); border-radius: var(--dbr-radius); background: var(--dbr-section-light-bg); }
.dbr-press-terms summary { min-height: 2.75rem; padding: .625rem 1rem; color: var(--dbr-heading); font-weight: 700; cursor: pointer; }
.dbr-press-terms .dbr-text { padding: 0 1rem 1rem; font-size: .9375rem; }
.dbr-press-terms .dbr-text > :last-child { margin-bottom: 0; } /* Text aus dem Editor (Doku 83) */
.dbr-press-zip { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin: 0 0 1.5rem; padding: 1rem 1.25rem; border: 1px solid var(--dbr-border); border-radius: var(--dbr-radius); }
.dbr-press-zip p { flex: 1 1 20rem; }
.dbr-pbcard .dbr-pcard__media a { display: block; height: 100%; }
.dbr-pbcard__info { margin: 0; color: var(--dbr-text-muted); font-size: .8125rem; }
.dbr-pbcard__actions { display: flex; flex-wrap: wrap; gap: .375rem; margin-top: auto; padding-top: .5rem; }
.dbr-pbcard__select { margin: .25rem 0 0; min-height: 1.5rem; }
.dbr-pbcard__select .form-check-input { width: 1.25rem; height: 1.25rem; margin-top: .125rem; }
.dbr-pb-detail__figure { margin: 0 0 1.5rem; }
.dbr-pb-detail__figure img { display: block; width: 100%; height: auto; max-height: 80vh; object-fit: contain; background: var(--dbr-section-grey-bg); }
.dbr-pb-detail__box { padding: 1.25rem; border: 1px solid var(--dbr-border); border-radius: var(--dbr-radius); }

/* --------------------------------------------------------------------------
   Informationsmaterial, Bestellformular, Downloads
   -------------------------------------------------------------------------- */
.dbr-info__list { margin: 0; }
.dbr-info__item { display: grid; grid-template-columns: 1fr; gap: 1rem 1.5rem; padding: 1.5rem 0; border-bottom: 1px solid var(--dbr-border); }
.dbr-info__item:first-child { padding-top: 0; }
@media (min-width: 768px) { .dbr-info__item { grid-template-columns: 240px 1fr; } }
/* feste Breite statt auto: das Bild hält vor dem Laden (loading=lazy) seinen Platz, kein Layoutsprung (04.11.2026) */
.dbr-info__media img { display: block; width: min(100%, 280px); height: auto; border: 1px solid var(--dbr-border); }
.dbr-info__media .dbr-credit-host--fit { width: min(100%, 280px); }
.dbr-info__media .dbr-credit-host--fit > img { width: 100%; }
.dbr-info__title { margin: 0 0 .5rem; font-size: 1.375rem; line-height: 1.3; overflow-wrap: break-word; hyphens: auto; }
.dbr-info__langs { margin: 0 0 .5rem; }
.dbr-info__langs .dbr-badge { border: 1px solid var(--dbr-border); background: var(--dbr-section-light-bg); color: var(--dbr-text); }
.dbr-info__actions { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0 0; }
.dbr-info__order { margin-top: 3rem; scroll-margin-top: 1rem; }
.dbr-order .dbr-form-wrap { max-width: 46rem; }
.dbr-order fieldset { margin: 0 0 1.5rem; padding: 1rem 1.25rem; border: 1px solid var(--dbr-border); border-radius: var(--dbr-radius); }
.dbr-order legend { float: none; width: auto; margin: 0; padding: 0 .375rem; font-size: 1.125rem; font-weight: 700; color: var(--dbr-heading); }
.dbr-order__items .form-check, .dbr-order__items .checkbox { margin-bottom: .5rem; }
#dbr-order-wrap { scroll-margin-top: 1rem; }
.dbr-dl-list section + section { margin-top: 1.5rem; }
.dbr-downloads__item { padding: .5rem 0; border-bottom: 1px solid var(--dbr-border); }
.dbr-downloads__item a { font-weight: 700; }
.dbr-downloads__item .dbr-downloads__meta { display: block; }

/* --------------------------------------------------------------------------
   Videos (20.10.2026, Modul 53): „Leinwand“, Filmstreifen, „Kinosaal“, Steckbrief („Abspann“), Galerie als Kontaktabzug.
   Dunkle Flächen in beiden Modi gleich (wie eine Kinoleinwand); Kontraste: Text #f3efe3 15,9:1, gedämpft #c6cdc0 11,6:1,
   Gold #deb864 9,9:1 auf #0f150e; Schrift #1a1405 auf Gold 9,8:1.
   -------------------------------------------------------------------------- */
.dbr-vspot, .dbr-vstage, .dbr-vtitlecard, .dbr-vcard__frame {
  --dbr-v-bg: #0f150e; --dbr-v-bg2: #223020; --dbr-v-text: #f3efe3; --dbr-v-muted: #c6cdc0; --dbr-v-gold: #deb864;
}
.dbr-vspot, .dbr-vstage {
  margin-bottom: 2.5rem; padding: clamp(.75rem, 3vw, 2rem); border-radius: .5rem;
  background: radial-gradient(120% 90% at 25% 15%, var(--dbr-v-bg2) 0%, var(--dbr-v-bg) 62%);
  box-shadow: inset 0 0 0 1px rgba(222, 184, 100, .25); color: var(--dbr-v-text);
}
.dbr-vspot__screen, .dbr-vstage__screen { box-shadow: 0 1.25rem 2.5rem rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .08); border-radius: var(--dbr-radius); }
.dbr-vspot { display: grid; gap: 1.5rem; }
@media (min-width: 992px) { .dbr-vspot { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); align-items: center; gap: 2.5rem; } }
.dbr-vspot__eyebrow { display: flex; align-items: center; gap: .75rem; margin: 0; color: var(--dbr-v-gold); font-size: .8125rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.dbr-vspot__num { font-family: var(--dbr-font-display); font-size: 2.75rem; font-weight: 700; line-height: 1; letter-spacing: 0; color: transparent; -webkit-text-stroke: 1px var(--dbr-v-gold); }
.dbr-vspot__title { margin: .5rem 0 .25rem; color: #ffffff; font-family: var(--dbr-font-display); font-size: clamp(1.625rem, 3vw, 2.5rem); line-height: 1.15; }
.dbr-vspot__sub, .dbr-vstage__sub { margin: 0 0 1rem; color: var(--dbr-v-gold); font-family: var(--dbr-font-display); font-size: 1.125rem; font-style: italic; }
.dbr-vspot__teaser { margin: 1rem 0 0; color: var(--dbr-v-muted); }
.dbr-vspot__more { margin: 1.25rem 0 0; }
.dbr-vbtn { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.75rem; padding: .625rem 1.25rem; border: 0; border-radius: 999px; background: var(--dbr-v-gold, #deb864); color: #1a1405; font-weight: 700; }
.dbr-vbtn:hover { background: #f0d58f; color: #1a1405; }
.dbr-vbtn:focus-visible { outline: 3px solid #ffffff; outline-offset: 3px; box-shadow: none; }
.dbr-vspot .dbr-vfacts dt, .dbr-vstage .dbr-vfacts dt { color: var(--dbr-v-muted); }
.dbr-vspot .dbr-vfacts dd { color: #ffffff; }

/* Steckbrief */
.dbr-vfacts { display: grid; gap: .875rem; margin: 0; }
.dbr-vfacts__item dt { color: var(--dbr-text-muted); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.dbr-vfacts__item dt i { color: var(--dbr-gold-text); }
.dbr-vspot .dbr-vfacts__item dt i { color: var(--dbr-v-gold); }
.dbr-vfacts__item dd { margin: .125rem 0 0; color: var(--dbr-heading); font-family: var(--dbr-font-display); font-size: 1.125rem; }
.dbr-vfacts--inline { display: flex; flex-wrap: wrap; gap: .75rem 1.75rem; margin-top: .75rem; }
.dbr-vfacts--inline .dbr-vfacts__item dd { font-size: 1rem; }

/* Titelkarte (ohne Vorschaubild): Stummfilm-Zwischentitel */
.dbr-vtitlecard { position: relative; display: block; width: 100%; height: 100%; aspect-ratio: 16 / 9; overflow: hidden;
  background: repeating-linear-gradient(0deg, rgba(255, 255, 255, .025) 0 1px, transparent 1px 3px), radial-gradient(90% 80% at 50% 45%, var(--dbr-v-bg2) 0%, var(--dbr-v-bg) 75%); }
.dbr-vtitlecard__frame { position: absolute; inset: 7%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .35em; padding: .5rem; border: 3px double rgba(222, 184, 100, .7); text-align: center; container-type: inline-size; }
.dbr-vtitlecard__eyebrow { color: var(--dbr-v-gold); font-size: clamp(.5rem, 3.2cqi, .8125rem); font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.dbr-vtitlecard__title { max-width: 92%; color: var(--dbr-v-text); font-family: var(--dbr-font-display); font-size: clamp(.875rem, 8cqi, 2.75rem); font-weight: 700; line-height: 1.1; text-wrap: balance; }
.dbr-vtitlecard__sub { color: var(--dbr-v-gold); font-family: var(--dbr-font-display); font-size: clamp(.625rem, 4cqi, 1.25rem); font-style: italic; }
.dbr-embed__poster .dbr-vtitlecard { aspect-ratio: auto; }
/* im Video: Knopf und Hinweis unten, die Titelkarte oben */
.dbr-vplayer--card .dbr-embed__overlay { justify-content: flex-end; gap: .5rem; padding: .75rem; }
.dbr-vplayer--card .dbr-vtitlecard__frame { inset: 6% 6% 46%; border-width: 0 0 3px; }
@media (min-width: 576px) { .dbr-vplayer--card .dbr-vtitlecard__frame { inset: 7% 10% 40%; } }
.dbr-vplayer--card .dbr-embed__note { background: rgba(15, 21, 14, .9); }
/* schmale Videos: nur Knopf und Hinweis (der Titel steht daneben bzw. darüber als Text) */
.dbr-vplayer--card { container-type: inline-size; }
@container (max-width: 520px) { .dbr-vplayer--card .dbr-vtitlecard__frame { display: none; } }

/* Filmstreifen */
.dbr-vstrip { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)); gap: 1.5rem; margin: 0; padding: 0; }
.dbr-vstrip > li { display: flex; }
.dbr-vcard { display: flex; flex-direction: column; width: 100%; overflow: hidden; border: 1px solid var(--dbr-border); border-radius: .375rem; background: var(--dbr-main-bg); transition: transform .2s ease, box-shadow .2s ease; }
.dbr-vcard:not(.dbr-vcard--inline):hover, .dbr-vcard:not(.dbr-vcard--inline):focus-within { transform: translateY(-3px); box-shadow: 0 .75rem 1.5rem rgba(0, 0, 0, .18); }
.dbr-vcard__frame { position: relative; padding: 14px 0; background: var(--dbr-v-bg); }
.dbr-vcard__frame::before, .dbr-vcard__frame::after { content: ""; position: absolute; left: 4px; right: 4px; height: 6px; background-image: linear-gradient(90deg, rgba(243, 239, 227, .8) 0 9px, transparent 9px 18px); background-size: 18px 6px; border-radius: 1px; pointer-events: none; }
.dbr-vcard__frame::before { top: 4px; }
.dbr-vcard__frame::after { bottom: 4px; }
.dbr-vcard__frame > img, .dbr-vcard__frame > .dbr-vtitlecard { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.dbr-vcard__frame .dbr-embed { border-radius: 0; }
.dbr-vcard__frame .dbr-imgcredit { bottom: 1.375rem; }
.dbr-vcard__play { position: absolute; top: 50%; left: 50%; display: flex; align-items: center; justify-content: center; width: 3.5rem; height: 3.5rem; border-radius: 50%; background: var(--dbr-v-gold); color: #1a1405; font-size: 1.25rem; transform: translate(-50%, -50%); box-shadow: 0 0 0 .5rem rgba(222, 184, 100, .25); transition: transform .2s ease; }
.dbr-vcard__play i { margin-left: .2rem; }
.dbr-vcard:hover .dbr-vcard__play, .dbr-vcard:focus-within .dbr-vcard__play { transform: translate(-50%, -50%) scale(1.1); }
.dbr-vcard__num { position: absolute; top: 1.375rem; left: .625rem; color: #ffffff; font-family: var(--dbr-font-display); font-size: 1.5rem; font-weight: 700; line-height: 1; text-shadow: 0 1px 4px rgba(0, 0, 0, .8); }
.dbr-vcard--inline .dbr-vcard__num { display: none; }
/* Titelkarte: Abspielzeichen unten rechts, damit der Titel lesbar bleibt */
.dbr-vcard--titlecard .dbr-vcard__frame > .dbr-vtitlecard .dbr-vtitlecard__frame { inset: 14% 9%; }
.dbr-vcard--titlecard .dbr-vcard__play { top: auto; left: auto; right: .875rem; bottom: 1.625rem; width: 2.75rem; height: 2.75rem; font-size: 1rem; transform: none; box-shadow: 0 0 0 .375rem rgba(222, 184, 100, .25); }
.dbr-vcard--titlecard:hover .dbr-vcard__play, .dbr-vcard--titlecard:focus-within .dbr-vcard__play { transform: scale(1.1); }
.dbr-vcard__dur { position: absolute; right: .625rem; top: 1.375rem; padding: .125rem .5rem; border-radius: 999px; background: rgba(15, 21, 14, .85); color: #ffffff; font-size: .8125rem; font-weight: 700; }
.dbr-vcard__body { display: flex; flex-direction: column; gap: .375rem; padding: 1rem 1.125rem 1.25rem; }
.dbr-vcard__title { margin: 0; font-size: 1.25rem; line-height: 1.25; }
.dbr-vcard__title a { color: var(--dbr-heading); text-decoration: none; }
.dbr-vcard__title a:hover { text-decoration: underline; }
.dbr-vcard__title a.stretched-link:focus-visible { outline: none; }
.dbr-vcard__title a.stretched-link:focus-visible::after { outline: 3px solid var(--dbr-focus); outline-offset: -3px; border-radius: .375rem; }
.dbr-vcard__sub { margin: 0; color: var(--dbr-gold-text); font-family: var(--dbr-font-display); font-style: italic; }
.dbr-vcard__text { margin: 0; color: var(--dbr-text); }
.dbr-vcard__meta { display: flex; flex-wrap: wrap; gap: .25rem 1rem; margin: auto 0 0; padding-top: .25rem; color: var(--dbr-text-muted); font-size: .875rem; }
.dbr-vcard__meta i { color: var(--dbr-gold-text); }
.dbr-videos__more { margin-top: 0; }

/* Seite eines Videos */
.dbr-vstage__screen { max-width: 64rem; margin-inline: auto; }
.dbr-vstage > .dbr-vstage__sub { margin: 1.25rem 0 0; text-align: center; font-size: 1.25rem; }
.dbr-vdetail--beside .dbr-vstage__screen { max-width: none; }
.dbr-vstage__text { color: var(--dbr-v-muted); }
.dbr-vstage__text .dbr-text { color: var(--dbr-v-text); }
.dbr-vstage__text .dbr-text a { color: var(--dbr-v-gold); }
.dbr-vstage__heading { margin: 0 0 .75rem; color: #ffffff; font-size: 1.25rem; }
.dbr-vdetail__blocks { margin-top: 1.5rem; }
.dbr-vcredits { padding: 1.5rem 1.25rem; border-top: 4px solid var(--dbr-gold); border-radius: .375rem; background: var(--dbr-section-light-bg); text-align: center; }
@media (min-width: 992px) { .dbr-vcredits { position: sticky; top: calc(var(--dbr-header-height) + 1.5rem); } }
.dbr-vcredits__title { margin: 0 0 1rem; color: var(--dbr-gold-text); font-size: .875rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.dbr-vcredits .dbr-vfacts__item + .dbr-vfacts__item { padding-top: .875rem; border-top: 1px solid var(--dbr-border); }
.dbr-vcredits__open { margin: 1.25rem 0 0; }
.dbr-vcredits--wide { position: static; display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; text-align: left; }
.dbr-vcredits--wide .dbr-vcredits__title { margin: 0; }
.dbr-vcredits--wide .dbr-vfacts { margin: 0; }
.dbr-vcredits--wide .dbr-vfacts__item + .dbr-vfacts__item { padding-top: 0; border-top: 0; }
.dbr-vcredits--wide .dbr-vcredits__open, .dbr-vcredits--wide .dbr-vcredits__back { margin: 0; }
@media (min-width: 992px) { .dbr-vcredits--wide .dbr-vcredits__open { margin-left: auto; } }
.dbr-vcredits__back { margin: 1rem 0 0; }
.dbr-vdetail__more { margin-top: 3rem; }

/* Galerie als Kontaktabzug */
.dbr-vgallery { margin-top: 2.5rem; }
.dbr-vgallery__sheet { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 10rem), 1fr)); gap: 1.25rem .75rem; margin: 0; padding: 1rem 1rem .75rem; border-radius: .375rem; background: #1b1b17; }
.dbr-vgallery__sheet li { position: relative; padding-bottom: 1.25rem; }
.dbr-vgallery__sheet a { display: block; overflow: hidden; border-radius: 2px; }
.dbr-vgallery__sheet img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .25s ease; }
.dbr-vgallery__sheet a:hover img { transform: scale(1.05); }
.dbr-vgallery__sheet a:focus-visible { outline: 3px solid #ffffff; outline-offset: 2px; }
.dbr-vgallery__sheet .dbr-imgcredit { bottom: 1.75rem; }
.dbr-vgallery__no { position: absolute; left: .125rem; bottom: 0; color: #e8a33d; font-family: ui-monospace, "Courier New", monospace; font-size: .75rem; font-weight: 700; letter-spacing: .08em; }
@media (prefers-reduced-motion: reduce) {
  .dbr-vcard, .dbr-vcard__play, .dbr-vgallery__sheet img { transition: none; }
  .dbr-vcard:not(.dbr-vcard--inline):hover, .dbr-vcard:not(.dbr-vcard--inline):focus-within { transform: none; }
}

/* Startseite, Video-Channel: Link zur Seite des Videos */
.dbr-hvideo__link { margin: .25rem 0 0; }

/* Frontend: „Im Backend bearbeiten“ für angemeldete Redakteure (20.10.2026) */
/* Orange (04.11.2026, kräftiger seit Doku 57, nahe .bg-warning): auf einen Blick als Redakteurs-Element erkennbar.
   Kontraste: Text #3b2600 auf #ffd27f 10,1:1; Rand #9a4d00 4,3:1; dunkel Text #ffe2b3 auf #5a3a0c 8,2:1, Rand 4,8:1 */
.dbr-edit-link { --dbr-edit-bg: #ffd27f; --dbr-edit-fg: #3b2600; --dbr-edit-border: #9a4d00;
  display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .75rem; margin: 0 0 1rem; padding: .5rem .75rem;
  border: 1px dashed var(--dbr-edit-border); border-radius: var(--dbr-radius); background: var(--dbr-edit-bg); color: var(--dbr-edit-fg); }
[data-bs-theme="dark"] .dbr-edit-link { --dbr-edit-bg: #5a3a0c; --dbr-edit-fg: #ffe2b3; --dbr-edit-border: #f0a040; }
.dbr-edit-link__note { color: var(--dbr-edit-fg); font-size: .8125rem; }
/* Schaltfläche: eigener Grund nur im Ruhezustand – beim Zeigen/Fokus gilt das Grün mit weißer Schrift von .btn-dbr-outline
   (bis 04.11.2026 blieb der Grund weiß, die Schrift war beim Zeigen unsichtbar) */
.dbr-edit-link .btn-dbr-outline { --bs-btn-bg: #ffffff; }
[data-bs-theme="dark"] .dbr-edit-link .btn-dbr-outline { --bs-btn-bg: #1a2418; }
/* Fehler für Redakteure (z. B. Veranstaltung nicht verlinkt): durchgezogener Rand, Text und Link untereinander */
.dbr-edit-link--error { display: block; border-style: solid; border-left-width: 4px; }
.dbr-edit-link__msg { margin: 0 0 .5rem; font-size: .9375rem; }
.dbr-edit-link__msg i { color: var(--dbr-edit-border); }
.dbr-edit-link--compact { position: relative; z-index: 2; margin: .5rem 0 0; padding: .375rem .625rem; }
.dbr-edit-link--compact .dbr-edit-link__msg { margin-bottom: .25rem; font-size: .8125rem; }
.dbr-edit-link__a { display: inline-block; padding-block: .125rem; color: var(--dbr-edit-fg); font-size: .8125rem; font-weight: 700; text-decoration: underline; }
.dbr-edit-link__a:hover { color: var(--dbr-edit-fg); text-decoration-thickness: 2px; }
li > .dbr-edit-link--compact { display: block; }
/* „Bearbeiten“ an Einträgen von Listen und Karten (Doku 59): klein, über dem stretched-link der Karte */
.dbr-edit-link--item { position: relative; z-index: 2; display: inline-flex; width: fit-content; margin: .5rem 0 0; padding: .125rem .5rem; border-style: solid; }
.dbr-edit-link--item .dbr-edit-link__a { min-height: 1.5rem; display: inline-flex; align-items: center; gap: .25rem; }
/* direkt in einer Karte (nach dem Kartentext): Abstand wie der Kartentext */
article > .dbr-edit-link--item { align-self: flex-start; margin: 0 1.125rem 1rem; }
/* Hinweis in mehrspaltigen Listen (z. B. „Weitere Termine“) nicht über Spalten verteilen */
li:has(> .dbr-edit-link) { break-inside: avoid; column-span: all; }
.dbr-edit-link { break-inside: avoid; }
@media print { .dbr-edit-link { display: none; } }
/* Bildbeschreibung unter dem Titel der Pressebild-Kachel (Doku 65, 04.11.2026) */
.dbr-pbcard__desc { margin: .375rem 0 0; font-size: .9375rem; line-height: 1.5; }

/* --------------------------------------------------------------------------
   Dokumentation (intern), Modul 56 (11.11.2026, Doku 87): Handbuch mit Anhängen, nur für Redakteure
   -------------------------------------------------------------------------- */
.dbr-doc__nav ul { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 .75rem; padding: 0; list-style: none; }
.dbr-doc__navlink { display: inline-block; min-height: 2.75rem; padding: .5rem 1rem; border: 1px solid var(--dbr-border); border-radius: 999px; color: var(--dbr-link); text-decoration: none; line-height: 1.6; }
.dbr-doc__navlink:hover { border-color: var(--dbr-link); text-decoration: underline; }
.dbr-doc__navlink[aria-current] { background: var(--dbr-green); border-color: var(--dbr-green); color: #ffffff; font-weight: 700; }
[data-bs-theme="dark"] .dbr-doc__navlink[aria-current] { background: var(--dbr-link); border-color: var(--dbr-link); color: var(--dbr-page-bg); }
.dbr-doc__meta { color: var(--dbr-text-muted); font-size: .9375rem; }
.dbr-doc__body { max-width: 72rem; overflow-wrap: break-word; }
.dbr-doc__body h3 { margin-top: 2.5rem; padding-bottom: .25rem; border-bottom: 2px solid var(--dbr-border); }
.dbr-doc__body h4 { margin-top: 1.75rem; }
.dbr-doc__body code { color: var(--dbr-text); overflow-wrap: anywhere; }
.dbr-doc__body pre { padding: .75rem 1rem; overflow-x: auto; border-radius: var(--dbr-radius); background: var(--dbr-section-light-bg); color: var(--dbr-text); }
.dbr-doc__body pre code { overflow-wrap: normal; }
.dbr-doc__body pre:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }
.dbr-doc__table { margin: 1rem 0; overflow-x: auto; border: 1px solid var(--dbr-border); }
.dbr-doc__table:focus-visible { outline: 3px solid var(--dbr-focus); outline-offset: 2px; }
.dbr-doc__table table { width: 100%; margin: 0; border-collapse: collapse; font-size: .9375rem; }
.dbr-doc__table th, .dbr-doc__table td { padding: .375rem .5rem; border: 1px solid var(--dbr-border); text-align: left; vertical-align: top; }
.dbr-doc__table th { background: var(--dbr-section-light-bg); }
.dbr-doc__login { padding: 1rem; border-left: 4px solid var(--dbr-gold); background: var(--dbr-section-light-bg); }

/* ==========================================================================
   Startseite (Module 49–52): Regionen-Slider, Einleitungstext, Info, Premium- und Sterne-Partner
   Aufbau wie die bisherige Startseite; Farben über Tokens (hell/dunkel)
   ========================================================================== */
.dbr-hfig { position: relative; margin: 0; }
.dbr-hfig img { display: block; width: 100%; height: auto; }

/* ---------- Regionen-Slider ---------- */
.dbr-hregions .dbr-carousel__track { --dbr-gap: 1rem; }
.dbr-hregion { position: relative; display: grid; grid-template-columns: 1fr; gap: 1rem 1.5rem; height: 100%; padding: 1.25rem; border-radius: 1.5rem; background: var(--dbr-section-light-bg); }
.dbr-hregion__title { margin: 0 0 .75rem; font-size: clamp(1.375rem, 1.1rem + 1vw, 1.875rem); }
.dbr-hregion__title a { color: var(--dbr-heading); text-decoration: none; }
.dbr-hregion__title a:hover { text-decoration: underline; }
.dbr-hregion__sub { margin: 0 0 1rem; }
.dbr-hregion__subline { display: block; margin-bottom: .25rem; color: var(--dbr-heading); font-family: var(--dbr-font-display); font-size: 1.125rem; font-weight: 500; line-height: 1.3; }
.dbr-hregion__links { margin: 0; padding: 0; list-style: none; }
.dbr-hregion__links li { border-bottom: 1px solid var(--dbr-border); }
.dbr-hregion__links li:last-child { border-bottom: 0; }
.dbr-hregion__links a { display: flex; align-items: center; gap: .5rem; min-height: 2.75rem; font-weight: 700; text-decoration: none; }
.dbr-hregion__links a:hover { text-decoration: underline; }
.dbr-hregion__links i { font-size: .75rem; color: var(--dbr-gold-text); }
.dbr-hregion__media { position: relative; }
.dbr-hregion__figure { width: 75%; }
.dbr-hregion__figure img { border-radius: .75rem; }
.dbr-hregion__map { position: absolute; top: 40%; right: 0; width: 45%; max-width: 18rem; height: auto; pointer-events: none; filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .25)); }
@media (min-width: 992px) {
  .dbr-hregion { grid-template-columns: 1fr 2fr; padding: 1.5rem 2rem; }
}

/* ---------- Einleitungstext ---------- */
.dbr-hintro { max-width: 52rem; margin-inline: auto; color: var(--dbr-heading); font-size: 1.125rem; }
.dbr-hintro .dbr-richtext p:last-child { margin-bottom: 0; }

/* ---------- Info: Suche Partner, Sonderfahrten & Veranstaltungen ---------- */
.dbr-hpanel--search { padding-bottom: 1rem; background: var(--dbr-green); color: #ffffff; }
.dbr-hpanel__title { margin: 0; padding: .75rem 1rem; font-size: clamp(1.375rem, 1.2rem + .6vw, 1.625rem); text-align: center; }
.dbr-hpanel--search .dbr-hpanel__title,
.dbr-hpanel__title--bar { color: #ffffff; }
.dbr-hpanel__title--bar { background: var(--dbr-green); }
.dbr-hpanel--search .dbr-hpanel__title + .dbr-htabs { margin-bottom: 0; }
.dbr-hpanel--search :focus-visible { outline-color: var(--dbr-focus-on-dark); }
.dbr-hpanel--search .dbr-htabs__content :focus-visible { outline-color: var(--dbr-focus); }
.dbr-htabs { margin: 0 1rem; }
.dbr-htabs__nav.nav-tabs { gap: 0; border-bottom: 0; --bs-nav-tabs-border-width: 0; }
.dbr-htabs__nav .nav-link { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .25rem; min-height: 3rem; padding: .5rem .75rem;
  border: 0; border-radius: 0; background: var(--dbr-mint); color: var(--dbr-heading); font-weight: 700; }
.dbr-htabs__nav .nav-link:hover { background: var(--dbr-section-light-bg); color: var(--dbr-heading); text-decoration: underline; }
.dbr-htabs__nav .nav-link.active { background: var(--dbr-main-bg); color: var(--dbr-heading); box-shadow: inset 0 3px 0 var(--dbr-gold); }
.dbr-htabs__icons { display: inline-flex; gap: .375rem; font-size: 1.5rem; }
.dbr-htabs__content { padding: 1rem; background: var(--dbr-main-bg); color: var(--dbr-text); }
.dbr-hpane__title { margin: 0 0 .75rem; color: var(--dbr-heading); font-size: 1.1875rem; text-align: center; }
.dbr-hgo__selects { display: grid; gap: .5rem; }
.dbr-hgo__field .form-select { min-height: 2.75rem; }
.dbr-hgo__field .form-select option:first-child { font-weight: 700; }
.dbr-hgo__submit { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin-top: .75rem; }
.dbr-hgo__submit .btn { min-height: 2.75rem; }
.dbr-hgo__status { margin: 0; color: var(--dbr-text-muted); font-size: .9375rem; }
.dbr-hgo__status:empty { display: none; }
@media (min-width: 992px) {
  /* Desktop: Symbol und Text sichtbar (19.10.2026) */
  .dbr-htabs__icons { font-size: 1.75rem; }
  .dbr-htabs__label { font-size: .9375rem; line-height: 1.2; }
}

/* ---------- Info: Aktuelles ---------- */
.dbr-hpanel--news { border: 1px solid var(--dbr-border); background: var(--dbr-main-bg); }
.dbr-hnews { --bs-accordion-bg: var(--dbr-main-bg); --bs-accordion-color: var(--dbr-text); --bs-accordion-border-color: var(--dbr-border);
  --bs-accordion-btn-color: var(--dbr-heading); --bs-accordion-active-color: var(--dbr-heading); --bs-accordion-active-bg: var(--dbr-mint); --bs-accordion-btn-focus-box-shadow: 0 0 0 3px var(--dbr-focus); }
.dbr-hnews .accordion-header { margin: 0; }
.dbr-hnews .accordion-button { min-height: 3rem; font-family: var(--dbr-font-display); font-size: 1.125rem; font-weight: 600; }
.dbr-hnews .accordion-body { padding: .75rem 1rem 1rem; }
.dbr-hnews__all { margin: 0 0 .5rem; font-weight: 700; }
.dbr-hnews__all a { text-decoration: none; }
.dbr-hnews__all a:hover { text-decoration: underline; }
.dbr-hitem { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem 1rem; padding: 1rem 0; border-top: 1px solid var(--dbr-border); }
/* Spalten dürfen schmaler werden als ihr Inhalt (05.11.2026, Doku 73): sonst machte der Platzhalter „Bild folgt“ (Logo 326 px) die Bildspalte breiter
 * und schob den Text über den rechten Rand des Akkordeons. Der Platzhalter hat dieselbe Höhe wie ein Bild (16:9) statt der ganzen Zeile. */
.dbr-hitem__media, .dbr-hitem__body { min-width: 0; }
.dbr-hitem__media .dbr-bcard__ph { height: auto; }
.dbr-hitem__title { margin: 0 0 .25rem; font-size: 1.125rem; line-height: 1.3; overflow-wrap: break-word; }
.dbr-hitem__title a { text-decoration: none; }
.dbr-hitem__title a:hover { text-decoration: underline; }
.dbr-hitem__meta { margin: 0; font-weight: 700; color: var(--dbr-text); }
.dbr-hitem__sub { margin: 0; color: var(--dbr-text-muted); }
.dbr-hitem__text { margin: .375rem 0 0; font-size: .9375rem; }
.dbr-hitem__more { margin: .375rem 0 0; font-weight: 700; }
.dbr-hitem__more a { text-decoration: none; }
.dbr-hitem__noimg { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 9; background: var(--dbr-section-light-bg); color: var(--dbr-text-muted); font-size: 2rem; }
.dbr-hitem__fig--brochure img { width: auto; max-width: 100%; max-height: 14rem; margin-inline: auto; }
.dbr-hitem .dbr-badge { margin: 0 0 .25rem; }
@media (min-width: 576px) {
  .dbr-hitem { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
}
.dbr-hvideo__title { margin: .5rem 0 0; font-weight: 700; color: var(--dbr-heading); }
.dbr-hvideo__more { margin: 1rem 0 .25rem; font-size: 1rem; }
.dbr-hvideo__list { margin: 0 0 .75rem; padding: 0; list-style: none; }
.dbr-hvideo__list a { display: inline-flex; align-items: baseline; gap: .375rem; min-height: 2rem; text-decoration: none; }
.dbr-hvideo__list a:hover { text-decoration: underline; }
.dbr-hvideo__provider { color: var(--dbr-text-muted); font-size: .875rem; }
.dbr-hvideo .dbr-ratio--9x16 { --dbr-ratio: 9 / 16; max-width: 22rem; margin-inline: auto; }
.dbr-hvideo-file video { position: absolute; inset: 0; width: 100%; height: 100%; background: #000000; }

/* ---------- Premium- und Sterne-Partner ---------- */
.dbr-hpartners__heading { margin: 0 0 1.5rem; color: var(--dbr-heading); font-size: clamp(1.375rem, 1.2rem + .6vw, 1.75rem); text-align: center; }
.dbr-hpartners__heading i { margin-left: .25rem; color: var(--dbr-gold-text); }
.dbr-hpartners { margin-bottom: 0; row-gap: 1.5rem; }
.dbr-hpartner__region { margin: 0 0 .375rem; font-weight: 700; }
.dbr-hpartner__region a { text-decoration: none; }
.dbr-hpartner__region a:hover { text-decoration: underline; }
.dbr-hpartner__fig img { border-radius: var(--dbr-radius); }
.dbr-hpartner__slogan { margin-top: .5rem; color: var(--dbr-heading); }
.dbr-hpartner__title { margin: 0; font-size: 1.125rem; line-height: 1.3; }
.dbr-hpartner__title a { color: var(--dbr-heading); text-decoration: none; }
.dbr-hpartner__title a:hover { text-decoration: underline; }
.dbr-hpartner__text { margin: .25rem 0 0; }
.dbr-hpartner__stars { margin: .25rem 0 0; color: var(--dbr-gold-text); font-size: .875rem; }
@media (min-width: 768px) {
  .dbr-hpartners--stars .dbr-hpartner__card { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; align-items: start; }
  .dbr-hpartners--stars .dbr-hpartner__slogan { margin-top: 0; }
}

/* ---------- Vorschau (Backend-Benutzer) ---------- */
.dbr-preview-notice { margin-bottom: 1.5rem; }
.dbr-htabs__nav.nav-tabs { flex-wrap: nowrap; }
.dbr-htabs__nav .nav-link { flex: 1 1 0; min-width: 0; overflow-wrap: anywhere; hyphens: auto; }
@media (max-width: 575.98px) {
  .dbr-htabs { margin: 0 .5rem; }
  .dbr-htabs__nav .nav-link { padding: .5rem .25rem; font-size: .8125rem; line-height: 1.2; }
  .dbr-htabs__icons { font-size: 1.25rem; }
}
/* ==========================================================================
   Tabellen und Auszeichnungen in Redaktionstexten (CKEditor 5)
   Doku 53 (20.10.2026). Quelle: parts/09-content-tables.css – wird in dbr.css eingebunden und zusätzlich als
   dbr-content-tables.css abgelegt; diese Datei lädt der CKEditor 5 im Backend (Style-Gruppe „DAMPFBAHN-ROUTE Inhalte“, css_path).
   Selektoren hängen nur an den Klassen, nicht am Seitenaufbau → Editor und Website sehen gleich aus.
   Hell/Dunkel: Frontend [data-bs-theme="dark"], Backend .rex-theme-dark bzw. Systemeinstellung.
   ========================================================================== */
.dbr-tbl {
  --dbr-tbl-line: #6b6b6b;
  --dbr-tbl-kb-bg: #ffffcc;      /* „Kursbuch“-Gelb wie bisher */
  --dbr-tbl-kb-line: #1f1f1f;
  --dbr-tbl-kb-text: #1a1a1a;
  width: 100%;
  max-width: 100%;
  margin: 0 0 1rem;
  border-collapse: collapse;
  border-spacing: 0;
  text-align: left;
  font-variant-numeric: tabular-nums;
}
.dbr-tbl td,
.dbr-tbl th {
  padding: .25rem .5rem;
  border: 1px solid var(--dbr-tbl-line);
  vertical-align: middle;
  text-align: inherit;
}
.dbr-tbl th { font-weight: 700; }
.dbr-tbl thead th,
.dbr-tbl thead td { border-bottom-width: 2px; }
.dbr-tbl caption { caption-side: top; padding: 0 0 .25rem; font-weight: 700; color: inherit; text-align: left; }

/* Varianten der ganzen Tabelle */
.dbr-tbl--kursbuch td,
.dbr-tbl--kursbuch th { background-color: var(--dbr-tbl-kb-bg); border-color: var(--dbr-tbl-kb-line); color: var(--dbr-tbl-kb-text); }
.dbr-tbl--kursbuch a { color: #0b4f8a; }
.dbr-tbl--ohne-rahmen td,
.dbr-tbl--ohne-rahmen th { border: 0; padding: .125rem 1rem .125rem 0; }
.dbr-tbl--kompakt { width: auto; }
.dbr-tbl--mitte { text-align: center; }
.dbr-tbl--rechts { text-align: right; }
.dbr-tbl--oben td,
.dbr-tbl--oben th { vertical-align: top; }

/* Abweichende Zellen */
.dbr-tbl .dbr-z--links { text-align: left; }
.dbr-tbl .dbr-z--mitte { text-align: center; }
.dbr-tbl .dbr-z--rechts { text-align: right; }
.dbr-tbl .dbr-z--oben { vertical-align: top; }
.dbr-tbl .dbr-z--mittig { vertical-align: middle; }
.dbr-tbl .dbr-z--nowrap { white-space: nowrap; }

/* Text-Auszeichnungen */
.dbr-nowrap { white-space: nowrap; }
.dbr-hinweis { color: #b3261e; font-weight: 600; }
.dbr-info { color: #0b5cad; }
.dbr-text-mitte { text-align: center; }
.dbr-text-rechts { text-align: right; }
.dbr-text-einzug { margin-left: 2.5rem; }

/* CKEditor-5-Hülle: keine feste Breite */
figure.table:has(> .dbr-tbl) { display: block; width: auto; margin: 0 0 1rem; }
figure.table > .dbr-tbl { margin: 0; }

/* CKEditor 5: dessen Tabellen-Grundstil (.ck-content .table …) ist spezifischer – hier gleichziehen */
.ck-content .table table.dbr-tbl { border: 0; }
.ck-content .table table.dbr-tbl td,
.ck-content .table table.dbr-tbl th { padding: .25rem .5rem; border: 1px solid var(--dbr-tbl-line); }
.ck-content .table table.dbr-tbl--kursbuch td,
.ck-content .table table.dbr-tbl--kursbuch th { border-color: var(--dbr-tbl-kb-line); }
.ck-content .table table.dbr-tbl--ohne-rahmen td,
.ck-content .table table.dbr-tbl--ohne-rahmen th { border: 0; padding: .125rem 1rem .125rem 0; }
.ck-content .table table.dbr-tbl th { background-color: transparent; }
.ck-content .table table.dbr-tbl--kursbuch th { background-color: var(--dbr-tbl-kb-bg); }

/* Dunkel */
[data-bs-theme="dark"] .dbr-tbl,
body.rex-theme-dark .dbr-tbl {
  --dbr-tbl-line: #8f8f8f;
  --dbr-tbl-kb-bg: #34311c;
  --dbr-tbl-kb-line: #a39d74;
  --dbr-tbl-kb-text: #f6f2d8;
}
[data-bs-theme="dark"] .dbr-tbl--kursbuch a,
body.rex-theme-dark .dbr-tbl--kursbuch a { color: #9fd0ff; }
[data-bs-theme="dark"] .dbr-hinweis,
body.rex-theme-dark .dbr-hinweis { color: #ff8a80; }
[data-bs-theme="dark"] .dbr-info,
body.rex-theme-dark .dbr-info { color: #8cc8ff; }
@media (prefers-color-scheme: dark) {
  body.rex-has-theme:not(.rex-theme-light) .dbr-tbl { --dbr-tbl-line: #8f8f8f; --dbr-tbl-kb-bg: #34311c; --dbr-tbl-kb-line: #a39d74; --dbr-tbl-kb-text: #f6f2d8; }
  body.rex-has-theme:not(.rex-theme-light) .dbr-tbl--kursbuch a { color: #9fd0ff; }
  body.rex-has-theme:not(.rex-theme-light) .dbr-hinweis { color: #ff8a80; }
  body.rex-has-theme:not(.rex-theme-light) .dbr-info { color: #8cc8ff; }
}

/* Schmale Bildschirme: Tabelle scrollt in ihrem Rahmen (Frontend: .table-responsive), Zellen etwas enger */
@media (max-width: 575.98px) {
  .dbr-tbl td, .dbr-tbl th { padding: .2rem .35rem; }
}
