/**
 * MATIS LABS – Premium Command Bar (Enterprise / „kostbar“)
 * Nach Seiten-<style> einbinden; Header mit class="ml-site-header"
 */
:root {
    --ml-nav-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --ml-nav-duration: 0.18s;
    --ml-gold: #d4af37;
    --ml-gold-mid: #c9a227;
    --ml-gold-pale: #f8e6b8;
    --ml-slate: #0f172a;
    --ml-nav-glass: linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.82) 100%);
    --ml-nav-blur: blur(22px) saturate(1.75);
}

/* --- Header-Leiste --- */
header.ml-site-header {
    position: relative;
    isolation: isolate;
    background: var(--ml-nav-glass) !important;
    -webkit-backdrop-filter: var(--ml-nav-blur);
    backdrop-filter: var(--ml-nav-blur);
    border-bottom: none !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.85) inset,
        0 12px 40px -18px rgba(15, 23, 42, 0.1),
        0 4px 16px -8px rgba(15, 23, 42, 0.06) !important;
    padding-left: clamp(20px, 4vw, 48px) !important;
    padding-right: clamp(20px, 4vw, 48px) !important;
}

header.ml-site-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: linear-gradient(
        90deg,
        rgba(30, 64, 175, 0.2) 0%,
        rgba(148, 163, 184, 0) 38%,
        rgba(212, 175, 55, 0.5) 72%,
        rgba(212, 175, 55, 0.15) 100%
    );
    pointer-events: none;
}

/* --- Brand --- */
header.ml-site-header .brand-nav .brand-logo-small,
header.ml-site-header .brand-nav img[style*="width"] {
    border-radius: 10px;
    box-shadow:
        0 0 0 1px rgba(212, 175, 55, 0.28),
        0 2px 14px rgba(212, 175, 55, 0.18);
}

header.ml-site-header .hero-logo-nav {
    letter-spacing: 0.04em;
}

/* --- Dropdowns (About / Contact / Index) --- */
header.ml-site-header .nav-dropdown {
    position: absolute;
    min-width: 260px;
    padding: 8px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.6);
    backdrop-filter: blur(18px) saturate(1.6);
    border: 1px solid rgba(226, 232, 240, 0.95) !important;
    border-radius: 14px !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.7) inset,
        0 28px 56px -16px rgba(15, 23, 42, 0.14),
        0 12px 24px -10px rgba(15, 23, 42, 0.08) !important;
    overflow: hidden;
    transition:
        opacity var(--ml-nav-duration) var(--ml-nav-ease),
        transform var(--ml-nav-duration) var(--ml-nav-ease),
        visibility var(--ml-nav-duration) var(--ml-nav-ease) !important;
}

header.ml-site-header .nav-dropdown::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--ml-gold-mid), var(--ml-gold-pale), var(--ml-gold-mid));
    pointer-events: none;
    z-index: 1;
}

header.ml-site-header .dropdown-item {
    position: relative;
    z-index: 2;
    border-bottom: 1px solid rgba(241, 245, 249, 0.95) !important;
    border-left: 3px solid transparent !important;
    transition:
        background var(--ml-nav-duration) var(--ml-nav-ease),
        border-left-color var(--ml-nav-duration) var(--ml-nav-ease),
        padding-left var(--ml-nav-duration) var(--ml-nav-ease) !important;
}

header.ml-site-header .dropdown-item:last-child {
    border-bottom: none !important;
}

header.ml-site-header .dropdown-item:hover {
    background: rgba(15, 23, 42, 0.04) !important;
    border-left-color: var(--ml-gold) !important;
    padding-left: 18px !important;
}

/* --- Produktseiten: .dropdown-menu --- */
header.ml-site-header .dropdown-menu {
    position: absolute;
    padding: 8px 0 !important;
    min-width: 220px;
    background: rgba(255, 255, 255, 0.92) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.6);
    backdrop-filter: blur(18px) saturate(1.6);
    border: 1px solid rgba(226, 232, 240, 0.95) !important;
    border-radius: 14px !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.7) inset,
        0 28px 56px -16px rgba(15, 23, 42, 0.14),
        0 12px 24px -10px rgba(15, 23, 42, 0.08) !important;
    overflow: hidden;
    transition:
        opacity var(--ml-nav-duration) var(--ml-nav-ease),
        transform var(--ml-nav-duration) var(--ml-nav-ease),
        visibility var(--ml-nav-duration) var(--ml-nav-ease) !important;
}

header.ml-site-header .dropdown-menu::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--ml-gold-mid), var(--ml-gold-pale), var(--ml-gold-mid));
    pointer-events: none;
    z-index: 1;
}

header.ml-site-header .dropdown {
    position: relative;
}

header.ml-site-header .dropdown-menu a {
    position: relative;
    z-index: 2;
    border-left: 3px solid transparent;
    transition:
        background var(--ml-nav-duration) var(--ml-nav-ease),
        border-left-color var(--ml-nav-duration) var(--ml-nav-ease),
        padding-left var(--ml-nav-duration) var(--ml-nav-ease);
}

header.ml-site-header .dropdown-menu a:hover {
    background: rgba(15, 23, 42, 0.04) !important;
    border-left-color: var(--ml-gold);
    padding-left: 22px !important;
}

/* --- Burger (aktiv) --- */
header.ml-site-header .burger-btn.active .burger-bar {
    background: linear-gradient(90deg, var(--ml-slate), #b45309) !important;
}

/* --- Mobile: Vollbild-Nav --- */
@media (max-width: 1024px) {
    header.ml-site-header #main-nav.active,
    header.ml-site-header nav ul#main-nav.active {
        background:
            linear-gradient(180deg, rgba(212, 175, 55, 0.09) 0%, transparent 14%),
            linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(248, 250, 252, 0.98) 45%, #ffffff 100%) !important;
        border-top: 1px solid rgba(212, 175, 55, 0.35) !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
        -webkit-backdrop-filter: blur(12px);
        backdrop-filter: blur(12px);
    }
}

@media (prefers-reduced-motion: reduce) {
    header.ml-site-header .nav-dropdown,
    header.ml-site-header .dropdown-menu,
    header.ml-site-header .dropdown-item,
    header.ml-site-header .dropdown-menu a,
    header.ml-site-header .burger-bar {
        transition-duration: 0.01ms !important;
    }
}

/* === View Transitions (MPA / Cross-Document) === */

/* Opt in to native cross-document view transitions.
   Both source and target page need this rule (shared via this CSS).
   Falls back silently in unsupported browsers (Firefox, older Safari).
   The header is intentionally NOT given a view-transition-name so it
   fades with the rest of the page — avoids morph glitches between
   pages with structurally different navs. */
@view-transition {
    navigation: auto;
}

@keyframes ml-page-in  { from { opacity: 0; translate: 0 6px; } }
@keyframes ml-page-out { to   { opacity: 0; translate: 0 -6px; } }

::view-transition-old(root) {
    animation: ml-page-out 0.18s ease forwards;
}
::view-transition-new(root) {
    animation: ml-page-in 0.22s ease forwards;
}

@media (prefers-reduced-motion: reduce) {
    ::view-transition-old(root),
    ::view-transition-new(root) {
        animation-duration: 0.01ms !important;
    }
}

/* === Nav-Link hover: [ ] brackets — unified across all pages === */
header.ml-site-header .nav-link-wrapper { position: relative; }

header.ml-site-header .nav-link::before,
header.ml-site-header .nav-link::after {
    position: absolute;
    opacity: 0;
    transition: opacity 0.2s, transform 0.2s;
    color: var(--ml-gold);
    font-family: 'Space Mono', monospace;
    font-size: 0.7rem;
    pointer-events: none;
}
header.ml-site-header .nav-link::before { content: '['; left: -10px; transform: translateX(4px); }
header.ml-site-header .nav-link::after  { content: ']'; right: -10px; transform: translateX(-4px); }

header.ml-site-header .nav-link-wrapper:hover .nav-link::before,
header.ml-site-header .nav-link-wrapper:hover .nav-link::after {
    opacity: 1;
    transform: translateX(0);
}

/* Suppress brackets on button-style nav items */
header.ml-site-header .btn-booking-nav::before,
header.ml-site-header .btn-booking-nav::after,
header.ml-site-header .btn-ticket-nav::before,
header.ml-site-header .btn-ticket-nav::after {
    display: none !important;
}

/* === Booking button — shared across all pages === */
header.ml-site-header .btn-booking-nav {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: var(--ml-slate);
    color: #fff !important;
    border-radius: 8px;
    font-weight: 700;
    font-size: 0.7rem;
    text-decoration: none;
    font-family: 'Space Mono', monospace;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.12);
    transition: background 0.2s, box-shadow 0.2s;
    white-space: nowrap;
    flex-shrink: 0;
}
header.ml-site-header .btn-booking-nav:hover {
    background: var(--ml-gold-mid);
    box-shadow: 0 6px 18px rgba(212, 175, 55, 0.28);
}

@media (max-width: 1024px) {
    header.ml-site-header .btn-booking-nav {
        margin-top: 10px;
        width: 100%;
        justify-content: center;
        padding: 20px;
        font-size: 0.9rem;
    }
}
