/* ===================================================================
   Nexcraft-Labs — Kopfleiste. EINZIGE Definition fuer ALLE Seiten.
   Angelegt 2026-09-24.

   Vorgeschichte: Jede Seite trug ihre eigene Kopie der Kopf-Regeln,
   in mehreren lagen drei Bloecke uebereinander. Ergebnis waren
   unterschiedliche Masse (Menuebreite 439-455 px, Schalter 28 vs 32 px)
   und dadurch ein waagrecht wanderndes Menue, weil
   `justify-content: space-between` den freien Platz verteilt.

   Deshalb: eigener Namensraum .nx-top, feste Masse, eigene Farbwerte.
   Die alten `nav { ... }`-Regeln der Seiten greifen nicht mehr, weil es
   kein <nav>-Element mehr gibt.

   KEINE Regel fuer <body> hier — nur Ratgeber und die drei Produktseiten
   brauchen padding-top, die uebrigen haben Heldenbereiche, die unter der
   Leiste beginnen sollen. Das steht je Seite.
   =================================================================== */

.nx-top{
  --nx-bg:rgba(8,12,16,.92); --nx-text:#9ca3af; --nx-strong:#fff;
  --nx-line:rgba(0,229,255,.15); --nx-accent:#00E5FF; --nx-accent-dim:rgba(0,229,255,.1);
  --nx-cta-text:#0f172a;
}
:root[data-theme="light"] .nx-top{
  --nx-bg:rgba(248,250,252,.94); --nx-text:#4b5563; --nx-strong:#0f172a;
  --nx-line:rgba(15,23,42,.12); --nx-accent:#0891b2; --nx-accent-dim:rgba(8,145,178,.1);
  --nx-cta-text:#f8fafc;
}
@media(prefers-color-scheme:light){
  :root:not([data-theme="dark"]) .nx-top{
    --nx-bg:rgba(248,250,252,.94); --nx-text:#4b5563; --nx-strong:#0f172a;
    --nx-line:rgba(15,23,42,.12); --nx-accent:#0891b2; --nx-accent-dim:rgba(8,145,178,.1);
    --nx-cta-text:#f8fafc;
  }
}

.nx-top{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;
  align-items:center;justify-content:space-between;padding:0 2.5rem;height:56px;
  background:var(--nx-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--nx-line);
  font-family:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  box-sizing:border-box}
.nx-top *{box-sizing:border-box}

.nx-top .nx-left{display:flex;align-items:center;gap:0;flex:none}
.nx-top .nx-logo{display:flex;align-items:center;gap:.65rem;text-decoration:none;flex:none}
.nx-top .nx-logo-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;
  background:var(--nx-accent-dim);border:1px solid var(--nx-line);border-radius:6px;flex:none}
.nx-top .nx-logo-icon svg{width:16px;height:16px;display:block}
.nx-top .nx-logo-text{color:var(--nx-strong);font-size:.85rem;font-weight:700;
  white-space:nowrap;letter-spacing:-.01em}
.nx-top .nx-divider{width:1px;height:24px;background:var(--nx-line);margin:0 1.5rem;flex:none}
.nx-top .nx-status{display:flex;align-items:center;gap:.5rem;font-size:.7rem;font-weight:400;
  color:var(--nx-text);white-space:nowrap;flex:none}
.nx-top .nx-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;flex:none}

.nx-top .nx-links{display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:0;flex:none}
.nx-top .nx-links>li{display:flex;align-items:center;position:relative;margin:0}
.nx-top .nx-links>li>a{display:flex;align-items:center;height:56px;line-height:1;
  padding:0 1rem;color:var(--nx-text);text-decoration:none;font-size:.78rem;font-weight:500;
  letter-spacing:.5px;white-space:nowrap;transition:color .2s,background .2s}
.nx-top .nx-links>li>a:hover{color:var(--nx-strong)}
.nx-top .nx-links>li>a.active{color:var(--nx-accent);background:var(--nx-accent-dim);font-weight:500}
.nx-top .caret{font-size:9px;opacity:.65;margin-left:6px;transition:transform .2s}
.nx-top .nx-dd:hover .caret,.nx-top .nx-dd.open .caret{transform:rotate(180deg)}
.nx-top .nx-dd-menu{position:absolute;top:100%;left:0;min-width:210px;
  background:var(--nx-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid var(--nx-line);border-top:0;display:flex;flex-direction:column;padding:6px;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .18s,transform .18s,visibility .18s;z-index:1001}
.nx-top .nx-dd:hover .nx-dd-menu,.nx-top .nx-dd.open .nx-dd-menu{opacity:1;visibility:visible;transform:none}
.nx-top .nx-dd-menu a{height:auto;line-height:1.4;padding:9px 12px;border-radius:6px;
  white-space:nowrap;font-size:12px;display:flex;align-items:center;
  color:var(--nx-text);text-decoration:none}
.nx-top .nx-dd-menu a:hover,.nx-top .nx-dd-menu a.active{color:var(--nx-accent);background:var(--nx-accent-dim)}
.nx-top .nx-dd-2col{min-width:400px;display:grid;grid-template-columns:1fr 1fr}
.nx-top .nx-dd:last-of-type .nx-dd-menu{left:auto;right:0}

.nx-top .nx-right{display:flex;align-items:center;gap:0;flex:none}
.nx-top .nx-toggle{width:28px;height:28px;border-radius:50%;border:1px solid var(--nx-line);
  background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
  margin:0 1rem 0 .5rem;color:var(--nx-text);font-size:14px;flex:none;padding:0}
.nx-top .nx-toggle::before{content:'\2600'}
:root[data-theme="light"] .nx-top .nx-toggle::before{content:'\263E'}
@media(prefers-color-scheme:light){
  :root:not([data-theme="dark"]) .nx-top .nx-toggle::before{content:'\263E'}
}
.nx-top .nx-toggle:hover{color:var(--nx-accent);border-color:var(--nx-accent);background:var(--nx-accent-dim)}
.nx-top .nx-cta{background:var(--nx-accent);color:var(--nx-cta-text);padding:.45rem 1rem;
  border-radius:6px;font-size:.78rem;font-weight:700;text-decoration:none;white-space:nowrap;
  letter-spacing:0;flex:none}
.nx-top .nx-cta:hover{filter:brightness(1.15)}

.nx-top .nx-burger{display:none;background:none;border:1px solid var(--nx-line);border-radius:7px;
  width:40px;height:40px;cursor:pointer;flex-direction:column;justify-content:center;
  align-items:center;gap:4px;padding:0;margin-left:10px;flex:none}
.nx-top .nx-burger span{display:block;width:18px;height:2px;background:var(--nx-strong);
  border-radius:2px;transition:transform .25s,opacity .2s}
.nx-top .nx-burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nx-top .nx-burger.open span:nth-child(2){opacity:0}
.nx-top .nx-burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media(max-width:1180px){.nx-top .nx-status,.nx-top .nx-divider{display:none}}
@media(max-width:940px){
  .nx-top{padding:0 1.25rem}
  .nx-top .nx-links{display:none}
  .nx-top .nx-burger{display:flex}
  .nx-top .nx-links.open{display:flex;flex-direction:column;position:fixed;top:56px;left:0;right:0;
    background:var(--nx-bg);backdrop-filter:blur(16px);border-top:1px solid var(--nx-line);
    max-height:calc(100vh - 56px);overflow-y:auto;z-index:1002;padding:4px 0}
  .nx-top .nx-links.open>li{display:block;width:100%}
  .nx-top .nx-links.open>li>a{height:auto;padding:14px 22px;width:100%;
    border-bottom:1px solid var(--nx-line)}
  .nx-top .nx-links.open .nx-dd-menu{position:static;opacity:1;visibility:visible;transform:none;
    background:rgba(127,127,127,.06);border:0;padding:0;min-width:0;display:flex}
  .nx-top .nx-links.open .nx-dd-menu a{padding-left:40px}
  .nx-top .nx-dd-2col{grid-template-columns:1fr}
}
