/* Einheitlicher Seitenfooter, abgeleitet aus index.php und deren finaler Darstellung. */
.bzv7-footer.bzv7-footer {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 58px 0 24px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background: #041221 !important;
  background-image: none !important;
  color: #fff !important;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  line-height: 1.45 !important;
  text-align: left !important;
}
.bzv7-footer.bzv7-footer *,
.bzv7-footer.bzv7-footer *::before,
.bzv7-footer.bzv7-footer *::after { box-sizing: border-box !important; }
.bzv7-footer.bzv7-footer .bzv7-spectrum {
  position: absolute !important;
  inset: 0 0 auto !important;
  display: block !important;
  width: 100% !important;
  height: 2px !important;
  background: linear-gradient(90deg,#22c3dd,#2879d9,#7456d8,#d7303d,#ff9c24,#68d323) !important;
  opacity: .75 !important;
}
.bzv7-footer.bzv7-footer .bzv7-shell {
  width: min(2120px, calc(100% - 64px)) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}
.bzv7-footer.bzv7-footer .bzv7-footer-grid {
  display: grid !important;
  grid-template-columns: 1.4fr repeat(3,.7fr) !important;
  gap: 44px !important;
  align-items: start !important;
}
.bzv7-footer.bzv7-footer .bzv7-footer-grid > div {
  display: grid !important;
  align-content: start !important;
  gap: 9px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.bzv7-footer.bzv7-footer .bzv7-footer-grid img {
  display: block !important;
  width: 250px !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  filter: brightness(0) invert(1) !important;
}
.bzv7-footer.bzv7-footer .bzv7-footer-grid p {
  max-width: 360px !important;
  margin: 7px 0 3px !important;
  padding: 0 !important;
  color: rgba(255,255,255,.56) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}
.bzv7-footer.bzv7-footer .bzv7-footer-grid small {
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(255,255,255,.4) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}
.bzv7-footer.bzv7-footer .bzv7-footer-grid b {
  margin: 0 !important;
  padding: 0 !important;
  color: #22c3dd !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.bzv7-footer.bzv7-footer .bzv7-footer-grid a,
.bzv7-footer.bzv7-footer .bzv7-footer-bottom a {
  display: inline-block !important;
  width: fit-content !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(255,255,255,.66) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
  transform: none !important;
}
.bzv7-footer.bzv7-footer .bzv7-footer-grid a:hover,
.bzv7-footer.bzv7-footer .bzv7-footer-grid a:focus-visible,
.bzv7-footer.bzv7-footer .bzv7-footer-bottom a:hover,
.bzv7-footer.bzv7-footer .bzv7-footer-bottom a:focus-visible {
  color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
.bzv7-footer.bzv7-footer .bzv7-footer-bottom {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 20px !important;
  margin-top: 42px !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.38) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}
@media (min-width: 1181px) {
  .bzv7-footer.bzv7-footer { padding: 74px 0 30px !important; }
  .bzv7-footer.bzv7-footer .bzv7-shell { width: min(2520px, calc(100% - 48px)) !important; }
  .bzv7-footer.bzv7-footer .bzv7-footer-grid { gap: 58px !important; }
  .bzv7-footer.bzv7-footer .bzv7-footer-grid img { width: 330px !important; }
  .bzv7-footer.bzv7-footer .bzv7-footer-grid p { font-size: 15px !important; }
  .bzv7-footer.bzv7-footer .bzv7-footer-grid small { font-size: 13px !important; }
  .bzv7-footer.bzv7-footer .bzv7-footer-grid b { font-size: 13px !important; }
  .bzv7-footer.bzv7-footer .bzv7-footer-grid a,
  .bzv7-footer.bzv7-footer .bzv7-footer-bottom a { font-size: 14px !important; }
  .bzv7-footer.bzv7-footer .bzv7-footer-bottom { font-size: 13px !important; }
}
@media (max-width: 1180px) {
  .bzv7-footer.bzv7-footer .bzv7-shell { width: min(calc(100% - 36px), 1040px) !important; }
  .bzv7-footer.bzv7-footer .bzv7-footer-grid { grid-template-columns: 1.3fr repeat(3,.7fr) !important; }
}
@media (max-width: 760px) {
  .bzv7-footer.bzv7-footer { padding: 42px 0 20px !important; }
  .bzv7-footer.bzv7-footer .bzv7-shell { width: calc(100% - 28px) !important; }
  .bzv7-footer.bzv7-footer .bzv7-footer-grid {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 27px 20px !important;
  }
  .bzv7-footer.bzv7-footer .bzv7-footer-grid > div:first-child { grid-column: 1 / -1 !important; }
  .bzv7-footer.bzv7-footer .bzv7-footer-grid img { width: min(235px,100%) !important; }
  .bzv7-footer.bzv7-footer .bzv7-footer-grid p {
    max-width: 320px !important;
    margin-block: 7px 3px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
  }
  .bzv7-footer.bzv7-footer .bzv7-footer-grid small { font-size: 11px !important; }
  .bzv7-footer.bzv7-footer .bzv7-footer-grid b { font-size: 10px !important; }
  .bzv7-footer.bzv7-footer .bzv7-footer-grid a,
  .bzv7-footer.bzv7-footer .bzv7-footer-bottom a { font-size: 12px !important; line-height: 1.35 !important; }
  .bzv7-footer.bzv7-footer .bzv7-footer-bottom {
    margin-top: 32px !important;
    padding-top: 18px !important;
    gap: 16px !important;
    font-size: 10px !important;
  }
}
@media (max-width: 390px) {
  .bzv7-footer.bzv7-footer .bzv7-shell { width: calc(100% - 22px) !important; }
  .bzv7-footer.bzv7-footer .bzv7-footer-grid { gap: 25px 16px !important; }
}
