/* Explay Visual TGN — páginas legales y 404.
   Documentos para leer: una sola columna de texto alineada a la izquierda dentro
   de la rejilla, secciones numeradas, prosa. Sin índice, sin tarjetas, sin mosaicos. */

/* ---- cabecera del documento ---- */
.doc-cab{padding:clamp(48px,6vw,96px) 0 clamp(24px,3vw,40px)}
.doc-cab h1{font-size:clamp(34px,5vw,64px);margin:0 0 18px}
.doc-fecha{font-size:12.5px;letter-spacing:.06em;color:var(--muted);margin:0;
  font-variant-numeric:tabular-nums}
.doc-entrada{font-family:var(--serif);font-size:clamp(18px,1.7vw,21px);line-height:1.5;
  color:var(--ink-2);max-width:56ch;margin:20px 0 0}

/* ---- cuerpo: una sola columna de ~70 caracteres ---- */
.doc{padding:clamp(32px,4vw,56px) 0 clamp(56px,7vw,104px)}
.doc-cuerpo{max-width:70ch}
.doc-cuerpo > section{margin:0 0 clamp(36px,4vw,56px)}
.doc-cuerpo > section:last-child{margin-bottom:0}
.doc-cuerpo h2{font-size:clamp(20px,1.9vw,26px);line-height:1.2;margin:0 0 14px;
  padding-top:22px;border-top:1px solid var(--line)}
.doc-cuerpo > section:first-child h2{padding-top:0;border-top:0}
.doc-cuerpo h2 .doc-n{font-family:var(--serif);font-weight:400;color:var(--num);
  font-variant-numeric:tabular-nums;margin-right:10px}
.doc-cuerpo h3{font-size:16.5px;letter-spacing:0;margin:26px 0 8px;line-height:1.35}
.doc-cuerpo p{margin:0 0 1em;line-height:1.65}
.doc-cuerpo p:last-child{margin-bottom:0}
.doc-cuerpo strong{font-weight:700}

/* listas: prosa con viñeta discreta, nunca rejilla de bloques */
.doc-cuerpo ul,.doc-cuerpo ol{margin:0 0 1em;padding-left:1.35em}
.doc-cuerpo li{margin:0 0 .5em;line-height:1.6}
.doc-cuerpo ul{list-style:square}
.doc-cuerpo ul::marker,.doc-cuerpo li::marker{color:var(--num)}
.doc-cuerpo dl{margin:0 0 1em}
.doc-cuerpo dt{font-weight:700;margin:18px 0 2px}
.doc-cuerpo dt:first-child{margin-top:0}
.doc-cuerpo dd{margin:0 0 .5em;color:var(--ink)}

.doc-cuerpo a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.doc-cuerpo a:hover{text-decoration-thickness:2px}

/* datos registrales en prosa, con un filete a la izquierda; NO es una ficha */
.doc-datos{border-left:2px solid var(--num);padding:2px 0 2px 18px;margin:0 0 1.2em}
.doc-datos p{margin:0 0 .45em}
.doc-datos p:last-child{margin-bottom:0}

/* ---- tablas (solo cookies y bases jurídicas) ---- */
.doc-tabla{margin:22px 0 26px;max-width:100%}
.doc-tabla table{border-collapse:collapse;width:100%;font-size:14.5px;min-width:560px}
.doc-tabla caption{text-align:left;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);font-weight:600;padding:0 0 10px}
.doc-tabla th,.doc-tabla td{text-align:left;vertical-align:top;padding:11px 14px 11px 0;
  border-bottom:1px solid var(--line)}
.doc-tabla thead th{border-bottom:1px solid var(--num);font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);font-weight:600;padding-bottom:9px}
.doc-tabla tbody th{font-weight:700}
.doc-tabla code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px}
.doc-tabla tr:last-child th,.doc-tabla tr:last-child td{border-bottom:0}

/* ---- pie del documento ---- */
.doc-fin{border-top:1px solid var(--num);margin-top:clamp(36px,4vw,56px);padding-top:18px;
  font-size:14px;color:var(--muted);max-width:70ch}

/* ---- 404 ---- */
.e404{padding:clamp(64px,9vw,140px) 0 clamp(48px,7vw,110px)}
.e404 .num{margin:0 0 14px}
.e404 h1{max-width:16ch;margin:0 0 18px}
.e404 p{max-width:58ch;color:var(--muted);font-size:18px}
.e404-salidas{list-style:none;margin:30px 0 0;padding:0;max-width:62ch;
  border-top:1px solid var(--line)}
.e404-salidas li{border-bottom:1px solid var(--line)}
.e404-salidas a{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;
  text-decoration:none;padding:16px 0}
.e404-salidas a:hover b{color:var(--accent)}
.e404-salidas b{font-size:17px;font-weight:700;flex:0 0 auto}
.e404-salidas span{color:var(--muted);font-size:15px}

@media(max-width:880px){
  .doc-cuerpo{max-width:none}
  .doc-fin{max-width:none}
}
