/* ==========================================================================
   BrotZEIT Homepage – Anpassungen auf Basis von MDB5 Pro 9.3.0
   Bildet die bisherige Nicepage-Optik nach: Roboto für Überschriften,
   Open Sans 18px/1.6 für Fließtext, Inhaltsbreite 1140px, runde Bilder.
   ========================================================================== */

:root {
  --bz-blau: #478ac9;
  --bz-blau-dunkel: #3a76ae;
  --bz-rot: #db545a;        /* Hover der Navigation (wie bisher) */
  --bz-gelb: #f1c50e;       /* Telefon-Buttons */
  --bz-tuerkis: #2cccc4;    /* Hover der Telefon-Buttons */
  --bz-text: #111111;
  --bz-grau-text: #808080;
  --bz-grau-hell: #f2f2f2;
  --bz-grau-footer: #333333;
  --bz-grau-linie: #404040;
  --bz-radius: 20px;
  --bz-header-hoehe: 88px;

  /* MDB-Variablen auf die Hausfarben umstellen */
  --mdb-body-font-family: 'Open Sans', sans-serif;
  --mdb-font-roboto: 'Open Sans', sans-serif;
  --mdb-body-color: var(--bz-text);
  --mdb-body-color-rgb: 17, 17, 17;
  --mdb-emphasis-color: var(--bz-text);
  --mdb-heading-color: var(--bz-text);
  --mdb-primary: #478ac9;
  --mdb-primary-rgb: 71, 138, 201;
  --mdb-link-color: #478ac9;
  --mdb-link-color-rgb: 71, 138, 201;
  --mdb-link-hover-color: #3a76ae;
  --mdb-link-hover-color-rgb: 58, 118, 174;
}

html { scroll-behavior: smooth; }
body {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--bz-text);
  background: #fff;
}

/* Anker unter dem klebenden Kopf nicht verstecken */
[id] { scroll-margin-top: calc(var(--bz-header-hoehe) + 8px); }

/* Inhaltsbreite wie bisher (Nicepage „sheet“ = 1140px) */
@media (min-width: 1200px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl { max-width: 1140px; }
}

/* --- Typografie ---------------------------------------------------------- */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  color: var(--bz-text);
}
h1, .h1 { font-size: 4.5rem;  line-height: 1.1; }
h2, .h2 { font-size: 3rem;    line-height: 1.1; }
h3, .h3 { font-size: 2.25rem; line-height: 1.2; }
h4, .h4 { font-size: 1.5rem;  line-height: 1.2; }
h5, .h5 { font-size: 1.25rem; line-height: 1.2; }
h6, .h6 { font-size: 1rem;    line-height: 1.2; }

p, li { font-size: 1.125rem; line-height: 1.6; }
a { color: var(--bz-blau); text-decoration: none; }
a:hover { color: var(--bz-blau-dunkel); }
strong, b { font-weight: 700; }

@media (max-width: 991.98px) {
  h1, .h1 { font-size: 3.25rem; }
  h2, .h2 { font-size: 2.5rem; }
  h3, .h3 { font-size: 2rem; }
}
@media (max-width: 575.98px) {
  h1, .h1 { font-size: 2.5rem; }
  h2, .h2 { font-size: 2rem; }
  h3, .h3 { font-size: 1.75rem; }
  p, li { font-size: 1rem; }
}

.bz-abschnitt { padding-top: 15px; padding-bottom: 15px; }
.bz-titel { text-align: center; margin: 15px 0 0; }
.bz-rund { border-radius: var(--bz-radius); }

/* --- Buttons ------------------------------------------------------------- */
.btn-bz {
  --mdb-btn-bg: var(--bz-blau);
  --mdb-btn-color: #fff;
  --mdb-btn-hover-bg: var(--bz-blau-dunkel);
  --mdb-btn-hover-color: #fff;
  --mdb-btn-focus-bg: var(--bz-blau-dunkel);
  --mdb-btn-focus-color: #fff;
  --mdb-btn-active-bg: var(--bz-blau-dunkel);
  --mdb-btn-active-color: #fff;
  --mdb-btn-box-shadow: none;
  --mdb-btn-hover-box-shadow: none;
  --mdb-btn-focus-box-shadow: 0 0 0 .2rem rgba(71, 138, 201, .35);
  --mdb-btn-active-box-shadow: none;
  background-color: var(--bz-blau);
  color: #fff;
  border-radius: 50px;
  padding: 10px 30px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.4;
  text-transform: none;
  letter-spacing: normal;
  box-shadow: none;
}
.btn-bz:hover, .btn-bz:focus { background-color: var(--bz-blau-dunkel); color: #fff; box-shadow: none; }

.btn-bz-rahmen {
  background: transparent;
  color: #000;
  border: 2px solid #000;
  border-radius: 0;
  padding: 10px 30px;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  box-shadow: none;
}
.btn-bz-rahmen:hover, .btn-bz-rahmen:focus { background: #000; color: #fff; box-shadow: none; }

.btn-bz-hell {
  background: #fff;
  color: var(--bz-text);
  border-radius: 50px;
  padding: 10px 30px;
  font-size: 1rem;
  text-transform: none;
  box-shadow: none;
}
.btn-bz-hell:hover, .btn-bz-hell:focus { background: var(--bz-grau-hell); color: var(--bz-text); box-shadow: none; }

/* --- Kopfzeile ----------------------------------------------------------- */
.bz-header { background: #fff; z-index: 1030; }
.bz-header .navbar {
  min-height: var(--bz-header-hoehe);
  padding-top: 0;
  padding-bottom: 0;
  box-shadow: none;
  background: #fff;
}
.bz-header .navbar-brand { padding: 0; margin: 0; }
.bz-header .navbar-brand img { width: 40px; height: 40px; display: block; }
.bz-header .nav-link {
  font-size: 1rem;
  color: var(--bz-text);
  padding: 10px 20px !important;
  line-height: 1;
  transition: color .15s ease;
}
.bz-header .nav-link:hover, .bz-header .nav-link:focus { color: var(--bz-rot); }
.bz-header .nav-link.active, .bz-header .nav-link[aria-current="page"] { color: var(--bz-blau); }
.bz-header .navbar-toggler { border: 0; padding: 8px; color: var(--bz-text); box-shadow: none; }
.bz-header .navbar-toggler svg { width: 26px; height: 26px; display: block; }
.bz-neu {
  display: inline-block;
  font-size: .65rem;
  line-height: 1;
  padding: 3px 6px 2px;
  margin-left: 4px;
  border-radius: 10px;
  background: var(--bz-gelb);
  color: var(--bz-text);
  vertical-align: top;
  text-transform: uppercase;
  letter-spacing: .5px;
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .bz-header .nav-link { padding: 10px 12px !important; }
}
@media (max-width: 991.98px) {
  .bz-header .navbar-collapse { padding: 8px 0 16px; }
  .bz-header .nav-link { padding: 12px 4px !important; font-size: 1.125rem; }
}

/* --- Startseite: Banner -------------------------------------------------- */
.bz-banner { padding-top: 10px; }
.bz-banner img {
  display: block;
  width: 100%;
  max-width: 946px;
  height: auto;
  margin: 0 auto;
  border-radius: var(--bz-radius);
}

/* --- Über uns ------------------------------------------------------------ */
.bz-ueber .bz-text { padding: 35px 30px 30px 70px; }
.bz-ueber .bz-bildspalte img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  object-position: 50% 30%;
  border-radius: var(--bz-radius);
}
@media (max-width: 767.98px) {
  .bz-ueber .bz-text { padding: 25px 10px; }
  .bz-ueber .bz-bildspalte img { min-height: 0; max-height: 420px; }
}

/* --- Produktumfang ------------------------------------------------------- */
.bz-produkt-icon {
  display: block;
  width: 100px;
  height: 100px;
  margin: 0 auto;
  object-fit: contain;
}
.bz-produkt h4 { margin: 20px 0 0; }
.bz-produkt p { margin: 20px 0 0; }
.bz-produkt .bz-mehr { display: inline-block; margin-top: 12px; font-size: 1.125rem; }
.bz-produkt h4 .bz-neu { font-family: 'Open Sans', sans-serif; vertical-align: middle; }

/* --- Bild mit überlappendem Textkasten (Unterstützung, Personalakte) ---- */
.bz-ueberlappung { position: relative; }
.bz-ueberlappung .bz-u-bild img {
  width: 100%;
  height: auto;
  border-radius: var(--bz-radius);
  display: block;
}
.bz-ueberlappung .bz-u-kasten {
  position: relative;
  z-index: 1;
  background: rgba(255, 255, 255, .85);
  border-radius: var(--bz-radius);
  padding: 50px 30px 20px;
}
@media (min-width: 992px) {
  .bz-ueberlappung .bz-u-bild img { height: 495px; object-fit: cover; }
  .bz-ueberlappung .bz-u-kasten { width: calc(50% + 80px); margin-left: -80px; margin-top: 171px; }
}
.bz-lead-grau {
  color: var(--bz-grau-text);
  font-size: 1.25rem;
  font-weight: 600;
  font-style: italic;
  line-height: 1.6;
  margin-top: 24px;
}
.bz-iconpunkt { text-align: center; }
.bz-iconpunkt img { width: 80px; height: 80px; object-fit: contain; display: block; margin: 8px auto 0; }
.bz-iconpunkt p { margin: 20px 0 0; }

/* --- Kundenstimmen ------------------------------------------------------- */
.bz-stimmen { position: relative; }
.bz-stimmen .bz-s-bild img { width: 100%; height: auto; border-radius: var(--bz-radius); display: block; }
.bz-stimmen .bz-s-kasten {
  position: relative;
  z-index: 1;
  background: rgba(255, 255, 255, .85);
  border-radius: 30px;
  padding: 15px 0 30px;
}
@media (min-width: 992px) {
  .bz-stimmen .bz-s-bild { width: 70%; }
  .bz-stimmen .bz-s-kasten { width: 88.6%; margin: -368px 15px 15px auto; }
}
.bz-stimmen h2 { text-align: center; margin-top: 15px; }
.bz-carousel { padding: 30px 80px 50px; }
.bz-carousel .carousel-item { text-align: center; }
.bz-carousel .bz-logo-rund {
  width: 100px; height: 100px; border-radius: 50%;
  object-fit: contain; background: #fff; display: block; margin: 0 auto;
}
.bz-carousel .bz-logo-breit { width: 130px; height: 100px; object-fit: contain; display: block; margin: 0 auto; }
.bz-carousel blockquote p { font-size: 1.25rem; line-height: 1.6; margin: 20px 0 0; }
.bz-carousel .bz-name { font-weight: 700; margin: 35px 0 0; font-size: 1.5rem; }
.bz-carousel .bz-firma { margin: 15px 0 0; font-size: 1rem; }
.bz-carousel .carousel-control-prev, .bz-carousel .carousel-control-next {
  width: 43px; height: 43px; top: 50%; transform: translateY(-50%);
  background: #4d4d4d; border-radius: 50%; opacity: 1;
}
.bz-carousel .carousel-control-prev { left: 15px; }
.bz-carousel .carousel-control-next { right: 15px; }
.bz-carousel .carousel-control-prev:hover, .bz-carousel .carousel-control-next:hover { background: #333; }
.bz-carousel .carousel-control-prev-icon, .bz-carousel .carousel-control-next-icon {
  width: 20px; height: 20px; background-image: none;
}
.bz-carousel .carousel-control-prev-icon::after, .bz-carousel .carousel-control-next-icon::after { content: none; display: none; }
.bz-carousel .carousel-control-prev-icon svg, .bz-carousel .carousel-control-next-icon svg { width: 20px; height: 20px; fill: #fff; display: block; }
.bz-carousel .carousel-indicators { margin-bottom: 10px; }
.bz-carousel .carousel-indicators [data-mdb-target] {
  width: 10px; height: 10px; border-radius: 50%;
  background-color: #b3b3b3; border: 0; margin: 0 3px; opacity: 1;
}
.bz-carousel .carousel-indicators .active { background-color: #4d4d4d; }
@media (max-width: 767.98px) {
  .bz-carousel { padding: 20px 20px 50px; }
  .bz-carousel .carousel-control-prev, .bz-carousel .carousel-control-next { top: auto; bottom: 0; transform: none; }
  .bz-carousel blockquote p { font-size: 1.0625rem; }
}

/* --- Kundenlogos --------------------------------------------------------- */
.bz-logos .bz-logo-zelle {
  display: flex; align-items: center; justify-content: center;
  min-height: 260px; padding: 20px;
}
.bz-logos img { max-width: 100%; height: auto; }
@media (max-width: 767.98px) { .bz-logos .bz-logo-zelle { min-height: 160px; } }

/* --- Branchenkenntnisse -------------------------------------------------- */
.bz-branche .bz-b-bild {
  border-radius: var(--bz-radius);
  background: url("../images/slider-img-01.jpg") 50% 50% / cover no-repeat;
  min-height: 640px;
}
.bz-branche h2 { text-align: center; margin-top: 41px; }
.bz-branche .bz-b-text { text-align: center; margin: 34px 60px 0; }
@media (max-width: 991.98px) {
  .bz-branche .bz-b-bild { min-height: 380px; }
  .bz-branche .bz-b-text { margin: 24px 0 0; }
}

/* --- News ---------------------------------------------------------------- */
.bz-news { border-bottom: 2px solid var(--bz-grau-linie); padding-bottom: 60px; }
.bz-news .bz-meldung { text-align: center; margin-top: 20px; }
.bz-news .bz-meldung h5 { margin: 0; }
.bz-news .bz-meldung h4 { margin: 5px 0 0; }
.bz-news .bz-meldung p { margin: 10px 0 0; }

/* --- Kontakt ------------------------------------------------------------- */
.bz-kontakt { background: var(--bz-grau-hell); padding: 15px 0 37px; }
.bz-kontakt .bz-k-bild img {
  width: 100%; height: 100%; max-height: 730px;
  object-fit: cover; border-radius: var(--bz-radius); display: block;
}
.bz-kontakt h1, .bz-kontakt .bz-k-titel {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 4.5rem;
  line-height: 1.1;
  text-align: center;
  margin: 9px 0 0;
}
@media (max-width: 1199.98px) { .bz-kontakt h1, .bz-kontakt .bz-k-titel { font-size: 3.5rem; } }
@media (max-width: 575.98px)  { .bz-kontakt h1, .bz-kontakt .bz-k-titel { font-size: 2.5rem; } }

.bz-formular { padding: 10px; }
.bz-formular .form-control {
  background: #fff;
  border: 0;
  border-bottom: 2px solid #000;
  border-radius: 0;
  padding: 10px 12px;
  font-size: 1rem;
  line-height: 1.6;
  color: #000;
  box-shadow: none;
  min-height: 48px;
}
.bz-formular .form-control::placeholder { text-transform: uppercase; color: #808080; opacity: 1; }
.bz-formular .form-control:focus { border-bottom-color: var(--bz-blau); box-shadow: none; }
.bz-formular .bz-feld { margin-bottom: 20px; }
.bz-formular .form-check-input { margin-top: .35em; }
.bz-formular .form-check-label { font-size: 1rem; }
.bz-formular .was-validated .form-control:invalid,
.bz-formular .form-control.is-invalid { border-bottom-color: #dc4c64; }
.bz-formular .invalid-feedback { font-size: .875rem; }
.bz-honig { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.bz-formular .bz-meldung-ok, .bz-formular .bz-meldung-fehler { display: none; margin-top: 16px; font-size: 1rem; }
.bz-formular.bz-gesendet .bz-meldung-ok { display: block; }
.bz-formular.bz-fehler .bz-meldung-fehler { display: block; }

/* --- Standorte ----------------------------------------------------------- */
.bz-standorte { padding: 40px 0 26px; }
.bz-standort { text-align: center; }
.bz-standort .bz-pin { width: 80px; height: 80px; display: block; margin: 0 auto; fill: #111; }
.bz-standort h3 { margin: 20px 0 0; }
.bz-tel {
  display: inline-flex; align-items: center; gap: 4px;
  margin-top: 6px;
  background: var(--bz-gelb);
  color: var(--bz-text);
  border-radius: 50px;
  padding: 8px 27px 8px 26px;
  font-size: .875rem;
  line-height: 1.4;
  text-transform: uppercase;
}
.bz-tel svg { width: 14px; height: 14px; fill: currentColor; }
.bz-tel:hover, .bz-tel:focus { color: var(--bz-tuerkis); background: var(--bz-gelb); }
.bz-mail { display: inline-flex; align-items: center; gap: 4px; margin-top: 8px; color: #000; font-size: 1rem; }
.bz-mail img { width: 19px; height: 19px; }
.bz-mail:hover { color: var(--bz-rot); }
.bz-standort .bz-partner { color: var(--bz-blau); margin: 6px 0 0; font-size: 1rem; }

/* --- Fußzeile ------------------------------------------------------------ */
.bz-footer { background: var(--bz-grau-footer); color: #fff; }
.bz-footer .container { min-height: 84px; }
.bz-footer .bz-f-logo img { width: 56px; height: 56px; display: block; }
.bz-footer p { margin: 0; color: #fff; font-size: 1.125rem; }
.bz-footer nav a { color: #fff; font-size: 1rem; padding: 10px 20px; display: inline-block; }
.bz-footer nav a:hover, .bz-footer nav a:focus { color: var(--bz-rot); }
@media (max-width: 767.98px) {
  .bz-footer .container { padding-top: 16px; padding-bottom: 16px; }
  .bz-footer nav a { padding: 6px 12px; }
}

/* --- Nach oben ----------------------------------------------------------- */
.bz-nach-oben {
  position: fixed; right: 20px; bottom: 100px; z-index: 1020;
  width: 64px; height: 64px; padding: 15px;
  border-radius: 50%; border: 0;
  background: rgba(71, 138, 201, .85); color: #fff;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility .2s ease;
}
.bz-nach-oben.bz-sichtbar { opacity: 1; visibility: visible; }
.bz-nach-oben svg { width: 28px; height: 28px; fill: currentColor; }
.bz-nach-oben:hover { background: var(--bz-blau-dunkel); }

/* --- Textseiten (Impressum, Datenschutz, News, …) ----------------------- */
.bz-textseite { padding: 20px 0 60px; }
.bz-textseite h1 { margin: 20px 0; }
.bz-textseite p { margin: 20px 0; }
.bz-textseite h4 { margin: 20px 0; }
.bz-textseite .bz-einzug { padding-left: 30px; }
.bz-datenschutz h4 { word-break: break-word; hyphens: auto; }
.bz-newsliste .bz-eintrag { margin-top: 6px; }
.bz-newsliste .bz-eintrag p.bz-datum { margin: 6px 0 0; }
.bz-newsliste .bz-eintrag h4 { margin: 0; }
.bz-newsliste .bz-eintrag h5 { margin: 20px 0 0; }
.bz-newsliste .bz-eintrag p { margin: 15px 0 0; }

/* Untertitel über großen Überschriften (BrotZEIT, Personaleinsatzplanung) */
.bz-dachzeile { text-align: center; margin: 10px 0 0; }

/* --- Digitale Personalakte ---------------------------------------------- */
.dpa-hero {
  border-radius: var(--bz-radius);
  background:
    radial-gradient(1px 1px at 12% 18%, rgba(255,255,255,.9), transparent 60%),
    radial-gradient(1px 1px at 28% 64%, rgba(255,255,255,.7), transparent 60%),
    radial-gradient(1.5px 1.5px at 44% 30%, rgba(255,255,255,.8), transparent 60%),
    radial-gradient(1px 1px at 58% 82%, rgba(255,255,255,.6), transparent 60%),
    radial-gradient(1px 1px at 8% 76%, rgba(255,255,255,.6), transparent 60%),
    radial-gradient(1.5px 1.5px at 36% 90%, rgba(255,255,255,.5), transparent 60%),
    radial-gradient(900px 420px at 85% 120%, rgba(71,138,201,.55), transparent 70%),
    linear-gradient(160deg, #070b2e 0%, #0d1550 55%, #1b2f72 100%);
  color: #fff;
  overflow: hidden;
  padding: 56px 48px;
}
.dpa-hero .dpa-dach {
  font-size: .9375rem; letter-spacing: 2px; text-transform: uppercase;
  color: #cfe0f3; margin: 0 0 12px;
}
.dpa-hero h1 { color: #fff; font-weight: 700; font-size: 3.75rem; line-height: 1.05; margin: 0; }
.dpa-hero .dpa-unter { color: #fff; font-size: 1.5rem; line-height: 1.35; margin: 16px 0 0; font-family: 'Roboto', sans-serif; }
.dpa-hero p { color: #e6edf7; }
.dpa-hero .dpa-schirm img {
  width: 100%; height: auto; display: block;
  border-radius: 12px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .45);
}
.dpa-hero figcaption { color: #b9c8e0; font-size: .875rem; margin-top: 10px; }
@media (max-width: 991.98px) {
  .dpa-hero { padding: 36px 24px; }
  .dpa-hero h1 { font-size: 2.75rem; }
  .dpa-hero .dpa-unter { font-size: 1.25rem; }
}

.dpa-karte {
  height: 100%;
  border-radius: var(--bz-radius);
  background: var(--bz-grau-hell);
  padding: 32px 30px;
}
.dpa-karte h3 { font-size: 1.75rem; margin: 0; }
.dpa-karte .dpa-zielgruppe {
  font-size: .875rem; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--bz-blau); margin: 0 0 8px;
}
.dpa-karte p { margin: 14px 0 0; }

.dpa-ablauf { list-style: none; padding: 0; margin: 0; }
.dpa-ablauf li { display: grid; grid-template-columns: 52px 1fr; column-gap: 20px; margin-top: 28px; }
.dpa-ablauf li:first-child { margin-top: 0; }
.dpa-nummer {
  width: 52px; height: 52px; border-radius: 50%;
  background: var(--bz-blau); color: #fff;
  font-family: 'Roboto', sans-serif; font-size: 1.5rem; line-height: 52px; text-align: center;
}
.dpa-ablauf h3 { font-size: 1.5rem; margin: 12px 0 0; }
.dpa-ablauf p { margin: 8px 0 0; }
.dpa-hochkant { max-width: 420px; margin: 0 auto; }
.dpa-galerie figure { margin: 0; }
.dpa-galerie img {
  width: 100%; height: auto; display: block;
  border-radius: 12px;
  border: 1px solid #e3e6ea;
  box-shadow: 0 10px 30px rgba(17, 17, 17, .08);
  cursor: zoom-in;
}
.dpa-galerie figcaption { font-size: .9375rem; color: #555; margin-top: 10px; line-height: 1.5; }

.dpa-hinweis {
  border-left: 4px solid var(--bz-blau);
  background: #f5f8fc;
  border-radius: 0 var(--bz-radius) var(--bz-radius) 0;
  padding: 26px 30px;
}
.dpa-hinweis h3 { font-size: 1.75rem; margin: 0; }
.dpa-hinweis p { margin: 14px 0 0; }

.dpa-kleingedruckt { font-size: .9375rem; color: #555; }
.dpa-kleingedruckt p { font-size: .9375rem; }

/* MDB-Lightbox: Bildunterschrift lesbar halten */
.lightbox-gallery .lightbox-gallery-caption { font-family: 'Open Sans', sans-serif; }
.bz-sans { font-family: 'Open Sans', sans-serif; }
.bz-kontakt .dpa-k-titel { font-size: 3rem; }
@media (max-width: 575.98px) { .bz-kontakt .dpa-k-titel { font-size: 2.25rem; } }

/* MDB-Lightbox: Symbole als eingebettete SVGs statt Font Awesome (kein externes CDN nötig) */
.lightbox-gallery button::before {
  content: "" !important;
  display: inline-block;
  width: 22px; height: 22px;
  vertical-align: middle;
  background-color: currentColor;
  -webkit-mask: var(--bz-lb-icon) 50% 50% / contain no-repeat;
  mask: var(--bz-lb-icon) 50% 50% / contain no-repeat;
}
.lightbox-gallery .lightbox-gallery-toolbar button.lightbox-gallery-fullscreen-btn { --bz-lb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z'/%3E%3C/svg%3E"); }
.lightbox-gallery .lightbox-gallery-toolbar button.lightbox-gallery-fullscreen-btn.active { --bz-lb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z'/%3E%3C/svg%3E"); }
.lightbox-gallery .lightbox-gallery-toolbar button.lightbox-gallery-zoom-btn { --bz-lb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zm2.5-4h-2v2H9v-2H7V9h2V7h1v2h2v1z'/%3E%3C/svg%3E"); }
.lightbox-gallery .lightbox-gallery-toolbar button.lightbox-gallery-zoom-btn.active { --bz-lb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zM7 9h5v1H7z'/%3E%3C/svg%3E"); }
.lightbox-gallery .lightbox-gallery-toolbar button.lightbox-gallery-close-btn { --bz-lb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E"); }
.lightbox-gallery .lightbox-gallery-arrow-left button { --bz-lb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z'/%3E%3C/svg%3E"); }
.lightbox-gallery .lightbox-gallery-arrow-right button { --bz-lb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z'/%3E%3C/svg%3E"); }

/* --- News-Seite ---------------------------------------------------------- */
.bz-news-bild { max-width: 100%; height: auto; border-radius: var(--bz-radius); }
.bz-pfeilliste { list-style: none; padding: 0; margin: 20px 0 0; }
.bz-pfeilliste li { position: relative; padding-left: 38px; margin-top: 12px; }
.bz-pfeilliste li::before {
  content: ""; position: absolute; left: 0; top: .15em;
  width: 26px; height: 26px; border-radius: 50%;
  background: var(--bz-blau) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z'/%3E%3C/svg%3E") 50% 50% / 15px no-repeat;
}
.bz-countdown .bz-cd-zahl {
  background: #f2f6fb;
  border-radius: var(--bz-radius);
  font-family: 'Roboto', sans-serif;
  font-size: 4.5rem;
  line-height: 1;
  padding: 36px 0;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.bz-countdown .bz-countdown-felder p { text-align: center; margin: 10px 0 0; font-size: 1.25rem; }
@media (max-width: 575.98px) { .bz-countdown .bz-cd-zahl { font-size: 3rem; padding: 24px 0; } }
.btn-bz-umriss {
  background: transparent; color: var(--bz-blau);
  border: 2px solid var(--bz-blau); border-radius: 50px;
  padding: 8px 28px; font-size: 1rem; text-transform: none; box-shadow: none;
}
.btn-bz-umriss:hover, .btn-bz-umriss:focus { background: var(--bz-blau); color: #fff; box-shadow: none; }

/* --- Einwilligungs-Banner (js/einwilligung.js) --------------------------- */
.bz-einwilligung {
  position: fixed; left: 20px; bottom: 20px; z-index: 2000;
  width: min(640px, calc(100vw - 40px));
  max-height: calc(100vh - 40px); overflow-y: auto;
  background: #fff; color: var(--bz-text);
  border-radius: var(--bz-radius);
  box-shadow: 0 12px 40px rgba(17, 17, 17, .22);
  padding: 24px 26px 20px;
}
.bz-einwilligung[hidden] { display: none; }
.bz-einwilligung:focus { outline: none; }
.bz-einwilligung h2 { margin: 0 0 10px; }
.bz-einwilligung p { font-size: .9375rem; line-height: 1.55; margin: 0; }
.bz-einw-auswahl { margin-top: 14px; }
.bz-einw-auswahl .form-check { margin-top: 10px; }
.bz-einw-auswahl .form-check-label { font-size: .9375rem; line-height: 1.5; }
.bz-einw-knoepfe { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.bz-einw-knoepfe .btn { padding: 8px 22px; }
@media (max-width: 575.98px) {
  .bz-einwilligung { left: 8px; bottom: 8px; width: calc(100vw - 16px); padding: 18px 16px 16px; }
  .bz-einw-knoepfe .btn { flex: 1 1 100%; }
}
/* „Cookie-Einstellungen“ in der Fußzeile sieht aus wie die übrigen Fußzeilen-Links */
.bz-footer nav .bz-f-knopf {
  background: none; border: 0; color: #fff; font: inherit; font-size: 1rem;
  padding: 10px 20px; cursor: pointer;
}
.bz-footer nav .bz-f-knopf:hover, .bz-footer nav .bz-f-knopf:focus { color: var(--bz-rot); }
@media (max-width: 767.98px) { .bz-footer nav .bz-f-knopf { padding: 6px 12px; } }
