/* ===========================================================================
   DER OEFFENTLICHE FUSS - EINMAL GEBAUT, UEBERALL DERSELBE (v2.916.0)
   ===========================================================================
   Gegenstueck zu kopf-oeffentlich.css; Markup und Begruendung in
   templates/teile/fuss-oeffentlich.html. Alle Werte aus dem Woerterbuch
   (design-tokens.css) - die Datei ist neu und startet beim Design-Waechter
   bei null (DESIGN_SYSTEM.md §9 Regel 2).

   ALLES HAENGT UNTER `.fuss`: die Seiten bringen eigene Stilbloecke mit, in
   denen `footer`, `.logo` und `a` schon belegt sind (Begruendung wie beim
   Kopf, dort Regel 1). Der Fuss beansprucht kein Gattungs-Element.

   VERBUNDEN MIT: templates/landing_neu.html, faq.html, funktionen.html,
   mitgliedschaft.html; app.py `_sw_version` (die Startseite liegt im
   Shell-Cache des Service-Workers); qa/unit/test_fuss_oeffentlich.py
   =========================================================================== */
.fuss{border-top:1px solid var(--line);background:var(--surface-subtle);color:var(--sub);
  font-family:var(--font);font-size:var(--fs-sm);line-height:1.6;}
.fuss-in{max-width:1280px;margin:0 auto;padding:var(--s-8) var(--gap,var(--s-5)) var(--s-6);}
.fuss-oben{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,3fr);gap:var(--s-7);}
.fuss a{color:inherit;text-decoration:none;transition:color .12s;}
.fuss a:hover{color:var(--brand-dk);}

.fuss-logo img{display:block;height:30px;width:auto;}
.fuss-satz{margin:var(--s-4) 0 0;max-width:30ch;color:var(--sub);}
/* Die Haken zeichnet das CSS - der Fuss laedt kein Lucide, und ein Pfad im
   Markup waere fuer einen neuen Baustein Altlast vom ersten Tag an. */
.fuss-zusagen{list-style:none;margin:var(--s-4) 0 0;padding:0;display:flex;flex-direction:column;gap:6px;}
.fuss-zusagen li{position:relative;padding-left:22px;font-size:var(--fs-sm);color:var(--sub);}
.fuss-zusagen li::before{content:"";position:absolute;left:3px;top:5px;width:9px;height:5px;
  border-left:2px solid var(--ok);border-bottom:2px solid var(--ok);transform:rotate(-45deg);}
.fuss .fuss-mail{display:inline-flex;align-items:center;margin-top:var(--s-5);padding:var(--s-2) var(--s-4);
  border:1px solid var(--line);border-radius:var(--r-pill);background:var(--card);
  font-weight:650;color:var(--ink);box-shadow:var(--e-1);}
.fuss .fuss-mail:hover{border-color:var(--brand);color:var(--brand-dk);}

.fuss-spalten{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-5);}
.fuss-sp b{display:block;margin-bottom:var(--s-3);font-size:var(--fs-xs);font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink);}
.fuss-sp a{display:block;padding:5px 0;font-size:var(--fs-sm);}

.fuss-unten{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-2) var(--s-5);
  margin-top:var(--s-7);padding-top:var(--s-5);border-top:1px solid var(--line);
  font-size:var(--fs-xs);color:var(--muted);}

@media(max-width:960px){
  .fuss-oben{grid-template-columns:minmax(0,1fr);gap:var(--s-6);}
  .fuss-spalten{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5) var(--s-4);}
}
@media(max-width:640px){
  .fuss-in{padding:var(--s-7) var(--s-4) var(--s-5);}
  .fuss-unten{flex-direction:column;}
}
