/* Restrained neusued accents for the NOVA child template. */
:root {
    --ns-ink: #09090b;
    --ns-red: #e31937;
}
body { color: var(--ns-ink); }
.ns-demo-notice {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .7rem;
    padding: .55rem 1rem;
    background: var(--ns-ink);
    color: #fff;
    text-align: center;
    font-size: .85rem;
    line-height: 1.4;
}
.ns-demo-notice__label {
    color: #fff;
    font-weight: 700;
    letter-spacing: .08em;
    white-space: nowrap;
}
.ns-demo-notice__label::before {
    content: '';
    display: inline-block;
    width: .48rem;
    height: .48rem;
    margin-right: .45rem;
    border-radius: 50%;
    background: var(--ns-red);
    vertical-align: middle;
}
header .navbar-brand img { object-fit: contain; }
a:hover, a:focus-visible { color: var(--ns-red); }
.btn-primary, .badge-primary { background-color: var(--ns-red); border-color: var(--ns-red); }
.btn-primary:hover, .btn-primary:focus-visible { background-color: #b9132d; border-color: #b9132d; }
#header-top-bar .ns-bn-switch {
    align-self: center;
    gap: 0;
    margin: .35rem .75rem;
    padding: .15rem;
    border: 1px solid #dedede;
    border-radius: 999px;
    background: #fff;
    color: var(--ns-ink);
}
#header-top-bar .ns-bn-switch .ns-bn-opt {
    padding: .25rem .65rem;
    border: 0;
    border-radius: 999px;
    opacity: 1;
}
#header-top-bar .ns-bn-switch .ns-bn-opt.is-active {
    background: var(--ns-red);
    color: #fff;
}
@media (max-width: 575px) {
    .ns-demo-notice { flex-direction: column; gap: .15rem; font-size: .76rem; }
}
@media (max-width: 360px) {
    header .navbar-brand img { width: 64px; max-width: 64px; height: auto; }
}
