/* Beton German — gemeinsamer Footer für alle Seiten.
   Nutzt --navy, --navy-2 und --accent, die jede Seite in ihrem :root definiert.
   Weiß steht bewusst als #fff da, damit die Datei nicht von --white abhängt. */

.site-footer{background:var(--navy); color:#c7d1da; padding:72px 0 0; font-size:14.5px; line-height:1.6;}
.site-footer a{color:#c7d1da; text-decoration:none;}
.site-footer a:hover{color:var(--accent);}

.footer-grid{
  max-width:1180px; margin:0 auto; padding:0 48px 56px;
  display:grid; grid-template-columns:1.4fr 1fr 1.3fr 1.2fr; gap:44px;
}
.site-footer h4{
  color:#fff; font-size:13px; font-weight:700; letter-spacing:1.6px;
  text-transform:uppercase; margin-bottom:20px;
}
.footer-brand img{height:56px; margin-bottom:18px;}
.footer-brand p{line-height:1.75; color:#9fadb9; max-width:290px;}
.site-footer ul{list-style:none; margin:0; padding:0;}
.site-footer li{margin-bottom:11px; line-height:1.65;}
.footer-data span.k{
  display:block; font-size:12px; letter-spacing:.6px;
  text-transform:uppercase; color:#7e8c99;
}

/* Spezifität bewusst mit .site-footer, sonst gewinnt die Regel `.site-footer a` oben */
.site-footer a.footer-cta{
  display:inline-flex; align-items:center; gap:9px;
  background:var(--accent); color:var(--navy); font-weight:700; font-size:14px;
  padding:12px 20px; border-radius:4px; margin-bottom:22px;
}
.site-footer a.footer-cta:hover{filter:brightness(1.08); color:var(--navy);}
.site-footer a.footer-phone{display:block; font-size:19px; font-weight:700; color:#fff; margin-bottom:4px;}
.site-footer a.footer-phone:hover{color:var(--accent);}
.site-footer a.footer-mail{display:inline-block; margin-bottom:16px; word-break:break-all;}

.socials{display:flex; gap:10px; margin-top:6px;}
.socials a{
  display:flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:50%;
  background:rgba(255,255,255,.1); color:#c7d1da;
  transition:background .15s ease, color .15s ease;
}
.socials a:hover{background:var(--accent); color:var(--navy);}
.socials svg{width:18px; height:18px; fill:currentColor;}
/* Links noch nicht bekannt — bis dahin sichtbar deaktiviert (siehe data-todo) */
.socials a[aria-disabled="true"]{opacity:.32; cursor:not-allowed;}
.socials a[aria-disabled="true"]:hover{background:rgba(255,255,255,.1); color:#c7d1da;}
.socials-hint{font-size:12px; color:#7e8c99; margin-top:12px; line-height:1.5;}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);
  max-width:1180px; margin:0 auto; padding:22px 48px 26px;
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-size:13px; color:#7e8c99;
}

@media (max-width:900px){
  .footer-grid{grid-template-columns:1fr; gap:36px; padding:0 24px 44px;}
  .footer-bottom{padding:20px 24px 24px;}
}
