.map-wrapper{height:560px;width:100%}@media (max-width:640px){.map-wrapper{height:400px}}.city-marker{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:9999px;font-weight:700;font-size:.75rem;color:#fff;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);transition:transform .15s}.city-marker:hover{transform:scale(1.15)}.city-marker-grise{width:14px;height:14px;background:#d1d5db;border-width:2px;box-shadow:0 1px 2px rgba(0,0,0,.2)}.leaflet-popup-content-wrapper{border-radius:.75rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}.leaflet-popup-content{margin:.75rem 1rem;min-width:190px;font-family:inherit;font-size:.875rem;line-height:1.5}.popup-title{font-weight:700;font-size:1rem;color:#111827;margin-bottom:.4rem}.popup-stat{display:flex;justify-content:space-between;gap:1rem;padding:.2rem 0;border-bottom:1px solid #f3f4f6}.popup-stat-label{color:#6b7280}.popup-stat-value{font-weight:600;color:#1f2937}.popup-motif{margin-bottom:.4rem;font-size:.8rem;font-weight:600;color:#6b7280}.popup-motif-limite_budget{color:#b45309}.popup-note{margin-top:.4rem;font-size:.75rem;color:#6b7280}.leaflet-container a.popup-cta{display:block;margin-top:.75rem;padding:.5rem 1rem;background:#4f46e5;color:#fff;text-align:center;text-decoration:none;border-radius:.5rem;font-weight:600;font-size:.8rem}.leaflet-container a.popup-cta:hover{background:#3730a3}