/* ==========================================================================
   Sektion: Footer als Kachelraster (Kontaktwege, Rechtliches, Logo)
   ========================================================================== */
#lp24-footer { padding: 8px; background: #fff; }
.ft-raster { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ft-kachel {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: clamp(170px, 14vw, 230px);
  padding: clamp(24px, 2.6vw, 40px) clamp(24px, 2.6vw, 40px) clamp(26px, 2.4vw, 36px);
  color: var(--ink);
  text-decoration: none;
  transition: filter .2s;
}
a.ft-kachel:hover { filter: brightness(1.07); }
.ft-label { font-size: .82em; letter-spacing: .1em; }
.ft-gross { font-size: clamp(1.4rem, 2.3vw, 2.2rem); font-weight: 800; letter-spacing: -.5px; line-height: 1.15; overflow-wrap: anywhere; }
.ft-text { font-size: 1.25em; line-height: 1.5; }
.ft-link { font-size: 1.25em; font-weight: 700; }
.ft-copy { margin-top: auto; }

.ft-titel { justify-content: center; }
#lp24-footer .ft-titel h2 { margin: 0; max-width: 7em; color: var(--ink); font-size: clamp(2rem, 3.4vw, 3.2rem); font-weight: 800; letter-spacing: -1px; line-height: 1.05; }

.ft-mittel { background: #5f9a6e; }
.ft-gruen { background: #377c3e; color: #fff; }
.ft-dunkel { background: #255f30; color: #fff; }
.ft-salbei { background: #9db894; }
.ft-hell { border: 1px solid var(--line); background: #fff; }
.ft-gruen:hover, .ft-dunkel:hover { color: #fff; }
.ft-mittel:hover, .ft-salbei:hover { color: var(--ink); }
.ft-rechtlich { display: flex; flex-wrap: wrap; gap: 8px 36px; font-size: 1.1em; }
.ft-rechtlich a { color: var(--ink); }
.ft-rechtlich a:hover { color: var(--green); text-decoration: underline; }
.ft-logo { align-items: center; justify-content: center; border: 1px solid var(--line); background: #fff; }
.ft-logo img { width: min(60%, 260px); height: auto; }

@media (max-width: 991px) {
  .ft-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ft-titel { grid-column: 1 / -1; min-height: 0; }
}
@media (max-width: 575px) {
  .ft-raster { grid-template-columns: 1fr; }
  .ft-kachel { min-height: 130px; }
}
