/* Mapas: fondo según el tema, marcadores propios, grupos y controles de Leaflet. */
.leaflet-container { background: var(--panel-3); color: var(--texto); font-family: var(--fuente); }
.leaflet-tile-pane { filter: var(--filtro-mapa); }
.leaflet-control-zoom.leaflet-bar { border: 1px solid var(--linea); border-radius: var(--radio-s); box-shadow: var(--sombra); overflow: hidden; }
.leaflet-bar a, .leaflet-bar a:hover { width: 36px; height: 36px; border-color: var(--linea); background: var(--panel); color: var(--texto); line-height: 36px; }
.leaflet-bar a:hover { background: var(--panel-3); }
.leaflet-bar a.leaflet-disabled { background: var(--panel-2); color: var(--texto-3); }
.leaflet-container .leaflet-control-attribution { background: var(--panel); color: var(--texto-3); font-size: .6875rem; }
.leaflet-control-attribution a { color: var(--texto-2); }
.leaflet-popup-content-wrapper, .leaflet-popup-tip { background: var(--panel); color: var(--texto); box-shadow: var(--sombra); }
.leaflet-popup-content-wrapper { border-radius: var(--radio-s); }
.leaflet-popup-content { margin: .7rem .85rem; font-size: .875rem; }
.leaflet-popup-content strong { display: block; font-weight: 600; }
.leaflet-popup-content p { margin: .1rem 0 .3rem; color: var(--texto-2); }
.leaflet-container a.leaflet-popup-close-button { color: var(--texto-3); }

.pin-envoltura { background: none; border: 0; }
.pin {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  margin: 3px;
  border: 2px solid var(--panel);
  border-radius: 8px 8px 8px 2px;
  background: var(--acento);
  color: var(--sobre-acento);
  box-shadow: 0 1px 4px rgba(0, 0, 0, .35);
  transition: transform .12s;
}
.pin svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pin--destacado { width: 30px; height: 30px; margin: 1px; }
.pin--destacado svg { width: 17px; height: 17px; }
.pin-envoltura:hover .pin { transform: scale(1.12); }
.pin--activo { width: 32px; height: 32px; margin: 0; background: var(--marca); color: #fff; transform: scale(1.12); }
.pin--activo svg { width: 18px; height: 18px; }
.pin-grupo {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 2px solid var(--acento);
  border-radius: 50%;
  background: var(--panel);
  color: var(--texto);
  font-family: var(--fuente-mono);
  font-size: .75rem;
  font-weight: 500;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .3);
}
.linea-recorrido { fill: none; stroke: var(--marca); stroke-width: 3; stroke-dasharray: 2 7; stroke-linecap: round; }
.mi-ubicacion { fill: var(--acento); fill-opacity: 1; stroke: var(--panel); stroke-width: 3; }
.mi-ubicacion-radio { fill: var(--acento); fill-opacity: .12; stroke: var(--acento); stroke-opacity: .5; stroke-width: 1; }

.pin-lugar {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  margin: 1px;
  border: 2px solid var(--panel);
  border-radius: 50%;
  background: var(--texto);
  color: var(--panel);
  box-shadow: 0 1px 4px rgba(0, 0, 0, .35);
}
.pin-lugar svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.lugar-popup p { margin: .15rem 0; font-size: .8125rem; }
.lugar-popup-acciones { display: flex; flex-wrap: wrap; gap: .25rem .7rem; margin-top: .35rem; font-size: .8125rem; }
.leaflet-popup-content .lugar-popup-credito { margin-top: .35rem; color: var(--texto-3); font-size: .6875rem; }

.leaflet-popup-content .lugar-popup-nota { color: var(--texto); font-weight: 600; }
