/* Mapa de autoescuelas (mapa-de-autoescuelas.php) */
.mpa { margin: 0 0 24px; }
.mpa-filtros { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: flex-end; margin-bottom: 10px; }
.mpa-filtros label { display: flex; flex-direction: column; gap: 3px; font-size: 13px; margin: 0; }
.mpa-filtros select, .mpa-filtros input { min-height: 36px; padding: 4px 8px; border: 1px solid #cbd5e0; border-radius: 6px; background: #fff; font-size: 15px; max-width: 100%; }
.mpa-filtros input[type=search] { min-width: 220px; }
.mpa-mapa { position: relative; height: 70vh; min-height: 420px; max-height: 760px; border: 1px solid #cbd5e0; border-radius: 8px; overflow: hidden; background: #e8eef3; z-index: 0; }
.mpa-cargando { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; margin: 0; color: #4a5568; }
.mpa-leyenda { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 10px 0 4px; }
.mpa-tramo { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border: 1px solid #cbd5e0; border-radius: 14px; background: #fff; font-size: 13px; cursor: pointer; color: #2d3748; }
.mpa-tramo i { width: 12px; height: 12px; border-radius: 50%; border: 1px solid #333; display: inline-block; }
.mpa-tramo[aria-pressed=false] { opacity: .45; text-decoration: line-through; }
.mpa-n { color: #718096; }
.mpa-nota, .mpa-aviso { font-size: 13px; color: #4a5568; margin: 6px 0; }
.mpa-popup strong { display: block; font-size: 15px; margin-bottom: 2px; }
.mpa-popup-sub, .mpa-popup-dir { display: block; font-size: 12px; color: #4a5568; }
.mpa-popup table { margin: 6px 0; border-collapse: collapse; font-size: 13px; }
.mpa-popup th { text-align: left; font-weight: 600; padding: 1px 8px 1px 0; }
.mpa-popup td { padding: 1px 8px 1px 0; }
.mpa-popup-ficha { display: inline-block; margin-top: 2px; font-size: 14px; font-weight: 600; }
@media (max-width: 600px) {
  .mpa-mapa { height: 62vh; min-height: 340px; }
  .mpa-filtros label, .mpa-filtros input[type=search] { width: 100%; min-width: 0; }
}

/* Grupos y etiquetas de % (Leaflet.markercluster) */
.mpa-grupo-caja, .mpa-pin-caja { background: none; border: 0; }
.mpa-grupo { box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 5px solid #3182ce; border-radius: 50%;
  background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.35); color: #1a202c; line-height: 1.05; }
.mpa-grupo b { font-size: 14px; }
.mpa-grupo i { font-style: normal; font-size: 10px; color: #4a5568; }
.mpa-pin { display: block; width: 46px; height: 26px; line-height: 24px; box-sizing: border-box; text-align: center; border: 1px solid #1a202c; border-radius: 13px;
  font-size: 12px; font-weight: 700; color: #fff; text-shadow: 0 0 2px rgba(0,0,0,.6); box-shadow: 0 1px 3px rgba(0,0,0,.4); }
.mpa-pin-claro { color: #1a202c; text-shadow: none; }
.mpa-sin-fondo { position: absolute; left: 50px; right: 10px; top: 10px; z-index: 800; margin: 0; padding: 6px 10px; border-radius: 6px; background: #fffbe6; border: 1px solid #ecc94b; font-size: 12px; }
.mpa-popup thead th { font-size: 11px; color: #4a5568; font-weight: 600; }
.mpa-popup small { color: #718096; }
.mpa-popup tr.mpa-sel { background: #ebf4ff; }
.mpa-popup td { padding-right: 10px; }
