/* =========================================
   IUNIXX – HEADER
   ========================================= */


/* 1. HEADER GRUNDLAYOUT */

.site-header {
    position: relative;
    z-index: 1000;
    width: 100%;
    background: var(--color-white);
    border-bottom: 1px solid var(--color-border);
}

.header-inner {
    width: min(100% - 40px, var(--container-width));
    min-height: 88px;
    margin-inline: auto;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}


/* 2. LOGO */

.header-logo {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    text-decoration: none;
}

.header-logo-image {
    display: block;
    width: auto;
    height: 70px;
    max-width: 220px;
    object-fit: contain;
}


/* 3. DESKTOP NAVIGATION */

.header-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 36px;
    margin-left: auto;
}

.header-nav > a:not(.btn) {
    color: var(--color-navy);
    font-family: var(--font-primary);
    font-size: 23px;
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    transition: color var(--transition-default);
}

.header-nav > a:not(.btn):hover {
    color: var(--color-primary);
}


/* 4. CTA BUTTONS */

/* Button-Design kommt aus components.css */

.header-cta {
    flex-shrink: 0;
    white-space: nowrap;
}

/* Mobiler CTA auf Desktop unsichtbar */

/* Mobilen CTA auf Desktop ausblenden */
.header-nav .header-mobile-cta {
    display: none;
}


/* 5. MOBILER MENÜBUTTON */

.header-menu-toggle {
    display: none;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;
    padding: 8px;

    background: transparent;
    border: 0;
    border-radius: 8px;

    color: var(--color-navy);
    cursor: pointer;
}

.header-menu-toggle svg {
    display: block;
    width: 26px;
    height: 26px;
}


/* 6. TABLET & MOBILE */

@media (max-width: 900px) {

    .header-inner {
        width: min(100% - 32px, var(--container-width));
        min-height: 72px;
        gap: 16px;
    }

    .header-logo-image {
        height: 36px;
        max-width: 160px;
    }

    /* Desktop CTA ausblenden */

    .header-cta {
        display: none;
    }

    /* Hamburger anzeigen */

    .header-menu-toggle {
        display: inline-flex;
        margin-left: auto;
    }

    /* Mobiles Dropdown */

    .header-nav {
        display: none;

        position: absolute;
        top: 100%;
        left: 0;
        right: 0;

        flex-direction: column;
        align-items: stretch;
        gap: 0;

        margin: 0;
        padding: 16px 24px 24px;

        background: var(--color-white);
        border-bottom: 1px solid var(--color-border);

        box-shadow: 0 12px 24px rgba(7,23,37,0.08);
    }

    .header-nav.is-open {
        display: flex;
    }

    /* Navigationslinks */

    .header-nav > a:not(.btn) {
        display: block;
        padding: 14px 0;
        font-size: 16px;
    }

    /* Mobiler CTA mit zentralem Button-Design */

    .header-nav .header-mobile-cta {
        display: inline-flex;
        width: 100%;
        justify-content: center;
        margin-top: 12px;

        color: var(--color-white);
    }
}


/* 7. ACCESSIBILITY */

.header-logo:focus-visible,
.header-nav a:focus-visible,
.header-cta:focus-visible,
.header-menu-toggle:focus-visible {
    outline: 3px solid var(--color-primary);
    outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {

    .header-nav >