/* Gemeinsame Styles: Datenschutz-Hinweis, Platzhalter-Markierung, Rechtstexte */
:root{
  --bg:#FAFAFB;--card:#FFFFFF;--ink:#0E1116;--ink-2:#3B4250;--muted:#6B7280;--line:#E7E8EC;
  --grid:rgba(14,17,22,.045);--navy:#14264A;--teal:#2E7C86;--ochre:#D9A441;--brick:#B5462C;
  --navy-t:rgba(20,38,74,.10);--teal-t:rgba(46,124,134,.13);--ochre-t:rgba(217,164,65,.17);--brick-t:rgba(181,70,44,.12);
  --dark:#0C0E13;--ease:cubic-bezier(.22,.8,.2,1);
}

/* Platzhalter, die noch ersetzt werden müssen */
.todo{background:#FFF1B8;color:#6B4E00;border-radius:4px;padding:0 .2em;box-decoration-break:clone;-webkit-box-decoration-break:clone}

/* ---------- Datenschutz-Hinweis ---------- */
.cc{position:fixed;left:16px;bottom:16px;z-index:200;width:min(420px,calc(100vw - 32px));background:#fff;color:var(--ink);
  border:1px solid var(--line);border-radius:22px;padding:22px 22px 18px;box-shadow:0 30px 70px -25px rgba(14,17,22,.45);
  font-family:"Urbanist",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:15px;line-height:1.5;animation:ccIn .45s var(--ease)}
.cc[hidden]{display:none}
.cc.cc-wide{width:min(520px,calc(100vw - 32px))}
@keyframes ccIn{from{opacity:0;transform:translateY(16px)}}
.cc h2{margin:0 0 8px;font-size:1.15rem;font-weight:700;letter-spacing:-.02em}
.cc p{margin:0;color:var(--ink-2)}
.cc a{text-decoration:underline;text-underline-offset:2px}
.cc-opts{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.cc-opts[hidden]{display:none}
.cc-o{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#FBFBFC;cursor:pointer}
.cc-o input{margin-top:3px;width:18px;height:18px;accent-color:var(--teal);flex:none}
.cc-o b{display:block;font-weight:700;color:var(--ink)}
.cc-o span{color:var(--ink-2);font-size:14px}
.cc-b{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;align-items:center}
.cc-b button{font:inherit;font-weight:700;font-size:14.5px;padding:11px 16px;border-radius:12px;cursor:pointer;border:1px solid var(--ink);background:#fff;color:var(--ink);transition:background .2s,color .2s}
.cc-b button:hover{background:var(--ink);color:#fff}
.cc-b button[hidden]{display:none}
.cc-b .cc-link{border:0;background:none;padding:11px 6px;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.cc-b .cc-link:hover{background:none;color:var(--teal)}
.cc :focus-visible{outline:2px solid var(--teal);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.cc{animation:none}}

/* ---------- Rechtstexte (Impressum, Datenschutz) ---------- */
.legal-body{margin:0;background:var(--bg);color:var(--ink);font-family:"Urbanist",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
.legal-body a{color:inherit}
.legal-top{position:sticky;top:0;z-index:10;background:rgba(250,250,251,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.legal-top .in{max-width:820px;margin:0 auto;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.legal-top .logo{font-weight:800;font-size:20px;letter-spacing:-.04em;text-decoration:none}
.legal-top .logo span{background:linear-gradient(90deg,var(--teal),var(--navy));-webkit-background-clip:text;background-clip:text;color:transparent}
.legal-top .back{font-weight:700;font-size:14.5px;text-decoration:none;padding:9px 14px;border-radius:12px;background:#F1F2F5}
.legal-top .back:hover{background:#E4E6EB}
.legal{max-width:820px;margin:0 auto;padding:64px 24px 96px}
.legal h1{font-size:clamp(2.4rem,6vw,3.6rem);font-weight:700;letter-spacing:-.045em;line-height:1.02;margin:0}
.legal .lead{color:var(--ink-2);margin-top:14px;font-size:1.1rem}
.legal h2{font-size:1.45rem;font-weight:700;letter-spacing:-.03em;line-height:1.2;margin:48px 0 12px;padding-top:24px;border-top:1px solid var(--line)}
.legal h3{font-size:1.1rem;font-weight:700;margin:26px 0 6px}
.legal p,.legal li{color:var(--ink-2);max-width:68ch}
.legal p{margin:0 0 12px}
.legal ul{padding-left:1.2em;margin:0 0 12px}
.legal li{margin-bottom:6px}
.legal address{font-style:normal;color:var(--ink);font-weight:600;line-height:1.7}
.legal .box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px;margin:18px 0}
.legal .note{background:var(--ochre-t);border-radius:14px;padding:14px 16px;font-size:15px;color:#5B4210;margin:22px 0}
.legal dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 22px;margin:0}
.legal dt{color:var(--muted);font-weight:600}
.legal dd{margin:0;font-weight:600}
.legal [hidden]{display:none}
@media(max-width:560px){.legal dl{grid-template-columns:1fr}.legal dt{margin-top:8px}}
.legal-foot{border-top:1px solid var(--line)}
.legal-foot .in{max-width:820px;margin:0 auto;padding:26px 24px 40px;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14.5px;color:var(--muted)}
.legal-foot a,.legal-foot button{color:var(--muted);text-decoration:none;font:inherit;background:none;border:0;padding:0;cursor:pointer}
.legal-foot a:hover,.legal-foot button:hover{color:var(--ink)}
.legal-body :focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:6px}
