/* obligaciones.css — INF-ORG: «Obligaciones y pares» en la ficha de órgano (en su .sv), la guía para interventores, la página de las réplicas y el
 * formulario. Sin colores de juicio: el punto va con --dato-1 y la raya de la mediana con el texto (SISTEMA_VISUAL §5). */
.sv .ob .mono { font-size: inherit; }
.sv .ob-acc { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin: var(--sp-2) 0; }
.sv .sec.ob { padding: var(--sp-5) 0 var(--sp-4); }   /* cerrado, poco más que una fila */
.sv .sec.ob > .sec-cab { margin-bottom: var(--sp-2); }
.sv .ob-td { min-width: 0; }
.sv .ob-td td, .sv .ob-td th { vertical-align: top; white-space: normal; }
.sv .ob-td .nombre { max-width: 30ch; }
.sv .ob-td .ob-rotulo { display: block; font-weight: 600; line-height: 1.25; }
.sv .ob-td .ob-rotulo a { color: var(--color-texto); }
.sv .ob-td .ob-norma { white-space: normal; }
.sv .td .nombre a.ob-registro, .sv a.ob-registro { color: var(--color-texto-2); font-weight: 400; text-decoration: underline; text-decoration-color: var(--color-borde-fuerte); white-space: nowrap; }
.sv .ob-plegable { max-width: none; width: 100%; }   /* la tabla usa todo el ancho: details lleva un ancho de lectura en la ficha */
.sv .ob-plegable > summary { font-size: var(--fs-14, 0.875rem); }
.sv .ob-plegable > summary b { font-weight: 600; }
.sv .ob-plegable > .ob-perimetro { margin: var(--sp-2) 0 var(--sp-3); max-width: 100%; }
.sv .ob-plegable > .gf-lectura { margin-top: var(--sp-2); }
.sv .ob-grupo td { padding-top: var(--sp-3); font-size: var(--fs-nota); font-weight: 600; color: var(--color-texto-2); height: auto; }
.sv .ob-grupo a { color: inherit; }
.sv .ob-v { display: block; font-size: 1.0625rem; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--color-texto); line-height: 1.25; }
.sv .ob-td .sub { max-width: 58ch; color: var(--color-texto-2); }
.sv .ob-pos { display: block; width: 110px; height: 14px; margin: 3px 0 4px; overflow: visible; }
.sv .ob-pos .pista-fondo { fill: var(--color-borde); }
.sv .ob-pos .mediana { fill: var(--color-texto); }
.sv .ob-pos .valor { fill: var(--dato-1); stroke: var(--color-fondo); stroke-width: 2; }
.sv .ob-sin { margin-top: var(--sp-3); max-width: 100%; }
.sv .ob-replicas { list-style: none; margin: var(--sp-3) 0 0; padding: 0; font-size: var(--fs-nota); color: var(--color-texto-2); }
.sv .ob-replicas li + li { margin-top: 2px; }
.sv .ob-replicas b { color: var(--color-texto); }
@media (max-width: 767px) {
    /* Sin tarjetas y sin scroll lateral: cada obligación, dos líneas (nombre arriba, lo que consta y sus pares debajo) */
    .sv .ob-td thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .sv .ob-td, .sv .ob-td tbody, .sv .ob-td tr, .sv .ob-td td { display: block; width: auto; max-width: none; }
    .sv .ob-td tr { padding: var(--sp-2) 0; border-bottom: 1px solid var(--color-borde); }
    .sv .ob-td td { padding: 0; height: auto; border: 0; }
    .sv .ob-td .nombre { max-width: none; }
    .sv .ob-td .ob-consta { margin-top: 2px; }
    .sv .ob-td .ob-pares { margin-top: 2px; }
    .sv .ob-td .sub { max-width: none; }
    .sv .ob-td .ob-v { display: inline; margin-right: 6px; }
    .sv .ob-td .ob-consta .sub { display: inline; }
    .sv .ob-grupo { border-bottom: 0; padding-bottom: 0; }
    .sv .ob-acc { flex-wrap: nowrap; gap: 6px; }
    .sv .ob-acc .boton { min-width: 0; padding-left: var(--sp-2); padding-right: var(--sp-2); }
    .sv .ob-acc .boton .icono { display: none; }
}

/* La guía y las réplicas: tablas de texto, sin líneas partidas de una en una */
.sv .ob-pagina-td td, .sv .ob-pagina-td th { vertical-align: top; white-space: normal; }
.sv .ob-pagina-td .nombre { max-width: 26ch; font-weight: 600; }
.sv .ob-pagina-td td { font-size: var(--fs-14, 0.875rem); line-height: 1.35; }
.sv .ob-cita { font-family: var(--fuente-mono, monospace); font-size: var(--fs-nota); overflow-wrap: anywhere; }
.sv .ob-pagina .sec { margin-top: var(--sp-6); }
/* Las ocho cifras de la guía, en dos filas de cuatro (con auto-fit, siete y una suelta) */
.sv #guia-cifras { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sv #guia-cifras > div:nth-child(4n + 1) { border-left: 0; padding-left: 0; }
.sv #guia-cifras > div:nth-child(n + 5) { border-top: 1px solid var(--color-borde); }
@media (max-width: 767px) { .sv #guia-cifras { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sv #guia-cifras > div:nth-child(4n + 1) { border-left: 1px solid var(--color-borde); padding-left: var(--sp-4); } .sv #guia-cifras > div:nth-child(2n + 1) { border-left: 0; padding-left: 0; } .sv #guia-cifras > div:nth-child(n + 3) { border-top: 1px solid var(--color-borde); } }
@media (max-width: 767px) {
    .sv .ob-pagina-td thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .sv .ob-pagina-td, .sv .ob-pagina-td tbody, .sv .ob-pagina-td tr, .sv .ob-pagina-td td { display: block; width: auto; max-width: none; }
    .sv .ob-pagina-td tr { padding: var(--sp-2) 0; border-bottom: 1px solid var(--color-borde); }
    .sv .ob-pagina-td td { padding: 2px 0; height: auto; border: 0; }
    .sv .ob-pagina-td .nombre { max-width: none; }
}

/* El formulario de la réplica: la lista de motivos es la de «¿Este dato está mal?» (dato_mal.css) */
.replica-pagina { max-width: 760px; }
.sv .ob-dos { align-items: start; margin-top: var(--sp-5); }
.sv .ob-dos .sec { margin-top: 0; }
.sv .ob-replicas-dato .nombre { max-width: 40ch; }
@media (max-width: 767px) { .sv .ob-dos > * { grid-column: 1 / -1; } }
