/* ---------- VT-Fußzeile (einheitlich über alle Apps) ----------
   Aufbau wie auf viktortorno.de, OHNE die Navigations-Spalte: deren Anker
   (#leistungen, #faq …) gibt es in den einzelnen Apps nicht.

   Bewusst eigenständig: eigene Farbwerte statt App-Variablen, damit dieselbe
   Datei in jede App kopiert werden kann, egal wie deren Variablen heißen.
   Struktur aus Haarlinien und Mono-Labels, kein Schatten, kein Verlauf. */

.vtfoot {
  margin-top: 56px;
  border-top: 2px solid #0A0A0A;
  background: #FFFFFF;
  font-family: "Space Grotesk", system-ui, -apple-system, sans-serif;
}
.vtfoot__in { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.vtfoot__strip {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 10px; letter-spacing: .16em; text-transform: uppercase;
  color: #595959; padding: 14px 0; border-bottom: 1px solid rgba(10,10,10,.13);
}
.vtfoot__grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 32px; padding: 34px 0 28px;
}
.vtfoot__h {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 10px; letter-spacing: .16em; text-transform: uppercase;
  color: #595959; margin: 0 0 14px; font-weight: 400;
}
.vtfoot__col a {
  display: block; color: #1A1A1A; text-decoration: none; font-size: 14px;
  margin-bottom: 9px; border-bottom: 1px solid transparent; width: fit-content;
}
.vtfoot__col a:hover { border-bottom-color: #0A0A0A; }
.vtfoot__ck {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
  color: #595959; margin-bottom: 2px;
}
.vtfoot__contact { margin-bottom: 14px; font-size: 14px; color: #1A1A1A; }
.vtfoot__brand {
  display: flex; align-items: center; gap: 10px; margin-bottom: 8px;
  text-decoration: none; color: inherit;
}
.vtfoot__brand img { width: 26px; height: auto; }
.vtfoot__bname { font-weight: 500; line-height: 1.15; }
.vtfoot__bname small {
  display: block; font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 9px; letter-spacing: .16em; color: #595959; font-weight: 400;
}
.vtfoot__tag { font-family: Fraunces, Georgia, serif; font-style: italic; color: #595959; font-size: 14px; }
.vtfoot__social { display: flex; gap: 12px; margin-top: 14px; }
/* 40px: Mindestgröße für ein Touch-Ziel auf dem Handy (vorher 32px). */
.vtfoot__social a {
  display: inline-flex; width: 40px; height: 40px;
  border: 1px solid rgba(10,10,10,.13); border-radius: 999px;
  align-items: center; justify-content: center; color: #595959;
}
.vtfoot__social a:hover { border-color: #0A0A0A; color: #0A0A0A; }
.vtfoot__social svg { width: 15px; height: 15px; }
.vtfoot__bottom {
  border-top: 1px solid rgba(10,10,10,.13); padding: 18px 0 26px;
  font-size: 11px; color: #595959; line-height: 1.6;
}
.vtfoot__copy { margin-bottom: 6px; }
/* Auf schmalen Schirmen wird die Fusszeile sonst laenger als der eigentliche
   Inhalt. Enger setzen und die Kontaktzeilen einzeilig statt gestapelt. */
@media (max-width: 760px) {
  .vtfoot { margin-top: 40px; }
  .vtfoot__grid { grid-template-columns: 1fr; gap: 20px; padding: 24px 0 20px; }
  .vtfoot__contact {
    display: flex; align-items: baseline; gap: 10px; margin-bottom: 8px;
  }
  .vtfoot__ck { margin-bottom: 0; flex: 0 0 62px; }
  .vtfoot__bottom { padding: 14px 0 20px; }
}

/* --- profil-spezifisch ---
   Die Seite nutzt ab 880px ein Flex-Layout mit Innenabstand am body; der
   Footer muss über die volle Breite laufen und diesen Abstand aufheben. */
.vtfoot { width: 100%; }

/* Nur auf profil: Telefon, E-Mail und Standort stehen bereits oben in der
   Profilkarte. Auf dem Handy — wo diese Seite fast ausschliesslich geoeffnet
   wird — ist die Wiederholung in der Fusszeile reiner Ballast; die Angaben
   bleiben eine Bildschirmhoehe weiter oben erreichbar. Auf breiten Schirmen
   steht die Spalte weiterhin, dort kostet sie nichts. */
@media (max-width: 760px) {
  .vtfoot__col--kontakt { display: none; }
}
@media (min-width: 880px) {
  .vtfoot { margin-left: -32px; margin-right: -32px; width: calc(100% + 64px); }
}
