 .stabl-map-app{--stabl-purple:#7654a3;--stabl-purple-dark:#5f4387;--stabl-gold:#c48a32;--stabl-gold-dark:#a97022;position:relative;display:grid;grid-template-columns:var(--stabl-sidebar-width) minmax(0,1fr);height:var(--stabl-map-height);min-height:420px;width:100%;overflow:hidden;background:#eee;font-family:inherit;box-sizing:border-box}.stabl-map-app *{box-sizing:border-box}.stabl-map-sidebar{position:relative;z-index:1000;display:flex;flex-direction:column;min-width:0;background:#fff;border-right:1px solid #e5e5e5;box-shadow:4px 0 18px rgba(0,0,0,.08)}.stabl-map-search-wrap{display:flex;gap:6px;padding:10px 8px;background:#7654a3}.stabl-map-search{width:100%;min-width:0;height:36px;padding:0 11px;border:0;border-radius:2px;background:#fff;color:#333;outline:none;font-size:13px}.stabl-map-geolocate{flex:0 0 36px;height:36px;border:0;border-radius:2px;background:#fff;color:#8b6a37;font-size:21px;cursor:pointer}.stabl-map-filter-head{display:flex;justify-content:space-between;align-items:center;padding:12px 10px;background:#7654a3;color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em}.stabl-map-filter-head span{font-size:18px;line-height:10px}.stabl-map-filters{display:flex;flex-wrap:wrap;gap:5px;padding:8px;border-bottom:1px solid #e6e6e6}.stabl-filter{border:1px solid #d7d7d7;border-radius:2px;background:#fff;color:#555;padding:5px 8px;font-size:11px;cursor:pointer}.stabl-filter.is-active,.stabl-filter:hover{border-color:var(--stabl-purple);background:var(--stabl-purple);color:#fff}.stabl-map-list{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;background:#fff}.stabl-map-item{display:flex;width:100%;min-height:81px;padding:10px 9px;gap:10px;border:0;border-bottom:1px solid #e9e9e9;background:#fff;color:#202020;text-align:left;cursor:pointer;transition:background .15s ease,border-left-color .15s ease;border-left:3px solid transparent}.stabl-map-item:hover,.stabl-map-item.is-active{background:#f7f3fb;border-left-color:var(--stabl-purple)}.stabl-map-item-text{display:flex;flex:1 1 auto;flex-direction:column;min-width:0;gap:3px}.stabl-map-item strong{font-size:12px;line-height:1.25;font-weight:500}.stabl-map-item small{color:#8a6a3d;font-size:10px;line-height:1.2}.stabl-map-item em{color:#777;font-size:10px;line-height:1.25;font-style:normal}.stabl-map-item img{flex:0 0 57px;width:57px;height:43px;object-fit:cover;align-self:center}.stabl-map-empty{padding:25px 15px;color:#777;text-align:center;font-size:13px}.stabl-map-canvas{position:relative;min-width:0;min-height:0}.stabl-map{width:100%;height:100%;background:#e7e7e7}.stabl-map-toggle{position:absolute;z-index:900;left:0;top:50%;transform:translateY(-50%);width:26px;height:58px;border:0;border-radius:0 3px 3px 0;background:rgba(31,37,40,.88);color:#fff;font-size:22px;cursor:pointer}.stabl-map-app.sidebar-hidden{grid-template-columns:0 minmax(0,1fr)}.stabl-map-app.sidebar-hidden .stabl-map-sidebar{overflow:hidden;visibility:hidden}.stabl-pin-wrap{background:transparent;border:0}.stabl-pin{display:block;position:relative;width:22px;height:22px;border-radius:50% 50% 50% 0;background:var(--stabl-purple);transform:rotate(-45deg);box-shadow:0 2px 4px rgba(0,0,0,.35);border:2px solid #fff}.stabl-pin i{position:absolute;left:5px;top:5px;width:8px;height:8px;border-radius:50%;background:#fff}.stabl-popup-shell .leaflet-popup-content-wrapper{border-radius:2px;padding:0;overflow:hidden}.stabl-popup-shell .leaflet-popup-content{margin:0}.stabl-popup{width:280px;max-width:280px}.stabl-popup>img{display:block !important;width:280px !important;max-width:280px !important;min-width:280px !important;height:135px !important;max-height:135px !important;min-height:135px !important;object-fit:cover !important;margin:0 !important;padding:0 !important;border:0 !important}.stabl-popup-content{display:flex;flex-direction:column;gap:6px;padding:12px 14px 14px}.stabl-popup-content strong{font-size:14px;line-height:1.3}.stabl-popup-content span{color:#777;font-size:11px}.stabl-popup-content a{color:var(--stabl-purple-dark);font-size:11px;font-weight:600;text-decoration:none}.stabl-popup-content a:hover{text-decoration:underline}.stabl-map-admin-warning{padding:16px 18px;border-left:4px solid var(--stabl-gold);background:#faf7f1}.stabl-map-app .stabl-popup-shell img.stabl-popup-image,
.stabl-map-app .stabl-popup > img { width:280px !important; height:135px !important; max-width:280px !important; max-height:135px !important; min-width:280px !important; min-height:135px !important; object-fit:cover !important; display:block !important; }
.stabl-map-app .leaflet-popup-content-wrapper,
.stabl-map-app .leaflet-popup-tip { box-sizing:border-box !important; }
.stabl-map-app .leaflet-popup-content { max-width:280px !important; }
@media(max-width:800px){.stabl-map-app{grid-template-columns:minmax(0,1fr);height:min(var(--stabl-map-height),78vh)}.stabl-map-sidebar{position:absolute;left:0;top:0;bottom:0;width:min(var(--stabl-sidebar-width),88%);transform:translateX(0);transition:transform .22s ease}.stabl-map-app.sidebar-hidden{grid-template-columns:minmax(0,1fr)}.stabl-map-app.sidebar-hidden .stabl-map-sidebar{transform:translateX(-100%);visibility:visible}.stabl-map-toggle{left:min(var(--stabl-sidebar-width),88%);top:52px;transform:none}.stabl-map-app.sidebar-hidden .stabl-map-toggle{left:0}}
/* Breakdance / theme isolation */
.stabl-map-app .stabl-map-sidebar,
.stabl-map-app .stabl-map-sidebar * { box-sizing:border-box !important; }
.stabl-map-app .stabl-map-search-wrap { display:flex !important; align-items:center !important; }
.stabl-map-app input.stabl-map-search { width:100% !important; max-width:none !important; height:36px !important; min-height:36px !important; margin:0 !important; padding:0 11px !important; border:0 !important; box-shadow:none !important; font-size:13px !important; line-height:36px !important; }
.stabl-map-app button.stabl-map-geolocate,
.stabl-map-app button.stabl-map-toggle,
.stabl-map-app button.stabl-filter,
.stabl-map-app button.stabl-map-item { font-family:inherit !important; text-transform:none !important; letter-spacing:normal !important; }
.stabl-map-app button.stabl-filter { display:inline-flex !important; align-items:center !important; justify-content:center !important; width:auto !important; min-width:0 !important; min-height:0 !important; height:auto !important; margin:0 !important; padding:5px 8px !important; line-height:1.2 !important; }
.stabl-map-app button.stabl-map-item { display:flex !important; align-items:center !important; width:100% !important; max-width:none !important; min-width:0 !important; min-height:81px !important; height:auto !important; margin:0 !important; padding:10px 9px !important; }
.stabl-map-app .stabl-map-item-text { width:auto !important; max-width:none !important; min-width:0 !important; }
.stabl-map-app .stabl-map-item img { display:block !important; flex:0 0 57px !important; width:57px !important; max-width:57px !important; min-width:57px !important; height:43px !important; max-height:43px !important; min-height:43px !important; object-fit:cover !important; margin:0 !important; padding:0 !important; }
.stabl-map-app .stabl-map-item strong,
.stabl-map-app .stabl-map-item small,
.stabl-map-app .stabl-map-item em { display:block !important; max-width:100% !important; margin:0 !important; }
.stabl-map-app .stabl-map-canvas,
.stabl-map-app .stabl-map { width:100% !important; max-width:none !important; height:100% !important; min-height:0 !important; }
.stabl-map-app .leaflet-container img,
.stabl-map-app .leaflet-pane img,
.stabl-map-app .leaflet-tile { max-width:none !important; max-height:none !important; }
/* Dlaždice musí mít přesně 256 px – retina obrázek (512 px) se zmenší. width:auto zde dřív roztahovalo retina dlaždice na 512 px a mapa se rozsypala. */
.stabl-map-app .leaflet-tile-container img.leaflet-tile { width:256px !important; height:256px !important; }
.stabl-map-app .leaflet-control { box-sizing:content-box !important; }
.stabl-map-app .leaflet-control button { width:auto !important; min-height:0 !important; height:auto !important; margin:0 !important; padding:0 !important; }


/* 1.2.8 – výška gridu: řádek nesmí růst podle obsahu seznamu (64 položek).
   Jinak byl kontejner mapy vysoký tisíce px, oříznutý overflow:hidden,
   a Leaflet centroval mimo viditelnou část → ČR ani piny nebyly vidět. */
.stabl-map-app { height:var(--stabl-map-height) !important; grid-template-rows:minmax(0,1fr) !important; }
.stabl-map-app .stabl-map-sidebar { min-height:0 !important; height:100% !important; max-height:100% !important; overflow:hidden !important; }
.stabl-map-app .stabl-map-list { flex:1 1 auto !important; min-height:0 !important; overflow-y:auto !important; }
.stabl-map-app .stabl-map-canvas { position:relative !important; height:100% !important; max-height:100% !important; overflow:hidden !important; }
@media(max-width:800px){ .stabl-map-app { height:min(var(--stabl-map-height),78vh) !important; } }
