/* =====================================================================
   FLORIN+ · footer.css  ·  Selbst-enthaltener Standard-Footer
   Für Seiten, die calc-v2.css NICHT laden (alte v8-tier1-Seiten).
   Alle .fp-footer*-Regeln + Tokens + Geist, gescoped auf .fp-footer →
   wirkt ausschließlich auf den Footer, beeinflusst die alte Seite nicht.
   Identisch zu den fp-footer-Regeln in calc-v2.css (eine Optik überall).
   ===================================================================== */
@font-face{font-family:'Geist';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/geist-400.woff2') format('woff2')}
@font-face{font-family:'Geist';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/geist-600.woff2') format('woff2')}
@font-face{font-family:'Geist';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/geist-700.woff2') format('woff2')}

.fp-footer{
  --fp-container:1180px; --sp-8:32px; --sp-20:80px; --sp-12:48px; --sp-6:24px; --sp-5:20px; --sp-4:16px; --sp-3:12px;
  --fp-line-soft:rgba(17,32,29,.07); --fp-line-hair:rgba(17,32,29,.06); --fp-ink:#11201d; --fp-faint:#7c8884;
  --fp-muted:#6b7975; --fp-disabled:#a4adaa; --fp-teal:#00afa3; --fp-teal-deep:#016a62; --fw-bold:700; --fw-semibold:600;
  --ls-snug:-.02em; --ls-wide:.04em; --fs-meta:.8125rem; --fs-small:.875rem; --lh-normal:1.5;
  font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  margin-top:var(--sp-20); border-top:1px solid var(--fp-line-soft); background:#fff;
}
.fp-footer *, .fp-footer *::before, .fp-footer *::after { box-sizing:border-box; }
.fp-footer img { max-width:100%; display:block; }
.fp-footer p, .fp-footer h1, .fp-footer h2, .fp-footer h3, .fp-footer h4, .fp-footer ul, .fp-footer ol { margin:0; }
.fp-footer .fp-container { max-width:var(--fp-container); margin:0 auto; padding:0 var(--sp-8); }
.fp-footer .fp-logo { font-weight:var(--fw-bold); font-size:19px; letter-spacing:var(--ls-snug); color:var(--fp-ink); text-decoration:none; }
.fp-footer .fp-logo__plus { color:var(--fp-teal); }
.fp-footer__grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:var(--sp-8); padding-top:var(--sp-12); }
.fp-footer__about { font-size:var(--fs-meta); line-height:var(--lh-normal); color:var(--fp-faint); margin-top:var(--sp-3); max-width:240px; }
.fp-footer__h { font-size:var(--fs-meta); font-weight:var(--fw-semibold); color:var(--fp-ink); margin-bottom:var(--sp-3); }
.fp-footer__link { display:block; font-size:var(--fs-small); color:var(--fp-muted); padding:5px 0; text-decoration:none; }
.fp-footer__link:hover { color:var(--fp-teal-deep); }
.fp-footer__legal { font-size:var(--fs-meta); color:var(--fp-disabled); margin-top:var(--sp-8); padding:var(--sp-5) 0 var(--sp-12); border-top:1px solid var(--fp-line-hair); }
.fp-footer__brand { display:inline-block; }

/* Dunkle Variante (Standard) */
.fp-footer--dark { background:var(--fp-ink); border-top:0; }
.fp-footer--dark .fp-logo { color:#fff; }
.fp-footer--dark .fp-footer__about { color:rgba(255,255,255,.5); }
.fp-footer--dark .fp-footer__h { color:#fff; text-transform:uppercase; letter-spacing:var(--ls-wide); }
.fp-footer--dark .fp-footer__link { color:rgba(255,255,255,.62); }
.fp-footer--dark .fp-footer__link:hover { color:#fff; }
.fp-footer--dark .fp-footer__legal { color:rgba(255,255,255,.4); border-top-color:rgba(255,255,255,.14); display:flex; justify-content:space-between; gap:var(--sp-4); flex-wrap:wrap; }
.fp-footer--dark .fp-footer__brand img { filter:brightness(0) invert(1); }

@media (max-width:768px){ .fp-footer .fp-container { padding:0 20px; } .fp-footer__grid { grid-template-columns:1fr 1fr; gap:var(--sp-6); row-gap:var(--sp-8); } }
@media (max-width:600px){ .fp-footer__grid { grid-template-columns:1fr; } }
