.kmg-clubs-map-wrap {position:relative;width:100%;margin:0 auto 20px;}
.kmg-clubs-map {width:100%;height:760px;max-height:none;background:#fff;border:0;border-radius:0;overflow:hidden;}
.kmg-clubs-map.leaflet-container {background:#fff;}
/* Zoom accessible, mais discret, en conservant l'esthétique épurée. */
.kmg-clubs-map .leaflet-control-container {display:block;}
.kmg-clubs-map .leaflet-control-zoom {border:1px solid #e4e4e4;box-shadow:0 2px 8px rgba(0,0,0,.10);}
.kmg-clubs-map .leaflet-control-zoom a {color:#ed8b00;background:#fff;border-color:#eee;}
.kmg-clubs-map .leaflet-control-zoom a:hover {background:#fff6e9;color:#c87800;}
.kmg-clubs-map .kmg-map-home {display:block;width:30px;height:30px;margin-top:8px;background:#fff;border:1px solid #e4e4e4;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.10);color:#ed8b00;font-size:23px;line-height:25px;cursor:pointer;}
.kmg-clubs-map .kmg-map-home:hover {background:#fff6e9;}
/* Un regroupement reprend exactement la silhouette du marqueur KMG.
   Seul le symbole central est masqué par une pastille orange numérotée. */
.kmg-clubs-map .kmg-map-cluster {
    display:block;
    width:38px;
    height:48px;
    background: url('../images/kmg-map-multi-marker.png') center center / 38px 48px no-repeat;
    border:0;
    border-radius:0;
    box-shadow:none;
    color:#fff;
    text-align:center;
}
.kmg-clubs-map .kmg-map-cluster span {
    position:absolute;
    top:6px;
    left:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:20px;
    height:20px;
    border-radius:50%;
    background:transparent;
    color:#fff;
    font-size:9px;
    font-weight:700;
    line-height:1;
    font-family:Arial,sans-serif;
    font-variant-numeric:tabular-nums;
    white-space:nowrap;
}

.kmg-map-credit {position:absolute;right:0;bottom:0;z-index:400;margin:0;font-size:10px;line-height:1.4;color:#777;background:rgba(255,255,255,.85);padding:2px 4px;}
.kmg-clubs-map .leaflet-popup-content-wrapper {border-radius:12px;box-shadow:0 5px 20px rgba(0,0,0,.18);}
.kmg-clubs-map .leaflet-popup-content {margin:14px;width:280px!important;max-width:calc(100vw - 76px);}
.kmg-map-popup {font-family:inherit;max-width:100%;}
.kmg-map-popup-head {display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.kmg-map-popup-logo {width:72px;height:72px;object-fit:contain;border-radius:7px;flex-shrink:0;background:#000000;}
.kmg-map-popup-info {min-width:0;flex:1;}
.kmg-map-popup strong {display:block;font-size:16px;line-height:1.3;color:#181818;overflow-wrap:anywhere;}
.kmg-map-popup p {margin:6px 0 0;font-size:13px;color:#606770;line-height:1.4;overflow-wrap:anywhere;}
.kmg-map-popup a {display:block;text-align:center;background:#ed8b00;color:#fff!important;text-decoration:none;padding:10px 12px;border-radius:6px;font-weight:600;line-height:1.35;}
.kmg-map-popup a:hover,.kmg-map-popup a:focus {background:#cc7600;color:#fff!important;}
@media(max-width:767px){.kmg-clubs-map{height:520px;}.kmg-map-credit{font-size:9px;}}
@media(max-width:420px){.kmg-clubs-map{height:440px;}}

/* Ville et région alignées à droite de l'icône de localisation. */
.kmg-map-popup-location {display:flex;align-items:flex-start;gap:7px;margin-top:7px;}
.kmg-map-popup-pin {color:#ed8b00;flex:0 0 13px;width:13px;text-align:center;font-size:13px;line-height:1.45;}
.kmg-map-popup-address {min-width:0;flex:1;display:flex;flex-direction:column;gap:2px;}
.kmg-map-popup-city,.kmg-map-popup-region {display:block;font-size:13px;line-height:1.4;overflow-wrap:anywhere;}
.kmg-map-popup-city {color:#343a40;}
.kmg-map-popup-region {color:#606770;}
