/* ficha_organo.css — la ficha de órgano en el sistema visual (DIS-2, PR 3; maqueta diseno-total/maquetas/organo.html). Lo de
 * la ficha que no es sistema: el H1 de un nombre larguísimo (cuatro líneas como mucho), el NIF del rótulo, el perímetro, los
 * rótulos de las listas y los bloques que aún llegan con su marcado de antes (gasto, indicadores, hechos). */
.sv .fo .fo-h1 { display: -webkit-box; -webkit-line-clamp: 4; line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; max-height: 4.6em; }
.sv .fo .fo-nif { text-transform: none; letter-spacing: 0; }
.sv .fo .perimetro .boton-copiar { min-height: 32px; }
.sv .fo .fo-sub { margin: 0 0 var(--sp-2); font-size: var(--fs-rotulo); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--color-texto-3); }
.sv .fo .fo-mas, .sv .fo .fo-ver { margin: var(--sp-2) 0 0; }
.sv .fo .fo-resto { margin-top: var(--sp-2); }
.sv .fo .cab-acc { max-width: 520px; }
/* fo-cf-siete: las siete cifras de la cabecera caben a 1.440 sin partir «2.788 M€» (la primera, 1,2 en vez de 1,5 columnas;
 * las demás, a 2vw como mucho) */
@media (min-width: 768px) {
    .sv .fo .cf.cf-hero { grid-template-columns: minmax(0, 1.2fr); }
    .sv .fo .cf > div:not(.hero) .v { font-size: clamp(22px, 2vw, var(--fs-cifra)); }
    /* el periodo (sin enlace, no es hallazgo), algo menor: «2007–2026» cabe en una línea con siete cifras */
    .sv .fo .cf > div:not(.hero) .v:not(:has(a)) { font-size: clamp(20px, 1.7vw, var(--fs-cifra)); }
}
/* fo-aire: el índice y la primera sección, separados de las notas de la cabecera */
.sv .fo .cuerpo { margin-top: var(--sp-5); }
/* fo-aviso-linea: el aviso de la ficha sin contratos únicos, en línea con filete (.linea-aviso), no en caja */
.sv .fo .ficha-aviso { margin: var(--sp-3) 0; padding: 0 0 0 var(--sp-3); border: 0; border-left: 2px solid var(--color-aviso-adorno); border-radius: 0; background: none; }
/* El SVG del servidor del peso del primer proveedor (graficos_ficha.concentracion_svg, el gráfico 19 de EST-G), sin cargar
 * graficos_ficha.css: sus .gf-* chocan con los del sistema (.gf-lienzo { display: none }, .gf-mandos en píldora, .gf-leyenda,
 * .gf-fijo…) y escondían el gráfico anual (medido el 3-nov). Aquí, solo lo que pinta ese SVG */
.sv .fo .gf-svg { display: block; max-width: 100%; height: auto; font-family: var(--fuente-sans); overflow: visible; }
.sv .fo .gf-svg.gf-movil { display: none; }
.sv .fo .gf-svg text { fill: var(--dato-texto); font-size: 13px; font-variant-numeric: tabular-nums; }
.sv .fo .gf-svg .gf-dato { fill: var(--color-texto); font-weight: 600; }
.sv .fo .gf-svg .gf-rejilla { stroke: var(--dato-rejilla); shape-rendering: crispEdges; }
.sv .fo .gf-svg .gf-base { stroke: var(--dato-eje); shape-rendering: crispEdges; }
.sv .fo .gf-svg .gf-zona { fill: transparent; }
.sv .fo .gf-svg .gf-anio:hover .gf-zona, .sv .fo .gf-svg a:focus-visible .gf-zona { fill: var(--color-acento-suave); fill-opacity: 0.6; }
.sv .fo .gf-svg a:focus-visible { outline: none; }
.sv .fo .gf-svg a:focus-visible .gf-zona { stroke: var(--foco-color); stroke-width: 2; }
.sv .fo .gc-uno { fill: none; stroke: var(--dato-1); stroke-width: 2.25; stroke-linejoin: round; stroke-linecap: round; }
.sv .fo .gc-cuatro { fill: none; stroke: var(--dato-apagado-texto); stroke-width: 1.5; stroke-linejoin: round; stroke-opacity: 0.85; }
.sv .fo .gc-uno-p { fill: var(--dato-1); stroke: var(--color-fondo); stroke-width: 1.5; }
.sv .fo .gc-cuatro-p { fill: var(--color-fondo); stroke: var(--dato-apagado-texto); stroke-width: 1.5; }
@media (max-width: 760px) { .sv .fo .gf-svg.gf-escritorio { display: none; } .sv .fo .gf-svg.gf-movil { display: block; } .sv .fo .gf-svg text { font-size: 14px; } }

/* ── Los bloques de antes (gasto, hechos, indicadores), dentro de la página del sistema ─────────────────────────────────
 * Llegan con su marcado de siempre (lo leen sus pruebas y la batería: ids, data-*, textos) y aquí se visten del sistema:
 * la cabecera de una sección numerada (el número, de la clase fo-n0X del envoltorio), filas con filete en vez de tarjetas
 * con fondo, sombra y esquinas (las «cajas» del guion de medida), y las cifras en la escala del sistema. */
.sv .fo .fo-bloque-viejo { padding: var(--sp-8) 0; border-top: 1px solid var(--color-borde-fuerte); scroll-margin-top: calc(var(--cabecera-sitio) + 16px); }
.sv .fo .fo-bloque-viejo > .ficha-seccion, .sv .fo .fo-bloque-viejo > section { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
.sv .fo .fo-cumplimiento > .fo-bloque-viejo + .fo-bloque-viejo { padding-top: var(--sp-5); border-top: 1px solid var(--color-borde); }
.sv .fo .fo-bloque-viejo > section > .ficha-seccion-cabeza { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 0 var(--sp-3); align-items: baseline; margin: 0 0 var(--sp-4); padding: 0; border: 0; }
.sv .fo .fo-bloque-viejo > section > .ficha-seccion-cabeza::before { grid-column: 1; font-size: var(--fs-seccion); font-weight: 600; letter-spacing: -0.02em; color: var(--color-acento); }
.sv .fo .fo-n03 > section > .ficha-seccion-cabeza::before { content: "03"; }
.sv .fo .fo-n06 > section > .ficha-seccion-cabeza::before { content: "06"; }
.sv .fo .fo-n06 + .fo-n06 > section > .ficha-seccion-cabeza::before { content: ""; }
.sv .fo .fo-n07 > section > .ficha-seccion-cabeza::before { content: "07"; }
.sv .fo .ficha-seccion-cabeza > :is(h2, h3) { grid-column: 2; margin: 0; font-family: var(--fuente-sans); font-size: var(--fs-seccion); font-weight: 600; letter-spacing: -0.015em; line-height: 1.3; color: var(--color-texto-fuerte); }
.sv .fo .ficha-seccion-cabeza > :is(h2, h3) .nota { display: block; margin-top: 2px; font-size: var(--fs-nota); font-weight: 400; letter-spacing: 0; color: var(--color-texto-2); }
.sv .fo .ficha-seccion-cabeza > a { grid-column: 3; font-size: var(--fs-nota); white-space: nowrap; }
.sv .fo .fo-bloque-viejo > section > :not(.ficha-seccion-cabeza) { margin-left: 56px; }
.sv .fo .fo-bloque-viejo > section > details.cu-plegable-linea { margin-left: 0; }

/* Indicadores y descriptores (partials/ficha_indicadores.html y ficha_documentos.html): cada tarjeta, una fila de la tabla del
 * bloque (indicador · cifra · detalle · dónde queda en su grupo), sin fondo ni esquinas; los años, un control segmentado */
.sv .fo .ind-entradilla, .sv .fo .ind-nota { max-width: var(--lectura); margin: 0 0 var(--sp-3); font-size: var(--fs-nota); color: var(--color-texto-2); }
.sv .fo .ind-anios { gap: 0; margin: 0 0 var(--sp-4); }
.sv .fo .ind-anios a { min-height: 36px; padding: 0 10px; border: 1px solid var(--color-borde-fuerte); border-radius: 0; font-size: 14px; color: var(--color-texto-2); }
.sv .fo .ind-anios a + a { border-left: 0; }
.sv .fo .ind-anios-rotulo + a { border-radius: var(--radio-m) 0 0 var(--radio-m); }
.sv .fo .ind-anios a:last-child { border-radius: 0 var(--radio-m) var(--radio-m) 0; }
.sv .fo .ind-anios a[aria-current="true"] { background: var(--color-acento); border-color: var(--color-acento); color: var(--color-sobre-acento); }
.sv .fo .ind-leer { max-width: var(--lectura); margin: 0 0 var(--sp-4); padding: 0 0 0 var(--sp-3); border: 0; border-left: 2px solid var(--color-borde-fuerte); border-radius: 0; background: none; font-size: var(--fs-nota); }
.sv .fo .ind-bloque-titulo { margin: var(--sp-6) 0 var(--sp-2); font-size: var(--fs-grafico); font-weight: 600; }
.sv .fo .ind-fuente-titulo { margin: var(--sp-4) 0 var(--sp-2); font-size: 15px; }
.sv .fo .ind-tarjetas { display: block; border-top: 1px solid var(--color-borde-fuerte); }
.sv .fo .ind-tarjeta { display: grid; grid-template-columns: minmax(0, 12rem) minmax(0, 13rem) minmax(0, 1fr) minmax(0, 21rem); grid-auto-flow: row dense; align-items: start; gap: 2px var(--sp-5); padding: 10px 0; border: 0; border-bottom: 1px solid var(--color-borde); border-radius: 0; background: none; box-shadow: none; }
.sv .fo .ind-tarjeta > * { grid-column: 3; min-width: 0; }
.sv .fo .ind-tarjeta > .ind-tarjeta-titulo, .sv .fo .ind-tarjeta > .ind-lista { grid-column: 1; }
/* El título, la cifra y la comparación ocupan las dos filas; el detalle y, debajo, «Cómo se calcula», la tercera columna:
   la fila mide lo que su columna más alta, no la suma (antes, cada indicador medía 120 px) */
.sv .fo .ind-tarjeta > .ind-tarjeta-titulo { grid-row: span 2; }
.sv .fo .ind-tarjeta > .ind-cifra { grid-column: 2; grid-row: span 2; }
.sv .fo .ind-tarjeta > .ind-def { grid-column: 3; }
.sv .fo .ind-tarjeta > .ind-comparacion { grid-column: 4; grid-row: span 2; padding: 0; border: 0; }
.sv .fo .ind-tarjeta-vacia > .ind-sub { grid-column: 2 / -1; }
.sv .fo .ind-tarjeta-titulo { font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--color-texto-fuerte); }
.sv .fo .ind-cifra { font-size: var(--fs-nota); line-height: 1.35; }
.sv .fo .ind-tarjeta :is(.ind-sub, .ind-cmp-linea) { line-height: 1.35; }
.sv .fo .ind-cmp { gap: 2px; }
.sv .fo .ind-cifra-valor { font-family: var(--fuente-sans); font-size: var(--fs-seccion); font-weight: 600; letter-spacing: -0.01em; line-height: 1.2; }
.sv .fo .ind-sub, .sv .fo .ind-comparacion { font-size: var(--fs-nota); }
.sv .fo .ind-cmp-barra { width: calc(100% - 12px); max-width: 240px; }
.sv .fo .ind-def > summary, .sv .fo .ind-lista a { min-height: 32px; }
.sv .fo .ind-tarjeta > .ind-def[open] { grid-column: 1 / -1; }
.sv .fo .ind-def-poblacion { margin-top: var(--sp-2); }
.sv .fo .ind-que { margin: var(--sp-5) 0 0; padding: 0; border: 0; border-radius: 0; background: none; }
.sv .fo .ind-que-det > summary { display: flex; align-items: center; min-height: var(--toque); cursor: pointer; }
.sv .fo .ind-que-det > summary .ind-que-titulo { margin: 0; font-size: 15px; }
.sv .fo .ind-que-cuerpo { max-width: var(--lectura); font-size: var(--fs-nota); }
.sv .fo .ind-pie { font-size: var(--fs-nota); }
.sv .fo .ind-otras-fichas, .sv .fo .ind-aviso { border-radius: 0; }

/* El selector de unidad del parcial usa «label.campo» (su campo de siempre), que en el sistema es la caja de un control:
 * aquí vuelve a ser una etiqueta con su select debajo */
.sv .fo .ind-unidad label.campo { display: grid; gap: 4px; height: auto; min-width: 0; padding: 0; border: 0; border-radius: 0; background: none; font-size: var(--fs-nota); color: var(--color-texto-2); }
.sv .fo .ind-unidad select.control { height: 40px; }
/* Una tarjeta con dos comparaciones (criterios: solo fórmulas y peso del juicio de valor): la segunda, debajo de la primera */
.sv .fo .ind-tarjeta > .ind-comparacion ~ .ind-comparacion { grid-row: span 1; margin-top: var(--sp-2); }
/* Los bloques plegados de la ficha del sistema (ind_sv): el título y una línea de qué tiene; abiertos, como siempre */
.sv .fo .ind-plegable { margin: var(--sp-3) 0 0; border-top: 1px solid var(--color-borde); }
.sv .fo .ind-plegable > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px var(--sp-3); align-items: baseline; padding: 10px 0; cursor: pointer; list-style: none; }
.sv .fo .ind-plegable > summary::-webkit-details-marker { display: none; }
.sv .fo .ind-plegable > summary::after { content: "+"; grid-column: 2; grid-row: 1; font-size: 18px; color: var(--color-texto-2); }
.sv .fo .ind-plegable[open] > summary::after { content: "–"; }
.sv .fo .ind-plegable > summary .ind-bloque-titulo { margin: 0; }
.sv .fo .ind-plegable-sub { grid-column: 1; font-size: var(--fs-nota); color: var(--color-texto-2); }
.sv .fo .ind-que-det > summary, .sv .fo .ind-leer-det > summary { list-style: none; display: flex; align-items: center; min-height: var(--toque); cursor: pointer; }
.sv .fo .ind-leer-det > summary::-webkit-details-marker { display: none; }
.sv .fo .ind-leer-det > summary::after { content: "+"; margin-left: var(--sp-3); font-size: 18px; color: var(--color-texto-2); }
.sv .fo .ind-leer-det[open] > summary::after { content: "–"; }
.sv .fo .ind-leer[data-plegado] { padding-left: 0; border-left: 0; }
.sv .fo .ind-que-det > summary::-webkit-details-marker { display: none; }
.sv .fo .ind-que-det > summary::after { content: "+"; margin-left: auto; font-size: 18px; color: var(--color-texto-2); }
.sv .fo .ind-que-det[open] > summary::after { content: "–"; }
.sv .fo .fo-defs { margin-top: var(--sp-3); }

/* Los indicadores como tabla (decisión del 3-nov, la maqueta y D10): su fila de cabecera, la cifra en línea con lo que mide,
   y sin las barritas de percentil (la comparación, en su línea: percentil · mediana · grupo) */
.sv .fo .ind-cab-td { display: grid; grid-template-columns: minmax(0, 12rem) minmax(0, 13rem) minmax(0, 1fr) minmax(0, 21rem); gap: 0 var(--sp-5); padding: 6px 0; border-top: 2px solid var(--color-borde-fuerte); border-bottom: 1px solid var(--color-borde); font-size: var(--fs-rotulo); font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; color: var(--color-texto-3); }
.sv .fo .ind-cab-td + .ind-tarjetas { border-top: 0; }
.sv .fo .ind-cmp-barra, .sv .fo .ind-cmp-escala, .sv .fo .ind-cmp > .solo-lectores { display: none; }
.sv .fo .ind-tarjeta .ind-cifra-valor { display: inline; margin-right: 4px; font-size: 17px; }
.sv .fo .ind-tarjeta { padding: 8px 0; }
@media not (pointer: coarse) { .sv .fo .ind-tarjeta .ind-def > summary { min-height: 22px; } }   /* «fine» no casa en Chrome sin cabeza: se medía otra página */
@media (max-width: 1023px) { .sv .fo .ind-cab-td { display: none; } .sv .fo .ind-cab-td + .ind-tarjetas { border-top: 1px solid var(--color-borde-fuerte); } }

/* Hechos en tres columnas desde 1.024 px (la maqueta): cabecera con la cifra arriba y su lectura debajo */
@media (min-width: 1024px) {
    .sv .fo .fo-cumplimiento .hp-lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 var(--sp-6); align-items: start; }
    .sv .fo .fo-cumplimiento .hp-hecho { display: block; padding-top: 0; border-top: 0; }
    .sv .fo .fo-cumplimiento .hp-hecho .hp-cuerpo { margin-top: var(--sp-2); }
}

/* Hechos (partials/hechos_organo.html, e9_entidad.html): ya son filas; la cifra K de N, en la escala del sistema */
.sv .fo .hp-num { font-family: var(--fuente-sans); font-size: var(--fs-cifra); font-weight: 600; letter-spacing: -0.02em; }
.sv .fo .hp-num-texto { font-size: var(--fs-seccion); }
.sv .fo .hp-nombre { font-size: 15px; }

/* Lo publicado frente a su gasto (_presupuestos.html, el bloque de siempre de /comparar/municipios): como en la maqueta, la
 * frase y las cifras a la izquierda (5 de 12) y la serie frente a los parecidos a la derecha (7 de 12); sus plegables, en
 * una fila debajo. Las cifras, apiladas y sin caja */
@media (min-width: 1024px) {
    .sv .fo .fo-n03 > section.pre { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 0 var(--sp-8); align-items: start; }
    .sv .fo .fo-n03 > section.pre > * { grid-column: 1; min-width: 0; }
    .sv .fo .fo-n03 > section.pre > .ficha-seccion-cabeza, .sv .fo .fo-n03 > section.pre > .pre-plegables,
    .sv .fo .fo-n03 > section.pre > .pre-nota, .sv .fo .fo-n03 > section.pre > .pre-notas { grid-column: 1 / -1; }
    .sv .fo .fo-n03 > section.pre > .pre-serie { grid-column: 2; grid-row: 2 / span 3; margin: 0; }
    .sv .fo .fo-n03 > section.pre > .pre-cifras { grid-column: 1 / -1; margin-top: var(--sp-3); }   /* las tres, en fila bajo la frase y la serie */
    .sv .fo .fo-n03 > section.pre > .pre-plegables { display: flex; flex-wrap: wrap; gap: 0 var(--sp-6); align-items: flex-start; }
    .sv .fo .fo-n03 > section.pre .pre-plegable { border-bottom: 0; }
    .sv .fo .fo-n03 > section.pre .pre-plegable[open] { flex-basis: 100%; }
}
.sv .fo .pre-cifra { padding-block: var(--sp-2); border-radius: 0; background: none; box-shadow: none; }
.sv .fo .fo-n03 .tabla-marco { border-width: 1px 0 0; border-color: var(--color-borde-fuerte); border-radius: 0; background: none; }   /* las tablas del gasto, sin caja */
.sv .fo .pre-frase { font-size: 15px; }

/* Últimos contratos (partials/ficha_ultimos_td.html): el objeto, ancho y en dos líneas; en el móvil, quién y cuándo debajo */
.sv .fo .fo-ult .nombre { max-width: 64ch; }
.sv .fo .fo-ult .fo-ult-quien { max-width: 26ch; white-space: normal; line-height: 1.25; }
.sv .fo .fo-ult .n .sub { display: block; margin-left: 0; }
.sv .fo .fo-ult-movil { display: none; }
@media (max-width: 767px) { .sv .fo .fo-ult-movil { display: inline; } .sv .fo .fo-ult .nombre { max-width: none; } }

@media (max-width: 1023px) {
    .sv .fo .ind-tarjeta { grid-template-columns: minmax(0, 12rem) minmax(0, 1fr) minmax(0, 15rem); }
    .sv .fo .ind-tarjeta > * { grid-column: 2; }
    .sv .fo .ind-tarjeta > .ind-tarjeta-titulo, .sv .fo .ind-tarjeta > .ind-lista { grid-column: 1; }
    .sv .fo .ind-tarjeta > .ind-def { grid-column: 2; }
    .sv .fo .ind-tarjeta > .ind-comparacion { grid-column: 3; }
    .sv .fo .ind-tarjeta-vacia > .ind-sub { grid-column: 2 / -1; }
}
@media (max-width: 767px) {
    .sv .fo .fo-bloque-viejo { padding: var(--sp-6) 0; }
    .sv .fo .fo-bloque-viejo > section > .ficha-seccion-cabeza { grid-template-columns: 36px minmax(0, 1fr); }
    .sv .fo .ficha-seccion-cabeza > a { grid-column: 2; justify-self: start; margin-top: 4px; }
    .sv .fo .fo-bloque-viejo > section > :not(.ficha-seccion-cabeza) { margin-left: 0; }
    .sv .fo .ind-tarjeta { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; }
    .sv .fo .ind-tarjeta > *, .sv .fo .ind-tarjeta > .ind-tarjeta-titulo, .sv .fo .ind-tarjeta > .ind-def, .sv .fo .ind-tarjeta > .ind-lista,
    .sv .fo .ind-tarjeta > .ind-cifra, .sv .fo .ind-tarjeta > .ind-comparacion, .sv .fo .ind-tarjeta > .ind-sub, .sv .fo .ind-tarjeta-vacia > .ind-sub { grid-column: 1; grid-row: auto; }
    .sv .fo .ind-tarjeta { grid-auto-flow: row; }
    .sv .fo .ind-tarjeta > .ind-def { order: 9; }
    .sv .fo .ind-cifra-valor { display: inline; margin-right: 6px; }
    .sv .fo .ind-anios { flex-wrap: wrap; row-gap: 4px; }   /* en dos filas si no caben: con desplazamiento lateral, el año elegido quedaba cortado (y la batería lo ve fuera de la pantalla) */
    .sv .fo .ind-anios a { flex: none; min-height: var(--toque); }
}
@media (pointer: coarse) { .sv .fo .ind-def > summary, .sv .fo .ind-lista a { min-height: var(--toque); } }
@media (max-width: 767px) { .sv .fo .cab-acc { max-width: none; } }

/* Con el dedo (fo-toque): los enlaces de la entradilla, del perímetro y de las notas, y el «Acuerdos marco» plegable, con su
   zona de 40 px sin mover el flujo; el botón de copiar el NIF, de 40 */
@media (pointer: coarse), (max-width: 767px) {
    .sv .fo .entradilla a { display: inline; padding-block: 12px; }   /* inline: el nombre largo de un proveedor se parte como el texto, sin saltar entero de línea */
    .sv .fo :is(.perimetro a, .nota-cuenta a, .fo-mas a, .fo-ver a, .ficha-nota-descarga a, .ficha-aviso a, .ficha-seccion-cabeza > a, .ind-pie a, .ind a[data-otra-ficha]) { display: inline-block; padding: 12px 0; margin: -12px 0; }
    .sv .fo .fo-ult .nombre a.corto { min-height: var(--toque); max-height: none; }   /* una fila de los últimos: 40 px, tenga una línea o dos */
    .sv .fo .nota-acuerdos-marco > summary { min-height: var(--toque); display: flex; align-items: center; }
    .sv .fo .perimetro .boton-copiar { min-width: var(--toque); min-height: var(--toque); margin-block: -4px; }   /* 40 con el dedo, sin subir la línea */
}
/* En el móvil, la entradilla a 14 px y el perímetro en una línea menos: la primera cifra, antes de 500 px (D2) */
@media (max-width: 767px) {
    .sv .fo .entidad-resumen.entradilla { font-size: 14px; line-height: 1.45; }
    .sv .fo .perimetro { gap: 0 var(--sp-3); }
    .sv .fo .cab { border-bottom: 0; }
}

/* Órganos con más proveedores en común (E7, partials/organo_vecinos.html: section.e1.o7 con su details abierto): la cabecera de
 * la sección 08 del sistema (el número en lugar del galón, el título a la escala de las demás, la ventana a la derecha), el
 * cuerpo alineado con el título, las tres cifras sin caja y la tabla de filas de 32 px; los vecinos después del quinto, en el
 * plegable de debajo (vec_vista) */
.sv .fo .fo-n09 > section.o7 { margin: 0; }
.sv .fo .fo-n09 .e1-bloque { border-bottom: 0; scroll-margin-top: calc(var(--cabecera-sitio) + 16px); }
.sv .fo .fo-n09 .e1-bloque > summary { grid-template-columns: 44px minmax(0, 1fr) auto; gap: 2px var(--sp-3); min-height: var(--toque); margin: 0 0 var(--sp-4); padding: 0; }
.sv .fo .fo-n09 .e1-bloque > summary::before { content: "09"; grid-row: 1 / span 2; align-self: baseline; justify-self: start; width: auto; height: auto; border: 0; transform: none;
    font-size: var(--fs-seccion); font-weight: 600; letter-spacing: -0.02em; color: var(--color-acento); }
.sv .fo .fo-n09 .e1-bloque-t { grid-column: 2; max-width: none; font-family: var(--fuente-sans); font-size: var(--fs-seccion); font-weight: 600; letter-spacing: -0.015em; line-height: 1.3; color: var(--color-texto-fuerte); }
.sv .fo .fo-n09 .e1-bloque-r { grid-column: 2; grid-row: 2; font-size: var(--fs-nota); line-height: 1.4; color: var(--color-texto-2); }
.sv .fo .fo-n09 .e1-bloque-n { grid-column: 3; grid-row: 1; font-size: var(--fs-nota); color: var(--color-texto-2); }
.sv .fo .fo-n09 .e1-bloque-cuerpo { margin-left: 56px; padding: 0; }
.sv .fo .fo-n09 .e1-cifras { margin-bottom: var(--sp-3); border-top-color: var(--color-borde-fuerte); }
.sv .fo .fo-n09 .e1-c-valor { font-family: var(--fuente-sans); font-size: var(--fs-cifra); font-weight: 600; letter-spacing: -0.02em; }
.sv .fo .fo-n09 .e1-prosa { max-width: none; margin: 0; font-size: var(--fs-nota); color: var(--color-texto-2); }
/* La lectura y el enlace al grafo 3D, en el mismo renglón (dos párrafos en línea): una línea menos */
.sv .fo .fo-n09 :is(.o7-lectura, .o7-ir) { display: inline; }
.sv .fo .fo-n09 .o7-ir { margin-left: var(--sp-2); font-size: var(--fs-nota); }
.sv .fo .fo-n09 .o7-tabla { margin-top: var(--sp-3); }
.sv .fo .fo-n09 .e1-tabla { font-size: 14px; }
.sv .fo .fo-n09 .e1-tabla td { padding-block: 5px; }
.sv .fo .fo-n09 .e1-tabla td:first-child .sub { display: inline; margin-left: var(--sp-2); }
.sv .fo .fo-n09 .e1-pleg { margin-top: var(--sp-3); }
.sv .fo .fo-n09 .e1-pleg > summary { min-height: var(--toque); align-items: center; }
@media (max-width: 767px) {
    .sv .fo .fo-n09 .e1-bloque > summary { grid-template-columns: 36px minmax(0, 1fr); }
    /* las tres cifras, una por renglón (la cifra a la izquierda, su rótulo y su base al lado), y en cada vecino sus tres
       cifras en una fila, con el rótulo encima: antes, 420 y 135 px */
    .sv .fo .fo-n09 .e1-cifras { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
    .sv .fo .fo-n09 .e1-c { grid-row: auto; grid-template-columns: 5.5rem minmax(0, 1fr); grid-template-rows: auto auto; column-gap: var(--sp-3); padding: var(--sp-2) 0; border-left: 0; border-top: 1px solid var(--color-borde); }
    .sv .fo .fo-n09 .e1-c:first-child { border-top: 0; }
    .sv .fo .fo-n09 .e1-c-valor { grid-column: 1; grid-row: 1 / span 2; align-self: center; }
    .sv .fo .fo-n09 .e1-c-rot { grid-column: 2; grid-row: 1; min-height: 0; }
    .sv .fo .fo-n09 .e1-c-base { grid-column: 2; grid-row: 2; }
    .sv .fo .fo-n09 .e1-tabla.e1-filas td.n { flex: 1 1 0; min-width: 0; white-space: normal; }   /* el rótulo, en dos líneas si no cabe (con nowrap se salía: 409 px a 390) */
    .sv .fo .fo-n09 .e1-tabla.e1-filas td[data-r]::before { display: block; margin: 0 0 2px; font-size: 11px; letter-spacing: 0.04em; }
    .sv .fo .fo-n09 .o7-ir { margin-left: 0; }
    .sv .fo .fo-n09 .e1-bloque-n { grid-column: 2; grid-row: 3; }
    .sv .fo .fo-n09 .e1-bloque-cuerpo { margin-left: 0; }
    .sv .fo .fo-n09 .e1-tabla td:first-child .sub { display: block; margin-left: 0; }
}
@media (pointer: coarse), (max-width: 767px) {
    .sv .fo .fo-n09 :is(.e1-tabla td:first-child a, .o7-ir a, .e1-prosa a) { display: inline-block; padding: 10px 0; margin: -10px 0; }
}

/* fo-compacta: en el PC, los plegables cerrados que van seguidos (los dos bloques de indicadores; los vecinos de más y «Qué
 * es y qué no es»), lado a lado; abierto, cada uno vuelve a todo el ancho. Y las notas de los indicadores, a todo el ancho
 * del bloque (antes, a la medida de lectura: dos líneas donde cabe una) */
@media (min-width: 1024px) {
    .sv .fo .ind-plegable:not([open]), .sv .fo .fo-n09 .e1-pleg:not([open]) { display: inline-block; width: calc(50% - var(--sp-4)); vertical-align: top; }
    /* los de los indicadores llevan el margen de 56 px de los hijos del bloque: lo descuentan entre los dos */
    .sv .fo .ind-plegable:not([open]) { width: calc(50% - 44px); }
    .sv .fo .ind-plegable:not([open]) + .ind-plegable:not([open]), .sv .fo .fo-n09 .e1-pleg:not([open]) + .e1-pleg:not([open]) { margin-left: var(--sp-6); }
    .sv .fo .fo-n09 .e1-pleg:not([open]) { border-bottom: 0; }
    .sv .fo :is(.ind-entradilla, .ind-nota) { max-width: none; }
}

/* ind-def-al-lado: en el móvil, «Cómo se calcula» de cada indicador, a la derecha de su título (antes, un renglón de 40 px
 * debajo de cada uno); su zona de 40 px, sin subir el renglón (márgenes negativos). Abierto, baja a todo el ancho */
@media (max-width: 767px) {
    .sv .fo .ind-tarjeta { grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--sp-3); }
    .sv .fo .ind-tarjeta > .ind-tarjeta-titulo { grid-column: 1; grid-row: 1; }
    .sv .fo .ind-tarjeta > :not(.ind-tarjeta-titulo):not(.ind-def) { grid-column: 1 / -1; }   /* lo demás, a todo el ancho */
    .sv .fo .ind-tarjeta > .ind-def:not([open]) { grid-column: 2; grid-row: 1; order: 0; align-self: start; }
    .sv .fo .ind-tarjeta > .ind-def:not([open]) > summary { display: flex; align-items: center; min-height: var(--toque); margin-block: -9px; white-space: nowrap; }
    .sv .fo .ind-tarjeta > .ind-def[open] { grid-column: 1 / -1; }
}
/* fo-variantes-sin-caja: «También publica sin NIF», una línea más bajo las notas de la cabecera (en main.css, una caja) */
.sv .fo .ficha-variantes { margin-top: var(--sp-2); padding: 0; border: 0; border-radius: 0; background: none; }
