/* Gemeinsame Regeln aller Seiten mit Kopfzeile (Start, Gehaltsatlas mit
   allen Unterseiten, Bewerbungstest, Lebenslauf, Links): Logo, Menü,
   Konto-Menü, Spenden-Fenster, Titel-Animation.

   Wird VOR dem seiteneigenen <style> geladen – eine Seite, die etwas anders
   braucht (die Startseite: klebende Kopfzeile, eigenes Konto-Menü), schreibt
   ihre Abweichung in ihr eigenes <style>, das gewinnt. Der Server setzt beim
   Ausliefern ?v=<Prüfsumme> ein, daher darf der Browser die Datei ein Jahr
   behalten. */
header { background:var(--surface); border-bottom:1px solid var(--border); padding:1rem 1.5rem; display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; position:sticky; top:0; z-index:5000; }
.logo { font-size:1.75rem; font-weight:700; background:linear-gradient(90deg,var(--accent),var(--accent2)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; white-space:nowrap; display:flex; align-items:center; gap:.6rem; text-decoration:none; }
.logo-img { height:64px; width:auto; }
.nav-reihe { display:flex; align-items:center; gap:2.2rem; margin-left:3rem; }
.nav-item { display:flex; flex-direction:column; align-items:center; gap:.3rem; text-decoration:none; color:var(--muted); font-size:.85rem; font-weight:600; border-bottom:2px solid transparent; padding:.3rem 0; }
.nav-item:hover { color:var(--text); }
.nav-item.aktiv { color:var(--text); border-bottom-color:#ffd766; }
.nav-piktogramm { font-size:1.4rem; line-height:1; display:flex; align-items:center; justify-content:center; }
.konto-bereich { display:flex; align-items:center; gap:8px; margin-left:auto; z-index:5; }
#btn-anmelden,.konto-eingeloggt button { background:var(--surface); border:1px solid var(--border); color:var(--text); padding:6px 14px; border-radius:8px; font-size:13px; cursor:pointer; }
#btn-anmelden:hover,.konto-eingeloggt button:hover { border-color:var(--accent); }
.konto-eingeloggt { display:flex; align-items:center; gap:8px; }
.konto-menu-wrap { position:relative; }
.konto-burger-btn { background:var(--surface); border:1px solid var(--border); border-radius:8px; padding:6px 10px; cursor:pointer; display:flex; align-items:center; }
.konto-burger-btn:hover { border-color:var(--accent); }
.konto-dropdown { display:none; position:absolute; top:calc(100% + 6px); right:0; background:var(--surface); border:1px solid var(--border); border-radius:10px; min-width:180px; box-shadow:0 8px 24px rgba(0,0,0,.4); z-index:500; overflow:hidden; }
.konto-dropdown.offen { display:block; }
.konto-dropdown-option { padding:11px 16px; font-size:13px; cursor:pointer; color:var(--text); white-space:nowrap; }
.konto-dropdown-option:hover { background:rgba(255,255,255,.06); }
.konto-dropdown-gefahr { color:#ef4444; border-top:1px solid var(--border); }
.konto-dropdown-gefahr:hover { background:rgba(239,68,68,.1); }
#konto-email { font-size:13px; color:var(--text); opacity:.85; }
.kaffee-modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.55); display:none; align-items:center; justify-content:center; z-index:5000; }
.kaffee-modal-box { background:var(--surface); border:1px solid var(--border); border-radius:12px; width:380px; max-width:92vw; max-height:88vh; overflow:hidden; position:relative; }
.kaffee-modal-close { position:absolute; top:8px; right:10px; background:rgba(0,0,0,.4); border:none; color:#fff; font-size:20px; width:28px; height:28px; border-radius:50%; cursor:pointer; z-index:5; line-height:1; }
.kaffee-modal-close:hover { background:rgba(0,0,0,.65); }
.kaffee-modal-box iframe { display:block; width:100%; height:560px; max-height:78vh; border:none; background:#fff; }
@media (max-width: 900px) {
  .nav-item span:not(.nav-piktogramm) { display:none; }
  .nav-item::after { content:attr(data-kurz); font-size:.62rem; font-weight:600; letter-spacing:.01em; }
  .nav-reihe { gap:1.2rem; margin-left:1rem; }
}
@media (max-width: 780px) {
  header.kopf-kompakt .nav-piktogramm { display:none; }
  header { flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem .8rem; padding:.8rem 1rem; }
  .logo { font-size:1.1rem; }
  .logo-img { height:42px; }
  .konto-bereich { order:1; margin-left:auto; flex-wrap:nowrap; gap:6px; }
  /* Abstand wächst mit der Breite bis 1.2rem (ab 400 px): mit festen
     1.2rem ragte "Spenden" auf 320 px 6 px über den Rand. */
  .nav-reihe { order:2; width:100%; justify-content:flex-start; margin-left:0; gap:min(1.2rem, 3vw); }
  #konto-email { display:none; }
  .anmelden-text { display:none; }
  #btn-anmelden { padding:8px !important; }
}
h1.seiten-titel::before { content:""; position:absolute; z-index:-1; pointer-events:none; inset:-1.6rem 0 -3rem; background:radial-gradient(ellipse closest-side at 50% 50%,rgba(15,17,23,.94) 0%,rgba(15,17,23,.8) 45%,rgba(15,17,23,0) 100%); }
@keyframes einblenden {
  from { opacity:0; transform:translateY(12px); }
}
h1.seiten-titel .wort { display:inline-block; opacity:.28; animation:wort-aufleuchten .8s ease-out forwards; animation-delay:calc(var(--i) * .32s + .3s); }
@keyframes wort-aufleuchten {
  0% { opacity:.28; color:var(--text); }
  45% { opacity:1; color:#ffd766; text-shadow:0 0 14px rgba(255,215,102,.55); }
  100% { opacity:1; color:var(--text); text-shadow:0 0 8px rgba(15,17,23,.95),0 0 18px rgba(15,17,23,.9),0 0 32px rgba(15,17,23,.8); }
}
@media (prefers-reduced-motion: reduce) {
  h1.seiten-titel .wort { animation:none; opacity:1; text-shadow:0 0 8px rgba(15,17,23,.95),0 0 18px rgba(15,17,23,.9),0 0 32px rgba(15,17,23,.8); }
}
