/* Panel lateral de los mapas (12-nov-2026). Ver public/js/mapas/mapa-herramientas.js */

#modal-mapa #map { position: relative; height: 480px; }
#modal-mapa.modal-block { max-width: 1100px; width: calc(100vw - 40px); }
@media (max-width: 600px) { #modal-mapa #map { height: 420px; } }
#mapa-panel[hidden], #mapa-panel [hidden] { display: none !important; }

.leaflet-sidebar { font-size: 13px; }
.leaflet-sidebar-header { background-color: #7fa315; font-size: 15px; height: 36px; line-height: 36px; }
.leaflet-sidebar-tabs > ul > li > a { color: #555; }
.leaflet-sidebar-tabs > li.active, .leaflet-sidebar-tabs > ul > li.active { background-color: #7fa315; }
.leaflet-sidebar-tabs > ul > li.active > a { color: #fff; }
.leaflet-sidebar-content { background-color: #fff; }

.mapa-panel-cuerpo { padding: 12px 4px; display: flex; flex-direction: column; gap: 8px; }
.mapa-panel-cuerpo label { margin: 4px 0 0; font-weight: 600; }
.mapa-panel-cuerpo p { margin: 0; }
.mapa-ayuda { color: #666; font-size: 12px; line-height: 1.4; }
.mapa-botones { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.mapa-botones-columna { flex-direction: column; }
.mapa-botones-columna .btn { text-align: left; }
.mapa-msg { font-size: 12px; min-height: 1em; }
.mapa-msg-ok { color: #2e7d32; }
.mapa-msg-error { color: #b3261e; }
.mapa-info-punto { border-top: 1px dotted #ccc; padding-top: 8px; }
.mapa-info-punto h5 { margin: 0 0 4px; font-weight: 600; }
.mapa-info-especie { overflow: hidden; }
.mapa-info-especie img { width: 110px; float: left; margin: 0 10px 6px 0; border-radius: 4px; }

#mapa-capas .leaflet-control-layers { box-shadow: none; border: 0; background: transparent; margin: 0; }
#mapa-capas .leaflet-control-layers-base label { font-weight: normal; }

/* indicaciones de la ruta dentro del panel */
#mapa-ruta-resultado .leaflet-routing-container { width: 100%; box-shadow: none; margin: 0; padding: 0; background: transparent; max-height: none; }
#mapa-ruta-resultado .leaflet-routing-alt { max-height: none; border-bottom: 0; }
#mapa-ruta-resultado .leaflet-routing-alt h2 { font-size: 13px; }
#mapa-ruta-resultado .leaflet-routing-alt h3 { font-size: 12px; }

/* marcadores propios (sin imágenes externas) */
.mapa-icono { border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px rgba(0,0,0,.35); }
.mapa-icono-comentario { background: #e6a700; border-radius: 3px; }
.mapa-icono-punto { background: #7fa315; }
.mapa-icono-origen { background: #1f6f5c; }
.mapa-icono-destino { background: #b3261e; }

.mapa-popup-comentario p { margin: 4px 0; white-space: normal; max-width: 240px; }
.mapa-popup-comentario small { color: #777; }
.mapa-popup-acciones { margin-top: 6px; display: flex; gap: 12px; }

@media print {
    .leaflet-sidebar, .leaflet-control { display: none !important; }
}
