/* Carte des pharmacies Safesanté — couleurs de marque */
.sfs-carte-wrap{
	--sfs-navy:#202B6D;
	--sfs-blue:#2F4ACD;
	--sfs-yellow:#FEC400;
	--sfs-coral:#FF6B5B;
	--sfs-paper:#F4F6FC;
	--sfs-line:#DCE1F2;
	--sfs-muted:#6B739C;
	position:relative;
	width:100%;
	min-height:280px;
	background:var(--sfs-paper);
	border-radius:12px;
	overflow:hidden;
}
.sfs-carte-map{
	position:absolute;top:0;right:0;bottom:0;left:0;
	min-height:inherit;
	background:var(--sfs-paper);
}
.sfs-carte-map.leaflet-container{
	font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
	background:var(--sfs-paper);
	color:var(--sfs-navy);
	z-index:1;
}

/* boutons de navigation */
.sfs-chips{
	position:absolute;left:14px;bottom:14px;z-index:500;
	display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 28px);
}
.sfs-chip{
	font-family:inherit;font-size:12.5px;font-weight:500;line-height:1;
	padding:8px 13px;border-radius:999px;cursor:pointer;margin:0;
	background:rgba(255,255,255,.94);border:1.5px solid var(--sfs-line);color:var(--sfs-navy);
	-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
	box-shadow:0 1px 3px rgba(32,43,109,.08);
	transition:border-color .15s,color .15s,background .15s;
	text-transform:none;letter-spacing:normal;
}
.sfs-chip:hover{border-color:var(--sfs-blue);color:var(--sfs-blue);background:#fff}
.sfs-chip.is-home{background:var(--sfs-navy);color:#fff;border-color:var(--sfs-navy)}
.sfs-chip.is-home:hover{background:var(--sfs-blue);border-color:var(--sfs-blue);color:#fff}
.sfs-chip:focus-visible{outline:2px solid var(--sfs-blue);outline-offset:2px}

/* pastilles */
.sfs-pin{
	width:13px;height:13px;border-radius:50%;background:var(--sfs-blue);
	border:2.5px solid #fff;
	box-shadow:0 0 0 1.5px var(--sfs-navy),0 1px 3px rgba(32,43,109,.35);
	transition:transform .16s ease,background .16s ease;
}
.sfs-pin:hover{transform:scale(1.35);background:var(--sfs-navy)}
.sfs-pin.is-on{
	background:var(--sfs-yellow);
	box-shadow:0 0 0 2px var(--sfs-navy),0 0 0 8px rgba(254,196,0,.32);
	transform:scale(1.45);
}
.sfs-cluster{
	display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;
	background:var(--sfs-navy);border-radius:50%;
	font-variant-numeric:tabular-nums;letter-spacing:-.02em;
	box-shadow:0 0 0 4px rgba(47,74,205,.22),0 2px 6px rgba(32,43,109,.28);
	transition:box-shadow .16s ease;
}
.sfs-cluster:hover{box-shadow:0 0 0 7px rgba(254,196,0,.35),0 2px 6px rgba(32,43,109,.28)}
.sfs-dep-label.leaflet-tooltip{
	background:none;border:0;box-shadow:none;padding:0;
	color:#A9B0D0;font-size:10.5px;font-weight:500;text-shadow:0 1px 0 #fff;
}
.sfs-dep-label.leaflet-tooltip:before{display:none}

/* infobulle d'une pharmacie */
.sfs-carte-map .leaflet-popup-content-wrapper{
	border-radius:12px;padding:0;overflow:hidden;
	border:1px solid var(--sfs-line);box-shadow:0 8px 28px rgba(32,43,109,.22);
}
.sfs-carte-map .leaflet-popup-content{margin:0;width:248px !important;line-height:1.4}
.sfs-carte-map .leaflet-popup-tip{box-shadow:none;border:1px solid var(--sfs-line)}
.sfs-pop{padding:13px 14px 12px}
.sfs-pop h3{
	margin:0 0 5px;font-size:14.5px;font-weight:700;line-height:1.25;
	letter-spacing:-.01em;color:var(--sfs-navy);
}
.sfs-pop p{margin:0;font-size:12.5px;color:var(--sfs-muted)}
.sfs-pop .sfs-cp{
	display:inline-block;margin-top:8px;font-size:11px;font-weight:500;color:var(--sfs-navy);
	background:var(--sfs-paper);border:1px solid var(--sfs-line);border-radius:5px;padding:2px 7px;
}
.sfs-pop a.sfs-link{
	display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:11px;
	background:var(--sfs-blue);color:#fff;text-decoration:none;font-size:13px;font-weight:500;
	padding:9px 12px;border-radius:8px;transition:background .15s ease;
}
.sfs-pop a.sfs-link:hover{background:var(--sfs-navy);color:#fff}
.sfs-pop .sfs-nolink{margin-top:11px;font-size:12px;color:var(--sfs-coral);font-weight:500}

.sfs-carte-map .leaflet-control-zoom a{color:var(--sfs-navy) !important;border-color:var(--sfs-line) !important}
.sfs-carte-map .leaflet-control-attribution{font-size:10px;background:rgba(255,255,255,.78) !important}

@media (max-width:640px){
	.sfs-carte-wrap{min-height:340px}
	.sfs-chips{left:10px;bottom:10px;gap:5px;max-width:calc(100% - 20px)}
	.sfs-chip{font-size:12px;padding:7px 11px}
	/* les pastilles restent lisibles au doigt */
	.sfs-pin{width:15px;height:15px}
}
@media (prefers-reduced-motion:reduce){
	.sfs-pin,.sfs-cluster{transition:none}
}

/* panneau de diagnostic, affiché seulement avec debug="oui" */
.sfs-debug{
	position:absolute;top:10px;left:10px;z-index:600;
	background:rgba(32,43,109,.92);color:#fff;
	font-size:11px;line-height:1.5;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
	padding:8px 10px;border-radius:8px;max-width:calc(100% - 20px);
}
