/* Carte côté front — ambiance sombre Côte de Boeuf.
   Tous les tokens (couleurs, polices) viennent de design-system.css (:root). */
.cdb-carte-wrap { background: var(--bg-darkest); }
#cdb-carte { width: 100%; border: 1px solid var(--bg-elev); border-radius: 8px; background: var(--bg-darkest); }

.cdb-carte-filtres { display: flex; gap: 8px; padding: 10px 0; flex-wrap: wrap; }
.cdb-carte-filtres button {
  font: 600 12px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase;
  color: var(--text-ivory); background: transparent; border: 1px solid var(--border-strong);
  padding: 7px 14px; border-radius: 999px; cursor: pointer;
}
.cdb-carte-filtres button[aria-pressed="true"] { background: var(--cat-restaurant); border-color: var(--cat-restaurant); color: #fff; }

/* Marqueurs */
.cdb-pin { width: 14px; height: 14px; border-radius: 50%; box-shadow: 0 1px 4px rgba(0,0,0,.6); }
.cdb-pin--restaurant { background: var(--cat-restaurant); }
.cdb-pin--boucherie  { background: var(--cat-boucherie); }
.cdb-pin--boutique   { background: var(--cat-boutique); }
.cdb-pin--premium    { box-shadow: 0 0 0 3px rgba(200,164,90,.95), 0 0 10px 2px rgba(200,164,90,.45), 0 1px 4px rgba(0,0,0,.6); }
.cdb-pin--current    { width: 18px; height: 18px; background: var(--text-ivory); box-shadow: 0 0 0 4px rgba(200,164,90,.9), 0 1px 6px rgba(0,0,0,.7); }

/* Popup */
.leaflet-popup-content-wrapper { background: var(--bg-card); color: var(--text-ivory); border: 1px solid var(--border-line); border-radius: 8px; }
.leaflet-popup-tip { background: var(--bg-card); }
.cdb-popup b { font: 600 14px/1.2 var(--serif); display: block; }
.cdb-popup .meta { opacity: .7; font-size: 12px; }
.cdb-popup a { color: var(--copper); text-decoration: none; font-size: 12px; font-weight: 600; }
.cdb-popup__badge { display: inline-block; font: 600 9px/1 var(--display); text-transform: uppercase; letter-spacing: .12em; padding: 4px 7px; border-radius: 3px; margin-bottom: 6px; color: #fff; }
.cdb-popup__badge--restaurant { background: var(--cat-restaurant); }
.cdb-popup__badge--boucherie  { background: var(--cat-boucherie); }
.cdb-popup__badge--boutique   { background: var(--cat-boutique); }

/* Légende (contrôle Leaflet, bas-droite) */
.cdb-carte-legende { background: rgba(16,16,16,.92); border: 1px solid var(--border-line); border-radius: 8px; padding: 8px 10px; font: 600 11px/1.4 var(--sans); color: var(--text-ivory); letter-spacing: .04em; box-shadow: 0 2px 10px rgba(0,0,0,.5); }
.cdb-carte-legende .cdb-leg { display: flex; align-items: center; gap: 7px; white-space: nowrap; }
.cdb-carte-legende .cdb-leg + .cdb-leg { margin-top: 5px; }
.cdb-carte-legende .cdb-pin { width: 11px; height: 11px; box-shadow: none; }
.cdb-carte-legende .cdb-leg-prem { background: var(--Gold); box-shadow: 0 0 0 2px rgba(200,164,90,.45); }

/* Barre d'outils : recherche, géoloc, rayon */
.cdb-carte-search { font: 400 13px/1 var(--sans); color: var(--text-ivory); background: var(--bg-dark); border: 1px solid var(--border-strong); border-radius: 999px; padding: 8px 14px; min-width: 150px; }
.cdb-carte-search::placeholder { color: var(--text-dim); }
.cdb-carte-geo, .cdb-carte-reset, .cdb-carte-rayon { font: 600 12px/1 var(--sans); color: var(--text-ivory); border: 1px solid var(--border-strong); border-radius: 999px; padding: 7px 12px; cursor: pointer; }
.cdb-carte-geo, .cdb-carte-reset { background: transparent; }
.cdb-carte-rayon { background: var(--bg-dark); }
.cdb-carte-geo:hover, .cdb-carte-reset:hover { border-color: var(--Gold); color: var(--Gold); }

/* « Vous êtes ici » */
.cdb-me { width: 16px; height: 16px; border-radius: 50%; background: var(--geo); border: 2px solid #fff; box-shadow: 0 0 0 5px rgba(58,160,255,.3); }

/* Clusters — habillage sombre/or */
.marker-cluster { background: rgba(200,164,90,.22); }
.marker-cluster div { background: rgba(200,164,90,.9); color: var(--bg-darkest); font: 600 12px/1 var(--sans); }
