/* Rechtliche Unterseiten (Impressum, Datenschutz, AGB): schlichtes Lese-Layout auf Basis der Tokens aus styles.css. */
.legal-header { border-bottom: 1px solid var(--beton); background: var(--kalk); }
.legal-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: var(--header-h); }
.legal-header__logo img { display: block; height: 44px; width: auto; }
.legal-header__back { font: 600 .9375rem/1 var(--font-display); color: var(--graphit); text-underline-offset: 4px; }

.legal { padding-block: clamp(48px, 7vw, 96px) clamp(64px, 9vw, 128px); max-width: calc(78ch + var(--gutter) * 2); }
.legal h1 { margin-top: 14px; font: 800 clamp(1.75rem, 5.4vw, 3.5rem)/1.05 var(--font-display); font-stretch: 112%; letter-spacing: -.03em; hyphens: auto; }
.legal__lead { margin-top: 18px; font-size: 1.125rem; color: var(--schiefer); }
.legal__body { margin-top: clamp(32px, 4vw, 48px); }
.legal__body h2 { margin-top: 40px; font: 700 1.25rem/1.25 var(--font-display); }
.legal__body h3 { margin-top: 28px; font: 700 1.0625rem/1.3 var(--font-display); }
.legal__body p { margin-top: 12px; }
.legal__body a { color: var(--blau); text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal__blank { height: 1.6em; border-bottom: 1px solid var(--stahl); max-width: 48ch; }
.legal__stand { margin-top: 40px !important; font-size: .875rem; color: var(--schiefer); }

.legal-footer { background: var(--graphit); color: var(--kalk); font-size: .9375rem; }
.legal-footer__inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; padding-block: 28px; }
.legal-footer nav { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.legal-footer a { color: var(--kalk); text-underline-offset: 3px; }
.legal-footer a[aria-current="page"] { color: var(--gelb); }

/* Partner-Seite: Karten mit Logo, Text und Link (Inhalte von der alten Partner-Seite). */
.partner { max-width: calc(1120px + var(--gutter) * 2); }
.partner .legal__lead, .partner .legal__body { max-width: 78ch; }
.partner__points { margin-top: 16px; display: grid; gap: 8px; }
.partner__points li { position: relative; padding-left: 26px; }
.partner__points li::before { content: ""; position: absolute; left: 0; top: .45em; width: 12px; height: 12px; background: var(--rot); transform: skewX(-6deg); }
.partner__h2 { margin-top: clamp(48px, 6vw, 72px); font: 700 1.5rem/1.2 var(--font-display); }
.pcards { margin-top: 24px; display: grid; gap: 16px; }
@media (min-width: 700px) { .pcards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .pcards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pcard { display: flex; flex-direction: column; gap: 10px; padding: clamp(20px, 3vw, 28px); background: var(--papier, #fff); border: 1px solid var(--beton); }
.pcard__logo { display: flex; align-items: center; height: 64px; margin-bottom: 6px; }
.pcard__logo img { max-height: 52px; max-width: 170px; width: auto; height: auto; object-fit: contain; mix-blend-mode: multiply; }
.pcard__name { font: 700 1.125rem/1.25 var(--font-display); }
.pcard__text { color: var(--schiefer); line-height: 1.55; flex: 1; }
.pcard__link { align-self: flex-start; margin-top: 6px; color: var(--blau); }
.partner__cta { margin-top: clamp(48px, 6vw, 72px); padding: clamp(24px, 4vw, 40px); background: var(--graphit); color: var(--kalk); }
.partner__cta h2 { font: 700 1.5rem/1.2 var(--font-display); }
.partner__cta p { margin-top: 10px; max-width: 60ch; color: rgba(243, 241, 236, .85); }
.partner__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.partner__cta .btn--ghost { --bd: var(--kalk); --fg: var(--kalk); --hover-bg: var(--kalk); --hover-fg: var(--graphit); }
