/* The Local Scope Community – map styles (loaded with maps only). */
/* Map */
.tls-scope .tls-mapbox{margin:0 0 24px}
.tls-scope .tls-mapbox__preview{position:relative;border-radius:var(--tls-radius);overflow:hidden;background:#e8eef3;border:1px solid var(--tls-line)}
.tls-scope .tls-mapbox__canvas{position:absolute;inset:0;background:#e8eef3}
.tls-scope .tls-mapbox__open{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:500;box-shadow:0 6px 20px #0003}
.tls-scope .tls-mapbox__alt{font-size:.9em;margin-top:8px}
.tls-scope .tls-map-msg,.tls-map-msg{position:absolute;left:56px;right:12px;top:10px;z-index:450;margin:0;padding:8px 12px;border-radius:10px;background:#fffffff2;font-size:.9em}
.tls-mapfull{position:fixed;inset:0;z-index:100000;background:#fff;display:flex;flex-direction:column}
.tls-mapfull[hidden]{display:none}
.tls-mapfull__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;border-bottom:1px solid var(--tls-line)}
.tls-mapfull__title{font-size:1.1rem;margin:0}
.tls-mapfull__body{flex:1;display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}
.tls-mapfull__side{display:flex;flex-direction:column;min-height:0;border-bottom:1px solid var(--tls-line)}
.tls-mapfull__filters{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px}
.tls-mapfull__filters .tls-input{flex:1 1 140px;width:auto;min-height:40px}
.tls-mapfull__layers{display:flex;gap:12px;border:0;margin:0;padding:0;align-items:center}
.tls-mapfull .tls-count{margin:0;padding:0 16px 8px}
.tls-scope .tls-maplist{display:none;overflow:auto;padding:0 12px 12px}
.tls-mapfull__map{position:relative;min-height:0}
.tls-mapfull__map .tls-mapbox__canvas{position:absolute;inset:0}
@media (min-width:900px){.tls-mapfull__body{grid-template-columns:380px minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.tls-mapfull__side{border-bottom:0;border-right:1px solid var(--tls-line)}.tls-scope .tls-maplist{display:block;flex:1}}
.tls-scope .tls-maplist li{margin:0 0 6px}
.tls-scope .tls-maplist button{display:flex;gap:10px;width:100%;padding:8px;border:1px solid var(--tls-line);border-radius:12px;background:#fff;text-align:left;font:inherit;color:inherit;cursor:pointer;align-items:center}
.tls-scope .tls-maplist button:hover,.tls-scope .tls-maplist button.is-active{border-color:var(--tls-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--tls-accent) 30%,transparent)}
.tls-scope .tls-maplist img,.tls-scope .tls-maplist .tls-maplist__ph,.tls-mapcard img,.tls-mapcard .tls-maplist__ph{width:56px;height:56px;border-radius:8px;object-fit:cover;flex:none;background:var(--tls-soft);display:flex;align-items:center;justify-content:center;color:var(--tls-muted)}
.tls-maplist__t{display:block;font-weight:700}
.tls-maplist__s{display:block;font-size:.86em;color:var(--tls-muted)}
.tls-mapcard{position:absolute;left:12px;right:12px;bottom:12px;z-index:600;display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:14px;background:#fff;box-shadow:0 10px 30px #0003;max-width:420px}
.tls-mapcard[hidden]{display:none}
.tls-mapcard__b{flex:1;min-width:0}
.tls-mapcard a{font-weight:700;color:var(--tls-text)}
.tls-mapcard__x{position:absolute;top:4px;right:4px;border:0;background:none;width:32px;height:32px;cursor:pointer;font-size:20px;line-height:1;color:var(--tls-muted)}
.tls-scope .tls-minimap{position:relative;height:220px;border-radius:12px;overflow:hidden;background:#e8eef3;margin:0 0 10px;z-index:0}
.tls-pin{display:block;width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--tls-pin,#1d4ed8);border:3px solid #fff;box-shadow:0 2px 6px #0005}
.tls-pin--event{--tls-pin:#c2410c}
.tls-pin.is-active{--tls-pin:#0f172a;transform:rotate(-45deg) scale(1.25)}
.tls-pin-wrap{background:none;border:0}
.tls-mapfull .leaflet-container,.tls-scope .leaflet-container{font:inherit}
.tls-pin--thing{--tls-pin:#2f9e5f}
.tls-scope .tls-mapbox__preview--ratio{width:100%;height:auto;min-height:240px}
.tls-scope .tls-map-msg--empty{top:50%;left:50%;right:auto;transform:translate(-50%,-50%);text-align:center;max-width:min(90%,420px);box-shadow:0 2px 10px #0002}
