/* ============================================================================
   FOOTER - KBK werkenbij (nieuw ontwerp)
   ============================================================================ */
.site-footer {
    background-color: #1A3360;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    color: rgba(255, 255, 255, 0.6);
    padding: 48px 0 40px;
    position: relative;
    overflow: hidden;
}
.site-footer .inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 40px;
}
/* Logo + "Naar kbkbouwgroep.nl" op één rij: logo gecentreerd, knop rechts (scheelt hoogte).
   Grid i.p.v. absolute positioning, want theme-mobile.css forceert `footer#contact * {position:relative}`
   (ID-specificiteit) waardoor een absolute knop terugvalt in de flow. */
.site-footer .footer-top {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 24px;
}
.site-footer .footer-logo {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}
.site-footer .footer-logo img {
    width: 247.265px;
    height: 84px;
    display: block;
}
/* Button terug naar de corporate site — rechts op de logo-rij */
.site-footer .footer-backsite {
    grid-column: 3;
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: 'Zurich BT', sans-serif;
    font-size: 14px;
    line-height: 1;
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    padding: 13px 22px;
    border: 1px solid rgba(255, 255, 255, 0.6);
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.site-footer .footer-backsite:hover {
    background-color: rgba(255, 255, 255, 0.1);
    border-color: #ffffff;
    color: #ffffff;
}
.site-footer .footer-backsite__arrow {
    display: inline-flex;
}
.site-footer .footer-backsite__arrow svg {
    width: 18px;
    height: 18px;
    display: block;
}
.site-footer .footer-bottom {
    display: flex;
    flex-direction: column;
    gap: 48px;
}
.site-footer .footer-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}
.site-footer .footer-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
}
.site-footer .footer-links,
.site-footer .footer-links a,
.site-footer .footer-desc {
    font-family: 'Zurich BT', sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.6);
}
.site-footer .footer-links a { text-decoration: none; transition: color .2s ease; }
.site-footer .footer-links a:hover { color: #ffffff; }
.site-footer .footer-socials {
    display: flex;
    align-items: center;
    gap: 24px;
}
.site-footer .footer-social {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.6);
    color: rgba(255, 255, 255, 0.85);
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.site-footer .footer-social:hover {
    background-color: rgba(255, 255, 255, 0.1);
    border-color: #ffffff;
    color: #ffffff;
}
.site-footer .footer-social svg {
    width: 24px;
    height: 24px;
    display: block;
    fill: currentColor;
}
.site-footer .footer-desc { margin: 0; }

@media (max-width: 991px) {
    .site-footer .footer-bar { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 767px) {
    .site-footer { padding: 48px 0; }
    .site-footer .inner { gap: 40px; }
    .site-footer .footer-top { grid-template-columns: 1fr; justify-items: center; gap: 24px; }
    .site-footer .footer-logo { grid-column: 1; }
    .site-footer .footer-backsite { grid-column: 1; justify-self: center; }
    .site-footer .footer-bottom { gap: 32px; }
    .site-footer .footer-bar { flex-direction: column; align-items: center; gap: 32px; }
    .site-footer .footer-links { flex-direction: column; align-items: center; text-align: center; gap: 16px; }
    .site-footer .footer-socials { justify-content: center; flex-wrap: wrap; gap: 24px; }
    .site-footer .footer-desc { text-align: left; }
}
