.kuh-landmarks { margin: 2rem 0 3rem; border-top: 1px solid var(--kb-color-gold-on-paper); padding-top: 1.5rem; }
#kuh-landmark-map { height: 22rem; max-width: 100%; border: 1px solid var(--kb-color-gold-on-paper); z-index: 0; }
.kuh-landmark-overview-intro { max-width: 46rem; margin-bottom: 1.25rem; }
.kuh-landmark-overview-intro h2 { margin-bottom: .5rem; }
.kuh-landmark-overview-intro p { margin: 0; }
.kuh-landmark-facts { margin: 1.4rem 0; }
.kuh-landmark-facts > div { border-top: 1px solid var(--kb-color-line); padding: .5rem 0; }
.kuh-landmark-facts dt { font-weight: 600; }.kuh-landmark-facts dd { margin: 0; }
.kuh-landmarks .leaflet-container { font-family: var(--kb-font-text); }.kuh-landmarks .leaflet-popup-content { font-size: 1rem; line-height: 1.45; }
.kuh-landmark-detail-location { margin-block: 1.75rem; }
.kuh-landmark-detail-location h2 { margin-bottom: .6rem; }
.kuh-landmark-detail-location #kuh-landmark-map { height: 18rem; }
.kuh-landmark-detail-location > p { margin-block: .6rem 0; font-size: .95rem; }

.kuh-landmark-legend { margin-block: 1rem 1.25rem; color: var(--kb-color-ink); }
.kuh-landmark-legend h3 { margin: 0 0 .5rem; font-size: 1.1rem; }
.kuh-landmark-legend ul { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: 0; padding: 0; list-style: none; font-size: 1rem; line-height: 1.4; }
.kuh-landmark-legend li { display: flex; align-items: center; gap: .35rem; max-width: 100%; }
.kuh-landmark-swatch { flex: 0 0 1rem; width: 1rem; height: 1rem; margin-top: .2rem; border: 2px solid var(--kb-color-ink); border-radius: 50%; box-sizing: border-box; }
.kuh-landmark-legend-filter { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: .35rem .45rem; border: 1px solid transparent; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.kuh-landmark-legend-filter[aria-pressed="true"] { border-color: var(--kb-color-gold-on-paper); background: var(--kb-color-paper-muted); }
.kuh-landmark-legend-filter:focus-visible, .kuh-landmark-show-map:focus-visible, .kuh-landmark-reset:focus-visible { outline: 3px solid var(--kb-color-gold-on-paper); outline-offset: 2px; }
.kuh-landmark-legend-info { display: inline-flex; align-items: center; min-height: 44px; font-size: .9rem; }
#kuh-landmark-map .leaflet-interactive:focus-visible { stroke-width: 4; }

.kuh-landmark-controls { display: grid; grid-template-columns: minmax(14rem, 1.5fr) repeat(2, minmax(10rem, 1fr)) auto; gap: .9rem; align-items: end; margin-block: 1.75rem .75rem; padding-block: 1rem; border-block: 1px solid var(--kb-color-line); }
.kuh-landmark-controls label { display: block; margin-bottom: .25rem; font-weight: 600; }
.kuh-landmark-controls input, .kuh-landmark-controls select, .kuh-landmark-reset { width: 100%; min-height: 44px; padding: .45rem .55rem; border: 1px solid var(--kb-color-ink); border-radius: 0; background: var(--kb-color-paper); color: var(--kb-color-ink); font: inherit; }
.kuh-landmark-reset { width: auto; cursor: pointer; }
.kuh-landmark-count { margin: .75rem 0 1.5rem; font-weight: 600; }
.kuh-landmark-empty { margin-block: 1.5rem; }
.kuh-landmark-card[hidden], .kuh-landmark-empty[hidden] { display: none; }
.kuh-landmark-show-map { display: inline-flex; align-items: center; min-height: 44px; margin-top: .25rem; padding: 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--kb-color-gold-on-paper); font: inherit; cursor: pointer; }

.kuh-landmark-archive-links { margin-block: 1.5rem; padding-block: 1rem; border-block: 1px solid var(--kb-color-gold-on-paper); }
.kuh-landmark-archive-links h2 { margin-top: 0; font-size: 1.3rem; }
.kuh-landmark-archive-links p, .kuh-landmark-archive-links ul { margin-block: .25rem; }
.kuh-landmark-archive-links li + li { margin-top: .5rem; }
.kuh-landmark-archive-links a { overflow-wrap: anywhere; }

@media(max-width: 800px) {
 .kuh-landmark-controls { grid-template-columns: 1fr 1fr; }
 .kuh-landmark-controls > div:first-child { grid-column: 1 / -1; }
}
@media(max-width: 600px) {
 #kuh-landmark-map { height: 18rem; }
 .kuh-landmark-controls { grid-template-columns: 1fr; }
 .kuh-landmark-controls > div:first-child { grid-column: auto; }
 .kuh-landmark-reset { width: 100%; }
}
