/* =====================================================
   GLOBALER FOOTER (Jan, 2026-10-12) — EIN Element für Portal und Login.
   Markup kommt aus assets/js/footer.js, Stil nur hier.
   Optik 1:1 wie leaderlogic.de/links, Farben über Tokens.
   ===================================================== */

/* LeaderLogic™ als Wortmarke im Satz */
.ll-wort { white-space: nowrap; color: var(--portal-text); }
.ll-wort strong { font-weight: 500; }
.ll-wort .ll-tm { font-size: 0.6em; }

/* Social-Icons wie leaderlogic.de/links (.footer-social), in Portal-Tokens */
.footer-socials {
  display: flex;
  justify-content: center;
  gap: 5px;
  margin: 45px 0 0;
}
.ll-footer .footer-socials { margin-top: 32px; }   /* 30 % weniger Abstand zum Satz (Jan, 2026-10-12) */
.footer-social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 65px;
  height: 65px;
  border-radius: 50%;
  background: transparent;
  color: var(--portal-text-faint);
  box-shadow: inset 0 0 20px 2px color-mix(in srgb, var(--portal-text) 11%, transparent);
  transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease;
}
.footer-social svg { width: 30px; height: 30px; display: block; }
.footer-social:hover {
  transform: translateY(-1px);
  background: var(--portal-accent);
  color: var(--portal-accent-ink);
}
/* Footer: Social-Icons 20 % kleiner (Jan, 2026-10-12) */
.ll-footer .footer-social { width: 52px; height: 52px; }
.ll-footer .footer-social svg { width: 24px; height: 24px; }

/* =====================================================
   Footer 1:1 wie leaderlogic.de/links, Farben über Tokens
   ===================================================== */
/* Footer immer ganz unten auf der Seite, 40px über dem Rand, mindestens
   250px Abstand zum Inhalt — kein künstlicher Leerraum (Jan, 2026-10-12):
   die Seite ist eine Spalte, der Portal-Bereich füllt den Rest auf */
body:has(> .ll-footer) {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}
.ll-footer {
  flex: none;
  margin-top: 250px;
  padding: 0 16px 40px;
  width: 100%;
  text-align: center;
  color: var(--portal-text);
}
.ll-footer .footer-center { display: flex; flex-direction: column; align-items: center; }
.ll-footer .footer-sub {
  margin: 0;
  font-size: 19px;               /* 20 % größer (Jan, 2026-10-12) */
  font-weight: 500;
  line-height: 1.45;             /* bricht er mobil um: etwas mehr Luft zwischen den Zeilen */
  letter-spacing: -0.3px;
  color: var(--portal-text-soft);
}
.ll-footer .footer-legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  gap: 4px;
  margin: 25px auto 0;
}
.ll-footer .footer-copyright,
.ll-footer .footer-address,
.ll-footer .footer-legal-links,
.ll-footer .footer-legal-links a,
.ll-footer .footer-legal-links span {
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.1em;
  letter-spacing: -0.05px;
  color: var(--portal-text-faint);
  text-decoration: none;
}
.ll-footer .footer-address,
.ll-footer .footer-legal-links a { transition: color 0.16s ease; }
.ll-footer .footer-address:hover,
.ll-footer .footer-legal-links a:hover { color: var(--portal-text); }
.ll-footer .footer-address::before { content: "·"; margin-right: 4px; }
.ll-footer .footer-legal-links { display: inline-flex; align-items: baseline; gap: 4px; flex-basis: 100%; justify-content: center; }
@media (max-width: 760px) {
  .ll-footer .footer-legal { flex-direction: column; align-items: center; gap: 0; }
  .ll-footer .footer-address::before { content: none; }
}

/* Login-Seite: Footer ohne Claim (nur Socials + Rechtliches), Login-Karte
   mittig im freien Raum darüber, Footer unten angedockt */
.login-page:has(> .ll-footer) { padding-bottom: 0; }   /* Rand unten regelt der Footer (40px) */
.login-page > .login-wrap { margin: auto; }
.login-page > .ll-footer { margin-top: 64px; padding-left: 0; padding-right: 0; }
.ll-footer--ohne-claim .footer-socials { margin-top: 0; }

/* Hinweis unter dem Login-Button: ganz klein (Jan, 2026-10-12) */
.login-card p.login-exklusiv {
  margin: 14px 0 0;
  font-size: 11.5px;
  line-height: 1.4;
  letter-spacing: 0.01em;
  color: var(--portal-text-faint);
}
