.navbar {
    margin: auto;
    width: 100% !important;
    height: var(--navbar-height) !important;
    min-height: var(--navbar-height) !important;
    padding: 0px !important;
}

.navbar-container {
    margin: auto;
    width: 100% !important;
}

.nav-link,
.navbar-brand {
    padding-top: 0px !important;
}

.nav-item {
    margin: auto !important;
    padding-right: 30px !important;
    color: var(--text-primary) !important;
}

.fa {
    margin: auto !important;
    padding: 10px !important;
    vertical-align: middle !important;
}

.d-inline-block {
    margin: auto !important;
    padding-top: 15px !important;
}

.nav-item-icon {
    margin: auto;
    padding-right: 50px;
}

.nav-item-logo {
    margin: auto;
    width: 80%;
}

.navbar-logo-container {
    display: flex;
    flex-direction: row;
    float: left;
    padding-left: 20px !important;
}

.markdown-content p {
    margin: auto !important;
    padding: 0px !important;
}

.navbar-menu {
    margin: auto;
    display: inline-flex;
    float: right !important;
    list-style-type: none;
    padding-top: 5px;
}

.logo-rotate {
    overflow: hidden;
    min-width: 100px;
    max-width: 120px;
    width: 100%;
    animation: spin 1s linear;
}

@keyframes spin {
    0% {
        transform: scale(1) rotate(0deg);
    }

    100% {
        transform: scale(1) rotate(360deg);
    }
}

@media (max-width: 768px) {
    .navbar {
        height: auto !important;
        min-height: auto !important;
        position: relative !important;
        /* Allow flow */
    }

    .navbar-container {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .navbar-logo-container {
        float: none;
        padding-left: 0 !important;
        justify-content: center;
        width: 100%;
        text-align: center;
    }

    .navbar-logo-container a {
        display: flex;
        justify-content: center;
    }

    .navbar-menu {
        float: none !important;
        display: flex;
        flex-direction: column;
        width: 100%;
        padding: 0;
        margin-top: 10px;
    }

    .nav-item {
        margin: 5px 0 !important;
        padding-right: 0 !important;
        text-align: center;
        width: 100%;
    }

    .navbar-menu-container {
        width: 100%;
    }
}

/* Glassmorphism active states for navbar links */
.nav-link {
    color: var(--text-secondary, rgba(246, 248, 249, 0.78)) !important;
    border-radius: var(--radius-md, 12px) !important;
    padding: 8px 16px !important;
    transition: background 220ms ease, color 160ms ease, box-shadow 220ms ease !important;
    text-decoration: none !important;
}

/* Hover state: subtle glass wash */
.nav-link:hover,
.nav-link:focus-visible {
    background: linear-gradient(145deg, rgba(80, 201, 206, 0.10), rgba(80, 201, 206, 0.06)) !important;
    backdrop-filter: blur(10px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(120%) !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06) inset, 0 6px 18px rgba(0, 0, 0, 0.25) !important;
    color: var(--text-primary, #F6F8F9) !important;
}

/* Active/current page state: cyan accent glassmorphism */
.nav-link:active,
.nav-link[aria-current="page"],
.nav-link.active {
    background: linear-gradient(160deg,
            color-mix(in oklab, var(--brand-cyan, #50C9CE) 28%, transparent) 0%,
            color-mix(in oklab, var(--brand-cyan, #50C9CE) 18%, transparent) 52%,
            color-mix(in oklab, var(--brand-cyan, #50C9CE) 10%, transparent) 100%) !important;
    backdrop-filter: blur(14px) saturate(130%) contrast(105%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(130%) contrast(105%) !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.30),
        0 1px 2px rgba(255, 255, 255, 0.08) inset,
        0 0 18px color-mix(in oklab, var(--brand-cyan, #50C9CE) 22%, transparent) inset !important;
    color: var(--text-primary, #F6F8F9) !important;
}

/* Active hover: slightly brighter */
.nav-link:active:hover,
.nav-link[aria-current="page"]:hover,
.nav-link.active:hover {
    background: linear-gradient(160deg,
            color-mix(in oklab, var(--brand-cyan, #50C9CE) 34%, transparent) 0%,
            color-mix(in oklab, var(--brand-cyan, #50C9CE) 22%, transparent) 52%,
            color-mix(in oklab, var(--brand-cyan, #50C9CE) 12%, transparent) 100%) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.34),
        0 1px 2px rgba(255, 255, 255, 0.10) inset,
        0 0 22px color-mix(in oklab, var(--brand-cyan, #50C9CE) 26%, transparent) inset !important;
}

/* Mobile: adjust padding */
@media (max-width: 768px) {
    .nav-link {
        padding: 6px 12px !important;
    }
}