/* Einheitlicher Footer (Startseite + Produktseiten): gleiche Schrift, Höhe und Abstände. */
footer .ft-top { align-items: start; }
footer .ft-col h2, footer .ft-col h5 { margin: 0 0 18px; }
footer .ft-col a, footer .ft-col button { margin: 0; min-height: 32px; display: flex; align-items: center; line-height: 1.4; }

footer .ft-bot { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 16px 48px; padding-top: 24px; }
footer .ft-bot .ft-copy { margin: 0; font: 400 10px/1.6 "DM Mono", monospace; letter-spacing: .02em; white-space: nowrap; }
footer .ft-bot .ft-leg { width: auto; min-width: 0; margin: 0; display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 8px 24px; }
footer .ft-bot .ft-leg a,
footer .ft-bot .ft-leg .njume-privacy-settings { margin: 0; padding: 0; border: 0; background: none; display: inline-flex; align-items: center; min-height: 24px; font: 400 10px/1.6 "DM Mono", monospace; letter-spacing: .02em; color: #6f6f6f; text-decoration: none; white-space: nowrap; cursor: pointer; }
footer .ft-bot .ft-leg a:hover,
footer .ft-bot .ft-leg .njume-privacy-settings:hover { color: #111; }

/* Tablet: Marke über volle Breite, darunter drei gleich breite Spalten; Rechtslinks als Raster. */
@media (max-width: 1100px) and (min-width: 641px) {
  footer .ft-top { grid-template-columns: repeat(3, 1fr); gap: 40px 32px; }
  footer .ft-top > :first-child { grid-column: 1 / -1; }
}
@media (max-width: 1600px) {
  footer .ft-bot { grid-template-columns: 1fr; }
  footer .ft-bot .ft-leg { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); justify-content: start; gap: 4px 24px; }
}
/* Mobil: zwei gleich breite Spalten, gleiche Zeilenhöhe wie die Spaltenlinks. */
@media (max-width: 640px) {
  footer .ft-top { grid-template-columns: 1fr; gap: 36px; }
  footer .ft-col a, footer .ft-col button { min-height: 40px; }
  footer .ft-bot .ft-leg { grid-template-columns: 1fr 1fr; gap: 0 16px; }
  footer .ft-bot .ft-leg a,
  footer .ft-bot .ft-leg .njume-privacy-settings { min-height: 40px; white-space: normal; overflow-wrap: anywhere; text-align: left; }
}
