/* serie_fuentes.css — gráfico 15 del catálogo (EST-G): la serie anual de España con el arranque de cada fuente
 * (app/serie_fuentes.py, SVG del servidor). Colores de origen: los de /cobertura (.cob-*, main.css; y sus versiones oscuras).
 * Dos composiciones, cada una a su tamaño: escritorio (1040) y móvil (358); se enseña una u otra, no se encoge. */
.sf { margin: var(--sp-6) 0 var(--sp-8); }
.sf-cab { display: grid; gap: var(--sp-1); max-width: 72ch; }
.sf-h2 { margin: 0; font-family: var(--fuente-sans); font-weight: var(--peso-fuerte); font-size: 1.375rem; line-height: 1.2; color: var(--color-texto-fuerte); }
.sf-porque { margin: 0; font-size: var(--fs-15, 0.9375rem); line-height: 1.5; color: var(--color-texto-2); }
.sf-cifras { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: var(--sp-4) 0 var(--sp-2); }
.sf-cifra { padding: 0 var(--sp-5); border-left: 1px solid var(--color-borde); min-width: 0; }
.sf-cifra:first-child { padding-left: 0; border-left: 0; }
.sf-cifra b { display: block; font-family: var(--fuente-cifra, var(--fuente-sans)); font-variant-numeric: tabular-nums; font-weight: 600; font-size: 1.875rem; line-height: 1.05; letter-spacing: -0.02em; color: var(--color-texto-fuerte); }
.sf-cifra:first-child b { color: var(--color-acento); }
.sf-cifra p { margin: var(--sp-1) 0 0; font-size: var(--fs-14); line-height: 1.4; color: var(--color-texto); max-width: 40ch; }
.sf-lienzo { margin-top: var(--sp-3); overflow: hidden; }
.sf-svg { display: block; max-width: 100%; height: auto; font-family: var(--fuente-sans); }
.sf-movil { display: none; }
.sf-svg text { fill: var(--color-texto-2); font-size: 13px; font-variant-numeric: tabular-nums; }
.sf-svg .sf-dato { fill: var(--color-texto); font-weight: 600; }
.sf-svg .sf-carril-t { fill: var(--color-texto); font-weight: 600; }
.sf-svg .sf-nombre { fill: var(--color-texto); }
.sf-svg .sf-nota { fill: var(--color-texto-2); font-size: 13px; }
.sf-svg a { text-decoration: none; }
.sf-svg .sf-fuente:hover .sf-nombre { text-decoration: underline; }
.sf-svg .sf-rejilla { stroke: var(--gr-rejilla, #ecebe6); shape-rendering: crispEdges; }
.sf-svg .sf-base, .sf-svg .sf-pista { stroke: var(--gr-eje, #c8c5bb); shape-rendering: crispEdges; }
.sf-svg .sf-pista { stroke-opacity: 0.6; }
.sf-svg .sf-poco, .sf-poco-ley { fill: var(--color-texto-3); fill-opacity: 0.55; }
.sf-svg .sf-zona { fill: transparent; }
.sf-svg .sf-anio:hover .sf-zona, .sf-svg .sf-fuente:hover .sf-zona { fill: var(--color-acento-suave); fill-opacity: 0.55; }
.sf-svg .sf-parcial rect[class^="cob-"] { fill-opacity: 0.55; }
.sf-leyenda { display: flex; flex-wrap: wrap; gap: 6px var(--sp-5); margin: var(--sp-3) 0 0; padding: 0; list-style: none; font-size: var(--fs-13); color: var(--color-texto-2); }
.sf-leyenda li { display: inline-flex; align-items: center; gap: 8px; }
.sf-leyenda svg { width: 12px; height: 12px; }
.sf-fijo { margin: var(--sp-3) 0 0; padding: var(--sp-1) 0 var(--sp-1) var(--sp-4); border-left: 2px solid var(--color-acento); font-size: var(--fs-14); line-height: 1.55; color: var(--color-texto-2); max-width: 100ch; }
.sf-fijo b { color: var(--color-texto); }
.sf-pie { margin-top: var(--sp-2); font-size: var(--fs-13); color: var(--color-texto-3); }
.sf-datos { margin-top: var(--sp-2); border-top: 1px solid var(--color-borde); border-bottom: 1px solid var(--color-borde); }
.sf-datos > summary { cursor: pointer; min-height: 40px; display: flex; align-items: center; font-size: var(--fs-14); font-weight: var(--peso-medio); color: var(--color-texto); }
.sf-datos .sf-acc { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-5); margin: 0 0 var(--sp-2); }
.sf-datos .sf-acc a { display: inline-flex; align-items: center; min-height: 40px; font-size: var(--fs-14); }
.sf-tabla-marco { max-height: 420px; overflow: auto; margin-bottom: var(--sp-3); }
.sf-tabla { width: 100%; border-collapse: collapse; font-size: var(--fs-13); font-variant-numeric: tabular-nums; }
.sf-tabla caption { text-align: left; padding: 8px 0; color: var(--color-texto-2); }
.sf-tabla th, .sf-tabla td { padding: 6px 8px; border-bottom: 1px solid var(--color-borde); text-align: right; white-space: nowrap; }
.sf-tabla th:first-child, .sf-tabla td:first-child { text-align: left; padding-left: 0; }
.sf-tabla thead th { position: sticky; top: 0; background: var(--color-fondo); color: var(--color-texto-2); font-weight: 600; }
@media (max-width: 760px) {
  .sf-escritorio { display: none; } .sf-movil { display: block; }
  .sf-cifras { grid-template-columns: 1fr; gap: var(--sp-2); }
  .sf-cifra { padding: 0; border-left: 0; display: grid; grid-template-columns: minmax(7rem, auto) minmax(0, 1fr); gap: 0 var(--sp-3); align-items: baseline; }
  .sf-cifra b { font-size: 1.5rem; } .sf-cifra p { margin: 0; }
  .sf-svg text { font-size: 14px; } .sf-svg .sf-nota { font-size: 13px; }
  .sf-leyenda, .sf-pie { font-size: var(--fs-14); }
}
/* La versión corta de la portada (partials/serie_fuentes_portada.html) */
.sf-portada { margin: var(--sp-5) 0 var(--sp-3); }
.sf-portada .sf-lienzo { margin-top: var(--sp-1); }
.sf-svg a:focus-visible { outline: none; }
.sf-svg a:focus-visible .sf-zona { fill: var(--color-acento-suave); stroke: var(--foco-color); stroke-width: 2; }
