/* munichon – Stylesheet (Schriften lokal eingebunden, keine Verbindung zu Google) */
@font-face {
  font-family: 'Lexend';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/lexend.woff2') format('woff2');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url('../fonts/jetbrains-mono.woff2') format('woff2');
}
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
img { max-width: 100%; }
body{margin:0;background:#F5F7F6}
a{color:#0F6B63}a:hover{color:#0A4A44}
h1,h2,h3{overflow-wrap:break-word;hyphens:auto}
[id]{scroll-margin-top:88px}
.nav-links{display:flex;align-items:center;gap:28px}
.lgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
.pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
.span2{grid-column:span 2}
@media (max-width: 980px){.lgrid,.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 760px){.nav-links{display:none}}
.fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.field:focus{outline:2px solid #0F6B63;outline-offset:1px;border-color:#0F6B63}
@media (max-width: 640px){.lgrid,.pgrid,.fgrid{grid-template-columns:minmax(0,1fr)}.span2{grid-column:auto}}
.danke { display: none !important; }
.danke.show { display: flex !important; }
.formfehler { margin: 0; background: #FDECEA; color: #8A1F11; border-radius: 10px; padding: 12px 14px; font-size: 15px; }
summary { list-style-position: outside; }

/* Cookie-Hinweis */
.cc { position: fixed; z-index: 100; left: 16px; right: 16px; bottom: 16px; margin-left: auto; max-width: 440px; box-sizing: border-box;
  background: #0E1A1F; color: #F2F6F4; border: 1px solid #284047; border-radius: 20px; padding: 22px;
  box-shadow: 0 24px 60px -12px rgba(0,0,0,0.55); font-family: 'Lexend', system-ui, sans-serif; line-height: 1.55; }
.cc[hidden] { display: none; }
.cc-title { margin: 0 0 8px; font-weight: 700; font-size: 18px; }
.cc-text { margin: 0 0 16px; font-size: 15px; color: #B9C9C4; }
.cc-text a { color: #5EE6C9; }
.cc-opts { background: #13252B; border-radius: 14px; padding: 6px 14px; margin: 0 0 16px; }
.cc-opts[hidden] { display: none; }
.cc-opt { display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; cursor: pointer; }
.cc-opt + .cc-opt { border-top: 1px solid #22383F; }
.cc-opt input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: #5EE6C9; flex: none; }
.cc-opt strong { display: block; font-size: 15px; }
.cc-desc { font-size: 14px; color: #A9BDB7; }
.cc-row { display: flex; flex-wrap: wrap; gap: 10px; }
.cc-btn { flex: 1 1 140px; font: inherit; font-weight: 600; font-size: 15px; border: 0; border-radius: 999px; padding: 12px 18px; min-height: 46px; cursor: pointer; }
.cc-accept { background: #5EE6C9; color: #0E1A1F; }
.cc-reject { background: #F2F6F4; color: #0E1A1F; }
.cc-save { width: 100%; margin: 6px 0 10px; background: transparent; color: #5EE6C9; border: 1px solid #5EE6C9; }
.cc-link { font: inherit; font-size: 14px; background: none; border: 0; color: #C5D3CE; text-decoration: underline; padding: 10px 0 0; min-height: 44px; cursor: pointer; }
.cc-btn:focus-visible, .cc-link:focus-visible, .cc-opt input:focus-visible { outline: 2px solid #5EE6C9; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
