/* Mapa de plantas (va después de leaflet.css para poder sobrescribirlo). */
.plant-map { display: grid; grid-template-columns: 1fr 300px; gap: 1rem; align-items: start; }
.map-canvas { height: 72vh; min-height: 380px; border-radius: var(--radius); border: 1px solid var(--border); background: var(--surface-2); }
.map-toolbar { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-top: .5rem; min-height: 2rem; }
.map-toolbar .button.active { background: var(--info-soft); border-color: var(--info); color: var(--info); }
.map-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .5rem; }
.map-actions[hidden] { display: none; }
.map-side { max-height: 80vh; overflow-y: auto; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: .25rem .75rem .75rem; }
.map-side h3 { position: sticky; top: 0; background: var(--surface); padding: .5rem 0; margin: .5rem 0 0; }
.map-list { list-style: none; margin: 0; padding: 0; }
.map-item {
  display: grid; grid-template-columns: auto 1fr; column-gap: .5rem; width: 100%; text-align: left;
  border: none; border-radius: 6px; background: none; padding: .35rem .4rem; color: var(--text);
}
.map-item:hover { background: var(--surface-2); }
.map-item.selected { background: var(--accent-soft); outline: 2px solid var(--accent); }
.map-item .dot { width: 12px; height: 12px; border-radius: 50%; margin-top: .3rem; border: 2px solid #fff; box-shadow: 0 0 0 1px rgba(0,0,0,.25); grid-row: span 2; }
.map-item small { color: var(--muted); grid-column: 2; }

.plant-marker span {
  display: block; width: 18px; height: 18px; border-radius: 50%;
  border: 3px solid #fff; box-shadow: 0 1px 4px rgba(0,0,0,.6);
}
.plant-popup { min-width: 140px; }
.plant-popup img { display: block; width: 160px; height: 120px; object-fit: cover; border-radius: 6px; margin-bottom: .35rem; }
.plant-popup .button { margin-top: .4rem; }
.leaflet-container { font: inherit; }

@media (max-width: 800px) {
  .plant-map { grid-template-columns: 1fr; }
  .map-canvas { height: 60vh; }
  .map-side { max-height: none; }
}
