/* Site navbar — premium brand shell (no Vite rebuild required) */
.site-nav {
    border-bottom: 1px solid rgb(var(--brand-primary-rgb) / 0.10);
    background-color: var(--surface-elevated);
    box-shadow: 0 1px 0 rgb(var(--text-rgb) / 0.04), 0 8px 24px -18px rgb(var(--text-rgb) / 0.28);
}

.site-nav-link {
    display: inline-flex;
    align-items: center;
    border-radius: 9999px;
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
    color: var(--text-muted);
    transition: background-color 0.2s ease, color 0.2s ease;
}

.site-nav-link:hover {
    background-color: rgb(var(--brand-accent-rgb) / 0.06);
    color: var(--brand-primary);
}

.site-nav-link.is-active {
    font-weight: 600;
    color: var(--brand-primary);
    background-color: rgb(var(--brand-accent-rgb) / 0.10);
}

.site-nav-link-mobile {
    display: block;
    width: 100%;
    border-radius: 0.75rem;
    padding: 0.625rem 0.75rem;
    text-align: start;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
    color: var(--text-muted);
    transition: background-color 0.15s ease, color 0.15s ease;
}

.site-nav-link-mobile:hover {
    background-color: rgb(var(--brand-accent-rgb) / 0.06);
    color: var(--brand-primary);
}

.site-nav-link-mobile.is-active {
    font-weight: 600;
    color: var(--brand-primary);
    background-color: rgb(var(--brand-accent-rgb) / 0.12);
}

.site-nav-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    border-radius: 9999px;
    background-color: var(--brand-primary);
    color: var(--brand-on-primary);
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    box-shadow: 0 10px 24px -12px rgb(var(--brand-primary-rgb) / 0.7);
    transition: background-color 0.2s ease;
}

.site-nav-cta:hover {
    background-color: var(--brand-accent-hover);
}

.site-nav-account {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    border-radius: 9999px;
    border: 1px solid rgb(var(--brand-primary-rgb) / 0.12);
    background-color: var(--surface-elevated);
    padding: 0.375rem 0.75rem 0.375rem 0.375rem;
    font-size: 0.875rem;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.site-nav-account:hover {
    border-color: rgb(var(--brand-accent-rgb) / 0.35);
    background-color: rgb(var(--brand-accent-rgb) / 0.04);
}

.site-nav-mobile-panel {
    border-bottom: 1px solid rgb(var(--brand-primary-rgb) / 0.08);
    background-color: var(--surface-elevated);
    box-shadow: 0 18px 40px -24px rgb(var(--text-rgb) / 0.35);
}

.site-nav-mobile-footer {
    border-top: 1px solid rgb(var(--brand-primary-rgb) / 0.08);
    background-color: rgb(var(--brand-primary-rgb) / 0.03);
}

.site-theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 9999px;
    border: 1px solid rgb(var(--brand-primary-rgb) / 0.12);
    background-color: var(--surface-elevated);
    color: var(--text-muted);
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.site-theme-toggle:hover {
    background-color: rgb(var(--brand-accent-rgb) / 0.08);
    color: var(--brand-primary);
    border-color: rgb(var(--brand-accent-rgb) / 0.30);
}

html.dark .site-theme-toggle .icon-sun { display: none; }
html:not(.dark) .site-theme-toggle .icon-moon { display: none; }
