/* Kopfzeile für die Rechtsseiten (Impressum, Datenschutz, AGB, AV).
   Diese Seiten bringen ihre eigene Gestaltung mit und laden site.css bewusst
   nicht – site.css würde Überschriften, Absätze und Links mitgestalten. Bis
   26.10.2026 hatten sie deshalb gar keinen Kopf: Wer vom Fuß ins Impressum kam,
   fand am Handy keinen Weg zurück. Hier steht nur die Kopfzeile, alles unter
   .site-head, mit eigenen Farben, damit nichts in den Seiteninhalt durchsickert.
   Werte wie in site.css – bei einer Änderung dort hier mitziehen. */
.site-head {
  --k-bg: rgba(246, 247, 250, .88); --k-bg2: #FFFFFF; --k-card: #FFFFFF;
  --k-line: #E2E5EC; --k-line2: #CFD4DD; --k-tx: #14171C; --k-tx2: #4B515B;
  --k-tx3: #5F656F; --k-ind: #4A5DE8; --k-ind2: #3B4ED6;
  position: sticky; top: 0; z-index: 50;
  background: var(--k-bg);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--k-line);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  line-height: 1.4;
}
@media (prefers-color-scheme: dark) {
  .site-head {
    --k-bg: rgba(14, 15, 18, .88); --k-bg2: #0E0F12; --k-card: #16181D;
    --k-line: #2A2D33; --k-line2: #3A3E46; --k-tx: #F2F3F5; --k-tx2: #B4B9C2;
    --k-tx3: #8A9099; --k-ind: #5B6EF5; --k-ind2: #8C9AFF;
  }
}
.site-head .head-in {
  max-width: 1120px; margin: 0 auto; padding: 12px 20px;
  display: flex; align-items: center; gap: 14px;
}
.site-head .brand { display: flex; align-items: center; gap: 10px; color: var(--k-tx); font-weight: 750; font-size: 18px; text-decoration: none; }
.site-head .brand img { width: 32px; height: 32px; border-radius: 9px; }
.site-head .brand span i { font-style: normal; color: var(--k-ind2); }
.site-head .nav { margin-left: 22px; flex: 1; display: flex; align-items: center; gap: 4px; }
.site-head .nav a {
  color: var(--k-tx2); font-size: 15.5px; font-weight: 550; text-decoration: none;
  padding: 8px 11px; border-radius: 9px; white-space: nowrap;
}
.site-head .nav a:hover { color: var(--k-tx); background: var(--k-card); }
/* WEB-02 (02.11.2026): Menü „Anmelden“ und EIN Hauptknopf, wie in site.css. */
.site-head .nav .anm { margin-left: auto; position: relative; }
.site-head .nav .anm > summary {
  list-style: none; cursor: pointer; white-space: nowrap; display: block;
  color: var(--k-tx2); font-size: 15.5px; font-weight: 550; padding: 8px 11px; border-radius: 9px;
}
.site-head .nav .anm > summary::-webkit-details-marker { display: none; }
.site-head .nav .anm > summary::after { content: "▾"; margin-left: 6px; font-size: 12px; color: var(--k-tx3); }
.site-head .nav .anm[open] > summary, .site-head .nav .anm > summary:hover { color: var(--k-tx); background: var(--k-card); }
.site-head .nav .anm-liste {
  position: absolute; right: 0; top: calc(100% + 6px); min-width: 260px; z-index: 60;
  background: var(--k-bg2); border: 1px solid var(--k-line2); border-radius: 12px;
  padding: 6px; display: grid; gap: 2px;
}
.site-head .nav .anm-liste a { display: block; white-space: normal; color: var(--k-tx); font-weight: 650; }
.site-head .nav .anm-liste small { display: block; color: var(--k-tx2); font-weight: 500; font-size: 13.5px; }
.site-head .nav > .btn { margin-left: 6px; }
.site-head a:focus-visible, .site-head button:focus-visible, .site-head summary:focus-visible {
  outline: 3px solid var(--k-ind2); outline-offset: 2px;
}
.site-head .nav-toggle {
  margin-left: auto; display: none; background: var(--k-card); border: 1px solid var(--k-line);
  color: var(--k-tx); width: 42px; height: 42px; border-radius: 11px; font-size: 20px; cursor: pointer;
}
.site-head .nav a.btn {
  background: var(--k-ind); color: #fff; font-weight: 650; font-size: 15px;
  padding: 9px 15px; border-radius: 10px; border: 1px solid transparent;
}
.site-head .nav a.btn.ghost { background: transparent; color: var(--k-tx); border-color: var(--k-line2); }
@media (max-width: 900px) {
  .site-head .nav {
    position: fixed; inset: 61px 0 auto 0; margin: 0;
    flex-direction: column; align-items: stretch; gap: 2px;
    background: var(--k-bg2); border-bottom: 1px solid var(--k-line);
    padding: 10px 14px 18px; max-height: calc(100vh - 61px); overflow: auto;
  }
  .site-head .nav:not(.open) { display: none; }
  .site-head .nav a { padding: 12px 10px; font-size: 17px; }
  .site-head .nav a.btn { margin-top: 8px; margin-left: 0; text-align: center; }
  .site-head .nav .anm { margin-left: 0; }
  .site-head .nav .anm > summary { padding: 12px 10px; font-size: 17px; }
  .site-head .nav .anm-liste { position: static; border: 0; padding: 0 0 0 12px; min-width: 0; background: transparent; }
  .site-head .nav-toggle { display: block; }
}
