/* =====================================================================
   Memoria y Resistencia — área "Mapa y memoria"
   (portada del mapa, explorador, ficha, memorial, datos, reportar,
   insertar y mapa embebido). Complementa mr.css; no redefine tokens.
   ===================================================================== */

/* ---------------------------------------------------------------------
   Marcadores, grupos, leyenda y avisos del mapa
   --------------------------------------------------------------------- */
.marcador-envoltura { background: none; border: 0; }
.marcador-envoltura .marcador-mr { display: block; width: 18px; height: 18px; transition: transform .15s; }
.marcador-envoltura:hover .marcador-mr, .marcador-envoltura:focus-visible .marcador-mr { transform: scale(1.25); }
.marcador-mr.legal { background: #6a35a0; }
.leaflet-marker-icon:focus-visible { outline: 3px solid var(--mr-cempa); outline-offset: 3px; border-radius: 50%; }

.grupo-mr { background: none; }
.grupo-mr span {
  display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%;
  background: var(--mr-noche); color: #fff; font-weight: 650; font-size: .85rem;
  box-shadow: 0 0 0 5px rgba(106, 53, 160, .28), 0 2px 6px rgba(0,0,0,.25);
}
.grupo-mr.medio span { box-shadow: 0 0 0 7px rgba(106, 53, 160, .3), 0 2px 6px rgba(0,0,0,.25); }
.grupo-mr.grande span { box-shadow: 0 0 0 9px rgba(232, 137, 12, .35), 0 2px 6px rgba(0,0,0,.25); }

.mapa-leyenda {
  display: flex; flex-wrap: wrap; gap: .35rem .9rem; background: rgba(255,255,255,.94);
  border-radius: 10px; padding: .45rem .7rem; font-size: .8rem; color: var(--mr-tinta);
  box-shadow: 0 1px 4px rgba(28,19,48,.15); max-width: calc(100vw - 5rem);
}
.mapa-leyenda span { display: inline-flex; align-items: center; gap: .35rem; white-space: nowrap; }
.mapa-leyenda .marcador-mr { display: inline-block; width: 12px; height: 12px; border-width: 2px; box-shadow: none; }

.mapa-sin-carga { display: grid; place-items: center; padding: 2rem; background: repeating-linear-gradient(135deg, #eeebf2 0 12px, #e9e6ee 12px 24px); }
.mapa-aviso { max-width: 26rem; text-align: center; color: var(--mr-piedra); background: #fff; border-radius: var(--mr-radio-lg); padding: 1.5rem; border: 1px solid var(--mr-linea); }
.mapa-aviso i { font-size: 1.8rem; color: var(--mr-morado); margin-bottom: .6rem; display: block; }
.mapa-aviso p { margin: 0; }

/* Ventana emergente de un caso */
.leaflet-popup-content { margin: .8rem .9rem; }
.popup-caso { display: flex; gap: .8rem; align-items: flex-start; font-family: var(--mr-sans); }
.popup-foto { width: 64px; height: 76px; border-radius: 8px; object-fit: cover; flex: none; background: var(--mr-noche-2); }
.popup-foto.sin-foto { display: grid; place-items: center; color: rgba(255,255,255,.7); font-family: var(--mr-serif); font-size: 1.3rem; }
.popup-texto { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.popup-texto .marca-estado { align-self: flex-start; font-size: .72rem; padding: .28rem .5rem; margin-bottom: .15rem; }
.popup-nombre { font-family: var(--mr-serif); font-size: 1.02rem; line-height: 1.25; color: var(--mr-tinta); }
.popup-meta { font-size: .82rem; color: var(--mr-piedra); line-height: 1.35; }
.popup-enlace { font-weight: 600; font-size: .88rem; margin-top: .3rem; }

/* ---------------------------------------------------------------------
   Portada del mapa
   --------------------------------------------------------------------- */
.mapa-portada { background: var(--mr-noche); color: #f4f1f8; padding-block: clamp(2rem, 5vw, 3.5rem) clamp(5rem, 9vw, 7rem); }
.mapa-portada .migas { color: #b9b0c8; }
.mapa-portada h1 { color: #fff; }
.mapa-portada .lead { color: #d6cde4; max-width: 40rem; margin-top: 1rem; }
.mapa-portada-texto { max-width: 46rem; }
.mapa-cifras { display: flex; flex-wrap: wrap; gap: 1.25rem 3rem; margin: 2.25rem 0 0; }
.mapa-cifras > div { display: flex; flex-direction: column-reverse; }
.mapa-cifras dt { font-weight: 500; font-size: .95rem; color: #cfc6dd; }
.mapa-cifras dd { margin: 0; font-family: var(--mr-serif); font-size: clamp(1.8rem, 3.4vw, 2.4rem); color: #fff; font-weight: 600; line-height: 1.1; }

.mapa-portada-lienzo { margin-top: clamp(-5rem, -7vw, -3.5rem); }
.mapa-marco { background: #fff; border: 1px solid var(--mr-linea); border-radius: var(--mr-radio-lg); box-shadow: var(--mr-sombra); overflow: hidden; }
.mapa-marco .mapa-lienzo { height: clamp(380px, 62vh, 620px); border-radius: 0; }
.mapa-marco-pie { display: flex; gap: 1rem; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 1rem 1.25rem; border-top: 1px solid var(--mr-linea); color: var(--mr-piedra); }
@media (min-width: 992px) { .caminos-mapa { grid-template-columns: 1.2fr 1fr 1fr; } }
.reportar-llamado { display: flex; gap: 1.5rem 2.5rem; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.reportar-llamado > div:first-child { max-width: 40rem; }
.reportar-llamado h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); }

/* ---------------------------------------------------------------------
   Explorador a pantalla completa
   --------------------------------------------------------------------- */
.pagina-explorador { overflow: hidden; }
.explorador { height: calc(100vh - var(--alto-cabecera, 74px)); height: calc(100dvh - var(--alto-cabecera, 74px)); position: relative; }
.explorador-panel { display: flex; flex-direction: column; padding: 0; overflow: hidden; z-index: 500; }
.explorador-cabeza { padding: 1.1rem 1.25rem .9rem; border-bottom: 1px solid var(--mr-linea); background: #fff; }
.explorador-cabeza h1 { font-size: 1.45rem; margin: 0 0 .75rem; }
.explorador-desplazable { overflow-y: auto; flex: 1 1 auto; overscroll-behavior: contain; }
.buscador { position: relative; }
.buscador i { position: absolute; left: .85rem; top: 50%; transform: translateY(-50%); color: var(--mr-piedra-2); pointer-events: none; }
.buscador .form-control { padding-left: 2.4rem; }
.explorador-barra { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: .7rem; flex-wrap: wrap; }
.explorador-contador { margin: 0; font-size: .9rem; color: var(--mr-piedra); font-weight: 550; }
.explorador-botones { display: flex; gap: .25rem; align-items: center; }
.btn-filtros { --bs-btn-padding-y: .35rem; --bs-btn-padding-x: .8rem; --bs-btn-font-size: .9rem; }
.btn-filtros .num { background: var(--mr-morado); color: #fff; border-radius: 999px; font-size: .74rem; min-width: 1.3rem; height: 1.3rem; display: inline-grid; place-items: center; padding-inline: .3rem; }
.btn-filtros[aria-expanded="true"] { background: var(--mr-morado-claro); border-color: var(--mr-morado); }

.filtros-cuerpo { padding: .5rem 1.25rem 1rem; border-bottom: 1px solid var(--mr-linea); background: #fcfbfd; }
.filtro-grupo { border-bottom: 1px solid var(--mr-linea); }
.filtro-grupo:last-of-type { border-bottom: 0; }
.filtro-grupo > summary {
  list-style: none; cursor: pointer; padding: .8rem 0; font-weight: 650; font-size: .95rem;
  display: flex; justify-content: space-between; align-items: center; gap: .5rem;
}
.filtro-grupo > summary::-webkit-details-marker { display: none; }
.filtro-grupo > summary::after { content: "\f078"; font-family: "Font Awesome 7 Free", "Font Awesome 6 Free"; font-weight: 900; font-size: .75rem; color: var(--mr-piedra); transition: transform .15s; }
.filtro-grupo[open] > summary::after { transform: rotate(180deg); }
.filtro-grupo > summary:focus-visible { outline-offset: 0; }
.filtro-contenido { padding-bottom: 1rem; display: grid; gap: .85rem; }
.filtro-contenido .form-label, .filtro-contenido legend { font-size: .85rem; font-weight: 600; color: var(--mr-piedra); margin-bottom: .3rem; }
.filtro-contenido .form-select, .filtro-contenido .form-control { padding: .5rem .75rem; font-size: .95rem; }
.filtro-contenido fieldset { margin: 0; }
.filtro-checks { display: grid; gap: .3rem; }
.filtro-checks .form-check { margin: 0; font-size: .94rem; }
.filtro-doble { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.filtros-acciones { display: flex; gap: .5rem; justify-content: space-between; align-items: center; padding-top: .75rem; }

.explorador-resultados { list-style: none; margin: 0; padding: .35rem 0 1.5rem; }
.resultado { display: flex; align-items: center; gap: .25rem; padding-right: .75rem; border-bottom: 1px solid #f0edf3; }
.resultado.activo { background: var(--mr-cempa-claro); box-shadow: inset 3px 0 0 var(--mr-cempa); }
.resultado-enlace { display: flex; gap: .8rem; align-items: center; flex: 1; min-width: 0; padding: .7rem .5rem .7rem 1.25rem; text-decoration: none; color: inherit; }
.resultado-enlace:hover .resultado-nombre { color: var(--mr-morado); text-decoration: underline; }
.resultado-foto { width: 44px; height: 52px; border-radius: 8px; object-fit: cover; flex: none; background: var(--mr-noche-2); }
.resultado-foto.sin-foto { display: grid; place-items: center; color: rgba(255,255,255,.65); font-family: var(--mr-serif); font-weight: 600; font-size: .95rem; }
.resultado-texto { display: flex; flex-direction: column; min-width: 0; gap: .05rem; }
.resultado-nombre { font-family: var(--mr-serif); font-weight: 600; line-height: 1.25; overflow-wrap: anywhere; }
.resultado-meta { font-size: .84rem; color: var(--mr-piedra); line-height: 1.35; }
.resultado-texto .marca-estado { align-self: flex-start; font-size: .72rem; padding: .25rem .5rem; margin-top: .25rem; }
.resultado-ubicar {
  flex: none; width: 2.4rem; height: 2.4rem; border-radius: 50%; border: 1px solid transparent; background: none; color: var(--mr-morado);
}
.resultado-ubicar:hover { background: var(--mr-morado-claro); border-color: var(--mr-linea-2); }
.resultado-vacio { padding: 2rem 1.25rem; color: var(--mr-piedra); }
.explorador[aria-busy="true"] .explorador-resultados { opacity: .55; transition: opacity .2s; }
.explorador-nota { padding: 0 1.25rem 1.5rem; font-size: .84rem; color: var(--mr-piedra); }

.hoja-asa { display: none; }

@media (min-width: 992px) {
  .explorador-mapa .mapa-leyenda { margin-left: 1rem; margin-bottom: 1.5rem; }
}

/* Móvil y tableta: el panel se vuelve una hoja deslizable sobre el mapa. */
@media (max-width: 991.98px) {
  .explorador { display: block; }
  .explorador-mapa { position: absolute; inset: 0; }
  .explorador-panel {
    position: absolute; left: 0; right: 0; bottom: 0; height: 88%;
    border-right: 0; border-radius: 18px 18px 0 0; box-shadow: 0 -10px 30px rgba(28,19,48,.18);
    transform: translateY(calc(100% - var(--hoja-visible, 11.5rem)));
    transition: transform .28s ease;
  }
  .explorador.hoja-abierta .explorador-panel { transform: translateY(0); }
  .explorador.sin-mapa .explorador-panel { transform: none; height: 100%; border-radius: 0; }
  .explorador.sin-mapa .hoja-asa { display: none; }
  .hoja-asa {
    display: flex; flex-direction: column; align-items: center; gap: .3rem; width: 100%;
    background: #fff; border: 0; border-radius: 18px 18px 0 0; padding: .55rem 1rem .1rem; color: var(--mr-morado); font-weight: 600; font-size: .88rem;
  }
  .hoja-asa::before { content: ""; width: 2.6rem; height: 4px; border-radius: 4px; background: var(--mr-linea-2); }
  .explorador-cabeza { padding-top: .5rem; }
  .explorador-cabeza h1 { font-size: 1.2rem; margin-bottom: .55rem; }
  .explorador-mapa .leaflet-bottom { bottom: var(--hoja-visible, 11.5rem); }
  .explorador-mapa .mapa-leyenda { font-size: .74rem; gap: .25rem .6rem; }
}
@media (prefers-reduced-motion: reduce) { .explorador-panel { transition: none; } }

/* ---------------------------------------------------------------------
   Ficha de memoria
   --------------------------------------------------------------------- */
.ficha-cabecera .migas { color: #b9b0c8; }
.ficha-rejilla { display: grid; gap: 2rem 3.5rem; align-items: end; }
@media (min-width: 768px) { .ficha-rejilla { grid-template-columns: minmax(13rem, 18rem) 1fr; } }
.ficha-retrato { max-width: 18rem; }
.ficha-retrato .sin-foto { width: 100%; height: 100%; display: grid; place-items: center; font-family: var(--mr-serif); font-size: 4rem; color: rgba(255,255,255,.45); }
@media (max-width: 767.98px) { .ficha-retrato { max-width: 12rem; } }
.ficha-cabecera h1 { font-size: clamp(2rem, 4.4vw, 3.4rem); margin: .4rem 0 0; overflow-wrap: anywhere; }
.ficha-cabecera .marca-estado { margin-bottom: .5rem; }
.ficha-cabecera .ficha-datos dd { font-weight: 550; }
.ficha-acciones { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: 2rem; }

.ficha-cuerpo { display: grid; gap: 3rem; }
@media (min-width: 992px) { .ficha-cuerpo { grid-template-columns: minmax(0, 1fr) 20rem; gap: 4rem; } }
.ficha-bloque + .ficha-bloque { margin-top: 3rem; }
.ficha-bloque > h2 { font-size: 1.45rem; margin-bottom: 1rem; }
.ficha-lateral { display: flex; flex-direction: column; gap: 1.5rem; }
.ficha-lateral h2 { font-family: var(--mr-sans); font-size: 1rem; font-weight: 650; letter-spacing: 0; margin-bottom: .75rem; }
.minimapa { height: 220px; min-height: 0; border-radius: var(--mr-radio); }
.busqueda-aviso { background: var(--mr-cempa-claro); border: 1px solid #f4d3a5; border-radius: var(--mr-radio-lg); padding: 1.5rem; }
.busqueda-aviso h2 { font-size: 1.35rem; margin-bottom: .5rem; }
.busqueda-aviso.localizada { background: var(--mr-verde-claro); border-color: #b9e0cf; }
.fuentes { list-style: none; padding: 0; margin: 0; display: grid; gap: .1rem; }
.fuentes a { display: flex; gap: .65rem; align-items: baseline; padding: .55rem 0; border-bottom: 1px solid var(--mr-linea); text-decoration: none; color: inherit; }
.fuentes a:hover .fuente-titulo { color: var(--mr-morado); text-decoration: underline; }
.fuentes i { color: var(--mr-piedra-2); font-size: .85rem; }
.fuente-titulo { font-weight: 600; overflow-wrap: anywhere; }
.fuente-dominio { display: block; font-size: .84rem; color: var(--mr-piedra); }
.aviso-relato { font-size: .92rem; color: var(--mr-piedra); display: flex; gap: .5rem; align-items: baseline; margin-bottom: 1rem; }

/* ---------------------------------------------------------------------
   Memorial
   --------------------------------------------------------------------- */
.memorial-filtros { display: grid; gap: .75rem; grid-template-columns: 1fr 1fr; align-items: end; margin-bottom: 2rem; }
.memorial-filtros > div:first-child, .memorial-filtros > div:last-child { grid-column: 1 / -1; }
.memorial-filtros .form-select { min-width: 0; }
@media (min-width: 768px) { .memorial-filtros { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1200px) { .memorial-filtros { grid-template-columns: 2fr 1fr 1.2fr 1.2fr 1.4fr auto; } .memorial-filtros > div:first-child, .memorial-filtros > div:last-child { grid-column: auto; } }
.memorial-filtros .form-label { font-size: .88rem; color: var(--mr-piedra); }
.memorial-filtros > div { margin: 0; }
.memorial-resumen { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.25rem; color: var(--mr-piedra); }
.memorial-resumen p { margin: 0; }
.encabezado-pagina.oscuro .vela { color: var(--mr-cempa); }

/* ---------------------------------------------------------------------
   Datos
   --------------------------------------------------------------------- */
.datos-filtros { display: flex; gap: .75rem; flex-wrap: wrap; align-items: end; }
.datos-filtros > div { margin: 0; min-width: 9rem; flex: 1 1 9rem; max-width: 18rem; }
.datos-filtros .form-label { font-size: .88rem; color: var(--mr-piedra); }
.datos-barra { background: #fff; border-bottom: 1px solid var(--mr-linea); padding-block: 1.25rem; position: sticky; top: var(--alto-cabecera, 74px); z-index: 20; }
@media (max-width: 767.98px) { .datos-barra { position: static; } }
.cifras-datos { display: grid; gap: 0; background: #fff; border: 1px solid var(--mr-linea); border-radius: var(--mr-radio-lg); overflow: hidden; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); margin: 0; }
.cifras-datos > div { box-shadow: 1px 0 0 var(--mr-linea), 0 1px 0 var(--mr-linea); padding: 1.25rem 1.35rem; display: flex; flex-direction: column-reverse; justify-content: flex-end; }
.cifras-datos dd { margin: 0; }
.cifras-datos dt { font-weight: 500; }
.graficas { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 992px) { .graficas { grid-template-columns: 1fr 1fr; } .grafica.ancha { grid-column: 1 / -1; } }
.grafica { background: #fff; border: 1px solid var(--mr-linea); border-radius: var(--mr-radio-lg); padding: 1.35rem 1.35rem 1rem; min-width: 0; }
.grafica h3 { font-family: var(--mr-sans); font-size: 1.05rem; font-weight: 650; letter-spacing: 0; margin: 0; }
.grafica .descripcion { font-size: .9rem; color: var(--mr-piedra); margin: .25rem 0 1rem; }
.grafica-lienzo { position: relative; height: var(--alto, 300px); }
.sin-graficas .grafica-lienzo, .grafica.sin-grafica .grafica-lienzo { display: none; }
.tabla-alterna { margin-top: .75rem; border-top: 1px solid var(--mr-linea); padding-top: .5rem; }
.tabla-alterna > summary { cursor: pointer; font-size: .9rem; font-weight: 600; color: var(--mr-morado); padding: .25rem 0; }
.sin-graficas .tabla-alterna > summary { display: none; }
.sin-graficas .tabla-alterna { border-top: 0; margin-top: 0; padding-top: 0; }
.tabla-datos { font-size: .92rem; }
.tabla-datos td.num, .tabla-datos th.num { text-align: right; font-variant-numeric: tabular-nums; }
.tabla-datos .table > :not(caption) > * > * { padding: .45rem .6rem; }
.barra-mini { display: inline-block; height: 6px; border-radius: 3px; background: #6a35a0; vertical-align: middle; margin-left: .4rem; }
.aviso-graficas { display: none; }
.sin-graficas .aviso-graficas { display: block; }
.metodologia h3 { font-size: 1.15rem; margin-top: 1.75rem; }

/* ---------------------------------------------------------------------
   Formularios públicos (reportar, seguimiento)
   --------------------------------------------------------------------- */
.form-publico { max-width: 46rem; }
.reportar-rejilla { display: grid; gap: 2.5rem; }
@media (min-width: 992px) { .reportar-rejilla { grid-template-columns: minmax(0, 46rem) 1fr; gap: 4rem; } }
.reportar-lateral { display: flex; flex-direction: column; gap: 1.25rem; font-size: .96rem; }
.reportar-lateral h2 { font-family: var(--mr-sans); font-size: 1rem; font-weight: 650; letter-spacing: 0; margin-bottom: .5rem; }
.reportar-lateral ul { padding-left: 1.1rem; margin: 0; }
.reportar-lateral li { margin-bottom: .35rem; }
@media (min-width: 992px) { .reportar-lateral { position: sticky; top: 6.5rem; align-self: start; } }
.paso > h2 { font-size: 1.55rem; margin-bottom: .35rem; }
.paso > .descripcion { color: var(--mr-piedra); margin-bottom: 1.5rem; }
.paso h2:focus { outline: none; }
.enlace-item { display: flex; gap: .5rem; margin-bottom: .5rem; }
.enlace-item .form-control { flex: 1; }
.aviso-publico { display: grid; gap: .75rem; grid-template-columns: 1fr; margin-bottom: 1.5rem; }
@media (min-width: 576px) { .aviso-publico { grid-template-columns: 1fr 1fr; } }
.aviso-publico > div { border-radius: var(--mr-radio); padding: .9rem 1rem; font-size: .92rem; }
.aviso-publico .publico { background: var(--mr-azul-claro); color: #123158; }
.aviso-publico .privado { background: var(--mr-morado-claro); color: #33174f; }
.aviso-publico strong { display: block; margin-bottom: .2rem; }
.causas-lista { max-height: 16rem; overflow-y: auto; border: 1px solid var(--mr-linea); border-radius: var(--mr-radio); padding: .75rem 1rem; background: #fff; }
.causas-lista .form-check { margin-bottom: .35rem; }
.folio-grande {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: clamp(2rem, 7vw, 3rem); letter-spacing: .14em;
  font-weight: 700; color: var(--mr-noche); background: #fff; border: 2px dashed var(--mr-cempa); border-radius: var(--mr-radio-lg);
  padding: .6rem 1.25rem; display: inline-block; overflow-wrap: anywhere;
}
.estado-reporte { display: grid; gap: 1.25rem; }
.linea-reporte { list-style: none; padding: 0; margin: 0; display: flex; gap: .5rem; flex-wrap: wrap; }
.linea-reporte li { flex: 1 1 0; min-width: 0; border-top: 3px solid var(--mr-linea-2); padding-top: .5rem; font-size: .88rem; font-weight: 600; color: var(--mr-piedra); }
.linea-reporte li.hecho { border-color: var(--mr-cempa); color: var(--mr-tinta); }
.linea-reporte li.actual { border-color: var(--mr-morado); color: var(--mr-morado); }

/* ---------------------------------------------------------------------
   Insertar y embebido
   --------------------------------------------------------------------- */
.insertar-rejilla { display: grid; gap: 2rem; }
@media (min-width: 992px) { .insertar-rejilla { grid-template-columns: 20rem minmax(0, 1fr); gap: 3rem; } }
.codigo-insertar {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .86rem; line-height: 1.5;
  background: var(--mr-noche); color: #efe9f7; border: 0; border-radius: var(--mr-radio); min-height: 7.5rem; resize: vertical;
}
.codigo-insertar:focus { background: var(--mr-noche); color: #fff; }
.vista-previa { width: 100%; border: 1px solid var(--mr-linea); border-radius: 12px; background: #e9e6ee; display: block; }

.cuerpo-embebido { background: #fff; height: 100vh; height: 100dvh; overflow: hidden; }
.embebido { display: flex; flex-direction: column; height: 100%; }
.embebido-barra { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: .55rem .85rem; border-bottom: 1px solid var(--mr-linea); background: #fff; font-size: .88rem; }
.embebido-barra .marca-mini { display: flex; gap: .55rem; align-items: center; color: var(--mr-tinta); text-decoration: none; font-family: var(--mr-serif); font-weight: 600; line-height: 1.15; }
.embebido-barra .marca-mini img { width: 26px; height: auto; }
.embebido-barra .marca-mini small { display: block; font-family: var(--mr-sans); font-weight: 500; color: var(--mr-piedra); font-size: .78rem; }
.embebido-mapa { flex: 1; position: relative; min-height: 0; }
.embebido-mapa .mapa-lienzo { height: 100%; min-height: 0; border-radius: 0; }
.embebido-lista { position: absolute; inset: 0; overflow-y: auto; background: #fff; padding: 1rem; }
.embebido-lista ul { list-style: none; padding: 0; margin: 0; }
.embebido-lista li { padding: .4rem 0; border-bottom: 1px solid var(--mr-linea); font-size: .92rem; }
@media (max-width: 420px) { .embebido-barra .marca-mini small { display: none; } }

/* Guía de datos */
.diccionario td:first-child { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .86rem; width: 32%; min-width: 9rem; overflow-wrap: anywhere; color: var(--mr-morado-2); }
.diccionario td { font-size: .94rem; vertical-align: top; }
.bloque-codigo { background: var(--mr-noche); color: #efe9f7; border-radius: var(--mr-radio); padding: 1rem 1.15rem; font-size: .86rem; overflow-x: auto; max-width: 100%; }
.bloque-codigo code { color: inherit; white-space: pre; }
.indice-guia { list-style: none; padding: 0; margin: 0; display: grid; gap: .35rem; font-size: .95rem; }

@media print {
  .explorador, .ficha-acciones, .minimapa, .mapa-marco { display: none !important; }
}
@media (max-width: 575.98px) { .mapa-cifras { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem 1.25rem; margin-top: 1.75rem; } }
/* Las capas de Leaflet (z-index 400–1000) quedan contenidas en su lienzo. */
.mapa-lienzo, .explorador-mapa { isolation: isolate; }
.min-w-0 { min-width: 0; }
.ficha-lateral .lista-definiciones { grid-template-columns: 1fr; gap: 0; }
.ficha-lateral .lista-definiciones dt { font-size: .85rem; }
.ficha-lateral .lista-definiciones dd { margin-bottom: .7rem; }
.form-publico { scroll-margin-top: 6rem; }
.estado-reporte > .btn { justify-self: start; }
