/* RicCarte — compléments Leaflet pour le thème */
.leaflet-container {
    font-family: 'Fira Sans', sans-serif;
    /* Contexte d'empilement propre : les calques Leaflet (z-index 400 à 1000) restent sous
       l'en-tête fixe du thème (z-index 99) et la colonne contact fixée au défilement */
    position: relative;
    z-index: 0;
    isolation: isolate;
}

/* Le thème souligne les liens des articles (body.page article a) : pas dans les cartes */
body .leaflet-container a,
body .leaflet-container a:hover { text-decoration: none !important; }

/* Bouton « Placer d'après l'adresse » : Leaflet impose 26/30 px de large aux boutons de barre */
.leaflet-bar.ric-carte-localiser { background: #fff; max-width: 320px; }
.leaflet-bar.ric-carte-localiser a,
.leaflet-touch .leaflet-bar.ric-carte-localiser a {
    display: block; width: auto; height: auto; line-height: 1.3;
    padding: 6px 10px; color: #fff; background: #63c5c6; font-size: 13px; font-weight: 500; text-align: left;
    white-space: nowrap; border-radius: 4px;
}
.leaflet-bar.ric-carte-localiser a:hover,
.leaflet-touch .leaflet-bar.ric-carte-localiser a:hover { background: #3e3e3e; color: #fff; }
.ric-carte-localiser .ric-carte-message { display: block; font-size: 12px; line-height: 1.3; color: #3e3e3e; white-space: normal; }
.ric-carte-localiser .ric-carte-message:not(:empty) { padding: 4px 10px 6px; }

.leaflet-control-layers-expanded { padding: 4px 8px; font-size: 13px; }

/* Popup « fiche » (remplace l'InfoBox Google) : même carte que dans les listes d'annonces */
.ric-popup .leaflet-popup-content-wrapper { padding: 0; border-radius: 0; overflow: hidden; box-shadow: 5px 5px 20px 0 #cfcfcf; }
.ric-popup .leaflet-popup-content { margin: 0; width: 300px !important; line-height: 1.3; }
.ric-popup a.leaflet-popup-close-button { z-index: 2; color: #3e3e3e; background: #fff; width: 24px; height: 24px; line-height: 22px; font-size: 20px; }
.ric-popup a.fiche,
#carteMoteur .ric-popup a.fiche {
    display: block; position: relative; width: 300px; height: auto; box-shadow: none;
    background: #fff; color: #3e3e3e; text-align: center; text-decoration: none;
}
.ric-popup a.fiche:hover { background: #eaeaea; }
.ric-popup a.fiche .vignette { display: block; width: 300px; height: 200px; overflow: hidden; background: #ebebeb; }
.ric-popup a.fiche .vignette img { display: block; min-width: 300px; min-height: 200px; max-width: none; }
.ric-popup a.fiche .cta-more {
    position: absolute; left: 0; top: 160px; height: 40px; line-height: 40px; padding: 0 20px;
    background: #63c5c6; color: #fff; font-size: 16px; font-weight: 900;
}
.ric-popup a.fiche .tarif {
    position: absolute; top: 0; right: 0; width: 125px; min-height: 70px; margin: 0;
    background: #fff; text-align: center; font-size: 16px;
}
.ric-popup a.fiche .tarif strong { display: inline-block; font-size: 24px; font-weight: 900; line-height: 50px; }
.ric-popup a.fiche .tarif .classement { display: block; position: absolute; top: 35px; width: 100%; text-align: center; }
.ric-popup a.fiche .tarif .classement img { display: inline-block; height: 14px; }
.ric-popup a.fiche > strong { display: block; padding: 10px; font-family: 'Fira Sans Extra Condensed', sans-serif; }
.ric-popup a.fiche .categorie { display: block; font-size: 20px; font-weight: 400; color: #3e3e3e; }
.ric-popup a.fiche .titre { display: block; font-size: 24px; font-weight: 900; text-transform: uppercase; color: #3e3e3e; }