/* ===== HEADER FONTS ===== */
@font-face {
    font-family: 'Roboto Mono';
    src: url('../font/RobotoMono-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'SephyrRegularOTF';
    src: url('../font/SephyrRegular.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

/* ===== HEADER INHOUD ===== */
#headerTitleH1 {
    position: absolute !important;
    left: 50% !important;
    top: calc(50% + 10px) !important;
    transform: translate(-50%, -50%) !important;
    width: max-content !important;
    text-align: center !important;
    pointer-events: none !important;
    z-index: 10 !important;
    display: block !important;
    margin: 10px 0 0 0 !important;
    color: #f8f8f2 !important;
    font-family: 'SephyrRegularOTF', 'Pacifico', 'Roboto', Arial, sans-serif !important;
    font-size: 1.35em !important;
    letter-spacing: 0.04em !important;
}

#headerTitleH1 > span:first-child {
    display: block !important;
    font-size: 3em !important;
}

#headerTitleH1 > span:last-child {
    display: block !important;
    margin-top: 2px !important;
    color: #ffd700 !important;
    font-family: 'Roboto Mono', Arial, sans-serif !important;
    font-size: 1em !important;
}

/* ===== HEADER BASIS ===== */
.header-center {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 80px;
    max-height: 80px;
    background: linear-gradient(to right, #002b00, #939292, #470101);
}

.glow-animated {
    position: relative;
    animation: glowPulse 2.2s infinite ease-in-out;
}

@keyframes glowPulse {
    0% {
        text-shadow: 0 0 8px #1e0206, 0 0 16px #00eaff;
    }

    25% {
        text-shadow: 0 0 12px #1e0206, 0 0 24px #00eaff;
    }

    50% {
        text-shadow: 0 0 18px #1e0206, 0 0 36px #00eaff;
    }

    75% {
        text-shadow: 0 0 12px #1e0206, 0 0 24px #00eaff;
    }

    100% {
        text-shadow: 0 0 8px #1e0206, 0 0 16px #00eaff;
    }
}

body.music-mode .header-greeting-message {
    display: none !important;
}

body.home-mode .header-greeting-message {
    display: block;
}

/* ===== NAV BASIS ===== */
.nav-bar {
    position: relative;
    z-index: 2;
    display: flex;
    width: 100%;
    height: 40px;
    margin: 0;
    padding: 0;
    background: linear-gradient(to right, #002b00, #939292, #470101);
}

.nav-bar button {
    flex: 1 1 50%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 1px solid #888;
    border-radius: 0;
    background: transparent;
    color: white;
    font-size: 20px;
    font-weight: bold;
    text-shadow: 1px 1px 2px #000;
    cursor: pointer;
    box-shadow: none;
    transition: background 0.3s, color 0.3s, border-color 0.3s;
}

.nav-bar button:hover {
    background: rgba(0, 0, 0, 0.12);
    color: #ffd700;
}

.nav-bar button:active {
    background: transparent !important;
    color: inherit !important;
    box-shadow: none !important;
    transform: none !important;
    border-color: #888 !important;
}

/* ===== MOBILE MENU BASIS ===== */
.mobile-menu {
    display: none;
}

.mobile-menu button {
    margin: 0 0 4px 0;
    padding: 4px 12px;
    border: none;
    border-radius: 8px;
    outline: none;
    background: linear-gradient(90deg, #87900c 60%, #b1770a 100%);
    color: #d9d8d8;
    font-size: 15px;
    font-weight: bold;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(30, 144, 255, 0.18);
    transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}

/* ===== DESKTOP ===== */
@media (min-width: 769px) {
    .sticky-header-nav {
        position: sticky;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        z-index: 100;
        background: linear-gradient(to right, #002b00, #939292, #470101);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
    }

    .sticky-header-nav .header-center,
    .sticky-header-nav .nav-bar {
        width: 100%;
        margin: 0;
        left: 0;
        right: 0;
        border-radius: 0;
    }

    .sticky-header-nav .header-center {
        position: static;
        z-index: 2;
        gap: 18px;
        min-height: 80px;
        max-height: 80px;
        box-shadow: none;
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
    }

    .sticky-header-nav > .nav-bar {
        margin-top: 36px;
    }

    .sticky-header-nav .nav-bar,
    .nav-bar {
        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;
    }

    .sticky-header-nav .nav-bar {
        position: static;
        z-index: 2;
        display: flex;
        box-shadow: none;
        background: linear-gradient(to right, #002b00, #939292, #470101);
    }

    .nav-bar button {
        height: 100% !important;
        min-height: 40px !important;
        max-height: 40px !important;
        line-height: 40px !important;
    }
}

/* ===== MOBIEL ===== */
@media (max-width: 768px) {
    :root {
        --italonet-home-header-h: 124px;
        --italonet-home-menu-h: 32px;
        --italonet-home-bottom-ui: 90px;
    }

    html.home-mode,
    body.home-mode {
        overflow: hidden;
        height: 100%;
    }

    body.home-mode .content,
    body.music-mode .content {
        position: fixed;
        top: calc(var(--italonet-home-header-h) + var(--italonet-home-menu-h));
        right: 0;
        bottom: var(--italonet-home-bottom-ui);
        left: 0;
        width: 100%;
        margin: 0 auto;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        align-items: flex-start;
    }

    body.music-mode .content {
        top: calc(var(--italonet-home-header-h) + 24px);
    }

    body.home-mode .mobile-menu,
    body.music-mode .mobile-menu {
        position: fixed;
        top: var(--italonet-home-header-h);
        left: 0;
        right: 0;
        z-index: 1101;
    }

    .mobile-menu {
        position: relative;
        z-index: 1100;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 auto;
        padding: 2px 0;
        background: transparent !important;
    }

    .glow-animated {
        animation: none !important;
    }

    .sticky-header-nav .header-center {
        padding-bottom: 27px;
    }

    #headerTitleH1 {
        top: 40% !important;
    }

    .nav-bar {
        display: none;
        flex-direction: column;
        padding: 10px 0;
        text-align: center;
        background: transparent !important;
    }

    .nav-bar.active {
        display: flex;
        height: auto;
        align-items: center;
        margin-top: -20px !important;
        background: transparent !important;
    }

    .nav-bar.active button {
        flex: 0 0 auto;
        width: 50%;
        height: auto;
        min-height: 46px;
        padding-top: 10px;
        padding-bottom: 10px;
        border: 2px solid #000;
        border-radius: 8px;
        background: linear-gradient(to right, #002b00, #939292, #470101);
        color: #fff;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
    }

    .nav-bar.active button:hover,
    .nav-bar.active button:focus {
        background: linear-gradient(to right, #470101, #939292, #002b00);
        color: #ffd700;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
    }

    .content {
        width: 90%;
        flex-direction: column;
        align-items: center;
    }
}

/* navigation.js verplaatst de .nav-bar op mobiel onder de Menu-knop. */
body.home-mode .nav-bar.active,
body.music-mode .nav-bar.active {
    position: fixed;
    top: calc(var(--italonet-home-header-h) + var(--italonet-home-menu-h));
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1102;
}