/* Legal pages (Terms, Privacy, Cookies) */
.legal-layout {
  display:grid;
  gap:var(--space-6);
  padding:28px 0 var(--space-16);
}
.legal-meta {
  display:flex;
  flex-wrap:wrap;
  gap:6px var(--space-5);
  margin-top:18px;
  font-size:var(--fs-15);
  color:var(--color-muted);
}
.legal-meta strong {
  color:var(--color-text);
}
.kp {
  padding:22px 22px 18px;
  border-radius:var(--radius-xl);
  background:var(--color-surface-alt);
}
.kp h2 {
  font-size:var(--fs-12_5);
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--color-warn-text);
  margin-bottom:var(--space-2);
}
.kp li {
  display:flex;
  gap:var(--space-3);
  align-items:flex-start;
  padding:var(--space-2) 0;
  font-size:var(--fs-16_5);
  line-height:1.5;
  color:var(--color-text-soft);
}
.kp li::before {
  content:"";
  flex:none;
  width:7px;
  height:7px;
  border-radius:var(--radius-round);
  background:var(--color-primary);
  margin-top:10px;
}
.kp p.kpn {
  margin-top:var(--space-2);
  font-size:var(--fs-14_5);
  color:var(--color-warn-text);
}
.legal-doc {
  min-width:0;
}
.legal-doc section {
  scroll-margin-top:88px;
  padding:26px 0;
  border-top:1px solid var(--color-border);
}
.legal-doc section:first-child {
  border-top:0;
  padding-top:0;
}
.legal-doc h2 {
  display:flex;
  gap:var(--space-3);
  align-items:baseline;
  font-family:var(--font-heading);
  font-weight:600;
  font-size:var(--fs-26);
  line-height:1.15;
  letter-spacing:-.01em;
  color:var(--color-text);
  margin-bottom:var(--space-3);
}
.legal-doc h2 b {
  flex:none;
  color:var(--color-accent);
  font-weight:600;
}
.legal-doc p {
  font-size:var(--font-size-md);
  line-height:1.65;
  color:var(--color-text-soft);
  max-width:700px;
}
.legal-doc p+p {
  margin-top:var(--space-3);
}
.legal-doc ul {
  max-width:700px;
  margin:10px 0;
}
.legal-doc li {
  position:relative;
  padding:5px 0 5px var(--space-6);
  font-size:var(--font-size-md);
  line-height:1.55;
  color:var(--color-text-soft);
}
.legal-doc li::before {
  content:"";
  position:absolute;
  left:5px;
  top:16px;
  width:6px;
  height:6px;
  border-radius:var(--radius-round);
  background:var(--color-primary);
}
.legal-doc a {
  font-weight:600;
}
.legal-doc .terms-note {
  margin-top:14px;
  padding:14px var(--space-4);
  border-radius:var(--radius-lg);
  background:var(--color-surface-alt);
  font-size:var(--font-size-sm);
  line-height:1.5;
  color:var(--color-text-soft);
  max-width:700px;
}
.legal-toc {
  display:none;
}
.legal-doc .ctable {
  max-width:700px;
  margin:var(--space-3) 0;
  background:var(--color-white);
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
  overflow:hidden;
}
.legal-doc .ctable div {
  display:grid;
  gap:2px;
  padding:14px var(--space-4);
  border-top:1px solid var(--color-border-faint);
}
.legal-doc .ctable div:first-child {
  border-top:0;
}
.legal-doc .ctable strong {
  font-size:var(--fs-16_5);
  color:var(--color-text);
}
.legal-doc .ctable span {
  font-size:var(--font-size-sm);
  color:var(--color-text-mid);
}
@media (min-width:860px){
  .legal-layout {
    grid-template-columns:260px minmax(0,1fr);
    gap:var(--space-20);
    padding:var(--space-14) 0 104px;
    align-items:start;
  }
  .legal-toc {
    display:block;
    position:sticky;
    top:var(--sticky-offset);
  }
  .legal-toc .lab {
    font-size:var(--fs-12_5);
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--color-muted);
    margin-bottom:10px;
  }
  .legal-toc a {
    display:block;
    padding:var(--space-2) 0 var(--space-2) 14px;
    border-left:2px solid var(--color-border);
    font-size:var(--font-size-sm);
    line-height:1.35;
    color:var(--color-text-soft);
    text-decoration:none;
  }
  .legal-toc a:hover {
    border-left-color:var(--color-accent);
    color:var(--color-accent);
  }
  .legal-doc h2 {
    font-size:var(--font-size-xl);
  }
  .legal-doc p,.legal-doc li {
    font-size:var(--fs-18);
  }
}
