/* Carte des boutiques (/boutiques) - placée en haut de la carte de filtres,
   au-dessus des champs de recherche (dans le même encadré .shop-list-top-box). */

#content-wrapper .shop-list-top-box {
    flex-wrap: wrap;
    overflow: hidden;          /* clippe la carte aux coins arrondis de l'encadré */
    padding-top: 0;
}

.gp-bmap {
    position: relative;
    z-index: 1;                /* contient les calques Leaflet (panes internes jusqu'à
                                   z-index 700) dans son propre contexte d'empilement,
                                   sinon ils passent au-dessus du header/menu sticky
                                   (position:relative seul n'en crée pas) */
    flex: 1 1 100%;
    width: 100%;
    order: -1;                 /* toujours en premier, au-dessus des filtres */
    margin: 0 0 14px;
}

.gp-bmap #gp-bmap-canvas {
    width: 100%;
    min-height: 220px;
    border-bottom: 1px solid #e2e2e2;
}

.gp-bmap .leaflet-container {
    border-radius: 0;
    font: inherit;
    background: #e8e8e8;
}

.gp-bmap__empty {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    padding: 10px 16px;
    background: rgba(255, 255, 255, .92);
    border-radius: var(--radius-pill, 999px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
    font-size: 14px;
    color: #555;
    pointer-events: none;
}

/* Popup boutique */
.gp-bmap-pop {
    text-align: center;
    padding: 4px 2px 2px;
}

.gp-bmap-pop__logo {
    max-width: 120px;
    max-height: 60px;
    object-fit: contain;
    margin: 0 auto 8px;
    display: block;
}

.leaflet-popup-content .gp-bmap-pop__name,
.leaflet-popup-content a.gp-bmap-pop__name {
    display: block;
    font-weight: 700;
    font-size: 15px;
    line-height: 1.25;
    color: var(--color-primary, #2e7d32);
    text-decoration: none;
}

.leaflet-popup-content a.gp-bmap-pop__name:hover {
    text-decoration: underline;
}

.gp-bmap-pop__addr {
    margin: 6px 0 10px;
    font-size: 12.5px;
    line-height: 1.35;
    color: #666;
}

/* .leaflet-container a { color:#0078A8 } de Leaflet est plus spécifique que
   .gp-bmap-pop__cta seul : on remonte la spécificité pour garder le texte blanc. */
.leaflet-popup-content a.gp-bmap-pop__cta,
.leaflet-popup-content a.gp-bmap-pop__cta:hover,
.leaflet-popup-content a.gp-bmap-pop__cta:focus {
    display: inline-block;
    padding: 6px 14px;
    border-radius: var(--radius-pill, 999px);
    background: var(--color-primary, #2e7d32);
    color: #fff;
    font-size: 13px;
    text-decoration: none;
}

.leaflet-popup-content a.gp-bmap-pop__cta:hover,
.leaflet-popup-content a.gp-bmap-pop__cta:focus {
    background: var(--color-primary-dark, #256628);
}

.leaflet-popup-content {
    margin: 12px 14px;
    min-width: 170px;
}

.leaflet-popup-content-wrapper {
    border-radius: var(--radius-md, 12px);
}

/* Mini-carte de la fiche boutique (mini-map.tpl) - même confinement des calques
   Leaflet que .gp-bmap ci-dessus, pas de position ni de z-index d'origine ici. */
.gp-shop-map {
    position: relative;
    z-index: 1;
}
