/* ==========================================================
   catastro.css - estilos propios (complementan a Bootstrap)
   ========================================================== */

/* Verde bosque de la barra de navegación y botones principales */
:root {
  --catastro-verde: #2e6b3a;
  --catastro-verde-oscuro: #245530;
}
.barra-principal {
  background-color: var(--catastro-verde);
}
.btn-catastro {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--catastro-verde);
  --bs-btn-border-color: var(--catastro-verde);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--catastro-verde-oscuro);
  --bs-btn-hover-border-color: var(--catastro-verde-oscuro);
  --bs-btn-active-bg: var(--catastro-verde-oscuro);
  --bs-btn-active-border-color: var(--catastro-verde-oscuro);
}
.text-catastro {
  color: var(--catastro-verde);
}
/* Casillas marcadas en verde (por defecto Bootstrap las pinta de azul) */
.form-check-input:checked {
  background-color: var(--catastro-verde);
  border-color: var(--catastro-verde);
}

/* Insignias del catastro: los mismos colores que los puntos del mapa (COLORES en catastro/views.py) */
.estado-sano, .interv-ninguna { background-color: #2e7d32; color: #fff; }
.estado-vulnerable { background-color: #f9a825; color: #212529; }
.estado-enfermo, .interv-tala { background-color: #c62828; color: #fff; }
.interv-poda { background-color: #1565c0; color: #fff; }
.interv-trasplante { background-color: #6a1b9a; color: #fff; }
.condicion-talado, .condicion-trasplantado { background-color: #495057; color: #fff; }

/* Mapas del catastro */
.mapa-catastro { height: 65vh; min-height: 420px; border-radius: .375rem; }
.mapa-ficha { height: 260px; border-radius: .375rem; }
.leyenda-mapa { background: #fff; padding: .5rem .75rem; border-radius: .375rem; box-shadow: 0 1px 4px rgba(0,0,0,.3); line-height: 1.6; }
.leyenda-mapa .punto { display: inline-block; width: .8rem; height: .8rem; border-radius: 50%; margin-right: .35rem; vertical-align: middle; }

/* Tablas dentro de tarjetas: margen a los lados para que no toquen el borde */
.card > .table-responsive > .table th:first-child,
.card > .table-responsive > .table td:first-child { padding-left: 1rem; }
.card > .table-responsive > .table th:last-child,
.card > .table-responsive > .table td:last-child { padding-right: 1rem; }

/* Miniaturas de fotos en tablas (fauna, epífitas) */
.miniatura { height: 48px; width: 64px; object-fit: cover; }

/* Al imprimir la ficha: sin menú, botones ni pie; las tarjetas no se cortan entre páginas */
@media print {
  .navbar, footer, .no-imprimir, .leaflet-control-container { display: none !important; }
  body { background: #fff !important; }
  main.container { max-width: 100%; padding: 0; }
  .card { break-inside: avoid; }
  .col-lg-7, .col-lg-5 { flex: 0 0 100%; max-width: 100%; }
}

/* Fotos de la ficha del árbol */
.foto-arbol { height: 180px; object-fit: cover; }

/* Tarjetas de módulos en la página de inicio */
.tarjeta-modulo {
  transition: transform .15s ease, box-shadow .15s ease;
}
.tarjeta-modulo:hover {
  transform: translateY(-3px);
  box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .1);
}
.tarjeta-modulo .bi {
  font-size: 2.5rem;
}

/* Avatar con iniciales en la gestión de usuarios */
.avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  background-color: #e3efe5;
  color: var(--catastro-verde);
  flex-shrink: 0;
}
.avatar-lg {
  width: 4rem;
  height: 4rem;
  font-size: 1.5rem;
}

/* Panel de filtros apilados (templates/includes/panel_filtros.html):
   en pantallas grandes acompaña al usuario al bajar por la lista */
@media (min-width: 992px) {
  .panel-filtros { position: sticky; top: 1rem; }
}

/* Ficha pública: foto grande arriba, recortada sin deformarse */
.ficha-publica-foto { width: 100%; height: 280px; object-fit: cover; }
@media (min-width: 768px) { .ficha-publica-foto { height: 380px; } }
.ficha-publica-sin-foto {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .25rem;
  background: linear-gradient(135deg, #e3efe5, #f4f8f4); color: var(--catastro-verde);
}
.ficha-publica-sin-foto .bi { font-size: 4rem; }

/* Tabla de reportes: encabezado verde en dos niveles, como el formato de inventario */
.tabla-reporte { font-size: .8rem; }
.tabla-reporte thead th { background: var(--catastro-verde); color: #fff; text-align: center;
                          vertical-align: middle; font-weight: 600; white-space: nowrap; }
.tabla-reporte td { white-space: nowrap; }   /* la tabla es ancha: se desplaza de lado en vez de partir datos */
