/*! Elementor Header/Footer Support Styles */

/* Body Classes für Elementor Header/Footer */

/* Wenn Elementor Header aktiv ist */
.elementor-header-active .site-header {
    display: none; /* Standard Header ausblenden */
}

/* Wenn Elementor Footer aktiv ist */
.elementor-footer-active .site-footer {
    display: none; /* Standard Footer ausblenden */
}

/* Elementor Header/Footer Bereiche */
.elementor-location-header {
    position: relative;
    z-index: 999;
}

.elementor-location-footer {
    position: relative;
    z-index: 1;
}

/* Sticky Header Support für Elementor */
.elementor-sticky--active {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
}

/* Sicherstellen dass Elementor Header/Footer die volle Breite haben */
.elementor-location-header .elementor-container,
.elementor-location-footer .elementor-container {
    max-width: 100%;
}

/* Navigation Items in Elementor Header */
.elementor-location-header .elementor-nav-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.elementor-location-header .elementor-nav-menu li {
    display: inline-block;
}

.elementor-location-header .elementor-nav-menu a {
    text-decoration: none;
    padding: 10px 15px;
    display: block;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* Mobile Navigation in Elementor Header */
@media (max-width: 768px) {
    .elementor-location-header .elementor-nav-menu {
        width: 100%;
    }
    
    .elementor-location-header .elementor-nav-menu li {
        display: block;
        width: 100%;
    }
}

/* Footer Links in Elementor Footer */
.elementor-location-footer a {
    color: inherit;
    text-decoration: none;
}

.elementor-location-footer a:hover {
    text-decoration: underline;
}

/* Responsive Anpassungen für Elementor Header */
@media (max-width: 1024px) {
    .elementor-location-header {
        padding: 0;
    }
}

/* Sicherstellen dass der Content nicht unter einem sticky Header verschwindet */
.elementor-sticky--active + main,
.elementor-sticky--active + #primary {
    margin-top: 80px; /* Anpassen je nach Header-Höhe */
}

/* Container-Override für Full-Width Header/Footer */
.elementor-location-header .elementor-section,
.elementor-location-footer .elementor-section {
    width: 100%;
    margin: 0;
}

/* Logo und Navigation Flex-Layout Support */
.elementor-location-header .elementor-widget-image img {
    max-height: 60px; /* Standard Logo-Größe */
    width: auto;
}

/* Elementor Breadcrumbs unter Header */
.elementor-header-active ~ .breadcrumbs {
    margin-top: 20px;
}

/* === FOOTER STYLES === */

/* Footer Container mit dunkelblauem Hintergrund */
.site-footer {
    background-color: #022062;
    color: white;
    text-align: center;
    padding: 40px 0;
    margin-top: auto; /* Footer an den unteren Rand */
}

/* Footer Container Breite beschränken */
.site-footer .footer-container {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Footer Content Container */
.site-footer .footer-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    margin: 0 auto;
}

/* Footer Logo Styles */
.site-footer .footer-logo {
    margin-bottom: 0;
}

.site-footer .footer-logo-img {
    max-width: none;
    width: auto;
    height: auto;
    display: block;
    flex-shrink: 0;
}

/* Footer Navigation Styles */
.site-footer .footer-navigation {
    text-align: center;
}

.site-footer .footer-nav-items {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 3.125rem; /* 50px Abstand zwischen Navigationspunkten */
}

.site-footer .footer-nav-items li {
    margin: 0;
}

.site-footer .footer-nav-items a {
    color: white;
    text-decoration: none;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 1.5625rem; /* 25px */
    font-weight: 400;
    transition: opacity 0.3s ease;
    display: block;
}

.site-footer .footer-nav-items a:hover {
    opacity: 0.8;
    text-decoration: underline;
}

/* Footer Copyright Styles */
.site-footer .footer-copyright {
    text-align: center;
    margin-top: 0;
}

.site-footer .footer-copyright p {
    color: white;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 1.25rem; /* 20px */
    font-weight: 400;
    margin: 0;
    line-height: 1.4;
}

/* Responsive Anpassungen für Footer */
@media (max-width: 768px) {
    .site-footer {
        padding: 30px 0;
    }
    
    .site-footer .footer-content {
        gap: 1.25rem; /* 20px */
    }
    
    .site-footer .footer-logo-img {
        max-width: 9.375rem; /* 150px - Logo etwas kleiner auf Mobile */
    }
    
    .site-footer .footer-nav-items a {
        font-size: 1.25rem; /* 20px - etwas kleiner auf Mobile */
    }
    
    .site-footer .footer-nav-items {
        gap: 1.875rem; /* 30px - kleinerer Abstand auf Mobile */
    }
    
    .site-footer .footer-copyright p {
        font-size: 1rem; /* 16px - kleiner auf Mobile */
    }
}