/* ── GLOBAL NAV (shared across all pages using .global-nav) ── */
.global-nav{display:flex;justify-content:space-between;align-items:center;height:var(--nav-h);padding:0 clamp(1rem,4vw,3rem);border-bottom:1px solid var(--border);background:var(--paper);position:sticky;top:0;z-index:200;font-size:.875rem}
.global-nav .logo{font-family:var(--serif);font-size:1.25rem;font-weight:400;color:var(--ink);text-decoration:none;letter-spacing:-.01em}
.global-nav .logo em{color:var(--accent);font-style:normal}
.gn-right{display:flex;align-items:center;gap:1.5rem}
.gn-right .font-size-btn{background:none;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font);font-size:.72rem;font-weight:600;color:var(--muted);cursor:pointer;padding:.3rem .55rem;letter-spacing:.04em;transition:all .15s;white-space:nowrap;line-height:1}
.gn-right .font-size-btn:hover{border-color:var(--ink);color:var(--ink)}
.gn-right .lang-switcher{display:flex;gap:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.gn-right .lang-btn{background:none;border:none;border-right:1px solid var(--border);font-family:var(--font);font-size:.72rem;font-weight:500;color:var(--muted);cursor:pointer;padding:.3rem .55rem;letter-spacing:.06em;text-transform:uppercase;transition:all .15s;line-height:1}
.gn-right .lang-btn:last-child{border-right:none}
.gn-right .lang-btn.active{background:var(--ink);color:#fff}
.gn-right .nav-actions{display:flex;gap:.6rem}
.gn-btn{font-family:var(--font);font-size:.72rem;font-weight:500;padding:.3rem .55rem;border-radius:var(--radius);cursor:pointer;transition:all .15s;text-decoration:none;border:1px solid var(--border);color:var(--ink);background:none;line-height:1;letter-spacing:.04em}
.gn-btn:hover{border-color:var(--ink);color:var(--ink)}
.gn-btn-contact{color:var(--muted)}
.gn-btn-contact:hover{border-color:var(--accent2);color:var(--accent2)}
.gn-btn-dashboard{color:var(--accent2);border-color:var(--accent2)}
.gn-btn-dashboard:hover{background:var(--accent2);color:#fff}
.gn-btn-admin{background:var(--ink);color:#fff;border-color:var(--ink)}
.gn-btn-admin:hover{background:#333}
.gn-btn-ghost{color:var(--ink)}
.gn-btn-ghost:hover{border-color:var(--ink)}
.gn-btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.gn-btn-primary:hover{background:#962b18}
.gn-btn-logout{border:1px solid var(--border);color:var(--muted);background:none;font-family:var(--font);font-size:.72rem;font-weight:500;padding:.3rem .55rem;border-radius:var(--radius);cursor:pointer;transition:all .15s;line-height:1;letter-spacing:.04em}
.gn-btn-logout:hover{border-color:var(--accent);color:var(--accent)}
.gn-nav-user{display:flex;align-items:center;gap:.75rem}
.gn-nav-user .nav-row{display:contents}
.gn-user-type{font-size:.68rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;background:var(--border);color:var(--muted);padding:.1rem .4rem;border-radius:3px;margin-left:.3rem;vertical-align:middle}
.gn-user-name{font-size:.72rem;font-weight:500;color:var(--ink);border:1px solid var(--border);border-radius:var(--radius);padding:.3rem .55rem;line-height:1}
.gn-btn-bell{position:relative}
.gn-bell-badge{background:var(--accent);color:#fff;font-size:.58rem;font-weight:600;padding:.1rem .35rem;border-radius:999px;font-family:var(--font-mono);margin-left:.15rem}
@media(max-width:900px){.global-nav{padding:0 1.25rem}}
@media(max-width:600px){.global-nav{padding:0 1rem}}
@media(max-width:400px){.global-nav{padding:0 .75rem}}
.gn-hamburger{display:none;background:none;border:1px solid var(--border);border-radius:var(--radius);padding:.35rem .6rem;cursor:pointer;color:var(--muted);font-size:1.2rem;line-height:1;margin-left:auto}
.gn-hamburger:hover{color:var(--text);border-color:var(--muted)}
nav.gn-collapsed .gn-hamburger,
.global-nav.gn-collapsed .gn-hamburger{display:inline-flex;align-items:center}
nav.gn-collapsed,
.global-nav.gn-collapsed{flex-wrap:wrap;z-index:500}
nav.gn-collapsed .nav-right,
.global-nav.gn-collapsed .gn-right{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end;position:fixed;top:0;right:0;bottom:0;width:280px;max-width:80vw;padding:1.25rem 1rem;background:var(--paper);box-shadow:-4px 0 20px rgba(0,0,0,.12);z-index:500;transform:translateX(100%);transition:transform .25s ease;overflow-y:auto}
nav.gn-collapsed .nav-right.open,
.global-nav.gn-collapsed .gn-right.open{transform:translateX(0)}
nav.gn-collapsed .nav-right .nav-row,
.global-nav.gn-collapsed .gn-right .nav-row{display:flex;gap:.5rem;align-items:center;justify-content:flex-end}
nav.gn-collapsed .nav-right .nav-user,
.global-nav.gn-collapsed .gn-right .gn-nav-user{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}
nav.gn-collapsed .nav-right .nav-user .nav-row,
.global-nav.gn-collapsed .gn-right .gn-nav-user .nav-row{display:flex;gap:.5rem;align-items:center;justify-content:flex-end}
nav.gn-collapsed .nav-right .nav-actions,
.global-nav.gn-collapsed .gn-right .nav-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}

/* Desktop: nav-row wrappers are invisible */
.gn-right .nav-row{display:contents}

/* ── CSS-only mobile/tablet collapse ── */
/* ── Mobile menu (single implementation for ALL pages) ── */
.nav-mob-menu{display:none}
.nav-row-desktop{display:contents}
/* NOTE: breakpoint must match NAV_COLLAPSE_BP in common.js */
@media(max-width:1400px){
  /* Hamburger + nav collapse */
  .gn-hamburger{display:inline-flex!important;align-items:center}
  nav,.global-nav{flex-wrap:wrap;z-index:500}
  /* Slide-in panel (works for both .gn-right and .nav-right) */
  .gn-right,.nav-right{display:flex!important;flex-direction:column;gap:.5rem;align-items:flex-end;position:fixed;top:0;right:0;bottom:0;width:280px;max-width:80vw;padding:1.25rem 1rem;background:var(--paper);box-shadow:-4px 0 20px rgba(0,0,0,.12);z-index:500;transform:translateX(100%);transition:transform .25s ease;overflow-y:auto}
  .gn-right.open,.nav-right.open{transform:translateX(0)}
  /* Desktop rows hidden, mobile menu shown */
  .nav-row-desktop{display:none!important}
  .nav-mob-menu{display:flex;flex-direction:column;width:100%}
  .gn-btn-contact,.btn-contact{display:none!important}
  /* Nav row layout inside panel (exclude desktop rows that must stay hidden) */
  .gn-right .nav-row:not(.nav-row-desktop),.nav-right .nav-row:not(.nav-row-desktop){display:flex!important;gap:.5rem;align-items:center;justify-content:flex-end}
  .gn-right .gn-nav-user,.nav-right .nav-user{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}
  .gn-right .nav-actions,.nav-right .nav-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}
  /* Mobile link list styles */
  .nav-mob-user{font-size:.85rem;font-weight:500;color:var(--ink);padding:.25rem 0 .5rem;text-align:right}
  .nav-mob-hr{border:none;border-top:1px solid var(--border);margin:.35rem 0}
  .nav-mob-link{display:block;padding:.45rem 0;color:var(--ink);text-decoration:none;font-size:.82rem;font-weight:400;text-align:right;background:none;border:none;cursor:pointer;font-family:var(--font);width:100%}
  .nav-mob-link:hover{color:var(--accent)}
  .nav-mob-disclaimer{font-size:.68rem;color:var(--muted);text-align:right;font-style:italic;padding:.25rem 0}
  footer{display:none!important}
}
@media(max-width:600px){
  .gn-nav-user [href="/legal"],
  .nav-user [href="/legal"],
  .gn-nav-user [href="/deploy"],
  .nav-user [href="/deploy"]{display:none}
}
