/* ============================================================================
   Kopfnavigation · gemeinsame Regeln für alle Unterseiten
   Die Startseite bezieht dieselbe Optik aus base.css. Diese Datei existiert,
   damit die Unterseiten (styles.css, altes Layout) denselben Kopf bekommen,
   ohne base.css komplett zu laden — das würde dort das Layout umwerfen.
   Alle Selektoren sind auf .kopf verankert und liegen in der Spezifität über
   den `header`/`header nav`-Regeln aus styles.css. Immer NACH styles.css laden.
   ========================================================================= */

header.kopf {
    background: var(--c-tiefsee);
    color: var(--c-weiss);
    border-bottom: 0;
    padding: 0;
}

header.kopf .kopf__wrap {
    width: 100%;
    max-width: var(--breite);
    margin-inline: auto;
    padding-inline: var(--s-5);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: var(--s-5);
    padding-block: var(--s-3);
}

header.kopf .marke {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    color: var(--c-weiss);
    background: none;
    text-decoration: none;
    font-family: var(--f-display);
    font-weight: 700;
    font-size: var(--t-lg);
    white-space: nowrap;
}

header.kopf .marke:hover {
    color: var(--c-weiss);
    background: none;
}

header.kopf nav.nav {
    display: flex;
    justify-content: flex-start;
    gap: var(--s-5);
    margin-left: auto;
}

header.kopf nav.nav a {
    color: #C6D8D6;
    background: none;
    text-decoration: none;
    font-size: var(--t-sm);
    font-weight: 500;
    border-radius: 0;
    padding: var(--s-2) 0;
    min-height: 0;
}

header.kopf nav.nav a:hover,
header.kopf nav.nav a[aria-current="page"] {
    color: var(--c-weiss);
    background: none;
}

header.kopf nav.nav a[aria-current="page"] {
    box-shadow: inset 0 -2px 0 var(--c-apricot);
}

header.kopf .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 var(--s-4);
    border: 1px solid transparent;
    border-radius: var(--r-sm);
    font: inherit;
    font-weight: 600;
    font-size: var(--t-sm);
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color .15s ease;
}

header.kopf .btn--haupt {
    background: var(--c-apricot);
    color: var(--c-tinte);
}

header.kopf .btn--haupt:hover {
    background: var(--c-apricot-hover);
    color: var(--c-tinte);
}

header.kopf .kopf__menue {
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--c-linie-dunkel);
    border-radius: var(--r-sm);
    background: transparent;
    color: var(--c-weiss);
    cursor: pointer;
}

header.kopf .visuell-versteckt {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

@media (max-width: 860px) {
    header.kopf .kopf__wrap {
        flex-wrap: wrap;
        gap: var(--s-2) var(--s-3);
        padding-block: var(--s-2);
    }

    header.kopf .marke {
        font-size: var(--t-base);
        gap: var(--s-2);
        margin-right: auto;
    }

    header.kopf .marke img {
        width: 28px;
        height: 28px;
    }

    header.kopf .kopf__menue {
        display: inline-flex;
    }

    header.kopf nav.nav {
        display: none;
        order: 3;
        width: 100%;
        margin-left: 0;
        flex-direction: column;
        gap: 0;
        padding-bottom: var(--s-2);
    }

    header.kopf.is-offen nav.nav {
        display: flex;
    }

    header.kopf nav.nav a {
        padding: var(--s-3) 0;
        border-top: 1px solid var(--c-linie-dunkel);
        font-size: var(--t-base);
        white-space: nowrap;
    }

    header.kopf .btn {
        width: auto;
        max-width: none;
        min-height: 44px;
        padding: 0 var(--s-3);
        font-size: var(--t-sm);
    }
}

@media (max-width: 380px) {
    header.kopf .marke {
        font-size: var(--t-sm);
    }

    header.kopf .btn {
        font-size: var(--t-xs);
    }
}

/* Auf kleinen Handys übernehmen Hero-Suche bzw. Menü den Weg zur Buchung */
@media (max-width: 480px) {
    header.kopf .kopf__cta {
        display: none;
    }
}
