#assistantes-map-container{position:relative;margin:1em 0}
#assistantes-map{width:100%;height:75vh;border:1px solid #ccc;border-radius:4px; position:sticky; top: 150px;}
.assistantes-map-wrapper{position:relative}
.assistantes-map-loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.75);z-index:500;opacity:0;pointer-events:none;transition:opacity .25s}
.assistantes-map-loader.visible{opacity:1;pointer-events:auto}
.assistantes-map-loader .spinner{width:46px;height:46px;border:5px solid #bbb;border-top-color:#1976d2;border-radius:50%;animation:assistspin 1s linear infinite}
@keyframes assistspin{to{transform:rotate(360deg)}}
.assistantes-map-wrapper.is-loading input[name=assistantes_search]{background-image:linear-gradient(90deg,rgba(0,0,0,.05),rgba(0,0,0,.15));background-size:200% 100%;animation:loadingShine 1s linear infinite}
@keyframes loadingShine{0%{background-position:0 0}100%{background-position:-200% 0}}
.assistantes-map-topbar{display:flex;gap:.5em;align-items:center;margin-bottom:.5em}
.assistantes-map-topbar select{min-width:220px}
.assistantes-map-topbar input[name=assistantes_search]{padding:.35em .6em;border:1px solid #ccc;border-radius:4px;min-width:200px}
.assistantes-topbar-actions{margin-left:auto}
.assistantes-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.assistantes-listing-col,.assistantes-map-col{min-width:0}

@media (max-width:992px){
	.assistantes-columns{grid-template-columns:1fr}
	#assistantes-map{height:400px}
	.assistantes-map-topbar{flex-direction: column}
}
.leaflet-popup-content-wrapper{font-size:14px}
.assistante-popup h4{margin:0 0 .25em;font-size:15px}
.assistante-popup .meta-line{margin:0;line-height:1.3}
.assistantes-map-loading{text-align:center;padding:2em;color:#555}
.assistante-pin{background:#d62828;border:2px solid #fff;width:18px;height:18px;border-radius:50% 50% 50% 50%;transform:rotate(-45deg);position:relative;box-shadow:0 0 2px rgba(0,0,0,.4);}
.assistante-pin:hover{background:#e63946}
.assistantes-geo-btn{background:#fff;border:1px solid #bbb;border-radius:4px;padding:4px 6px;cursor:pointer;font-size:16px;line-height:1;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.assistantes-geo-btn.loading{opacity:.6;animation:pulse 1s linear infinite}
@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}
/* plein écran ajustement hauteur */
.leaflet-fullscreen-on #assistantes-map{height:100vh !important}
.leaflet-control-fullscreen a{background:#fff;border:1px solid #bbb;width:34px;height:34px;line-height:34px;text-align:center;font-size:16px;font-weight:600}
.leaflet-control-fullscreen a:hover{background:#f3f3f3}
.leaflet-top.leaflet-right .leaflet-control{margin-right:10px}

/* Listing collapsed/expanded behavior */
.ws-assistantes-listing { position: relative; }
.ws-assistantes-listing.is-collapsed .ws-assistantes-items { max-height: 75vh; overflow-y: scroll; position: relative; }
.ws-assistantes-toggle-btn { cursor: pointer; }
.ws-assistantes-see-more { text-align: center; }
.ws-assistantes-see-more a[aria-expanded="false"] { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%);  }


@media print {
	.ws-assistantes-listing .ws-assistantes-items { max-height: none !important; overflow: visible !important; }
}
