/* MW Footer v1.1: benötigt mw-base.css. Referenz: überarbeiteter MW Header */
:root { --mw-container: 1400px; }
.mw-site-footer {
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: 255px;
  padding: 76px 0 30px;
  background: #fff;
}
/* Wie Header: dezentes türkisfarbenes Punktband, gleiche Opazität & Rasterweite.
   Animation wie im aktuellen Header DEAKTIVIERT. */
.mw-site-footer__pattern {
  position: absolute;
  inset: 0 0 auto;
  height: 150px;
  z-index: -1;
  opacity: .30;
  background-image: radial-gradient(circle, rgba(80,188,189,1) 1px, transparent 1.6px);
  background-size: 32px 32px;
  pointer-events: none;
  /* animation: mw-points-loop 22s linear infinite; */
}
.mw-site-footer__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 20px;
}
.mw-site-footer__logo { display: flex; justify-content: center; align-items: center; }
.mw-site-footer__logo .custom-logo-link { display: block; line-height: 0; }
.mw-site-footer__logo img { width: auto; height: 65px; max-width: min(340px, 80vw); object-fit: contain; }
.mw-site-footer__contact {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin: 0;
  color: var(--mw-text, #191919);
  font-style: normal;
  font-size: 13px;
  line-height: 1.45;
}
.mw-site-footer__contact > * + *::before { content: '|'; color: #a6a6a6; margin-right: 10px; }
.mw-site-footer__contact a { color: inherit; }
.mw-site-footer__contact a:hover { color: var(--mw-primary, #50bcbd); }
/* Seitliche Menüs an den Viewport-Rändern, unabhängig von der 1400px Content-Breite. */
.mw-site-footer__side {
  position: absolute;
  bottom: 22px;
  z-index: 2;
  width: clamp(125px, 11vw, 185px);
}
.mw-site-footer__side--social { left: 0; }
.mw-site-footer__side--legal { right: 0; }
.mw-site-footer__links { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.mw-site-footer__links li { list-style: none; margin: 0; padding: 0; }
.mw-site-footer__links a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 3px 12px;
  background: var(--mw-primary, #50bcbd);
  color: #fff;
  font-size: 1em;
  font-weight: 700;
  line-height: 1.3;
  border-radius: 999px;
  text-align: center;
  box-shadow: 13px 11px 12px 5px rgba(57,92,101,.25);
  transition: background .2s ease, box-shadow .2s ease;
}
.mw-site-footer__links a:hover,
.mw-site-footer__links a:focus-visible,
.mw-site-footer__links .current-menu-item > a {
  color: #fff;
  background: var(--mw-primary-dark, #395c65);
}

.mw-site-footer__side--legal a{
  border-radius:999px 0 0 999px;
}

.mw-site-footer__side--social a{
  border-radius:0 999px 999px 0;
}


/* Außerhalb des Desktop-Rasters keine Überlappung der Mitte. */
@media (max-width: 1150px) {
  .mw-site-footer { padding-bottom: 28px; }
  .mw-site-footer__content { padding-bottom: 112px; }
  .mw-site-footer__side { bottom: 20px; }
}
/* Mobile v1: Seitennavigation bewusst nebeneinander unter den Kontaktdaten.
   Arrangement später gemeinsam entscheiden. */
@media (max-width: 640px) {
  .mw-site-footer { padding: 60px 0 24px; }
  .mw-site-footer__pattern { height: 90px; background-size: 16px 16px; }
  .mw-site-footer__content { padding-bottom: 0; gap: 18px; }
  .mw-site-footer__logo img { height: 52px; }
  .mw-site-footer__contact { flex-direction: column; gap: 5px; font-size: 13px; }
  .mw-site-footer__contact > * + *::before { display: none; }
  .mw-site-footer__side { position: static; width: min(100% - 40px, 360px); margin: 26px auto 0; }
  .mw-site-footer__side--legal { margin-top: 22px; }
  .mw-site-footer__links { gap: 10px; }
  .mw-site-footer__links a { min-height: 36px; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .mw-site-footer__pattern { animation: none; }
  .mw-site-footer__links a { transition: none; }
}



