.marker-container{cursor:pointer;width:32px;height:42px;position:relative}.marker-content{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:700;display:flex;box-shadow:0 2px 4px #0000004d}.marker-pointer{border-top:12px solid;border-left:8px solid #0000;border-right:8px solid #0000;width:0;height:0;position:absolute;bottom:0;left:8px}.mapboxgl-popup{max-width:280px}.mapboxgl-popup-content{padding:15px;font-size:.9rem;line-height:1.4}.legend{background:#fff;border-radius:8px;margin:10px 0;padding:15px;box-shadow:0 2px 4px #0000001a}.legend h3{text-align:center;margin-top:0;margin-bottom:15px;font-size:1.1rem}.legend-items{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.legend-item{align-items:center;gap:10px;display:flex}.legend-marker{flex-direction:column;align-items:center;display:flex;transform:scale(.7)}.legend-marker-circle{border-radius:50%;width:32px;height:32px;box-shadow:0 2px 4px #0000004d}.legend-marker-pointer{border-top:12px solid;border-left:8px solid #0000;border-right:8px solid #0000;width:0;height:0;margin-top:-4px}.type-codes-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;display:grid}.type-code-item{align-items:center;gap:8px;display:flex}.type-code{text-align:center;background-color:#f0f0f0;border-radius:4px;min-width:30px;padding:3px 6px;font-size:.9rem;font-weight:700}.ais-RefinementList-list{margin:0;padding:0;list-style:none}.ais-RefinementList-item{padding:4px 0}.ais-RefinementList-label{cursor:pointer;align-items:center;gap:8px;font-size:.9rem;display:flex}.ais-RefinementList-checkbox{flex-shrink:0;width:16px;height:16px}.ais-RefinementList-labelText{flex:1;min-width:0}.ais-RefinementList-count{color:#555;background-color:#f0f0f0;border-radius:10px;flex-shrink:0;margin-left:auto;padding:1px 6px;font-size:.75rem}.ais-RefinementList-showMore{color:#0074d9;cursor:pointer;background:0 0;border:none;margin-top:8px;padding:0;font-size:.85rem}.ais-RefinementList-showMore:hover{text-decoration:underline}.ais-RefinementList-item--selected .ais-RefinementList-count{color:#fff;background-color:#0074d9}.ais-NumericMenu-list{margin:0;padding:0;list-style:none}.ais-NumericMenu-item{padding:4px 0}.ais-NumericMenu-label{cursor:pointer;align-items:center;gap:8px;font-size:.9rem;display:flex}.ais-NumericMenu-radio{flex-shrink:0;width:16px;height:16px}.ais-NumericMenu-labelText{flex:1}.ais-NumericMenu-item--selected .ais-NumericMenu-labelText{color:#0074d9;font-weight:600}
