/* Footer der Anfrageseiten: dieselben Regeln wie der Abschnitt Footer der Hauptseite (nav.css), Zeile für Zeile unverändert. */
:root { --nv-tinte: #213a55; --nv-blau: #4a6d99; --nv-blass: #a9c0d8; --nv-sand: #efe9df; }
.nv-footer { background: var(--nv-tinte); color: #ffffff; padding: 32px max(24px, env(safe-area-inset-left)) max(20px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left)); position: relative; z-index: 26; }
@media (min-width: 768px) { .nv-footer { padding-left: 40px; padding-right: 40px; } }
@media (min-width: 1024px) { .nv-footer { padding-left: 64px; padding-right: 64px; } }
.nv-footer-innen { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 32px; row-gap: 12px; align-items: center; }
.nv-footer-innen > .nv-footer-raster, .nv-footer-innen > .nv-footer-unten { grid-column: 1 / -1; }
.nv-footer-innen > .nv-footer-raster { margin-top: 32px; }
@media (max-width: 767px) { .nv-footer-innen { grid-template-columns: minmax(0, 1fr); row-gap: 4px; } .nv-footer-innen > .nv-footer-raster { margin-top: 28px; } }
.nv-footer-logo { display: inline-flex; align-items: center; min-height: 44px; line-height: 0; justify-self: start; }
.nv-footer-logo img { height: 32px; width: auto; max-width: none; flex: none; }
.nv-footer-satz { margin: 0; max-width: 560px; font-size: 16px; font-weight: 300; line-height: 1.35; color: #ffffff; }
.nv-footer-raster { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 767px) { .nv-footer-raster { grid-template-columns: minmax(0, 1fr); gap: 12px; } }
.nv-footer-spalte { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
.nv-footer-titel { margin: 0 0 2px; font-size: 13px; font-weight: 900; line-height: 1.3; letter-spacing: 0.12em; text-transform: uppercase; color: var(--nv-blass); }
@media (max-width: 767px) { .nv-footer-spalte { flex-direction: row; flex-wrap: wrap; column-gap: 20px; } .nv-footer-titel { flex: 0 0 100%; } }
.nv-footer a.nv-f-link { display: inline-flex; align-items: center; min-height: 44px; color: #ffffff; font-size: 16px; font-weight: 300; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--nv-blass); }
@media (hover: hover) { .nv-footer a.nv-f-link:hover { color: var(--nv-blass); } }
.nv-footer a.nv-f-knopf { display: inline-flex; align-items: center; min-height: 44px; margin: 2px 0; padding: 0 16px; border: 1px solid #ffffff; border-radius: 8px; color: #ffffff; font-size: 16px; font-weight: 300; text-decoration: none; }
@media (hover: hover) { .nv-footer a.nv-f-knopf:hover { background: #ffffff; color: var(--nv-tinte); } }
.nv-footer-zeile { margin: 0; font-size: 16px; font-weight: 300; line-height: 1.35; color: #ffffff; }
@media (max-width: 767px) { .nv-footer-zeile { flex: 0 0 100%; } }
.nv-footer-unten { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding-top: 12px; border-top: 1px solid var(--nv-blass); }
.nv-footer-klein { margin: 0; max-width: 640px; font-size: 14px; font-weight: 300; line-height: 1.45; color: var(--nv-blass); }
.nv-oben { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; min-width: 44px; padding: 0 20px; border: 1px solid #ffffff; border-radius: 8px; background: transparent; color: #ffffff; font: inherit; font-size: 16px; font-weight: 300; cursor: pointer; touch-action: manipulation; transition: background-color 0.2s ease, color 0.2s ease; }
@media (hover: hover) { .nv-oben:hover { background: #ffffff; color: var(--nv-tinte); } }
.nv-footer a.nv-f-knopf:active, .nv-oben:active { background: #ffffff; color: var(--nv-tinte); }
@media (prefers-reduced-motion: reduce) {
  .rv { opacity: 1; transform: none; transition: none; }
  .nv-menue, .nv-grund, .nv-kopf, .nv-logo-box img, .nv-oben { transition: none; }
}
@media (max-width: 767px), (pointer: coarse) {
  .nv-footer-satz, .nv-footer-zeile, .nv-footer-klein, .bild-hinweis { line-height: 1.5; }
}
@media (max-width: 767px), (pointer: coarse) {
  /* Mobil: Footer-Textlinks Zeilenhoehe 1.5 (vorher 1.2) */
  .nv-footer a.nv-f-link { line-height: 1.5; }
}
.nv-footer :focus-visible { outline: 2px solid var(--nv-sand); outline-offset: 2px; }
