
/* PLAXIA Legal Pages — based on the V10 design system */
body.legal-page {
  background:
    radial-gradient(circle at 12% 3%, rgba(56,72,216,.08), transparent 25rem),
    radial-gradient(circle at 88% 14%, rgba(118,92,255,.045), transparent 22rem),
    var(--paper);
}

.legal-hero { padding-top:24px; }
.legal-hero-card {
  position:relative;
  overflow:hidden;
  min-height:390px;
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(350px,.6fr);
  align-items:center;
  gap:18px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  background:var(--surface-veil);
  box-shadow:var(--shadow);
}
.legal-hero-copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(42px,5vw,76px);
}
.legal-hero-copy h1 {
  margin:24px 0 18px;
  font-family:Lexend,Inter,sans-serif;
  font-size:clamp(58px,7vw,104px);
  line-height:.96;
  letter-spacing:-.06em;
  font-weight:600;
}
.legal-hero-copy > p {
  max-width:760px;
  margin:0;
  color:var(--muted);
  font-size:clamp(17px,1.55vw,21px);
  line-height:1.65;
}
.legal-hero-side {
  position:relative;
  overflow:hidden;
  min-height:0;
  align-self:center;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:15px;
  padding:28px 24px;
  border-radius:calc(var(--radius-xl) - 10px);
  color:#fff;
  background:
    radial-gradient(circle at 84% 10%, rgba(255,255,255,.19), transparent 12rem),
    linear-gradient(145deg,#4755e4 0%,#3340c8 60%,#2733a8 100%);
}
.legal-hero-side::before {
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  right:-100px;
  top:-130px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.14),transparent 68%);
  filter:blur(10px);
}
.legal-hero-side::after { display:none; }
.legal-side-top { position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.legal-side-kicker { font-size:11px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; opacity:.82; }
.legal-side-logo { width:30px; height:36px; object-fit:contain; filter:brightness(0) invert(1); opacity:.9; }
.legal-side-links { position:relative; z-index:1; display:grid; gap:8px; }
.legal-side-link {
  display:grid;
  grid-template-columns:30px 1fr auto;
  align-items:center;
  gap:12px;
  min-height:50px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:17px;
  background:rgba(255,255,255,.07);
  color:rgba(255,255,255,.78);
  transition:.2s ease;
}
.legal-side-link:hover,
.legal-side-link.is-active { background:var(--surface); color:var(--ink); transform:translateX(-2px); }
.legal-side-link > span:first-child { font-size:11px; font-weight:700; opacity:.55; }
.legal-side-link strong { font-family:Lexend,Inter,sans-serif; font-size:15px; font-weight:600; }
.legal-side-link .arrow-icon { width:14px; height:14px; flex-basis:14px; -webkit-mask-size:14px 14px; mask-size:14px 14px; }

.legal-main {
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:22px;
  align-items:start;
  padding-top:28px;
  padding-bottom:120px;
}
.legal-toc { position:sticky; top:100px; }
.legal-toc-card {
  padding:20px;
  border:1px solid var(--line);
  border-radius:26px;
  background:var(--surface-veil);
  box-shadow:0 12px 32px rgba(20,24,34,.04);
}
.legal-toc-title {
  display:block;
  margin:2px 8px 13px;
  color:var(--muted-2);
  font-size:10px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.legal-topics { display:grid; gap:3px; }
.legal-topics .legal-topics__title { display:none; }
.legal-topics a {
  display:flex;
  align-items:center;
  min-height:41px;
  padding:0 10px;
  border-radius:13px;
  color:var(--muted);
  font-size:13px;
  font-weight:600;
  transition:.18s ease;
}
.legal-topics a:hover { color:var(--ink); background:var(--surface-soft); }
.legal-topics a[aria-current="true"] { color:var(--blue); background:var(--blue-soft); }
.legal-toc-note {
  margin-top:14px;
  padding:15px 16px;
  border-radius:18px;
  background:var(--blue-soft);
  color:var(--blue-ink);
  font-size:12px;
  line-height:1.55;
}
.legal-toc-note strong { display:block; margin-bottom:4px; color:var(--blue-ink); }

.legal-content-card {
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:34px;
  background:var(--surface);
  box-shadow:0 18px 52px rgba(20,24,34,.05);
}
.legal-content { padding:6px 42px 20px; }
.legal-note {
  margin:36px 0 8px;
  padding:20px 22px;
  border:1px solid rgba(56,72,216,.10);
  border-radius:20px;
  background:var(--tint-blue);
  color:var(--blue-ink);
  font-size:14px;
  line-height:1.7;
}
.legal-note strong { color:var(--blue-ink); }
.legal-section {
  scroll-margin-top:110px;
  padding:40px 0 42px;
  border-top:1px solid var(--line);
}
.legal-content > .legal-section:first-child,
.legal-note + .legal-section { border-top:0; }
.legal-section h2 {
  margin:0 0 17px;
  font-family:Lexend,Inter,sans-serif;
  font-size:clamp(27px,2.5vw,38px);
  line-height:1.12;
  letter-spacing:-.035em;
  font-weight:500;
}
.legal-section h3 {
  margin:28px 0 12px;
  font-family:Lexend,Inter,sans-serif;
  font-size:20px;
  letter-spacing:-.02em;
  font-weight:500;
}
.legal-section p {
  margin:0;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.82;
  white-space:pre-line;
}
.legal-section p + p { margin-top:17px; }
.legal-section a {
  color:var(--blue);
  text-decoration:underline;
  text-decoration-color:rgba(51,68,199,.26);
  text-underline-offset:3px;
}
.legal-section a:hover { text-decoration-color:currentColor; }
.legal-section ul,
.legal-section ol {
  margin:18px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:9px;
}
.legal-section li {
  position:relative;
  padding:12px 14px 12px 39px;
  border:1px solid var(--line-soft);
  border-radius:15px;
  background:var(--surface-soft);
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}
.legal-section li::before {
  content:"";
  position:absolute;
  left:16px;
  top:18px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--blue);
  box-shadow:0 0 0 4px rgba(56,72,216,.08);
}
.legal-meta-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:22px;
}
.legal-meta-card {
  min-height:126px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:20px;
  padding:22px;
  border:1px solid var(--line-soft);
  border-radius:21px;
  background:var(--surface-soft);
}
.legal-meta-card span {
  color:var(--muted-2);
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.legal-meta-card strong {
  color:var(--ink);
  font-family:Lexend,Inter,sans-serif;
  font-size:17px;
  line-height:1.48;
  letter-spacing:-.02em;
}

.legal-switcher { padding-bottom:34px; }
.legal-switcher-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  margin-bottom:18px;
}
.legal-switcher-head h2 {
  margin:8px 0 0;
  font-family:Lexend,Inter,sans-serif;
  font-size:clamp(30px,3vw,46px);
  line-height:1.08;
  letter-spacing:-.04em;
  font-weight:500;
}
.legal-switcher-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.legal-switch-card {
  min-height:164px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:22px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:24px;
  background:var(--surface);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.legal-switch-card:hover { transform:translateY(-3px); box-shadow:0 14px 34px rgba(20,24,34,.06); }
.legal-switch-card.is-active { border-color:rgba(56,72,216,.16); background:var(--blue-soft); }
.legal-switch-card > span { color:var(--muted-2); font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.legal-switch-card strong { display:block; max-width:240px; font-family:Lexend,Inter,sans-serif; font-size:22px; letter-spacing:-.03em; }
.legal-switch-card-bottom { display:flex; align-items:center; justify-content:space-between; gap:18px; color:var(--muted); font-size:12px; }
.legal-switch-card.is-active .legal-switch-card-bottom { color:var(--blue-ink); }

@media (max-width:1100px) {
  .legal-hero-card { grid-template-columns:1fr; }
  .legal-hero-side { min-height:0; }
  .legal-main { grid-template-columns:230px minmax(0,1fr); }
}

@media (max-width:820px) {
  .legal-hero { padding-top:12px; }
  .legal-hero-card { padding:10px; border-radius:30px; }
  .legal-hero-copy { padding:38px 22px 32px; }
  .legal-hero-copy h1 { font-size:clamp(52px,14vw,76px); }
  .legal-hero-side { min-height:0; padding:22px 20px; gap:12px; border-radius:23px; }
  .legal-main { display:block; padding-top:18px; padding-bottom:90px; }
  .legal-toc { position:static; margin-bottom:14px; }
  .legal-toc-card { padding:14px; border-radius:22px; }
  .legal-toc-title { margin:2px 7px 10px; }
  .legal-topics { display:flex; gap:7px; overflow-x:auto; padding-bottom:2px; scrollbar-width:none; }
  .legal-topics::-webkit-scrollbar { display:none; }
  .legal-topics a { flex:0 0 auto; min-height:38px; padding:0 12px; border-radius:999px; background:var(--surface-soft); }
  .legal-toc-note { display:none; }
  .legal-content-card { border-radius:28px; }
  .legal-content { padding:4px 24px 10px; }
  .legal-section { padding:34px 0 36px; }
  .legal-section p { font-size:15px; }
  .legal-meta-grid { grid-template-columns:1fr; }
  .legal-switcher-grid { grid-template-columns:1fr; }
}

@media (max-width:560px) {
  .legal-hero-side { min-height:0; }
  .legal-side-link { min-height:54px; }
  .legal-content { padding-inline:20px; }
  .legal-note { margin-top:26px; padding:17px 18px; }
  .legal-section h2 { font-size:29px; }
  .legal-meta-card { min-height:110px; }
  .legal-switcher-head { display:block; }
}

/* Inhaltsverzeichnis: kleine Schrift auf getönten Flächen braucht den
   kräftigeren Blau- bzw. Grauton, sonst bleibt es knapp unter 4,5:1. */
.legal-topics a { color: var(--muted); }
.legal-topics a[aria-current="true"] { color: var(--blue-ink); background: var(--blue-soft); }
.legal-switch-card > span { color: var(--muted); }
