/* Navbar hover & active animation */
.navbar-nav .nav-link {
    position: relative;
    transition: color .25s ease, transform .25s ease;
    padding-bottom: 8px !important;
}

.navbar-nav .nav-link::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 2px;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, #0044ff 0%, #4d8eff 100%);
    border-radius: 2px;
    transform: translateX(-50%);
    transition: width .35s cubic-bezier(.25, .8, .25, 1);
    pointer-events: none;
}

.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.is-active::after {
    width: 70%;
}

.navbar-nav .nav-link:hover {
    color: #4d8eff !important;
}

.navbar-nav .nav-link.is-active {
    color: #002bb3 !important;
}

.navbar-nav .nav-link.is-active::after {
    height: 3px;
    background: linear-gradient(90deg, #002bb3, #0044ff, #4d8eff);
    box-shadow: 0 2px 8px rgba(0, 68, 255, 0.35);
    animation: nav-glow 1.8s ease-in-out infinite alternate;
}

@keyframes nav-glow {
    from { box-shadow: 0 2px 6px rgba(0, 68, 255, 0.25); }
    to   { box-shadow: 0 2px 14px rgba(77, 142, 255, 0.65); }
}
