@charset "UTF-8";

/* Page "Rechtslage": box with law details, table of contents, law text (inside .plain-text.law) */
.law { max-width: 860px; }

.law-info { margin: 20px 0; padding: 16px 20px; background: #fff; border: 2px solid #039; }
.law .law-info h3, .law .law-toc h3 { margin: 0 0 10px; font-size: 20px; line-height: 1.3; color: #039; }
.law-info dl { margin: 0; display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; }
.law-info dt { font-weight: bold; color: #53616b; }
.law-info dd { margin: 0; }

.law-toc { margin: 24px 0; }
.law-toc ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.law-toc li { margin: 0; }
.plain-text .law-toc a { display: flex; align-items: center; box-sizing: border-box; height: 100%; min-height: 44px; padding: 8px 12px;
  background: #eaf0fa; border: 2px solid #039; color: #039; font-weight: bold; text-decoration: none; }
.plain-text .law-toc a:hover { background: #dbe6f7; }
.plain-text .law-toc a:focus { outline: 3px solid #ffe600; outline-offset: 2px; }

/* Section heading with a yellow bar, like .page-title but smaller */
.plain-text .law-heading { position: relative; margin: 36px 0 16px; padding: 0 0 0 20px; font-size: 22px; line-height: 1.25; font-weight: bold;
  color: #202020; background: none; border: 0; text-align: left; scroll-margin-top: 16px; }
.law-heading::before { content: ""; position: absolute; left: 0; top: 2px; bottom: 2px; width: 8px; background: #ffe600; }

.law-text > p { margin: 0 0 12px; }
.law-paragraphs { list-style: none; margin: 0 0 12px; padding: 0; }
.law-paragraphs > li { display: grid; grid-template-columns: 3em 1fr; gap: 0 4px; margin: 0 0 10px; }
.law-no { font-weight: bold; color: #53616b; }
.law-body { min-width: 0; }
.law-body p { margin: 0 0 6px; }
.law-body ol { margin: 0 0 6px; padding-left: 28px; }
.law-body ol ol { margin-top: 4px; }
.law-body ol.law-letters li::marker { content: counter(list-item, lower-alpha) ") "; }
.law-text p.law-repealed { font-style: italic; color: #53616b; }

.plain-text p.law-notice { margin: 32px 0 0; padding-top: 12px; border-top: 1px solid #c5ccd3; font-size: 14px; color: #53616b; }

@container (max-width: 560px) {
  .law-toc ul { grid-template-columns: 1fr; }
  .law-info dl { grid-template-columns: 1fr; gap: 0; }
  .law-info dd { margin-bottom: 8px; }
  .plain-text .law-heading { font-size: 20px; }
  .law-paragraphs > li { grid-template-columns: 2.6em 1fr; }
}
