

:root{
    --widder-header-bg:#141823 !important;
    --widder-header-text:#F2F3F5 !important;
    --widder-header-border:rgba(255,255,255,0.08) !important;
    --widder-header-accent:#d82c12 !important;
    --widder-header-accent-hot:#ff4a2a !important;
    --widder-header-height:92px !important;
}


.widder-header,
.widder-header *,
.widder-header *::before,
.widder-header *::after{
    box-sizing:border-box !important;
}

html.widder-nav-open,
body.widder-nav-open{
    overflow:hidden !important;
}


.widder-header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:auto !important;

    width:100% !important;
    max-width:none !important;

    margin:0 !important;
    padding:0 !important;

    z-index:9999 !important;

    background:
        linear-gradient(
            to bottom,
            rgba(20,24,35,0.88) 0%,
            rgba(20,24,35,0.68) 42%,
            rgba(20,24,35,0.00) 100%
        ) !important;

    border:0 !important;
    border-bottom:1px solid transparent !important;

    box-shadow:none !important;

    transition:
        background .35s ease,
        box-shadow .35s ease,
        border-color .35s ease,
        backdrop-filter .35s ease,
        -webkit-backdrop-filter .35s ease !important;
}


/* HEADER NACH SCROLL */

.widder-header.is-scrolled{
    background:rgba(20,24,35,0.94) !important;

    backdrop-filter:blur(12px) !important;
    -webkit-backdrop-filter:blur(12px) !important;

    border-bottom:1px solid rgba(255,255,255,0.06) !important;

    box-shadow:0 10px 26px rgba(0,0,0,0.18) !important;
}


/* HEADER BEI OFFENEM MOBILE MENÜ */

.widder-header.is-menu-open{
    background:#141823 !important;
    background-color:#141823 !important;
    background-image:none !important;

    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;

    border-bottom:1px solid rgba(255,255,255,0.06) !important;

    box-shadow:0 10px 26px rgba(0,0,0,0.18) !important;
}


/* =========================================
   INNER CONTAINER
========================================= */

.widder-header__inner{
    width:100% !important;
    max-width:1380px !important;

    min-height:var(--widder-header-height) !important;

    margin:0 auto !important;
    padding:14px 28px !important;

    display:grid !important;

    grid-template-columns:minmax(150px,230px) 1fr !important;

    align-items:center !important;

    gap:28px !important;
}


/* =========================================
   BRAND / LOGO
========================================= */

.widder-header__brand{
    display:flex !important;

    align-items:center !important;
    justify-content:flex-start !important;

    min-width:0 !important;

    margin:0 !important;
    padding:0 !important;

    text-decoration:none !important;
}


.widder-header__logo{
    display:block !important;

    width:100% !important;
    max-width:190px !important;

    height:auto !important;
    max-height:156px !important;

    margin:0 !important;
    padding:0 !important;

    object-fit:contain !important;
    object-position:left center !important;

    border:0 !important;
    box-shadow:none !important;
}


/* =========================================
   PANEL
========================================= */

.widder-header__panel{
    min-width:0 !important;

    display:flex !important;

    align-items:center !important;
    justify-content:flex-end !important;

    gap:18px !important;

    margin:0 !important;
    padding:0 !important;
}


/* =========================================
   NAVIGATION
========================================= */

.widder-header__nav{
    min-width:0 !important;

    display:flex !important;

    align-items:center !important;
    justify-content:center !important;

    gap:30px !important;

    flex-direction:row !important;
    flex-wrap:nowrap !important;

    margin:0 !important;
    padding:0 !important;
}


/* =========================================
   NAVIGATION LINKS
========================================= */

.widder-header__link{
    position:relative !important;

    display:inline-flex !important;

    align-items:center !important;
    justify-content:center !important;

    min-height:42px !important;

    margin:0 !important;
    padding:0 !important;

    color:var(--widder-header-text) !important;

    text-decoration:none !important;

    font-family:"Montserrat",sans-serif !important;
    font-size:16px !important;
    font-weight:700 !important;

    line-height:1 !important;

    letter-spacing:-0.01em !important;

    opacity:.92 !important;

    white-space:nowrap !important;

    background:none !important;
    border:0 !important;

    box-shadow:none !important;

    transition:
        color .22s ease,
        opacity .22s ease !important;
}


.widder-header__link:hover{
    color:#fff !important;

    opacity:1 !important;

    text-decoration:none !important;
}


/* UNDERLINE */

.widder-header__link::after{
    content:"" !important;

    position:absolute !important;

    left:0 !important;
    bottom:-7px !important;

    width:100% !important;
    height:2px !important;

    border-radius:999px !important;

    background:
        linear-gradient(
            to right,
            var(--widder-header-accent),
            var(--widder-header-accent-hot)
        ) !important;

    transform:scaleX(0) !important;

    transform-origin:center !important;

    opacity:0 !important;

    box-shadow:
        0 0 12px rgba(216,44,18,0.34) !important;

    transition:
        transform .24s ease,
        opacity .24s ease !important;
}


.widder-header__link:hover::after{
    transform:scaleX(1) !important;

    opacity:1 !important;
}


/* =========================================
   ACTIONS
========================================= */

.widder-header__actions{
    display:flex !important;

    align-items:center !important;
    justify-content:flex-end !important;

    flex-direction:row !important;
    flex-shrink:0 !important;

    gap:12px !important;

    margin:0 !important;
    padding:0 !important;
}


/* =========================================
   CTA
========================================= */

.widder-header__cta{
    display:inline-flex !important;

    align-items:stretch !important;

    margin:0 !important;
    padding:0 !important;

    text-decoration:none !important;

    border:0 !important;
    border-radius:10px !important;

    overflow:hidden !important;

    background:none !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.08),
        0 0 14px rgba(216,44,18,0.12) !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease !important;
}


.widder-header__cta:hover{
    transform:translateY(-1px) !important;

    text-decoration:none !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.08),
        0 0 18px rgba(216,44,18,0.18) !important;
}


/* CTA LINKER TEIL */

.widder-header__cta-label{
    display:flex !important;

    align-items:center !important;

    max-width:165px !important;

    margin:0 !important;
    padding:12px 14px !important;

    background:
        linear-gradient(
            135deg,
            var(--widder-header-accent),
            #b9200a
        ) !important;

    color:#fff !important;

    font-family:"Montserrat",sans-serif !important;
    font-size:14px !important;
    font-weight:800 !important;

    line-height:1.08 !important;

    letter-spacing:-0.01em !important;

    text-decoration:none !important;
}


/* CTA TELEFON */

.widder-header__cta-phone{
    display:flex !important;

    align-items:center !important;

    margin:0 !important;
    padding:12px 16px !important;

    background:#fff !important;

    color:var(--widder-header-accent) !important;

    font-family:"Montserrat",sans-serif !important;
    font-size:15px !important;
    font-weight:800 !important;

    line-height:1 !important;

    white-space:nowrap !important;

    text-decoration:none !important;
}


/* =========================================
   NOTDIENST
========================================= */

.widder-header__emergency{
    width:62px !important;
    height:62px !important;

    display:grid !important;

    place-items:center !important;

    flex-shrink:0 !important;

    margin:0 !important;
    padding:0 !important;

    overflow:hidden !important;

    text-decoration:none !important;

    background:none !important;

    border:0 !important;

    box-shadow:none !important;
}


.widder-header__emergency-img{
    display:block !important;

    width:100% !important;
    height:100% !important;

    max-width:100% !important;
    max-height:100% !important;

    margin:0 !important;
    padding:0 !important;

    object-fit:contain !important;

    border:0 !important;

    box-shadow:none !important;
}


/* =========================================
   MOBILE TOGGLE
========================================= */

.widder-header__toggle{
    position:relative !important;

    display:none !important;

    width:48px !important;
    height:48px !important;

    min-width:48px !important;
    min-height:48px !important;

    margin:0 0 0 auto !important;
    padding:0 !important;

    border-radius:12px !important;

    border:
        1px solid rgba(255,255,255,0.08) !important;

    background:#141823 !important;
    background-color:#141823 !important;
    background-image:none !important;

    box-shadow:none !important;

    appearance:none !important;
    -webkit-appearance:none !important;

    cursor:pointer !important;

    z-index:10002 !important;

    outline:none !important;
}


.widder-header__toggle:hover,
.widder-header__toggle:focus,
.widder-header__toggle:focus-visible,
.widder-header__toggle:active,
.widder-header__toggle.is-open{
    background:#141823 !important;
    background-color:#141823 !important;
    background-image:none !important;

    border:
        1px solid rgba(255,255,255,0.08) !important;

    box-shadow:none !important;

    outline:none !important;
}


/* HAMBURGER LINIEN */

.widder-header__toggle span{
    position:absolute !important;

    left:12px !important;
    right:12px !important;

    width:auto !important;
    height:2px !important;

    margin:0 !important;
    padding:0 !important;

    border-radius:999px !important;

    background:#fff !important;

    opacity:1 !important;

    transition:
        transform .22s ease,
        opacity .22s ease,
        top .22s ease !important;
}


.widder-header__toggle span:nth-child(1){
    top:15px !important;
}


.widder-header__toggle span:nth-child(2){
    top:23px !important;
}


.widder-header__toggle span:nth-child(3){
    top:31px !important;
}


.widder-header__toggle.is-open span:nth-child(1){
    top:23px !important;

    transform:rotate(45deg) !important;
}


.widder-header__toggle.is-open span:nth-child(2){
    opacity:0 !important;
}


.widder-header__toggle.is-open span:nth-child(3){
    top:23px !important;

    transform:rotate(-45deg) !important;
}


/* =========================================
   <= 1280 PX
========================================= */

@media (max-width:1280px){

    .widder-header__inner{
        grid-template-columns:
            minmax(140px,190px) 1fr !important;

        gap:22px !important;

        padding:13px 22px !important;
    }


    .widder-header__logo{
        max-width:168px !important;
        max-height:50px !important;
    }


    .widder-header__panel{
        gap:20px !important;
    }


    .widder-header__link{
        font-size:15px !important;
    }


    .widder-header__cta-label{
        max-width:150px !important;

        font-size:13px !important;
    }


    .widder-header__cta-phone{
        font-size:14px !important;

        padding:12px 14px !important;
    }


    .widder-header__emergency{
        width:58px !important;
        height:58px !important;
    }

}


/* =========================================
   <= 1100 PX
========================================= */

@media (max-width:1100px){

    .widder-header__inner{
        grid-template-columns:
            minmax(130px,170px) 1fr !important;

        gap:16px !important;
    }


    .widder-header__logo{
        max-width:150px !important;
        max-height:46px !important;
    }


    .widder-header__link{
        font-size:14px !important;
    }


    .widder-header__cta-label{
        padding:11px 12px !important;

        max-width:138px !important;
    }


    .widder-header__cta-phone{
        padding:11px 13px !important;
    }

}


/* =========================================
   TABLET / MOBILE <= 1024 PX
========================================= */

@media (max-width:1024px){

    :root{
        --widder-header-height:84px !important;
    }


    .widder-header{
        background:#141823 !important;
        background-color:#141823 !important;
        background-image:none !important;

        backdrop-filter:blur(10px) !important;
        -webkit-backdrop-filter:blur(10px) !important;

        border-bottom:
            1px solid rgba(255,255,255,0.06) !important;
    }


    .widder-header__inner{
        grid-template-columns:
            minmax(140px,1fr) auto !important;

        min-height:
            var(--widder-header-height) !important;

        padding:12px 18px !important;

        gap:14px !important;
    }


    .widder-header__logo{
        width:auto !important;

        max-width:150px !important;
        max-height:48px !important;
    }


    /* BURGER SICHTBAR */

    .widder-header__toggle{
        display:block !important;
    }


    /* MOBILE PANEL */

    .widder-header__panel{
        position:absolute !important;

        top:100% !important;
        left:0 !important;
        right:0 !important;

        width:100% !important;

        display:flex !important;

        flex-direction:column !important;

        align-items:stretch !important;
        justify-content:flex-start !important;

        gap:18px !important;

        margin:0 !important;

        padding:18px !important;

        background:#141823 !important;
        background-color:#141823 !important;
        background-image:none !important;

        backdrop-filter:none !important;
        -webkit-backdrop-filter:none !important;

        border-bottom:
            1px solid rgba(255,255,255,0.06) !important;

        box-shadow:
            0 18px 36px rgba(0,0,0,0.18) !important;

        opacity:0 !important;

        visibility:hidden !important;

        transform:translateY(-8px) !important;

        transition:
            opacity .22s ease,
            visibility .22s ease,
            transform .22s ease !important;

        pointer-events:none !important;

        z-index:10001 !important;
    }


    .widder-header__panel.is-open{
        opacity:1 !important;

        visibility:visible !important;

        transform:translateY(0) !important;

        pointer-events:auto !important;
    }


    /* MOBILE NAV */

    .widder-header__nav{
        width:100% !important;

        flex-direction:column !important;

        align-items:flex-start !important;
        justify-content:flex-start !important;

        gap:2px !important;
    }


    .widder-header__link{
        width:100% !important;

        min-height:46px !important;

        justify-content:flex-start !important;

        font-size:17px !important;
    }


    .widder-header__link::after{
        left:0 !important;

        width:100% !important;

        bottom:6px !important;

        transform-origin:left !important;
    }


    /* MOBILE ACTIONS */

    .widder-header__actions{
        width:100% !important;

        flex-direction:column !important;

        align-items:stretch !important;

        gap:12px !important;
    }


    .widder-header__cta{
        width:100% !important;

        justify-content:space-between !important;
    }


    .widder-header__cta-label{
        max-width:none !important;

        flex:1 1 auto !important;
    }


    .widder-header__cta-phone{
        justify-content:center !important;
    }


    /* NOTDIENST AUF MOBILE AUSBLENDEN */

    .widder-header__emergency{
        display:none !important;
    }

}


/* =========================================
   MOBILE <= 640 PX
========================================= */

@media (max-width:640px){

    :root{
        --widder-header-height:78px !important;
    }


    .widder-header__inner{
        padding:10px 14px !important;
    }


    .widder-header__logo{
        max-width:132px !important;

        max-height:42px !important;
    }


    .widder-header__cta{
        flex-direction:column !important;
    }


    .widder-header__cta-label,
    .widder-header__cta-phone{
        width:100% !important;

        justify-content:center !important;

        text-align:center !important;
    }


    .widder-header__cta-label{
        padding:12px 12px 10px !important;
    }


    .widder-header__cta-phone{
        padding:11px 12px 12px !important;
    }

}