/* src/css/footer.css */

.engine-footer {
    width: 100%;
    display: flex; flex-direction: column; align-items: center; 
    align-self: stretch; /* Garantiert, dass der blaue Boden 100% einnimmt */
}

/* =========================================
   Der weiße Footer-Blob (Standorte)
   ========================================= */
.footer-blob {
    padding: 60px 8%; 
    display: grid; grid-template-columns: 1fr 1fr; gap: 40px;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    
    /* 🔴 Die epische Lücke zum blauen Boden, damit das Hintergrundbild episch durchscheint! */
    margin-bottom: 80px !important; 
}

.footer-blob:hover { transform: translateY(-4px); box-shadow: 0 30px 60px rgba(0,0,0,0.15); }

.footer-hq-nord {
    background: color-mix(in srgb, var(--color-brand-primary) 5%, transparent);
    padding: 30px; border-radius: 20px;
    border: 1px solid color-mix(in srgb, var(--color-brand-primary) 10%, transparent);
    border-left: 3px solid var(--color-brand-primary); transition: 0.3s ease;
}
.footer-hq-nord:hover { transform: translateY(-3px); box-shadow: var(--shadow-soft); }

.footer-hq-nord h4, .footer-hq-west h4 { color: var(--color-text-main); font-size: 1.15rem; margin: 0 0 15px 0; font-weight: 800; }
.footer-contact { display: flex; flex-direction: column; gap: 10px; font-size: 0.95rem; color: var(--color-text-muted); }

.footer-link { color: var(--color-brand-primary); font-weight: 600; text-decoration: none; transition: 0.3s; cursor: pointer; display: inline-block; padding-left: 0; }
.footer-link:hover { color: var(--color-brand-hover); padding-left: 5px; }

.radar-node { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.radar-core { width: 10px; height: 10px; background-color: var(--color-brand-primary); border-radius: 50%; position: relative; }
.radar-core::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 10px; height: 10px; border: 1px solid var(--color-brand-primary); border-radius: 50%; animation: radarPulse 2s infinite; }
@keyframes radarPulse { 0% { width: 10px; height: 10px; opacity: 1; } 100% { width: 40px; height: 40px; opacity: 0; } }

/* =========================================
   Der dunkle Bottom-Bar (Volle Breite)
   ========================================= */
.footer-bottom-bar {
    width: 100%;
    background-color: var(--color-bg-base); /* TSC Nachtblau */
    padding: 80px 10% 40px 10%; box-sizing: border-box;
    display: flex; flex-direction: column; align-items: center;
    border-top: 1px solid rgba(255,255,255,0.05);
}

.footer-bottom-content {
    display: flex; justify-content: space-between; align-items: flex-start;
    width: 100%; max-width: 1200px; flex-wrap: wrap; gap: 40px;
}

.footer-logo-wrapper { display: flex; flex-direction: column; gap: 15px; }
.footer-bottom-logo { max-width: 250px; filter: brightness(0) invert(1); opacity: 0.9; transition: 0.3s; }
.footer-bottom-logo:hover { opacity: 1; transform: scale(1.03); }
.brand-slogan { color: var(--color-brand-primary); margin: 0; font-weight: 800; letter-spacing: 1px; font-size: 1rem; line-height: 1.5; }

.footer-legal-links { display: flex; gap: 30px; font-size: 0.95rem; font-weight: 500; }
.footer-link-inverse { color: var(--color-text-inverse); cursor: pointer; transition: 0.3s; opacity: 0.8; font-weight: 600; }
.footer-link-inverse:hover { color: var(--color-brand-primary); opacity: 1; }

.footer-copyright {
    margin-top: 50px; text-align: center; font-size: 0.85rem; color: color-mix(in srgb, var(--color-text-inverse) 40%, transparent);
    width: 100%; border-top: 1px solid rgba(255,255,255,0.1); padding-top: 20px;
}

@media (max-width: 900px) {
    .footer-blob { grid-template-columns: 1fr; }
    .footer-bottom-content { flex-direction: column; align-items: center; text-align: center; }
}