/* BuscadorCivil · componentes. Solo tokens --bcv-* (tokens.css); ningún color suelto. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scrollbar-color: var(--bcv-linea-fuerte) transparent; }
body { margin: 0; background: var(--bcv-fondo); color: var(--bcv-texto); font: 400 var(--bcv-t-base)/1.6 var(--bcv-sans); font-feature-settings: "tnum" 0; display: flex; flex-direction: column; min-height: 100dvh; }
main { flex: 1 0 auto; }
::selection { background: var(--bcv-marca-tenue); color: var(--bcv-tinta); }
a { color: var(--bcv-marca); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { color: var(--bcv-marca-fuerte); text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--bcv-foco); outline-offset: 2px; border-radius: 2px; }
h1, h2, h3 { color: var(--bcv-tinta); line-height: 1.25; text-wrap: balance; }
.marco { width: min(100% - 2.5rem, var(--bcv-ancho)); margin-inline: auto; }
.oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.salto { position: absolute; left: -999px; top: var(--bcv-e2); background: var(--bcv-superficie); padding: var(--bcv-e2) var(--bcv-e4); z-index: 5; }
.salto:focus { left: var(--bcv-e4); }

/* Mundo de marca: cabecera y portada en blanco que se aclara hacia celeste, con el filete arriba (founder 7-nov, variante 2).
   Adentro, «en marca» es tinta grafito y el acento es celeste. */
.mundo {
  --bcv-en-marca: var(--bcv-mundo-tinta); --bcv-en-marca-suave: var(--bcv-suave); --bcv-acento-oscuro: var(--bcv-mundo-acento);
  background: var(--bcv-bg-mundo); border-top: 4px solid var(--bcv-filete); color: var(--bcv-en-marca);
}
.mundo + main { border-top: 1px solid var(--bcv-mundo-linea-clara); }
.cabecera-fila { display: flex; align-items: center; gap: var(--bcv-e4); padding: var(--bcv-e4) 0; flex-wrap: wrap; }
.marca { display: block; max-width: 100%; line-height: 0; transition: opacity var(--bcv-rapida); }
.marca:hover { opacity: .9; }
.marca img { display: block; max-width: 100%; height: auto; }
.bajada { margin: 0; padding-left: var(--bcv-e4); border-left: 1px solid var(--bcv-mundo-borde-claro); color: var(--bcv-en-marca-suave); font-size: var(--bcv-t-sec); }
.nav { border-block: 1px solid var(--bcv-mundo-linea-clara); }
.nav-fila { display: flex; gap: var(--bcv-e5); overflow-x: auto; scrollbar-width: none; }
.nav a { color: var(--bcv-en-marca-suave); font-weight: 600; font-size: var(--bcv-t-sec); text-decoration: none; padding: var(--bcv-e3) 0; white-space: nowrap; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.nav a:hover { color: var(--bcv-marca); }
.nav a[aria-current] { color: var(--bcv-marca); border-bottom-color: var(--bcv-filete); }

/* Portada */
.portada { padding: var(--bcv-e7) 0; }
.portada-rejilla { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: var(--bcv-e8); align-items: start; }
.portada h1 { font: 600 var(--bcv-t-mundo)/1.18 var(--bcv-serif); color: var(--bcv-en-marca); margin: 0 0 var(--bcv-e4); max-width: 21ch; letter-spacing: -.01em; }
.portada h1 em { font-style: normal; color: var(--bcv-acento-oscuro); }
.entrada { margin: 0 0 var(--bcv-e5); font-size: var(--bcv-t-lead); color: var(--bcv-en-marca-suave); max-width: 56ch; }
.ejemplos { display: flex; flex-wrap: wrap; gap: var(--bcv-e2); margin: var(--bcv-e4) 0 0; padding: 0; list-style: none; }
.ejemplos a { display: block; padding: var(--bcv-e1) var(--bcv-e3); border: 1px solid var(--bcv-mundo-borde-claro); border-radius: var(--bcv-radio-pill); background: var(--bcv-superficie); color: var(--bcv-texto); font-size: var(--bcv-t-chico); font-weight: 500; text-decoration: none; transition: background var(--bcv-rapida), border-color var(--bcv-rapida); }
.ejemplos a:hover { background: var(--bcv-marca-suave); border-color: var(--bcv-filete); color: var(--bcv-tinta); }
.fuentes { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--bcv-mundo-borde-claro); padding-left: var(--bcv-e5); }
.fuentes li { border-bottom: 1px solid var(--bcv-mundo-linea-clara); }
.fuentes li:last-child { border-bottom: 0; }
.fuentes a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--bcv-e3); align-items: baseline; padding: .7rem 0; text-decoration: none; color: var(--bcv-en-marca); }
.fuentes span { font: 600 .95rem/1.3 var(--bcv-serif); }
.fuentes strong { color: var(--bcv-marca); font-weight: 700; font-size: var(--bcv-t-chico); font-variant-numeric: tabular-nums; }
.fuentes a:hover span { color: var(--bcv-acento-oscuro); }

/* Buscador */
.busca { display: flex; gap: var(--bcv-e2); max-width: 820px; }
.busca input, .busca select, .filtros select { font: inherit; color: var(--bcv-tinta); background: var(--bcv-superficie); border: 1px solid var(--bcv-linea-fuerte); border-radius: var(--bcv-radio); }
.busca input { flex: 1; min-width: 0; padding: .7rem var(--bcv-e4); }
.busca input::placeholder { color: var(--bcv-suave); }
.busca select { padding: .7rem var(--bcv-e2); max-width: 11.5rem; }
.busca input:focus, .busca select:focus, .filtros select:focus { outline: 2px solid var(--bcv-foco); outline-offset: 0; border-color: var(--bcv-foco); }
.busca.grande { background: var(--bcv-superficie); padding: var(--bcv-e2); border: 1px solid var(--bcv-mundo-borde-claro); border-radius: 10px; box-shadow: var(--bcv-sombra-busca); }
.busca.grande input, .busca.grande select { border-color: transparent; }
.busca.grande select { border-left: 1px solid var(--bcv-linea); border-radius: 0; }
button { font: 600 var(--bcv-t-sec) var(--bcv-sans); color: var(--bcv-en-boton); background: var(--bcv-boton); border: 0; border-radius: var(--bcv-radio); padding: .7rem 1.25rem; cursor: pointer; transition: background var(--bcv-rapida); }
button:hover { background: var(--bcv-boton-hover); }

.mas { font-weight: 600; font-size: var(--bcv-t-sec); }

/* Selector de fuente: fijo al subir, como en BT */
.selector { position: sticky; top: 0; z-index: 3; background: transparent; pointer-events: none; }
.selector-fila { pointer-events: auto; display: grid; grid-template-columns: repeat(4, 1fr); background: var(--bcv-superficie); border: 1px solid var(--bcv-linea); border-top: 0; border-radius: 0 0 var(--bcv-radio) var(--bcv-radio); box-shadow: 0 6px 18px rgb(8 47 73 / .08); }
.selector.en-portada { margin-top: -1.5rem; }
.selector.en-portada .selector-fila { border-top: 1px solid var(--bcv-linea); border-radius: var(--bcv-radio); }
.sel { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: var(--bcv-e3); align-items: center; padding: var(--bcv-e3) var(--bcv-e4); color: var(--bcv-tinta); text-decoration: none; transition: background var(--bcv-rapida); }
.sel + .sel { border-left: 1px solid var(--bcv-linea); }
.sel svg { grid-row: span 2; width: 1.75rem; height: 1.75rem; fill: none; stroke: var(--bcv-marca); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.sel strong { font-weight: 700; font-size: var(--bcv-t-sec); line-height: 1.3; }
.sel span { color: var(--bcv-suave); font-size: var(--bcv-t-chico); font-variant-numeric: tabular-nums; }
.sel:hover { background: var(--bcv-marca-suave); color: var(--bcv-tinta); }
.sel[aria-current]::after { content: ""; position: absolute; inset: auto 0 -1px; height: 3px; background: var(--bcv-marca); }
.sel[aria-current] strong { color: var(--bcv-marca-fuerte); }

/* Visor */
.visor { padding: var(--bcv-e6) 0 var(--bcv-e8); transition: opacity var(--bcv-rapida); }
.visor.cargando { opacity: .45; }
.visor h1, .visor h2 { font: 600 var(--bcv-t-h1)/1.25 var(--bcv-serif); margin: 0 0 var(--bcv-e1); }
.visor-bajada { margin: 0 0 var(--bcv-e4); max-width: 68ch; }
.visor .busca { max-width: none; }
.plegable { margin: var(--bcv-e3) 0 var(--bcv-e4); }
.ver-filtros { display: inline-flex; align-items: center; gap: var(--bcv-e2); padding: .45rem var(--bcv-e4); background: var(--bcv-superficie); border: 1px solid var(--bcv-linea-fuerte); border-radius: var(--bcv-radio-pill); color: var(--bcv-tinta); font-weight: 600; font-size: var(--bcv-t-sec); cursor: pointer; transition: background var(--bcv-rapida); }
.ver-filtros:hover { background: var(--bcv-marca-suave); }
.ver-filtros svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
#ver-filtros:focus-visible + .ver-filtros { outline: 2px solid var(--bcv-foco); outline-offset: 2px; }
#ver-filtros:checked + .ver-filtros { background: var(--bcv-marca-tenue); border-color: var(--bcv-marca); }
#ver-filtros:not(:checked) ~ .filtros { display: none; }
.filtros { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: var(--bcv-e3) var(--bcv-e4); margin-top: var(--bcv-e3); padding: var(--bcv-e4); background: var(--bcv-superficie); border: 1px solid var(--bcv-linea); border-radius: var(--bcv-radio); }
.filtros label { display: block; font-weight: 600; font-size: var(--bcv-t-chico); color: var(--bcv-tinta); }
.filtros select { display: block; width: 100%; margin-top: var(--bcv-e1); padding: var(--bcv-e2); font-weight: 400; font-size: var(--bcv-t-sec); }
.filtros-pie { display: flex; align-items: end; gap: var(--bcv-e4); }
.filtros button { padding: var(--bcv-e2) var(--bcv-e4); }
.limpiar { font-size: var(--bcv-t-sec); padding-bottom: var(--bcv-e2); }
.total { margin: 0 0 var(--bcv-e3); color: var(--bcv-suave); font-size: var(--bcv-t-sec); font-variant-numeric: tabular-nums; }
.listado-cabeza { padding: var(--bcv-e6) 0 var(--bcv-e5); }
.listado-cabeza h1 { font: 600 var(--bcv-t-h1) var(--bcv-serif); margin: 0 0 var(--bcv-e4); }

/* Tarjeta de resultado */
.resultados { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--bcv-e3); }
.res { padding: var(--bcv-e4) var(--bcv-e5); background: var(--bcv-superficie); border: 1px solid var(--bcv-linea); border-radius: var(--bcv-radio); transition: border-color var(--bcv-rapida); }
.res:hover { border-color: var(--bcv-linea-fuerte); }
.res h3 { font: 600 var(--bcv-t-h3)/1.4 var(--bcv-serif); margin: 0 0 var(--bcv-e1); }
.res h3 a { color: var(--bcv-tinta); text-decoration: none; }
.res h3 a:hover { color: var(--bcv-marca); text-decoration: underline; }
.datos { display: flex; flex-wrap: wrap; align-items: center; gap: var(--bcv-e1) var(--bcv-e3); margin: 0 0 var(--bcv-e2); font-size: var(--bcv-t-chico); color: var(--bcv-suave); font-variant-numeric: tabular-nums; }
.datos span:first-of-type:not(.estado), .estado + span { color: var(--bcv-tinta); font-weight: 600; }
.estado { padding: .05rem var(--bcv-e2); background: var(--bcv-marca-tenue); color: var(--bcv-mundo-b); border-radius: var(--bcv-radio-chico); font-weight: 600; white-space: nowrap; }
.extracto { margin: 0; font-size: .9375rem; }
.chips { list-style: none; display: flex; flex-wrap: wrap; gap: var(--bcv-e1) var(--bcv-e2); margin: var(--bcv-e3) 0 0; padding: var(--bcv-e3) 0 0; border-top: 1px solid var(--bcv-linea); }
.chips li { padding: .1rem var(--bcv-e2); background: var(--bcv-banda); border-radius: var(--bcv-radio-chico); font-size: var(--bcv-t-chico); color: var(--bcv-suave); }
mark { background: var(--bcv-resaltado); color: inherit; padding: 0 .1em; }
.reserva { background: var(--bcv-reserva-fondo); color: var(--bcv-reserva-texto); border-radius: var(--bcv-radio-chico); padding: 0 .35em; font-family: var(--bcv-sans); font-size: .82em; white-space: nowrap; }
.vacio { padding: 2.5rem 0; }
.vacio h1, .vacio h2 { font: 600 1.3rem var(--bcv-serif); margin: 0 0 var(--bcv-e2); }
.paginas { margin-top: var(--bcv-e5); display: flex; gap: var(--bcv-e5); align-items: center; justify-content: space-between; padding: var(--bcv-e5) 0 0; border-top: 1px solid var(--bcv-linea); font-weight: 600; font-size: var(--bcv-t-sec); }
.paginas span { color: var(--bcv-suave); font-weight: 500; }
.ancho-lectura { padding: var(--bcv-e5) 0 var(--bcv-e8); }
.ancho-lectura > * { max-width: var(--bcv-lectura); }
.grupo { margin-bottom: 2.25rem; }
.grupo h2 span { color: var(--bcv-suave); font-weight: 500; margin-left: var(--bcv-e1); font-variant-numeric: tabular-nums; }
.grupo h2 a { color: var(--bcv-tinta); }
h2.area { margin-top: 2.25rem; }

/* Ficha: el esqueleto del visor de BT y BL (fallo-detalle), en celeste. Tarjeta blanca con una banda de marca que identifica; manda el título. */
.ficha { padding: var(--bcv-e6) 0 var(--bcv-e8); }
.ficha-doc { max-width: var(--bcv-ficha); margin-inline: auto; background: var(--bcv-superficie); border: 1px solid var(--bcv-linea); border-radius: var(--bcv-radio-doc); box-shadow: var(--bcv-sombra-doc); overflow: hidden; }
.ficha-banda { display: flex; align-items: center; flex-wrap: wrap; gap: var(--bcv-e1) .625rem; min-height: 60px; padding: var(--bcv-e3) 1.625rem var(--bcv-e3) var(--bcv-e4); background: var(--bcv-bg-marca); box-shadow: inset 0 -3px 0 var(--bcv-filete); color: var(--bcv-en-marca); }
.ficha-volver { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--bcv-mundo-velo); color: var(--bcv-en-marca); transition: background var(--bcv-rapida); }
.ficha-volver:hover { background: var(--bcv-mundo-borde); color: var(--bcv-en-marca); }
.ficha-volver:focus-visible, .ficha-banda :focus-visible { outline-color: var(--bcv-en-marca); border-radius: 50%; }
.ficha-doc svg { flex: none; width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ficha-fuente { padding: .125rem .5rem; border: 1px solid var(--bcv-mundo-borde); border-radius: var(--bcv-radio); font-size: .75rem; font-weight: 600; line-height: 1.4; white-space: nowrap; }
.ficha-rol { font-size: var(--bcv-t-h2); font-weight: 700; letter-spacing: -.015em; line-height: 1.3; font-variant-numeric: tabular-nums slashed-zero; overflow-wrap: anywhere; }
.ficha-fecha { margin-left: auto; color: var(--bcv-en-marca-suave); font-size: var(--bcv-t-sec); font-weight: 500; font-variant-numeric: tabular-nums slashed-zero; white-space: nowrap; }
.ficha-cabeza { padding: 1.5rem 1.625rem 0; }
.ficha-cabeza h1, .ancho-lectura > h1 { font: 600 var(--bcv-t-h1)/1.25 var(--bcv-serif); margin: 0 0 var(--bcv-e2); }
.ficha-cabeza h1 { font-size: 1.5rem; color: var(--bcv-mundo-b); letter-spacing: -.012em; margin: 0; }
.ficha-cabeza h1.largo { font-size: 1.1875rem; line-height: 1.35; }
.ficha-cabeza .aviso { margin: var(--bcv-e4) 0 0; border: 1px solid var(--bcv-marca-tenue); }
.ficha-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: var(--bcv-e2); padding-top: var(--bcv-e4); }
.boton { display: inline-flex; align-items: center; gap: .4375rem; min-height: 36px; padding: var(--bcv-e2) .875rem; background: var(--bcv-superficie); border: 1px solid var(--bcv-linea-fuerte); border-radius: var(--bcv-radio-boton); color: var(--bcv-marca-fuerte); font: 600 var(--bcv-t-chico)/1.3 var(--bcv-sans); text-decoration: none; transition: background var(--bcv-rapida), border-color var(--bcv-rapida), filter var(--bcv-rapida); }
.boton:hover { background: var(--bcv-marca-suave); border-color: var(--bcv-marca); color: var(--bcv-marca-fuerte); text-decoration: none; }
.boton:active { transform: translateY(1px); }
.boton-marca { background: var(--bcv-bg-marca); border-color: transparent; box-shadow: inset 0 1px 0 rgb(255 255 255 / .14); color: var(--bcv-en-marca); }
.boton-marca:hover { background: var(--bcv-bg-marca); border-color: transparent; color: var(--bcv-en-marca); filter: brightness(1.14); }
/* La tabla va a sangre de la tarjeta, con filetes de lado a lado, como .fallo-detalle-meta */
.ficha-datos { margin: 1.25rem 0 0; border-block: 1px solid var(--bcv-linea); }
.ficha-datos div { display: grid; grid-template-columns: 10.625rem minmax(0, 1fr); padding: .5625rem 1.625rem; align-items: baseline; }
.ficha-datos div + div { border-top: 1px solid var(--bcv-linea); }
.ficha-datos dt { color: var(--bcv-suave); font-size: var(--bcv-t-chico); font-weight: 500; padding-right: var(--bcv-e3); }
.ficha-datos dd { margin: 0; color: var(--bcv-texto); font-size: var(--bcv-t-sec); line-height: 1.55; font-variant-numeric: tabular-nums slashed-zero; overflow-wrap: anywhere; }
.ficha-datos a { color: var(--bcv-marca-fuerte); text-decoration: underline; text-decoration-color: var(--bcv-linea-fuerte); text-decoration-thickness: 1px; transition: text-decoration-color var(--bcv-rapida); }
.ficha-datos a:hover { text-decoration-color: var(--bcv-marca); }
.chip-id { display: inline-block; padding: .125rem .625rem; background: var(--bcv-banda); border-radius: var(--bcv-radio); color: var(--bcv-texto); font-size: var(--bcv-t-chico); font-weight: 600; }
.aviso p { margin: 0; }
.aviso ul { margin: var(--bcv-e1) 0 0; padding-left: var(--bcv-e4); }
.aviso { margin-top: 0; background: var(--bcv-marca-suave); padding: var(--bcv-e3) var(--bcv-e4); border-radius: var(--bcv-radio); font-size: .9375rem; color: var(--bcv-mundo-b); }
.sumario, .relaciones, .texto, .ficha-doc > .vacio { margin: 1.375rem 1.625rem 0; }
.sumario h2, .relaciones h2, .texto h2 { font: 600 var(--bcv-t-h2)/1.3 var(--bcv-serif); margin: 0 0 var(--bcv-e3); }
.sumario { padding: 1.25rem var(--bcv-e5) 1.375rem; background: var(--bcv-marca-suave); border: 1px solid var(--bcv-marca-tenue); border-radius: var(--bcv-radio-boton); }
.sumario p { margin: 0; font: 400 1.03125rem/1.62 var(--bcv-serif); color: var(--bcv-tinta); text-wrap: pretty; }
.relaciones h3 { font: 600 var(--bcv-t-chico)/1.4 var(--bcv-sans); color: var(--bcv-suave); margin: var(--bcv-e4) 0 var(--bcv-e1); }
.relaciones ul { list-style: none; margin: 0; padding: 0; }
.relaciones li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 var(--bcv-e3); padding: var(--bcv-e2) 0; border-top: 1px solid var(--bcv-linea); font-size: var(--bcv-t-sec); line-height: 1.5; }
.relaciones li > .tipo:first-child { flex: 0 0 10rem; }
.relaciones li > .tipo:first-child + a { flex: 1 1 18rem; min-width: 0; }
.relaciones li > a:first-child { margin-right: auto; }
.relaciones li:first-child { border-top: 0; }
.relaciones li a { color: var(--bcv-marca-fuerte); }
.tipo { color: var(--bcv-suave); font-size: var(--bcv-t-chico); font-variant-numeric: tabular-nums slashed-zero; }
.nota { color: var(--bcv-suave); font-size: var(--bcv-t-sec); margin: var(--bcv-e4) 0 0; }
.relaciones > .nota { margin-top: var(--bcv-e2); font-size: var(--bcv-t-chico); }
/* El texto en su propia hoja: Domine justificada con guiones, con la medida del texto de la sentencia en BL (41rem). La medida va en la hoja: en `ch` cambiaría entre pesos. */
.texto { padding-top: var(--bcv-e4); border-top: 1px solid var(--bcv-linea); scroll-margin-top: var(--bcv-e4); }
.ficha-doc > :last-child { margin-bottom: 1.625rem; }
.ficha-datos + .texto { padding-top: 0; border-top: 0; }
.texto-hoja { padding: var(--bcv-e6) max(var(--bcv-e5), calc(50% - 20.5rem)); background: var(--bcv-fondo); border: 1px solid var(--bcv-linea); border-radius: var(--bcv-radio-boton); }
.texto-hoja p { font: 400 .9375rem/1.65 var(--bcv-serif); color: var(--bcv-tinta); margin: 0 0 1em; text-align: justify; hyphens: auto; overflow-wrap: anywhere; }
.texto-hoja p:last-child { margin-bottom: 0; }
.texto-hoja .rotulo { font-weight: 600; text-align: left; hyphens: manual; margin-top: 1.5em; overflow-wrap: normal; }
.texto-hoja .rotulo:first-child { margin-top: 0; }
.ficha-doc > .vacio { padding: var(--bcv-e5) 0 0; border-top: 1px solid var(--bcv-linea); color: var(--bcv-suave); font-size: var(--bcv-t-sec); }
.ficha-doc > .vacio p { margin: 0; }
.ficha-doc > .ficha-datos + .vacio { padding-top: 0; border-top: 0; }
.relaciones .articulos { display: grid; grid-template-columns: repeat(auto-fill, minmax(6.5rem, 1fr)); gap: var(--bcv-e2); }
.relaciones .articulos li { display: block; padding: 0; border: 0; }
.articulos a { display: block; height: 100%; padding: var(--bcv-e2) .625rem; background: var(--bcv-superficie); border: 1px solid var(--bcv-linea); border-radius: var(--bcv-radio); color: var(--bcv-marca-fuerte); font-weight: 600; font-size: var(--bcv-t-chico); line-height: 1.35; font-variant-numeric: tabular-nums slashed-zero; text-decoration: none; transition: background var(--bcv-rapida), border-color var(--bcv-rapida); }
.articulos a:hover { background: var(--bcv-marca-suave); border-color: var(--bcv-marca); text-decoration: none; }
.ficha-pasos { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--bcv-e2) var(--bcv-e4); margin: var(--bcv-e3) 1.625rem 0; font-size: var(--bcv-t-sec); font-weight: 600; }
.ficha-pasos a { display: inline-flex; align-items: center; gap: .4375rem; min-height: 36px; color: var(--bcv-marca-fuerte); text-decoration: none; }
.ficha-pasos a:hover { text-decoration: underline; }
.ficha-pasos a[rel=next] { margin-left: auto; text-align: right; }
.legal h2 { font: 700 var(--bcv-t-h2) var(--bcv-sans); margin: var(--bcv-e6) 0 var(--bcv-e2); }
.legal p, .legal li { max-width: 68ch; }
table { border-collapse: collapse; width: 100%; font-size: .9375rem; font-variant-numeric: tabular-nums; }
th, td { text-align: left; padding: .55rem var(--bcv-e3) .55rem 0; border-bottom: 1px solid var(--bcv-linea); }
thead th { color: var(--bcv-suave); font-weight: 600; font-size: var(--bcv-t-sec); }
tbody th { font-weight: 500; color: var(--bcv-tinta); }

/* Pie de la familia: el mismo mapa y los mismos accesos que BT y BL (.nvf-*), con forma y tokens de este sistema */
.pie { background: var(--bcv-bg-pie); border-top: 3px solid var(--bcv-filete); color: var(--bcv-en-marca-suave); font-size: var(--bcv-t-sec); line-height: 1.5; }
.pie > .marco { padding-block: var(--bcv-e7) var(--bcv-e5); }
:where(.pie) p, :where(.pie) ul { margin: 0; }
.pie ul { list-style: none; padding: 0; display: grid; gap: .625rem; }
.pie a { color: var(--bcv-en-marca); text-decoration: none; }
.pie a:hover { color: var(--bcv-en-marca); text-decoration: underline; }
.pie a:focus-visible { outline-color: var(--bcv-en-marca); }
.pie-mapa { display: grid; grid-template-columns: minmax(13.75rem, 18.75rem) 1fr; gap: var(--bcv-e7); }
.pie-nombre { margin-bottom: var(--bcv-e2); font: 600 1.25rem/1.25 var(--bcv-serif); color: var(--bcv-en-marca); }
.pie-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--bcv-e6) var(--bcv-e5); }
.pie-h { margin-bottom: var(--bcv-e3); font-size: var(--bcv-t-chico); font-weight: 600; }
.pie-base { margin-top: var(--bcv-e6); padding-top: var(--bcv-e5); border-top: 1px solid var(--bcv-mundo-linea); }
.pie-prods { display: flex; flex-wrap: wrap; gap: var(--bcv-e2); }
.pie .pie-prod { display: inline-flex; align-items: center; gap: var(--bcv-e2); padding: .4375rem .875rem .4375rem var(--bcv-e2); border: 1px solid var(--bcv-mundo-borde); border-radius: var(--bcv-radio); color: var(--bcv-en-marca); font-weight: 600; transition: background-color var(--bcv-rapida), border-color var(--bcv-rapida); }
.pie a.pie-prod:hover { background: var(--bcv-mundo-velo); border-color: var(--bcv-en-marca-suave); text-decoration: none; }
.pie span.pie-prod { background: var(--bcv-mundo-velo); }
.pie-prod img { display: block; border-radius: 22%; box-shadow: 0 0 0 1px var(--bcv-mundo-borde); }
.pie-legal { margin-top: var(--bcv-e3); font-size: var(--bcv-t-chico); }

/* Novedades por correo: el formulario es el protagonista, blanco sobre el mundo como el buscador de la portada */
.nl-form { margin-top: var(--bcv-e5); padding: var(--bcv-e4); background: var(--bcv-superficie); border-radius: 10px; box-shadow: var(--bcv-sombra-busca); color: var(--bcv-texto); }
.nl-areas { margin: 0 0 var(--bcv-e4); padding: 0; border: 0; min-width: 0; }
.nl-areas legend, .nl-rotulo { display: block; padding: 0; margin-bottom: var(--bcv-e2); color: var(--bcv-tinta); font-weight: 700; font-size: var(--bcv-t-sec); }
.nl-opciones { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bcv-e2); }
.nl-area { display: grid; grid-template-columns: auto auto minmax(0, 1fr); gap: var(--bcv-e3); align-items: start; padding: var(--bcv-e3); border: 1px solid var(--bcv-linea-fuerte); border-radius: var(--bcv-radio); background: var(--bcv-superficie); cursor: pointer; transition: background var(--bcv-rapida), border-color var(--bcv-rapida); }
.nl-area:hover { background: var(--bcv-marca-suave); }
.nl-area:has(input:checked) { border-color: var(--bcv-marca); background: var(--bcv-marca-suave); }
.nl-area:has(input:focus-visible) { outline: 2px solid var(--bcv-foco); outline-offset: 2px; }
.nl-area input { width: 1.125rem; height: 1.125rem; margin: .1rem 0 0; accent-color: var(--bcv-marca); cursor: pointer; }
.nl-area input:focus-visible { outline: 0; }
.nl-area svg { width: 1.375rem; height: 1.375rem; fill: none; stroke: var(--bcv-marca); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.nl-area strong { display: block; color: var(--bcv-tinta); font-weight: 700; font-size: var(--bcv-t-sec); line-height: 1.35; }
.nl-area small { display: block; margin-top: .125rem; color: var(--bcv-suave); font-size: var(--bcv-t-chico); line-height: 1.4; }
.nl-correo { display: flex; gap: var(--bcv-e2); }
.nl-correo input { flex: 1; min-width: 0; padding: .7rem var(--bcv-e4); font: inherit; color: var(--bcv-tinta); background: var(--bcv-superficie); border: 1px solid var(--bcv-linea-fuerte); border-radius: var(--bcv-radio); }
.nl-correo input::placeholder { color: var(--bcv-suave); }
.nl-correo input:focus { outline: 2px solid var(--bcv-foco); outline-offset: 0; border-color: var(--bcv-foco); }
.nl-correo input[aria-invalid] { border-color: var(--bcv-error); }
.nl-correo button { white-space: nowrap; }
.nl-letra { margin: var(--bcv-e3) 0 0; color: var(--bcv-suave); font-size: var(--bcv-t-chico); }
.nl-error { margin: 0 0 var(--bcv-e4); color: var(--bcv-error); font-weight: 600; font-size: var(--bcv-t-sec); }
.nl-condiciones { margin: 0; padding-left: var(--bcv-e5); border-left: 1px solid var(--bcv-mundo-borde-claro); }
.nl-condiciones div { padding: var(--bcv-e4) 0; border-bottom: 1px solid var(--bcv-mundo-linea-clara); }
.nl-condiciones div:first-child { padding-top: 0; }
.nl-condiciones div:last-child { border-bottom: 0; }
.nl-condiciones dt { font: 600 .95rem/1.3 var(--bcv-serif); color: var(--bcv-en-marca); }
.nl-condiciones dd { margin: var(--bcv-e1) 0 0; color: var(--bcv-en-marca-suave); font-size: var(--bcv-t-sec); line-height: 1.5; }
.nl-muestra { padding: var(--bcv-e6) 0 var(--bcv-e8); }
.nl-muestra h2 { font: 600 var(--bcv-t-h1)/1.25 var(--bcv-serif); margin: 0 0 var(--bcv-e5); }
.nl-ultimo { margin-bottom: var(--bcv-e5); max-width: var(--bcv-lectura); }
.nl-ultimo-area { margin: 0 0 var(--bcv-e2); font: 700 var(--bcv-t-sec) var(--bcv-sans); color: var(--bcv-suave); }
.nl-paso p { max-width: 62ch; }
.nl-paso form { margin: var(--bcv-e4) 0; }
.nl-paso .aviso { margin-top: var(--bcv-e5); }
.nl-paso .nl-opciones { margin-bottom: var(--bcv-e4); }
.nl-paso .nl-error { margin-top: var(--bcv-e3); }
.nl-paso .aviso[role=status] { margin-bottom: var(--bcv-e4); }
.nl-elegidas { margin: var(--bcv-e3) 0 var(--bcv-e4); padding: 0; border-top: 0; }
.nl-elegidas li { background: var(--bcv-marca-tenue); color: var(--bcv-mundo-b); font-weight: 600; }

@media (max-width: 900px) {
  .nl-condiciones { padding-left: 0; border-left: 0; }
  .portada-rejilla { grid-template-columns: 1fr; gap: var(--bcv-e6); }
  .fuentes { border-left: 0; padding-left: 0; }
  .selector-fila { grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; border-inline: 0; border-radius: 0; }
  .selector.en-portada { margin-top: 0; }
  .selector.en-portada .selector-fila { border-radius: 0; border-top: 0; }
  .sel { grid-template-columns: 1fr; justify-items: center; text-align: center; padding: var(--bcv-e2) var(--bcv-e1); }
  .sel svg { grid-row: auto; width: 1.375rem; height: 1.375rem; }
  .sel strong { font-size: var(--bcv-t-chico); }
  .sel span { display: none; }
  .res { padding: var(--bcv-e4); }
  .portada { padding: var(--bcv-e6) 0; }
  .busca { flex-wrap: wrap; }
  .busca input { flex-basis: 100%; }
  .busca select { flex: 1; max-width: none; }
  .busca.grande select { border-left: 0; border-top: 1px solid var(--bcv-linea); }
  .pie-mapa { grid-template-columns: 1fr; gap: var(--bcv-e6); }
  .pie-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .ficha { width: 100%; padding: var(--bcv-e3) 0 var(--bcv-e6); }
  .ficha-doc { border-inline: 0; border-radius: 0; box-shadow: none; }
  .ficha-banda { min-height: 0; padding: .625rem var(--bcv-e4); }
  .ficha-rol { font-size: var(--bcv-t-base); }
  .ficha-cabeza { padding: var(--bcv-e4) var(--bcv-e4) 0; }
  .ficha-cabeza h1 { font-size: 1.3125rem; }
  .ficha-cabeza h1.largo { font-size: 1.0625rem; }
  .ficha-acciones .boton { flex: 1 1 100%; justify-content: center; min-height: 44px; }
  .ficha-datos div { grid-template-columns: 6.875rem minmax(0, 1fr); padding-inline: var(--bcv-e4); }
  .sumario, .relaciones, .texto, .ficha-doc > .vacio { margin-top: 1.125rem; margin-inline: var(--bcv-e4); }
  .ficha-pasos { margin-inline: var(--bcv-e4); }
  .ficha-pasos a { min-height: 44px; }
  .sumario { padding: var(--bcv-e4); }
  .texto-hoja { margin-inline: calc(var(--bcv-e4) * -1); padding: var(--bcv-e5) var(--bcv-e4); border-inline: 0; border-radius: 0; }
  .texto-hoja p { text-align: left; }
}
@media (max-width: 620px) {
  .nl-opciones { grid-template-columns: 1fr; }
  .nl-correo { flex-wrap: wrap; }
  .nl-correo input, .nl-correo button { flex-basis: 100%; }
}
/* BuscadorCivil: marca en texto mientras no esté el logo del kit (P9, maqueta celeste y blanco). */
.marca-texto { line-height: 1; font: 700 1.5rem/1 var(--bcv-sans); letter-spacing: -.02em; color: var(--bcv-en-marca); text-decoration: none; }
.marca-texto b { font-weight: 700; color: var(--bcv-acento-oscuro); }
.marca-texto:hover { color: var(--bcv-en-marca); }
.relaciones h2 a { color: var(--bcv-tinta); text-decoration: none; }
.relaciones h2 a:hover { color: var(--bcv-marca); text-decoration: underline; }
.articulos strong { display: block; color: var(--bcv-tinta); font-weight: 700; }
.texto-hoja a { color: var(--bcv-marca-fuerte); }
.ficha + .visor { padding-top: 0; }
@media (max-width: 600px) {
  .bajada { display: none; } /* en el teléfono repite lo que dice la portada y partía la cabecera en dos */
}
