/*
 * Veriko landing · documento legal (papel y PDF). La pareja de legal-document.css.
 *
 * UNA hoja para dos motores: Chromium y Firefox (el botón «Descargar PDF» abre el diálogo de
 * impresión) y dompdf (el PDF que genera el servidor, fase 2 del Centro de confianza). Por eso está
 * escrita en el subconjunto de CSS que dompdf entiende: bloques, flotados, display:table y
 * table-cell, unidades físicas (mm y pt); sin flex, grid, calc(), :has() ni text-wrap. Es el mismo
 * diseño de la hoja de pantalla, sin fondo ni sombra: membrete con el tipo de documento, título, los
 * cuatro datos en una fila entre filetes, cuerpo en serifa, tabla con encabezado repetido y el pie
 * con filete grueso. El papel no tiene fondos: todo se distingue por filete y tinta.
 *
 * Se enlaza con media="print" DESPUÉS de print.css (lr_head), así que fija el papel y el margen de
 * página por encima del `@page` global de esa hoja, y le quita al documento el chrome del sitio.
 *
 * Lo que NO cruza igual a dompdf, y cómo se resuelve (la fase 2 lo hace en su renderer):
 *   - Las variables CSS (los tokens): dompdf no las resuelve. El renderer las sustituye por su valor
 *     antes de entregar la hoja. Los tokens que usa esta hoja: --color-text-primary (tinta),
 *     --color-text-secondary (rótulos y notas), --color-border-strong y --color-border (filetes),
 *     --color-surface (el papel) y --color-warning (lo que cambió, sólo si se imprime resaltado).
 *   - Las cajas de margen de `@page` (cabecera, pie y «Página X de Y»): sólo las pinta el navegador;
 *     las emite lr_head() en un <style media="print"> (opción print_css, ver lr_legal_print_css()).
 *     En dompdf las sustituyen los elementos corridos del modo 'pdf' de la plantilla
 *     (.doc-corrido-cab y .doc-corrido-pie, fijos en el margen) y `page_script` para la paginación.
 *   - La serifa: dompdf lee TTF, no woff2. El renderer declara su propia @font-face.
 *   - Si esta hoja reinicia el margen de `html`, dompdf pierde los márgenes de página: no se reinicia.
 *
 * R-15: el color sale de tokens (candado LandingTokensTest: cero valores hexadecimales aquí).
 */

/* Carta, como los PDF de /finanzas. El tamaño lo da el motor: Chromium con `size`, dompdf con setPaper. */
@page { size: letter; margin: 27mm 24mm 25mm 24mm; }

.doc { background: none; padding: 0; color: var(--color-text-primary); font-family: 'Inter', sans-serif; font-size: 10pt; line-height: 1.5; }
.doc, .doc * { box-sizing: border-box; }

/* Fuera todo lo que sólo sirve en pantalla. El chrome del sitio (barra, pie, aviso de idioma) ya lo
   quita print.css; aquí lo que es del propio documento. */
.lang-hint, .doc-saltar, .doc-ruta, .doc-indice, .doc-acciones, .doc-cambios, .doc-ancla, .doc-toast,
.doc .btn, .doc-pie__estado, .doc-nivel, .doc-membrete__fila .brandmark, .doc svg, .doc .sr-only { display: none !important; }

.doc-marco { display: block; max-width: none; padding: 0; margin: 0; }
.doc-hoja { border: 0; padding: 0; background: none; box-shadow: none; }

/* ── Cabecera y pie corridos del PDF: se repiten en cada página ──────────────────────────────
   Cada motor los dibuja a su manera con el mismo texto y la misma tipografía: Chromium con las cajas
   de margen de @page (print_css) y dompdf con elementos fijos en el margen (los pone su renderer).
   `position: fixed` con desplazamiento negativo NO sirve en Chromium: el pie no sale y la cabecera cae
   al final de la primera hoja (medido en la exploración). En el navegador estos elementos no se ven. */
.doc-corrido-cab, .doc-corrido-pie { display: none; }

/* ── Membrete ──────────────────────────────────────────────────────────────────────────────── */
.doc-membrete { display: block; margin: 0 0 6mm 0; padding-bottom: 5mm; border-bottom: 1.2pt solid var(--color-text-primary); }
/* La marca y el título corrido van en la cabecera de cada página: el membrete sólo lleva el tipo. */
.doc-membrete__fila { display: block; margin-bottom: 3mm; padding: 0; border: 0; }
.doc-tipo { display: block; margin: 0; text-align: left; font-size: 8pt; font-weight: 600; letter-spacing: 0.6pt; text-transform: uppercase; color: var(--color-text-secondary); }
.doc-tipo__t { color: var(--color-text-secondary); }
/* La etiqueta de versión preliminar SÍ se imprime cuando existe (sólo la pinta el servidor para admin y
   owner, o quien arme el documento con `borrador`): quien se lleva el documento en papel o en PDF se lleva
   también que es preliminar. Una ceja gris encima del título, sin recuadro, como el tipo del membrete. */
.doc-borrador { display: block; margin: 0 0 2mm 0; font-size: 7.5pt; font-weight: 600; letter-spacing: 0.6pt; text-transform: uppercase; color: var(--color-text-secondary); page-break-after: avoid; }
.doc-membrete h1 { margin: 0 0 5mm 0; font-family: 'Inter', sans-serif; font-size: 24pt; line-height: 1.12; font-weight: 700; letter-spacing: -0.4pt; color: var(--color-text-primary); page-break-after: avoid; }
.doc-meta { display: table; width: 100%; margin: 0; padding: 0; border-top: 0.5pt solid var(--color-border-strong); border-bottom: 0.5pt solid var(--color-border-strong); }
.doc-meta > div { display: table-cell; width: 25%; padding: 2.5mm 3mm 2.5mm 0; vertical-align: top; }
.doc-meta dt { margin: 0 0 0.8mm 0; font-size: 6.5pt; font-weight: 600; letter-spacing: 0.6pt; text-transform: uppercase; color: var(--color-text-secondary); }
.doc-meta dd { margin: 0; font-size: 9pt; font-weight: 600; color: var(--color-text-primary); }

.doc-lead { margin: 0 0 7mm 0; max-width: none; font-family: 'Source Serif 4', serif; font-size: 11pt; line-height: 1.55; color: var(--color-text-secondary); }

/* ── Cuerpo ────────────────────────────────────────────────────────────────────────────────── */
.doc-cuerpo { font-family: 'Source Serif 4', serif; font-size: 10.5pt; line-height: 1.5; color: var(--color-text-primary); }
.doc-cuerpo p { margin: 0 0 3mm 0; max-width: none; orphans: 3; widows: 3; }
.doc-cuerpo a { color: var(--color-text-primary); text-decoration: none; }
.doc-cuerpo strong { font-weight: 600; }
.doc-sec { margin: 0 0 6mm 0; padding: 0; border: 0; }
.doc-sec + .doc-sec { margin-top: 0; padding-top: 0; border: 0; }
.doc-sec h2 {
  display: block; margin: 0 0 2.5mm 0; padding-top: 3mm; border-top: 0.5pt solid var(--color-border-strong);
  font-family: 'Inter', sans-serif; font-size: 11.5pt; line-height: 1.3; font-weight: 600; letter-spacing: -0.1pt;
  color: var(--color-text-primary); page-break-after: avoid;
}
.doc-sec:first-child h2 { border-top: 0; padding-top: 0; }
.doc-num { color: var(--color-text-secondary); font-weight: 600; margin-right: 1.5mm; }

/* En papel un enlace es una promesa que no se puede seguir: se escribe su destino al lado. Sólo en los
   documentos legales, que es donde el destino importa (autoridades, correos de contacto). */
.doc-cuerpo a[href^="http"]::after { content: " (" attr(href) ")"; font-family: 'Inter', sans-serif; font-size: 7.5pt; color: var(--color-text-secondary); overflow-wrap: anywhere; word-wrap: break-word; }

/* ── Tabla de transferencias ───────────────────────────────────────────────────────────────── */
/* El marco desplazable de la pantalla se despliega: en papel no hay nada que desplazar, y sin fondos de sombra. */
.doc .legal-table-wrap { margin: 3mm 0 4mm 0; overflow: visible; background: none; border-top: 1.2pt solid var(--color-text-primary); border-bottom: 0.5pt solid var(--color-border-strong); }
.doc .legal-table { width: 100%; min-width: 0; border-collapse: collapse; font-family: 'Inter', sans-serif; font-size: 8pt; line-height: 1.45; }
.doc .legal-table thead { display: table-header-group; }
.doc .legal-table th {
  position: static; padding: 2mm 2.5mm; text-align: left; vertical-align: bottom; white-space: normal; font-size: 6.5pt; font-weight: 600; letter-spacing: 0.6pt;
  text-transform: uppercase; color: var(--color-text-secondary); border-bottom: 0.5pt solid var(--color-border-strong);
}
.doc .legal-table td { position: static; padding: 2.4mm 2.5mm; text-align: left; vertical-align: top; border-bottom: 0.25pt solid var(--color-border); color: var(--color-text-primary); }
.doc .legal-table tr { page-break-inside: avoid; }
.doc .legal-table td:first-child { font-weight: 600; background: none; box-shadow: none; }
.doc .legal-table th:first-child { width: 30%; background: none; box-shadow: none; }
.doc .legal-table th:nth-child(3) { width: 24%; }
.doc .legal-table a { color: var(--color-text-primary); text-decoration: none; }
/* La tabla de un documento redactado (el bloque `table` del cuerpo): sin los anchos de la de transferencias. */
.doc .legal-table--datos th:first-child, .doc .legal-table--datos th:nth-child(3) { width: auto; }
.doc .legal-table--datos td { word-wrap: break-word; }
.doc .legal-table--datos td.nw { white-space: nowrap; }
/* El encabezado no se queda solo al pie de una página con las filas en la siguiente. */
.doc .legal-table--datos thead tr { page-break-after: avoid; }
/* Dentro de la tabla el destino del enlace va en su propio renglón y puede partirse donde haga falta:
   si no, una dirección larga ensancha su columna y deja las otras sin sitio. */
.doc .legal-table a[href^="http"]::after { display: block; word-break: break-all; }

/* ── Pie del documento ─────────────────────────────────────────────────────────────────────── */
.doc-pie { display: block; margin-top: 8mm; padding-top: 4mm; border-top: 1.2pt solid var(--color-text-primary); font-family: 'Inter', sans-serif; font-size: 8pt; line-height: 1.5; page-break-inside: avoid; }
.doc-pie__datos { display: block; margin: 0; }
.doc-pie__datos > div { margin: 0 0 3mm 0; }
.doc-pie dt { margin: 0 0 0.6mm 0; font-size: 6.5pt; font-weight: 600; letter-spacing: 0.6pt; text-transform: uppercase; color: var(--color-text-secondary); }
.doc-pie dd { margin: 0; color: var(--color-text-primary); }
.doc-pie code { font-family: 'JetBrains Mono', 'DejaVu Sans Mono', monospace; font-size: 6.6pt; letter-spacing: 0; word-break: break-all; }
.doc-pie__nota { margin: 0; max-width: none; font-size: 6.8pt; line-height: 1.45; color: var(--color-text-secondary); }
.doc-pie a { color: var(--color-text-primary); text-decoration: none; }

/* Lo que cambió se imprime sólo si el lector lo encendió: filete y rótulo, nunca fondo. */
.doc.doc--cambios [data-cambio] { border-left: 1.2pt solid var(--color-warning); padding-left: 2.5mm; box-shadow: none; background: none; }
