/* Handbuch: Fließtext, Tabellen, Hinweiskästen */
.hb-prose { font-size: 1.0625rem; line-height: 1.7; color: #292524; }
.hb-prose > * + * { margin-top: 1rem; }

.hb-prose h2 {
  margin-top: 3rem;
  padding-top: 1.25rem;
  border-top: 1px solid #d6d3d1;
  font-size: 1.5rem;
  line-height: 1.25;
  font-weight: 700;
  color: #1c1917;
  scroll-margin-top: 1rem;
}
.hb-prose h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.hb-prose h3 { margin-top: 2rem; font-size: 1.15rem; font-weight: 700; color: #1c1917; scroll-margin-top: 1rem; }

.hb-prose a { color: #1c1917; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #a8a29e; }
.hb-prose a:hover { text-decoration-color: #1c1917; }
.hb-prose strong { color: #1c1917; }

.hb-prose ul, .hb-prose ol { padding-left: 1.5rem; }
.hb-prose ul { list-style: disc; }
.hb-prose ol { list-style: decimal; }
.hb-prose li { margin-top: .4rem; padding-left: .25rem; }
.hb-prose li::marker { color: #78716c; }
.hb-prose li > ul, .hb-prose li > ol { margin-top: .4rem; }

.hb-prose code {
  padding: .1em .35em;
  font-size: .9em;
  background: #f5f5f4;
  border: 1px solid #e7e5e4;
  border-radius: .3rem;
  overflow-wrap: anywhere;
}
.hb-prose pre {
  padding: 1rem 1.1rem;
  overflow-x: auto;
  font-size: .85rem;
  line-height: 1.6;
  color: #f5f5f4;
  background: #1c1917;
  border-radius: .6rem;
}
.hb-prose pre code { padding: 0; font-size: inherit; color: inherit; background: transparent; border: 0; overflow-wrap: normal; }

/* Tabellen: Rahmen mit seitlichem Scrollen auf schmalen Bildschirmen */
.hb-prose .hb-tabelle {
  overflow-x: auto;
  border: 1px solid #d6d3d1;
  border-radius: .6rem;
}
.hb-prose table { width: 100%; font-size: .95rem; line-height: 1.5; border-collapse: collapse; }
.hb-prose th { padding: .6rem .9rem; text-align: left; font-weight: 600; white-space: nowrap; background: #f5f5f4; border-bottom: 1px solid #d6d3d1; }
.hb-prose td { padding: .6rem .9rem; vertical-align: top; border-top: 1px solid #e7e5e4; }
.hb-prose tbody tr:first-child td { border-top: 0; }
.hb-prose td:first-child { min-width: 9rem; }

/* Hinweiskästen: !!! hinweis / tipp / achtung "Titel" */
.hb-prose .admonition {
  margin-top: 1.25rem;
  padding: .9rem 1.1rem 1rem;
  background: #fffbeb;
  border: 1px solid #fcd34d;
  border-left-width: 5px;
  border-radius: .6rem;
}
.hb-prose .admonition > * + * { margin-top: .5rem; }
.hb-prose .admonition-title { margin: 0 0 .25rem; font-weight: 700; color: #1c1917; }
.hb-prose .admonition.tipp { background: #f0fdf4; border-color: #86efac; }
.hb-prose .admonition.achtung { background: #fef2f2; border-color: #fca5a5; }
