.directory-filter{padding:1.1rem 1.25rem;background:#fff;border:1px solid var(--line);min-width:0}
.directory-search-row{display:flex;gap:.6rem;align-items:stretch}
.directory-search-row>input,.directory-search-row>.search-combobox{flex:1;min-width:0}
.directory-search-row>.button{flex:none;min-height:48px;padding:.65rem 1rem}
.directory-filter-options{margin-top:.5rem}
.directory-filter-options>summary{cursor:pointer;font-size:.85rem;font-weight:700;min-height:44px;padding:.65rem 0;line-height:1.5}
.directory-filter-options>summary>span{display:inline-block;font-size:.75rem;font-weight:500;margin-left:.35rem;color:var(--muted)}
.directory-filter-options>summary:focus-visible,.parks-map-toggle:focus-visible{outline:3px solid #075e9a;outline-offset:3px}
.directory-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:.75rem;padding:.5rem 0 .25rem}
.directory-filter-grid>div{min-width:0}
.directory-filter-grid>.button{min-height:48px;padding:.65rem 1rem}
.directory-active-filters{display:flex;flex-wrap:wrap;gap:.4rem;padding-top:.15rem}
.directory-active-filters a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.35rem .65rem;border:1px solid var(--line);font-size:.78rem;text-decoration:none;background:var(--paper)}
.directory-active-filters a:hover{background:var(--blue);border-color:var(--ink)}
.directory-active-filters span{font-size:1.2rem;line-height:1}
.parks-map-section{margin:1rem 0 1.5rem;border:1px solid var(--ink);background:#fff;min-width:0;scroll-margin-top:1rem}
.parks-map-toggle{padding:1rem 1.25rem;cursor:pointer;font-size:.92rem;line-height:1.5;list-style-position:outside;margin-left:1.25rem}
.parks-map-toggle>span{display:inline-block;vertical-align:middle}
.parks-map-toggle>span>span{display:block;font-size:.78rem;color:var(--muted);font-weight:400;margin-top:.1rem}
.parks-map-section[open]>.parks-map-toggle{border-bottom:1px solid var(--line);margin-left:0;padding-left:2.5rem}
.parks-map-heading{padding:1.4rem 1.5rem 0}
.parks-map-heading h2{font-size:clamp(1.6rem,3vw,2.35rem);margin-bottom:.6rem}
.parks-map-heading p{font-size:.92rem;max-width:78ch}
.parks-map-coverage{padding:0 1.5rem;font-size:.87rem;font-weight:650;margin-bottom:.75rem}
.parks-map-controls{display:flex;flex-wrap:wrap;align-items:end;gap:.85rem 1rem;padding:0 1.5rem 1.25rem}
.parks-map-controls>div{flex:1 1 260px;min-width:0;max-width:470px}
.parks-map-controls>label{flex-basis:100%;margin:0}
.parks-map-controls>select{flex:1 1 260px;max-width:470px}
.parks-map-controls button,.parks-map-controls>a{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
.parks-map-controls button{padding:.65rem 1rem;border:1px solid var(--ink);background:white;color:var(--ink);font:inherit;font-size:.9rem;font-weight:700}
.parks-map-controls button:hover{background:var(--blue)}
.parks-map-controls button:disabled{color:#66737a;background:#eef0f0;border-color:#b9c0c3;cursor:default}
.parks-map-controls>a{font-size:.9rem;font-weight:700}
.parks-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;border-block:1px solid var(--line);min-width:0}
.parks-map-canvas{min-width:0;width:100%;height:480px;background:#e5e8e4;z-index:0;font-family:inherit}
.parks-map-canvas img{max-width:none!important;max-height:none!important}
.parks-map-canvas:focus-visible{outline:3px solid #075e9a;outline-offset:-3px}
.parks-map-details{min-width:0;padding:1.5rem;background:var(--paper);border-left:1px solid var(--line);overflow-wrap:anywhere}
.parks-map-details h3{font-size:1.6rem;line-height:1.15;margin:0 0 1rem}
.parks-map-details p{font-size:.9rem;margin-bottom:1rem}
.parks-map-details .parks-map-operator{font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.parks-map-details .parks-map-location-note{font-size:.8rem;border-left:3px solid var(--line);padding-left:.75rem}
.parks-map-actions{display:flex;flex-direction:column;align-items:start;gap:1rem;margin:1.5rem 0}
.parks-map-actions .button{max-width:100%;text-align:center}
.parks-map-details .parks-map-source{font-size:.76rem;margin-bottom:0}
.parks-map-status{padding:1rem 1.5rem 0;font-size:.87rem;margin-bottom:.6rem;min-height:1.4rem}
.parks-map-note,[data-parks-map-fallback]{font-size:.8rem;color:var(--muted);padding:0 1.5rem;margin:.65rem 0 1.1rem}
[data-parks-map-fallback]{color:var(--ink)}
.parks-map-unavailable .parks-map-layout{display:block}
.parks-map-unavailable .parks-map-details{border-left:0}
.parks-map-marker,.parks-map-cluster{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;padding:0;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 5px #0007;cursor:pointer;line-height:1;letter-spacing:0;font-family:inherit;font-size:1rem;font-weight:800}
.parks-map-marker{background:var(--orange);color:#fff}
.parks-map-marker svg{display:block;width:22px;height:27px;overflow:visible;fill:currentColor;stroke:currentColor;stroke-width:1.5}
.parks-map-marker svg circle{fill:var(--orange);stroke:none}
.parks-map-marker:hover{background:#812810}
.parks-map-marker:hover svg circle{fill:#812810}
.parks-map-marker.is-selected{border:4px solid #fff;box-shadow:0 0 0 3px var(--ink),0 2px 8px #0007}
.parks-map-cluster{background:var(--ink);color:#fff;border:4px solid #b8d8e1;box-shadow:0 0 0 1px var(--ink),0 1px 5px #0007}
.parks-map-cluster:hover{background:#304f61}
.parks-map-marker:focus-visible,.parks-map-cluster:focus-visible{outline:4px solid #075e9a;outline-offset:3px;z-index:10000!important}
.parks-map-canvas .leaflet-control-zoom a{width:44px;height:44px;line-height:44px;color:var(--ink);background:#fff}
.parks-map-canvas .leaflet-control-zoom a:hover{background:var(--blue)}
.parks-map-canvas .leaflet-control-attribution{background:#fffffff2;color:#263d48;font-size:.72rem;line-height:1.6;max-width:calc(100% - 1rem);padding:3px 7px;text-align:right}
.parks-map-canvas .leaflet-control-attribution a{color:#16485b;text-decoration:underline;text-underline-offset:.12em}
.parks-map-canvas .leaflet-control-attribution a:focus-visible,.parks-map-canvas .leaflet-control-zoom a:focus-visible{outline:3px solid #075e9a;outline-offset:-3px}
@media(max-width:850px){.parks-map-layout{grid-template-columns:minmax(0,1fr)}.parks-map-details{border-left:0;border-top:1px solid var(--line)}.parks-map-canvas{height:440px}.parks-map-actions{flex-direction:row;flex-wrap:wrap;align-items:center}}
@media(max-width:700px){.directory-filter-grid{grid-template-columns:1fr 1fr}.directory-filter-grid>.button{align-self:end}.directory-filter{padding:.9rem 1rem}.directory-filter .directory-search-row{gap:.5rem}.directory-search-row>.button{font-size:.82rem;padding:.65rem .85rem}.parks-map-toggle{padding:.75rem 1rem;font-size:.85rem}.page-intro{padding-top:1.5rem;padding-bottom:1.5rem}.page-intro h1{font-size:2rem;margin-bottom:.7rem}.page-intro .breadcrumb{margin-bottom:1.15rem}.page-intro>.eyebrow{margin-bottom:.65rem}.page-intro>p:last-child{font-size:.95rem;line-height:1.6;margin-bottom:0}.section.compact{padding-top:1.25rem}.results-heading{margin-block:.75rem}#park-list{font-size:1.6rem;margin-bottom:1rem}}
@media(max-width:400px){.directory-filter-grid{grid-template-columns:1fr}.directory-filter-options>summary{font-size:.8rem}.directory-filter-options>summary>span{margin-left:0}.directory-search-row>.button{padding:.65rem .7rem}}
@media(max-width:480px){.parks-map-heading,.parks-map-details{padding:1.1rem}.parks-map-controls{padding:0 1.1rem 1rem;align-items:stretch}.parks-map-controls>div,.parks-map-controls>select{flex-basis:100%;max-width:none}.parks-map-canvas{height:380px}.parks-map-status{padding:1rem 1.1rem 0}.parks-map-note,[data-parks-map-fallback]{padding-inline:1.1rem}.parks-map-canvas .leaflet-control-attribution{font-size:.7rem}.parks-map-actions{flex-direction:column;align-items:stretch}.parks-map-actions>a{text-align:center}}
@media(forced-colors:active){.parks-map-marker,.parks-map-cluster{border:3px solid ButtonText;background:ButtonFace;color:ButtonText;forced-color-adjust:none}.parks-map-marker svg circle{fill:ButtonFace}.parks-map-marker.is-selected{outline:3px solid Highlight}}
@media print{.parks-map-section{display:none!important}}
