/* ==========================================================================
   ESTATESUITE — Rechtsseiten (Impressum, Datenschutz, AGB)
   Nutzt Tokens/Footer aus style.css; ergänzt Lesetypografie.
   ========================================================================== */
body.legal-body {
  background: var(--bg, #fff);
  color: var(--text-l, #0e1322);
}
body.legal-body::after { display: none; } /* kein Film-Grain auf Lesetext */

/* Kopfzeile */
.legal-top {
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 16px clamp(20px, 4vw, 48px);
  background: rgba(255, 255, 255, 0.85);
  -webkit-backdrop-filter: blur(16px) saturate(1.4);
  backdrop-filter: blur(16px) saturate(1.4);
  border-bottom: 1px solid var(--line-l, rgba(14,19,34,0.1));
}
.legal-top__brand { display: inline-flex; align-items: center; gap: 12px; }
.legal-top__back {
  font-size: 13.5px;
  font-weight: 500;
  color: var(--muted-l, #59617a);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: color 0.3s;
}
.legal-top__back:hover { color: var(--blue, #2e6bff); }

/* Inhalt */
.legal {
  max-width: 820px;
  margin: 0 auto;
  padding: clamp(48px, 8vw, 96px) clamp(20px, 4vw, 48px) clamp(64px, 9vw, 120px);
}
.legal__eyebrow {
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--blue-ink, #1f4fd0);
  margin-bottom: 18px;
}
.legal h1 {
  font-family: var(--font-display, sans-serif);
  font-weight: 700;
  font-size: clamp(2rem, 4vw, 3rem);
  letter-spacing: -0.025em;
  line-height: 1.08;
  margin-bottom: 10px;
}
.legal__meta { font-size: 13px; color: var(--faint-l, #98a1b6); margin-bottom: 40px; }
.legal h2 {
  font-family: var(--font-display, sans-serif);
  font-weight: 600;
  font-size: clamp(1.25rem, 2vw, 1.6rem);
  letter-spacing: -0.015em;
  line-height: 1.2;
  margin: 44px 0 14px;
  padding-top: 28px;
  border-top: 1px solid var(--line-l-soft, rgba(14,19,34,0.06));
}
.legal h2:first-of-type { border-top: 0; padding-top: 0; }
.legal h3 {
  font-family: var(--font-display, sans-serif);
  font-weight: 600;
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  margin: 26px 0 10px;
}
.legal p { font-size: 15.5px; line-height: 1.7; color: var(--muted-l, #59617a); margin-bottom: 16px; }
.legal strong { color: var(--text-l, #0e1322); font-weight: 600; }
.legal a { color: var(--blue-ink, #1f4fd0); text-decoration: underline; text-underline-offset: 2px; }
.legal ul { margin: 0 0 18px; padding: 0; }
.legal li {
  position: relative;
  padding: 7px 0 7px 24px;
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--muted-l, #59617a);
}
.legal li::before {
  content: '';
  position: absolute;
  left: 2px; top: 15px;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--blue, #2e6bff);
}
.legal__card {
  background: var(--card-2, #f6f8fd);
  border: 1px solid var(--line-l-soft, rgba(14,19,34,0.06));
  border-radius: 14px;
  padding: 22px 24px;
  margin-bottom: 28px;
}
.legal__card p { margin: 0; line-height: 1.6; }
.legal__btn {
  appearance: none;
  border: 1px solid var(--line-l, rgba(14,19,34,0.12));
  background: #fff;
  border-radius: 99px;
  padding: 10px 18px;
  font: inherit;
  font-weight: 600;
  font-size: 14px;
  color: var(--text-l, #0e1322);
  cursor: pointer;
  transition: border-color 0.25s, color 0.25s;
}
.legal__btn:hover { border-color: var(--blue, #2e6bff); color: var(--blue, #2e6bff); }

/* Schlichter Footer für Rechtsseiten */
.legal-foot {
  border-top: 1px solid var(--line-l, rgba(14,19,34,0.1));
  background: var(--bg-2, #f3f6fc);
}
.legal-foot__inner {
  max-width: 820px;
  margin: 0 auto;
  padding: 32px clamp(20px, 4vw, 48px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 22px;
}
.legal-foot__links { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.legal-foot__links a, .legal-foot__links button {
  font: inherit;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  font-size: 13.5px;
  color: var(--muted-l, #59617a);
  transition: color 0.3s;
}
.legal-foot__links a:hover, .legal-foot__links button:hover { color: var(--blue, #2e6bff); }
.legal-foot__copy {
  width: 100%;
  font-family: var(--font-mono, monospace);
  font-size: 10.5px;
  letter-spacing: 0.1em;
  color: var(--faint-l, #98a1b6);
}
