/* Footer weiss – Figma «Footer / Desktop 1440 weiss» (120 px) und «Footer / Mobile weiss» (270 px) */
.site-footer {
  background: #fff;
  /* Weissraum oben und unten immer gleich: ein Wert für beide Seiten, Höhe ergibt sich aus dem Text.
     47 px ergibt bei einer Textzeile die 120 px aus dem Figma-Entwurf. */
  --footer-luft: 47px;
  padding: var(--footer-luft) 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px 40px;
  flex-wrap: wrap;
  font-size: 20px;
  line-height: 26px;
  letter-spacing: .4px;
  color: var(--schwarz);
}
.site-footer p { margin: 0; }
@media (min-width: 961px) {
  .site-footer p { flex: none; white-space: nowrap; }   /* Zeilen nie mitten im Text umbrechen – wenn's eng wird, rutscht der Kontaktblock als Ganzes auf eine neue Zeile */
}
/* Desktop immer einzeilig: Unter ca. 1260 px wird die Schrift fliessend kleiner (min. 15 px),
   gerade so viel, dass Adresse und Kontakt auf einer Zeile Platz haben. */
@media (min-width: 961px) and (max-width: 1260px) {
  .site-footer { flex-wrap: nowrap; font-size: clamp(15px, calc((100vw - 150px) / 55.5), 20px); letter-spacing: .02em; line-height: 1.3; }
}
.site-footer a { color: inherit; text-decoration: none; }
.site-footer a:hover { color: var(--rot); }
.site-footer .trenner { margin: 0 .55em; }

/* Mobile: Blöcke gestapelt, Trenner weg */
@media (max-width: 960px) {
  .site-footer { font-size: 20px; letter-spacing: .4px; flex-direction: column; gap: 34px; --footer-luft: 34px; padding: var(--footer-luft) var(--rand-mobil); align-items: flex-start; }
  .site-footer p > * { display: block; }
  .site-footer .trenner { display: none; }
  .site-footer__recht { margin-top: 26px; }
}
