/* ==========================================================================
   Legal pages — Impressum (grid of labelled blocks, as on live) and
   Datenschutz (long-form prose).
   ========================================================================== */

@layer components {
  .legal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
    gap: var(--space-6) var(--space-7);
  }

  .legal-block {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    overflow-wrap: anywhere;
  }

  .legal-block--wide {
    grid-column: 1 / -1;
  }

  .legal-block__title {
    font-size: var(--text-2xl);
    font-weight: var(--font-medium);
    line-height: var(--leading-snug);
    text-transform: uppercase;
  }

  .legal-block a,
  .legal-prose a {
    color: var(--color-accent);
  }

  .legal-attribution {
    margin-block-start: var(--space-8);
  }

  /* Datenschutz */
  .legal-prose h1 {
    font-size: var(--text-4xl);
    text-transform: uppercase;
  }

  .legal-prose h2 {
    font-size: var(--text-3xl);
    font-weight: var(--font-medium);
    text-transform: uppercase;
  }

  .legal-prose h3 {
    font-size: var(--text-2xl);
    font-weight: var(--font-medium);
  }
}
