/*
 * PureLifeOnWheels – STICKY HEADER
 * Grosszügigeres Markenlogo.
 *
 * Individuelle Farben aus dem Kirby-Farbeditor.
 * Leere Farbfelder verwenden die bisherigen Standardfarben.
 *
 * Logo-Breiten aus dem Kirby-Design-Editor.
 * Leere Grössenfelder verwenden die bisherigen Standardwerte.
 *
 * Responsive Regeln aus der früheren vollständigen
 * Version wiederhergestellt.
 */

/* ===== VORSCHAU-HINWEIS ===== */

.editor-preview-notice {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 14px 24px;
    background: var(--color-preview-background, #fff1c9);
    color: var(--color-preview-text, #171717);
    text-align: center;
    font-size: 0.9rem;
    line-height: 1.5;
}

/* ===== HEADER ===== */

header.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;

    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 28px;

    width: 100%;
    max-width: none;
    margin: 0;
    padding: 10px max(
        var(--page-padding),
        calc((100vw - var(--width-content)) / 2 + var(--page-padding))
    );

    background: var(--color-header-background, var(--color-background));
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

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

.site-logo {
    display: block;
    flex: 0 0 auto;
    width: var(--logo-width-desktop, 270px);
    max-width: 100%;
    line-height: 0;
}

.site-logo img {
    display: block;
    width: 100%;
    height: auto;
}

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

header .site-navigation {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px 24px;
    min-width: 0;
    margin: 0;
}

.site-navigation a {
    position: relative;
    display: inline-block;
    padding: 8px 0;

    color: var(--color-navigation-text, var(--color-dark));
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;

    transition: color 0.2s ease;
}

.site-navigation a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2px;
    height: 2px;

    background: var(--color-primary);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.2s ease;
}

.site-navigation a:hover,
.site-navigation a:focus-visible,
.site-navigation a[aria-current="page"] {
    color: var(--color-navigation-active, var(--color-secondary));
}

.site-navigation a:hover::after,
.site-navigation a:focus-visible::after,
.site-navigation a[aria-current="page"]::after {
    transform: scaleX(1);
}

/* ===== SUCHE ===== */

header .site-search {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
    margin: 0;
}

header .site-search input {
    width: 210px;
    min-width: 0;
    padding: 8px 10px;

    border: 1px solid var(--color-border-soft);
    border-radius: var(--radius-input);
    background: var(--color-input-background, var(--color-surface));

    font: inherit;
    font-size: 0.8rem;
}

header .site-search button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;

    border: 1px solid var(--color-primary);
    border-radius: 50%;
    background: var(--color-input-background, var(--color-surface));
    color: var(--color-secondary);

    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

header .site-search button:hover {
    background: var(--color-primary);
    color: var(--color-button-text);
}

header .site-search button svg {
    width: 19px;
    height: 19px;
}

/* ===== MOBILES MENÜ: GRUNDLAGEN ===== */

/*
 * Der Schalter wird erst mit header.php eingebaut.
 * Ohne die Klasse mobile-menu-ready bleibt
 * die bisherige Darstellung unverändert.
 */

header .mobile-menu-toggle {
    display: none;
}

/* ===== TABLET ===== */

@media (max-width: 1100px) {

    header.site-header {
        flex-wrap: wrap;
        gap: 14px 24px;
    }

    .site-logo {
        width: var(--logo-width-tablet, 240px);
    }

    header .site-navigation {
        order: 3;
        flex: 0 0 100%;
        justify-content: center;
        gap: 12px 24px;
    }

    header .site-search {
        margin-left: auto;
    }
}

/* ===== SMARTPHONE ===== */

@media (max-width: 700px) {

    header.site-header {
        padding: 10px 16px;
        gap: 12px;
    }

    .site-logo {
        width: var(--logo-width-mobile, 200px);
    }

    header .site-navigation {
        justify-content: flex-start;
        gap: 8px 20px;
    }

    .site-navigation a {
        font-size: 0.9rem;
    }

    header .site-search {
        flex: 0 0 100%;
        order: 4;
        margin: 0;
    }

    header .site-search input {
        flex: 1;
        width: auto;
    }

    .editor-preview-notice {
        padding: 10px 16px;
        font-size: 0.8rem;
    }

    /* ===== HAMBURGER-SCHALTER ===== */

    header.mobile-menu-ready .mobile-menu-toggle {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 5px;

        width: 44px;
        height: 44px;
        margin-left: auto;
        padding: 9px;

        border: 1px solid var(--color-border-soft);
        border-radius: var(--radius-input, 8px);
        background: transparent;
        color: var(--color-navigation-text, var(--color-dark));

        cursor: pointer;
    }

    header.mobile-menu-ready .mobile-menu-toggle span {
        display: block;
        width: 23px;
        height: 2px;
        border-radius: 2px;
        background: currentColor;
        transition: transform 0.2s ease, opacity 0.2s ease;
    }

    header.mobile-menu-ready .mobile-menu-toggle:focus-visible {
        outline: 2px solid var(--color-primary);
        outline-offset: 3px;
    }

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

    header.mobile-menu-ready .site-navigation,
    header.mobile-menu-ready .site-search {
        display: none;
    }

    /* ===== GEÖFFNETE NAVIGATION ===== */

    header.mobile-menu-ready.mobile-menu-open .site-navigation {
        display: flex;
        flex: 0 0 100%;
        flex-direction: column;
        align-items: stretch;
        order: 3;
        gap: 0;
        padding: 8px 0;

        border-top: 1px solid var(--color-border-soft);
    }

    header.mobile-menu-ready.mobile-menu-open .site-navigation a {
        display: block;
        padding: 12px 8px;
        font-size: var(--font-size-navigation, 0.95rem);
        white-space: normal;
    }

    header.mobile-menu-ready.mobile-menu-open .site-search {
        display: flex;
        flex: 0 0 100%;
        order: 4;
        margin: 0;
        padding: 8px 0 4px;
    }

    header.mobile-menu-ready.mobile-menu-open .site-search input {
        flex: 1;
        width: auto;
    }

    /* ===== HAMBURGER WIRD ZUM X ===== */

    header.mobile-menu-ready.mobile-menu-open
    .mobile-menu-toggle span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    header.mobile-menu-ready.mobile-menu-open
    .mobile-menu-toggle span:nth-child(2) {
        opacity: 0;
    }

    header.mobile-menu-ready.mobile-menu-open
    .mobile-menu-toggle span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }
}

/* ===== ENDE HEADER.CSS ===== */
