/* Live-Zusätze Optik Nordheide. Erzeugt von design/scripts/build_live.py. Farben aus den Tokens in style.css. */

/* Consent-Banner */
.consent{position:fixed;left:0;right:0;bottom:0;z-index:60;color:#fff;background:rgba(53,51,51,.97);-webkit-backdrop-filter:blur(20px) saturate(115%);backdrop-filter:blur(20px) saturate(115%);border-top:1px solid rgba(255,255,255,.18);box-shadow:0 -18px 50px rgba(20,18,18,.22)}
.consent[hidden]{display:none}
.consent:focus{outline:none}
.consent-inner{display:flex;align-items:center;gap:48px;padding-block:24px calc(24px + env(safe-area-inset-bottom))}
.consent-copy{flex:1;min-width:0}
.consent-title{font:500 30px/1.05 var(--serif);letter-spacing:-.02em;color:#fff;margin:0 0 8px}
.consent-copy p{font-size:13px;line-height:1.7;color:var(--on-dark);max-width:780px}
.consent-copy a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex-shrink:0}
.consent-button{min-height:48px;padding:12px 22px;border:1px solid var(--white);background:var(--white);color:var(--ink);font-size:12px;font-weight:600;letter-spacing:.01em;line-height:1.3;white-space:nowrap;transition:background .18s,border-color .18s}
.consent-button:hover{background:#e2e0e0;border-color:#e2e0e0}
.consent :focus-visible{outline:2px solid var(--white);outline-offset:3px}
@media(max-width:800px){
  .consent-inner{flex-direction:column;align-items:stretch;gap:14px;padding-block:18px calc(18px + env(safe-area-inset-bottom))}
  .consent-title{font-size:26px;margin-bottom:6px}
  .consent-copy p{font-size:12.5px;line-height:1.65}
  .consent-button{padding:12px 10px;white-space:normal}
}

/* Rechtliches im Fuß */
.footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:2px 18px}
.footer-legal a,.footer-legal button{display:inline-flex;align-items:center;min-height:24px;padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.footer-legal a:hover,.footer-legal button:hover{color:var(--ink)}
.footer-legal [aria-current=page]{text-decoration:none;color:var(--ink)}

/* Impressum, Datenschutz, 404 */
.legal.wrap{max-width:860px;padding-block:80px 112px}
.legal h1{font-size:clamp(38px,6vw,80px);margin-bottom:30px;overflow-wrap:break-word;hyphens:auto}
.legal-lead{font-size:13px;margin:0 0 18px}
.legal-facts{margin:0;border-bottom:1px solid var(--line)}
.legal-facts>div{display:grid;grid-template-columns:220px 1fr;gap:4px 24px;padding:16px 0;border-top:1px solid var(--line)}
.legal-facts dt{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.legal-facts dd{margin:0;color:var(--ink);font-size:15px;line-height:1.7}
.legal-facts a,.legal-block a{text-decoration:underline;text-underline-offset:3px}
.legal-block{padding:28px 0;border-top:1px solid var(--line)}
.legal-facts+.legal-block{border-top:0;margin-top:20px}
.legal-block h2{font-size:30px;line-height:1.1;margin:0 0 12px}
.legal-block p{font-size:15px;line-height:1.8;margin:0 0 12px}
.legal-block p:last-child{margin-bottom:0}
.legal-inline-button{padding:0;border:0;background:none;font:inherit;font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.legal-draft{margin:0 0 44px;padding:18px 22px;border:1px solid var(--brand-red);border-left-width:5px;background:var(--white);color:var(--ink);font-size:14px;line-height:1.7}
.legal-draft strong{display:block;color:var(--brand-red);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.legal-todo{display:inline-block;margin:2px 0;padding:1px 8px;border:1px dashed var(--brand-red);background:var(--white);color:var(--brand-red);font-size:12px;font-weight:600;line-height:1.6}
.legal-stand{font-size:12px;margin-top:28px}
.notfound .notfound-links{display:flex;flex-wrap:wrap;align-items:center;gap:18px 32px;margin-top:36px}
.notfound p{font-size:15px;line-height:1.8;max-width:560px}
@media(max-width:800px){
  .legal.wrap{padding-block:48px 80px}
  .legal-facts>div{grid-template-columns:1fr}
  .legal-block h2{font-size:26px}
}
