/* Carte des revendeurs — mc_dealers */

.mc-dealers {
  --mc-border: #e6e6e6;
  --mc-bg: #ffffff;
  --mc-text: #14181d;
  --mc-muted: #6b7280;
  --mc-hover: #f6f7f8;
  --mc-radius: 12px;

  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 16px;
  align-items: stretch;
  font-size: 14px;
  color: var(--mc-text);
}

@media (max-width: 900px) {
  .mc-dealers { grid-template-columns: 1fr; }
  .mc-dealers__map { height: 380px !important; }
  .mc-dealers__list { max-height: 260px; }
}

/* ---- Panel ---- */

.mc-dealers__panel {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-radius);
  background: var(--mc-bg);
  overflow: hidden;
  max-height: 600px;
}

.mc-dealers__controls {
  padding: 14px;
  border-bottom: 1px solid var(--mc-border);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.mc-dealers__row {
  display: flex;
  gap: 8px;
}

.mc-dealers input[type="search"],
.mc-dealers select {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--mc-border);
  border-radius: 8px;
  font: inherit;
  color: inherit;
  background: var(--mc-bg);
  outline: none;
  transition: border-color .15s ease;
}

.mc-dealers input[type="search"]:focus,
.mc-dealers select:focus {
  border-color: var(--mc-marker, #14181d);
}

.mc-dealers button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 12px;
  border: 1px solid var(--mc-border);
  border-radius: 8px;
  background: var(--mc-bg);
  font: inherit;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s ease;
}

.mc-dealers button:hover { background: var(--mc-hover); }
.mc-dealers button:focus-visible {
  outline: 2px solid var(--mc-marker, #14181d);
  outline-offset: 2px;
}

.mc-dealers__count {
  font-size: 12px;
  color: var(--mc-muted);
}

/* ---- List ---- */

.mc-dealers__list {
  overflow-y: auto;
  flex: 1 1 auto;
}

.mc-dealer-item {
  padding: 12px 14px;
  border-bottom: 1px solid #f1f1f1;
  cursor: pointer;
  transition: background .12s ease;
}

.mc-dealer-item:hover,
.mc-dealer-item:focus-visible {
  background: var(--mc-hover);
  outline: none;
}

.mc-dealer-item.is-active {
  background: var(--mc-hover);
  box-shadow: inset 3px 0 0 var(--mc-marker, #14181d);
}

.mc-dealer-item__name { font-weight: 700; }

.mc-dealer-item__meta {
  margin-top: 3px;
  font-size: 12.5px;
  color: var(--mc-muted);
  line-height: 1.45;
}

.mc-dealer-item__dept {
  display: inline-block;
  padding: 1px 7px;
  margin-left: 6px;
  border: 1px solid var(--mc-border);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  color: var(--mc-muted);
  vertical-align: 1px;
}

.mc-dealers__empty {
  padding: 20px 14px;
  color: var(--mc-muted);
}

/* ---- Map ---- */

.mc-dealers__map {
  height: 600px;
  border-radius: var(--mc-radius);
  border: 1px solid var(--mc-border);
  overflow: hidden;
  z-index: 0; /* évite que la carte passe au-dessus des menus du thème */
}

.mc-pin { background: none; border: none; }

.mc-pin svg {
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .3));
  transition: transform .12s ease;
  transform-origin: bottom center;
}

.mc-pin:hover svg { transform: scale(1.12); }

/* ---- Popup ---- */

.leaflet-popup-content-wrapper {
  border-radius: 10px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, .16);
}

.mc-popup { min-width: 220px; line-height: 1.5; }
.mc-popup__name { font-weight: 800; font-size: 14px; }
.mc-popup__addr { margin-top: 4px; }
.mc-popup__city { color: var(--mc-muted, #6b7280); }

.mc-popup__actions {
  margin-top: 8px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.mc-popup__actions a {
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
  .mc-dealers *, .mc-pin svg { transition: none !important; }
}
