.content-page,
.search-page { background: #fff; color: #20272b; }
.content-hero { padding: clamp(3rem, 7vw, 6.5rem) 0 clamp(2.5rem, 5vw, 4.5rem); background: linear-gradient(135deg, #f4f6f6, #fff 68%); border-bottom: 1px solid #dfe4e5; }
.content-hero h1, .search-page h1 { max-width: 980px; margin: .45rem 0 0; font-size: clamp(2.25rem, 5.5vw, 4.75rem); line-height: 1.03; }
.content-hero > .shell > p { max-width: 760px; margin: 1.25rem 0 0; font-size: 1.15rem; color: #566268; }
.content-hero time { display: block; margin-top: 1rem; color: #68747a; }
.breadcrumbs { display: flex; gap: .65rem; align-items: center; font-size: .95rem; color: #68747a; }
.breadcrumbs a { color: #b61926; }
.content-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: clamp(2.5rem, 7vw, 7rem); align-items: start; padding-top: clamp(2.75rem, 6vw, 5.5rem); padding-bottom: clamp(4rem, 8vw, 8rem); }
.prose { min-width: 0; font-size: 1.05rem; line-height: 1.75; }
.prose > :first-child { margin-top: 0; }
.prose h2 { margin: 2.6rem 0 .8rem; font-size: clamp(1.6rem, 3vw, 2.35rem); line-height: 1.18; }
.prose h3 { margin: 2.1rem 0 .65rem; font-size: 1.45rem; line-height: 1.25; }
.prose h4 { margin: 1.8rem 0 .55rem; font-size: 1.15rem; }
.prose p, .prose ul, .prose ol, .prose table, .prose figure { margin: 0 0 1.25rem; }
.prose a { color: #b61926; font-weight: 650; text-decoration: underline; text-decoration-thickness: .1em; text-underline-offset: .15em; overflow-wrap: anywhere; }
.prose a[data-file-type], .prose a[href*=".pdf" i], .prose a[href*="/dokument/"], .search-results a[data-file-type] { display: inline-flex; align-items: baseline; gap: .45em; }
.prose a[data-file-type]::before, .search-results a[data-file-type]::before { content: attr(data-file-type); flex: 0 0 auto; padding: .13em .38em; border-radius: 2px; color: #fff; background: #b61926; font-size: .66em; font-weight: 800; line-height: 1.35; text-decoration: none; }
.prose a[href*=".pdf" i]:not([data-file-type])::before, .prose a[href*="/dokument/"]:not([data-file-type])::before { content: "PDF"; flex: 0 0 auto; padding: .13em .38em; border-radius: 2px; color: #fff; background: #b61926; font-size: .66em; font-weight: 800; line-height: 1.35; text-decoration: none; }
.prose a.external-link:not([data-file-type])::after { content: "↗"; display: inline-block; margin-left: .28em; font-weight: 800; text-decoration: none; }
.prose img { display: block; max-width: 100%; height: auto; margin: 1.5rem 0; }
.prose table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
.prose th, .prose td { padding: .75rem; border: 1px solid #cfd6d8; text-align: left; vertical-align: top; }
.prose th { background: #eef1f1; }
.prose blockquote { margin: 1.5rem 0; padding: .2rem 0 .2rem 1.25rem; border-left: 4px solid #c51f2c; }
.content-aside { position: sticky; top: 120px; display: grid; gap: .7rem; padding: 1.7rem; background: #eef1f1; border-top: 4px solid #c51f2c; }
.content-aside p { margin: 0 0 .35rem; }
.content-aside > a:not(.primary-button) { color: #20272b; font-weight: 700; }
.search-page { padding: clamp(3.5rem, 7vw, 7rem) 0; min-height: 65vh; }
.results-search { max-width: 780px; margin: 2rem 0 3rem; }
.results-search label { display: block; margin-bottom: .4rem; font-weight: 700; }
.results-search > div { display: flex; }
.results-search input { flex: 1; min-width: 0; padding: .9rem 1rem; border: 2px solid #707b80; font: inherit; }
.results-search button { padding: .9rem 1.5rem; border: 0; background: #c51f2c; color: #fff; font: inherit; font-weight: 700; }
.result-count { margin-bottom: 1.4rem; color: #566268; }
.search-results { display: grid; gap: 0; max-width: 980px; margin: 0; padding: 0; list-style: none; border-top: 1px solid #d9dfe0; }
.search-results li { padding: 1.5rem 0; border-bottom: 1px solid #d9dfe0; }
.search-results li > span { color: #b61926; font-size: .88rem; font-weight: 800; text-transform: uppercase; }
.search-results h2 { margin: .3rem 0 .45rem; font-size: 1.35rem; }
.search-results h2 a { color: #20272b; }
.search-results p { max-width: 760px; margin: 0; color: #5a666c; }
.empty-state { max-width: 760px; padding: 2rem; background: #f2f4f4; border-left: 4px solid #c51f2c; }
#suggestion-items { display: grid; }
.suggestion-item { width: 100%; text-align: left; }
@media (max-width: 860px) { .content-layout { grid-template-columns: 1fr; } .content-aside { position: static; } }
@media (max-width: 600px) { .content-hero { padding-top: 2rem; } .content-layout { padding-top: 2rem; } .results-search > div { display: grid; gap: .5rem; } .results-search button { min-height: 48px; } }
