/* ================================================
   GLOBAL BACKGROUND
   ================================================ */

html,
body {
    margin: 0;
    padding: 0;
    background-color: #EFECD9;
    background-color: #EFECD9 !important;
}

.app-root {
    min-height: 100vh;
    background-color: #EFECD9;
}

/* Blazor Root */
#app {
    background-color: #EFECD9 !important;
}

/* typische Layout-Container auf transparent setzen */
main,
.page,
.content,
.mud-main-content,
.mud-layout,
.mud-container {
    background-color: transparent !important;
}

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

/* Header: weiß, sticky oben */
.site-header {
    width: 100%;
    z-index: 1000;
    transition: 
        background-color 0.25s ease,
        backdrop-filter 0.25s ease, 
        box-shadow 0.25s ease;
}

/* Standard: andere Seiten – weißer, sticky Header */
.site-header--solid {
    position: sticky;
    top: 0;
    background-color: #ffffff;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    backdrop-filter: none;
}

/* Home: Header liegt ÜBER dem Video, transparent */
.site-header--overlay {
    position: fixed;
    top: 0;
    left: 0;
    background-color: transparent;
    border-bottom: none;
    box-shadow: none;
    backdrop-filter: none;
}

    .site-header--overlay.scrolled {
        background-color: rgba(255, 255, 255, 0.65);  
        backdrop-filter: blur(10px);   
        box-shadow: 0 4px 16px rgba(0,0,0,0.10);
    }

/* Innenlayout: zentriert, Inhalt in einer Zeile */
.site-header-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 12px 32px;
    display: flex;
    align-items: center;
    justify-content: flex-end; /* Menü rechts */
    box-sizing: border-box;
}

/* NAVIGATION – horizontale Links */
.site-nav {
    display: flex;
    align-items: center;
    gap: 24px;
}

/* Einzelner NavLink */
.nav-link {
    position: relative;
    font-size: 1rem;
    font-weight: 500;
    text-decoration: none;
    color: #2a2a2a;
    padding: 4px 0;
}

    /* Unterstreichung beim Hover / aktiv */
    .nav-link::after {
        content: "";
        position: absolute;
        bottom: -4px;
        left: 0;
        width: 0;
        height: 2px;
        background: linear-gradient(90deg, #C98AD3, #F39A17);
        transition: width 0.18s ease-in-out;
    }

    .nav-link:hover::after {
        width: 100%;
    }

/* aktiver Link (Blazor NavLink ActiveClass) */
.nav-link-active::after {
    width: 100%;
}

/* Responsive etwas enger */
@media (max-width: 768px) {
    .site-header-inner {
        padding-inline: 20px;
    }

    .site-nav {
        gap: 16px;
    }

    .nav-link {
        font-size: 0.95rem;
    }
}
