/* =========================================================
   SITE HEADER (Views/Shared/_Layout.cshtml)
   ========================================================= */

.site-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    background: linear-gradient(135deg, #1d6fe0, #3d9bf5);
    box-shadow: 0 2px 12px rgba(29, 111, 224, .35);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

    .site-header .navbar {
        min-height: 58px;
        padding-top: 0;
        padding-bottom: 0;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .site-header .navbar-brand {
        display: flex;
        align-items: center;
        gap: 10px;
        color: #fff;
        font-weight: 600;
        letter-spacing: .3px;
    }

        .site-header .navbar-brand:hover {
            color: #fff;
        }

.brand-mark {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .15);
    border: 1.5px solid rgba(255, 255, 255, .55);
    font-size: 17px;
}

.site-header .nav-link,
.site-header .nav-link.btn {
    color: rgba(255, 255, 255, .85) !important;
    font-weight: 500;
    padding: 18px 14px !important;
    position: relative;
    text-decoration: none;
    transition: color .2s;
}

    .site-header .nav-link::after {
        content: "";
        position: absolute;
        left: 14px;
        right: 14px;
        bottom: 10px;
        height: 2px;
        background: #fff;
        transform: scaleX(0);
        transition: transform .25s ease;
    }

    .site-header .nav-link:hover,
    .site-header .nav-link:focus {
        color: #fff !important;
    }

        .site-header .nav-link:hover::after {
            transform: scaleX(1);
        }

    /* Register button-style link on the right */
    .site-header .nav-link.header-cta {
        margin: 10px 0 10px 8px;
        padding: 6px 18px !important;
        border-radius: 50px;
        background: #fff;
        color: #1d6fe0 !important;
        font-weight: 600;
    }

        .site-header .nav-link.header-cta::after {
            display: none;
        }

        .site-header .nav-link.header-cta:hover {
            background: #e3eeff;
        }

.site-header .navbar-toggler {
    border-color: rgba(255, 255, 255, .5);
}

.site-header .navbar-toggler-icon {
    filter: invert(1);
}

.site-header form.form-inline {
    margin: 0;
}

.site-header button.nav-link {
    background: none;
    border: 0;
}

@media (max-width: 575.98px) {
    .site-header .nav-link {
        padding: 10px 6px !important;
    }

        .site-header .nav-link::after {
            display: none;
        }

        .site-header .nav-link.header-cta {
            display: inline-block;
            margin: 6px 0 10px;
        }
}
