/* Header + Footer (Phase 2 Navigation, 10.10.2026). Gemeinsam für alle Seiten. */
[id]{scroll-margin-top:84px}
#navbar.site-nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:72px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(10,13,18,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.06);font-family:'Montserrat',system-ui,-apple-system,sans-serif;box-sizing:border-box}
#navbar *{box-sizing:border-box}
#navbar .nav-logo{display:flex;align-items:center;flex:0 0 auto}
#navbar .nav-logo img{height:56px;width:auto;object-fit:contain;display:block}
#navbar .nav-toggle{display:none}
#navbar .nav-panel{display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;gap:24px;height:100%}
#navbar .nav-menu{display:flex;align-items:stretch;gap:8px;list-style:none;margin:0 auto;padding:0;height:100%}
#navbar .nav-item{position:relative;display:flex;align-items:center;margin:0;padding:0;list-style:none}
#navbar .nav-item>a,#navbar .nav-trigger,#navbar .nav-item>.nav-pending{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;color:#9aa7b5;font:500 .9rem/1 'Montserrat',system-ui,sans-serif;letter-spacing:.01em;text-decoration:none;background:none;border:0;border-radius:8px;cursor:pointer;transition:color .2s}
#navbar .nav-item>a:hover,#navbar .nav-trigger:hover,#navbar .has-sub.is-open>.nav-trigger{color:#eef0f4}
#navbar .nav-chev{transition:transform .2s}
#navbar .has-sub.is-open>.nav-trigger .nav-chev{transform:rotate(180deg)}
#navbar a[aria-current="page"],#navbar .is-current>.nav-trigger,#navbar .nav-item>a.is-current{color:#eef0f4;box-shadow:inset 0 -2px 0 #b8d44a}
#navbar .nav-sub a[aria-current="page"]{box-shadow:inset 3px 0 0 #b8d44a;color:#eef0f4}
#navbar a:focus-visible,#navbar button:focus-visible{outline:2px solid #b8d44a;outline-offset:2px}
/* Panel Desktop */
#navbar .nav-sub{display:none;position:absolute;top:100%;left:0;width:260px;padding:10px;margin:0;background:#0e1219;border:1px solid rgba(255,255,255,.08);border-radius:10px;box-shadow:0 12px 36px rgba(0,0,0,.45);z-index:1001}
#navbar .nav-sub::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
#navbar .nav-sub-wide{width:600px;grid-template-columns:1fr 1fr;gap:8px}
#navbar .has-sub.is-open>.nav-sub{display:block}
#navbar .has-sub.is-open>.nav-sub-wide{display:grid}
#navbar:not(.nav-js) .has-sub:hover>.nav-sub,#navbar:not(.nav-js) .has-sub:focus-within>.nav-sub{display:block}
#navbar:not(.nav-js) .has-sub:hover>.nav-sub-wide,#navbar:not(.nav-js) .has-sub:focus-within>.nav-sub-wide{display:grid}
#navbar .nav-sub ul{list-style:none;margin:0;padding:0}
#navbar .nav-sub li{margin:0;padding:0}
#navbar .nav-group-title{margin:4px 12px 6px;font:700 .7rem/1.4 'Montserrat',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#6b7a8d}
#navbar .nav-sub a,#navbar .nav-sub .nav-pending{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;padding:10px 12px;border-radius:8px;color:#eef0f4;font:500 .875rem/1.3 'Montserrat',sans-serif;text-decoration:none}
#navbar .nav-sub a:hover,#navbar .nav-sub a:focus-visible{background:rgba(184,212,74,.12);color:#fff}
#navbar .nav-pending{cursor:default}
#navbar .nav-sub .nav-pending,#navbar .nav-item>.nav-pending{color:#6b7a8d}
.nav-pending-note{display:inline-block;margin-left:8px;padding:2px 6px;border:1px dashed rgba(154,167,181,.5);border-radius:4px;font-size:.62rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#9aa7b5;white-space:nowrap;line-height:1.3}
/* Aktionen */
#navbar .nav-actions{display:flex;align-items:center;gap:16px;flex:0 0 auto}
#navbar .nav-tel{color:#9aa7b5;font:500 .85rem/1 'Montserrat',sans-serif;text-decoration:none;white-space:nowrap}
#navbar .nav-tel:hover{color:#b8d44a}
#navbar .nav-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 22px;background:transparent;color:#b8d44a;border:1.5px solid #b8d44a;border-radius:10px;font:600 .875rem/1 'Montserrat',sans-serif;text-decoration:none;white-space:nowrap;transition:background .2s,transform .2s}
#navbar .nav-btn:hover{background:rgba(184,212,74,.12);transform:translateY(-1px)}
/* Relaunch11 (Bauhaus, 13.10.2026): Header-Container = Inhalts-Container 1200px, linke Kante = Textachse */
#navbar.site-nav{padding-left:max(5%,calc((100% - 1200px) / 2));padding-right:max(5%,calc((100% - 1200px) / 2))}
/* Mobil */
@media (max-width:960px){
  #navbar .nav-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;min-width:44px;padding:0 14px;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.14);border-radius:10px;color:#eef0f4;font:600 .9rem/1 'Montserrat',sans-serif;cursor:pointer}
  #navbar .nav-toggle-bars{display:flex;flex-direction:column;gap:4px}
  #navbar .nav-toggle-bars span{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;transition:transform .2s,opacity .2s}
  #navbar.is-menu-open .nav-toggle-bars span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  #navbar.is-menu-open .nav-toggle-bars span:nth-child(2){opacity:0}
  #navbar.is-menu-open .nav-toggle-bars span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  #navbar .nav-panel{display:none;position:fixed;top:72px;left:0;right:0;width:100%;height:calc(100vh - 72px);height:calc(100dvh - 72px);flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;background:#0a0d12;border-top:1px solid rgba(255,255,255,.06)}
  #navbar.is-menu-open .nav-panel,#navbar:not(.nav-js):focus-within .nav-panel{display:flex}
  #navbar .nav-menu{flex:1 1 auto;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:8px 5% 16px;height:auto;overflow-y:auto;overscroll-behavior:contain}
  #navbar .nav-item{display:block;border-bottom:1px solid rgba(255,255,255,.06)}
  #navbar .nav-item>a,#navbar .nav-trigger,#navbar .nav-item>.nav-pending{display:flex;width:100%;justify-content:space-between;min-height:52px;padding:0 4px;font-size:1rem;color:#eef0f4;border-radius:0}
  #navbar .nav-sub,#navbar .nav-sub-wide{position:static;width:auto;padding:0 0 10px;background:none;border:0;box-shadow:none;grid-template-columns:1fr}
  #navbar .nav-sub::before{display:none}
  #navbar .nav-sub a,#navbar .nav-sub .nav-pending{padding:10px 12px}
  #navbar .nav-actions{flex:0 0 auto;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding:14px 5% calc(14px + env(safe-area-inset-bottom));background:#0e1219;border-top:1px solid rgba(255,255,255,.08)}
  #navbar .nav-tel{display:inline-flex;align-items:center;min-height:44px;font-size:.95rem;color:#eef0f4}
}
html.nav-scroll-lock,html.nav-scroll-lock body{overflow:hidden}
@media (prefers-reduced-motion:reduce){#navbar *{transition:none!important}}
/* Footer */
footer.site-footer{background:#080b10;border-top:1px solid rgba(255,255,255,.06);padding:72px 5% 0;font-family:'Montserrat',system-ui,-apple-system,sans-serif;color:#9aa7b5}
.site-footer .sf-inner{max-width:1200px;margin:0 auto}
.site-footer .sf-brand{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:40px}
.site-footer .sf-logo img{height:48px;width:auto;display:block}
.site-footer .sf-slogan{margin:0;font:600 .95rem/1.4 'Montserrat',sans-serif;letter-spacing:.02em;color:#eef0f4}
.site-footer .sf-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px;padding-bottom:48px}
.site-footer .sf-title{margin:0 0 18px;font:700 .8rem/1.4 'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#9aa7b5}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.site-footer li{margin:0}
.site-footer a{color:#9aa7b5;text-decoration:none;font-size:.875rem;transition:color .2s}
.site-footer a:hover{color:#eef0f4}
.site-footer a:focus-visible{outline:2px solid #b8d44a;outline-offset:2px}
.site-footer .nav-pending{font-size:.875rem;color:#6b7a8d}
.site-footer .sf-contact p{margin:0 0 10px;font-size:.875rem;line-height:1.6;color:#9aa7b5}
.site-footer .sf-region{margin-top:14px!important;font-size:.8rem!important}
.site-footer .sf-du{margin-top:16px!important;padding-top:14px;border-top:1px solid rgba(255,255,255,.06);font-size:.8rem!important;line-height:1.6;color:#eef0f4!important}
.site-footer .sf-near{margin:0;padding:20px 0;border-top:1px solid rgba(255,255,255,.06);font-size:.85rem;line-height:1.9;color:#9aa7b5}
.site-footer .sf-near a{text-decoration:underline;text-underline-offset:3px}
.site-footer .sf-bottom{border-top:1px solid rgba(255,255,255,.06);padding:22px 0 28px;display:flex;flex-direction:column;gap:10px}
.site-footer .sf-seo,.site-footer .sf-copy{margin:0;font-size:.8rem;line-height:1.6;color:#9aa7b5}
.site-footer .sf-seo{color:var(--accent,#b8d44a)} /* p7: SEO-Satz im Lime-Akzent (Kontrast ca. 11:1 auf #080b10) */
@media (max-width:1024px){.site-footer .sf-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}}
@media (max-width:560px){.site-footer .sf-cols{grid-template-columns:1fr;gap:28px}.site-footer a,.site-footer .nav-pending{display:inline-flex;align-items:center;min-height:32px}}

/* Phase 3 (10.10.2026): Header-Anfragen als Kontur, damit pro Viewport nur eine gefüllte Lime-Aktion steht */
