/* Zusatzstile: Barrierefreiheit, Footer-Links, Einwilligung, Rechtstexte */
img { height: auto; }

.skip-link {
  position: absolute;
  left: -9999px;
  top: 8px;
  z-index: 3000;
  padding: 0.6rem 1rem;
  border-radius: 0.75rem;
  background: #ffffff;
  color: #3f274d;
  font-weight: 700;
}
.skip-link:focus { left: 8px; }

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.navbar a, .navbar button, .btn, .accordion a[role="button"], .nav-tabs .nav-link { cursor: pointer; }
:focus-visible { outline: 2px solid #5a189a; outline-offset: 2px; }

.cid-vAdi7TMtJG .footer-legal ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem 1.75rem;
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
}
.cid-vAdi7TMtJG .footer-legal a {
  color: #3f274d;
  font-weight: 500;
  text-decoration: none;
}
.cid-vAdi7TMtJG .footer-legal a:hover { text-decoration: underline; }

.consent-wrap .form-check { display: flex; align-items: flex-start; gap: 0.6rem; padding-left: 0; }
.consent-wrap .form-check-input { flex: 0 0 auto; margin: 0.2rem 0 0; float: none; }
.consent-wrap .form-check-label { color: #000000; text-align: left; line-height: 1.4; }
.consent-wrap a { color: #3f274d; text-decoration: underline; }

/* Rechtliche Seiten */
.legal-page { padding: 7rem 0 5rem; background: #ece6f0; }
.legal-page .legal-card {
  background: #ffffff;
  border: 1px solid #e3d6ee;
  border-radius: 1.5rem;
  padding: 3rem;
  max-width: 900px;
  margin: 0 auto;
}
.legal-page h1.mbr-section-title { color: #3f274d; text-align: left; margin-bottom: 0.5rem; }
.legal-page .legal-meta { color: #6b5b76; margin-bottom: 2rem; }
.legal-page h2 { font-size: 1.6rem; line-height: 1.25; color: #3f274d; margin: 2.5rem 0 1rem; font-weight: 700; }
.legal-page h3 { font-size: 1.2rem; line-height: 1.3; color: #3f274d; margin: 1.5rem 0 0.6rem; font-weight: 700; }
.legal-page p, .legal-page li { color: #2b2233; font-size: 1.05rem; line-height: 1.7; }
.legal-page ul { padding-left: 1.4rem; margin-bottom: 1rem; }
.legal-page li { margin-bottom: 0.4rem; }
.legal-page a { color: #5a189a; text-decoration: underline; }
.legal-page a:hover { color: #3f274d; }
.legal-page address { font-style: normal; line-height: 1.7; color: #2b2233; font-size: 1.05rem; margin-bottom: 1rem; }
@media (max-width: 767px) {
  .legal-page { padding: 5rem 0 3rem; }
  .legal-page .legal-card { padding: 1.5rem 1.25rem; border-radius: 1rem; }
  .legal-page h2 { font-size: 1.35rem; }
}

/* Mobiles Menü: kontrastreiche Links */
.cid-vAdi7TdrGn .navbar .navbar-nav .nav-link { opacity: 1; color: #3f274d; }
.legal-page h1.mbr-section-title { font-size: clamp(1.4rem, 6.4vw, 2.875rem); overflow-wrap: break-word; }
