/* Global unified navbar layout (single source of truth) */
/* Usage: include after page-specific css to override older per-page navbar rules */

:root {
  --nav-logo-gap: 36px;
  --nav-link-gap: 22px;
  --nav-padding-y: 20px;
  --nav-padding-x: 40px;
}

header.navbar, .navbar {
  display:flex;
  align-items:center;
  padding:var(--nav-padding-y) var(--nav-padding-x);
  background:#fff;
  box-shadow:0 2px 4px rgba(0,0,0,.05);
  position:sticky; top:0; z-index:100;
}

.navbar .logo {
  display:flex; align-items:center; gap:10px;
  font-size:24px; font-weight:700; letter-spacing:.5px;
  color:var(--c-primary, #4FA7FF); text-decoration:none;
  margin-right:var(--nav-logo-gap);
}
.navbar .logo img { width:32px; height:32px; border-radius:6px; object-fit:cover; }

.navbar nav { margin-left:auto; display:flex; align-items:center; gap:var(--nav-link-gap); flex:0 0 auto; }

.navbar nav a { text-decoration:none; color:var(--c-text-soft,#475569); font-weight:500; font-size:14px; transition:color .25s; }
.navbar nav a:hover, .navbar nav a.active { color:var(--c-primary,#4FA7FF); }

/* Avatar / userbox spacing */
.navbar .userbox { margin-left:16px; }

/* Guest trimming (kept) */
.navbar nav.guest-trim a.guest-only, .navbar nav.guest-trim a.protected { display:none !important; }

/* Responsive tweak */
@media (max-width:860px){
  :root { --nav-link-gap:16px; --nav-padding-x:24px; }
  .navbar .logo { margin-right:24px; font-size:22px; }
}
