/* Nieuwe navigatie (lib/site-nav.cjs). Gebruikt de tokens uit styles.css. */

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- Header (desktop) ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:900;
  display:flex;
  align-items:center;
  gap:18px;
  min-height:58px;
  padding:8px max(18px, calc((100vw - 1480px) / 2 + 18px));
  border-bottom:1px solid color-mix(in srgb, var(--border) 68%, transparent);
  background:color-mix(in srgb, var(--panel) 96%, transparent);
  backdrop-filter:blur(12px);
}
.site-header-brand{
  flex:0 0 auto;
  color:var(--text);
  font-size:15px;
  font-weight:800;
  letter-spacing:-.01em;
  text-decoration:none;
  white-space:nowrap;
}
.site-header-primary{display:flex;align-items:center;gap:4px;min-width:0}
.site-header-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:0 12px;
  border-radius:10px;
  color:var(--muted);
  font-size:14px;
  font-weight:650;
  text-decoration:none;
  white-space:nowrap;
}
.site-header-link:hover{color:var(--text);background:color-mix(in srgb, var(--text) 6%, transparent)}
.site-header-link[aria-current="page"],
.site-header-menu-toggle[aria-expanded="true"]{
  color:var(--text);
  background:color-mix(in srgb, var(--primary) 14%, transparent);
}
.site-header-link:focus-visible,
.site-menu-item:focus-visible,
.site-header-avatar:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.site-nav-icon{width:20px;height:20px;flex:0 0 auto}
.site-nav-caret{width:16px;height:16px;transition:transform .15s ease}
.site-header-menu-toggle[aria-expanded="true"] .site-nav-caret{transform:rotate(180deg)}
.site-nav-icon,.site-nav-caret,.site-menu-icon,.site-menu-chevron,.site-menu-lock,.tab-svg{
  fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
.site-header-account{margin-left:auto;display:flex;align-items:center;gap:8px}
.site-header-avatar,
.site-menu-avatar{
  display:inline-grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:color-mix(in srgb, var(--primary) 22%, var(--panel-2));
  color:var(--text);
  font-size:13px;
  font-weight:800;
  text-decoration:none;
}

/* ---------- Menu-paneel (desktop) ---------- */
.site-menu-panel{
  position:absolute;
  left:max(18px, calc((100vw - 1480px) / 2 + 18px));
  right:max(18px, calc((100vw - 1480px) / 2 + 18px));
  top:calc(100% + 6px);
  max-height:calc(100vh - 90px);
  overflow:auto;
  padding:18px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--panel);
  box-shadow:0 18px 48px rgba(0,0,0,.28);
}
.site-menu-panel[hidden]{display:none}
.site-menu-panel .site-menu{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(250px, 1fr));
  gap:6px 22px;
  align-items:start;
}
.site-menu-panel .site-menu-account{grid-column:1 / -1}

/* ---------- Menu (gedeeld: paneel en /menu.html) ---------- */
.site-menu-account{
  display:block;
  padding:14px;
  margin-bottom:12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--panel-2);
}
.site-menu-account-guest,
.site-menu-account-member{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.site-menu-account-guest{flex-direction:column;align-items:flex-start}
.site-menu-account [hidden]{display:none}
.site-menu-account-text{display:flex;flex-direction:column;min-width:0;flex:1}
.site-menu-account-name{color:var(--text);font-size:15px}
.site-menu-account-sub{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis}
.site-menu-account-actions{display:flex;gap:8px;flex-wrap:wrap}
.site-menu-premium-link{color:var(--primary);font-size:13px;font-weight:650}
.site-menu-plan{
  padding:4px 10px;
  border-radius:999px;
  border:1px solid var(--border);
  color:var(--text);
  font-size:12px;
  font-weight:700;
  text-decoration:none;
}
html[data-nav-premium="1"] .site-menu-plan{border-color:color-mix(in srgb, var(--warning) 60%, var(--border));color:var(--warning)}

.site-menu-group{margin:0 0 14px}
.site-menu-group-title{
  margin:0 0 4px 4px;
  color:var(--muted);
  font-size:12px;
  font-weight:750;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.site-menu-list{list-style:none;margin:0;padding:0}
.site-menu-item{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  min-height:52px;
  padding:8px 8px;
  border:0;
  border-radius:10px;
  background:none;
  color:var(--text);
  font:inherit;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
}
.site-menu-item:hover{background:color-mix(in srgb, var(--text) 6%, transparent)}
.site-menu-icon{width:22px;height:22px;flex:0 0 auto;color:var(--muted)}
.site-menu-text{display:flex;flex-direction:column;min-width:0;flex:1}
.site-menu-title{font-size:15px;font-weight:650}
.site-menu-sub{color:var(--muted);font-size:13px;line-height:1.3}
.site-menu-chevron{width:18px;height:18px;flex:0 0 auto;color:var(--muted);opacity:.7}
.site-menu-lock{width:16px;height:16px;flex:0 0 auto;color:var(--muted)}

/* Zichtbaarheid per rol: items staan altijd op dezelfde plek (geen verschuivende
   menu's), alleen beheer/LED-bord/account verschijnen pas bij de juiste rol. */
html:not([data-nav-auth="member"]) .site-menu-group[data-requires="auth"]{display:none}
html[data-nav-auth="member"] .site-menu-lock-wrap{display:none}
html:not([data-nav-admin="1"]) [data-requires="admin"]{display:none}
html:not([data-nav-led="1"]) [data-requires="led_board"]{display:none}
html:not([data-nav-hue="1"]) [data-requires="hue"]{display:none}

/* ---------- /menu.html ---------- */
.site-menu-page-main{
  max-width:720px;
  margin:0 auto;
  padding:18px 16px calc(var(--mobile-tabbar-h, 0px) + 24px);
}
.site-menu-page-title{margin:4px 4px 14px;font-size:22px}

/* ---------- Mobiel ---------- */
.tab-svg{width:22px;height:22px;display:block}
@media (max-width:960px){
  .site-header{display:none}
  html[data-nav-v2="1"] .mobile-tabbar .tab-item{border-color:transparent;background:none}
  html[data-nav-v2="1"] .mobile-tabbar .tab-item.is-active,
  html[data-nav-v2="1"] .mobile-tabbar .tab-item[aria-current="page"]{
    color:var(--primary);
    background:color-mix(in srgb, var(--primary) 12%, transparent);
  }
  html[data-nav-v2="1"] .mobile-tabbar .tab-item.is-active .tab-svg,
  html[data-nav-v2="1"] .mobile-tabbar .tab-item[aria-current="page"] .tab-svg{stroke-width:2.3}
}
/* Desktop: de oude account/modules-blokken in de feed-zijbalk zijn vervangen door header + Menu. */
@media (min-width:961px){
  html[data-nav-v2="1"] .home-sidebar [data-sidebar-group="menu"]{display:none}
}

/* Oude ingangen (bijv. accounttegels) blijven tot NAV_V2 aan staat, voor een zuivere nulmeting. */
html[data-nav-v2="1"] .nav-v1-only{display:none!important}
