* { box-sizing: border-box; }
body { margin: 0; color: #252525; background: #fff; font: 16px/1.5 Arial,sans-serif; }
main { max-width: 1300px; margin: auto; }
header, .map-controls, .map-help, footer { padding: 12px 20px; }
h1 { font-size: 28px; line-height: 1.2; margin: 8px 0 14px; }
p { margin: 8px 0; }
a { color: #174f80; }
.archive-note { background: #f3f3f3; border-left: 4px solid #a9191f; padding: 12px; font-size: 14px; }
.branches, .finder { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.finder { margin-top: 12px; }
button, select { font: inherit; min-height: 44px; border: 1px solid #777; border-radius: 3px; background: #fff; color: #222; padding: 8px 12px; }
button { cursor: pointer; }
button[aria-pressed="true"] { background: #99151b; color: #fff; border-color: #99151b; }
select { max-width: 100%; width: 350px; }
#map-status { margin-bottom: 0; font-size: 14px; }
.map-help { padding-top: 0; font-size: 14px; }
#map { height: 540px; background: #deebf0; border: 1px solid #9bb0ba; }
.installation-pin { background: #99151b; border: 1px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px #6c2226; }
.leaflet-popup-content h2 { font: bold 18px/1.3 Arial,sans-serif; margin: 0 0 8px; }
.leaflet-popup-content p { font: 14px/1.5 Arial,sans-serif; }
.leaflet-control-attribution { font-size: 12px; }
footer { font-size: 14px; }
:focus-visible { outline: 3px solid #006fba; outline-offset: 3px; }
a.interactive-preview-link:focus-visible { display: block; }
@media(max-width:600px) { header, .map-controls, .map-help, footer { padding-left: 12px; padding-right: 12px; } h1 { font-size: 24px; } #map { height: 420px; } .finder { align-items: stretch; } .finder label { width: 100%; } select { width: 100%; } }
