/* V16 · Páginas públicas (servidas por public.py, sin JavaScript). Misma identidad que la aplicación:
   papel cálido, titulares con serif, barra oscura. Solo contenido original: nunca datos judiciales con nombres. */
:root{
  --canvas:#f3f1eb;--sheet:#faf9f6;--card:#fff;--ink:#1a1a18;--ink-2:#3a3934;--muted:#6d6a62;--faint:#98948a;
  --line:#e5e1d7;--line-2:#d6d0c3;--side:#141413;--side-2:#1d1d1b;--side-line:#2d2c29;--side-ink:#ecebe5;--side-muted:#9c998f;
  --accent:#8c6c2f;--accent-2:#b48a3c;--accent-soft:#f4ecda;--link:#29497a;
  --hi:#a1392a;--hi-bg:#fbebe7;--hi-line:#efcfc7;--mid:#8a5c0e;--mid-bg:#f9efd8;--mid-line:#ecdbb0;--low:#59665d;--low-bg:#eef0ec;
  --ok:#2e694b;--ok-bg:#e5f1e9;--radius:12px;--radius-s:8px;--shadow:0 1px 2px #1a1a1808,0 6px 24px #1a1a1808;
  --serif:'Sitka Heading','Sitka Text','Iowan Old Style','Palatino Linotype',Palatino,'Book Antiqua',Georgia,serif;
  --sans:'Segoe UI Variable Text','Segoe UI',system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;
  --mono:'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,monospace;
}
*{box-sizing:border-box}
html{background:var(--canvas)}
body.publica{margin:0;font:15px/1.6 var(--sans);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}
img{max-width:100%;height:auto}
.saltar{position:fixed;left:10px;top:-70px;background:#fff;color:var(--ink);padding:10px 14px;border-radius:8px;z-index:100}
.saltar:focus{top:10px}

/* Encabezado y pie */
header.sitio{background:var(--side);color:var(--side-ink);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px max(20px,calc((100vw - 1120px)/2));flex-wrap:wrap}
.marca{display:inline-flex;align-items:center;gap:10px;color:var(--side-ink)}
.marca:hover{text-decoration:none}
.marca-inicial{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--accent-soft);color:#3a2c10;font:600 18px/1 var(--serif)}
.marca-nombre{font:500 23px/1 var(--serif);letter-spacing:-.2px}
.menu{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.menu a{color:#d9d6ce;font-size:14px;padding:7px 11px;border-radius:8px}
.menu a:hover{background:var(--side-2);color:#fff;text-decoration:none}
.menu a.boton{background:var(--accent-soft);color:#3a2c10;font-weight:600;margin-left:6px}
.menu a.boton:hover{background:#fff}
nav.migas{max-width:1120px;width:100%;margin:0 auto;padding:16px 20px 0}
nav.migas ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--muted)}
nav.migas li+li:before{content:"/";margin-right:6px;color:var(--line-2)}
nav.migas [aria-current]{color:var(--ink)}
main#principal{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:26px 20px 40px}
footer.pie{background:var(--sheet);border-top:1px solid var(--line);color:var(--muted);font-size:13px;padding:22px max(20px,calc((100vw - 1120px)/2)) 28px}
footer.pie nav{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:10px}
footer.pie nav a{color:var(--ink-2)}
footer.pie p{margin:6px 0;max-width:820px}

/* Tipografía */
h1{font:400 38px/1.15 var(--serif);letter-spacing:-.5px;margin:6px 0 12px}
h2{font:500 24px/1.25 var(--serif);margin:32px 0 12px}
h3{font:600 16px/1.35 var(--sans);margin:18px 0 6px}
p{margin:0 0 12px}
.entrada{font-size:17px;color:var(--ink-2);max-width:760px}
.nota,.nota-privacidad{font-size:13px;color:var(--muted);max-width:820px}
.nota-privacidad{border-left:3px solid var(--accent-2);padding:4px 0 4px 12px;margin-top:20px}
.vacio{color:var(--muted);background:var(--card);border:1px dashed var(--line-2);border-radius:var(--radius);padding:24px;text-align:center}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.conteo,.municipio,.fecha{color:var(--muted);font-size:13px}
.conteo{font-variant-numeric:tabular-nums}

/* Botones */
.boton,.formulario button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 18px;border-radius:9px;border:1px solid var(--ink);background:var(--ink);color:#fff;font:600 14px var(--sans);cursor:pointer;text-decoration:none}
.boton:hover,.formulario button:hover{background:#000;text-decoration:none}
.boton.secundario{background:var(--card);color:var(--ink);border-color:var(--line-2)}
.boton.secundario:hover{border-color:#bdb6a6;background:#fdfcfa}

/* Portada */
.portada-hero{padding:34px 0 10px;max-width:860px}
.portada-hero h1{font-size:48px;line-height:1.08}
.acciones{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.cifras{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:30px 0 8px}
.cifras div{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px;display:flex;flex-direction:column;min-width:0}
.cifras strong{font:400 32px/1.1 var(--serif);letter-spacing:-.5px;overflow-wrap:anywhere}
.cifras span{font-size:13px;color:var(--muted)}
.tarjetas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tarjetas article{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow)}
.tarjetas h3{font:500 19px/1.3 var(--serif);margin:0 0 6px}
.tarjetas p{font-size:14px;color:var(--ink-2);margin:0}

/* Listas de navegación (entidades, fechas, juzgados) */
.lista-entidades,.lista-fechas,.lista-juzgados,.en-revision{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px}
.lista-entidades,.lista-fechas{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.lista-entidades li,.lista-fechas li,.lista-juzgados li,.en-revision li{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.lista-entidades a,.lista-fechas a,.lista-juzgados a{font-weight:600}
.lista-juzgados li .conteo{margin-left:auto}
.en-revision li{color:var(--ink-2);font-size:14px}

/* Tablas */
.tabla-envoltura{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin:8px 0 16px}
.tabla-envoltura table{width:100%;border-collapse:collapse;font-size:13.5px}
.tabla-envoltura th{text-align:left;background:#f7f5f0;color:var(--muted);font-size:12px;font-weight:600;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.tabla-envoltura td{padding:11px 14px;border-top:1px solid var(--line);vertical-align:top}
.tabla-envoltura tbody tr:first-child td{border-top:0}
.tabla-envoltura th.num,.tabla-envoltura td.num{text-align:right}
table.acuerdos{min-width:860px}
td.expediente{font-weight:650;white-space:nowrap}
td.partes{max-width:280px;overflow-wrap:anywhere}
td.lectura{min-width:220px;border-left:3px solid transparent}
td.lectura.urgencia-alta{border-left-color:var(--hi);background:var(--hi-bg)}
td.lectura.urgencia-media{border-left-color:var(--mid-line);background:#fdf8ec}
td.lectura.urgencia-baja{border-left-color:var(--line)}
table.fuentes{min-width:720px}
table.paquetes{max-width:520px}
.paginacion{display:flex;align-items:center;justify-content:center;gap:14px;margin:18px 0;font-size:14px;color:var(--muted)}
.paginacion a{border:1px solid var(--line-2);background:var(--card);border-radius:8px;padding:6px 12px;color:var(--ink)}
.paginacion a:hover{text-decoration:none;border-color:#bdb6a6}

/* Formularios (calculadora, ARCO) */
.formulario{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end;max-width:860px;margin:16px 0}
.formulario label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted)}
.formulario input,.formulario select,.formulario textarea{font:15px var(--sans);color:var(--ink);border:1px solid var(--line-2);background:#fff;border-radius:8px;min-height:42px;padding:8px 11px;width:100%}
.formulario textarea{resize:vertical;min-height:120px}
.formulario input:focus,.formulario select:focus,.formulario textarea:focus{outline:2px solid var(--accent-2);outline-offset:0;border-color:transparent}
.formulario button{justify-self:start}
.arco-formulario .formulario{grid-template-columns:1fr;max-width:640px}
.formulario label.casilla{flex-direction:row;align-items:flex-start;gap:9px;color:var(--ink-2);font-size:14px}
.casilla input{width:auto;min-height:0;margin-top:4px;accent-color:var(--ink)}
.error{color:var(--hi);background:var(--hi-bg);border:1px solid var(--hi-line);border-radius:var(--radius-s);padding:10px 14px;max-width:860px}
.resultado{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 22px;max-width:860px;margin:18px 0}
.resultado h2{margin:0 0 8px;font-size:20px}
.resultado dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.resultado dl div{background:#fcfbf8;border:1px solid var(--line);border-radius:10px;padding:11px 14px}
.resultado dt{font-size:12.5px;color:var(--muted)}
.resultado dd{margin:2px 0 0;font:500 20px/1.3 var(--serif)}
details summary{cursor:pointer;color:var(--link);font-size:14px}
details p{font-size:14px;color:var(--ink-2);margin-top:8px}

/* Glosario */
dl.terminos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 18px}
.termino{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;scroll-margin-top:16px}
.termino:target{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.termino dt{font:500 17px/1.3 var(--serif);margin-bottom:4px}
.termino dd{margin:0;font-size:14px;color:var(--ink-2)}

/* Precios */
.planes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
article.plan{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:20px;min-width:0;scroll-margin-top:16px}
article.plan:target{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),var(--shadow)}
article.plan h2{margin:0;font-size:21px}
.precio{font:400 30px/1.15 var(--serif);margin:10px 0 0;letter-spacing:-.4px}
.anual{font-size:13px;color:var(--muted);margin:0}
article.plan>p:not(.precio):not(.anual){font-size:14px;color:var(--muted);margin:8px 0 4px}
article.plan ul{list-style:none;margin:8px 0 16px;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--ink-2)}
article.plan li{position:relative;padding-left:20px}
article.plan li:before{content:"\2713";position:absolute;left:0;color:var(--ok);font-weight:700}
article.plan .boton{margin-top:auto;align-self:flex-start}

/* Textos legales y mensajes */
article.legal{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 32px;max-width:860px}
article.legal h1{font-size:34px}
article.legal h2{font-size:21px;margin-top:26px}
article.legal h3{margin-top:16px}
article.legal p,article.legal li{font-size:15px;color:var(--ink-2)}
article.legal ul,article.legal ol{padding-left:22px}
article.legal li{margin:4px 0}
.borrador{background:var(--mid-bg);border:1px solid var(--mid-line);color:#6e4c12;border-radius:var(--radius-s);padding:10px 14px;font-size:14px}
.arco-formulario{max-width:860px;margin-top:26px}
.mensaje{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 32px;max-width:720px}
.mensaje h1{font-size:32px}

/* Anuncios (solo en páginas de contenido original, con etiqueta visible) */
aside.anuncio{margin:24px 0;border:1px dashed var(--line-2);border-radius:var(--radius-s);padding:8px 10px 10px;background:#fbfaf7;clear:both}
.anuncio-etiqueta{margin:0 0 6px;font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:var(--faint)}
aside.anuncio ins.adsbygoogle{display:block;min-height:90px}

/* Adaptable */
@media(max-width:900px){.cifras{grid-template-columns:repeat(2,minmax(0,1fr))}.tarjetas,.planes{grid-template-columns:1fr 1fr}.formulario{grid-template-columns:1fr 1fr}}
@media(max-width:640px){
  body.publica{font-size:15px}
  header.sitio{padding:10px 16px}
  .menu{width:100%;overflow-x:auto;flex-wrap:nowrap;margin:0 -4px}
  .menu a{white-space:nowrap;padding:6px 9px}
  main#principal{padding:20px 16px 32px}
  nav.migas{padding:12px 16px 0}
  h1,article.legal h1{font-size:30px}
  .portada-hero{padding-top:14px}
  .portada-hero h1{font-size:34px}
  .entrada{font-size:16px}
  .cifras,.tarjetas,.planes,.formulario,dl.terminos,.resultado dl{grid-template-columns:1fr}
  .cifras strong{font-size:26px}
  article.legal,.mensaje{padding:20px 18px}
  .lista-entidades,.lista-fechas{grid-template-columns:1fr}
}
@media print{
  header.sitio,footer.pie,aside.anuncio,.acciones,.saltar,nav.migas{display:none!important}
  body.publica,html{background:#fff}
  .tabla-envoltura,.formulario,.resultado,article.legal,article.plan,.cifras div,.tarjetas article{box-shadow:none}
}
dl.ficha{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;max-width:820px;margin:0 0 18px}
dl.ficha dt{font-weight:600;color:var(--ink-2)}
dl.ficha dd{margin:0}
@media (max-width:560px){dl.ficha{grid-template-columns:1fr}dl.ficha dt{margin-top:8px}}
