/* Scoped to the activity preview through its dedicated stylesheet. */
html{scroll-behavior:smooth}
#map,#activity-results{scroll-margin-top:16px}
#events .card{min-width:0;overflow-wrap:anywhere}
#events .card button{min-height:44px;margin-top:12px}
.search-panel .actions{flex-wrap:wrap;gap:12px}
.search-panel .actions label{display:inline-flex;align-items:center;gap:8px;min-height:44px}
.search-panel .actions input[type=checkbox]{width:20px;height:20px;flex-shrink:0}
.search-panel input,.search-panel select{min-height:44px;max-width:100%;box-sizing:border-box}
@media(max-width:600px){
 .search-panel .formgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
 .search-panel .formgrid label{min-width:0}
 .search-panel .formgrid input,.search-panel .formgrid select{width:100%;font-size:16px}
 #map{height:340px!important}
 #events.cards{grid-template-columns:minmax(0,1fr)}
 #summary{white-space:normal;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #173e7a;outline-offset:4px}
.skip-link{position:absolute;left:12px;top:-100px;z-index:10000;background:white;color:#173e7a;padding:12px;border:2px solid #173e7a;border-radius:8px}
.skip-link:focus{top:12px}
.skip-link+ .skip-link:focus{top:64px}
.location-control{display:flex;flex-direction:column;gap:8px;min-width:0}
.location-control button{align-self:flex-start;min-height:44px}
@media(forced-colors:active){a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline-color:Highlight}}

.category-key{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;color:white;flex-shrink:0}
.category-key svg{width:20px;height:20px}
.map-legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}
.map-legend>span{display:inline-flex;align-items:center;gap:6px}
.activity-map-marker{background:transparent;border:0}
.activity-pin{position:relative;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:2px solid white;border-radius:50%;background:var(--category-color);color:white;box-shadow:0 1px 5px #0009}
.activity-pin svg{width:27px;height:27px}
.marker-count{position:absolute;right:-9px;top:-9px;min-width:17px;padding:1px 3px;border:1px solid white;border-radius:10px;background:#172d3e;color:white;font-size:10px;font-weight:700;text-align:center}
.activity-map-marker:focus-visible{outline:3px solid #173e7a;outline-offset:7px;border-radius:50%}


/* Group constraints in reading and keyboard order; dates never stretch across a row. */
#activity-filters .filter-group{min-width:0;margin:0 0 18px;padding:14px 0 18px;border:0;border-bottom:1px solid #dbe5ec}
#activity-filters .filter-group legend{font-weight:700;color:#173e57;padding:0}
#activity-filters .filter-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
#activity-filters .filter-row label{display:flex;flex-direction:column;gap:6px;min-width:0}
#activity-filters .compact-date{flex:0 0 10.5rem;width:10.5rem}
#activity-filters .compact-age{flex:0 0 9rem;width:9rem}
#activity-filters .compact-radius{flex:0 0 6.5rem;width:6.5rem}
#activity-filters .filter-row input,#activity-filters .filter-row select{width:100%;margin:0;min-height:44px;box-sizing:border-box}
#activity-filters .location-control{flex:1 1 20rem;gap:6px}
#activity-filters .location-row button{min-height:44px;margin:0}
#activity-filters #location-status:empty{display:none}
#activity-filters #location-status{display:block;margin-top:8px}
#activity-filters .activity-kind{flex:0 1 17rem}
#activity-filters .activity-query{flex:1 1 17rem}
#activity-filters .activity-layers{display:flex;margin-top:12px}
#activity-filters .filter-actions{display:flex;justify-content:flex-end}
@media(max-width:600px){
 #activity-filters .constraints-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 #activity-filters .constraints-row .compact-date,#activity-filters .constraints-row .compact-age{width:auto;min-width:0}
 #activity-filters .compact-age{grid-column:1 / -1;max-width:10rem}
 #activity-filters .location-control{flex-basis:100%}
 #activity-filters .activity-kind,#activity-filters .activity-query{flex-basis:100%}
 #activity-filters .filter-row input,#activity-filters .filter-row select{font-size:16px}
 #activity-filters .filter-actions{justify-content:space-between}
}

@media(max-width:420px){
 #activity-filters .constraints-row{grid-template-columns:minmax(0,1fr)}
 #activity-filters .constraints-row .compact-date{max-width:10.5rem}
}

.closed-place{border-color:#aab4bb;background:#f4f6f7}.closure-badge{font-weight:750;color:#85431c!important}.marker-closed{position:absolute;bottom:-5px;right:-6px;background:#fff;color:#702f1a;border:2px solid #702f1a;border-radius:50%;width:20px;height:20px;text-align:center;line-height:15px;font-size:20px;font-weight:800}.is-closed{border-style:dashed}
