/* ==========================================================================
   REIFENTEK — Rechtsseiten (Impressum / Datenschutz)
   Nutzt die Gestaltungssprache von Konzept 01.
   ========================================================================== */

.k1-legal-page { background: var(--k1-paper); }

.k1-legal {
  padding: clamp(2rem, 4vw, 3.2rem) 0 clamp(4rem, 7vw, 6rem);
  background:
    radial-gradient(55% 40% at 90% 0%, rgba(109, 179, 189, .13), transparent 65%),
    var(--k1-paper);
}

.k1-legal-top {
  padding-bottom: clamp(1.6rem, 3vw, 2.6rem);
  border-bottom: 1px solid var(--k1-line-strong);
}
.k1-legal-back {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-bottom: clamp(1.8rem, 4vw, 3rem);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .02em;
  color: var(--k1-ink-soft);
  transition: color .25s ease, gap .25s ease;
}
.k1-legal-back:hover { color: var(--k1-moss); gap: .7rem; }

.k1-legal h1 {
  margin-top: .2rem;
  font-family: var(--font-display);
  font-size: clamp(3rem, 7.2vw, 6rem);
  font-weight: 400;
  line-height: .95;
  letter-spacing: -.05em;
  color: #6f1d2b;
}
.k1-legal-stand {
  margin-top: clamp(1rem, 2vw, 1.5rem);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--k1-ink-soft);
}

.k1-legal-grid {
  display: grid;
  grid-template-columns: minmax(15rem, 20rem) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
  padding-top: clamp(2rem, 4vw, 3.2rem);
}

.k1-legal-aside {
  position: sticky;
  top: 6.2rem;
  display: grid;
  gap: 1.4rem;
}
.k1-legal-card {
  padding: clamp(1.1rem, 2vw, 1.5rem);
  border: 1px solid var(--k1-line);
  border-radius: var(--k1-radius-sm);
  background: var(--k1-linen);
  font-size: .84rem;
  line-height: 1.7;
  color: var(--k1-ink-soft);
}
.k1-legal-card .k1-label { margin-bottom: .6rem; }
.k1-legal-card p + p { margin-top: .8rem; }
.k1-legal-card strong { color: var(--k1-ink); font-weight: 600; }
.k1-legal-card a {
  color: var(--k1-moss);
  border-bottom: 1px solid rgba(15, 74, 82, .28);
}
.k1-legal-card a:hover { color: var(--k1-ink); }

.k1-legal-toc {
  display: grid;
  gap: .3rem;
  padding-top: 1rem;
  border-top: 1px solid var(--k1-line);
}
.k1-legal-toc .k1-label { margin-bottom: .4rem; }
.k1-legal-toc a {
  padding: .22rem 0;
  font-size: .78rem;
  line-height: 1.45;
  color: var(--k1-ink-soft);
  transition: color .2s ease;
}
.k1-legal-toc a:hover { color: var(--k1-moss); }

.k1-legal-body { max-width: 74ch; min-width: 0; }
.k1-legal-body section {
  padding: clamp(1.4rem, 2.6vw, 2rem) 0;
  border-top: 1px solid var(--k1-line);
  scroll-margin-top: 6.5rem;
}
.k1-legal-body section:first-child { padding-top: 0; border-top: 0; }
.k1-legal-body h2 {
  margin-bottom: .7rem;
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2.4vw, 1.9rem);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.025em;
  color: var(--k1-ink);
}
.k1-legal-body h3 {
  margin: 1.3rem 0 .35rem;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -.01em;
  color: var(--k1-ink);
}
.k1-legal-body p,
.k1-legal-body li {
  font-size: .92rem;
  line-height: 1.75;
  color: var(--k1-ink-soft);
}
.k1-legal-body p + p { margin-top: .8rem; }
.k1-legal-body ul {
  display: grid;
  gap: .45rem;
  margin-top: .7rem;
  padding-left: 1.15rem;
  list-style: disc;
}
.k1-legal-body li::marker { color: var(--k1-moss); }
.k1-legal-body address {
  font-style: normal;
  font-size: .95rem;
  line-height: 1.8;
  color: var(--k1-ink);
}
.k1-legal-body address strong { font-weight: 600; }
.k1-legal-body a {
  color: var(--k1-moss);
  border-bottom: 1px solid rgba(15, 74, 82, .3);
}
.k1-legal-body a:hover { color: var(--k1-ink); border-color: var(--k1-ink); }
.k1-legal-body strong { color: var(--k1-ink); font-weight: 600; }

.k1-legal-note {
  margin-top: 1rem;
  padding: .95rem 1.1rem;
  border-left: 2px solid var(--k1-amber);
  border-radius: 0 .6rem .6rem 0;
  background: var(--k1-linen);
  font-size: .82rem;
  line-height: 1.7;
  color: var(--k1-ink-soft);
}
.k1-legal-note strong { color: var(--k1-ink); }

.k1-legal-meta {
  display: grid;
  gap: .2rem;
  margin-top: .7rem;
  font-family: var(--font-body);
}
.k1-legal-meta span {
  font-size: .68rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--k1-ink-soft);
}
.k1-legal-meta strong {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: .02em;
  color: var(--k1-ink);
  font-variant-numeric: tabular-nums;
}

@media (max-width: 1000px) {
  .k1-legal-grid { grid-template-columns: 1fr; }
  .k1-legal-aside { position: static; grid-template-columns: 1fr 1fr; align-items: start; }
  .k1-legal-body { max-width: none; }
}

@media (max-width: 700px) {
  .k1-legal-aside { grid-template-columns: 1fr; }
  .k1-legal h1 { font-size: clamp(2.6rem, 12vw, 4rem); }
  .k1-legal-body p,
  .k1-legal-body li { font-size: .88rem; }
  .k1-legal-card { font-size: .8rem; }
}
