.site-directory { background: #f3f6f4; color: #18342b; }
.site-directory [hidden] { display: none !important; }
.site-directory :is(h2,h3,strong,p,span,a) { overflow-wrap: anywhere; }
.site-directory :is(input,button) { font: inherit; }
.directory-tools { margin: 28px 0 12px; max-width: 900px; }
.directory-tools label { display: block; font-weight: 700; margin-bottom: 8px; }
.directory-search-row { display: flex; align-items: stretch; gap: 12px; }
.directory-search-row input { flex: 1; width: 100%; min-width: 0; min-height: 48px; border: 1px solid #668176; border-radius: 0; padding: 12px 14px; color: #18342b; background: #fff; }
.directory-search-row button { flex: 0 0 auto; min-height: 48px; padding: 10px 16px; border: 1px solid #244b3d; color: #fff; background: #244b3d; cursor: pointer; }
.directory-tools p, #directory-status { font-size: .95rem; line-height: 1.6; margin-block: 12px; }
.directory-navigation { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-block: 18px 30px; }
.directory-navigation a { display: inline-flex; align-items: center; min-height: 44px; color: #244b3d; text-underline-offset: 4px; }
.directory-group { scroll-margin-top: 110px; margin-block: 32px; }
.directory-group h3 { margin-bottom: 14px; font-size: 1.4rem; }
.directory-group h3 span { font-size: 1rem; font-weight: 400; }
.directory-group ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 28px; list-style: none; padding: 0; margin: 0; }
.directory-group li { min-width: 0; border-top: 1px solid #c9d6ce; }
.directory-group li a { display: flex; flex-direction: column; gap: 7px; padding: 17px 0; min-height: 48px; height: 100%; color: #18342b; text-decoration: none; }
.directory-group li a strong { font-size: 1rem; line-height: 1.45; font-weight: 650; }
.directory-group li a span { color: #40594e; line-height: 1.6; font-size: .93rem; }
.directory-group li a:hover strong { text-decoration: underline; text-underline-offset: 3px; }
.site-directory :is(a,input,button):focus-visible { outline: 3px solid #315e9c; outline-offset: 4px; }
#seiten-finden { scroll-margin-top: 100px; }
.directory-empty { padding: 18px; border-left: 3px solid #668176; background: #fff; }
.directory-back { min-height: 44px; display: inline-flex; align-items: center; }
@media (max-width: 767px) {
  .directory-group ul { grid-template-columns: minmax(0,1fr); }
  .directory-search-row { flex-direction: column; gap: 8px; }
  .directory-search-row button { align-self: flex-start; }
  .directory-navigation { display: grid; grid-template-columns: minmax(0,1fr); gap: 0; }
  .directory-navigation a { padding-block: 6px; }
}
