/* CRM Político — paleta neutra de chrome (grises/azules). Los colores de
   partido llegan solo como acento (badges/leyenda/mapa), nunca como fondo del
   sistema. */
:root {
  --chroma: #1f2a44;          /* azul petróleo (chrome) */
  --chroma-soft: #3b4a6b;     /* azul suave */
  --chroma-bg: #f4f6fa;       /* fondo neutro */
  --bs-border-radius: .75rem;
  --bs-border-radius-lg: 1rem;
}

body {
  background: var(--chroma-bg);
}

/* Navegación corporativa */
.chroma-nav {
  background: var(--chroma);
}
.chroma-nav .navbar-brand {
  font-weight: 600;
}
.navbar-toggler:focus {
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .25);
}

/* Menú offcanvas: enlaces limpios */
#menuLateral .list-group-item {
  border: 0;
  padding: .3rem 1.25rem;
}
#menuLateral .list-group-item a {
  display: block;
  padding: .6rem .75rem;
  border-radius: .6rem;
  color: #212529;
  font-weight: 500;
}
#menuLateral .list-group-item a:hover {
  background: #eef2f8;
}
#menuLateral .list-group-item a[rel="active"] i {
  color: var(--chroma);
}

/* Botones y badges */
.btn-chroma {
  background: var(--chroma);
  border-color: var(--chroma);
  color: #fff;
}
.btn-chroma:hover {
  background: var(--chroma-soft);
  border-color: var(--chroma-soft);
  color: #fff;
}
.chroma-badge {
  background: var(--chroma);
  color: #fff;
}
.chroma-text {
  color: var(--chroma);
}
.chroma-bar {
  background: var(--chroma);
}
.chroma-link {
  color: var(--chroma);
  text-decoration: none;
  font-weight: 500;
}
.chroma-link:hover {
  text-decoration: underline;
}

/* Tarjetas KPI */
.card {
  border: 1px solid #e5e9f2;
}

/* Ajustes responsivos del mapa */
#mapa { z-index: 1; }

/* Menú superior (fila 2): ítems en línea, submenús visibles */
@media (min-width: 992px) {
  #menuTop .navbar-nav .nav-link {
    white-space: nowrap;
    padding-left: .7rem;
    padding-right: .7rem;
    font-weight: 500;
    color: #212529;
  }
  #menuTop .navbar-nav .nav-link:hover,
  #menuTop .navbar-nav .nav-link.show {
    color: var(--chroma);
  }
  /* Submenús: se abren al pasar el cursor y por clic (nunca se recortan) */
  .menu-principal .dropdown-menu {
    position: absolute;
    z-index: 1080;
    min-width: 200px;
  }
  .menu-principal .dropdown:hover > .dropdown-menu {
    display: block;
  }
}

/* ---- Mapa: tipografía de popups más grande y legible ---- */
.leaflet-container { font-size: 1rem; }
.leaflet-popup-content-wrapper { font-size: 1rem; }
.leaflet-popup-content { font-size: 1rem; line-height: 1.5; margin: 12px 16px; }
.leaflet-popup-content .btn { font-size: 0.95rem; }
.leaflet-control-attribution { font-size: 10px; }