/* Vigía Judicial - hoja de estilos única. Sin fuentes ni recursos externos. */
:root{
  --c-fondo:#f7f4ee;--c-superficie:#fffdf8;--c-texto:#17201c;--c-suave:#4a554e;
  --c-borde:#d8d1c2;--c-primario:#1f4d3a;--c-primario-h:#163a2b;--c-sobre-primario:#fff;
  --c-ok-bg:#e4f5e8;--c-ok:#14532d;--c-error-bg:#fdeaea;--c-error:#8a1c1c;
  --c-aviso-bg:#fff4d6;--c-aviso:#6b4a00;--c-pie:#17201c;
  --serif:Georgia,"Iowan Old Style","Palatino Linotype",Palatino,serif;
  --fuente:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --radio:4px;--e1:.5rem;--e2:1rem;--e3:1.5rem;--e4:2.5rem;
  --ancho-angosto:26rem;--ancho-ancho:68rem;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--fuente);line-height:1.55;color:var(--c-texto);background:var(--c-fondo);font-size:1rem}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.2;margin:0 0 var(--e2)}
h1{font-size:1.75rem}h2{font-size:1.35rem;margin-top:var(--e3)}h3{font-size:1.1rem}
p{margin:0 0 var(--e2)}
a{color:var(--c-primario)}a:hover{color:var(--c-primario-h)}
:focus-visible{outline:3px solid #b45309;outline-offset:2px}
.saltar{position:absolute;left:-999px;top:0;background:var(--c-superficie);padding:.5rem 1rem;z-index:10}
.saltar:focus{left:var(--e1)}
.contenedor{width:100%;max-width:var(--ancho-ancho);margin:0 auto;padding:0 var(--e2)}
main.contenedor{padding-top:var(--e3);padding-bottom:var(--e4);min-height:60vh}
main.angosto{max-width:var(--ancho-angosto)}
main.ancho{max-width:var(--ancho-ancho)}
.cabecera{background:var(--c-superficie);border-bottom:1px solid var(--c-borde)}
.cabecera__fila{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--e1) var(--e2);padding-top:.75rem;padding-bottom:.75rem}
.logo{font-family:var(--serif);font-weight:700;font-size:1.2rem;color:var(--c-texto);text-decoration:none}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem var(--e2)}
.nav a{color:var(--c-texto);text-decoration:none;padding:.35rem 0}
.nav a:hover{text-decoration:underline}
.nav a.btn{color:var(--c-sobre-primario);padding:.4rem .9rem}
form.inline{display:inline;margin:0}
label{display:block;margin-top:var(--e2);font-weight:600}
input[type=text],input[type=password],input[type=email],input[type=tel]{display:block;width:100%;margin-top:.25rem;padding:.6rem;font:inherit;border:1px solid #8892a0;border-radius:var(--radio);background:#fff;color:inherit}
input[type=checkbox]{margin-right:.4rem}
label:has(input[type=checkbox]){font-weight:400}
.btn,button{display:inline-block;margin-top:var(--e2);padding:.65rem 1.2rem;font:inherit;font-weight:600;border:1px solid var(--c-borde);border-radius:var(--radio);background:var(--c-superficie);color:var(--c-texto);cursor:pointer;text-decoration:none}
.btn:hover,button:hover{background:#efeadd}
button.enlace,button.enlace:hover{background:none;border:0;font-weight:400;margin:0;padding:.35rem 0}
button.enlace:hover{text-decoration:underline}
.btn--primario,button.btn--primario{background:var(--c-primario);border-color:var(--c-primario);color:var(--c-sobre-primario)}
.btn--primario:hover{background:var(--c-primario-h);color:var(--c-sobre-primario)}
.btn--grande{font-size:1.1rem;padding:.85rem 1.6rem}
.btn--chico{margin-top:0}
td button,li button{margin-top:0;padding:.3rem .7rem;font-weight:400}
.flash{padding:.7rem var(--e2);margin:0 0 var(--e2);border-radius:var(--radio);border:1px solid var(--c-borde);background:var(--c-superficie)}
.flash.ok{background:var(--c-ok-bg);color:var(--c-ok);border-color:#a8d9b4}
.flash.error{background:var(--c-error-bg);color:var(--c-error);border-color:#e8b4b4}
.err{color:var(--c-error);display:block;font-size:.9rem}
.tarjeta{background:var(--c-superficie);border:1px solid var(--c-borde);border-radius:var(--radio);padding:var(--e2) var(--e3);margin-bottom:var(--e2)}
.tarjeta h2,.tarjeta h3{margin-top:0}
.rejilla{display:grid;gap:var(--e2);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}
.rejilla .tarjeta{margin-bottom:0}
.precio{font-size:1.6rem;font-weight:700;margin:0}
.suave{color:var(--c-suave)}
.insignia{display:inline-block;padding:.1rem .55rem;border-radius:999px;font-size:.8rem;font-weight:600;background:var(--c-ok-bg);color:var(--c-ok)}
.insignia--aviso{background:var(--c-aviso-bg);color:var(--c-aviso)}
.aviso{background:var(--c-aviso-bg);color:var(--c-aviso);border-radius:var(--radio);padding:.7rem var(--e2);margin-bottom:var(--e2)}
.acciones{display:flex;flex-wrap:wrap;gap:var(--e1)}
.acciones .btn{margin-top:0}
.heroe{padding:var(--e4) 0 var(--e3);text-align:center}
.heroe h1{font-size:clamp(1.9rem,5vw,2.8rem)}
.heroe p{max-width:40rem;margin-left:auto;margin-right:auto;font-size:1.15rem;color:var(--c-suave)}
.pasos{counter-reset:paso;list-style:none;padding:0;display:grid;gap:var(--e2);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}
.pasos li{counter-increment:paso;background:var(--c-superficie);border:1px solid var(--c-borde);border-radius:var(--radio);padding:var(--e2)}
.pasos li::before{content:counter(paso);display:inline-block;width:2rem;height:2rem;line-height:2rem;text-align:center;border-radius:50%;background:var(--c-primario);color:#fff;font-weight:700;margin-bottom:var(--e1)}
.tabla-caja{overflow-x:auto}
.tabla{width:100%;border-collapse:collapse;background:var(--c-superficie)}
.tabla th,.tabla td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--c-borde);vertical-align:middle}
.tabla th{font-size:.85rem;color:var(--c-suave)}
details{background:var(--c-superficie);border:1px solid var(--c-borde);border-radius:var(--radio);padding:.6rem var(--e2);margin-bottom:var(--e1)}
summary{cursor:pointer;font-weight:600}
.legal h2{margin-top:var(--e3)}
.legal li{margin-bottom:.4rem}
.pie{background:var(--c-pie);color:#dfe5ee;padding:var(--e3) 0;font-size:.9rem}
.pie p{margin-bottom:var(--e1)}
.pie a{color:#fff}
.pie nav{display:flex;flex-wrap:wrap;gap:var(--e2)}
@media (min-width:48rem){
  main.contenedor{padding-top:var(--e4)}
  .pie__fila{display:flex;justify-content:space-between;gap:var(--e3);align-items:flex-start}
  .pie p{max-width:36rem;margin:0}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
main.lectura{max-width:46rem}
mark{background:#fff0a8;color:var(--c-texto);padding:0 .25rem;border-radius:3px}
.subtitulo{margin-top:1.5rem}
.solo-lectores{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Landing: titular + muestra del resumen; filetes en vez de cajas (ver DESIGN.md) */
.btn,button{transition:background-color .12s,color .12s}
.heroe{display:grid;gap:var(--e4);align-items:center;text-align:left;padding:var(--e4) 0}
.heroe p{margin-left:0;margin-right:0}
.heroe h1{font-size:clamp(2rem,5vw,3rem)}
.muestra{background:var(--c-superficie);border:1px solid var(--c-borde);border-top:4px solid var(--c-primario);padding:var(--e3);font-size:.95rem;margin:0}
.muestra h2{font-size:1.05rem;margin:0 0 var(--e1)}
.muestra p{font-size:.95rem;color:var(--c-texto);margin:0 0 var(--e1);max-width:none}
.muestra .rad{font-variant-numeric:tabular-nums;font-weight:600}
.muestra ul{margin:0 0 var(--e2);padding-left:1.1rem}
.muestra p.pie-muestra{color:var(--c-suave);font-size:.85rem;margin:0}
.pasos{gap:var(--e3)}
.pasos li{background:none;border:0;border-top:2px solid var(--c-texto);border-radius:0;padding:var(--e2) 0 0}
.pasos li::before{background:none;color:var(--c-primario);font-family:var(--serif);font-size:1.6rem;width:auto;height:auto;line-height:1;text-align:left;border-radius:0;margin-bottom:var(--e1)}
.rejilla .tarjeta{background:none;border:0;border-top:2px solid var(--c-texto);border-radius:0;padding:var(--e2) 0 0}
.precio{font-family:var(--serif);font-variant-numeric:tabular-nums}
details{background:none;border:0;border-bottom:1px solid var(--c-borde);border-radius:0;padding:.75rem 0;margin-bottom:0}
@media (min-width:56rem){.heroe{grid-template-columns:1.1fr .9fr}}
.precio .suave{font-family:var(--fuente);font-size:.85rem;font-weight:400}
.pasos li::before{display:block}
.rejilla .precio{margin-bottom:.25rem}

/* Corrección: títulos legibles y secciones claramente separadas */
:root{--serif:var(--fuente)}
h1,h2,h3,.logo,.precio{font-family:var(--fuente);font-weight:800;letter-spacing:-.01em;font-variant-numeric:lining-nums tabular-nums}
h1{font-size:clamp(2rem,6vw,3rem);line-height:1.1}
main.ancho>section{padding:var(--e4) 0;border-top:1px solid var(--c-borde)}
main.ancho>section.heroe{border-top:0}
main.ancho>section>h2{font-size:clamp(1.6rem,4vw,2rem);margin:0 0 var(--e1);padding-left:.75rem;border-left:6px solid var(--c-primario)}
main.ancho>section>h2+p{color:var(--c-suave)}
.pasos li::before{font-family:var(--fuente);font-weight:800;font-size:1.4rem;color:var(--c-sobre-primario);background:var(--c-primario);width:2.2rem;height:2.2rem;line-height:2.2rem;text-align:center;border-radius:50%}
.pasos li strong{font-size:1.1rem}
.rejilla .tarjeta{border-top:4px solid var(--c-primario);background:var(--c-superficie);padding:var(--e2)}
.rejilla .tarjeta h3{font-size:1.15rem;margin-bottom:var(--e1)}
.precio{font-size:1.7rem}
.muestra h2{font-size:1.1rem;border:0;padding:0}
.muestra .juz{display:block;font-weight:400;color:var(--c-suave);font-size:.9rem}
details summary{font-size:1.05rem}
