/**
 * Legal pages — DT_Impressum / MO_Impressum, DT_Datenschutz / MO_Datenschutz,
 * DT_AGBs / MO_AGBs
 */

.page-legal {
  /* Primary pad + logo + gap under nav (Figma MO heading ≈ 247px) */
  padding-top: calc(1.5rem + 3.5rem + 8.5rem);
  padding-bottom: 5rem;
  color: var(--color-cd);
}

@media (min-width: 1024px) {
  .page-legal {
    /* Figma: heading ~223px from top → ~89px under nav (64+70) */
    padding-top: calc(1.5rem + 4.375rem + 5.5625rem);
    padding-bottom: 5rem;
  }
}

/* ——— Heading ——— */

.page-legal__heading {
  margin: 0 0 2rem;
  color: var(--color-cd);
  max-width: 49.8125rem; /* 797px */
}

@media (min-width: 1024px) {
  .page-legal__heading {
    margin-bottom: 1.75rem; /* ~28px → body (301-223-50) */
  }
}

/* ——— Grid ——— */

.page-legal__grid {
  align-items: start;
  row-gap: 3.5rem; /* MO: ~258px gap between stacked blocks ≈ spaced sections */
}

@media (min-width: 1024px) {
  .page-legal__grid {
    row-gap: var(--grid-gutter);
  }
}

.page-legal__col {
  color: var(--color-cd);
  min-width: 0;
}

.page-legal__col--narrow {
  max-width: 20.3125rem; /* 325px */
}

@media (min-width: 1024px) {
  .page-legal__col--narrow {
    max-width: none;
  }
}

.page-legal__col--wide {
  max-width: 37.9375rem; /* 607px */
}

@media (min-width: 1024px) {
  .page-legal__col--wide {
    max-width: none;
  }

  .page-legal--impressum .page-legal__col--wide {
    grid-column-start: 7;
  }
}

.page-legal__block + .page-legal__block {
  margin-top: 1.5rem; /* DT: 456-301-144 ≈ 11px; keep readable rhythm */
}

@media (min-width: 1024px) {
  .page-legal__block + .page-legal__block {
    margin-top: 0.6875rem;
  }
}

/* ——— Prose (WYSIWYG) ——— */

.page-legal__col p {
  margin: 0 0 1.5em;
}

.page-legal__col p:last-child {
  margin-bottom: 0;
}

.page-legal__col p:empty,
.page-legal__col p:has(> br:only-child) {
  margin-bottom: 1.5em;
  min-height: 0;
}

.page-legal__col strong,
.page-legal__col b {
  font-weight: 700;
}

.page-legal__col a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.page-legal__col a:hover,
.page-legal__col a:focus-visible {
  opacity: 0.75;
}

.page-legal__col ul {
  margin: 0 0 1.5em;
  padding-left: 1.5rem;
  list-style: disc;
}

.page-legal__col ul:last-child {
  margin-bottom: 0;
}

.page-legal__col li {
  margin: 0;
  padding: 0;
}

.page-legal__col li + li {
  margin-top: 0;
}

.page-legal__col h2,
.page-legal__col h3 {
  margin: 0 0 0.5em;
  font-family: var(--font-sans);
  font-size: var(--text-body-size);
  line-height: var(--text-body-line);
  font-weight: var(--font-weight-medium);
  color: var(--color-cd);
}

/* ——— AGBs — eine Spalte über die volle Breite ——— */

.page-legal__col--full {
  max-width: none;
}

/*
 * Figma: Absätze innerhalb eines Abschnitts stehen direkt untereinander,
 * vor jeder Abschnitts-Überschrift steht eine Leerzeile (24px).
 */
.page-legal--agb .page-legal__col p {
  margin: 0;
}

.page-legal--agb .page-legal__col h2 {
  margin: 1.5rem 0 0;
  font-size: var(--text-h2-small-size); /* 20px */
  line-height: var(--text-h2-small-line); /* 30px */
}

.page-legal--agb .page-legal__col > :first-child {
  margin-top: 0;
}
