/* Header & Navigation – weiß, 20px Padding; Mobile Fullscreen Drawer */

.site-header{
  position: fixed; left:0; right:0; top:0; z-index:1000;
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
  padding: var(--header-pad);
  min-height: var(--header-height);
  display:flex; align-items:center;
}
.nav-container{
  max-width:var(--container); width:100%; margin-inline:auto;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}

/* Brand */
.brand img{ display:block; width:var(--logo-w-mobile); height:auto; max-width:100%; }
@media (min-width:980px){ .brand img{ width:var(--logo-w-desktop); } }

/* Desktop menu */
.nav--desktop{ display:none; }
@media (min-width:980px){ .nav--desktop{ display:block; } }
.menu{ list-style:none; margin:0; padding:0; display:flex; gap:1.5rem; }
.menu a{ text-decoration:none; font-weight:700; color: var(--ci-dark); }
.menu a:hover{ opacity:.85; }

/* Toggle */
.nav-toggle{
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border:0; background:transparent; cursor:pointer; color:var(--ci-dark);
}
.nav-toggle i{ font-size:22px; line-height:0; }
@media (min-width:980px){ .nav-toggle{ display:none; } }

/* Mobile Drawer (Fullscreen, weiß) */
.mobile-drawer{ position: fixed; inset:0; z-index:1200; background:#fff; display:none; }
.mobile-drawer[hidden]{ display:none; }
body.nav-open .mobile-drawer{ display:block; }
.mobile-drawer__inner{ height:100%; display:flex; flex-direction:column; }
.mobile-drawer__head{ display:flex; align-items:center; justify-content:space-between;
  padding:16px 20px; border-bottom:1px solid rgba(0,0,0,.06); }
.mobile-drawer__head .brand img{ width:160px; }
.mobile-drawer__close{ width:44px; height:44px; border:0; background:transparent; cursor:pointer; color:var(--ci-dark); }
.mobile-drawer__close i{ font-size:26px; line-height:0; }
.mobile-drawer__nav{ padding: 16px 20px; }
.mobile-menu{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.75rem; }
.mobile-menu a{
  display:block; padding:.9rem 0; font-size:1.05rem; font-weight:800;
  text-decoration:none; color: var(--ci-dark); border-bottom:1px solid rgba(0,0,0,.06);
}

/* Adminbar fix */
@media (min-width:783px){ .admin-bar .site-header{ top:32px; } }
