/* Generic content article (AGB, Impressum, Datenschutz, Über uns, Katalog) — centered card. */

.contentpage { max-width: 820px; margin: 26px auto 0; padding: 36px 40px 40px; }
.contentpage h1 { font-size: 30px; margin: 0 0 18px; }
.contentpage__img { padding: 18px; margin: 0 0 22px; }
.contentpage__img img { max-height: 300px; }
.contentpage__lead { font-size: 15.5px; margin-bottom: 20px; }
.contentpage__section { margin-bottom: 20px; }
.contentpage__section:last-child { margin-bottom: 0; }

.contentpage__downloads { margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--hairline); }
.contentpage__dlhead { font-size: 17px; margin: 0 0 10px; }
.contentpage__dl { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.contentpage__dl a { font-family: var(--font-head); font-weight: 700; font-size: 13.5px; }
.contentpage__dldesc { display: block; font-size: 12.5px; color: var(--meta-2); }

/* Article typography for legacy DB HTML (shortHtml / advantages / tech / delivery).
   Legacy markup: nested font tags, inline styles, tables — normalize defensively. */
.prose { font-size: 14.5px; line-height: 1.65; color: var(--body); }
.prose h1, .prose h2, .prose h3, .prose h4 {
  font-family: var(--font-head); color: var(--ink); line-height: 1.25; margin: 1.4em 0 .5em;
}
.prose h1 { font-size: 22px; font-weight: 800; }
.prose h2 { font-size: 19px; font-weight: 800; }
.prose h3 { font-size: 16px; font-weight: 800; }
.prose h4 { font-size: 14.5px; font-weight: 700; }
.prose > :first-child { margin-top: 0; }
.prose > :last-child { margin-bottom: 0; }
.prose p { margin: 0 0 1em; }
.prose ul, .prose ol { margin: 0 0 1em; padding-left: 22px; }
.prose li { margin-bottom: .35em; }
.prose a { color: var(--blue); text-decoration: underline; text-underline-offset: 2px; }
.prose a:hover { color: var(--blue-dark); }
.prose b, .prose strong { color: var(--ink); }
.prose img { max-width: 100%; height: auto; border-radius: var(--radius-thumb); }
.prose hr { border: 0; border-top: 1px solid var(--hairline); margin: 1.5em 0; }
.prose blockquote {
  margin: 0 0 1em; padding: 2px 0 2px 16px;
  border-left: 3px solid var(--blue-t2); color: var(--meta);
}
.prose table {
  border-collapse: collapse; margin: 0 0 1.2em; font-size: 13.5px;
  display: block; max-width: 100%; overflow-x: auto;
}
.prose th, .prose td {
  text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--hairline); vertical-align: top;
}
.prose th { font-family: var(--font-head); font-weight: 700; color: var(--ink); }

@media (max-width: 767px) {
  .contentpage { margin-top: 14px; padding: 22px 18px 26px; }
  .contentpage h1 { font-size: 22px; }
  .contentpage__img img { max-height: 200px; }
}
