/* Netzgaenger Footer. Alles unter #ngf gescoped.
   Farben aus den Super-LPs (--o #2d7b6b), Unterleiste dunkler als --o-dk,
   Ueberschriften #ffd42f. Schrift wie Header: Source Sans 3 / Source Sans Pro
   (lokal 300/400/600). Raster 1200 px wie .wrap der LPs. */

#ngf{
  --bg:#1b4a40;       /* Footer-Hintergrund (15.09.) */
  --o-deep:#103930;   /* Unterleiste */
  --gelb:#ffd42f;
  --txt2:rgba(255,255,255,.82);
  --hair:rgba(255,255,255,.22);
  font-family:'Source Sans 3','Source Sans Pro',Helvetica,sans-serif;
  font-size:16px;line-height:1.5;font-weight:400;color:#fff;
  background:var(--bg);text-align:left;text-transform:none;letter-spacing:normal;
  clear:both;margin:0;padding:0;
}
#ngf *{box-sizing:border-box}
#ngf a{color:#fff;text-decoration:none}
#ngf a:hover,#ngf a:focus{text-decoration:none}
#ngf p,#ngf ul,#ngf li{margin:0;padding:0;list-style:none;background:none}
#ngf svg{display:block;flex:0 0 auto}
#ngf .ft-wrap{max-width:1200px;margin:0 auto;padding:0 20px}

/* --- Hauptbereich --- */
#ngf .ft-main{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr;gap:40px;padding:56px 0 44px}
#ngf .ft-kick{font-size:12.5px;line-height:1.3;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gelb);margin:0 0 16px}
#ngf .ft-kick.ft-sep{margin-top:26px}

#ngf .ft-kon li+li{margin-top:12px}
#ngf .ft-kon a,#ngf .ft-kon .ft-adr{display:flex;align-items:flex-start;gap:12px;color:#fff;font-size:16.5px;line-height:1.4}
#ngf .ft-kon a:hover > span:last-child{color:var(--gelb);text-decoration:none}
#ngf .ft-kon .ft-ic{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.14);display:grid;place-items:center;margin-top:-6px;flex:0 0 34px}
#ngf .ft-kon .ft-ic svg{width:16px;height:16px;color:#fff}
#ngf .ft-kon small{display:block;font-size:13.5px;line-height:1.4;color:var(--txt2);margin-top:1px}

#ngf .ft-col li+li{margin-top:3px}
#ngf .ft-col a{display:inline-block;padding:4px 0;font-size:16.5px;line-height:1.35}
#ngf .ft-col a:hover,#ngf .ft-col a:hover span{color:var(--gelb);text-decoration:none}

/* --- Region --- */
#ngf .ft-region{border-top:0;padding:4px 0 22px;font-size:15.5px;line-height:1.55;color:#fff}

/* --- Unterleiste --- */
#ngf .ft-bottom{background:var(--o-deep)}
#ngf .ft-bottom .ft-wrap{display:flex;align-items:center;gap:18px 26px;flex-wrap:wrap;min-height:62px;padding-top:12px;padding-bottom:12px}
#ngf .ft-copy{font-size:14px;color:#fff}
#ngf .ft-legal{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px;margin-left:auto}
#ngf .ft-legal a,
#ngf .ft-legal button.ft-consent{font-family:inherit;font-size:14px;line-height:1.4;font-weight:400;color:#fff;
  background:none;border:0;border-radius:0;box-shadow:none;padding:4px 0;margin:0;cursor:pointer;
  position:static;width:auto;height:auto;min-height:0;text-transform:none;letter-spacing:normal;display:inline-block}
#ngf .ft-legal a:hover,#ngf .ft-legal button.ft-consent:hover{color:var(--gelb);text-decoration:none;background:none}
#ngf .ft-top{width:40px;height:40px;border-radius:50%;border:1px solid var(--hair);background:none;color:#fff;
  display:grid;place-items:center;cursor:pointer;padding:0;transition:background .18s}
#ngf .ft-top:hover{background:rgba(255,255,255,.14)}
#ngf .ft-top svg{width:16px;height:16px}

#ngf a:focus-visible,#ngf button:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:4px}

/* Theme: .footer-Wrapper in page.php soll keinen Abstand erzeugen */
body.ngf-on .footer{margin:0;padding:0}

@media (max-width:1024px){
  #ngf .ft-main{grid-template-columns:1fr 1fr;gap:36px 30px;padding-top:46px}
}
@media (max-width:640px){
  #ngf .ft-wrap{padding:0 16px}
  #ngf .ft-main{grid-template-columns:1fr 1fr;gap:30px 18px;padding:40px 0 32px}
  #ngf .ft-kontakt,#ngf .ft-col-ueber{grid-column:1/-1}
  #ngf .ft-col a{font-size:16px;padding:6px 0}
  #ngf .ft-col-ueber ul{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
  #ngf .ft-col-ueber li+li{margin-top:0}
  #ngf .ft-bottom .ft-wrap{flex-direction:column;align-items:flex-start;gap:8px;padding-top:16px;padding-bottom:18px;position:relative}
  #ngf .ft-copy{padding-right:56px}
  #ngf .ft-legal{margin-left:0;gap:2px 16px}
  #ngf .ft-top{position:absolute;right:16px;top:14px}
}
