/* Einheitliche Kopfzeile + Fußzeile für ALLE Seiten von alexhausmann.com.
   Eins zu eins nach der Startseite (styles.css: .topbar / .nav / .footer, Stand 05.11.2026).
   Eigene Klassen (ahk-*) und eigene Schriftnamen, damit das CSS der jeweiligen Seite nichts verändert.
   Markup kommt aus tools/kopf-fuss.mjs (Vorlage assets/partials/). Nicht pro Seite ändern. */

@font-face { font-family: 'AHK Bebas'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/web/bebas-neue-latin-c0416bee.woff2?v=a7c90c8924) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'AHK Bebas'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/web/bebas-neue-latin-ext-c5577728.woff2?v=16c95ce45a) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'AHK Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/web/jetbrains-mono-latin-3ff86386.woff2?v=14425ba9c6) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'AHK Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/web/jetbrains-mono-latin-ext-f5e36aa8.woff2?v=505dfba8ec) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

/* ---------- Grundzustand: nichts von der Seite erben ---------- */
.ahk-top, .ahk-top *, .ahk-nav, .ahk-nav *, .ahk-burger, .ahk-burger *, .ahk-foot, .ahk-foot * {
  box-sizing: border-box; margin: 0; padding: 0; border: 0; float: none;
  font-style: normal; font-variant: normal; text-decoration: none; text-shadow: none; word-spacing: normal;
  text-indent: 0; white-space: normal; background-image: none; box-shadow: none; outline-offset: 2px;
  min-width: 0; max-width: none; min-height: 0; opacity: 1; filter: none; transform: none;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.ahk-top *::before, .ahk-top *::after, .ahk-foot *::before, .ahk-foot *::after,
.ahk-nav *::before, .ahk-nav *::after, .ahk-foot::before, .ahk-foot::after, .ahk-top::before, .ahk-top::after { content: none; display: none; }

/* ---------- Kopfzeile ---------- */
body:has(> .ahk-top) { padding-top: 60px; }
.ahk-top.ahk-top {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50; width: auto; height: auto;
  display: block; background: rgba(14, 14, 12, 0.92); border-bottom: 0.5px solid #2a2823;
  font-family: Inter, system-ui, -apple-system, 'Segoe UI', sans-serif; font-size: 16px; line-height: 1.6;
  font-weight: 400; letter-spacing: normal; text-transform: none; color: #F5EFDE; text-align: start;
}
@media (min-width: 769px) {
  .ahk-top.ahk-top { -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
}
.ahk-top .ahk-top-in {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 32px; max-width: 1200px; margin: 0 auto; width: auto;
}
.ahk-top a.ahk-logo, .ahk-top a.ahk-logo:hover, .ahk-top a.ahk-logo:visited {
  display: block; font-family: 'AHK Bebas', 'Bebas Neue', Impact, sans-serif; font-size: 20px; font-weight: 400;
  letter-spacing: 2.5px; line-height: 1.6; color: #F5EFDE; text-transform: none; background: none;
}
.ahk-top .ahk-logo .ahk-dot { display: inline; color: #D4A017; font: inherit; letter-spacing: inherit; }

.ahk-nav.ahk-nav {
  display: flex; gap: 32px; align-items: center; position: static; width: auto; height: auto; background: none;
  font-family: 'AHK Mono', 'JetBrains Mono', Menlo, monospace; font-size: 11px; font-weight: 400;
  letter-spacing: 2px; line-height: 1.6; text-transform: uppercase; text-align: start;
}
.ahk-nav.ahk-nav a, .ahk-nav.ahk-nav a:visited {
  display: inline; color: #DDD5C0; font: inherit; letter-spacing: inherit; text-transform: inherit;
  background: none; transition: color 0.2s; border-radius: 0;
}
.ahk-nav.ahk-nav a:hover { color: #D4A017; }
.ahk-nav.ahk-nav a.ahk-akademie {
  color: #D4A017; border: 1px solid rgba(212, 160, 23, 0.45); padding: 6px 12px; border-radius: 4px;
  margin-left: 4px; transition: background 0.15s ease, border-color 0.15s ease;
}
.ahk-nav.ahk-nav a.ahk-akademie:hover { background: rgba(212, 160, 23, 0.12); border-color: #D4A017; color: #D4A017; }

.ahk-burger.ahk-burger {
  display: none; background: transparent; border: 0.5px solid rgba(212, 160, 23, 0.4); padding: 9px 10px;
  cursor: pointer; width: 40px; height: 40px; flex-direction: column; justify-content: center; align-items: center;
  gap: 4px; margin-left: auto; transition: border-color 0.2s ease; position: relative; z-index: 110; border-radius: 0;
  font-family: Arial, sans-serif; font-size: 13.3333px; line-height: normal; letter-spacing: normal; color: #000;
}
.ahk-burger .ahk-line { font-family: Arial, sans-serif; font-size: 13.3333px; line-height: normal; }
.ahk-burger.ahk-burger:hover { border-color: #D4A017; }
.ahk-burger .ahk-line {
  display: block; width: 18px; height: 1.5px; background: #D4A017;
  transition: transform 0.25s ease, opacity 0.2s ease; transform-origin: center;
}
.ahk-backdrop { display: none; }

@media (max-width: 768px) {
  body:has(> .ahk-top) { padding-top: 52px; }
  .ahk-top.ahk-top { background: #0E0E0C; }
  .ahk-burger.ahk-burger {
    display: flex; position: fixed; top: 14px; right: 18px; z-index: 1100; background: rgba(14, 14, 12, 0.85);
  }
  .ahk-nav.ahk-nav {
    display: flex; flex-direction: column; align-items: center; gap: 0; position: fixed; top: 0; right: 0; bottom: 0; left: auto;
    width: min(82vw, 320px); height: 100vh; background-color: #0E0E0C; border-left: 0.5px solid rgba(212, 160, 23, 0.4);
    padding: 72px 24px 24px; margin: 0; transform: translateX(100%); transition: transform 0.3s ease; z-index: 1000;
    font-size: 14px; letter-spacing: 2.5px; text-transform: uppercase; box-shadow: none; overflow-y: auto;
  }
  .ahk-nav.ahk-nav a, .ahk-nav.ahk-nav a:visited {
    display: block; color: #F5EFDE; padding: 16px 0; border-bottom: 0.5px solid rgba(212, 160, 23, 0.15);
  }
  .ahk-nav.ahk-nav a.ahk-akademie {
    color: #D4A017; border: none; border-bottom: 0.5px solid rgba(212, 160, 23, 0.15); padding: 16px 0;
    border-radius: 0; margin-left: 0; margin-top: 12px; background: transparent;
  }
  .ahk-nav.ahk-nav.ahk-open { transform: translateX(0); box-shadow: -20px 0 50px rgba(0, 0, 0, 0.7); }
  .ahk-burger.ahk-x .ahk-line:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
  .ahk-burger.ahk-x .ahk-line:nth-child(2) { opacity: 0; }
  .ahk-burger.ahk-x .ahk-line:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }
  .ahk-backdrop {
    display: block; position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.7); opacity: 0;
    pointer-events: none; transition: opacity 0.3s ease; z-index: 999;
  }
  .ahk-backdrop.ahk-open { opacity: 1; pointer-events: auto; }
}
@media (max-width: 600px) {
  .ahk-top .ahk-top-in { padding: 14px 18px; }
  .ahk-top a.ahk-logo { font-size: 17px; letter-spacing: 2px; }
}

/* ---------- Fußzeile ---------- */
.ahk-foot.ahk-foot {
  display: block; position: static; width: auto; float: none; clear: both;
  background: #131210; border-top: 0.5px solid #2a2823; padding: 64px 0 32px; margin: 0;
  font-family: Inter, system-ui, -apple-system, 'Segoe UI', sans-serif; font-size: 16px; font-weight: 400; line-height: 1.6;
  letter-spacing: normal; text-transform: none; color: #F5EFDE; text-align: start;
}
.ahk-foot .ahk-shell { display: block; max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.ahk-foot .ahk-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 48px; margin-bottom: 48px; }
.ahk-foot .ahk-grid > div { display: block; }
.ahk-foot h4.ahk-h {
  display: block; font-family: 'AHK Bebas', 'Bebas Neue', Impact, sans-serif; font-size: 16px; font-weight: 700;
  letter-spacing: 2px; line-height: 1.6; color: #D4A017; margin: 0 0 20px; text-transform: uppercase; text-align: start;
}
.ahk-foot ul.ahk-ul { display: block; list-style: none; margin: 0; padding: 0; }
.ahk-foot li.ahk-li {
  display: list-item; list-style: none; font-family: 'AHK Mono', 'JetBrains Mono', Menlo, monospace; font-size: 12px;
  font-weight: 400; letter-spacing: 1px; line-height: 1.6; padding: 6px 0; margin: 0; color: #DDD5C0; text-transform: none;
}
.ahk-foot li.ahk-li a, .ahk-foot li.ahk-li a:visited {
  display: inline; color: #DDD5C0; font: inherit; letter-spacing: inherit; background: none; transition: color 0.2s;
  border: 0; padding: 0; overflow-wrap: normal;
}
.ahk-foot li.ahk-li a:hover { color: #D4A017; }
.ahk-foot .ahk-disc {
  display: block; border-top: 0.5px solid #2a2823; padding-top: 32px; font-family: 'AHK Mono', 'JetBrains Mono', Menlo, monospace;
  font-size: 10px; font-weight: 400; letter-spacing: 0.5px; line-height: 1.7; color: #B8B0A0; max-width: 900px; text-transform: none;
}
.ahk-foot .ahk-disc p { display: block; font: inherit; letter-spacing: inherit; color: inherit; }
.ahk-foot .ahk-disc p + p { margin-top: 10px; }
.ahk-foot .ahk-bottom {
  display: flex; justify-content: space-between; align-items: center; margin-top: 32px; padding-top: 24px;
  border-top: 0.5px solid #2a2823; font-family: 'AHK Mono', 'JetBrains Mono', Menlo, monospace; font-size: 10px;
  font-weight: 400; letter-spacing: 1.5px; line-height: 1.6; color: #6a655a; text-transform: none;
}
.ahk-foot .ahk-bottom > div { display: block; }
.ahk-foot .ahk-bottom .ahk-logo-s {
  font-family: 'AHK Bebas', 'Bebas Neue', Impact, sans-serif; font-size: 14px; letter-spacing: 2px; color: #B8B0A0;
}
/* Reihenfolge wie in styles.css: 768 → 480 → 360 → 700 → 600 → 420 (spätere Regel gewinnt) */
@media (max-width: 768px) { .ahk-foot .ahk-grid { grid-template-columns: repeat(2, 1fr); gap: 32px 20px; } }
@media (max-width: 480px) { .ahk-foot .ahk-grid { grid-template-columns: repeat(2, 1fr); gap: 28px 16px; } }
@media (max-width: 360px) { .ahk-foot .ahk-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 12px; } }
@media (max-width: 700px) { .ahk-foot .ahk-grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; } }
@media (max-width: 600px) {
  .ahk-foot .ahk-shell { padding: 0 18px; }
  .ahk-foot .ahk-bottom { flex-direction: column; text-align: center; gap: 10px; }
}
@media (max-width: 420px) { .ahk-foot .ahk-grid { grid-template-columns: 1fr; } }
