/* =========================================================
   ZENTRALER HEADER / FOOTER
   Diese Datei wird auf allen Seiten zuletzt geladen.
   ========================================================= */

.site-header{
    position:sticky !important;
    top:0;
    z-index:1000;
    background:#ffffff !important;
    border-bottom:4px solid #c79a4b !important;
    box-shadow:0 8px 24px rgba(16,47,76,.12) !important;
}

.site-header .container{
    width:min(1380px,calc(100% - 60px)) !important;
    margin:auto !important;
}

.site-header-inner{
    min-height:108px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
}

.site-logo{
    display:flex !important;
    align-items:center !important;
    flex-shrink:0 !important;
}

.site-logo-image{
    display:block !important;
    width:360px !important;
    max-width:100% !important;
    height:auto !important;
}

.site-nav{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    color:#102f4c !important;
    font-size:13px !important;
    white-space:nowrap !important;
    flex-shrink:1 !important;
}

.site-nav a{
    position:relative !important;
    text-decoration:none !important;
    color:#102f4c !important;
    white-space:nowrap !important;
}

.site-nav a:after{
    content:"";
    position:absolute;
    left:0;
    bottom:-6px;
    width:0;
    height:1px;
    background:#c79a4b;
    transition:.2s;
}

.site-nav a:hover:after{
    width:100%;
}

.site-header-check{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:46px !important;
    padding:0 20px !important;
    border-radius:999px !important;
    background:linear-gradient(#efd38e,#d4a84f) !important;
    color:#102f4c !important;
    box-shadow:0 10px 26px rgba(199,154,75,.25) !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    flex:0 0 auto !important;
}
.site-header-check:hover{
    transform:translateY(-2px);
}

.site-mobile-nav{
    display:none;
    position:relative;
    margin-left:auto;
}

.site-mobile-nav summary{
    list-style:none;
    cursor:pointer;
    color:#102f4c;
    font-size:32px;
    line-height:1;
    padding:8px;
}

.site-mobile-nav summary::-webkit-details-marker{
    display:none;
}

.site-mobile-nav .menu-close{
    display:none;
}

.site-mobile-nav[open] .menu-open{
    display:none;
}

.site-mobile-nav[open] .menu-close{
    display:inline;
}

.site-mobile-nav-content{
    position:absolute;
    top:52px;
    right:0;
    width:300px;
    background:#fff;
    border-bottom:4px solid #c79a4b;
    border-radius:0 0 10px 10px;
    box-shadow:0 12px 30px rgba(16,47,76,.16);
    padding:8px 18px 20px;
    z-index:2000;
}

.site-mobile-nav-content a{
    display:block;
    padding:13px 6px;
    color:#102f4c !important;
    font-size:14px;
    font-weight:600;
    text-decoration:none !important;
    border-bottom:1px solid #e2e9ed;
}

.site-mobile-check{
    margin-top:14px;
    padding:13px 18px !important;
    text-align:center;
    border:0 !important;
    border-radius:999px;
    background:linear-gradient(#efd38e,#d4a84f);
    color:#102f4c !important;
    font-weight:700;
    white-space:nowrap;
}


/* FOOTER */

.site-footer{
    padding:45px 0 !important;
    background:#eaf3f7 !important;
    border-top:1px solid #d3e1e7 !important;
}

.site-footer .container{
    width:min(1380px,calc(100% - 60px)) !important;
    margin:auto !important;
}

.site-footer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1.3fr;
    gap: 30px;
    align-items: start;
}
.site-footer-logo{
    display:block;
    width:310px;
    max-width:100%;
    height:auto;
    margin-bottom:12px;
}

.site-footer h4{
    color:#102f4c !important;
    text-transform:uppercase;
    font-size:10px !important;
    letter-spacing:1px;
    margin-bottom:12px;
}

.site-footer a,
.site-footer p{
    display:block;
    color:#69808e !important;
    font-size:12px !important;
    margin-bottom:6px;
    text-decoration:none !important;
}

.site-footer a:hover{
    color:#102f4c !important;
}

.site-legal-footer{
    margin-top:30px !important;
    padding-top:22px !important;
    border-top:1px solid #cfdee5 !important;
}

.site-legal-footer p{
    max-width:1100px;
    margin:0 !important;
    color:#718692 !important;
    font-size:11px !important;
    line-height:1.65;
}

.site-legal-footer strong{
    color:#102f4c !important;
}


/* TABLET / KLEINER DESKTOP */

@media(max-width:1280px){

    .site-nav,
    .site-header-check{
        display:none !important;
    }

    .site-mobile-nav{
        display:block !important;
    }

    .site-logo-image{
        width:470px !important;
    }

    .site-footer-grid{
        grid-template-columns:1fr 1fr !important;
    }
}


/* HANDY */

@media(max-width:680px){

    .site-header{
        position:relative !important;
    }

    .site-header .container,
    .site-footer .container{
        width:calc(100% - 36px) !important;
    }

    .site-header-inner{
        min-height:90px !important;
        gap:12px !important;
    }

    .site-logo{
        width:auto !important;
        flex:1 !important;
        min-width:0 !important;
    }

    .site-logo-image{
        width:100% !important;
        max-width:420px !important;
        height:auto !important;
    }

    .site-mobile-nav{
        flex-shrink:0 !important;
    }

    .site-footer-grid{
        grid-template-columns:1fr !important;
        gap:28px !important;
    }

    .site-footer-logo{
        width:280px !important;
    }
}